複数の図にわたって繰り返される参照番号は、様々な実装形態における同じ特徴を識別することを意図している。
概要
一般に、本開示は、ショートビデオなどのメディアコンテンツアイテムの改善された検索およびカテゴリ化のためのシステムおよび方法を対象とする。コンピューティングシステムは、選択されたメディアコンテンツアイテムがユーザにとってより文脈的に関連性があり、有用であるように、メディアコンテンツアイテムの宛先(たとえば、別のユーザのコンピューティングデバイス、ソーシャルネットワークプラットフォームなど)に少なくとも部分的に基づいて、メディアコンテンツアイテムを取り出し、表示することができる。
より詳細には、本開示の態様によれば、ユーザコンピューティングデバイスは、メディアコンテンツアイテムの宛先を記述するデータを受信することができる。たとえば、ユーザは、ユーザコンピューティングデバイス上のメッセージングアプリケーションまたはソーシャルネットワークアプリケーションにアクセスすることができる。コンピューティングシステムは、メディアコンテンツアイテムの宛先に少なくとも部分的に基づいて、1つまたは複数のメディアコンテンツアイテムを選択することができる。コンピューティングシステムは、ユーザコンピューティングデバイスによる表示のために(たとえば、宛先に送信するためのユーザによる選択のために)、メディアコンテンツアイテムを提供することができる。したがって、コンピューティングシステムは、ユーザがメディアコンテンツアイテムを送信する準備をしている場所に基づいて、ユーザにとってより文脈的に関連性があり、有用であるメディアコンテンツアイテムを選択することができる。
いくつかの実施形態では、コンピューティングシステムは、メッセージの予定受信者を記述するユーザ入力を受信することができる。たとえば、ユーザは、ユーザがメディアコンテンツアイテムを選択すると、メディアコンテンツアイテムを挿入する特定のアプリケーションを開くことができる。別の例として、ユーザは、メディアコンテンツアイテムの宛先を示す動的キーボードインターフェースに向けられた入力を提供することができる(たとえば、リストから宛先を選択するか、または受信者および/またはアプリケーションの名前を動的キーボードインターフェースに入力する)。したがって、ユーザは、メディアコンテンツアイテムの宛先を記述する入力を提供することができる。
いくつかの実施形態では、コンピューティングシステム(たとえば、ユーザコンピューティングデバイス)は、(たとえば、ユーザコンピューティングデバイスによって表示される動的キーボードインターフェースを介して)メディアコンテンツアイテムの検索クエリを受信することができる。そのような実施形態では、コンピューティングシステムは、宛先および検索クエリに基づいてメディアコンテンツアイテムを選択することができる。しかしながら、他の実施形態では、コンピューティングシステムは、検索クエリを受信することなく、メディアコンテンツアイテムを自動的に提供することができる。たとえば、動的キーボードインターフェースは、下書き中のメッセージのコンテンツおよびメッセージの宛先(たとえば、「自動完了」機能として)に少なくとも部分的に基づいて、ユーザの提案としてメディアコンテンツアイテムを提供することができる。
いくつかの実施形態では、メディアコンテンツアイテムの宛先は、メディアコンテンツアイテムが挿入されるコンピュータアプリケーションを含むことができる。コンピューティングシステムは、コンピューティングデバイスのユーザおよび/または他のユーザによって特定のコンピュータアプリケーションを介して以前に共有されたコンテンツに基づいて、メディアコンテンツアイテムを選択することができる。例示的なタイプのコンピュータアプリケーションは、様々なソーシャルネットワーキングアプリケーション、メッセージングアプリケーション、電子メールアプリケーション、ウェブブラウジングアプリケーションなどを含むことができる。
いくつかの実施形態では、コンピューティングシステムは、メッセージの予定受信者の位置を記述するデータに基づいてメディアコンテンツアイテムを選択することができる。たとえば、メディアコンテンツアイテムの宛先を記述するデータは、メッセージを受信するように意図されたユーザコンピューティングデバイスの位置を記述することができる。メディアコンテンツアイテムは、受信側ユーザデバイスが位置する国または地理的領域に関連付けられた文化的考慮事項に基づいて選択することができる。たとえば、メッセージが、特定の文化的感受性を有する国または地理的領域に送信されるように下書きされるとき、コンピューティングシステムは、特定の文化的感受性に基づいて、配慮に欠けるおよび/または文脈的に不適切である検索結果内のメディアコンテンツアイテムを嫌う可能性がある。逆に、コンピューティングシステムは、受信側ユーザデバイスが位置する国または地理的領域に関連付けられた文化的考慮事項に基づいて、より関連性があり、および/または適切であるメディアコンテンツアイテムを好む可能性がある。たとえば、コンピューティングシステムは、予定受信者の国で祝われる来る祝日に関連付けられたメディアコンテンツアイテムを好む可能性がある。したがって、コンピューティングシステムは、受信者の位置に関連付けられた文化情報に基づいて、ユーザに提示するメディアコンテンツアイテムを選択することができる。
一例として、ユーザは、特定のソーシャルネットワーキングプラットフォームアプリケーションなど、特定のコンピュータアプリケーションを介して共有するメディアコンテンツアイテムを検索することができる。コンピューティングシステムは、特定のコンピュータアプリケーションの特性に基づいて、ユーザのためにどのメディアコンテンツアイテムを取り出し、表示するかを選択することができる。たとえば、多くのソーシャルネットワークプラットフォームは、コンピュータアプリケーションを提供する。異なるソーシャルネットワーキングプラットフォームは、一般に、異なるタイプのコンテンツを好む。一例として、感動を与える、思慮に富む、および/または非政治的なメディアコンテンツアイテムは、一般に、芸術および/または写真に焦点が当てられたソーシャルネットワーキングプラットフォームにより適切であり得る。別の例として、政治的な、ユーモラスな、および/またはエッジの効いたメディアコンテンツアイテムは、異なる特定のソーシャルネットワーキングプラットフォームなどにより適切であり得る。さらに、特定のソーシャルネットワーキングプラットフォーム内の個々の位置(たとえば、ページ、グループなど)は、特定のタイプのコンテンツを好み得る。その例では、宛先は、特定のソーシャルネットワーキングプラットフォーム内の個々の位置であるか、またはそれを含むことができる。したがって、コンピューティングシステムは、特定のソーシャルネットワーキングアプリケーションである、またはそれを含む宛先、および/または特定のソーシャルネットワーキングアプリケーション内の位置に基づいて、メディアコンテンツアイテムを選択することができる。
別の例として、ユーザは、ウェブサイトにアクセスするためにウェブブラウジングアプリケーションを使用することができる。ユーザは、ウェブブラウジングアプリケーションを介してウェブサイトに(たとえば、投稿、メッセージ、コメントなどで)送信するメディアコンテンツアイテムを検索することができる。この例では、宛先は、特定のウェブサイトであるか、または特定のウェブサイトを含むことができる。
いくつかの実施形態では、メディアコンテンツアイテムの宛先に基づいてメディアコンテンツアイテムを選択することは、受信者コンピューティングデバイスの1つまたは複数の技術的特性を考慮することを含むことができる。たとえば、受信者コンピューティングデバイスは、デスクトップコンピュータ、ラップトップコンピュータ、タブレット、スマートフォンなどを含むことができる。そのような受信者デバイスの技術的特性は、表示画面の物理的サイズ、表示画面の解像度、処理能力および/もしくは可用性、メモリ能力および/もしくは可用性、ならびに/または接続帯域幅を含むことができる。一例として、小型および/または低解像度表示画面を有する受信者デバイスのためのメディアコンテンツアイテムを選択することは、低解像度メディアコンテンツアイテムを選択することを含み得る。別の例として、受信者デバイスのためのメディアコンテンツアイテムを選択することは、より少ない画像フレーム(たとえば、より短いメディアコンテンツアイテム)を含むメディアコンテンツアイテムなど、より小さいファイルサイズを有するメディアコンテンツアイテムを選択することを含み得る。したがって、メディアコンテンツアイテムの宛先に基づいてメディアコンテンツアイテムを選択するとき、受信者コンピューティングデバイスの技術的特性を考慮することができる。
いくつかの実施形態では、メディアコンテンツアイテムの宛先を記述するデータに基づいてメディアコンテンツアイテムを選択することは、メディアコンテンツアイテムの1つまたは複数の技術的特性を、受信者コンピューティングデバイスの1つまたは複数の技術的特性、および/または受信者コンピューティングデバイスの技術的特性に基づいて決定された1つまたは複数のしきい値と比較することを含むことができる。たとえば、メディアコンテンツアイテムは、メディアコンテンツアイテムの解像度に基づいて選択され、および/または、受信者デバイス、および/または、メディアコンテンツアイテムを表示するために割り当てられたデバイスのディスプレイの領域の最大表示解像度に基づいて調整され得る。メディアコンテンツアイテムは、受信者デバイスの、および/または、メディアコンテンツアイテムを表示するために割り当てられたデバイスのディスプレイの領域の最大表示解像度よりも低い解像度を有することに基づいて選択され得る。加えて、または代替として、受信者デバイス、および/または、メディアコンテンツアイテムを表示するために割り当てられたデバイスのディスプレイの領域の最大表示解像度よりも大きいメディアコンテンツアイテムは、最大表示解像度以下、および/または、メディアコンテンツアイテムを表示するために割り当てられたデバイスのディスプレイの領域の解像度以下の解像度にサイズ変更(たとえば、ダウンサンプリング)され得る。しきい値解像度は、受信者デバイスにおいてメディアコンテンツアイテムを記憶するために割り当てられた利用可能な記憶空間、および/または受信者デバイスの利用可能な全記憶空間に基づいて計算することができる。メディアコンテンツアイテムは、メディアコンテンツアイテムのファイルサイズおよび/またはフレーム数としきい値記憶空間および/またはしきい値フレーム数との比較に基づいて選択することができる。
別の例として、メディアコンテンツアイテムは、メディアコンテンツアイテムのファイルサイズおよび/またはフレーム数と、受信者デバイスにおいてメディアコンテンツアイテムを記憶するために割り当てられた利用可能な記憶空間および/または受信者デバイスの利用可能な全記憶空間のパーセンテージとの比較に基づいて選択され得る。メディアコンテンツアイテムは、メディアコンテンツアイテムのファイルサイズおよび/またはフレーム数としきい値記憶空間および/またはしきい値フレーム数との比較に基づいて選択することができる。メディアコンテンツアイテムは、それぞれのしきい値よりも小さいファイルサイズおよび/またはフレーム数を有することに基づいて選択され得る。追加または代替として、受信者デバイスにおいてメディアコンテンツアイテムを記憶するために割り当てられた利用可能な記憶空間および/または受信者デバイスの利用可能な全記憶空間のパーセンテージに基づいて、アイテムの初期ファイルサイズまたはフレームの初期数フレーム数が大きすぎることに基づいて、メディアコンテンツアイテムのファイルサイズおよび/またはフレーム数を低減するために、メディアコンテンツアイテムを処理し、縮小することができる。しきい値記憶空間および/またはしきい値フレーム数は、受信者デバイスにおいてメディアコンテンツアイテムを記憶するために割り当てられた利用可能な記憶空間、および/または受信者デバイスの利用可能な全記憶空間に基づいて計算することができる。
いくつかの実施形態では、メディアコンテンツアイテムは、たとえば、パーソナルアシスタントコンテキストにおいて、ユーザによる選択のために積極的に提案され得る。パーソナルアシスタント機能は、(たとえば、スマートフォン、タブレットなどの)オペレーティングシステムレベルで提供することができる。本開示の態様は、パーソナルアシスタントアプリケーションおよび/またはプラットフォームに組み込まれ、および/または、それを介して提供され得る。そのようなパーソナルアシスタンスアプリケーションでは、ユーザによる選択のために表示するためのメディアコンテンツアイテムを選択するとき、ユーザに関連付けられたコンテキストデータ(たとえば、ユーザ選好、以前のアクションおよび/またはメッセージなど)を考慮することができる。たとえば、宛先に基づいて1つまたは複数のメディアコンテンツアイテムを選択するとき、ユーザと特定の受信者との間で共有された以前のコンテンツを考慮することができる。このようにして選択されたメディアコンテンツアイテムは、ユーザの一般的な共有履歴に基づいて、または受信者/宛先に基づいて選択されたメディアコンテンツアイテムよりも関連性があり、および/または適切であり得る。しかしながら、いくつかの実施形態では、宛先を記述するデータとユーザに関連付けられたコンテキストデータの両方を考慮することができる。たとえば、メディアコンテンツアイテムは、ユーザに関連付けられたコンテキストデータと宛先を記述するデータとの結合に基づいて選択することができる。そのようなメディアコンテンツアイテムは、ユーザに関連付けられたコンテキストデータ、または宛先を記述するデータのいずれかに基づいて単独で選択されたアイテムよりも関連性が高い可能性がある。したがって、いくつかの実施形態では、ユーザに関連付けられたコンテキストデータまたは宛先を記述するデータの両方に基づいて、パーソナルアシスタント機能を提供することができる。
メディアコンテンツアイテムの1つまたは複数のターゲット属性を、メディアコンテンツアイテムの宛先に基づいて選択することができる。メディアコンテンツアイテムの例示的なターゲット属性は、トーン、テキスト特性(テキストがメディアコンテンツアイテムに含まれる場合)、持続時間、感情などを含むことができる。例示的なトーンは、感動を与える、思慮に富む、政治的、アグレッシブ、断定的なユーモラス、および快活を含むことができる。例示的なテキスト特性は、色、太字対非太字、すべて大文字または小文字、単純なブロック文字対オルネート/装飾テキストなどを含むことができる。アートおよび/または写真を好むソーシャルネットワーキングプラットフォームに関して上述した例では、オルネートおよび/または装飾的なテキストを表示するメディアコンテンツアイテムは、太字および/またはすべて大文字であるテキストを表示する好まれるメディアコンテンツアイテムとすることができる。したがって、1つまたは複数のターゲット属性(たとえば、トーン、感情的コンテンツ、美的属性など)を、メディアコンテンツアイテムの宛先に基づいて、メディアコンテンツアイテムについて選択することができる。
本開示の態様は、メディアコンテンツアイテムを検索し、および/またはブラウジングするために、動的キーボードインターフェース内で使用され得る。動的キーボードインターフェースは、ユーザデバイスのオペレーティングシステムに統合することができ、および/または複数のコンピュータアプリケーション(たとえば、メッセージングアプリケーション、ソーシャルネットワーキングアプリケーション、ウェブブラウジングアプリケーションなど)にわたって提供する、または埋め込むことができる。動的キーボードインターフェースは、ユーザが検索クエリを入力するための検索クエリボックスを提供することができる。動的キーボードインターフェースは、1つまたは複数のメディアコンテンツアイテムを含む検索結果を表示することができる。メディアコンテンツアイテムは、動的キーボードインターフェースにアニメーションでレンダリングすることができる。
複数のメディアコンテンツアイテムは、ユーザによる選択のために(たとえば、動的キーボードインターフェースに)表示するために提供され得る。複数のメディアコンテンツアイテムは、宛先を含む様々な要因に基づいてソートおよび/または配列することができる。宛先に部分的に基づいて選択されたメディアコンテンツアイテムは、検索結果においてより顕著に表示することができる(たとえば、メディアコンテンツアイテムの配列の上部に向かってより大きく表示するなど)。いくつかの実施形態では、動的キーボードインターフェースは、スクロール可能なウィンドウを含むことができる。ユーザが検索結果のスクロール可能ウィンドウをスクロールまたはドラッグ(たとえば、下方または側方に)すると、関連性の低い追加の結果(たとえば、宛先に基づいて選択されなかったメディアコンテンツアイテム)を表示することができる。
本開示のシステムおよび方法は、メディアコンテンツアイテムの検索に関与する計算リソースを低減すること、および結果として生じる検索結果をユーザコンピューティングデバイスに送信することを含む、いくつかの技術的効果および恩恵を提供することができる。コンピューティングシステムは、メディアコンテンツアイテムの宛先に少なくとも部分的に基づいてメディアコンテンツアイテムを選択することによって、より関連性のあるメディアコンテンツアイテムを生成することができる。したがって、ユーザは、適切なまたは特定のメディアコンテンツアイテムをより容易に見つけることができ、それによって、所望のメディアコンテンツアイテムを見つけるためにユーザが実行する必要がある検索の数を低減し、それによって、メディアコンテンツアイテムを表示し、送信する間の計算リソースの消費を低減する。
加えて、上記で説明したように、いくつかの実施形態では、メディアコンテンツアイテムの宛先に基づいてメディアコンテンツアイテムを選択することは、受信者コンピューティングデバイスの1つまたは複数の技術的特性を考慮することを含むことができる。そのような受信者デバイスの例示的な技術的特性は、表示画面の物理的サイズ、表示画面の解像度、処理能力および/もしくは可用性、メモリ能力および/もしくは可用性、ならびに/または接続帯域幅を含む。そのような技術的特性に基づいてメディアコンテンツアイテムを選択することによって、受信者デバイスは、(たとえば、帯域幅が制約されているとき)受信者デバイスへの送信における遅延を低減する、および/または(たとえば、リソースが制約されている場合)受信者デバイスによって表示するという技術的問題に対する解決策を提供することができる。一例では、(たとえば、メディアコンテンツアイテムをダウンサンプリングおよび/またはサイズ変更することを低減または排除することができるので)より少ないコンピューティングリソースを使用して、小型および/または低解像度の表示画面を有する受信者デバイスに基づいて選択されるより低解像度のメディアコンテンツアイテムが受信者デバイスによって表示され得る。別の例として、より少ない画像フレームを含むメディアコンテンツアイテム(たとえば、より短いメディアコンテンツアイテム)など、より小さいファイルサイズを有するメディアコンテンツアイテムは、制約されたリソース(たとえば、低減された処理電力、低減されたメモリ、および/または低減された接続帯域幅)を有する受信者デバイスのために選択され得る。メディアコンテンツアイテムは、メディアコンテンツアイテムの技術的特性と、受信者コンピューティングデバイスの技術的特性に基づいて決定されたしきい値との比較に基づいて選択され得る。追加または代替として、メディアコンテンツアイテムは、メディアコンテンツアイテムの技術的特性と、受信者コンピューティングデバイスの技術的特性に基づいて決定されたしきい値との比較に基づいて、処理、ダウンサンプリング、ダウンサイズなどが行われ得る。そのようなメディアコンテンツアイテムを送信および/または表示することは、受信者コンピューティングデバイスによって消費されるリソースをより少なくすることができ、および/またはそのような送信および/または表示に関連付けられた待ち時間を低減することができる。さらに、メディアコンテンツアイテムのそのような選択は、ファイルサイズおよび/または解像度が大きすぎるメディアコンテンツアイテムが、そのようなメディアコンテンツアイテムを表示、受信、および/または記憶することができない受信者デバイスに送信されることを防止することによって、デバイス間互換性を改善することができる。したがって、本開示の態様は、メディアコンテンツアイテムの宛先に基づいてメディアコンテンツアイテムを選択するとき、受信者コンピューティングデバイスの技術的特性を考慮することによって、技術的問題に対する技術的解決策を提供する。
一例として、本開示のシステムおよび方法は、アプリケーション、ブラウザプラグインのコンテキスト内、または他のコンテキスト内に含まれるか、またはそうでなければ使用され得る。したがって、いくつかの実装形態では、本開示のモデルは、ラップトップ、タブレット、またはスマートフォンなどのユーザコンピューティングデバイスに含めることができ、またはそうでなければ、ユーザコンピューティングデバイスによって記憶し、実装することができる。さらに別の例として、モデルは、クライアント-サーバ関係に従ってユーザコンピューティングデバイスと通信するサーバコンピューティングデバイスに含めることができ、またはそうでなければ、サーバコンピューティングデバイスによって記憶し、実装することができる。たとえば、モデルは、サーバコンピューティングデバイスによって、ウェブサービス(たとえば、ウェブ電子メールサービス)の一部として実装することができる。
次に図面を参照して、本開示の例示的な実施形態について、さらに詳細に説明する。
例示的なデバイスおよびシステム
図1Aは、いくつかの実施形態による、メディアコンテンツ管理システム100を示すハイレベルブロック図である。メディアコンテンツ管理システム100は、メディアコンテンツストア106に記憶されているメディアコンテンツソース124からメディアコンテンツアイテム104を受信することができる。メディアコンテンツ管理システム100はまた、メディアコンテンツアイテム104の共通の宛先の様々な属性を記述する宛先データベース105を維持してもよい。
図1Aおよび他の図は、同様の要素を識別するために同様の参照番号を使用する。「102a」などの参照番号の後の文字は、テキストが特にその特定の参照番号を有する要素を指すことを示す。「102」など、後続の文字のない本文中の参照番号は、その参照番号を有する図中の要素のいずれかまたはすべてを指す(たとえば、本文中の「102」は、図中の参照番号「102a」および/または「102b」を指す)。説明を簡略化し、明瞭にするために、図1Aには、ユーザデバイス102が2つのみ示されている。一実施形態では、管理者は、別個のログインプロセスを介してユーザデバイス102(たとえば、ユーザデバイス102aおよび102b)を介してメディアコンテンツ管理システム100にアクセスし得る。
メディアコンテンツアイテム104は、アニメーション化されたGIF(一連の画像)、静止画像、視聴覚コンテンツアイテム/ビデオなど様々なタイプのコンテンツ、ならびに複数のアニメーション化されたGIFおよび/または画像コンテンツなど複合コンテンツアイテムを含み得る。メディアコンテンツアイテム104は、メディアコンテンツ管理システム100に受信され、メディアコンテンツストア106に記憶される。メディアコンテンツアイテム104は、コンテンツソース、ディメンション、コンテンツブランディング(たとえば、映画スタジオ、製品プロデューサなどによる)、コンテンツに含まれるキャラクタ、コンテンツに含まれるテキスト文字列など、1つまたは複数の属性を有し得る。一実施形態では、属性は、メタデータ属性を含み得る。
メディアコンテンツストア106には、メディアコンテンツアイテム104が、メディアコンテンツアイテム104のコレクションまたはグループとともに記憶され得る。一実施形態では、コレクションは、メディアコンテンツ管理システム100の管理者によって生成されてもよい。一実施形態では、コレクションは、コレクション内のメディアコンテンツアイテム104によって共有される1つまたは複数の属性に基づいて自動的に生成され得る。加えて、コレクションは、宛先105、および宛先105のそれぞれの属性に関連して生成および/または相互参照され得る。たとえば、メディアコンテンツアイテム104の各コレクションおよび/または個々のメディアコンテンツアイテム104は、(たとえば、トーン、感情的コンテンツ、美的属性などに基づいて)各宛先105に関するランクまたはスコアに関連付けて記憶され得る。
一実施形態では、メディアコンテンツ管理システム100内のコレクションを示すために、コンテンツ関連付け、または一意の識別子が使用され得る。たとえば、メディアコンテンツアイテム104は、メディアコンテンツ管理システム100における「#happy」コレクションの一部として「コンテンツ関連付け」が行われ得る。一実施形態では、ユーザまたは管理者は、「#happy」コレクションの一部としてメディアコンテンツアイテム104のコンテンツ関連付けを行い得る。別の実施形態では、メディアコンテンツアイテム104は、コンテンツ関連付けストア118に記憶されたコンテンツ関連付けを使用して、コンテンツアソシエータモジュール108によって、メディアコンテンツアイテム104と自動的に関連付けられてもよく、または自動的に生成されたコンテンツ関連付けを有してもよい。このようにして、コンテンツは、メディアコンテンツ管理システム100内の「#happy」などのコンテンツ関連付けを使用して、調達され、カテゴリ化され得る。個々のコレクション、またはファイルのセットは、各々、メディアコンテンツ管理システム100内のコンテンツ関連付けでラベル付けされてもよい。一実施形態では、特定のファイルを1つまたは複数のコンテンツ関連付けに関連付けることができる。
一実施形態では、メディアコンテンツ管理システム100のユーザは、ユーザデバイス102aを介して、メディアコンテンツ管理システム100にコンテンツを追加し得る。たとえば、ユーザは、ユーザデバイス102a上のブラウザ110を使用してウェブページ112をブラウジングすることによって発見されたコンテンツアイテム114を「保存」することができるように、アプリケーション拡張116をユーザデバイス102a上にインストールしていてもよい。アプリケーション拡張116を使用してコンテンツアイテム114を保存することによって、URL(ユニフォームリソースロケータ)は、一実施形態では、コンテンツアイテムの属性としてコンテンツアイテム114に関連付けて記憶され得る。アプリケーション拡張116は、一実施形態では、ユーザがウェブページをブラウズし、ウェブページ上に提示されたメディアコンテンツアイテムを収集することを可能にするダウンロード可能なアプリケーションを含み得る。一例として、ブログのウェブページは、メディアコンテンツ管理システム100上で利用可能であっても利用可能でなくてもよい、特に興味深いコンテンツアイテムを投稿してもよい。アプリケーション拡張116を使用して、ユーザは、ウェブページ112をブラウズし、ブラウザ110を介してメニューにアクセスし、ウェブページ112上に提示された1つまたは複数のコンテンツアイテム114を保存するオプションを選択することができる。一実施形態では、アプリケーション拡張116は、モバイルブラウザ110がこの機能を実行することを可能にするモバイルアプリケーションである。他の実施形態では、アプリケーション拡張116は、モバイルデバイスまたはデスクトップコンピュータ上のブラウザ110を介してダウンロードされ得るブラウザ拡張アプリケーションまたはアプレットであり得る。さらなる実施形態では、アプリケーション拡張116は、ユーザが、メディアコンテンツ管理システム100内のメディアコンテンツストア106にコンテンツアイテム114を直接アップロードすることを可能にし得る。
別の実施形態では、コンテンツアイテム114のコピーは、上記で説明したユーザがアプリケーション拡張116を操作する一部としてメディアコンテンツストア106に記憶される。さらなる実施形態では、コンテンツアイテム114のリンクまたはURLが、メディアコンテンツストア106に記憶される。また別の実施形態では、コンテンツアイテム114のコピーは、「保存された」コレクション、またはユーザデバイス102a上のユーザ生成コレクションの一部としてユーザデバイス102a上に記憶される。ユーザは、「保存された」コレクションなどのユーザ生成コレクションを含めて、コレクションをユーザデバイス102間で同期させるように、様々なユーザデバイス102上で自分のアカウントにサインインし得る。
コンテンツアイテム114は、ウェブページ112上に提示されてもよく、またはそうでなければ、ウェブサーバを介してアクセス可能であってもよく、他の方法で、メディアコンテンツ管理システム100の管理者によって調達されてもよい。たとえば、映画スタジオ、テレビスタジオ、ブランド所有者、および他のコンテンツ生成者などのコンテンツ所有者は、ライセンスされたコンテンツが配信され、メディアコンテンツストア106に記憶され得るように、メディアコンテンツ管理システム100の管理者と提携し得る。そのような調達プロセスでは、コンテンツ所有者は、上述のように、事前にポピュレートされた属性を有するメディアコンテンツアイテム104を提供し得る。コンテンツ所有者などのメディアコンテンツソース124は、たとえば、サードパーティソースまたはウェブサイトによって維持および操作されるサーバ上のコンテンツストアまたはデータベースを含み得る。調達プロセスの一部として、コンテンツアイテム104は、コンテンツ関連付けストア118からの1つまたは複数のコンテンツ関連付けに関連付けて記憶することによって、1つまたは複数のコレクションにカテゴリ化され得る。一実施形態では、コンテンツ関連付けは、コンテンツアイテム104の属性に基づいて、コンテンツアソシエータモジュール108によって自動的に生成されてもよい。別の実施形態では、コンテンツ関連付けは、1つまたは複数のユーザインターフェースを介して、またはアプリケーションプログラミングインターフェース(API)を介して選択され得る。さらなる実施形態では、メディアコンテンツアイテム104は、ユーザデバイス102上の1つまたは複数のユーザインターフェースを介してメディアコンテンツストア106に記憶された後、メディアコンテンツ管理システム100のユーザによってコンテンツ関連付けが行われ得る。
図1Aにさらに示されているように、動的キーボードインターフェース122は、たとえば、ユーザデバイス102b上に提供されてもよい。動的キーボードインターフェース122は、メディアコンテンツアイテム104ならびにメディアコンテンツアイテム104のコレクションを含み得る。たとえば、動的キーボードインターフェース122は、「#FOMO」としてコンテンツ関連付けが行われたメディアコンテンツアイテム104のコレクションを含み得る。「#FOMO」は、「取り残されることへの恐れ」を意味する、インターネットスラングの表現である。したがって、「#FOMO」コレクションに含まれるメディアコンテンツアイテム104は、特定の表現「取り残されることへの恐れ」についての表現ステートメントについてのものであり得るか、またはそれを含み得る。1つまたは複数の表現ステートメントは、一実施形態では、メディアコンテンツアイテム104から抽出および/またはそうでなければ解釈され得る。たとえば、キュレーションユーザは、画像内の「FOMO」の点滅テキスト、画像内のキャラクタが孤独であること、友人がいないこと、またはそうでなければクールなイベントで取り残されることへの恐れがあることを示す映画またはテレビ番組からのキャプション付きダイアログなど、「取り残されることへの恐れ」という表現に関連するメディアコンテンツアイテム104内の画像に基づいて、メディアコンテンツアイテム104を「#FOMO」としてコンテンツ関連付けを行い得る。調達プロセスを通じて、表現ステートメントは、メディアコンテンツ管理システム100内のコンテンツ関連付けにマッピングされてもよい。一実施形態では、これらの表現ステートメントは、動的インターフェース内のアニメーション化入力を介して検索を実行する際のユーザの検索意図に相関していてもよい。
図1Aに示されているように、動的キーボードインターフェース122は、他のアニメーション化メディアコンテンツアイテム、またはアニメーション化入力を実装する動的キーボードの領域を含むこともできる。シャンパンボトルをさらに含む「#FOMO」アニメーション化キーに加えて、握手で握った2つの手、泣いている赤ちゃん、1対のメガネ、「#happy」コンテンツ関連付け、および「#LOL」コンテンツ関連付けのアニメーション化キーが、例示的なアニメーション化キーとして示されている。図示されていないが、アニメーション化キーは、動的キーボードインターフェース122においてアニメーションとしてレンダリングされるメディアコンテンツアイテム104を含んでいてもよく、これは、コンテンツがキー内で一定のループで移動していてもよいことを意味する。一実施形態では、メディアコンテンツアイテム104は、動的インターフェースにおけるアニメーション化入力を可能にするために前処理されてもよい。
動的キーボードインターフェース122内のアニメーション化キーの1つを選択すると、ユーザデバイス102bは、検索インターフェースモジュール120を介してメディアコンテンツ管理システム100と通信し得る。一実施形態では、ユーザに固有の情報(たとえば、ユーザの検索履歴および/またはユーザの共有履歴)は、動的キーボードインターフェース122の各ユーザのパーソナライゼーションストア150に個人化された情報として記憶されてもよい。位置(GPSおよび/またはIPアドレスを介して)、インストールされた言語キーボード、デフォルト言語選択、電話情報、連絡先情報、インストールされたメッセージングアプリケーションなど、他の個人化された情報が、ユーザデバイス102について取り込まれ得る。パーソナライゼーションストア150に含まれるデータは、たとえば、ユーザの検索意図を決定する際に、検索インターフェースモジュール120によって1つまたは複数の要因として使用され得る。図1Bにさらに示されているように、動的キーボードインターフェース122は、ユーザデバイス102b上にインストールされた動的キーボードアプリケーション130を介してユーザデバイス102b上にレンダリングされ得る。動的キーボードアプリケーション130は、動的キーボードインターフェース122がサードパーティキーボードとしてユーザデバイス102b全体にわたってアクセスされることを可能にする動的キーボードユーザインターフェース132をインストールし得る。このようにして、メッセージングアプリケーション140を使用するメッセージングユーザは、メッセージングアプリケーション140内から動的キーボードインターフェース122にアクセスすることができる。
図1Bは、一実施形態において、動的インターフェースにおいてアニメーション化された入力を実装するために検索を実行するプロセスを示すハイレベルブロック図である。さらに図1Bに示されているように、メディアコンテンツアイテム104は、検索インターフェースモジュール120と通信する動的キーボードユーザインターフェース132を介して動的キーボードインターフェース122にレンダリングされる。一実施形態では、動的キーボードインターフェース122上に表示するために、1組のコレクションが選択され得る。図1Bに示されているように、動的キーボードインターフェース122は、「#PLEASE」、「#HAPPY」、「#RUDE」、および「#FACEPALM」コレクションを含む。ここに含まれる例ではハッシュタグ記号('#')が使用されているが、コンテンツ関連付けは、必ずしもハッシュタグで開始する必要はない。表示されたコレクションは、メディアコンテンツアイテム104の宛先に少なくとも部分的に基づいて選択することができる。
動的キーボードインターフェース122上のアニメーション化キーを選択することによって、メディアコンテンツアイテム104のコレクションは、検索インターフェースモジュール120によってメディアコンテンツストア106から取り出され、次いで、動的キーボードインターフェース122内の動的キーボードユーザインターフェース132によってレンダリングされ得る。このようにして、検索ユーザは、「#HAPPY」などの選択されたコンテンツ関連付けを使用して、メディアコンテンツ管理システム100を検索している。取り出されたメディアコンテンツアイテム104のコレクションは、動的キーボードインターフェース122内にレンダリングされてもよい。さらに、「#HAPPY」コレクションから表示のために選択される特定のメディアコンテンツアイテムは、宛先に基づいて(たとえば、トーン、感情的コンテンツ、美的特性などに基づいて)選択することができる。
「#HAPPY」コレクションは、リアルタイムで更新され、追加され得るので、検索ユーザは、新しいアイテムがコレクションに追加されると、異なるメディアコンテンツアイテム104が提示され得る。上述のように、メディアコンテンツアイテム104は、コンテンツのファイルサイズを縮小するために前処理されてもよく、したがって、メディアコンテンツアイテム104が動的キーボードインターフェース122上に迅速にレンダリングされることを可能にする。
次いで、検索ユーザは、動的キーボードユーザインターフェース132に触れるか、またはそうでなければ、動的キーボードユーザインターフェース132と対話することによって、動的キーボードインターフェース122からメディアコンテンツアイテムを選択し得る。次いで、選択されたメディアコンテンツアイテム144は、メッセージングアプリケーション140のメッセージングユーザインターフェース142に送信またはペーストされ得る。一実施形態では、選択されたメディアコンテンツアイテム144は、動的キーボードインターフェース122をクリック、タップ、またはタッチし、選択されたメディアコンテンツアイテム144を保持して、メッセージングユーザインターフェース142を介してメッセージングアプリケーション140に「ペースト」できるようにコンテンツを「コピー」することによって選択される。このコピーアンドペースト方法は、一実施形態では、選択されたメディアコンテンツアイテム144がユーザデバイス102に永久的に記憶されないように、ユーザデバイス102のオペレーティングシステムを利用することができる。別の実施形態では、検索ユーザは、本明細書でさらに説明する動的キーボードインターフェース122上の検索フィールドを介してメディアコンテンツを検索し得る。このようにして、メディアコンテンツアイテム104は、ユーザのデバイス上で利用可能な任意のメッセージングプラットフォームを介して共有され得る。個人化された情報は、上述したように、たとえば、検索インターフェースモジュール120を介してパーソナライゼーションストア150に取り込まれてもよい。
さらに、パーソナライゼーションストア150は、特定の宛先とのユーザの過去の対話を記述するデータを記憶することができる。パーソナライゼーションストア150は、ユーザによって以前に共有された、またはそれぞれの異なる宛先に送信されたメディアコンテンツアイテム104の属性を記述するデータを記憶することができる。たとえば、パーソナライゼーションストア150は、ユーザが、一般に、ある特定の宛先に感動を与えるおよび/または芸術的なメディアコンテンツアイテムを投稿するが、別の特定の宛先に政治的なメディアコンテンツアイテムを投稿することを示すデータを記憶することができる。この情報は、宛先に基づいてメディアコンテンツアイテム104の選択を個人化するために使用することができる。
図1Cおよび図1Dは、それぞれ、例示的な第1のユーザコンピューティングデバイス145および例示的な第2のユーザコンピューティングデバイス146を示す。図1Cを参照すると、ユーザコンピューティングデバイス145は、メディアコンテンツアイテムの宛先を記述するデータを受信することができる。たとえば、ユーザは、ユーザコンピューティングデバイス145上で(たとえば、オペレーティングシステムユーザインターフェースのホームページから)メッセージングアプリケーションを開くか、または選択することができる。これに応答して、ユーザコンピューティングデバイス145は、メッセージングアプリケーションインターフェース148を表示することができる。ユーザは、メッセージの予定受信者を記述するユーザ入力を(たとえば、受信者入力ボックス149を介して)提供することができる。たとえば、ユーザは、メディアコンテンツアイテムを送信する連絡先(たとえば、「受信者A」)を選択することができる。したがって、この例では、宛先は、受信者Aのユーザコンピューティングデバイスである。
いくつかの実施形態では、コンピューティングシステム(たとえば、ユーザコンピューティングデバイス)は、(たとえば、ユーザコンピューティングデバイスによって表示される動的キーボードインターフェースを介して)メディアコンテンツアイテムの検索クエリを受信することができる。そのような実施形態では、コンピューティングシステムは、宛先および検索クエリに基づいてメディアコンテンツアイテムを選択することができる。しかしながら、他の実施形態では、コンピューティングシステムは、検索クエリを受信することなく、メディアコンテンツアイテムを自動的に提供することができる。動的キーボードインターフェースは、下書きされているメッセージのコンテンツおよびメッセージの宛先に基づいて、メディアコンテンツアイテムの提案を提供することができる。
コンピューティングシステムは、メディアコンテンツアイテムの宛先に少なくとも部分的に基づいて、1つまたは複数のメディアコンテンツアイテム152、153、154、156を選択することができ、ユーザコンピューティングデバイス145によって表示される動的キーボードインターフェース151に表示するためのメディアコンテンツアイテム152、153、154、156を提供することができる。したがって、コンピューティングシステムは、ユーザがメディアコンテンツアイテム152、153、154、156を送信する準備をしている場所に基づいて、ユーザにとってより文脈的に関連性があり、有用であるメディアコンテンツアイテム152、153、154、156を選択することができる。
宛先を記述するデータは、メッセージを受信するように意図されたユーザコンピューティングデバイス(たとえば、受信者Aのユーザコンピューティングデバイス)の地理的位置を記述することができる。コンピューティングシステムは、受信側ユーザデバイスが位置する国または地域(たとえば、受信者Aのユーザコンピューティングデバイス)に関連付けられた文化的考慮事項に基づいて、ユーザに表示するためのメディアコンテンツアイテム152、153、154、156を選択することができる。たとえば、メッセージが、特定の文化的感受性を有する国または地域(たとえば、受信者Aのユーザデバイスが位置する国)に送信されるように下書きされるとき、コンピューティングシステムは、その宛先(たとえば、国または地域)の特定の文化的感受性に基づいて配慮に欠けるおよび/または文脈的に不適切であり得る検索結果(たとえば、メディアコンテンツアイテム152、153、154、156)内のメディアコンテンツアイテムを嫌う可能性がある。そのようなメディアコンテンツアイテムは、除外することができ、または追加の検索結果(たとえば、直ちに表示されない)にのみ表示することができる。逆に、コンピューティングシステムは、メッセージ受信者の文化的考慮に基づいて、より関連性があり、および/または適切であるメディアコンテンツアイテムを好む(たとえば、検索結果においてより顕著に表示する)可能性がある。たとえば、コンピューティングシステムは、予定受信者(たとえば、受信者A)の国で祝われる来る祝日に関連付けられたメディアコンテンツアイテムを好む可能性がある。したがって、コンピューティングシステムは、受信者の位置に関連付けられた文化情報に基づいて、ユーザに提示する、より文脈的に適切なメディアコンテンツアイテム152、153、154、156を選択することができる。
図1Dを参照すると、別の例として、ユーザは、特定のコンピュータアプリケーション「アプリケーションA」を介して共有するメディアコンテンツアイテムを検索することができる。ユーザは、メディアコンテンツアイテムの宛先を記述する入力をコンピュータシステムに提供するために、特定のコンピュータアプリケーションを開くことができる。アプリケーションAのアプリケーションインターフェース158を表示することができる。動的キーボードインターフェース161は、アプリケーションインターフェースとともに表示することができる。コンピューティングシステムは、メディアコンテンツアイテムの宛先に少なくとも部分的に基づいて、1つまたは複数のメディアコンテンツアイテム160、162、164、166を選択することができ、ユーザコンピューティングデバイス146によって表示するためのメディアコンテンツアイテム160、162、164、166を提供することができる。したがって、コンピューティングシステムは、ユーザがメディアコンテンツアイテム160、162、164、166を送信する準備をしている場所に基づいて、ユーザにとってより文脈的に関連性があり、有用であるメディアコンテンツアイテム160、162、164、166を選択することができる。
たとえば、特定のコンピュータアプリケーションは、(たとえば、他のユーザとコンテンツを共有するための)ソーシャルネットワーキングアプリケーションとすることができ、またはソーシャルネットワーキングアプリケーションを含むことができる。コンピューティングシステムは、特定のコンピュータアプリケーションの特性に基づいて、ユーザのためにどのメディアコンテンツアイテムを取り出し、表示するかを選択することができる。異なるソーシャルネットワーキングプラットフォームは、一般に、異なるタイプのコンテンツを好む。感動を与える、思慮に富む、および/または非政治的なメディアコンテンツアイテムは、一般に、芸術および/または写真に焦点が当てられたソーシャルネットワーキングプラットフォームにより適切であり得る。政治的な、ユーモラスな、および/またはエッジの効いたメディアコンテンツアイテムは、異なる特定のソーシャルネットワーキングプラットフォームなどにより適切であり得る。さらに、特定のソーシャルネットワーキングプラットフォーム内の個々の位置(たとえば、ページ、グループなど)は、特定のタイプのコンテンツを好み得る。その例では、宛先は、特定のソーシャルネットワーキングプラットフォーム内の個々の位置であるか、またはそれを含むことができる。したがって、コンピューティングシステムは、特定のソーシャルネットワーキングアプリケーション(たとえば、「アプリケーションA」)である、またはそれを含む宛先、および/または特定のソーシャルネットワーキングアプリケーション内の位置に基づいて、メディアコンテンツアイテム160、162、164、166を選択することができる。
別の例として、特定のアプリケーションは、ウェブサイトにアクセスし、および/またはウェブサイトと対話するためのウェブブラウジングアプリケーションであるか、またはウェブブラウジングアプリケーションを含むことができる。ユーザは、ウェブブラウジングアプリケーションインターフェース(この例ではインターフェース158に対応する)を介してウェブサイトに(たとえば、投稿、メッセージなどで)送信するメディアコンテンツアイテムを検索することができる。宛先は、特定のウェブサイトであるか、または特定のウェブサイトを含むことができる。たとえば、ユーザが特定のウェブサイトの投稿を下書きしているとき、コンピューティングシステムは、特定のウェブサイトに文脈的に関連性があり、および/または適切なメディアコンテンツアイテム160、162、164、166を選択することができる。
別の例として、メディアコンテンツアイテム160、162、164、166の宛先に基づいてメディアコンテンツアイテム160、162、164、166を選択することは、受信者コンピューティングデバイスの1つまたは複数の技術的特性を考慮することを含むことができる。たとえば、受信者コンピューティングデバイスは、デスクトップコンピュータ、ラップトップコンピュータ、タブレット、スマートフォンなどを含むことができる。そのような受信者デバイスの技術的特性は、表示画面の物理的サイズ、表示画面の解像度、処理能力および/もしくは可用性、メモリ能力および/もしくは可用性、ならびに/または接続帯域幅を含むことができる。一例として、小型および/または低解像度表示画面を有する受信者デバイスのためのメディアコンテンツアイテムを選択することは、低解像度メディアコンテンツアイテムを選択することを含み得る。別の例として、受信者デバイスのためのメディアコンテンツアイテムを選択することは、より少ない画像フレーム(たとえば、より短いメディアコンテンツアイテム)を含むメディアコンテンツアイテムなど、より小さいファイルサイズを有するメディアコンテンツアイテムを選択することを含み得る。したがって、メディアコンテンツアイテム160、162、164、166の宛先に基づいてメディアコンテンツアイテム160、162、164、166を選択するとき、受信者コンピューティングデバイスの技術的特性を考慮することができる。
図1Dを参照すると、複数のメディアコンテンツアイテム160、162、164、166は、宛先に基づいて選択され、ユーザによる選択のために(たとえば、動的キーボードインターフェース161に)表示するために提供され得る。複数のメディアコンテンツアイテム160、162、164、166は、宛先を含む様々な要因に基づいてソートおよび/または配列することができる。宛先に部分的に基づいて選択されたメディアコンテンツアイテム160、162、164、166は、検索結果においてより顕著に表示することができる(たとえば、メディアコンテンツアイテムの配列の上部に向かってより大きく表示するなど)。たとえば、検索結果(160、162、164、166を含む)は、スクロール可能なウィンドウとして動的キーボードインターフェース161に表示することができる。宛先に基づいて選択されたメディアコンテンツアイテムは、検索クエリの受信に応答して、動的キーボードインターフェースに表示され得る。宛先に基づいて選択されなかった追加の結果は、ユーザが検索結果のスクロール可能なウィンドウをスライドまたはシフトする(たとえば、下方または側方に)ことに応答して表示することができる。
図2Aは、一実施形態による、メディアコンテンツ管理システムのブロック図を示す、メディアコンテンツ管理システムにおいて検索を実行するために調達されたコンテンツをカテゴリ化するためのシステムのネットワーク図である。システム環境は、1つまたは複数のユーザデバイス102、メディアコンテンツソース124、サードパーティアプリケーション202、メディアコンテンツ管理システム100、およびネットワーク204を含む。代替の構成では、異なるおよび/または追加モジュールは、システムに含まれ得る。
ユーザデバイス102は、ユーザ入力を受信することができ、ネットワーク204を介してデータを送受信することができる1つまたは複数のコンピューティングデバイスを含み得る。別の実施形態では、ユーザデバイス102は、携帯情報端末(PDA)、携帯電話、スマートフォン、ウェアラブルデバイスなど、コンピュータ機能を有するデバイスとすることができる。ユーザデバイス102は、ネットワーク204を介して通信するように構成される。ユーザデバイス102は、たとえば、ユーザデバイス102のユーザがメディアコンテンツ管理システム100と対話することを可能にするブラウザアプリケーションなどのアプリケーションを実行することができる。別の実施形態では、ユーザデバイス102は、ユーザデバイス102のネイティブオペレーティングシステム上で動作するアプリケーションプログラミングインターフェース(API)を介してメディアコンテンツ管理システム100と対話する。
一実施形態では、ネットワーク204は、標準的な通信技術および/またはプロトコルを使用する。したがって、ネットワーク204は、Ethernet(登録商標)、802.11、ワールドワイドインターオペラビリティフォーマイクロウェーブアクセス(WiMAX)、3G、4G、CDMA、デジタル加入者回線(DSL)などの技術を使用するリンクを含むことができる。同様に、ネットワーク204上で使用されるネットワーキングプロトコルは、マルチプロトコルラベルスイッチング(MPLS)、伝送制御プロトコル/インターネットプロトコル(TCP/IP)、ユーザデータグラムプロトコル(UDP)、ハイパーテキストトランスポートプロトコル(HTTP)、簡易メール転送プロトコル(SMTP)、およびファイル転送プロトコル(FTP)を含むことができる。ネットワーク204を介して交換されるデータは、ハイパーテキストマークアップ言語(HTML)および拡張可能マークアップ言語(XML)を含む技術および/またはフォーマットを使用して表すことができる。加えて、リンクのすべてまたはいくつかは、セキュアソケットレイヤ(SSL)、トランスポートレイヤセキュリティ(TLS)、およびインターネットプロトコルセキュリティ(IPsec)などの従来の暗号化技術を使用して暗号化することができる。
図2Aは、メディアコンテンツ管理100のブロック図を含む。メディアコンテンツ管理システム100は、メディアコンテンツストア106と、コンテンツ関連付けストア118と、パーソナライゼーションストア150と、検索インターフェースモジュール120と、コンテンツアソシエータモジュール108と、動的キーボードインターフェースモジュール208と、ウェブサーバ210と、動的キーボード提示モジュール212と、コンテンツ関連付け管理モジュール214と、感情分析モジュール220と、画像アナライザモジュール222と、動きアナライザ224と、自然言語処理(NLP)パーサ218と、ヒューリスティックエンジン216と、検索ルータルールエンジン206とを含む。他の実施形態では、メディアコンテンツ管理システム100は、様々なアプリケーションのための追加の、より少ない、または異なるモジュールを含み得る。システムの詳細を不明瞭にしないように、ネットワークインターフェース、セキュリティ機能、ロードバランサ、フェイルオーバサーバ、管理およびネットワーク運用コンソールなどの従来の構成要素は図示されていない。
ウェブサーバ210は、ネットワーク204を介してメディアコンテンツ管理システム100を1つまたは複数のユーザデバイス102にリンクし、ウェブサーバ210は、ウェブページ、ならびにJava(登録商標)、Flash(登録商標)、XMLなど他のウェブ関連コンテンツを供給する。ウェブサーバ210は、たとえば、インスタントメッセージ、待ち行列に入れられたメッセージ(たとえば、電子メール)、テキストおよびSMS(ショートメッセージサービス)メッセージ、または任意の他の適したメッセージング技法を使用して送信されるメッセージなど、メディアコンテンツ管理システム100とユーザデバイス102との間でメッセージを受信し、ルーティングする機能を提供することができる。ユーザは、たとえば、メディアコンテンツストア106に記憶される画像またはメディアコンテンツなど、情報をアップロードする旨の要求をウェブサーバ210に送信することができる。加えて、ウェブサーバ210は、データをネイティブユーザデバイスオペレーティングシステムに直接送信するためのAPI機能を提供することができる。
コンテンツアソシエータモジュール108は、メディアコンテンツアイテム104の属性に基づいて、メディアコンテンツ管理システム100内のメディアコンテンツアイテム104の1つまたは複数のコンテンツ関連付けを自動的に生成し得る。たとえば、機械学習技法は、メディアコンテンツアイテム104とコンテンツ関連付けストア118に記憶されたコンテンツ関連付けとの間の関係を決定するために、コンテンツアソシエータモジュール108によって使用されてもよい。一実施形態では、コンテンツアソシエータモジュール108は、映画スタジオ、映画、テレビスタジオ、テレビ番組、俳優、ジャンルなどの1つまたは複数のコンテンツソースを識別することができる。別の実施形態では、コンテンツアソシエータモジュール108は、メディアコンテンツアイテム104内の画像フレームの分析に基づいて、メディアコンテンツアイテム104のコンテンツ関連付けを自動的に生成し得る。また別の実施形態では、コンテンツアソシエータモジュール108は、様々なサードパーティアプリケーション202を介して1つまたは複数のコンピュータビジョン技法および他の画像処理方法を使用して、メディアコンテンツアイテム104内の画像フレームを分析して、コンテンツ項目に関連付けられる1つまたは複数のコンテンツ関連付けを自動的に生成し得る。一実施形態では、コンテンツアソシエータモジュール108は、1つまたは複数のサードパーティアプリケーション202、NLPパーサ218、感情分析モジュール220、画像アナライザ222、動きアナライザ224、およびヒューリスティックエンジン216を利用して、メディアコンテンツアイテム104に含まれるテキストを分析および構文解析し、ならびにメディアコンテンツアイテム104の動画フレームを分析して、コンテンツ関連付けを自動的に生成し、および/またはコンテンツ関連付けストア118に記憶されたコンテンツ関連付けを自動的に選択し得る。別の実施形態では、NLPパーサ218は、感情分析モジュール220と組み合わされてもよく、メディアコンテンツアイテム104の感情を決定するために画像および/または視聴覚コンテンツを分析することに依存し得る。たとえば、画像アナライザ222および動きアナライザ224を使用して、笑っている顔を示す一連の画像を検出および/または分類し得る。ヒューリスティックエンジン216は、メディアコンテンツアイテム104がメディアコンテンツ管理システム100内のメディアコンテンツストア106内に記憶されるとき、笑顔を検出するために分析された一連の画像を有するメディアコンテンツアイテム104を、コンテンツ関連付けストア118からの「#happy」コンテンツ関連付けと自動的に関連付けるルールを含み得る。代替的に、またはこの分析に加えて、NLPパーサ218は、画像に含まれるテキスト文字列を構文解析し、単語「AWESOME」との一致を決定することができる。加えて、NLPパーサ218は、笑顔を正の感情を意味すると解釈することができる。感情分析モジュール220は、単語「AWESOME」が強い肯定的な感情に関連付けられていることを示す場合があり、ヒューリスティックエンジン216は、「#happy」コンテンツ関連付け(および/または他の肯定的なコンテンツ関連付け)を、強い肯定的な感情を有するメディアコンテンツアイテム104に自動的に関連付けるルールを含み得る。
メディアコンテンツストア106は、メディアコンテンツアイテムの共通の宛先の様々な属性を記述する宛先データベース105を含むか、またはそれに関連付けられてもよい。
一実施形態では、検索インターフェースモジュール120は、ユーザデバイス102から受信されたメディアコンテンツ管理システム100内のメディアコンテンツアイテム104の検索要求および/または検索クエリを管理し得る。一実施形態では、検索クエリは、検索インターフェースモジュール120で受信され、検索ルータルールエンジン206によって処理されてもよい。別の実施形態では、検索インターフェースモジュール120は、アニメーション化キーまたはテキスト検索の選択の結果として、「#HAPPY」、「#RUDE」、「#FOMO」などのコンテンツ関連付けに基づいて、ユーザデバイス102からコレクションの要求を受信し得る。一実施形態では、検索インターフェースモジュール120は、検索クエリを検索ルータルールエンジン206に通信して、要求を処理し得る。
コンテンツ関連付け管理モジュール214は、メディアコンテンツ管理システム100内の各メディアコンテンツアイテム104に関連付けられた1つまたは複数のコンテンツ関連付けを管理し得る。コンテンツ関連付けは、ユーザインターフェースおよびアプリケーションプログラミングインターフェース(API)など様々なインターフェースを介して、コンテンツ関連付け管理モジュール214を介してメディアコンテンツアイテム104に関連付けることができる。APIは、メディアコンテンツソース124、サードパーティアプリケーション202(および/またはウェブサイト)、およびユーザデバイス102からデータを受信し、アクセスし、記憶するために使用され得る。コンテンツ関連付け管理モジュール214は、一実施形態では、様々な調達方法を介して、コンテンツ関連付けがメディアコンテンツアイテム104にどのように関連付けられるかを管理し得る。加えて、コンテンツ関連付けおよび/またはコレクションは、宛先105、および宛先105のそれぞれの属性を記述するデータに関連して生成および/または相互参照され得る。たとえば、メディアコンテンツアイテム104の各コレクションおよび/または個々のメディアコンテンツアイテム104は、(たとえば、トーン、感情的コンテンツ、美的属性などに基づいて)各宛先105に関するランクまたはスコアに関連付けて記憶され得る。
動的キーボードインターフェースモジュール208は、メディアコンテンツ管理システム100とユーザデバイス102との間のインターフェース通信を管理し得る。たとえば、動的キーボードインターフェース122は、図1A~図1Cに示されているように、検索ユーザがメディアコンテンツ管理システム100上でトレンディングメディアコンテンツを視聴することを可能にするメニュー選択要素を含み得る。「トレンディング」メディアコンテンツは、メディアコンテンツ管理システム100のユーザによって頻繁に視聴および/または頻繁に共有されるコンテンツを含み得る。動的キーボードインターフェースモジュール208は、たとえば、トレンディングメディアコンテンツの要求を受信し、過去1時間の最高シェア数を有するメディアコンテンツアイテム104をメディアコンテンツストア106から取り出し得る。次いで、一実施形態では、動的キーボードインターフェースモジュール208は、動的キーボード提示モジュール212を介して、取り出されたトレンディングメディアコンテンツアイテムを、動的キーボードアプリケーション130を介して動的キーボードインターフェース122に提供し得る。動的キーボード提示モジュール212は、たとえば、メディアコンテンツアイテムがどのように提示されるか、およびどの順序で提示されるかを決定し得る。一実施形態では、ユーザデバイスからの検索クエリまたは要求を満たすメディアコンテンツアイテム104がない場合、動的キーボードインターフェースモジュール208は、検索インターフェースモジュール120および検索ルータルールエンジン206と連携して、または協調して、人気のある、または共有された他のメディアコンテンツアイテム104を配信することができる。一実施形態では、コンテンツアイテムは、動的キーボードインターフェース122の検索結果またはアニメーション化キーに含まれるように、サードパーティアプリケーション202(またはウェブサイト)から動的キーボードインターフェースモジュール208によって選択され得る。
ヒューリスティックエンジン216は、1つまたは複数の結果を決定するための1つまたは複数のヒューリスティックルールを含み得る。たとえば、コンテンツアソシエータモジュール108は、ヒューリスティックエンジン216を使用して、メディアコンテンツアイテム104の属性に基づいて、メディアコンテンツアイテム104の候補コンテンツ関連付けのランキングを決定し得る。特定の属性は、視覚的な動き(たとえば、検出された笑顔は、「#HAPPY」コンテンツ関連付けに関連付けられてもよい)、視覚的な特性(たとえば、点滅するテキストは、テキスト文字列の重要性を示し、またはハッシュタグ記号は、特定のコンテンツ関連付けを示してもよい)、コンテンツソース、メディアコンテンツアイテムに含まれる文字、および他の属性など、それらに関連付けられた様々なヒューリスティックルールを有してもよい。一実施形態では、属性に基づいてコンテンツアイテムのコンテンツ関連付けを自動的に生成するために、管理者によって、様々なヒューリスティックルールが生成され得る。別の実施形態では、ヒューリスティックルールは、様々な属性にパラメータの範囲を使用してもよい。たとえば、特定のユーザによる共有のためのメディアコンテンツアイテム104の30の選択は、検索結果がほとんどない特定のユーザからの検索クエリに応答して、同じメディアコンテンツアイテムを提示するために、ヒューリスティックルールにおいて使用され得る。ここでの範囲は、たとえば、共有のしきい値数として定義され得る。
感情分析モジュール220は、メディアコンテンツ管理システム100によって受信された様々なテキストの分析を提供して、テキストが肯定的な意味合いを示すか、否定的な意味合いを示すか、または中立的な意味合いを示すかを決定し得る。この情報は、検索クエリを効率的に翻訳して検索ユーザの表現的意図を抽出するために、様々なモジュールによって使用され得る。たとえば、用語の辞書を、複数の言語で、テキストが肯定的な意味合い、否定的な意味合い、または中立的な意味合いを有すると決定されるかどうかを決定するために使用され得る。感情分析モジュール220は、一実施形態では、この分析を実行するために様々なサードパーティアプリケーション202を使用し得る。感情分析モジュール220を使用して、検索ルータルールエンジン206は、たとえば、検索クエリの意味合いに基づいて、メディアコンテンツアイテム104の1つまたは複数のコレクションを提供し得る。
図2Bは、一実施形態による、メディアコンテンツ管理システムにおいて検索を実行するために、調達されたコンテンツをカテゴリ化するためのシステムのハイレベルブロック図である。一実施形態では、コンテンツ関連付け管理モジュール214は、メタデータアナライザモジュール240と、ユーザインターフェースモジュール242と、コンテンツ関連付け選択モジュール244と、関連付け関連モジュール246とを含み得る。
1つまたは複数の属性を有するメディアコンテンツアイテム104がメディアコンテンツソース124からメディアコンテンツ管理システム100において受信されると、メタデータアナライザモジュール240は、メディアコンテンツアイテム104の属性に基づいて1つまたは複数のコンテンツ関連付けを生成し得る。たとえば、特定の映画からのメディアコンテンツアイテム104は、メディアコンテンツアイテム104に関連付けられた映画メタデータ属性に基づいて、その特定の映画のコレクションに自動的にコンテンツ関連付けされてもよい。一実施形態では、メディアコンテンツソース124の管理者は、1つまたは複数のメタデータ属性をメディアコンテンツアイテム104に関連付けることができる。メタデータ属性は、ソースファイル内のヘッダコンテンツ関連付けなど、メディアコンテンツアイテム104のソースファイル、ならびにメディアコンテンツシステム100によってバッチで調達されているコンテンツアイテムを記述するXMLファイルなど、ソースファイルに関連付けられた他のファイルに、様々な方法で記憶され得る。
一実施形態では、メタデータアナライザモジュール240は、メディアコンテンツアイテム104に関連付けられたメタデータを構文解析し、1つまたは複数のルールに基づいてコンテンツ関連付けストア118からコンテンツ関連付けを自動的に生成および/または選択することができる。図2Bに示されているように、コンテンツ関連付けストア118は、属性がコンテンツ関連付けに関連付けられたように、関連付け-属性関係250を記憶し得る。このようにして、メタデータアナライザモジュール240は、コンテンツ関連付けストア118に記憶された関連付け-属性関係250に基づいて、メディアコンテンツアイテム104にコンテンツ関連付けを自動的に割り当て得る。
メタデータアナライザモジュール240によって分析され得る他のメタデータ属性は、検索ユーザまたはキュレーションユーザによって使用されるモバイルデバイスまたはユーザデバイスのインターネットプロトコル(IP)アドレスを含む。IPアドレスは、出身国を含むユーザの地理的位置の指示を提供し得る。代替的に、モバイルデバイスのグローバルポジションシステム(GPS)は、ユーザの現在の地理的位置を含み得る。その結果、ユーザの地理的位置で話される優勢な言語に基づいて、異なるコレクションまたはコンテンツ関連付けがユーザに提示され得る。別の実施形態では、メタデータアナライザモジュール240によって分析され得る別のメタデータ属性は、視聴ユーザによって選択された1つまたは複数の言語を含む。このようにして、言語の選好は、検索の意図、キュレーションの意図、またはその両方を通知するのに役立ち得る。たとえば、フランス語の単語は、インドネシア語では全く異なる意味を有することがある。その結果、言語および出身国は、メタデータアナライザモジュール240によって決定され得るメタデータ属性であり得る。
ユーザインターフェースモジュール242は、コンピュータまたはモバイルデバイスなどのユーザデバイス102に、調達されたメディアコンテンツアイテム104についての1つまたは複数のコンテンツ関連付けを選択するための1つまたは複数のユーザインターフェースを提供し得る。たとえば、キュレーションユーザには、コンテンツ関連付けストア118からメディアコンテンツアイテム104に1つまたは複数のコンテンツ関連付けを割り当てる能力が与えられ得る。このようにして、コンテンツ関連付け管理モジュール214は、調達されたメディアコンテンツアイテム104をカテゴリ化するためのコンテンツ関連付けの手動選択を可能にする。
一実施形態によれば、コンテンツ関連付け選択モジュール244は、ユーザインターフェースモジュール242によって提供される1つまたは複数のユーザインターフェースにおいて、コンテンツ関連付けストア118から1つまたは複数のコンテンツ関連付けを提供し得る。一実施形態では、コンテンツ関連付け選択モジュール244は、ユーザデバイス102を操作するキュレーションユーザによる選択および/または確認のために、コンテンツ関連付けストア118に記憶されたコンテンツ関連付け-属性関連付け250に基づいて、予測されたコンテンツ関連付けを提示することができる。たとえば、メディアコンテンツアイテム104は、メディアコンテンツソース124からの事前にポピュレートされた情報に基づいてコメディのジャンル属性を有し得る。一実施形態では、「コメディ」属性は、「#HAPPY」コンテンツ関連付けに関連付けられ得るので、メディアコンテンツアイテム104には、メタデータアナライザモジュール240によって「#HAPPY」コンテンツ関連付けが割り当てられている可能性がある。コンテンツ関連付け選択モジュール244は、関連付けられたコンテンツアイテム104に関連付けられたコンテンツ関連付けを割り当てるか、または取り消すために、キュレーションユーザにユーザインターフェースモジュール242によって提供されるユーザインターフェース内の他の関連するコンテンツ関連付けとともに、「#HAPPY」コンテンツ関連付けを提示し得る。一実施形態では、コンテンツ関連付けストア118に記憶された関連付け-属性関連付け250は、他のコンテンツ関連付けに関連するコンテンツ関連付けを含み得る。たとえば、「#HAPPY」コンテンツ関連付けは、LOLとLMAOの両方が「笑い」解釈を含むので、「LOL」および「LMAO」のコンテンツ関連付けに関連し得る。その結果、一実施形態では、キュレーションユーザによる選択のために、他のコンテンツ関連付けが提示され得る。
調達プロセスの一部として、メディアコンテンツストア106に記憶される前に、メディアコンテンツアイテムが前処理252されてもよい。これは、メディアコンテンツアイテム104が迅速に取り出され、ユーザデバイス102上の動的キーボードインターフェース122においてシームレスにレンダリングされることを可能にする。メディアコンテンツアイテムの前処理252は、ピクセルカウントを低減すること、解像度定義を修正すること、および他のファイルサイズ低減技法を含み得る。一実施形態では、動的キーボード提示モジュール212を使用して、メディアコンテンツアイテムのこの前処理252を実行してもよい。有利なことに、メディアコンテンツアイテムの前処理252は、ユーザデバイス102b上でユーザに提示される動的キーボードインターフェース122が、少なくとも2つのメディアコンテンツアイテムの少なくとも2つのレンダリングをアニメーションでレンダリングし、それらを動的キーボードインターフェース122に同時に表示することを可能にする。
関連付け関連モジュール246は、コンテンツ関連付けを、メディアコンテンツストア106内のメディアコンテンツアイテム104に関連させ得る。コンテンツ関連付けは、メタデータアナライザモジュール240(またはメディアコンテンツ管理システム100内の他のモジュール)によってコンテンツアイテムに自動的に関連付けられてもよく、またはコンテンツ関連付けは、ユーザインターフェースモジュール242によって提供されるユーザインターフェースを介して受信されるコンテンツ関連付けの選択の結果として関連付けられてもよい。図2Bに示されているように、アイテム-関連付け関係254は、メディアコンテンツストア106に記憶される。各コンテンツアイテムは、コンテンツ識別子を有し得、各コンテンツ関連付けは、アイテム-関連付け関係254がメディアコンテンツストア106に記憶され得るように、コンテンツ関連付け識別子を有し得る。図2Bに示されているように、コンテンツアイテム(「アイテム」)は、1つまたは複数の関連付け(「ass'n」)に関連し得、アイテム-関連付け関係254は、たとえば、メディアコンテンツストア106に記憶される。
図2Cは、本開示の一態様による、メディアコンテンツ管理システムにおいて複合コンテンツアイテムを構成するためのシステムのハイレベルブロック図である。コンポーザインターフェース264は、視聴ユーザがメディアコンテンツアイテム104を検索し、複合コンテンツアイテムを生成するために2つ以上のコンテンツアイテムを選択することを可能にするユーザデバイス102上に提供されてもよい。図示されているように、2つのコンテンツアイテムは、2つの選択されたコンテンツアイテムの結合された属性を有する複合コンテンツアイテム266を作成するために、コンポーザインターフェース264において選択されている。たとえば、視聴ユーザは、後でより詳細に説明する検索インターフェースを介して「いいえ」を検索し得る。検索語「No」を満たすいくつかのコンテンツアイテム104が取り出され得る。第1の選択されたコンテンツアイテムは、「No」および「Chandler」のコンテンツ関連付けに関連付けられている可能性があり、第2の選択されたコンテンツアイテムは、「No」および「Taylor」のコンテンツ関連付けに関連付けられている可能性がある。その結果、複合コンテンツアイテム266は、コンテンツ関連付け「No」、「Chandler」、および「Taylor」を含み得る。複合コンテンツアイテム266は、コンポーザインターフェースモジュール262によって受信され、メディアコンテンツストア106内のメディアコンテンツアイテム104として複合アイテムモジュール260によって記憶され得る。さらに図2Cに示されているように、複合アイテムモジュール260は、コンポーザインターフェースモジュール262に加えて、上述と同様に動作するメタデータアナライザモジュール240、コンテンツ関連付け選択モジュール244、および関連付け関連モジュール246と連携して動作するか、またはこれらを含み得る。
少なくともいくつかの実施形態では、複合コンテンツアイテム266は、複合コンテンツアイテム266に含まれる個々のコンテンツアイテムとは異なる意味を伝える表現ステートメントに関連付けられてもよい。上記の例に戻ると、ステートメント「No」を表す文字「Chandler」を有する第1のコンテンツアイテム104は、メディアコンテンツ管理システム100のほとんどのユーザに特定の意味を伝え得る。メディアコンテンツ管理システム100のキュレーションユーザは、他のコンテンツ関連付けを、「#cool」および「FRIENDS」など、その特定のコンテンツアイテム104に関連付け得る。有名人であるTAYLOR LAUTNERを示す第2のコンテンツアイテム104は、テレビ番組であるFRIENDSからのキャラクタ「CHANDLER」を示す第1のコンテンツアイテム104とは別個の異なる意味を呼び出し得る。第2のコンテンツアイテム104は、「No」の共有コンテンツ関連付けに加えて、たとえば「クール」および/または「有名」のコンテンツ関連付けに、自動的にまたは手動でコンテンツ関連付けされ得る。その結果、2つのメディアコンテンツアイテムの組合せは、別々に提示されるメディアコンテンツアイテムの各々とは異なる情報を提示する。一実施形態では、複合コンテンツアイテム266によって提示される表現ステートメントは、複合コンテンツアイテム266に含まれる個々のコンテンツアイテムに関連付けられたコンテンツ関連付けの単純な集塊であってもよい。別の実施形態では、個々のコンテンツアイテムに含まれるコンテンツ関連付けとは異なる表現ステートメントが、複合コンテンツアイテム266から抽出されるか、またはそうでなければ解釈され得る。この表現ステートメントは、複合コンテンツアイテム266に関連付けられた関連付けられたコンテンツ関連付けによって記憶され、本明細書で説明されるように、検索ユーザの意図を関連するコンテンツアイテムに相関させる際に使用される。
図3は、いくつかの例による、メディアコンテンツ管理システムにおいて調達されたコンテンツをカテゴリ化するためのシステムのハイレベルブロック図である。コンテンツアソシエータモジュール108は、メディアコンテンツアイテム104のコンテンツ関連付け402を自動的に選択するためのコンテンツアソシエーティングアルゴリズム406を含み得る。コンテンツアソシエータモジュール108は、コンテンツ関連付けストア118からコンテンツ関連付け402を選択するためのコンテンツ関連付けセレクタ408をさらに含み得る。コンテンツアソシエータモジュール108は、メディアコンテンツアイテム104のコンテンツ関連付け402を自動的に選択するのを助けるために、画像アナライザ222、動きアナライザ224、およびヒューリスティックエンジン216と連携して動作するか、またはこれらを含み得る。
画像アナライザ222は、笑っている顔、目、口、歪めた口など、顔の特徴を認識するコンピュータビジョン技法を含み得る。画像アナライザ222は、これらの顔の特性を認識するためのベースライントレーニングセットを作成するために、他のコンピュータビジョン技法および/またはパターン認識アルゴリズムをさらに含み得る。同様に、動きアナライザ224は、コンピュータビジョン技法および/またはパターン認識アルゴリズム、ならびに同様の方法でモデル化され得る泣き、笑い、転倒、および他のアクションを認識するための機械学習およびベイズ推定技法を含み得る。動きアナライザ224はまた、1組の画像またはアニメーション化画像内の目の位置を識別するための視線追跡機能も含み得る。動きアナライザ224の視線追跡機能は、たとえば、画像内の検出された目の上の画像のアニメーション化されたセット上に1対のサングラスをレンダリングするなど、新しいメディアコンテンツアイテム104を生成するために、メディアコンテンツ管理システム100内の1つまたは複数の他のモジュールと連携して使用され得る。新しいメディアコンテンツアイテム104を作成および/または生成するために、「取り扱う」という句など、テキストをメディアコンテンツアイテム104に追加するために、他のモジュールが使用され得る。前に説明したように、ヒューリスティックエンジン216は、受信したデータに基づいて結論に到達するために、様々なルールを使用し得る。たとえば、図3に示されているように、メディアコンテンツアイテム104は、たとえば、泣いている赤ちゃんのGIFを含み得る。画像アナライザ222は、メディアコンテンツアイテム104のGIFのフレームを分析し、細めた1対の目、しかめっ面のような位置で開いた口、上がった眉など、顔の特性を決定し得る。動きアナライザ224は、メディアコンテンツアイテム104が、泣いている赤ちゃんのベースラインモデルおよび他の機械学習技法に基づいて、泣いている赤ちゃんを含むことを識別し得る。
その結果、コンテンツアソシエータモジュール108は、コンテンツ関連付けセレクタ408を介して、コンテンツ関連付けストア118から1つまたは複数のコンテンツ関連付けを選択し得る。コンテンツ関連付けアルゴリズム406は、メディアコンテンツアイテム104のコンテンツ関連付けを自動的に生成するために、ヒューリスティックエンジン216からの1つまたは複数のヒューリスティックルールを含み得る。この例では、「#sad」コンテンツ関連付け402が、メディアコンテンツアイテム104のために選択されている。前に説明したように、コンテンツ関連付けは、泣いているコンテンツ関連付けが「#sad」コンテンツ関連付け402に関連付けられ得るなど、他のコンテンツ関連付けに関連付けられ得る。このようにして、泣いている赤ちゃんのメディアコンテンツアイテム104は、自動的に生成されたコンテンツ関連付けに基づいて「#sad」コレクション404に含まれ、メディアコンテンツストア106に記憶されてもよい。
図4は、いくつかの例による、動的インターフェースにおいてアニメーション化された入力を実装するために検索を実行するためのシステムのハイレベルブロック図である。検索ルータルールエンジン206は、メディアコンテンツアイテムの宛先を記述するデータを受信するように構成することができる宛先アナライザ601を含み得る。宛先を記述する例示的なデータは、地理的領域の文化データ、通常は宛先に送信されるメディアコンテンツアイテムの共通属性を記述するデータを含むことができる(たとえば、ソーシャルメディアプラットフォームの投稿、ウェブサイトへの投稿など)。たとえば、メディアコンテンツアイテムの宛先を記述するデータは、他のユーザによって特定のコンピュータアプリケーションによって以前に共有されたメディアコンテンツアイテムを記述するデータを含むことができる。
検索ルータルールエンジン206は、クエリアナライザ602、インテントエクストラクタ604、インテントマッチャ606、および機械学習モジュール608を含み得る。一実施形態では、クエリアナライザ602は、受信されたテキストおよび/またはピクチャを重複ウィンドウに分解し得る。たとえば、検索ユーザは、検索語「happy birthday」をクエリとして入力し得る。クエリアナライザ602は、クエリを、「ha」、「happy」、「birth」、「birthday」、「happy birth」、および「happy birthday」など、重複する単語および部分単語に分解することができる。クエリアナライザ602は、一実施形態では、関連付けられたメディアコンテンツアイテムのコンテンツ関連付け上の単語および部分単語に基づいて、メディアコンテンツストア106内で検索するために、単語および部分単語を検索インターフェースモジュール120に提供し得る。
別の実施形態では、クエリアナライザ602は、単語および部分単語を、インテントエクストラクタ604に提供し得る。たとえば、インテントエクストラクタ604は、誕生日を祝うインテントを含むように、クエリ「happy birthday」からインテントをあらかじめマッピングまたは抽出している場合がある。したがって、用語「happy birthday」は、具体的には、ケーキ、ロウソク、テキスト文字列「happy birthday」、パーティ、ロウソクを吹く人など、誕生日要素を有するコンテンツアイテムのみにマッピングされ得る。インテントエクストラクタ604は、さらに、単語および部分単語を自然言語処理(NLP)パーサ218に提供して、検索語から意味および/または意図を導出し得る。NLPパーサ218は、一実施形態では、検索語が認識されない場合、特に有用であり得る。たとえば、検索語が「happy dia de los muertos」であり、「死者の日」を意味するスペイン語の「dia de los muertos」という用語が学習語の辞書またはコーパスに含まれていなかった場合、インテントエクストラクタ604は、検索クエリに含まれている単語「happy」に基づいて、何か幸せなことを祝うことを望む検索ユーザの意図を抽出し得る。一方、「muertos」が、コンテンツアイテムのメタデータ属性として含まれる辞書またはテキスト文字列に含まれる場合、NLPパーサ218は、「happy」と「muertos」の両方のコンテンツ関連付けに関連付けられたコンテンツアイテムを提示することに依存し得る。
インテントマッチャ606は、一実施形態では、検索ユーザの意図をコンテンツ関連付けストア118内の1つまたは複数のコンテンツ関連付けに一致させるために、検索ルータルールエンジン206で使用され得る。前の例に戻ると、検索クエリ「happy dia de los muertos」に含まれる用語「happy」によって、さらなるクエリのために、検索クエリがインテントマッチャ606によって「#happy」コンテンツ関連付けに一致し得る。一実施形態では、用語「muertos」は、「dead」コンテンツ関連付けおよび「Halloween」コンテンツ関連付けに一致させることができる。「dia de los muertos」は、Halloweenに直接関係していないが、実際には11月1日に行われるメキシコの休暇であるので、いくつかのコンテンツアイテムが提示されない可能性がある。一実施形態では、インテントマッチャ606は、検索フレーズとコンテンツ関連付けとの間の一致を調整し得る。一致は、一実施形態では、コンテンツ関連付けストア118に記憶されてもよい。
別の実施形態では、インテントマッチャ606は、機械学習モジュール608と連携して、「happy dia de los muertos」検索クエリに応答して、それらのアイテムが検索結果に提示されるとき、「Halloween」属性と「skull」属性の両方を有するコンテンツアイテムを選択するなど、ユーザフィードバックを分析し得る。その結果、インテントマッチャ606は、検索フレーズ「happy dia de los muertos」と、「Halloween」と「skull」の両方のコンテンツ関連付けを有するコンテンツアイテムとの間の新しい一致を生成し得る。一実施形態では、インテントマッチャ606は、各一致についての確率的方法および/または機械学習に基づいて、インテントマッチの尤度スコアを決定し得る。このスコアは、各インテントマッチについてコンテンツ関連付けストア118に記憶されてもよい。これらのスコアは、さらに、NLPパーサ218および機械学習モジュール608によって提供される統計的推論アルゴリズムに基づいてもよい。
機械学習モジュール608は、教師ありおよび教師なし学習方法、ベイズ知識ベース、ベイジアンネットワーク、最近傍、ランダムウォーク、および他の方法など、様々な機械学習方法を使用して、受信されたトレーニングデータおよび受信されたユーザフィードバックに基づいて(視聴ユーザが検索結果セット内に提示されたコンテンツアイテムを選択/共有するかどうかに基づいて)様々な結果を決定し得る。たとえば、「#happy」コンテンツ関連付けなど、ある属性を有するコンテンツアイテムとともにランダムコンテンツアイテムが提示されることがある。他の場合には、同じコンテンツアイテムが、「dog」などの異なるコンテンツ関連付けのための検索結果の間でランダムに提示されてもよい。ランダムに提示されたコンテンツアイテムは、「#happy」コンテンツ関連付けまたは「dog」コンテンツ関連付けのいずれとも関連付けられない場合があるが、検索および/または視聴ユーザは、ランダムに提示されたコンテンツアイテムを頻繁に選択し、共有してもよい。その結果、機械学習モジュール608は、ランダムに提示されたコンテンツアイテムが、全体の時間の80%、「#happy」と関連付けられたコンテンツが提示された時間の70%、および「dog」と関連付けられたコンテンツが提示された時間の60%で選択されると決定し得る。機械学習モジュール608は、検索クエリが用語「#happy」と「dog」の両方を含むとき、ならびに検索クエリが用語のうちの1つを含むとき、プロセスをさらに自動化し、コンテンツアイテムを自動的に提示するためのヒューリスティックルールを作成するために使用され得る。一実施形態では、機械学習モジュール608は、50%などのしきい値時間パーセンテージにわたって共通の属性を有する検索結果の中から選択されているコンテンツアイテムに基づいて、コンテンツ関連付けをコンテンツアイテムに関連付ける、または関連させることができる。少なくとも1つの実施形態によれば、これらのような相関関係は、ユーザインターフェースを介して管理者の承認を必要とすることもある。
検索ルータルールエンジン206は、処理時間を最適化し、メディアコンテンツ管理システム100内に直接一致が存在しない場合でも検索結果を含めるために、検索クエリを処理するためのルールをさらに含み得る。たとえば、検索ルータルールエンジン206は、感情分析モジュール220、画像アナライザ222、および/または動きアナライザ224と連携して動作して、関連付けられた属性を有さないメディアコンテンツストア106内のコンテンツアイテムを分析し得る。感情分析モジュール220は、単語、部分単語、および検索クエリを処理して、意図が肯定的、否定的、または中立的な意味合いを含むかどうかを決定するために使用され得る。画像アナライザ222は、同様に、検索クエリとして受信された受信画像を処理して、検索ユーザの意図を抽出するために使用され得る。たとえば、画像が、クエリとして直接送信されるモバイルデバイスによって取り込まれた写真である場合、写真は、写真に生じる顔の表情および活動など、視覚的特性を検出するために、画像アナライザ222によって分析され得る。さらに、動きアナライザ224を使用して、笑い、泣く、転倒、握手、グータッチ、胸をたたく、軽蔑の目、髪をかきあげるなどのアクション、挙動、および動きのパターンを検出し得る。ルールは、識別された挙動、アクション、アクティビティ、および/または顔の表情を、コンテンツ関連付けとしてコンテンツ関連付けストア118に記憶される1つまたは複数の表情ステートメントに関連付けるために、検索ルータルールエンジン206に含まれ得る。これらのルールは、一実施形態では、ヒューリスティックエンジン216によって生成されたヒューリスティックルールとすることができる。
図5A~図5Cは、いくつかの例による、メディアコンテンツ管理システム内のコンテンツと対話するために提供される動的キーボードインターフェースの例示的なスクリーンショットである。図5Aは、テキスト作成のためのネイティブモバイルアプリケーション、特にAPPLE IOSを介したIMESSAGEプラットフォームを介してモバイルデバイス上で提供される動的キーボードインターフェース122の例示的なスクリーンショットを示す。「#PLEASE」コレクション、「#RUDE」コレクション、「#HAPPY」コレクション、および「#FACEPALM」コレクションを含むコレクションインターフェース要素802が、動的キーボードインターフェース122内に提供される。ユーザが動的キーボードインターフェース122内のコレクションインターフェース要素802のうちの1つを選択すると、コンテンツ関連付けによってラベル付けされた選択されたコレクションに関連付けられたメディアコンテンツアイテム104が、動的キーボードインターフェース122内にレンダリングされ得る。ハッシュタグ('#')は、コレクションのコンテンツ関連付けに先行するが、ハッシュタグは必要ない。動的キーボードインターフェース122に提示されるコレクションインターフェース要素802の各々は、同時にアニメーションで提示されるメディアコンテンツアイテムを含み、視聴ユーザにコレクションで利用可能なアニメーションのプレビューを与える。コレクションインターフェース要素802によって表されるコレクションは、レンダリングされ、アニメーションで同時に提示されるメディアコンテンツアイテムを含むので、ユーザは、コレクションインターフェース要素802によって表される様々なコレクションを迅速にブラウズし得る。タブインターフェース804も動的キーボードインターフェース122に含まれる。タブインターフェース804は、動的キーボードインターフェース122上で利用可能な特徴およびオプションのナビゲーションメニューを提供する。図5Aに示されているように、そのメニュータブが現在選択されているので、タブインターフェース804上のアイコンが強調表示される。タブインターフェース804に含まれるアイコンも同様にアニメーション化され得る。検索クエリフィールド806も動的キーボードインターフェース122に含まれる。検索クエリフィールド806は、一実施形態では、視聴ユーザが、テキスト文字列を使用してメディアコンテンツ管理システム100上で検索を実行することを可能にする。図示されていないが、検索クエリフィールド806は、他の実施形態では、視聴ユーザのモバイルデバイスから取り込まれた画像、ならびに視聴ユーザのモバイルデバイスに記憶された画像を受信し得る。動的キーボードインターフェース122はまた、表現または絵文字の図式表現を使用してメディアコンテンツ管理システム100を検索するための絵文字検索インターフェース808を含む。
図5Bは、動的キーボードインターフェース122をさらに詳細に示す。タブインターフェース804は、一実施形態では、ユーザ生成コレクションにナビゲートするアイコン810、感情的なキュレーションコレクションにナビゲートするアイコン812、表現的なキュレーションコレクションにナビゲートするアイコン814、トレンディングメディアコンテンツアイテムにナビゲートするアイコン816、およびオーディオ/ビジュアルキュレーションコンテンツアイテムにナビゲートするアイコン818を含み得る。図5Bにさらに示されているように、タブインターフェース804は、キーボードを切り替えるためのアイコン801と、モバイルアプリケーションに入力されたコンテンツを削除するためのアイコン803とを含む、ユーザがモバイルデバイス上のモバイルアプリケーションと対話するための他のアイコンを含んでいてもよい。
図5Cは、選択されたときのタブインターフェース804の各アイコンについて、動的キーボードインターフェース122の例示的なスクリーンショットをさらに詳細に示す。ユーザ生成コレクション810は、共有拡張アプリケーションを介してユーザによって調達されたコレクションを含んでいてもよい。たとえば、ユーザは、ウェブブラウザを介して、1つまたは複数のメディアコンテンツアイテムを含むウェブページをブラウズし、共有拡張アプリケーションを起動して、1つまたは複数のメディアコンテンツアイテムを取り込み、それらをユーザ生成コレクション810に保存してもよい。図5Cに示されているように、ユーザ生成コレクション810は、お気に入り、最近、保存、および「かわいい」を含み得る。この例では、最近のコレクションは、メディアコンテンツ管理システム100および/または動的キーボードインターフェース122を使用するユーザによって最新共有されたコンテンツアイテムを含み得る。お気に入り、保存、および「かわいい」のコレクションは、一実施形態では、コレクションに手動でコンテンツ関連付けされた、または共有拡張アプリケーションまたは動的キーボードインターフェースのいずれかを介して関連付けられたコンテンツアイテムを含む、ユーザキュレーションコレクションとすることができる。
図6は、様々な実施形態による、メディアコンテンツ管理システム100において検索を実行するために、調達されたコンテンツをカテゴリ化するように構成されたデバイス内に配置された例示的なコンピューティングプラットフォームを示す。いくつかの例では、コンピュータプログラム、アプリケーション、方法、プロセス、アルゴリズム、または他のソフトウェアを実装して、上述の技法を実行するために、コンピューティングプラットフォーム1000が使用され得る。
いくつかの場合には、コンピューティングプラットフォームは、ウェアラブルデバイスまたはインプリメント、モバイルコンピューティングデバイス1090b、またはコンピューティングデバイス1090aなど任意の他のデバイスに配置することができる。
コンピューティングプラットフォーム1000は、プロセッサ1006、システムメモリ1010(たとえば、RAMなど)、記憶デバイス1008(たとえば、ROMなど)、通信インターフェース1012(たとえば、Ethernet(登録商標)またはワイヤレスコントローラ、Bluetooth(登録商標)コントローラなど)などのサブシステムおよびデバイスを相互接続して、通信リンク1014上のポートを介した通信を容易にし、たとえば、モバイルコンピューティングデバイスおよび/またはプロセッサを有する通信デバイスを含むコンピューティングデバイスと通信する、情報を通信するためのバス1004または他の通信機構を含む。プロセッサ1006は、1つもしくは複数の中央処理装置(「CPU」)、または1つもしくは複数の仮想プロセッサ、ならびにCPUおよび仮想プロセッサの任意の組合せで実装することができる。コンピューティングプラットフォーム1000は、限定はしないが、キーボード、マウス、オーディオ入力(たとえば、音声テキストデバイス)、ユーザインターフェース、ディスプレイ、モニタ、カーソル、タッチセンシティブディスプレイ、LCDまたはLEDディスプレイ、および他のI/O関連デバイスを含む、入出力デバイス1002を介して入出力を表すデータを交換する。
いくつかの例によれば、コンピューティングプラットフォーム1000は、システムメモリ1010に記憶された1つまたは複数の命令の1つまたは複数のシーケンスを実行するプロセッサ1006によって特定の動作を実行し、コンピューティングプラットフォーム1000は、クライアントサーバ構成、ピアツーピア構成、またはスマートフォンなどを含む任意のモバイルコンピューティングデバイスとして実装することができる。そのような命令またはデータは、記憶デバイス1008など別のコンピュータ可読媒体からシステムメモリ1010に読み込まれてもよい。いくつかの例では、実装のために、ソフトウェア命令の代わりに、またはソフトウェア命令と組み合わせて、ハードワイヤード回路が使用され得る。命令は、ソフトウェアまたはファームウェアに埋め込まれてもよい。「コンピュータ可読媒体」という用語は、実行のためにプロセッサ1006に命令を提供することに関与する任意の有形媒体を指す。そのような媒体は、限定はしないが、不揮発性媒体および揮発性媒体を含む、多くの形態をとることができる。不揮発性媒体は、たとえば、光ディスクまたは磁気ディスクなどを含む。揮発性媒体は、システムメモリ1010などのダイナミックメモリを含む。
コンピュータ可読媒体の一般的な形態は、たとえば、フロッピーディスク、フレキシブルディスク、ハードディスク、磁気テープ、任意の他の磁気媒体、CD-ROM、任意の他の光媒体、パンチカード、紙テープ、穴のパターンを有する任意の他の物理媒体、RAM、PROM、EPROM、FLASH-EPROM、任意の他のメモリチップもしくはカートリッジ、またはコンピュータが読み取ることができる任意の他の媒体を含む。さらに、命令は、伝送媒体を使用して送信または受信されてもよい。「伝送媒体」という用語は、機械による実行のための命令を記憶、符号化、または搬送することが可能な任意の有形または無形の媒体を含むことができ、そのような命令の通信を容易にするために、デジタルまたはアナログ通信信号または他の無形の媒体を含む。伝送媒体は、コンピュータデータ信号を送信するためのバス1004を含むワイヤを含む、同軸ケーブル、銅線、および光ファイバを含む。
いくつかの例では、命令のシーケンスの実行は、コンピューティングプラットフォーム1000によって実行され得る。いくつかの例によれば、コンピューティングプラットフォーム1000は、通信リンク1014(たとえば、LAN、PSTNなどの有線ネットワーク、または様々な規格およびプロトコルのWiFi、Blue Tooth(登録商標)、Zig-Beeなどを含む任意のワイヤレスネットワーク)によって、任意の他のプロセッサに結合されて、互いに協調して(または非同期で)命令のシーケンスを実行することができる。コンピューティングプラットフォーム1000は、通信リンク1014および通信インターフェース1012を介して、プログラムコード(たとえば、アプリケーションコード)を含むメッセージ、データ、および命令を送受信し得る。受信されたプログラムコードは、受信されるとプロセッサ1006によって実行されてもよく、および/または後の実行のためにメモリ1010もしくは他の不揮発性ストレージに記憶されてもよい。
図示の例では、システムメモリ1010は、本明細書で説明する機能を実装するための実行可能命令を含む様々なモジュールを含むことができる。システムメモリ1010は、オペレーティングシステム(「O/S」)1030、ならびにアプリケーション1032および/または論理モジュール1050を含み得る。図示の例では、システムメモリ1010は、コンテンツ関連付け(「ass'n」)セレクタモジュール408およびコンテンツ関連付け(「CA」)アルゴリズムモジュール1040を含むコンテンツアソシエータモジュール108を含む。システムメモリ1010はまた、画像アナライザ222、動きアナライザ224、ヒューリスティックエンジン216、検索インターフェースモジュール120、動的キーボードインターフェースモジュール208、動的キーボード提示モジュール212、感情分析モジュール220、自然言語処理(NLP)パーサ218、クエリアナライザ602を含む検索ルータルールエンジン206、インテントエクストラクタ604、インテントマッチャ606、および機械学習(ML)モジュール608、メタデータアナライザモジュール240を含むコンテンツ関連付け(「ass'n」)管理(「mgmt.」)モジュール214、ユーザインターフェースモジュール242、コンテンツ関連付け選択モジュール244、および関連付け(「ass'n」)関連モジュール246を含み得る。システムメモリ1010は、複合アイテムモジュール260およびコンポーザインターフェースモジュール262をさらに含み得る。メモリ1010に含まれるモジュールのうちの1つまたは複数は、本明細書で説明される1つまたは複数の機能を実装するために出力を提供または消費するように構成され得る。
少なくともいくつかの例では、上述の特徴のいずれかの構造および/または機能は、ソフトウェア、ハードウェア、ファームウェア、回路、またはそれらの組合せで実装され得る。上記の構造および構成要素、ならびにそれらの機能は、1つまたは複数の他の構造または要素と集約され得ることに留意されたい。代替的に、要素およびそれらの機能は、もしあれば、構成サブ要素に再分割されてもよい。ソフトウェアとして、上述の技法は、様々なタイプのプログラミング言語またはフォーマット言語、フレームワーク、シンタックス、アプリケーション、プロトコル、オブジェクト、または技法を使用して実装することができる。ハードウェアおよび/またはファームウェアとして、上述の技法は、フィールドプログラマブルゲートアレイ(「FPGA」)、特定用途向け集積回路(「ASIC」)、または任意の他のタイプの集積回路を設計するように構成された任意のレジスタ転送言語(「RTL」)などのハードウェア記述言語を含む、様々なタイプのプログラミング言語または集積回路設計言語を使用して実装され得る。いくつかの実施形態によれば、「モジュール」という用語は、たとえば、アルゴリズムもしくはその一部、および/またはハードウェア回路もしくはソフトウェアのいずれかで実装された論理、またはそれらの組合せを指すことができる。これらは、変更することができ、提供される例または説明に限定されない。
いくつかの実施形態では、メディアコンテンツ管理システムまたはその構成要素のうちの1つまたは複数、あるいは本明細書で説明される任意のプロセスまたはデバイスは、モバイル電話またはコンピューティングデバイスなどのモバイルデバイスと(たとえば、ワイヤードまたはワイヤレスで)通信することができ、あるいはその中に配置することができる。
いくつかの場合には、モバイルデバイス、またはアクションアラートコントローラまたはその構成要素のうちの1つまたは複数(または本明細書で説明する任意のプロセスまたはデバイス)と通信する任意のネットワーク化されたコンピューティングデバイス(図示せず)は、本明細書で説明する任意の特徴の構造および/または機能のうちの少なくともいくつかを提供することができる。上述の図に示されているように、上述の特徴のいずれかの構造および/または機能は、ソフトウェア、ハードウェア、ファームウェア、回路、またはそれらの任意の組合せで実装され得る。上記の構造および構成要素、ならびにそれらの機能は、1つまたは複数の他の構造または要素と集約または組み合わされ得ることに留意されたい。代替的に、要素およびそれらの機能は、もしあれば、構成サブ要素に再分割されてもよい。ソフトウェアとして、上述の技法のうちの少なくともいくつかは、様々なタイプのプログラミング言語またはフォーマッティング言語、フレームワーク、シンタックス、アプリケーション、プロトコル、オブジェクト、または技法を使用して実装することができる。たとえば、図のいずれかに示されている要素のうちの少なくとも1つは、1つまたは複数のアルゴリズムを表すことができる。あるいは、要素のうちの少なくとも1つは、構成の構造および/または機能を提供するように構成されたハードウェアの一部を含む論理の一部を表すことができる。
たとえば、動的キーボード提示モジュール212、またはその1つもしくは複数の構成要素のいずれか、または本明細書で説明される任意のプロセスもしくはデバイスは、メモリ内の1つもしくは複数のアルゴリズムを実行するように構成された1つもしくは複数のプロセッサを含む1つもしくは複数のコンピューティングデバイス(すなわち、装着可能なデバイス、(ヘッドホンまたはヘッドセットなどの)オーディオデバイス、または装着されているか、携帯されているかにかかわらず携帯電話のような任意のモバイルコンピューティングデバイス)において実装され得る。したがって、上述の図の要素のうちの少なくともいくつかは、1つまたは複数のアルゴリズムを表すことができる。あるいは、要素のうちの少なくとも1つは、構成の構造および/または機能を提供するように構成されたハードウェアの一部を含む論理の一部を表すことができる。これらは、変更することができ、提供される例または説明に限定されない。
例示的な方法
図7は、本開示の例示的な実施形態による取り出すための方法700のフローチャート図を示す。図7は、例示および議論の目的で特定の順序で実行されるステップを示しているが、本開示の方法は、特に例示された順序または配置に限定されない。方法600の様々なステップは、本開示の範囲から逸脱することなく、様々な方法で省略、再配置、組合せ、および/または適合させることができる。
702で、方法700は、たとえば、図1Cおよび図1Dを参照して上述したように、(たとえば、所望のメディアコンテンツアイテムのための)宛先を記述するデータを受信することを含むことができる。一例として、ユーザは、メッセージングアプリケーションを介してメッセージを送信する受信者(たとえば、別のユーザ)を選択することができる。宛先は、受信者のコンピューティングデバイス、および/または受信者のユーザコンピューティングデバイスの位置とすることができ、またはそれを含むことができる。さらなる例として、宛先は、宛先として、コンピュータアプリケーション、ウェブサイト、ソーシャルネットワーキングプラットフォーム(またはその中の場所)を含むことができる。
704で、方法700は、たとえば、図1C~図2Bおよび図4を参照して上述したように、メディアコンテンツアイテムの宛先を記述するデータに基づいて、1つまたは複数のメディアコンテンツアイテムを選択することを含むことができる。コンピューティングシステムは、宛先の属性とメディアコンテンツアイテムの属性との比較に基づいてメディアコンテンツアイテムを選択することができる。例示的な属性は、(たとえば、メディアコンテンツアイテムに含まれるテキストの)トーン、感情的コンテンツ、および美的品質を含むことができる。
706で、方法700は、たとえば、図1B~図1Dおよび図5A~図5Cを参照して上述したように、動的キーボードインターフェースにユーザコンピューティングデバイスによって表示するためのメディアコンテンツアイテムを提供することを含むことができる。メディアコンテンツアイテムは、メディアコンテンツアイテムの宛先を記述するデータに基づいて、(たとえば、動的キーボードインターフェースにおける)表示のためにランク付けおよび/または配列することができる。(たとえば、メディアコンテンツアイテムの宛先に基づいて選択されるために)一般的により関連性のあるメディアコンテンツアイテムは、より顕著に(たとえば、結果のグループのトップに、より大きく、など)表示され得る。
追加の開示
本明細書で説明した技術は、サーバ、データベース、ソフトウェアアプリケーション、および他のコンピュータベースのシステム、ならびにそのようなシステムとの間でとられるアクションおよび送信される情報に言及する。コンピュータベースのシステムの固有の柔軟性が、構成要素間のタスクおよび機能の多種多様な可能な構成、組合せ、および分割を可能にする。たとえば、本明細書で説明したプロセスは、単一のデバイスまたは構成要素、または組み合わせて機能する複数のデバイスまたは構成要素を使用して実装することができる。データベースおよびアプリケーションは、単一のシステム上で実装される、または複数のシステムに分散させることができる。分散構成要素は、順次または並列に動作することができる。
ハードウェアおよび/またはファームウェアとして、上述の構造および技法は、フィールドプログラマブルゲートアレイ(「FPGA」)、特定用途向け集積回路(「ASIC」)、マルチチップモジュール、または任意の他のタイプの集積回路を設計するように構成された任意のレジスタ転送言語(「RTL」)などのハードウェア記述言語を含む、様々なタイプのプログラミング言語または集積回路設計言語を使用して実装され得る。
たとえば、1つもしくは複数の構成要素を含むメディアコンテンツ管理システム、または本明細書で説明される任意のプロセスまたはデバイスは、1つもしくは複数の回路を含む1つもしくは複数のコンピューティングデバイスで実施することができる。したがって、上述の図の要素のうちの少なくとも1つは、ハードウェアの1つまたは複数の構成要素を表すことができる。あるいは、要素のうちの少なくとも1つは、構成の構造および/または機能を提供するように構成された回線の一部を含む論理の一部を表すことができる。
いくつかの実施形態によれば、「回路」という用語は、たとえば、1つまたは複数の機能を実行するために電流が流れるいくつかの構成要素を含む任意のシステムを指すことができ、構成要素は、個別の構成要素および複合の構成要素を含む。個別の構成要素の例には、トランジスタ、抵抗器、キャパシタ、インダクタ、ダイオードなどがあり、複合の構成要素の例には、フィールドプログラマブルゲートアレイ(「FPGA」)、特定用途向け集積回路(「ASIC」)を含む、メモリ、プロセッサ、アナログ回路、デジタル回路などがある。したがって、回路は、電子構成要素および論理構成要素(たとえば、アルゴリズムの実行可能命令のグループが、たとえば、したがって、回路の構成要素であるように、命令を実行するように構成された論理)のシステムを含むことができる。いくつかの実施形態によれば、「モジュール」という用語は、たとえば、アルゴリズムもしくはその一部、および/またはハードウェア回路もしくはソフトウェアのいずれかで実装された論理、またはそれらの組合せを指すことができる(すなわち、モジュールは、回路として実装することができる)。いくつかの実施形態では、アルゴリズムおよび/またはアルゴリズムが記憶されるメモリは、回路の「構成要素」である。したがって、「回路」という用語は、たとえば、アルゴリズムを含む構成要素のシステムも指すことができる。これらは、変更することができ、提供される例または説明に限定されない。
前述の例は、理解を明確にする目的で、ある程度詳細に説明されてきたが、上述の本発明の技法は、提供される詳細に限定されない。上述の発明技法を実施する多くの代替方法がある。開示された例は、限定的ではなく例示的なものである。
本発明の実施形態の前述の説明は、説明の目的で示されており、網羅的である、または本発明を開示された正確な形に制限するためのものではない。上記の開示に照らして、多くの変更および変形が可能であることを、当業者は認識することができる。
本説明のいくつかの部分は、情報における動作のアルゴリズムおよび記号表現に関して本発明の実施形態を記載する。他の当業者に効果的にそれらの仕事の要旨を伝えるために、これらのアルゴリズムの説明および表現は、データ処理技術の当業者によって共通して使用される。これらの動作は、機能的に、計算的に、または論理的に記載されているが、コンピュータプログラムまたは等価な電気回路、マイクロコードなどによって実施されると理解される。さらに、一般性を失うことなく、これらの操作の配置をモジュールと呼ぶことが時には便利であることも判明している。記載された動作およびそれらの関連のモジュールは、ソフトウェア、ファームウェア、ハードウェア、またはそれらの任意の組合せで具現化され得る。
本明細書に記載したステップ、動作、またはプロセスのうちの任意のものは、単独で、または他のデバイスとの組合せで、1つまたは複数のハードウェアまたはソフトウェアモジュールで実行または実施され得る。一実施形態では、ソフトウェアモジュールは、記載されているステップ、動作、またはプロセスのうちのいずれかまたはすべてを実行するためのコンピュータプロセッサによって実行され得るコンピュータプログラムコードを含むコンピュータ可読媒体を含むコンピュータプログラム製品で実装される。
本発明の実施形態は、本明細書において動作を実行するための装置も指し得る。この装置は、必要な目的のために特別に構成されてもよく、および/またはコンピュータに記憶されたコンピュータプログラムによって選択的に起動または再構成される汎用コンピューティングデバイスを含んでいてもよい。そのようなコンピュータプログラムは、非一時的、有形のコンピュータ可読記憶媒体、または電子命令を記憶するのに適した任意のタイプの媒体に記憶され得、これは、コンピュータシステムバスに結合され得る。さらに、本明細書で言及される任意のコンピューティングシステムは、単一のプロセッサを含み得る、または、増加したコンピューティング能力のために複数のプロセッサ設計を使用しているアーキテクチャとすることができる。
本発明の実施形態は、本明細書に記載されているコンピューティングプロセスによって生成される製品も指し得る。そのような製品は、コンピューティングプロセスから生じる情報を含み得、情報は、非一時的、有形のコンピュータ可読記憶媒体に記憶され、コンピュータプログラム製品の任意の実施形態、または本明細書に記載されている他のデータの組合せを含むことができる。
最後に、本明細書で使用される言語は、主に読みやすさおよび教育の目的のために選択されており、本発明の主題を描写するまたは制限するために選択されていない可能性がある。したがって、本発明の範囲は、この詳細な説明によって限定されるのではなく、むしろ、本明細書に基づく出願に関して発行される任意の請求項によって限定されることが意図される。したがって、本発明の実施形態の開示は、以下の特許請求の範囲に記載されている本発明の範囲を例示することを意図しており、限定することを意図していない。
本主題について、その様々な特定の例示的な実施形態に関して詳細に説明してきたが、各例は、本開示の限定ではなく説明として提供される。当業者は、上述の理解を達成すると、そのような実施形態の変更、変形、および等価物を容易に生成することができる。したがって、本開示は、当業者には容易に明らかであるように、そのような変更、変形、および/または追加を本主題への包含を排除するものではない。たとえば、一実施形態の一部として図示または説明されている特徴を、別の実施形態とともに使用して、またさらなる実施形態を得ることができる。したがって、本開示は、そのような変更、変形、および均等物を網羅することが意図される。