(57)【特許請求の範囲】
【請求項１】
注釈付きビデオコンテンツを表示するための方法であって、
ビデオの表示中に、前記ビデオの1つまたは複数のフレーム上に重畳される、第1の注釈のための第1の位置識別子を受信するステップであって、
前記第1の位置識別子は、前記第1の注釈が重畳される前記フレーム内の前記第1の注釈の第1の位置を定義し、
前記第1の位置は、第1のコンピューティングデバイスの第1のディスプレイ上の表示のために指定される、ステップと、
前記ビデオを、モバイルコンピューティングデバイスの第2のディスプレイ上に表示するステップであって、
前記第2のディスプレイは、前記第1のディスプレイより小さく、
前記第1の位置での前記第2のディスプレイ上の前記第1の注釈の表示は、前記第1の注釈が、前記第2のディスプレイ内で前記モバイルコンピューティングデバイスのユーザにより、読み取られることを防ぐ、ステップと、
前記モバイルコンピューティングデバイスの処理デバイスによって、前記第1の注釈を変更するステップであって、
前記第1の注釈を変更するステップは、前記第1の注釈を前記第2のディスプレイ内でユーザにより読み取り可能にするために、前記第2のディスプレイの画面サイズを考慮して、前記第1のディスプレイのための前記ビデオの前記フレームでの前記第1の位置から、前記第2のディスプレイのための前記ビデオの前記フレームでの第2の位置に、前記第1の注釈を再配置するステップを含み、
前記ビデオの前記フレームでの前記第2の位置は、前記ビデオの前記フレームでの前記第1の位置とは異なる、ステップと、
前記第2のディスプレイ上に前記ビデオの表示中に、前記第2の位置で、前記フレーム上に重畳された第1の注釈を表示するステップと、
を含む、方法。
【請求項２】
前記第1の注釈は、第1のサイズを有し、
前記第1のサイズは、前記第1のディスプレイ上の表示のために指定され、
前記第1のサイズでの前記第2のディスプレイ上の前記第1の注釈の表示は、前記第1の注釈が、前記第2のディスプレイ内で前記ユーザにより、読み取られることを防ぎ、
前記第1の注釈を変更するステップは、
前記第1の注釈を前記第2のディスプレイ内で前記ユーザにより読み取り可能にするために、前記画面サイズを考慮して、前記第1のディスプレイのための前記ビデオの前記フレームでの第1のサイズから、前記第2のディスプレイのための前記ビデオの前記フレームでの第2のサイズに、前記第1の注釈のサイズを変更するステップを含み、
前記ビデオの前記フレームでの前記第2のサイズは、前記ビデオの前記フレームでの前記第1のサイズとは異なり、
前記第1の注釈を表示するステップが、前記第2のディスプレイ上に前記ビデオの表示中に、前記第2のサイズで、前記フレーム上に重畳された前記第1の注釈を表示するステップを含む、請求項1に記載の方法。
【請求項３】
前記第1の注釈のサイズを変更するステップが、前記第1の注釈でのメッセージのフォントのサイズを変更するステップを含む、請求項2に記載の方法。
【請求項４】
前記フォントのサイズを変更するステップが、前記画面サイズ用の最小フォントサイズに基づく、請求項3に記載の方法。
【請求項５】
前記第1の注釈のサイズを変更するステップが、前記第1の注釈の1つまたは複数の視覚要素のサイズを変更するステップを含み、
前記視覚要素のサイズを変更するステップが、前記画面サイズ用の最小視覚要素サイズに基づく、請求項2に記載の方法。
【請求項６】
前記第1のサイズでの前記第2のディスプレイ上の前記第1の注釈の表示は、前記第1の注釈が、前記第2のディスプレイのタッチ画面内で前記ユーザにより、選択されることを防ぎ、
前記第1の注釈のサイズを変更することは、さらに、前記第1の注釈を前記タッチ画面内で前記ユーザにより選択可能にするように行われる、請求項2に記載の方法。
【請求項７】
前記ビデオの表示中に、前記ビデオの前記フレームの少なくとも1つのフレーム上に重畳される第2の注釈のための第3の位置識別子を受信するステップであって、
前記第3の位置識別子は、前記第1の注釈が重畳される前記フレーム内で、前記第2の注釈の第3の位置を定義し、
前記第3の位置は、前記第1のディスプレイ上の表示のために指定され、
前記第2のディスプレイ上の前記フレームでの前記第1の位置での前記第1の注釈の表示は、前記第2のディスプレイ上の前記フレームでの前記第3の位置での前記第2の注釈の表示との視覚的交差を生じさせる、ステップと、
前記第2の注釈を変更するステップであって、
前記第2の注釈を変更するステップは、前記第1の注釈と前記第2の注釈との間の前記視覚的交差を防ぐために、前記画面サイズを考慮して、前記第1のディスプレイのための前記ビデオの前記フレームでの前記第3の位置から、前記第2のディスプレイのための前記ビデオの前記フレームでの第4の位置に、前記第2の注釈を再配置するステップを含み、
前記ビデオの前記フレームでの前記第4の位置は、前記ビデオの前記フレームでの前記第3の位置とは異なる、ステップと、
前記第2のディスプレイ上に前記ビデオの表示中に、前記第4の位置で、前記フレーム上に重畳された前記第2の注釈を表示するステップと
をさらに含む、請求項1に記載の方法。
【請求項８】
ユーザインタフェースコマンドを受信するステップであって、前記第1の注釈と前記第2の注釈とを再配置することは、前記ユーザインタフェースコマンドの受信に応答して行われる、ステップをさらに含む、請求項7に記載の方法。
【請求項９】
前記注釈が、
タイトル、吹き出し、メモ、ラベル、スポットライト、またはビデオサムネイルのうちの、少なくとも一つによって表示される、請求項１に記載の方法。
【請求項１０】
前記第2のディスプレイ上の前記フレームでの前記第1の位置での前記第1の注釈の表示は、前記第2のディスプレイ上の前記フレームでの前記第3の位置での前記第2の注釈の表示と空間的に近く、
前記第1の注釈と前記第2の注釈とを再配置することは、さらに、前記第1の注釈が前記第2の注釈と空間的に近いことによって生じる誤った選択を防ぐように行われる、請求項7に記載の方法。
【請求項１１】
前記第1の位置での前記第2のディスプレイ上の前記第1の注釈の表示は、前記第1の注釈が、前記第2のディスプレイのタッチ画面内で前記ユーザにより、選択されることを防ぎ、
前記第1の注釈を再配置することは、さらに、前記第1の注釈を前記タッチ画面内で前記ユーザにより選択可能にするように行われる、請求項1に記載の方法。
【請求項１２】
注釈付きビデオコンテンツの表示のためのモバイルコンピューティングデバイスであって、前記モバイルコンピューティングデバイスは、
第2のディスプレイと、
前記第2のディスプレイと通信するプロセッサと、
を含み、前記プロセッサは、
ビデオの表示中に、前記ビデオの1つまたは複数のフレーム上に重畳される、第1の注釈のための第1の位置識別子を受信するステップであって、
前記第1の位置識別子は、前記第1の注釈が重畳される前記フレーム内の前記第1の注釈の第1の位置を定義し、
前記第1の位置は、第1のコンピューティングデバイスの第1のディスプレイ上の表示のために指定される、ステップと、
前記ビデオを、前記モバイルコンピューティングデバイスの前記第2のディスプレイ上に表示するステップであって、
前記第2のディスプレイは、前記第1のディスプレイより小さく、
前記第1の位置での前記第2のディスプレイ上の前記第1の注釈の表示は、前記第1の注釈が、前記第2のディスプレイのタッチ画面内で前記モバイルコンピューティングデバイスのユーザにより、選択可能であることを防ぐ、ステップと、
前記第1の注釈を変更するステップであって、
前記第1の注釈を変更するステップは、前記第1の注釈を前記タッチ画面内でユーザにより選択可能にするために、前記第2のディスプレイの画面サイズを考慮して、前記第1のディスプレイのための前記ビデオの前記フレームでの前記第1の位置から、前記第2のディスプレイのための前記ビデオの前記フレームでの第2の位置に、前記第1の注釈を再配置するステップを含み、
前記ビデオの前記フレームでの前記第2の位置は、前記ビデオの前記フレームでの前記第1の位置とは異なる、ステップと、
前記第2のディスプレイ上に前記ビデオの表示中に、前記第2の位置で、前記フレーム上に重畳された第1の注釈を表示するステップと
を実行するように構成された、
モバイルコンピューティングデバイス。
【請求項１３】
前記第1の注釈は、第1のサイズを有し、
前記第1のサイズは、前記第1のディスプレイ上の表示のために指定され、
前記第1のサイズでの前記第2のディスプレイ上の前記第1の注釈の表示は、前記第1の注釈が、前記第2のディスプレイ内で前記ユーザにより、読み取られること、又は、前記タッチ画面内で前記ユーザにより、選択されることを防ぎ、
前記第1の注釈を変更するために、前記プロセッサは、さらに、
前記第1の注釈を前記第2のディスプレイ内で前記ユーザにより読み取り可能にし、かつ、前記タッチ画面内で前記ユーザにより、選択可能にするために、前記画面サイズを考慮して、前記第1のディスプレイのための前記ビデオの前記フレームでの第1のサイズから、前記第2のディスプレイのための前記ビデオの前記フレームでの第2のサイズに、前記第1の注釈のサイズを変更するステップを実行するように構成され、
前記ビデオの前記フレームでの前記第2のサイズは、前記ビデオの前記フレームでの前記第1のサイズとは異なり、
前記プロセッサは、さらに、前記第2のディスプレイ上に前記ビデオの表示中に、前記第2のサイズで、前記フレーム上に重畳された前記第1の注釈を表示するステップを実行するように構成される、請求項12に記載のモバイルコンピューティングデバイス。
【請求項１４】
前記第1の注釈のサイズを変更するために、前記プロセッサは、さらに、前記第1の注釈でのメッセージのフォントのサイズを変更するステップを実行するように構成される、請求項13に記載のモバイルコンピューティングデバイス。
【請求項１５】
前記プロセッサは、さらに、前記画面サイズ用の最小フォントサイズに基づいて、前記フォントのサイズを変更するステップを実行するように構成される、請求項14に記載のモバイルコンピューティングデバイス。
【請求項１６】
前記第1の注釈のサイズを変更するために、前記プロセッサは、さらに、前記第1の注釈の1つまたは複数の視覚要素のサイズを変更するステップを実行するように構成され、
前記プロセッサは、さらに、前記画面サイズ用の最小視覚要素サイズに基づいて、前記視覚要素のサイズを変更するステップを実行するように構成される、請求項13に記載のモバイルコンピューティングデバイス。
【請求項１７】
前記プロセッサは、さらに、
前記ビデオの表示中に、前記ビデオの前記フレームの少なくとも1つのフレーム上に重畳される第2の注釈のための第3の位置識別子を受信するステップであって、
前記第3の位置識別子は、前記第1の注釈が重畳される前記フレーム内で、前記第2の注釈の第3の位置を定義し、
前記第3の位置は、前記第1のディスプレイ上の表示のために指定され、
前記第2のディスプレイ上の前記フレームでの前記第1の位置での前記第1の注釈の表示は、前記第2のディスプレイ上の前記フレームでの前記第3の位置での前記第2の注釈の表示との視覚的交差を生じさせるか、又は、その表示と空間的に近い、ステップと、
前記第2の注釈を変更するステップであって、
前記第2の注釈を変更するステップは、前記第1の注釈と前記第2の注釈との間の前記視覚的交差を防ぎ、かつ、前記第1の注釈が前記第2の注釈と空間的に近いことによって生じる誤った選択を防ぐために、前記画面サイズを考慮して、前記第1のディスプレイのための前記ビデオの前記フレームでの前記第3の位置から、前記第2のディスプレイのための前記ビデオの前記フレームでの第4の位置に、前記第2の注釈を再配置するステップを含み、
前記ビデオの前記フレームでの前記第4の位置は、前記ビデオの前記フレームでの前記第3の位置とは異なる、ステップと、
前記第2のディスプレイ上に前記ビデオの表示中に、前記第4の位置で、前記フレーム上に重畳された前記第2の注釈を表示するステップと
を実行するように構成される、請求項12に記載のモバイルコンピューティングデバイス。
【請求項１８】
前記プロセッサは、さらに、ユーザインタフェースコマンドを受信するステップを実行するように構成され、
前記プロセッサは、さらに、前記ユーザインタフェースコマンドの受信に応答して、前記第1の注釈と前記第2の注釈とを再配置するステップを実行するように構成される、請求項17に記載のモバイルコンピューティングデバイス。
【請求項１９】
前記第1の位置での前記第2のディスプレイ上の前記第1の注釈の表示は、前記第1の注釈が、前記第2のディスプレイ内で前記ユーザにより、読み取られることを防ぎ、
前記第1の注釈を再配置するために、前記プロセッサは、さらに、前記第1の注釈を前記第2のディスプレイ内で前記ユーザにより、読み取り可能にするように構成される、請求項12に記載のモバイルコンピューティングデバイス。
【請求項２０】
処理デバイスによって実行されるとき、前記処理デバイスに、
ビデオの表示中に、前記ビデオの1つまたは複数のフレーム上に重畳される、第1の注釈を受信するステップであって、
前記第1の注釈は、第1のサイズを有し、
前記第1のサイズは、第1のコンピューティングデバイスの第1のディスプレイ上の表示のために指定される、ステップと、
前記ビデオを、モバイルコンピューティングデバイスの第2のディスプレイ上に表示するステップであって、
前記第2のディスプレイは、前記第1のディスプレイより小さく、
前記第1のサイズでの前記第2のディスプレイ上の前記第1の注釈の表示は、前記第1の注釈が、前記第2のディスプレイ内で前記モバイルコンピューティングデバイスのユーザにより、読み取られることを防ぐか、又は、前記第2のディスプレイのタッチ画面内で前記ユーザにより選択されることを防ぐ、ステップと、
前記モバイルコンピューティングデバイスの前記処理デバイスによって、前記第1の注釈を変更するステップであって、
前記第1の注釈を変更するステップは、前記第1の注釈を前記第2のディスプレイ内でユーザにより読み取り可能し、かつ、前記タッチ画面内で前記ユーザにより選択可能にするために、前記第2のディスプレイの画面サイズを考慮して、前記第1のディスプレイのための前記ビデオの前記フレームでの前記第1のサイズから、前記第2のディスプレイのための前記ビデオの前記フレームでの第2のサイズに、前記第1の注釈のサイズを変更するステップを含み、
前記ビデオの前記フレームでの前記第2のサイズは、前記ビデオの前記フレームでの前記第1のサイズとは異なる、ステップと、
前記第2のディスプレイ上に前記ビデオの表示中に、前記第2のサイズで、前記フレーム上に重畳された第1の注釈を表示するステップと、
を実行させる、実行可能な命令を含む、コンピュータ可読持続性ストレージメディア。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般にコンピュータシステムに関連し、より具体的には、コンピューティングデバイスによって、注釈付きビデオコンテンツを表示するためのシステムおよび方法に関する。
【背景技術】
【０００２】
コンテンツ共有プラットフォームは、ビデオコンテンツ、画像コンテンツ、及び／又はオーディオコンテンツのような、共有コンテンツの閲覧を可能にする。特定の実施例において、共有コンテンツは、ストリーミングメディアによって表示されてもよい。ストリーミングメディアは、ネットワーク（例えば、インターネット）を上でストリーミングプロバイダによって配信される間、エンドユーザによって受信されかつエンドユーザに表示され得る、ビデオ及び／又はオーディオコンテンツのような、マルチメディアである。さらに、いくつかのコンテンツ共有プラットフォームは、事前に記録されたメディアコンテンツのストリーミングだけでなく、メディアのライブストリーミングを提供する。
【発明の概要】
【課題を解決するための手段】
【０００３】
コンピューティングデバイスによって注釈付きビデオコンテンツを表示するための方法が提供される。モバイルコンピューティングデバイスは、複数のビデオフレームおよび複数のビデオフレームのフレーム上に重畳されたビデオ注釈を含むビデオストリームを表示してもよい。モバイルコンピューティングデバイスは、モバイルコンピューティングデバイスのユーザ入力インタフェースを介して、ユーザインタフェースコマンドを受信してもよい。モバイルコンピューティングデバイスは、ユーザインタフェースコマンドによって定義された、ビデオ注釈に関する動作を実行してもよい。
【０００４】
さらに、上記説明された方法の操作を実行するためのコンピューティングデバイス、および上記説明された方法の操作をコンピューティングデバイスに実行させるための命令を格納する、コンピュータ可読記憶媒体も提供される。
【０００５】
本開示は、例によって図示されており、限定するものではないが、図面に関連して考慮される以下の詳細な説明を参照して、より完全に理解されるであろう。
【図面の簡単な説明】
【０００６】
【図１】本開示の一つ以上の態様に従って動作するモバイルコンピューティングデバイスの、1つの具体例のブロック図である。
【図２ａ】本開示の一つ以上の態様に従って動作するモバイルコンピューティングデバイスによって認識可能な、いくつかのユーザ入力ジェスチャタイプを示す図である。
【図２ｂ】本開示の一つ以上の態様に従って動作するモバイルコンピューティングデバイスによって認識可能な、いくつかのユーザ入力ジェスチャタイプを示す図である。
【図２ｃ】本開示の一つ以上の態様に従って動作するモバイルコンピューティングデバイスによって認識可能な、いくつかのユーザ入力ジェスチャタイプを示す図である。
【図２ｄ】本開示の一つ以上の態様に従って動作するモバイルコンピューティングデバイスによって認識可能な、いくつかのユーザ入力ジェスチャタイプを示す図である。
【図２ｅ】本開示の一つ以上の態様に従って動作するモバイルコンピューティングデバイスによって認識可能な、いくつかのユーザ入力ジェスチャタイプを示す図である。
【図２ｆ】本開示の一つ以上の態様に従って動作するモバイルコンピューティングデバイスによって認識可能な、いくつかのユーザ入力ジェスチャタイプを示す図である。
【図３】本開示の一つ以上の態様に従って動作するモバイルコンピューティングデバイスによって表示可能なビデオストリームの構造例を示す図である。
【図４】本開示の一つ以上の態様に従った、ビデオストリーミングサーバ、ビデオ注釈サーバ、及び複数のビデオストリーミングクライアントを含むネットワークの、ネットワークレベルの略図を示す図である。
【図５】本開示の一つ以上の態様に従って動作するモバイルコンピューティングデバイスによって表示可能なビデオ注釈の構造例を示す図である。
【図６】本開示の一つ以上の態様に従った、ビデオ注釈のいくつかのタイプの画面表示を示す図である。
【図７】本開示の一つ以上の態様に従った、ビデオ注釈を作成するためのビデオフレーム編集画面の図である。
【図８】本開示の一つ以上の態様に従ったモバイルコンピューティングデバイスによって注釈付きビデオコンテンツを表示するための方法の一例のフローチャート図である。
【図９】本開示の一つ以上の態様に従って動作するコンピュータシステムを示すブロック図である。
【発明を実施するための形態】
【０００７】
以下に説明されるのは、モバイルコンピューティングデバイスによって注釈付きビデオコンテンツを表示するための方法およびシステムである。ここで、「モバイルコンピューティングデバイス」は、プロセッサ、メモリ、および少なくとも一つの通信インタフェースを有する携帯デバイスを参照するものとする。モバイルコンピューティングデバイスの例は、スマートフォン、タブレットコンピュータ、およびノートブックコンピュータを含むが、これに限定しない。
【０００８】
モバイルコンピューティングデバイスは、ストリーミングサーバからネットワークを通じてダウンロードされ得るビデオストリームを表示するためのビデオプレイヤーアプリを実行してもよい。ビデオストリーミング機能は、エンタテイメント、教育、および、他のアプリケーションで採用されてもよい。特定の実装において、本明細書に記載のモバイルコンピューティングデバイスは、ビデオ注釈を含むビデオストリームを表示することが可能であってもよい。ここで、「ビデオ注釈」は、ビデオストリームの複数のフレーム上に重畳され、並びに、ユーザに情報を伝えること、及び／又は一つ以上のユーザインタフェースコマンドを発行するようにユーザに促すことを目的とする、一つ以上の視覚要素を参照するものとする。ビデオ注釈は、例えば、表示されているビデオコンテンツに関する追加の情報を提供し、表示されたコンテンツを選択するユーザ入力（例えば、いくつかの可能な視聴経路のうちの一つを選択するか、または現在表示されているビデオストリームの断片を選択する）を受け付け、関連するコンテンツアイテムへのリンクを提供し、及び／又はモバイルコンピューティングデバイスによって実行可能な、関連したアプリケーションに対するリンクを提供するために使用されてもよい。
【０００９】
例えば、デスクトップコンピュータと比較して、モバイルコンピューティングデバイス（例えば、携帯電話、タブレットコンピュータ、またはスマートフォン）は、より小さいサイズ及び／又は解像度の画面を有する可能性があり、従って、いくつかの従来のユーザインタフェースコマンドを実装することは困難である。それに対して、モバイルコンピューティングデバイスは、ユーザコマンドの入力に使用され得る、例えば、タッチスクリーン、ビデオまたは静止画像カメラ、マイクロフォン、及び／又はアクセレロメータを含む、幅広い種類のユーザインタフェースデバイスを提供することによって、エンドユーザエクスペリエンスを拡張し得る。従って、特定の実装において、ビデオ注釈を含むビデオストリームの再生に使用されるモバイルコンピューティングデバイスは、モバイルコンピューティングデバイスのユーザインタフェース機能を考慮して、ビデオ注釈を変更してもよい。一例において、モバイルコンピューティングデバイスは、モバイルコンピューティングデバイスの画面に合うように、サイズを変更することによってビデオ注釈を変更してもよい。他の例において、モバイルコンピューティングデバイスは、モバイルコンピューティングデバイスの画面サイズを考慮して、表示位置を変更することによってビデオ注釈を変更してもよい。さらに他の例において、モバイルコンピューティングデバイスは、ビデオ注釈要素の視覚が交差することを防ぐために、モバイルコンピューティングデバイスの画面上に２つ以上のビデオ注釈を再配置してもよい。
【００１０】
他の態様において、モバイルコンピューティングデバイスは、モバイルコンピューティングデバイスによって表示されているビデオ注釈に適用できる、一つ以上のユーザインタフェースコマンド（例えば、タッチスクリーンジェスチャ及び／又はアクセレロメータ測定ジェスチャを含む）を定義してもよい。モバイルコンピューティングデバイスは、一つ以上の可能なシステム動作のそれぞれに、ユーザインタフェースコマンドを割り当ててもよい。ユーザインタフェースコマンドは、タッチスクリーン、カメラ、マイクロフォン、及び／又はアクセレロメータを介して入力されるコマンドを含んでもよい。ユーザインタフェースコマンドに対応するシステム動作は、再生制御コマンド（一時停止、停止、巻き戻し、及び／又は早送りなど）、コンテンツ選択コマンド（関連するコンテンツアイテムを表示する、など）、及び／又はアプリケーション制御コマンド（定義されたアプリケーションの起動など）等を含んでもよい。
【００１１】
さらに別の態様において、モバイルコンピューティングデバイスは、ビデオ注釈を含むビデオストリームを再生する間、例えば、タッチスクリーン、ビデオまたは静止画像カメラ、マイクロフォン、及び／又はアクセレロメータを含む、様々なユーザインタフェースを介してユーザコマンドを受理してもよい。各ユーザインタフェースコマンドは、コマンド及び／又は実行されるアプリケーションのコンテキストによって定義された機能を、モバイルコンピューティングデバイスに実行させてもよい。一例において、モバイルコンピューティングデバイスは、例えば、タップ、ダブルタップ、押す、スワイプ、ピンチ、及び／又はタッチスクリーンの回転を含む、タッチスクリーンを介して発行される多数のユーザのジェスチャを認識してもよい。他の例において、ユーザのジェスチャは、ビデオまたは静止画像カメラを介して入力されてもよい。さらに他の例において、ユーザのボイスコマンドまたは他の音コマンド（例えば、口笛）は、マクロフォンを介して入力されてもよい。さらに他の例において、アクセレロメータは、定義された頻度、大きさ、及び／又は移動の方向（例えば、水平または垂直面でモバイルコンピューティングデバイスを振る、モバイルコンピューティングデバイスを回転する、等）を含む、一つ以上の事前に定義されたパターンに従ったモバイルコンピューティングデバイスの移動を含む、ユーザのコマンドを受理するために使用されてもよい。
【００１２】
ユーザインタフェースコマンドの受信に応答して、モバイルコンピューティングデバイスは、ビデオ注釈と、ビデオプレイヤーアプリの動作に対するユーザインタフェースコマンドのマッピングと、に関連する、一つ以上のデータ構造内に格納された記録に基づいて、ユーザインタフェースコマンドに対応する動作を決定してもよい。モバイルコンピューティングデバイスは、ユーザインタフェースコマンドによって定義された、ビデオ注釈に関連する動作を次いで実行してもよい。
【００１３】
上記で参照された方法およびシステムの様々な態様は、限定としてよりも、実施例として、以下に詳細に説明される。
【００１４】
図１は、本開示の一つ以上の態様に従って動作するモバイルコンピューティングデバイスの一つの具体例を図示するブロック図である。モバイルコンピューティングデバイスは、例えば、スマートフォン、タブレットコンピュータ、パーソナルデジタルアシスタント、またはノートブックコンピュータによって提供されてもよい。
【００１５】
モバイルコンピューティングデバイス１００は、システムバス１２０に結合されたプロセッサ１１０を含んでもよい。後者は、データバス、アドレスバス、及び／又はコントロールバスを含んでもよい。プロセッサ１１０は、汎用プロセッサ（例えば、復号命令セットコンピュータ（CISC）マイクロプロセッサ、縮小命令セットコンピュータ（RISC）マイクロプロセッサ、超長命令語（VLIW）マイクロプロセッサ、命令の他のタイプを実装するマイクロプロセッサ、または命令のタイプの組合せを実装するマイクロプロセッサ）、または専用プロセッサ（例えば、特定用途向け集積回路（ASIC）、フィールドプログラマブルゲートアレイ（FPGA）、デジタル信号プロセッサ（DSP）、ネットワークプロセッサ）といった、一つ以上の物理的なプロセッサによって提供されてもよい。
【００１６】
システムバスに結合された他のデバイスは、メモリ１３０、ディスプレイ１３５、キーボード１４０、スピーカ１４５、マイクロフォン１５０、ビデオまたは静止画像カメラ１５５、アクセレロメータ１６０、および／または一つ以上の無線ネットワークインタフェース１６５を含んでもよい。ここで、「結合された」という用語は、一つ以上のインタフェースデバイス、アダプタ、および同類のものを介して、電気的に接続されること、および通信可能に結合されることの両方を含むべきである。
【００１７】
メモリ１３０は、一つ以上の揮発性メモリデバイス（例えば、RAMチップ）、一つ以上の不揮発性メモリデバイス（例えば、ROMまたはEEPROMチップ）、及び／又は一つ以上のセカンダリメモリデバイス（例えば、光学または磁気ディスクのような、記憶メモリデバイス）を含んでもよい。記憶メモリは、本明細書で説明された方法を実行する命令を記憶し得る、持続性コンピュータ可読記憶メディアを含んでもよい。
特定の実装において、メモリ１３０は、ビデオプレイヤーアプリ１９０の命令を保存してもよい。一つの具体例において、ビデオプレイヤーアプリ１９０は、本開示の一つ以上の態様に従って、ビデオ注釈を含むビデオコンテンツを提供し、タッチスクリーン１７０、カメラ１５５、マイクロフォン１５０、またはアクセレロメータ１５０から一つの注釈に関するユーザインタフェースコマンドを受信し、次いで、ユーザインタフェースコマンドに応答して注釈に関する動作を実行するために、モバイルデバイス１００上で実行されてもよい。
【００１８】
無線ネットワークインタフェース１６５は、例えば、IEEE802.11準拠のインタフェース、セルラーインタフェース（UMTS、LTE、WiMAX、HSPAまたはEV-DOを含む、3Gまたは4Gインタフェース等）、及び／又はブルートゥースインタフェースによって提供されてもよい。モバイルコンピューティングデバイス１００は、無線ネットワークインタフェース１６５を通じて通信をサポートするために、例えばTCP/IPといったネットワークプロトコルスタックを実装してもよい。
【００１９】
特定の実装において、モバイルコンピューティングデバイス１００は、例えば、ディスプレイ１３５のタッチセンシティブ、及び／又はプレゼンスセンシティブ（presence-sensitive）面によって表される、タッチスクリーン入力デバイス１７０を含んでもよい。一例において、タッチセンシティブ面は、キャパシティセンシティブ（capacity-sensitive）レイヤを含んでもよい。他の例において、タッチセンシティブ面は、ディスプレイの水平および垂直軸に沿って設置された二つ以上の音響変換機を含んでもよい。
【００２０】
特定の実装において、タッチスクリーンを備えたモバイルコンピューティングデバイス１００は、タッチセンシティブ面の外部の物体による接触の検出に応答して、接触の位置、以前の位置に対する位置の変更、及び／又は接触の方法（例えば、タッチセンシティブ面との接触を保ちながら外部の物体が移動しているかどうか）を判断してもよい。タッチスクリーンに接触するために使用される外部の物体は、例えば、ユーザの指、タッチペンによって、または任意の他の適切なデバイスによって、表されてもよい。
【００２１】
タッチ/リリースイベント、判定されたコンタクトの位置、コンタクト位置の変更、及び／又はコンタクトの方法の検出に基づいて、コンピューティングデバイス１００は、例えば、図2a乃至2fに模式的に図示されるようなタップ、ダブルタップ、押す、スワイプ、ピンチ、及び／又はタッチスクリーンの回転を含む、一つ以上のユーザ入力ジェスチャタイプを認識してもよい。
【００２２】
図２aに模式的に図示したように、タップは、第１の事前に定義された持続時間閾値以下の継続した、および第２の事前に定義された持続時間閾値以上のリリースによって生じる接触である。タップは、タッチセンシティブ面上の外部の物体が移動しないことを含む。図２bに模式的に図示したように、ダブルタップは、第２の事前に定義された持続時間閾値以下の時間内でリリースする、２つの連続したタップジェスチャを含む。図２cに模式的に図示したように、押す、または長押しは、第１の事前に定義された持続時間閾値以上の継続した接触である。図２dに模式的に図示したように、スワイプは、仮想の直線セグメントに沿ったタッチセンシティブ面上の外部の物体の移動を伴う接触である。図２eに模式的に図示したように、ピンチは、仮想の直線または曲線のセグメントに沿って互いに向かって移動する二つの外部の物体（例えば、ユーザの二本の指）による接触である。図２fに模式的に図示したように、回転は、仮想の円に沿って同じ方向に移動する二つの外部の物体（例えば、ユーザの二本の指）による接触である。
【００２３】
特定の実装において、モバイルコンピューティングデバイス１００は、モバイルコンピューティングデバイスの正確な加速を計測するアクセレロメータを備えてもよい。一例において、モバイルコンピューティングデバイスは、定義された頻度、大きさ、及び／又は移動の方向（例えば、水平または垂直面でモバイルコンピューティングデバイスを振る、モバイルコンピューティングデバイスを回転する、等）を含む、一つ以上の事前に定義されたパターンを使用した、ユーザのモバイルコンピューティングデバイスの移動を含むユーザインタフェースコマンドを、アクセレロメータを使用して受領するためにプログラムされてもよい。
【００２４】
特定の実装において、モバイルコンピューティングデバイス１００は、ビデオまたは静止画像カメラを備えてもよい。一例において、カメラは、ユーザのジェスチャによって表されるユーザインタフェースコマンドを入力するために使用されてもよい。
【００２５】
特定の実装において、モバイルコンピューティングデバイス１００は、マイクロフォンを備えてもよい。一例において、マイクロフォンは、ユーザのボイスコマンドまたは他の音コマンド（例えば、口笛）を入力するために使用されてもよい。
【００２６】
特定の実装において、モバイルコンピューティングデバイス１００は、ビデオストリーム及び／又はオーディオストリームを再生し得るビデオプレイヤーアプリを実行してもよい。モバイルコンピューティングデバイス１００は、オーディオコーデック（例えば、MP3、VorbisまたはAAC）を使用して圧縮されたオーディオストリームを再生してもよく、及び／又はビデオコーデック（例えば、H.264またはVP8）を使用して圧縮されたビデオストリームを再生してもよい。一例において、モバイルコンピューティングデバイスは、符号化されたオーディオおよびビデオストリームを含む、組み合わされたビットストリーム（例えば、FLV、WebM、ASFまたはISMA）を再生してもよい。図３に模式的に図示したように、ビデオストリーム３００は、ヘッダ３１０および複数のビデオフレーム３２０を含んでもよい。ビデオフレーム３２０のそれぞれは、ビデオデータ３２５及び／又はタイムスタンプ３３０を含んでもよい。
【００２７】
図４に模式的に図示したように、特定の実装において、モバイルコンピューティングデバイス１００は、例えば、ストリーミングサーバ４１０またはピアモバイルコンピューティングデバイス４２０から、ネットワーク４１５を通じて、ビデオストリームを受信している間、ビデオストリームを表示してもよい。ストリーミングサーバ４１０は、一例において、コンテンツ共有プラットフォームとして参照されてもよい、共有コンテンツホスティング（hosting）および配信プラットフォーム４１２の一部であってもよい。ネットワーク４１５は、一例において、インターネットを含んでもよい。イントラネット、ローカルエリアネットワーク（LAN）、ワイドエリアネットワーク（WAN）、及び／又は仮想プライベートネットワーク（VPN）といった、有線および無線ネットワークを含む、他のネットワークは、ネットワーク４１５の一部であってもよい。
【００２８】
図４に図示したように、共有コンテンツホスティングおよび配信プラットフォーム４１２は、ネットワーク４１８を介して、コンテンツデータストア４１７に結合されたフロントエンドストリーミングサーバ４１０を含んでもよい。コンテンツデータストア４１７は、ローカルまたは分散型データベース、ファイルリポジトリ、または適切なアーキテクチャの任意の他のデータリポジトリによって提供されてもよい。コンテンツデータストア４１７は、例えば、ビデオクリップ、テレビクリップ（ニュース、スポーツ、映画など）、音楽ビデオ、ビデオブログエントリ、及び／又は短いビデオを含み得る、複数のコンテンツアイテム（総称して「コンテンツ」と呼ぶ）を保存するために使用されてもよい。一つの具体例において、コンテンツは、他のユーザと共有するために、共有コンテンツホスティング及び配信プラットフォーム４１２のユーザによってアップロードされた一つ以上のアイテムを含んでもよい。アップロードされたコンテンツアイテムは、ネットワーク４１５を通じてモバイルコンピューティングデバイス１００によってキャプチャされた、及び／又は送信されたデータを含んでもよい。
【００２９】
ネットワーク４１８は、ローカルエリアネットワークによって提供されてもよい。インターネット、一つ以上のイントラネット、ローカルエリアネットワーク（LAN）、ワイドエリアネットワーク（WAN）及び／又は仮想プライベートネットワーク（VPN）を含む他のネットワークは、ネットワーク４１８の一部であってもよい。特定の実装において、共有コンテンツホスティングおよび配信プラットフォーム４１２は、本明細書において以下に詳細が記載される、ビデオ注釈を配信するために使用されるビデオ注釈サーバ４３０をさらに含んでもよい。
【００３０】
フロントエンドサーバ４１０、コンテンツデータストア４１７、およびビデオ注釈サーバ４３０は、図４で別のコンポーネントとして図示されるが、コンテンツホスティングおよび配信プラットフォーム４１２の他のコンポーネントは、単一のコンピューティングデバイス、または多数の異なるコンピューティングデバイス、およびLAN及び／又はWANを含む一つ以上のネットワークを介して相互接続し得るシステムの、様々な組合せで同時に実装されてもよい。特定の実装において、共有コンテンツホスティングおよび配信プラットフォーム４１２は、複数のフロントエンドサーバ４１０に対して、ネットワーク４１５を通じて受信したユーザリクエストを発送するために使用され得るロードバランサ（図４には記載せず）等の、他のコンポーネントをさらに含んでもよい。特定の実装において、共有コンテンツホスティングおよび配信プラットフォーム４１２は、共有コンテンツホスティングおよび配信プラットフォーム４１２にアクセスするユーザを認証するために使用され得るユーザディレクトリをさらに含んでもよい。
【００３１】
一つの具体例において、ユーザは、ネットワーク４１５上でモバイルコンピューティングデバイス１００を介して、ホスティングおよび配信プラットフォーム４１２によって保存されたコンテンツにアクセスしてもよい。モバイルコンピューティングデバイス１００は、ストリーミングサーバ４１０に対して制御メッセージ（例えば、リアルタイムストリーミングプロトコル（RTSP）メッセージ）を発行することによって、ストリーミング処理を制御してもよい。ビデオストリームは、ストリーミングサーバ４１０からモバイルコンピューティングデバイス１００に対して、リアルタイム転送プロトコル（RTP）等の転送プロトコルを使用して配信されてもよい。モバイルコンピューティングデバイス１００は、ストリーミングサーバ４１０に対して、リアルタイム転送制御プロトコル（RTCP）を使用して、クオリティオブサービス（QoS）情報を定期的に送信してもよい。RTP/RTCPストリーミングの代わりとして、モバイルコンピューティングデバイス１００は、特定の実装において、適応ビットレートストリーミングを実行するために、HTTPプログレッシブダウンロードを使用してもよい。
【００３２】
特定の実装において、モバイルコンピューティングデバイス１００は、ストリーミングサーバ４１０によって、複数の受信者４２０に対して送信されたマルチキャストストリームを受信する、マルチキャストグループのメンバであってもよい。マルチキャストグループのメンバは、通常、サーバによって送信を制御することを制限されるか、または制御する能力を持たない。エンドユーザの視覚エクスペリエンスを向上するために、モバイルコンピューティングデバイス１００は、受信したビデオストリームをバッファすることができるので、従って、一時停止、停止、早送り、及び／又は早戻しといった再生制御コマンドを、エンドユーザが発行することを可能にする。
【００３３】
特定の実装において、モバイルコンピューティングデバイス１００は、ピアツーピア（P2P）プロトコルを使用して、一つ以上のピアモバイルコンピューティングデバイス４２０から、ビデオストリームを受信してもよい。ビデオストリームの一つ以上の断片は、一つ以上のピアモバイルコンピューティングデバイスのそれぞれから受信されてもよい。ビデオストリームは、モバイルコンピューティングデバイス１００によって、再生される前にアセンブルされてもよい。
【００３４】
特定の実装において、モバイルコンピューティングデバイス１００によって再生されるビデオストリームは、一つ以上のビデオ注釈を含んでもよい。ビデオ注釈は、例えば、表示されているビデオコンテンツに関する追加の情報を提供するために、表示されるコンテンツを（例えば、多数の視聴経路、及び／又は目次機能を提供するために）選択するユーザ入力を受理するために、コンテンツアイテムに関するリンクを提供するために、及び／又はモバイルコンピューティングデバイスによって実行可能な関連するアプリケーションへのリンクを提供するために、使用されてもよい。モバイルコンピューティングデバイス１００は、ビデオ注釈に関する（例えば、キーボード、タッチスクリーン、及び／又はアクセレロメータを介した）、およびモバイルコンピューティングデバイスに再生するプロセスを制御する特定の機能を実行させる、ユーザ入力を受理してもよい。ユーザ入力によって選択可能な動作の例は、ビデオストリーム表示の一時停止、ビデオストリーム内の選択した位置へのジャンプ、関連するコンテンツ（例えば、他のビデオストリーム、または静止画像）の表示、及び／又はモバイルコンピューティングデバイスによって実行可能な他のアプリケーションへの切り替え、を含む。
【００３５】
図５に模式的に図示したように、ビデオ注釈５１０は、ビデオフレーム内に表示される、一つ以上の文字列５２０及び／又は一つ以上の画像５２５を含んでもよい。特定の実装において、ビデオ注釈は、例えば、ビデオ注釈タイプ識別子５３５（例えば、タイトル、吹き出し、メモ、ラベル、スポットライト、またはビデオサムネイル）、ビデオ注釈が表示されるべきビデオフレーム内の位置を定義するディスプレイ位置識別子５４０、および／または表示されるビデオ注釈内の複数のビデオフレームを定義するビデオフレーム識別子５４５を含む、表示不可情報を保存するデータ構造５３０をさらに含んでもよい。特定の実装において、ビデオフレーム識別子は、表示されるべきビデオ注釈内で、フレーム範囲の開始フレームと終了フレームを定義し得る、開始フレーム識別子５４７および終了フレーム識別子５４９によって表されてもよい。一例において、開始フレーム識別子および終了フレーム識別子は、ビデオストリームの開始に関する、開始時間および終了時間を識別してもよい。
【００３６】
特定の実装において、ビデオ注釈は、ユーザインタフェースコマンド５６０に関連し、ビデオプレイヤ動作５６５（例えば、ビデオ注釈フィールド内のクリックは、関連するリソースを識別するURIにマッピングされてよく、ビデオ注釈フィールド内のダブルクリックは、ビデオストリームの所定の部分にジャンプするようにマッピングされ得る、など）に対応する一つ以上の記録を保存するデータ構造５５０をさらに含んでもよい。特定の実装において、ビデオ注釈は、例えば、ビデオストリームがキャプチャされた位置を識別する地理位置情報識別子５７５、ビデオ注釈作成者/編集者の識別子５８０、および／またはビデオ注釈作成/編集日時５８５を含む、表示不可メタデータを保存するデータ構造５７０、さらに含んでもよい。
【００３７】
図４で模式的に図示したように、特定の実装において、ビデオ注釈識別子は、ビデオストリーム、および、ビデオストリーミングサーバ４２０とは異なってもよい、ビデオ注釈サーバ４３０からビデオプレイヤーアプリによって取り出され得るビデオ注釈に関連するデータ構造の中に保存されてもよい。あるいは、ビデオ注釈に関連するデータ構造は、ビデオストリーム内に保存されてもよい。
【００３８】
図６は、ビデオ注釈の様々なタイプを模式的に図示している。一例において、ビデオ注釈は、タイトル６１０によって表示されてもよい。他の例において、ビデオ注釈は、吹き出し６２０によって表示されてもよい。さらに他の例において、ビデオ注釈は、メモ６３０によって表示されてもよい。さらに他の例において、ビデオ注釈は、ラベル６４０によって表示されてもよい。さらに他の例において、ビデオ注釈は、スポットライト６５０によって表示されてもよい。さらに他の例において、ビデオ注釈は、サムネイル６５５によって表示されてもよい。
【００３９】
ビデオストリームに添付されたビデオ注釈は、典型的なモバイルコンピューティングデバイスの画面よりも、大きいサイズの画面を有する、及び／又は高解像度を有するコンピューティングデバイスによって表示されるために、設計されてもよい。この結果、モバイルコンピューティングデバイスによって表示されたビデオ注釈は、ユーザによって識別可能な、及び／又は読み取り可能にするためには、不適切なサイズになる可能性がある。いくつかの状況において、二つ以上のビデオ注釈は、互いに空間的に非常に近く表示され得るため、ビデオ注釈の内の一つを（例えば、対応するリンクをクリックすることによって）選択しようとするユーザの試みは、多くの場合、誤って、間違ったビデオ注釈を選択する結果（例えば、誤ったリンクをクリックする）となる。さらに、一般的なコンピュータデバイス向けに設計されたビデオ注釈は、ビデオ注釈フィールド上のクリックまたはダブルクリックの受理のみしかできず、様々なタッチスクリーンユーザインタフェース入力を受理するようには設計されていない。
【００４０】
したがって、モバイルコンピューティングデバイス１００は、モバイルコンピューティングデバイス１００によって表示するためのビデオストリームに添付されたビデオ注釈を変更及び／又は調整するために、ビデオストリームを処理してもよい。一例において、モバイルコンピューティングデバイス１００は、一つ以上のビデオ注釈を見えるようにし、及び／又はモバイルコンピューティングデバイス１００の画面上のユーザのタッチスクリーン入力によって選択されるように、それらのサイズを変更してもよい。ビデオ注釈のサイズ変更は、注釈メッセージの読みやすさを向上するために、例えば、モバイルコンピューティングデバイス１００の特定の画面サイズ用の事前に定義された最小のフォントサイズに基づいた、ビデオ注釈メッセージのフォントのサイズ変更を含んでもよい。ビデオ注釈のサイズ変更は、例えば、モバイルコンピューティングデバイス１００の特定の画面サイズ用の事前に定義された最小の視覚要素サイズに基づいて、一つ以上のビデオ注釈の視覚要素のサイズを変更することを、さらに含んでもよい。
【００４１】
他の例において、モバイルコンピューティングデバイス１００は、モバイルコンピューティングデバイス１００の画面上のユーザのタッチスクリーン入力によって、ビデオ注釈を視覚可能及び／又は選択可能にするために、一つ以上のビデオ注釈を再配置してもよい。ビデオ注釈を再配置することは、画面の事前に定義された角に相対的に定義された方向に、ビデオ注釈を移動する、といった一つ以上の再配置規則に基づいてもよい。一例において、単一のフレーム内に表示された、いくつかのビデオ注釈を再配置することは、画面の一つ以上の事前に定義された角に対して、相対的に定義された方向に再配置する手順（例えば、画面の左上隅に向かって第１のビデオ注釈を移動し、次いで画面の右上隅に向かって第２のビデオ注釈を移動する）に基づいてもよい。さらに他の例において、モバイルコンピューティングデバイスは、ビデオ注釈要素の視覚的交差を避けるために、二つ以上のビデオ注釈をモバイルコンピューティングデバイスの画面上に再配置してもよい。
【００４２】
特定の実装において、モバイルコンピューティングデバイス１００は、モバイルコンピューティングデバイス１００によって表示されているビデオ注釈に適用可能な、一つ以上のユーザインタフェースコマンド（例えば、タッチスクリーンジェスチャ及び／又はジェスチャを計測するアクセレロメータ）を定義してもよい。モバイルコンピューティングデバイスは、一つ以上の可能なシステム動作のそれぞれに対して、ユーザインタフェースコマンドを割り当ててもよい。ユーザインタフェースコマンドは、タッチスクリーン、カメラ、マイクロフォン、及び／又はアクセレロメータを介して入力されたものを含んでもよい。ユーザインタフェースコマンドに対応するシステム動作は、再生制御コマンド（一時停止、停止、早送り、及び／又は早戻し等）、コンテンツ選択コマンド（関連するコンテンツアイテムの表示等）、及び／又はアプリケーション制御コマンド（定義されたアプリケーションの起動等）などを含んでもよい。
【００４３】
ビデオストリームの一つ以上のフレーム上に重畳したビデオ注釈の表示に応答して、モバイルコンピューティングデバイスは、タッチスクリーン、カメラ、マイクロフォン、及び／又はアクセレロメータを介して、ユーザインタフェースコマンドを受信してもよい。ユーザインタフェースコマンドは、例えば、タップ、ダブルタップ、押す、スワイプ、ピンチ、及び／又はタッチスクリーンの回転を含む、タッチスクリーンを介して発行される一つ以上のジェスチャによって表されてもよい。他の例において、ユーザインタフェースコマンドは、マイクロフォンを介して入力される音声及び／又は音コマンドによって表されてもよい。さらに他の例において、ユーザインタフェースコマンドは、ビデオまたは静止画像カメラを介して入力される、一つ以上のユーザのジェスチャによって表されてもよい。さらに他の例において、ユーザインタフェースコマンドは、定義された頻度、大きさ、及び／又は移動の方向（例えば、水平または垂直面でモバイルコンピューティングデバイスを振る、モバイルコンピューティングデバイスを回転する、など）を含む、一つ以上の事前に定義されたパターンに従った、ユーザのモバイルコンピューティングデバイスの移動を含んでもよい。
【００４４】
ユーザインタフェースコマンドを受信することに応答して、モバイルコンピューティングデバイスは、ビデオ注釈に関連し、ユーザインタフェースコマンドをビデオプレイヤーアプリの動作にマッピングする、データ構造に保存された一つ以上の記録に基づいてユーザインタフェースコマンドに対応する動作を決定してもよい。モバイルコンピューティングデバイスは、ユーザインタフェースコマンドによって定義された、ビデオ注釈に関連した動作を次いで実行してもよい。ユーザインタフェースコマンドによって選択可能な動作の例は、表示中のビデオストリームの一時停止、ビデオストリーム内の選択された位置へのジャンプ、関連するコンテンツの表示（例えば、他のビデオストリーム、または静止画像）、及び／又はモバイルコンピューティングデバイスによって実行可能な他のアプリケーションへの切り替えなどを含む。
【００４５】
ビデオコンテンツアイテムのためのビデオ注釈は、デスクトップまたはモバイルコンピューティングデバイスによって実行可能なビデオ注釈エディタを使用して作成されてもよい。図７に模式的に図示したように、特定の実装において、モバイルコンピューティングデバイス１００は、フレームウィンドウ７１０で編集されているビデオストリームを表示してもよい。モバイルコンピューティングデバイス１００は、ビデオ注釈を一つ以上のビデオフレームに挿入することに関する一つ以上のユーザインタフェースコマンドを受理してもよい。ビデオフレームは、表示されたタイムライン７１２に基づいて、ユーザによって選択されてもよく、及び／又は、編集中のビデオストリームの再生、早送り、及び／又は早戻しによって選択されてもよい。特定の実装において、ビデオ注釈検索機能は、ビデオ注釈に関する一つ以上の検索条件を指定するために、ユーザの入力を受理し、検索条件（例えば、ユーザが提供した文字列を含む吹き出し）に合致するビデオ注釈を有する一つ以上のフレームを表示するように実装されてもよい。
【００４６】
特定の実装において、ユーザインタフェースコマンドを受信することに応答して、モバイルコンピューティングデバイスは、吹き出し注釈７２０、メモ注釈７３０、ラベル注釈７４０、スポットライト注釈７５０及び／又はタイトル注釈７６０を挿入してもよい。ボイスコマンドは、注釈タイプ、事前に定義されたフレームの角または他の注釈要素に対する相対的な注釈位置、注釈テキスト、及び／又は他の注釈パラメータ（例えば、フォントサイズ）を含んでもよい。一例において、ユーザインタフェースコマンドは、マイクロフォンを介して受信されてもよい。あるいは、ユーザインタフェースコマンドは、タッチスクリーンを介して受信されてもよい。特定の実装において、ユーザインタフェースコマンドのいくつかの要素は、ユーザインタフェースコマンドの他の要素が第二のユーザインタフェース（例えば、吹き出しテキストがマイクロフォンを介して入力されてよく、及び吹き出し位置はタッチスクリーンを介して入力されてもよい）を介して受信され得る間、第一のユーザインタフェースを介して受信されてもよい。特定の実装において、いくつかのユーザインタフェースコマンドは、単一のフレームに表示された複数のビデオ注釈に適用されてもよい（例えば、ユーザがモバイルコンピューティングデバイスを振ることに応答して、後者は、ビデオ注釈要素の視覚的交差を解消するために、現在表示されているフレーム内に表示されたビデオ注釈を再配置してもよい）。
【００４７】
図８は、本開示の一つ以上の態様に従った、モバイルコンピューティングデバイスによって注釈付きビデオコンテンツを表示するための方法８００の一例のフローチャート図を図示している。方法８００は、ハードウェア（例えば、電気回路、専用ロジック、及び／又はプログラム可能なロジック）、ソフトウェア（例えば、ハードウェアシミュレーションを実行するコンピュータシステム上で実行可能な命令）、またはそれらの組合せを含んでもよい、（例えば、モバイルコンピューティングデバイス１００上で実行するビデオプレイヤーアプリ１９０の）処理ロジックによって実行されてもよい。方法８００および／または個別の機能、ルーチン、サブルーチン、または操作のそれぞれは、この方法を実行するコンピューティングデバイスの一つ以上の物理プロセッサによって実行されてもよい。方法８００の二つ以上の機能、ルーチン、サブルーチン、または操作は、並列または上述された順序とは異なり得る順序で実行されてもよい。
【００４８】
ブロック８１０で、モバイルコンピューティングデバイスは、複数のビデオフレームを含むビデオストリームを再生してもよい。本明細書に上述したように、特定の実装において、モバイルコンピューティングデバイスは、例えば、無線通信インタフェースを通じて、ストリーミングサーバまたはピアモバイルコンピューティングデバイスからビデオストリームが受信されている間、ビデオストリームを表示してもよい。
【００４９】
ブロック８２０で、モバイルコンピューティングデバイスは、ビデオストリームの一つ以上のフレーム上に重畳するビデオ注釈を表示してもよい。本明細書において上述したように、特定の実装において、モバイルコンピューティングデバイスは、例えば、本明細書において上記で詳細に説明したように、モバイルコンピューティングデバイスの画面により合うようにビデオ注釈をサイズ変更することによって、及び／又は画面上にビデオ注釈を再配置することによって、先に表示したビデオ注釈を変更してもよい。
【００５０】
ブロック８３０で、モバイルコンピューティングデバイスは、モバイルコンピューティングデバイスのユーザ入力インタフェースを介して、ユーザインタフェースコマンドを受信してもよい。特定の実装において、本明細書で上記にさらに詳細に説明したように、ユーザ入力インタフェースは、タッチスクリーン、カメラ、マイクロフォン、及び／又はアクセレロメータによって提供されてもよい。モバイルコンピューティングデバイスは、本明細書で上記にさらに詳細に説明されたように、ビデオ注釈に関連するデータ構造内に格納された一つ以上の記録、およびビデオプレイヤーアプリ動作に対するユーザインタフェースコマンドのマッピングに基づいて、ユーザインタフェースコマンドに対応する動作を次いで決定してもよい。
【００５１】
ブロック８４０で、モバイルコンピューティングデバイスは、ユーザインタフェースコマンドによって定義される、ビデオ注釈に関する動作を実行してもよい。ブロック８４０によって参照される動作を完了することに応答して、方法は終了してもよい
【００５２】
図９は、本明細書で説明される一つ以上の方法をコンピュータシステムに実行させるための、実行され得る命令のセットを含む典型的なコンピュータシステム５００のブロック図を図解する。コンピュータシステムは、LAN、イントラネット、エクストラネット、またはインターネットで、他のコンピュータシステムと結合されてもよい。コンピュータシステムは、クライアント−サーバネットワーク環境で、サーバまたはクライアントコンピュータシステムの立場において操作してもよく、またはピアツーピア（または分散型の）ネットワーク環境におけるピア（peer）コンピュータシステムとして操作してもよい。コンピュータシステムは、パーソナルコンピュータ（PC）、タブレットPC、セットトップボックス（STB）、パーソナルデジタルアシスタント（PDA）、携帯電話、ウェブ電化製品、サーバ、ネットワークルータ、スイッチまたはブリッジ、または、コンピュータシステムによって取得される動作を指定する命令のセット（逐次的またはそれ以外）を実行できる任意のコンピュータシステムであってもよい。さらに、単一のコンピュータシステムだけが図示されているが、「コンピュータシステム」という用語は、本明細書で説明される方法論の任意の一つ以上を実行するための命令のセット（もしくは多数のセット）を個別にまたは共同で実行するコンピュータシステムの任意の集合を含んでもよいと解釈されるべきである。
【００５３】
典型的なコンピュータシステム５００は、バス５３０を介してそれぞれ他と通信する、処理デバイス（プロセッサ）５０２、メインメモリ５０４（例えば、読み出し専用メモリ（ROM）、フラッシュメモリ、シンクロナスDRAM（SDRAM）またはラムバスDRAM（RDRAM）のような動的ランダムアクセスメモリ（DRAM）など）、スタティックメモリ５０６（例えば、フラッシュメモリ、静的ランダムアクセスメモリ（SRAM）など）および、データ記憶デバイス５１８を含む。
【００５４】
プロセッサ５０２は、マイクロプロセッサ、中央処理装置、または同種のものといった、一つ以上の汎用処理デバイスを表す。とりわけ、プロセッサ５０２は、復号命令セットコンピュータ（CISC）マイクロプロセッサ、縮小命令セットコンピュータ（RISC）マイクロプロセッサ、超長命令語（VLIW）マイクロプロセッサ、または他の命令セットを実装するプロセッサまたは命令セットの組み合わせを実装するプロセッサであってもよい。プロセッサ５０２は、特定用途向け集積回路（ASIC）、フィールドプログラマブルゲートアレイ（FPGA）、デジタル信号プロセッサ（DSP）、ネットワークプロセッサ、または同種のもののような、一つ以上の専用処理デバイスも含んでもよい。プロセッサ５０２は、本明細書で説明された操作およびステップを実行するための命令５２６を実行するように構成される。
【００５５】
コンピュータシステム５００は、ネットワークインタフェースデバイス５２２をさらに含んでもよい。コンピュータシステム５００は、ビデオディスプレイユニット５１０（例えば、液晶ディスプレイ（LCD）またはブラウン管（CRT））、英数入力デバイス５１２（例えば、キーボード）、タッチスクリーン入力デバイス５１４、およびアクセレロメータ５１５も、含んでもよい。
【００５６】
データ記憶デバイス５１８は、本明細書で説明された方法または機能のうち、任意の一つ以上を具現化する一つ以上の命令のセット５２６を格納する、コンピュータ可読記憶メディア５２４を含んでもよい。命令５２６は、メインメモリ５０４内、及び／又は、コンピュータ可読記憶媒体も構成している、コンピュータシステム５００、メインメモリ５０４、およびプロセッサ５０２によって実行される間、プロセッサ５０２内に、完全にまたは少なくとも部分的に、存在してもよい。命令５２６は、ネットワーク５１６上でネットワークインタフェースデバイス５２２を介して、さらに送信または受信されてもよい。
【００５７】
特定の実装において、命令５２６は、図８の方法８００に対応し得る注釈付きビデオコンテンツを表示する方法のための命令を含んでもよく、図１のビデオプレイヤーアプリ１９０を使用して実行されてもよい。コンピュータ可読記憶媒体５２４が図９の例でシングルメディアとなるように示されるが、「コンピュータ可読記憶媒体」という用語は、一つまたは複数の命令のセットを格納する、シングルメディアまたは複数のメディア（例えば、集中型または分散型のデータベース、及び／又はキャッシュおよびサーバに関連する）を含むように解釈されるべきである。「コンピュータ可読記憶媒体」という用語はまた、マシンによって実行される命令のセットを記憶、符号化または伝送できるか、またはマシンに本開示の任意の一つ以上の方法を実行させることが可能な、任意のメディアも含むと解釈されるべきである。「コンピュータ可読記憶媒体」という用語は、固体メモリ、光媒体、磁気媒体を含むと解釈されなければならないが、それに限定されるものではない。
【００５８】
以上の説明において、多くの詳細が記載された。しかしながら、本開示は、これらの特定の詳細なしに実施できることが、この開示の利益を有する当業者には明らかであろう。いくつかの例において、周知の構造およびデバイスは、本開示を不明瞭にすることを避けるために、詳細よりもむしろブロック図の形で示される。
【００５９】
詳細な説明のいくつかの部分は、コンピュータメモリ内のデータビットに対する操作のアルゴリズムおよび記号表現の用語で表示されている。これらのアルゴリズム的記載および表現は、データ処理分野の技術者が、彼らの業務内容を他の当該分野の技術者に伝えるために用いる最も効果的な手段である。ここでアルゴリズムは、一般に、望ましい結果を導くステップの首尾一貫したシーケンスであると考えられる。通常、必然ではないが、これらの量は、格納、結合、比較、およびその他の操作が可能な電気又は磁気信号の形をとる。これは、ビット、値、要素、記号、文字、用語、数字などと呼ぶために、主に共通利用の理由から、時に便利であることが証明されている。
【００６０】
しかしながら、これらおよび類似の用語の全ては、適切な物理量に関連付られ、単にこれらの量に適用される便利なラベルであることに留意すべきである。具体的には以下の説明から明らかなように、特に説明しない限り、言うまでもなく、本説明全体を通じて、「決定」、「演算」、「計算」、「取得」、「識別」、「変更」等の用語を用いる説明は、コンピュータシステムのレジスタやメモリ、もしくは他のそのような情報の格納装置、伝送装置またはディスプレイ装置内の物理（電子）量として表わされるデータを操作し、変換するコンピュータシステムまたは類似の電子計算装置の動作および処理を指す。
【００６１】
本開示は、本明細書の操作を実行するための装置にも関する。この装置は、要求された目的のために特別に構成されてもよく、あるいは、汎用コンピュータを選択的に活性化する、またはコンピュータに格納されたコンピュータプログラムによって再構成されることを含んでもよい。このようなコンピュータプログラムは、フロッピ（登録商標）ディスク、光ディスク、CD-ROM、および磁気ディスクを含む任意のタイプのディスク、リードオンリメモリ（ROM）、ランダムアクセスメモリ（RAM）、EPROM、EEPROM、磁気または光カード、または電子的命令を格納するのに適した任意のタイプのメディアといった、しかしこれらに限定されない、コンピュータ可読ストレージメディアに格納されてもよい。
【００６２】
上記の説明は例示であって、限定を意図するものではないことが理解されよう。多くの他の実施形態は、上記の説明を読み取り、理解することにより当業者には明らかであろう。本開示の範囲は、従って、そのような請求項が権利を有しているために均等物の全範囲と共に、添付の特許請求の範囲を参照して決定されるべきである。
【符号の説明】
【００６３】
１００  モバイルコンピューティングデバイス
１１０  プロセッサ
１２０  バス
１３０  メモリ
１３５  ディスプレイ
１４０  キーボード
１４５  スピーカ
１５０  マイクロフォン
１５５  カメラ
１６０  アクセレロメータ
１６５  ネットワークインタフェース
１７０  タッチスクリーン
１９０  ビデオプレイヤーアプリ
３００  ビデオストリーム
３１０  ヘッダ
３２０  ビデオフレーム
３２５  ビデオデータ
３３０  タイムスタンプ
４１０  ストリーミングサーバ
４１２  配信プラットフォーム
４１５  ネットワーク
４１７  コンテンツデータストア
４１８  ネットワーク
４２０  ビデオストリーミングサーバ
４３０  ビデオ注釈サーバ
５００  コンピュータシステム
５２０  テキスト
５２５  画像
５３０  表示不可情報
５３５  タイプＩＤ
５４０  ポジションＩＤ
５４５  フレームＩＤ
５４７  スタートＩＤ
５４９  エンドＩＤ
５５０  ユーザインタフェースコマンド
５６０  ＵＩコマンド
５６５  ビデオプレイヤ動作
５７０  メタデータ
５７５  地理位置情報ＩＤ
５８０  作成者ＩＤ
５８５  タイムスタンプＩＤ
６１０  タイトル
６２０  吹き出し
６３０  メモ
６４０  ラベル
６５０  スポットライト
６５５  サムネイル
７２０  吹き出し注釈
７３０  メモ注釈
７４０  ラベル注釈
７６０  タイトル注釈
【図１】
0006449853.tif 000002
【図２ａ】
0006449853.tif 000003
【図２ｂ】
0006449853.tif 000004
【図２ｃ】
0006449853.tif 000005
【図２ｄ】
0006449853.tif 000006
【図２ｅ】
0006449853.tif 000007
【図２ｆ】
0006449853.tif 000008
【図３】
0006449853.tif 000009
【図４】
0006449853.tif 000010
【図５】
0006449853.tif 000011
【図６】
0006449853.tif 000012
【図７】
0006449853.tif 000013
【図８】
0006449853.tif 000014
【図９】
0006449853.tif 000015