(58)【調査した分野】(Int.Cl.,DB名)
前記入力構成要素が、前記複数の文字を循環させるコマンドが右コマンドであるとき前記複数の文字を時計回りに、前記複数の文字を循環させるコマンドが左コマンドであるとき前記複数の文字を反時計回りに循環させるようにさらに構成された、請求項1に記載のシステム。
前記二次表示が、前記フォーカス位置の前記文字に接するスクロール可能な形式で前記1つまたは複数の提案された次の文字を備えるドロップダウン垂直リストである、請求項1に記載のシステム。
前記1つまたは複数の提案された次の文字のうちの1つの提案された次の文字が、前記1つまたは複数の提案された次の文字の上方のフォーカス位置の前記文字からカーソルを移動させることによって選択され得る、請求項1に記載のシステム。
前記インターフェース構成要素が、前記1つの提案された次の文字の選択に応答して、前記カルーセルグラフィカル入力表示を循環させて、前記カルーセルグラフィカル入力表示の前記フォーカス位置に前記1つの提案された次の文字に該当する文字を配置するようにさらに構成された、請求項9に記載のシステム。
前記インターフェース構成要素が、グラフィカルテキストボックス表示を生成するようにさらに構成され、前記入力構成要素が、前記複数の文字のうちの選択された文字を前記グラフィカルテキストボックス表示内に表示するようにさらに構成された、請求項1に記載のシステム。
前記文字、および、前記グラフィカルテキストボックス表示内に表示された前記複数の文字のうちの以前に選択された文字の選択に応答して、前記フォーカス位置の前記文字に基づいて前記1つまたは複数の提案された次の文字を推論するように構成された分析構成要素をさらに備える、請求項12に記載のシステム。
前記文字、および、前記グラフィカルテキストボックス表示内に表示された前記複数の文字のうちの以前に選択された文字の選択に基づいて1つまたは複数の提案された単語を推論するように構成された分析構成要素をさらに備え、前記入力構成要素が、前記グラフィカルテキストボックス表示内に表示された前記複数の文字のうちの前記選択された文字に隣接して、前記1つまたは複数の提案された単語を前記グラフィカルテキストボックス表示内に表示するようにさらに構成された、請求項12に記載のシステム。
【発明を実施するための形態】
【0006】
この発明は、図面を参照して説明され、図面では、同じ参照番号は、全体を通じて同じ要素を示すために使用される。以下の説明では、説明の目的のため、多数の特定の詳細が、この発明の完全な理解を提供するために記載される。しかしながら、この発明は、これらの特定の詳細なしで実施され得ることは明らかであり得る。他の例では、周知の構造および構成要素は、発明の説明を容易にするために、ブロック図形式で示される。
【0007】
前置きとして、本開示に記載の発明は、グラフィカルユーザインターフェースを使用して文字入力を容易にするシステムおよび方法に関する。一実施形態によれば、方向パッド(例えば、上、下、左、および右ボタンを有するコントローラ)と、選択およびキャンセルボタンとを有する基本コントローラを使用して入力を容易にするグラフィカル入力表示が提供される。グラフィカル入力表示は、ユーザがタイプする可能性がある文字のカルーセルを提示する。ローマ字を有する言語に関して、文字は、アルファベット、数字、およびスペース文字を含むことができる。文字は、フォーカス位置に持ってこられるようにカルーセルに関して循環することができ、または、カーソルは、文字にフォーカスするために、カルーセル方式で文字に関して循環することができる。フォーカスされた文字は、例えば、左または右ボタンを使用することによって変更され得、入力ボタンで選択され得る。カルーセルは、ユーザがフォーカスを一端から他端にシームレスに移動させることができるように、無限にループする。
【0008】
一態様では、文字が選択されたとき、次の文字のための有望な候補の垂直ドロップダウン表示が表示される。このように、次の文字は、文字のカルーセル全体をスクロールしなくても、ドロップダウンから容易に選択され得る。一態様では、垂直ドロップダウンは、コントローラの方向パッドの上および下ボタンを使用することによって操作され得る。一態様では、文字は、水平線内に配置され、カーソルは、文字の周りでシームレスに回る。水平レイアウトは、カルーセルの上方に現れる検索ボックスのための空間を提供する。文字の選択は、検索ボックス内の文字のタイピングをもたらし、検索ボックスは、選択された最後の文字を含むように継続的に更新され得る。一態様では、短い遅延の後、タイプされている文字と一致する最も一般的なクエリは、検索ボックス内にグレーアウトされて現れることができる。フォーカスを文字のカルーセルから検索ボックスに変更するために、ユーザは、コントローラの方向パッド上の「上」ボタンを単に押すことができる。例えば、上ボタンを押すことによって、フォーカスは、検索ボックスに移り、ユーザが提案されたクエリを受け入れることを可能にする。検索を受け入れることは、検索ボックスをクエリで満たし、検索を発行することになる。
【0009】
ここで図を参照すると、最初に
図1を参照し、グラフィカルユーザインターフェースへの文字入力を容易にするデータインターフェースプラットフォーム102を有するシステム100が提示される。本開示で説明されるシステム、装置、またはプロセスの態様は、機械内で具体化される、例えば、1つまたは複数の機械に関連付けられた1つまたは複数のコンピュータ可読媒体内で具体化される、機械実行可能構成要素を構成することができる。そのような構成要素は、1つまたは複数の機械、例えば、コンピュータ、コンピューティングデバイス、仮想マシン、などによって実行されたとき、機械に、説明された動作を実行させることができる。システム100は、コンピュータ実行可能構成要素および命令を記憶するためのメモリ122を含むことができる。システム100は、さらに、システム100による命令(例えば、コンピュータ実行可能構成要素および命令)の動作を容易にするために、プロセッサ120を含む。
【0010】
データインターフェースプラットフォーム102は、特に、基本コントローラ(例えば、上/下/左右ボタン、キャンセルボタン、および選択ボタンのような基本的な入力キーを有するコントローラ)を使用して、効率的かつ正確な文字入力を容易にするグラフィカル入力表示を生成するように構成される。例えば、従来のグラフィカル文字入力表示は、表示画面上にキーボード状に配置された文字で構成される。基本的なコントローラを使用してそのような文字入力表示と対話するとき、ユーザは、多方向で不均一な操作経路を使用してグラフィカルキーボード表示を操作しなければならない。そのような入力機構は、ユーザにとって非効率でもどかしい。データインターフェースプラットフォーム102は、従来のグラフィカルキーボード入力表示などに関連するそのような欠陥を低減する代替のグラフィカル入力表示を生成することができる。具体的には、データインターフェースプラットフォーム102は、一度に文字の単一のものにフォーカスするために、カーソルが文字の周りでシームレスに移動するか、一度に文字の単一のものをフォーカス位置に持ってくるために、文字が軸の周りでシームレスに回る、文字のカルーセルを有するグラフィカル入力表示を生成することができる。
【0011】
データインターフェースプラットフォーム102は、少なくともインターフェース構成要素104と、入力構成要素118とを含む。インターフェース構成要素104は、本明細書で論じる様々な特徴を有するグラフィカル入力表示を生成すること、ならびに、文字および文字からなる関連する単語またはフレーズを表示することに関連する様々な機能を実行することができる。インターフェース構成要素104は、さらに、検索構成要素106と、適応構成要素108と、分析構成要素110とを含むことができる。
【0012】
入力構成要素118は、インターフェース構成要素104によって生成されたグラフィカル入力表示への入力のための文字を選択することを容易にすることができる。例えば、入力構成要素118は、入力デバイス(例えば、コントローラ、キーボード、マウス、タッチスクリーン、など(図示せず))からコマンドを受信し、インターフェース構成要素104によって生成されたグラフィカル入力表示との対話を容易にするために、これらのコマンドを解釈するように構成される。一態様では、入力構成要素118は、文字のうちの1つをフォーカス位置に持ってくるために、文字カルーセルの文字を循環させるコマンドを受信することができる。別の態様では、入力構成要素104は、文字のうちの1つにフォーカスするために、文字カルーセルに関してカーソルを移動させるコマンドを受信することができる。入力構成要素118は、さらに、文字を選択する、検索語を選択する、または別の方法でデータを選択するために、コマンドを受信することができる。入力構成要素118は、さらに、グラフィカル入力表示のあちこちにグラフィカル入力表示のカーソルまたは他のインジケータを移動させるコマンドを受信することができる。受信されたコマンドに応答して、入力構成要素は、そのような入力コマンドを遂行することができる。例えば、入力構成要素118は、文字を選択することができ、検索語を選択することができ、または別の方法でデータを選択することができ、検索ボックスへのタイプによって文字をもたらすことができ、文字選択を削除することができ、受信されたコマンドによって伝えられた方法でグラフィカル入力表示のあちこちにカーソルまたは他のインジケータを移動させることができる。
【0013】
インターフェース構成要素104は、
図2〜
図10に例示するような様々なグラフィカルインターフェースを生成するように構成される。これらのインターフェースは、従来のキーボード入力表示などとは異なり、文字のカルーセルを含むことができ、文字のカルーセルでは、一度に文字のうちの単一のものにフォーカスするために、カーソルが文字の周りでシームレスに移動するか、一度に文字のうちの単一のものをフォーカス位置に持ってくるために、文字が軸の周りでシームレスに回る。カルーセルという用語は、本明細書では、軸に関して無限に循環することができる要素を有する物体または配置を記述するために使用される。軸の角度は、変化させることができる。例えば、軸は、垂直軸または水平軸を含むことができる。一態様では、要素は、カーソルが文字の配置の周りで無限にループするように文字の配置の周りで循環するカーソルである。例えば、文字は、円(または、固定された終点を持たない他の形状、例えば、楕円、正方形、長方形、など)に配置され得、カーソルは、円の周りの文字に関してループすることができる。別の例では、文字は、固定された線内に配置され得、カーソルは、カーソルが、線の第1端または線の第2端のいずれかに到達するのに応じて、線の第1端から線の第2端に移るように、線に対して文字の上を移動することができる。依然としてさらに別の態様では、軸に関して無限に循環する要素は、文字そのものである。例えば、文字は、円に配置され得、文字は、単一の文字がその選択のときにフォーカス位置を通過するように、円の周りで循環することができる。
【0014】
インターフェース構成要素104によって生成されたグラフィカル入力表示の特定の文字は、入力表示の目的、および、入力表示が適合させられた言語に応じて変化させることができる。具体的には、インターフェース構成要素104は、文字、数字、および/または記号を有する任意の記載言語のための文字のカルーセルを有するグラフィカル入力表示を生成することができる。一態様では、ローマ字を有する言語に関して、文字は、アルファベット、数字、およびスペース文字を含むことができる。
【0015】
一態様では、インターフェース構成要素104によって生成されたグラフィカル文字入力表示のあちこちにカーソル/インジケータを移動させるために、ユーザは、基本的な入力コマンドを容易にする入力デバイスを用いることができる。例えば、入力デバイスは、上および下コマンド、左および右コマンド、入力/選択コマンド、ならびに/または削除コマンドを提供することができる。この態様によれば、左および右コマンドを選択することによって、カーソル/インジケータは、文字カルーセルの文字にフォーカスするために、それぞれ、左もしくは右に移動することができ、または、文字カルーセルの文字は、文字カルーセルの文字をフォーカス位置に持ってくるために、それぞれ、反時計回りもしくは時計回りに移動することができる。インターフェース構成要素104は、様々な程度のコマンド機能および複雑さを有する様々な入力デバイスによって用いられるように構成されたグラフィカル入力表示を生成することができることが認識されるべきである。上記で説明した基本的なコマンドを有するコントローラは、単に、データインターフェースプラットフォーム102によって生成されたインターフェースと併せて使用するのに適したコントローラの1つの可能性である。
【0016】
文字がフォーカス位置に持ってこられた後、ユーザは、入力デバイス上の入力/選択を押すことによって、文字を選択することができる。文字の選択は、検索ボックス、または、グラフィカル入力表示の他のタイプのテキスト入力領域のような、グラフィカル入力表示の別の領域での文字のタイピングをもたらすことができる。一態様では、文字カルーセルでの文字の選択に際し、インターフェース構成要素104は、選択された文字、または、選択された文字および1つもしくは複数の以前に選択された文字に基づいて提案された文字または単語を含む、選択された文字と直交および/または選択された文字に接する二次入力表示を生成することができる。
【0017】
例えば、二次表示は、単語を形成するときに、選択された文字に続く高い可能性を有する文字カルーセルからの文字のサブセット(例えば、1つまたは複数の文字)を含むことができる。この例によれば、ユーザが文字「T」を選択したとき、英語の分析は、英語の単語を形成するときに文字「T」に続く最も高い可能性を有する文字が、「R」、「E」、「I」、および「A」を含むことを示す可能性がある。したがって、文字「T」の選択に基づいて生成された二次表示は、文字「R」、「E」、「I」、および「A」を含むことができる。加えて、インターフェース構成要素104は、さらに、選択された文字と、1つまたは複数の以前に選択された文字とに基づいて、二次表示に含めるための文字のサブセットを選択することができる。例えば、ユーザが、文字「T」の選択の前に文字「A」を選択していた場合、二次表示に含まれる文字は、単語形成の際に文字「AT」に続く高い可能性を有する文字を含む。
【0018】
別の例では、二次表示は、選択された文字、または選択された文字の組合せでしばしば形成される、提案された単一の単語を含むことができる。例えば、ユーザが、様々な所定のアルゴリズムおよび/または確率に基づいて文字「S」を選択した場合、文字「S」で始まるありそうな単語が、二次表示に含まれ得る。ユーザが追加の単語を選択すると、二次表示に含まれる単語は、組み合わされた選択された文字に基づいて提案され得る。例えば、ユーザが、以前に文字「S」を選択した後に文字「A」を選択した場合、文字「A」と直交して生成された二次表示は、しばしば文字の組合せ「SA」で始まって形成される単語(例えば、「San」、「Santa」、「sail」、および「said」)を含むことができる。
【0019】
一態様では、文字カルーセルが、文字の線状の配置を含む場合、文字または単語の二次配置は、選択された文字を起点として文字の線状配置から垂直方向に延びる、選択された文字に基づいて提案された文字または単語のスクロール可能なリストを含むことができる。このように、ユーザは、文字カルーセルからの文字のフルセットをスクロールする代わりに、提案された文字のサブセットをスクロールすることができ、したがって、正確な文字選択の効率を高める。
【0020】
二次グラフィカル入力表示からの提案された文字または単語の選択に際し、提案された文字または単語は、テキストボックス(例えば、検索ボックス、または、グラフィカル入力表示の他のテキスト入力領域)内にタイプされ、二次グラフィカル入力表示は、閉じられる(例えば、削除されるか、消失される)。一態様では、二次グラフィカル入力表示内の文字のサブセットからの提案された文字の選択に際し、インターフェース構成要素104は、提案された文字の選択を反映するために、文字カルーセルを自動的に更新する。具体的には、インターフェース構成要素104は、選択された提案された文字に該当する文字を文字カルーセルのフォーカス位置に持ってこさせるように、または、文字カルーセル内の選択された提案された文字に該当する文字の上に浮かぶ/フォーカスするためにカーソル/インジケータを移動させるように、文字の円配置を循環させることができる。一態様では、インターフェース構成要素104は、さらに、現在フォーカス位置にある文字(例えば、直前に選択された文字に該当する文字)に基づく1つまたは複数の提案された文字を有する、現在フォーカス位置にある文字に接する新しい二次グラフィカル入力表示を、自動的に生成することができる。このように、インターフェース構成要素104は、以前に選択された文字に基づく文字カルーセルからの文字のサブセットを、ユーザに連続的に提示することができる。
【0021】
いくつかの態様では、二次グラフィカル入力表示は、カルーセルグラフィカル入力表示上のフォーカスされた文字の選択に応答して生成されるが、ユーザは、二次グラフィカル入力表示に含まれる提案された文字または単語のうちの1つを選択しないことを選択することができる。例えば、1つまたは複数の提案された文字または単語は、ユーザによって望まれる特定の文字または単語を含まない可能性がある。このとき、ユーザは、選択のための別の文字を見つけるために、元のカルーセルグラフィカル入力表示をスクロールすることを選択することができる。
【0022】
一態様では、ユーザが、二次表示が生成された後に元のカルーセルグラフィカル入力表示をスクロールすることに戻ったとき、二次グラフィカル入力表示は、閉じられ得る。例えば、カルーセルグラフィカル入力表示が、文字の水平線を備え、生成された二次表示が、文字の垂直ドロップダウンリストを備える場合、ユーザは、文字の水平線をスクロールするために、コントローラの左および右ボタンを用いることができ、提案された文字の二次表示をスクロールするために、上および下ボタンを用いることができる。この例では、ユーザが、二次表示が生成された後に左または右ボタンを用いた場合、二次表示は、閉じられ得る。
【0023】
検索構成要素106は、検索入力ボックスを生成し、検索入力ボックス内に選択された単語をタイピングし、検索入力ボックス内に提案された単語またはフレーズをタイピングし、タイプされた単語またはフレーズを、それらの問い合わせのために検索エンジンに提供することを容易にするために、インターフェース構成要素104によって用いられ得る。この態様によれば、データインターフェースプラットフォーム102は、クエリ検索の実行のためのテキスト入力を必要とするシステムによって用いられ得る。上述したように、インターフェース構成要素104によって生成された文字カルーセルからの文字の選択に応答して、文字は、検索構成要素106によって生成された検索テキストボックス内にタイプされる。
【0024】
一態様では、検索構成要素106は、タイプされた文字に基づき、タイプされた文字に隣接する提案された単語またはフレーズで検索ボックスを満たすことができる。例えば、ユーザは、検索ボックス内にタイプされた第1の文字を選択することができ、検索構成要素106は、第1の文字に基づいて提案された単語またはフレーズで検索ボックスを満たすことができる。新しい文字がタイプされるたびに、検索構成要素106は、集合的な選択された文字に基づいて提案された単語またはフレーズを含むように、提案された単語またはフレーズを更新することができる。一態様では、提案された単語またはフレーズは、オプションの選択方法で、検索ボックス内に表示され得る。例えば、タイプされた選択された文字は、第1の色で表示され得、提案された単語またはフレーズに関連する残りの文字は、第2の色で表示され得る。この例によれば、選択された文字は、暗くされ、単語またはフレーズの提案された文字は、グレーアウトされる。このように、ユーザは、ユーザによって確定的に選択された文字と、検索構成要素106によって提案された文字との間を容易に区別することができる。検索構成要素106は、さらに、提案された単語またはフレーズに続いて、検索ボックス内に、検索ボック内に提示された提案された単語またはフレーズの選択を可能にするウィジェットを提示することができる。ウィジェットを選択することによって、ユーザは、クエリの発行のために提案された単語またはフレーズを承諾することができる。
【0025】
分析構成要素110は、データインターフェースプラットフォーム102の様々な構成要素によって実行された決定および推論に関連する分析を提供することができる。例えば、インターフェース構成要素104は、選択された文字に基づく文字カルーセルからの提案された文字のサブセットを有する二次グラフィカル入力表示に含める1つまたは複数の文字を決定または推測するために、分析構成要素110を用いることができる。別の例では、検索構成要素106は、検索ボック内で選択またはタイプされた文字に基づいて、検索テキストボックス内に提示する提案された単語またはフレーズを決定または推測するために、分析構成要素110を用いることができる。
【0026】
分析構成要素110は、提案された文字、単語、および/またはフレーズに関する様々な決定および推論を行うことを容易にするために、メモリ122(または、外部)に記憶された1つまたは複数のアルゴリズムおよびルックアップテーブルを用いることができる。そのようなアルゴリズムおよび/またはルックアップテーブルは、検索するために利用可能な内容の検索カテゴリまたはセットに関連付けられた単語またはフレーズを用いて、特定の言語、ならびに/または、文字、単語、および/もしくはフレーズに関する語形成と文字との間の様々な関係を定義することができる。例えば、データインターフェースプラットフォーム102が、個々のメディアアイテムに関連付けられたタイトルによって識別可能なメディアアイテムを有する(例えば、メモリ122または外部に記憶された)メディアデータベースと併せて用いられる場合、検索構成要素106は、文字、単語、および/またはフレーズを、データベース内のアイテムの既知のタイトルの単語、および/またはフレーズと関連付けるアルゴリズムおよび/またはルックアップテーブルを用いることができる。
【0027】
一実施形態では、分析構成要素110は、データ入力を容易にすることに関連して推論を行う(例えば、提案された文字、単語、またはフレーズを推論する)ことを容易にするために、推論構成要素112を含むことができる。本開示で説明する多数の推論を提供または助けるために、推論構成要素112は、イベント管理および計画管理についての推論を提供するためにアクセスを許可されたデータ全体またはそのサブセットを調査することができる。インターフェース構成要素112は、システム100によって受信されたまたは生成された情報、メモリ122に記憶された情報、ならびに、ネットワーク126を介してデータインターフェースプラットフォーム102にアクセス可能なアクセス可能外部情報を含む、システム100(および、本明細書に記載の追加のシステム)に関連付けられた任意の情報へのアクセスが許可され得る。
【0028】
推論構成要素112は、例えば、特定の内容もしくは動作を識別するため、または、状態にわたる確率分布を生成するために、推論を実行することができる。推論は、確率的、すなわち、データおよびイベントの考慮に基づく対象の状態にわたる確率分布の計算であり得る。推論は、イベントまたはデータのセットからより高いレベルのイベントを構成するために用いられる技術を指すこともできる。イベントが、近い時間的近接度で関係付けられるかどうかにかかわらず、かつ、イベントおよびデータがいくつかのイベントおよびデータ源からくるかどうかにかかわらず、そのような推論は、観察されたイベントのセット、または記憶されたイベントデータから、新しいイベントまたは動作の構築をもたらすことができる。様々な分類(明示的または暗黙的に訓練された)手法またはシステム(例えば、ベクトルマシン、ニューラルネットワーク、エキスパートシステム、ベイジアン信念ネットワーク、ファジー論理、データ融合エンジン、などをサポートする)が、特許請求された手段に関連する自動または推論された動作を実行することに関連して用いられ得る。
【0029】
分類器は、入力属性ベクトルx=(x1,x2,x3,x4,xn)を、f(x)=信頼度(クラス)などによって、入力がクラスに属する信頼度にマッピングすることができる。そのような分類は、ユーザが自動的に実行されることを望む動作を予測または推論するために、(例えば、分析の有用性およびコストにファクタリングする)確率的または統計ベースの分析を用いることができる。サポートベクターマシン(SVM:support vector machine)は、用いられ得る分類器の一例である。SVMは、可能な入力の空間内に超曲面を見つけることによって動作し、超曲面は、トリガ基準を非トリガイベントから分割しようとする。直感的に、これは、分類を、訓練データに近いが、訓練データと同一ではない試験データについて正しくする。他の有向または無向モデル分類手法は、例えば、ナイーブベイズ、ベイジアンネットワーク、決定木、ニューラルネットワーク、ファジー論理モデルを含み、独立性の異なるパターンを提供する確率的分類モデルが用いられ得る。本開示で使用される分類は、優先順位のモデルを開発するために利用される統計的回帰も含む。
【0030】
適応構成要素108は、それによって、生成されたグラフィカル入力表示の、グラフィカル入力表示が提示されるクライアントデバイス128への適合を容易にするために、インターフェース構成要素104によって用いられ得る。クライアントデバイス128は、ユーザに関連付けられ、表示画面を介してグラフィカルユーザインターフェースを提示するように構成された任意の適切なデバイスを含むことができる。例えば、クライアントデバイスは、テレビジョン、デスクトップコンピュータ、ラップトップコンピュータ、スマートフォン、タブレットパーソナルコンピュータ(PC)、またはPDAを含むことができる。適応構成要素108は、インターフェースが表示されるユーザデバイス128の能力および機能に少なくとも部分的に基づいて、インターフェース構成要素によって生成されたインターフェースの設計および提示を適合させるように構成される。それぞれのデバイスは、しばしば、異なる能力および制限(例えば、画面サイズ、デコーダ...)を有する。一態様では、適応構成要素108は、異なるデバイス性能および制限に従って提示オプションを提供することができる。例えば、データレンダリング能力は、固定コンピューティングデバイス(例えば、デスクトップコンピュータ)よりもモバイルデバイス(例えば、スマートフォン)で制限される可能性があり、モバイルデバイスからビデオ(または、他の情報)のようなコンテンツを利用するために、固定コンピューティングデバイスから同じビデオを見る際にユーザに必要であるよりも多くの努力がユーザに必要である可能性がある。加えて、様々なモバイルデバイスの表示は、しばしば、固定コンピューティングデバイスでの表示よりも小さいので、モバイルデバイスでは任意の所与の時点で比較的少ない量の情報を表示することのみが可能である可能性がある。適応構成要素108は、したがって、それぞれのデバイスに対してオプションおよび内容の表示を最適化することができる。
【0031】
データインターフェースプラットフォーム102は、複雑さが変動する入力デバイス(例えば、基本コントローラからより複雑な入力デバイスまで)によるデータ入力のための効率的なグラフィカルユーザインターフェースを生成するためのツールとして、様々なシステムによって用いられ得る。例として、
図1は、ストリーミングメディアシステム100と共に使用するためのデータインターフェースプラットフォーム102を提示する。例えば、システム100は、ストリーミングビデオ、ストリーミング音楽、およびストリーミングテレビのようなメディアアイテムを、ネットワーク126を介してクライアントデバイスに提供するように構成された1つまたは複数のメディアプロバイダ124を含むことができる。この態様では、データインターフェースプラットフォーム102は、その閲覧のために1つまたは複数のメディアプロバイダ124によって提供されるメディアアイテムを検索することに関連する文字入力のためのインターフェースを生成することができる。
【0032】
一態様では、メディアプロバイダ124は、メディアディストリビュータとして機能することができ、メディアを1つまたは複数のクライアント128にストリーミングするストリーミング構成要素を含む。この態様によれば、メディアは、メディアプロバイダ124によって記憶されたメディア、および/または、ネットワーク126を介してメディアプロバイダ124にアクセス可能な外部ソースに記憶されたメディアを含むことができる。本開示で使用されるとき、「コンテンツ消費者」または「ユーザ」という用語は、システム100(または、本開示に記載の追加のシステム)を用いる人、エンティティ、またはそれらの組合せを指す。一態様では、クライアントデバイス128(または、本開示に記載の追加のシステム/構成要素)は、メディアプロバイダ124にアクセスし、ネットワーク126(例えば、インターネット)を介してストリーミングされたメディアを受信するように構成され得る。ネットワーク126は、限定はしないが、セルラーネットワーク、ワイドエリアネットワーク(WAN、例えば、インターネット)、または、ローカルエリアネットワーク(LAN)を含むことができる。例えば、クライアント128は、例えば、セルラー、WAN、ワイヤレスフィデリティ(Wi-Fi(登録商標))、Wi-Max、WLAN、などを含む、任意の所望の有線または無線技術を実質的に使用して、メディアプロバイダ124と通信することができる。
【0033】
図2〜
図10は、単に例示の目的のために、システム100のようなストリーミングメディアシステムに関連するデータインターフェースプラットフォーム102によって生成されることが可能な様々なグラフィカルユーザインターフェースを提示する。しかしながら、データインターフェースプラットフォーム102は、文字入力を必要とする様々なタイプのシステムとの文字入力インターフェースを生成するために使用され得ることが理解されるべきである。
【0034】
ここで
図2に目を向けると、効率的な文字入力を容易にするインターフェースプラットフォーム102によって生成された例示的なグラフィカルユーザインターフェース200が提示されている。本明細書に記載のシステムおよびインターフェースのそれぞれの実施形態で用いられる同様の要素の繰り返しの説明は、簡潔さのために省略される。インターフェース200は、データ、特に、ストリーミングメディアシステムによって利用可能なメディアアイテムを検索するときの文字入力を容易にする。
【0035】
インターフェース200は、(例えば、検索クエリ語またはフレーズを入力する前に)ストリーミングメディアシステムへの最初の出発点でストリーミングメディアシステムと対話するために用いられるグラフィカルユーザインターフェースの可能なビューを示す。インターフェース200は、文字カルーセル204と、検索ボックス202と、メディアアイテム206、208、および210とを含む。メディアアイテム206、208、および210は、例えば、ストリーミングメディアシステムによってストリーミングするために利用可能なビデオのサムネイルを含むことができる。インターフェース200は、閲覧するための特定のメディアアイテムを検索するために用いられ得る。一態様では、ユーザが文字を検索ボックス202に入力するにつれて、その下方に提示されるメディアアイテムは、入力文字を反映するように自動的に更新され得る。ユーザがどのような文字も検索ボックスに入力していないとき、ユーザに提示される特定のメディアアイテム206〜210は、ランダムに、または、代替のメカニズム(例えば、現在人気のメディアアイテム、ユーザによって最近閲覧されたメディアアイテム、など)によって決定され得る。
【0036】
インターフェース200は、方向パッドと、入力/選択ボタンと、キャンセルボタンとを有する基本コントローラを使用して効率的な文字入力を容易にするように設計される。文字カルーセル204は、検索クエリを発行する単語またはフレーズを生成するために、検索ボックス202内にタイピングするための文字を選択するために用いられ得る。カルーセル204は、表示されたメディアアイテム206〜208の上方の固定された水平線内に配置された複数の文字、数字、およびスペース文字で構成される。カルーセル204は、カーソルが一度に単一の文字の上にあるように、カルーセルの文字の上を移動するようにコントローラの方向パッドで制御され得るカーソル/インジケータ212を含むことができる。具体的には、ユーザは、カーソル212を、(矢印「L」によって表される)左方向または(矢印「R」によって表される)右方向に、それぞれ文字の上で移動させるために、コントローラ上の左ボタンまたは右ボタンを押すことができる。
【0037】
一態様では、カーソル212は、文字の周りで無限にループすることができる。より正確には、カーソル212は、線の第1端または線の第2端のいずれかに到達するのに応じて、カーソルが線の第1端(例えば、カーソルがスペースバー文字でインターフェース200内に描かれている端)から線の第2端(例えば、文字Aで始まる線の端)に移るように、左方向または右方向に文字の上を移動され得る。言い換えれば、インターフェース200を見るとき、ユーザが右ボタンを押した場合、カーソル212は、カルーセルの「A」の文字の上に浮かぶように位置を移ることになる。同様に、カーソル212が「A」の文字の上に配置された後、ユーザが左ボタンを押した場合、カーソル212は、スペースバーの上の位置に戻ることになる。
【0038】
ここで
図3を参照すると、効率的な文字入力を容易にするインターフェースプラットフォーム102によって生成された例示的なグラフィカルユーザインターフェース300が提示されている。本明細書に記載のシステムおよびインターフェースのそれぞれの実施形態で用いられる同様の要素の繰り返しの説明は、簡潔さのために省略される。
【0039】
インターフェース300は、ユーザが文字「A」を選択するためにインターフェース200と対話しているインターフェース200の拡張である。例えば、インターフェース200からインターフェース300に移動するとき、ユーザは、方向パッドコントローラの左ボタンまたは右ボタンを使用して、文字「A」の上に浮かぶようにカーソル212を移動している。ユーザは、さらに、コントローラ上の入力ボタンを押すことによって、「A」の文字を選択している。ユーザによって起動されたそのような入力コマンドは、入力構成要素(例えば、入力構成要素118)によって受信され、実施されることが理解されるべきである。検索ボックス202に見られるように、「A」の文字の選択は、検索ボックスへの文字「A」のタイピングをもたらす。
【0040】
検索ボックス202は、さらに、提案された単語/フレーズ(例えば、「Angelina Joly」)が取り込まれる。提案された単語/フレーズは、タイプされた文字「A」に基づき、ユーザがクエリを発行することに興味がある可能性がある検索語であると、分析構成要素(例えば、分析構成要素110)によって決定または推定される。提案された単語またはフレーズには、さらに、検索ボックス202内の検索ウィジェット302が続く。一態様では、注目/フォーカスを文字カルーセルから検索ボックスに移動するために、ユーザは、上ボタン、または、上ボタンおよび選択ボタンの組合せ(例えば、または、任意の他の適切なボタンもしくはボタンの組合せ)を押すことができる。注目が検索ボックス202に移されると、入力/選択ボタンを押すことによって、ユーザは、提案されたクエリを承諾することができ、提案された用語に基づいてクエリ検索を開始するために、検索ウィジェット302を選択することができる。さらに、メディアアイテム306、308、および310は、文字「A」に関連する検索結果を反映するために、以前に提示されたメディアアイテム206、208、および210から更新/変更され得る。
【0041】
加えて、文字「A」の選択に応答して、インターフェース構成要素は、選択された文字「A」に基づいて提案された文字を有する二次ドロップダウングラフィカル表示304を生成している。例えば、提案された文字「N、L、S、およびR」は、しばしば文字「A」に続く文字として、分析構成要素(例えば、分析構成要素110)によって決定され得る。ユーザは、さらに、提案された文字のうちの1つを選択するために、コントローラの上および下ボタンを使用して、ドロップダウン表示をスクロールすることができる。一態様では、図示していないが、提案された文字ではなく、二次表示304は、選択された文字「A」に基づいて提案された単語のスクロール可能なリストを含むことができる。
【0042】
図4は、効率的な文字入力を容易にするインターフェースプラットフォーム102によって生成された別の例示的なグラフィカルユーザインターフェース400を示す。本明細書に記載のシステムおよびインターフェースのそれぞれの実施形態で用いられる同様の要素の繰り返しの説明は、簡潔さのために省略される。
【0043】
インターフェース400は、インターフェース200および300からの類似の要素を含む。インターフェース400は、単に、表示画面についてのインターフェースの様々な要素の配置および位置がインターフェース200および300と異なる。例えば、適応構成要素(例えば、適応構成要素108)は、インターフェース300と対照的に、インターフェース400が提示されるクライアントデバイスの表示画面の向きおよび/または寸法の関数としてインターフェース400を生成することができる。
【0044】
インターフェース400に見られるように、文字カルーセル204は、水平線とは対照的に、垂直線内に配置される。この構成で、カルーセルに対してカーソル212を移動させるために、ユーザは、コントローラの上および下キーを用いることができる。文字の選択の後、インターフェース構成要素(例えば、インターフェース構成要素104)は、選択された文字に基づいて提案された文字を有する、接する二次グラフィカル表示304を生成することができる。ユーザは、コントローラの左および右ボタンを使用して、水平表示304をスクロールすることができる。
【0045】
例えば、インターフェース400に示すように、ユーザは、文字「J」を選択している。文字「J」の選択に応答して、インターフェース構成要素は、選択された文字「J」から垂直に延び、提案された文字「O、A、E、およびI」を含む水平の二次表示メニュー304を生成している。検索ボックスは、さらに、タイプされた文字「J」に基づいて、「Journey to the ends of the earth」という検索語が取り込まれる。加えて、メディアアイテム402、404、406、408、410、および412は、文字カルーセルに隣接して、検索ボックス202の下方に配置され得る。メディアアイテム402〜412は、文字「J」についての検索結果を反映するように更新され得る。一態様では、図示していないが、提案された文字ではなく、二次表示304は、選択された文字「J」に基づいて提案された単語のスクロール可能なリストを含むことができる。
【0046】
図5は、効率的な文字入力を容易にするインターフェースプラットフォーム102によって生成された別の例示的なグラフィカルユーザインターフェース500を示す。本明細書に記載のシステムおよびインターフェースのそれぞれの実施形態で用いられる同様の要素の繰り返しの説明は、簡潔さのために省略される。
【0047】
インターフェース500は、インターフェース200、300、および400からの同じまたは類似の要素を含む。インターフェース500は、文字カルーセルの構成に関してインターフェース200〜400と異なる。具体的には、インターフェース500は、円に配置された複数の文字を有する文字カルーセル502を含む。一態様では、文字カルーセル502は、文字の二次元円配置である。別の態様では、文字カルーセルは、文字の三次元円配置であり得る。一態様では、文字カルーセル502の文字は、一度に複数の文字のうちの単一のものが固定されたフォーカス位置514を通過するように、軸512の周りで時計回りまたは反時計回りに円に関して循環するように構成される。文字を時計回りに循環させるために、ユーザは、コントローラの方向パッド上の左キーを押すことができ、文字を反時計回りに循環させるために、ユーザは、コントローラの方向パッド上の右キーを押すことができる。
【0048】
この態様によれば、カーソル212は、フォーカス位置514に静止することができ、文字のカルーセルの周りで移動しない。しかしながら、インターフェース300と同様に、フォーカス位置514に持ってこられた文字の選択に応答して、インターフェース構成要素は、選択された文字に基づいて提案された文字を有する二次ドロップダウングラフィカル表示304を生成することができる。ユーザは、コントローラの上および下キーを使用して、ドロップダウン表示を操作することができる。例えば、インターフェース500では、ユーザは、文字「A」を選択している。「A」の文字の選択に応答して、「A」の文字は、検索ボックス202内にタイプされ、検索ボックスは、文字「A」に基づいて提案された検索語が取り込まれる。メディアアイテムは、文字カルーセル502の下方に提示され、メディアアイテム504、506、508、および510は、さらに、文字「A」についての検索結果を反映するように更新される。加えて、「A」の文字の選択に応答して、インターフェース構成要素は、「A」の文字に基づいて提案された文字を有するドロップダウングラフィカル表示304を生成する。ユーザは、さらに、カーソル512を文字「L」まで移動している。一態様では、図示していないが、提案された文字ではなく、二次表示304は、選択された文字「A」に基づいて提案された単語のスクロール可能なリストを含むことができる。
【0049】
別の実施形態では、カルーセルの文字の循環ではなく、カーソル512は、一度に単一の文字にフォーカスするために、文字の円の周りで循環することができる。この態様によれば、文字の選択に応答して、インターフェース構成要素は、選択された文字に接して延びる提案された文字の二次グラフィカル入力表示を生成することができる。
【0050】
図6は、効率的な文字入力を容易にするインターフェースプラットフォーム102によって生成された例示的なグラフィカルユーザインターフェース600を示す。本明細書に記載のシステムおよびインターフェースのそれぞれの実施形態で用いられる同様の要素の繰り返しの説明は、簡潔さのために省略される。
【0051】
インターフェース600は、インターフェース500の拡張であり、ユーザは、二次ドロップダウングラフィカル表示304から文字「L」を選択するように、インターフェース500と対話した。インターフェース600に見られるように、「L」の文字の選択に応答して、インターフェース構成要素は、文字カルーセル上の文字「L」がフォーカス位置514に配置されるように、文字カルーセル502の構成/向きを更新する。インターフェース構成要素は、さらに、文字「L」に基づいて提案された文字を有する新たな二次ドロップダウン垂直表示304を生成する。カーソル212は、最初にフォーカス位置514内に静止する。この時点から、ユーザは、文字を、それぞれ、時計回りおよび反時計回りに循環させるために、コントローラの左もしくは右ボタンを押すことができ、ならびに/または、ドロップダウン垂直表示304の提案された文字をスクロールするために、コントローラの上/下ボタンを押すことができる。一態様では、文字を時計回りまたは反時計回りに循環させることを選択することに応答して、二次ドロップダウン垂直表示304は、除去される。
【0052】
加えて、「L」の文字の選択の後、「L」の文字は、検索ボックス202内の「A」の文字の横にタイプされる。検索構成要素は、さらに、組み合わされた「L」が続く文字「A」に基づいて、検索ボックス内の提案された検索語を更新する。(例えば、新しい提案された検索語は、「All I want for Christmas」になっている。)さらに、文字カルーセルの下方に提示されたメディアアイテム(例えば、アイテム602、604、606、および608)は、組み合わされた文字「AL」についての検索結果を反映するように更新される。
【0053】
ここで
図7に目を向けると、効率的な文字入力を容易にするインターフェースプラットフォーム102によって生成されたグラフィカルユーザインターフェース700の例示的なレイアウトが提示されている。本明細書に記載のシステムおよびインターフェースのそれぞれの実施形態で用いられる同様の要素の繰り返しの説明は、簡潔さのために省略される。インターフェース700は、(例えば、検索クエリ語またはフレーズを入力する前に)ストリーミングメディアシステムへの最初の出発点でストリーミングメディアシステムと対話するために用いられるグラフィカルユーザインターフェースの可能なビューを示す。インターフェース700は、水平文字カルーセル204と、検索ボックス202とを含む。カーソル212は、インターフェース200〜300を参照して論じた方法で、文字カルーセルに対して移動され得る。
【0054】
図8は、効率的な文字入力を容易にするインターフェースプラットフォーム102によって生成された例示的なグラフィカルユーザインターフェース800を提示する。本明細書に記載のシステムおよびインターフェースのそれぞれの実施形態で用いられる同様の要素の繰り返しの説明は、簡潔さのために省略される。インターフェース800は、インターフェース700の拡張であり、ユーザは、文字「T」を選択するためにカーソル212を移動させるように、インターフェース700と対話した。
【0055】
インターフェース800に見られるように、文字「T」の選択に応答して、入力構成要素は、文字「T」を検索ボックス202内にタイプさせる。検索構成要素は、さらに、分析構成要素(例えば、分析構成要素110)を使用して、提示された検索語「Taylor Swift」を検索ボックスに取り込む。選択された語「T」は、黒でタイプされ、提示された検索語の残りの文字は、グレーアウトされる。一態様では、提案された検索語を承諾するために、ユーザは、フォーカスを文字カルーセルから検索ボックス202に移るために、上キー、キーの組合せ、または別の所定のキーを押すことができる。フォーカスが検索ボックス202に移された後、ユーザは、提案された検索語に対してクエリを発行するために、入力キーを押すことができる。
【0056】
加えて、文字「T」の選択に応答して、インターフェース構成要素は、文字「T」に関するメディアアイテムの検索結果を表示することができる。例えば、インターフェース構成要素は、文字「T」の下での検索に基づいて、ビデオのサムネイル802を表示することができる。一態様では、ユーザは、フォーカスを検索結果のサムネイル802に変更するために、(下ボタン、または、下ボタンと別のボタンとの組合せのような)コントローラ上の様々なボタンを用いることができる。ユーザは、さらに、コントローラの左および右キーを使用して、サムネイル802をスキャンすることができる。
【0057】
さらに、文字「T」の選択に応答して、インターフェース構成要素は、文字「T」に基づいて提案された文字を有する二次ドロップダウン垂直表示34を生成する。ユーザは、コントローラの上および下キーを使用して、提案された文字をスクロールすることができる。一態様では、ドロップダウン垂直表示304は、ドロップダウン垂直表示が他の特徴(例えば、サムネイル)上にオーバレイされる、オーバレイ機能である。
【0058】
図9は、効率的な文字入力を容易にするインターフェースプラットフォーム102によって生成された例示的なグラフィカルユーザインターフェース900を提示する。本明細書に記載のシステムおよびインターフェースのそれぞれの実施形態で用いられる同様の要素の繰り返しの説明は、簡潔さのために省略される。インターフェース900は、インターフェース800の拡張であり、ユーザは、文字「O」を選択するために、カーソル212をインターフェース800のドロップダウン垂直表示304に移動させるように、インターフェース800と対話した。インターフェース900に見られるように、文字「O」の選択に応答して、文字「O」は、検索ボックス202内の文字「T」の隣にタイプされ、検索構成要素は、組み合わされた「O」が続く文字「T」に基づいて、新しい提案された語「Tom and Jerry」を検索ボックスに取り込む。加えて、インターフェース構成要素は、文字「TO」に基づく検索を反映するビデオ902のサムネイルを提示するように検索結果を更新する。
【0059】
図10は、効率的な文字入力を容易にするインターフェースプラットフォーム102によって生成された例示的なグラフィカルユーザインターフェース1000を提示する。本明細書に記載のシステムおよびインターフェースのそれぞれの実施形態で用いられる同様の要素の繰り返しの説明は、簡潔さのために省略される。インターフェース1000は、インターフェース900の拡張であり、ユーザは、提案された検索語「Tom and Jerry」を承諾するように、インターフェース900と対話した。インターフェース1000に見られるように、検索語「Tom and Jerry」の選択に応答して、インターフェース構成要素は、「Tom and Jerry」という語に基づく検索を反映するビデオ1002のサムネイルを提示するために、検索結果を更新する。
【0060】
本明細書に記載の例示的なシステム/インターフェースの観点から、開示された発明に従って実施され得る例示的な方法は、さらに、
図11〜
図13のフローチャートを参照して理解され得る。説明の単純さの目的のために、本明細書で開示される例示的な方法は、一連の動作として提示され、説明されるが、いくつかの動作が、異なる順序で、および/または、本明細書に示され、記載されるもの以外の動作と同時に生じ得るように、開示される発明は、動作の順序によって限定されないことが理解されるべきである。例えば、本明細書に開示された方法は、代替的に、状態図のような、一連の相関がある状態またはイベントとして表され得る。さらに、相互作用図は、異なるエンティティが方法の異なる部分を規定するとき、開示された発明による方法を表すことができる。さらに、例示されたすべての動作が、本明細書による方法を実施するために必要とされるわけではない可能性がある。本明細書全体を通じて開示された方法は、そのような方法を、プロセッサによって実行するため、または、メモリに記憶するためのコンピュータに搬送および転送することを容易にするために、製造物品に格納することができることが、さらに理解されるべきである。
【0061】
図11は、基本的なコントローラを使用して文字をグラフィカル入力表示に入力するための例示的な方法1100のフローチャートを示す。1102では、カルーセルグラフィカル入力表示が(例えば、インターフェース構成要素104を使用して)生成される。カルーセルグラフィカル入力表示は、円に配置された複数の文字を備え、文字は、円に関して循環してフォーカス位置を通過するように構成される。1104では、文字のうちの1つをフォーカス位置に持ってくるように文字を循環させるコマンドが(例えば、入力構成要素118によって)受信される。
【0062】
図12は、基本的なコントローラを使用してグラフィカル入力表示に文字を入力するための例示的な方法1200の別のフローチャートを示す。1202では、カルーセルグラフィカル入力表示が(例えば、インターフェース構成要素104を使用して)生成される。カルーセルグラフィカル入力表示は、円に配置された複数の文字を備え、文字は、円に関して循環してフォーカス位置を通過するように構成される。1204では、文字のうちの1つをフォーカス位置に持ってくるために文字を循環させるコマンドが(例えば、入力構成要素118を使用して)受信される。1206では、フォーカス位置に持ってこられた第1の文字を選択するコマンドが(例えば、入力構成要素118を使用して)受信される。1208では、ドロップダウングラフィカル入力表示が、第1の文字を選択するコマンドに応答して(例えば、入力構成要素104を使用して)生成される。ドロップダウングラフィカル入力表示は、選択された第1の文字に基づく1つまたは複数の提案された文字を備え、1つまたは複数の提案された文字は、垂直のスクロール可能な形式で配置される。
【0063】
図13は、基本的なコントローラを使用してグラフィカル入力表示に文字を入力するための例示的な方法1300の別のフローチャートを示す。1302では、カルーセルグラフィカル入力表示が(例えば、インターフェース構成要素104を使用して)生成される。カルーセルグラフィカル入力表示は、固定された線内に配置された複数の文字を備え、カーソルは、線に対して文字の上を移動するように構成され、カーソルは、線の第1端または線の第2端のいずれかに到達するのに応答して、線の第1端から線の第2端に移る。1304では、文字のそれぞれにフォーカスするためにカーソルを文字の上で移動させるコマンドが(例えば、入力構成要素118を使用して)受信される。1306では、カーソルによってフォーカスされた第1の文字を選択するコマンドが(例えば、入力構成要素118を使用して)受信される。1308では、第1の文字を選択するコマンドに応答して、ドロップダウングラフィカル入力表示が(例えば、インターフェース構成要素104を使用して)生成される。ドロップダウングラフィカル入力表示は、カルーセルグラフィカル入力表示に垂直のスクロール可能な形式で配置された、選択された第1の文字に基づく1つまたは複数の提案された文字を備える。
【0064】
本開示に記載の様々な実施形態に加えて、他の同様の実施形態が使用され得、または、変更および追加が、対応する実施形態の同じまたは同等の機能をそれらから逸脱することなく実行するために、記載された実施形態に行われ得ることが理解されるべきである。依然としてさらに、複数の処理チップまたは複数のデバイスは、本開示に記載の1つまたは複数の機能の実行を共有することができ、同様に、記憶装置は、複数のデバイスにわたって作用され得る。したがって、本発明は、どのような単一の実施形態にも限定されるべきではなく、むしろ、添付の特許請求の範囲による広さ、要旨、および範囲で解釈され得る。
【0065】
実施形態を動作させる例
以下に説明するシステムおよびプロセスは、単一の集積回路(IC)チップ、複数のIC、特定用途向け集積回路(ASIC)、などのようなハードウェア内で具体化され得る。さらに、プロセスブロックのいくつかまたはすべてが各プロセスに現れる順序は、限定とみなされるべきではない。むしろ、プロセスブロックのいくつかは、様々な順序で実行され得、そのすべてが、本開示に明確に例示され得るわけではないことが理解されるべきである。
【0066】
図14に関連して、特許請求された発明の様々な態様を実施するための適切な環境1400は、コンピュータ1402を含む。コンピュータ1402は、処理ユニット1404と、システムメモリ1406と、コーデック1405と、システムバス1408とを含む。システムバス1408は、限定はしないが、システムメモリ1406を含むシステム構成要素を、処理ユニット1404に結合する。処理ユニット1404は、様々な利用可能なプロセッサのいずれかであり得る。デュアルマイクロプロセッサおよび他のマルチプロセッサアーキテクチャも、処理ユニット1404として用いられ得る。
【0067】
システムバス1408は、メモリバスもしくはメモリコントローラ、周辺バスもしくは外部バス、および/または、限定はしないが、インダストリスタンダードアーキテクチャ(ISA)、マイクロ-チャネルアーキテクチャ(MSA)、拡張ISA(EISA)、インテリジェントドライブエレクトロニクス(IDE)、VESAローカルバス(VLB)、周辺構成要素相互接続(PCI)、カードバス、ユニバーサルシリアルバス(USB)、アドバンスドグラフィックスポート(AGP)、パーソナルコンピュータメモリカード国際協会バス(PCMCIA)、Firewire(登録商標)(IEEE1394)、およびスモールコンピュータシステムインターフェース(SCSI)を含む任意の様々な利用可能なバスアーキテクチャを使用するローカルバスを含む、いくつかのタイプのバスアーキテクチャのいずれかであり得る。
【0068】
システムメモリ1406は、揮発性メモリ1410と、不揮発性メモリ1412とを含む。起動中などにコンピュータ1402内の要素間で情報を転送する基本ルーチンを含む基本入力/出力システム(BIOS)は、不揮発性メモリ1412に記憶される。加えて、本発明によれば、コーデック1405は、エンコーダまたはデコーダの少なくとも一方を含むことができ、エンコーダまたはデコーダの少なくとも一方は、ハードウェア、ハードウェアおよびソフトウェアの組合せ、またはソフトウェアで構成され得る。コーデック1405は、別個の構成要素として示されているが、コーデック1405は、不揮発性メモリ1412内に含まれ得る。例示として、限定ではなく、不揮発性メモリ1412は、読み出し専用メモリ(ROM)、プログラマブルROM(PROM)、電気的プログラマブルROM(EPROM)、電気的消去可能プログラマブルROM(EEPROM)、またはフラッシュメモリを含むことができる。揮発性メモリ1410は、外部キャッシュメモリとして働くランダムアクセスメモリ(RAM)を含む。本態様によれば、揮発性メモリは、書き込み動作再試行ロジック(
図14には示さず)、などを記憶することができる。例示として、限定ではなく、RAMは、スタティックRAM(SRAM)、ダイナミックRAM(DRAM)、シンクロナスDRAM(SDRAM)、ダブルデータレートSDRAM(DDR SDRAM)、および拡張SDRAM(ESDRAM)のような多くの形態で利用可能である。
【0069】
コンピュータ1402は、リムーバブル/非リムーバブルの揮発性/不揮発性コンピュータ記憶媒体を含むこともできる。
図14は、例えば、ディスク記憶装置1414を示す。ディスク記憶装置1414は、限定はしないが、磁気ディスクドライブ、ソリッドステートディスク(SSD)、フロッピー(登録商標)ディスクドライブ、テープドライブ、Jaz(登録商標)ドライブ、Zip(登録商標)ドライブ、LS-70ドライブ、フラッシュメモリカード、またはメモリスティック(登録商標)のようなデバイスを含む。加えて、ディスク記憶装置1414は、記憶媒体を、単独で、または、限定はしないが、コンパクトディスクROMデバイス(CD-ROM)、CD記録可能ドライブ(CD-Rドライブ)、CD書き換え可能ドライブ(CD-RWドライブ)、もしくはデジタル多用途ディスクROMドライブ(DVD-ROM)のような光ディスクドライブを含む他の記憶媒体と組み合わせて含むことができる。システムバス1408へのディスク記憶デバイス1414の接続を容易にするために、インターフェース1416のようなリムーバブルまたは非リムーバブルのインターフェースが、典型的には使用される。
【0070】
図14は、ユーザと、適切な動作環境1400で説明した基本的なコンピュータリソースとの間の媒介として働くソフトウェアを説明することが理解されるべきである。そのようなソフトウェアは、オペレーティングシステム1418を含む。ディスク記憶装置1414に記憶され得るオペレーティングシステム1418は、コンピュータシステム1402のリソースを制御し、割り当てるために働く。アプリケーション1420は、プログラムモジュール1424、および、システムメモリ1406またはディスク記憶装置1414のいずれかに記憶されたブート/シャットダウントランザクションテーブルのようなプログラムデータ1426を介する、オペレーティングシステム1418によるリソースの管理を利用する。特許請求された発明は、様々なオペレーティングシステムまたはオペレーティングシステムの組合せで実施され得ることが理解されるべきである。
【0071】
ユーザは、コマンドまたは情報を、入力デバイス1428を介してコンピュータ1402に入力する。入力デバイス1428は、限定はしないが、マウス、トラックボール、スタイラス、タッチパッド、キーボード、マイクロホン、ジョイスティック、ゲームパッド、サテライトディスク、スキャナ、TVチューナカード、デジタルカメラ、デジタルビデオカメラ、ウェブカメラ、などのようなポインティングデバイスを含む。これらおよび他の入力デバイスは、インターフェースポート1430を介して、システムバス1408を経て処理ユニット1404に接続する。インターフェースポート1430は、例えば、シリアルポート、パラレルポート、ゲームポート、およびユニバーサルシリアルバス(USB)を含む。出力デバイス1436は、入力デバイスとして同じタイプのポートのいくつかを使用する。したがって、例えば、USBポートは、コンピュータ1402への入力を提供するため、および、コンピュータ1402から出力デバイス1436に情報を出力するために使用され得る。出力アダプタ1434は、特別なアダプタを必要とする他の出力デバイス1436の中でも、モニタ、スピーカ、およびプリンタのようないくつかの出力デバイス1436が存在することを示すために提供される。出力アダプタ1434は、例示として、限定ではなく、出力デバイス1436とシステムバス1408との間の接続の手段を提供するビデオおよびサウンドカードを含む。他のデバイスおよび/またはデバイスのシステムは、リモートコンピュータ1438のような入力と出力の両方の機能を提供することに留意すべきである。
【0072】
コンピュータ1402は、リモートコンピュータ1438のような1つまたは複数のリモートコンピュータへの論理接続を使用して、ネットワーク環境で動作することができる。リモートコンピュータ1438は、パーソナルコンピュータ、サーバ、ルータ、ネットワークPC、ワークステーション、マイクロプロセッサベースの機器、ピアデバイス、スマートフォン、タブレット、または他のネットワークノードであり得、典型的には、コンピュータ1402に関連して説明した要素の多くを含む。簡潔さの目的のために、メモリ記憶デバイス1440のみが、リモートコンピュータ1438と共に示されている。リモートコンピュータ1438は、ネットワークインターフェース1442を介して、次いで、通信接続1444を介してコンピュータ1402に論理的に接続される。ネットワークインターフェース1442は、ローカルエリアネットワーク(LAN)およびワイドエリアネットワーク(WAN)、ならびにセルラーネットワークのような、有線および/または無線通信ネットワークを包含する。LAN技術は、ファイバ分散データインターフェース(FDDI:Fiber Distributed Data Interface)、銅線分散データインターフェース(CDDI:Copper Distributed Data Interface)、イーサネット(登録商標)、トークンリングなどを含む。WAN技術は、限定はしないが、ポイントツーポイントリンク、統合サービスデジタル網(ISDN:Integrated Services Digital Network)およびその変形のような回線交換、パケット交換ネットワーク、ならびに、デジタル加入者線(DSL)を含む。
【0073】
通信接続1444は、ネットワークインターフェース1442をバス1408に接続するために用いられるハードウェア/ソフトウェアを指す。通信接続1444は、例示の明確さのために、コンピュータ1402の内部に示されているが、それは、コンピュータ1402の外部にあってもよい。ネットワークインターフェース1442への接続のために必要なハードウェア/ソフトウェアは、例示的な目的のみのために、標準の電話グレードのモデム、ケーブルモデム、およびDSLモデム、ISDNアダプタ、ならびに、有線および無線のイーサネット(登録商標)カード、ハブ、およびルータのような、内部および外部の技術を含む。
【0074】
ここで
図15を参照すると、本開示によるコンピューティング環境1500の概略ブロック図が示されている。システム1500は、1つまたは複数のクライアント1502(例えば、ラップトップ、スマートフォン、PDA、メディアプレーヤ、コンピュータ、携帯電子デバイス、タブレット、など)を含む。クライアント1502は、ハードウェアおよび/またはソフトウェア(例えば、スレッド、プロセス、コンピューティングデバイス)であり得る。システム1500は、1つまたは複数のサーバ1504も含む。サーバ1504は、ハードウェア、またはソフトウェアと組み合わせたハードウェア(例えば、スレッド、プロセス、コンピューティングデバイス)でもあり得る。サーバ1504は、例えば、本開示の態様を実施することによって変換を実行するスレッドを収容することができる。クライアント1502とサーバ1504との間の1つの可能な通信は、2つ以上のコンピュータプロセスの間で伝送されるデータパケットの形態であり得、データパケットは、ビデオデータを含むことができる。データパケットは、例えば、コンテキスト情報に関連付けられた、例えば、メタデータを含むことができる。システム1500は、クライアント1502とサーバ1504との間の通信を容易にするために用いられ得る通信フレームワーク1506(例えば、インターネットのようなグローバル通信ネットワーク、またはモバイルネットワーク)を含む。
【0075】
通信は、有線(光ファイバを含む)および/または無線技術によって容易にされ得る。クライアント1502は、クライアント1502にローカルな情報(例えば、関連するコンテキスト情報)を記憶するために用いられ得る1つまたは複数のクライアントデータ記憶装置1508を含むか、それに動作可能に接続される。同様に、サーバ1504は、サーバ1504にローカルな情報を記憶するために用いられ得る1つまたは複数のサーバデータ記憶装置1510を動作可能に含み、またはそれに動作可能に接続される。
【0076】
一実施形態では、クライアント1502は、開示された発明に従って、符号化されたファイルをサーバ1504に転送することができる。サーバ1504は、ファイルを記憶することができ、ファイルを復号することができ、ファイルを別のクライアント1502に送信することができる。クライアント1502は、非圧縮ファイルをサーバ1504に転送することもでき、サーバ1504は、開示された発明に従ってファイルを圧縮することができることが理解されるべきである。同様に、サーバ1504は、ビデオ情報を符号化することができ、通信フレームワーク1506を介して1つまたは複数のクライアント1502に情報を送信することができる。
【0077】
本開示の例示された態様は、また、特定のタスクが通信ネットワークを介してリンクされたリモート処理デバイスによって実行される分散コンピューティング環境で実施され得る。分散コンピューティング環境では、プログラムモジュールは、ローカル記憶デバイスとリモート記憶デバイスの両方に配置され得る。
【0078】
さらに、本明細書に記載の様々な構成要素は、本発明の実施形態を実施するために、適切な値の構成要素および回路網要素を含むことができる電気回路を含むことができることが理解されるべきである。さらに、様々な構成要素の多くは、1つまたは複数の集積回路(IC)チップ上に実装され得ることが理解されるべきである。例えば、一実施形態では、構成要素のセットは、単一のICチップ内に実装され得る。他の実施形態では、1つまたは複数のそれぞれの構成要素は、別々のICチップ上に作製または実装される。
【0079】
上記で説明したものは、本発明の実施形態の例を含む。もちろん、特許請求された手段を説明する目的のために構成要素または方法論のすべての考えられる組合せを説明することは、不可能であるが、本発明の多くの他の組合せおよび置換が可能であることが理解されるべきである。したがって、特許請求された発明は、添付の特許請求の範囲の要旨および範囲内に入るすべてのそのような変更、修正、および変形を包含することが意図されている。さらに、要約書に記載のものを含む本開示の例示した実施形態の上記の説明は、網羅的であること、または、開示された実施形態を開示された正確な形態に限定することを意図されていない。特定の実施形態および例が、例示の目的のために本開示で説明されているが、当業者が認識することができるように、そのような実施形態および例の範囲内であると考えられる様々な修正が可能である。
【0080】
特に、上記で説明した構成要素、デバイス、回路、システム、などによって実行される様々な機能に関して、そのような構成要素を説明するために使用した用語は、特に断りのない限り、特許請求された発明の本開示が例示した例示的な態様での機能を実行する開示された構造と構造的に等価ではないにもかかわらず、説明した構成要素の特定の機能を実行する任意の構成要素(例えば、機能的等価物)に対応することが意図されている。この点で、発明は、特許請求された発明の様々な方法の動作および/またはイベントを実行するためのコンピュータ実行可能命令を有するシステムならびにコンピュータ可読記憶媒体を含むことも認識されるであろう。
【0081】
前述のシステム/回路/モジュールは、いくつかの構成要素/ブロックの間の相互作用に関して説明されている。そのようなシステム/回路および構成要素/ブロックは、これらの構成要素もしくは指定されたサブ構成要素、指定された構成要素もしくはサブ構成要素のいくつか、および/または、追加の構成要素を、上記の様々な順列および組合せに従って含むことができることが認識され得る。サブ構成要素は、また、(階層的な)親構成要素内に含まれるのではなく、他の構成要素に通信可能に結合された構成要素として実現され得る。加えて、1つまたは複数の構成要素は、集合的な機能性を提供する単一の構成要素に結合され得、または、いくつかの別個のサブ構成要素に分割され得、管理層のような任意の1つまたは複数の中間層が、統合された機能性を提供するために、そのようなサブ構成要素に通信可能に結合するように設けられ得ることに留意すべきである。本開示に記載の任意の構成要素は、本開示に具体的に記載されていないが、当業者によって知られている1つまたは複数の他の構成要素と相互作用することもできる。
【0082】
加えて、本発明の特定の特徴が、いくつかの実施態様のうちの1つのみに関して開示されている場合があるが、そのような特徴は、任意の所与のまたは特定の用途のために望まれ、有利であり得る他の実施態様の1つまたは複数の他の特徴と組み合わされ得る。さらに、「含む」、「含んでいる」、「有する」、「含む」という用語、それらの変形、および、他の同様の単語が、詳細な説明または特許請求の範囲のいずれかで使用される限り、これらの用語は、どのような追加または他の要素も排除することなく、開いた移行語(open transition word)として、「備える」という用語と同様に包括的であることが意図される。
【0083】
本出願で使用されるとき、「構成要素」、「モジュール」、「システム」、などの用語は、一般に、ハードウェア(例えば、回路)、ソフトウェアおよびハードウェアの組合せ、ソフトウェア、または、1つもしくは複数の特定の機能性を有する動作可能な機械のいずれかの、コンピュータ関連のエンティティを指すことが意図されている。例えば、構成要素は、限定はしないが、プロセッサ(例えば、デジタル信号プロセッサ)上で動作するプロセス、プロセッサ、オブジェクト、実行可能ファイル、実行スレッド、プログラム、および/またはコンピュータであり得る。例示として、コントローラ上で動作するアプリケーションと、コントローラの両方は、構成要素であり得る。1つまたは複数の構成要素は、プロセスおよび/または実行スレッド内に存在することができ、構成要素は、1つのコンピュータ上に局在され得、および/または、2つ以上のコンピュータ間に分散され得る。さらに、「デバイス」は、特別に設計されたハードウェアの形態、ハードウェアが特定の機能を実行することを可能にするソフトウェアの実行によって専門化された汎用ハードウェア、コンピュータ可読記憶媒体に記憶されたソフトウェア、コンピュータ可読伝送媒体上で送信されるソフトウェア、または、それらの組合せになることができる。
【0084】
さらに、「例」または「例示的」という用語は、本開示では、例、事例、または例示として役立つことを意味するために使用される。「例示的」として本開示に記載された任意の態様または設計は、必ずしも他の態様または設計よりも好ましいまたは有利であるとして解釈されるべきではない。むしろ、「例」または「例示的」という単語の使用は、概念を具体的に提示することが意図される。本出願で使用されるとき、「または」という用語は、排他的な「または」ではなく、包含的な「または」を意味することが意図される。すなわち、特に断りのない限り、または文脈から明らかでない限り、「Xは、AまたはBを用いる」は、自然な包含的な置換のいずれかを意味することが意図される。すなわち、XがAを用いる場合、XがBを用いる場合、またはXがAとBの両方を用いる場合、「Xは、AまたはBを用いる」は、前述の例のいずれかの下で満たされる。加えて、本出願および添付の特許請求の範囲で使用される「a」および「an」という冠詞は、特に断りのない限り、または、単数形に向けられていることが文脈から明らかでない限り、「1つまたは複数の」を意味するように一般的に解釈されるべきである。
【0085】
コンピューティングデバイスは、典型的には、コンピュータ可読記憶媒体および/または通信媒体を含むことができる様々な媒体を含み、これらの2つの用語は、本明細書では、以下のように互いに異なって使用される。コンピュータ可読記憶媒体は、コンピュータによってアクセスされ得、典型的には、非一時的な性質のものであり、揮発性と不揮発性の媒体の両方、取り外し可能な媒体と取り外し可能でない媒体の両方を含むことができる、任意の利用可能な記憶媒体であり得る。例として、限定ではなく、コンピュータ可読記憶媒体は、コンピュータ可読命令、プログラムモジュール、構造化データ、または非構造化データのような情報の記憶のための任意の方法または技術に関連して実現され得る。コンピュータ可読記憶媒体は、限定はしないが、RAM、ROM、EEPROM、フラッシュメモリもしくは他のメモリ技術、CD-ROM、デジタル多用途ディスク(DVD)、もしくは他の光ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置、もしくは他の磁気記憶デバイス、または、所望の情報を記憶するために使用され得る他の有形のおよび/もしくは非一時的な媒体を含むことができる。コンピュータ可読記憶媒体は、媒体に記憶された情報に関して様々な動作のために、例えば、アクセス要求、クエリ、または他のデータ検索プロトコルによって、1つまたは複数のローカルまたはリモートのコンピューティングデバイスによってアクセスされ得る。
【0086】
他方では、通信媒体は、典型的には、コンピュータ可読命令、データ構造、プログラムモジュール、または、他の構造化もしくは非構造化データを、変調データ信号、例えば、搬送波または他の移送機構のような一時的であり得るデータ信号で具体化し、任意の情報送達または移送媒体を含む。「変調データ信号」という用語は、1つまたは複数の信号中に情報を符号化するように設定または変更される1つまたは複数のその特性を有する信号を指す。例として、限定ではなく、通信媒体は、有線ネットワークまたは直接有線接続のような有線媒体と、音響、RF、赤外線、および他の無線媒体のような無線媒体とを含む。
【0087】
上記で説明した例示的なシステムに鑑みて、説明した発明によって実施され得る方法論は、様々な図のフローチャートを参照してよりよく理解されるであろう。説明の簡単さのために、方法論は、一連の動作として図示され、説明される。しかしながら、本開示による動作は、様々な順序で、および/または同時に、ならびに、本開示に提示および説明されていない他の動作と共に生じることができる。さらに、すべての例示された動作が、本開示の特定の態様による方法論を実施するために必要というわけではない場合がある。加えて、当業者は、方法論が、状態図またはイベントによって、一連の相互に関係のある状態として代替的に表され得ることを理解し、認識するであろう。加えて、本開示に開示された方法論は、そのような方法論をコンピューティングデバイスに移送および転送することを容易にするために、製造品に記憶され得ることが理解されるべきである。本開示で使用され製造品という用語は、任意のコンピュータ可読デバイスまたは記憶媒体からアクセス可能なコンピュータプログラムを包含することが意図される。