(57)【要約】【課題】簡単な操作で映像コンテンツデータを電子機器に転送することができる情報処理装置を実現する。【解決手段】制御部２３５は、再生中の映像コンテンツデータに関連付けされた第１のボタンと、電子機器を示す第２のボタンとを含むグラフィカルユーザインタフェースを画面上に表示する。制御部２３５は、第１のボタンを第２のボタンに関連付けるためのユーザのポインティング操作に応答して、第１のボタンに関連付けられた再生中の映像コンテンツデータを電子機器へ転送する。【選択図】図１０
2011090461.tif 000002
【特許請求の範囲】
【請求項１】
映像コンテンツデータを再生可能な情報処理装置であって、
再生中の映像コンテンツデータの動画像を表示する表示装置と、
前記再生中の映像コンテンツデータに関連付けされた第１のボタンと、電子機器を示す第２のボタンとを含むグラフィカルユーザインタフェースを前記表示装置の画面上に表示し、前記第１のボタンを前記第２のボタンに関連付けるためのユーザのポインティング操作に応答して、前記第１のボタンに関連付けられた前記再生中の映像コンテンツデータを、前記電子機器へ転送する制御手段とを具備することを特徴とする情報処理装置。
【請求項２】
前記制御手段は、前記画面上のポインティング位置が、前記第１のボタン上から、前記第２のボタンに関連付けられた検知エリアへスライドされたことに応答して、前記再生中の映像コンテンツデータを前記電子機器へ転送するように構成されており、前記検知エリアは、前記第１のボタンに対応する前記画面上の位置から、前記第２のボタンに対応する前記画面上の位置に延在していることを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記制御手段は、前記第１のボタンを前記画面上に表示し、前記第１のボタンがポインティングされたことに応答して前記第２のボタンを前記画面上に表示し、前記画面上のポインティング位置が、前記第１のボタン上から、前記第２のボタンに関連付けられた検知エリアへスライドされたことに応答して、前記再生中の映像コンテンツデータを前記電子機器へ転送するように構成されており、前記検知エリアは、前記第１のボタンに対応する前記画面上の位置から、前記第２のボタンに対応する前記画面上の位置に延在していることを特徴とする請求項１記載の情報処理装置。
【請求項４】
映像コンテンツデータを再生可能な情報処理装置であって、
再生中の映像コンテンツデータの動画像を表示する表示装置と、
外部デバイスから受信される映像コンテンツデータを再生可能な電子機器それぞれを検索する検索手段と、
前記再生中の映像コンテンツデータに関連付けされた第１のボタンと、検索された電子機器それぞれを示す複数の第２のボタンとを前記表示装置の画面上に表示し、前記画面上のポインティング位置が、前記第１のボタン上から、前記複数の第２のボタンに関連付けられた複数の検知エリアの一つへスライドされたことに応答して、前記再生中の映像コンテンツデータを、前記一つの検知エリアに関連付けられた第２のボタンによって示される電子機器へ転送する制御手段とを具備し、前記複数の検知エリアは、互いに重複しないように、前記第１のボタンに対応する前記画面上の位置から、前記複数の第２のボタンに対応する前記画面上の位置にそれぞれ延在していることを特徴とする情報処理装置。
【請求項５】
前記制御手段は、前記第１のボタンを前記画面上に表示し、前記第１のボタンがポインティングされたことに応答して前記複数の第２ボタンを前記画面上に表示し、前記画面上のポインティング位置が、前記第１のボタン上から、前記複数の検知エリアの一つへスライドされたことに応答して、前記再生中の映像コンテンツデータを、前記一つの検知エリアに関連付けられた第２のボタンによって示される電子機器へ転送することを特徴とする請求項４記載の情報処理装置。
【請求項６】
映像コンテンツデータを再生するステップと、
前記再生中の映像コンテンツデータの動画像を表示装置の画面上に表示するステップと、
前記再生中の映像コンテンツデータに関連付けされた第１のボタンと、電子機器を示す第２のボタンとを含むグラフィカルユーザインタフェースを前記画面上に表示し、前記第１のボタンを前記第２のボタンに関連付けるためのユーザのポインティング操作に応答して、前記第１のボタンに関連付けられた前記再生中の映像コンテンツデータを、前記電子機器へ転送する制御ステップとを具備することを特徴とするデータ転送方法。
【請求項７】
前記制御ステップは、前記画面上のポインティング位置が、前記第１のボタン上から、前記第２のボタンに関連付けられた検知エリアへスライドされたことに応答して、前記再生中の映像コンテンツデータを前記電子機器へ転送するステップを含み、前記検知エリアは、前記第１のボタンに対応する前記画面上の位置から、前記第２のボタンに対応する前記画面上の位置に延在していることを特徴とする請求項６記載のデータ転送方法。
【請求項８】
前記制御ステップは、前記第１のボタンを前記画面上に表示するステップと、前記第１のボタンがポインティングされたことに応答して前記第２のボタンを前記画面上に表示するステップと、前記画面上のポインティング位置が、前記第１のボタン上から、前記第２のボタンに関連付けられた検知エリアへスライドされたことに応答して、前記再生中の映像コンテンツデータを前記電子機器へ転送するステップとを含み、前記検知エリアは、前記第１のボタンに対応する前記画面上の位置から、前記第２のボタンに対応する前記画面上の位置に延在していることを特徴とする請求項６記載のデータ転送方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は一般にパーソナルコンピュータのような情報処理装置に関し、特に映像コンテンツを再生する情報処理装置および同装置に適用されるデータ転送方法に関する。
【背景技術】
【０００２】
近年、インターネット上の動画配信サイトで公開される、ビデオクリップ、ホームムービーといった各種映像コンテンツをパーソナルコンピュータのブラウザを用いて閲覧することが広く行われている。ブラウザにプラグインソフトウェアとして組み込まれた動画再生プログラムは、動画配信サイトから受信した映像コンテンツデータをデコードする。デコードされた映像コンテンツデータの動画像は、オペレーティングシステムの制御の下、ディスプレイに表示される。
【０００３】
また、最近では、映像コンテンツを家庭内の電子機器間で共有するための技術も開発され始めている。
【０００４】
コンピュータネットワークにおいては、コンピュータ間でデータを共有する仕組みとして、いわゆる「ネットワークドライブ」や「共有フォルダ」といった技術が知られている。しかし、家庭内の電子機器間で映像コンテンツを共有する場合においては、ユーザが直感的な操作を行うのみで目的のコンテンツを目的の電子機器に転送できるようにするための新たなインタフェースを実現できるようにすることが要求される。
【０００５】
ユーザ操作を支援するためのインタフェースとしては、グラフィカルユーザインタフェースが広く知られている。特許文献１には、ソフトウェアキーボードを実現するためのグラフィカルユーザインタフェースが開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００２−１０８５４３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかし、特許文献１のグラフィカルユーザインタフェースは文字コードの入力を支援するものであり、機器間のデータ共有およびデータ交換を支援することについて考慮されていない。
【０００８】
本発明は上述の事情を考慮してなされたものであり、簡単な操作で映像コンテンツデータを電子機器に転送することができる情報処理装置およびデータ転送方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上述の課題を解決するため、本発明は、映像コンテンツデータを再生可能な情報処理装置であって、再生中の映像コンテンツデータの動画像を表示する表示装置と、前記再生中の映像コンテンツデータに関連付けされた第１のボタンと、電子機器を示す第２のボタンとを含むグラフィカルユーザインタフェースを前記表示装置の画面上に表示し、前記第１のボタンを前記第２のボタンに関連付けるためのユーザのポインティング操作に応答して、前記第１のボタンに関連付けられた前記再生中の映像コンテンツデータを、前記電子機器へ転送する制御手段とを具備することを特徴とする。
【００１０】
また、本発明は、映像コンテンツデータを再生可能な情報処理装置であって、再生中の映像コンテンツデータの動画像を表示する表示装置と、外部デバイスから受信される映像コンテンツデータを再生可能な電子機器それぞれを検索する検索手段と、前記再生中の映像コンテンツデータに関連付けされた第１のボタンと、検索された電子機器それぞれを示す複数の第２のボタンとを前記表示装置の画面上に表示し、前記画面上のポインティング位置が、前記第１のボタン上から、前記複数の第２のボタンに関連付けられた複数の検知エリアの一つへスライドされたことに応答して、前記再生中の映像コンテンツデータを、前記一つの検知エリアに関連付けられた第２のボタンによって示される電子機器へ転送する制御手段とを具備し、前記複数の検知エリアは、互いに重複しないように、前記第１のボタンに対応する前記画面上の位置から、前記複数の第２のボタンに対応する前記画面上の位置にそれぞれ延在していることを特徴とする。
【発明の効果】
【００１１】
本発明によれば、簡単な操作で映像コンテンツデータを電子機器に転送することができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の一実施形態に係る情報処理装置を含むホームネットワークシステムの構成例を示す図。
【図２】同実施形態の情報処理装置がコンテンツデータを再生しながら、そのコンテンツデータをＴＶのような電子機器に再生させる様子を示す図。
【図３】同実施形態の情報処理装置のシステム構成の例を示すブロック図。
【図４】同実施形態の情報処理装置のストリーミング機能を実現するためのソフトウェア構成の例を示すブロック図。
【図５】同実施形態の情報処理装置の表示画面上にブラウザによって表示される、動画像表示エリアを含むブラウザウィンドウの例を示す図。
【図６】同実施形態の情報処理装置で用いられるグラフィクスユーザインタフェース（ＧＵＩ）レイヤの例を示す図。
【図７】同実施形態の情報処理装置によって表示されるＧＵＩを説明するための図。
【図８】同実施形態の情報処理装置によって表示されるＧＵＩ内の第１ボタンと複数の第２ボタンを説明するための図。
【図９】同実施形態の情報処理装置の画面上に第１ボタンが表示された状態を示す図。
【図１０】同実施形態の情報処理装置の画面上に表示される複数の第２ボタンのレイアウト例を示す図。
【図１１】同実施形態の情報処理装置の画面上に表示される複数の第２ボタンの別のレイアウト例を示す図。
【図１２】同実施形態の情報処理装置の画面上に表示される複数の第２ボタンのさらに別のレイアウト例を示す図。
【図１３】同実施形態の情報処理装置によって表示されるＧＵＩ内の各第２ボタンに関連付けられたドロップエリアを説明するための図。
【図１４】同実施形態の情報処理装置によって表示されるＧＵＩに対するユーザ操作応答して転送先デバイスが選択された状態を示す図。
【図１５】同実施形態の情報処理装置によって実行されるストリーミング処理の手順を説明するためのフローチャート。
【図１６】同実施形態の情報処理装置によって実行されるＧＵＩ表示処理の手順を説明するためのフローチャート。
【図１７】図１６のＧＵＩ表示処理内において実行される第２ボタン選択処理の手順を説明するためのフローチャート。
【発明を実施するための形態】
【００１３】
以下、図面を参照して、本発明の実施形態について説明する。  
図１には、本発明の一実施形態に係る情報処理装置を含むネットワークシステムの構成例が示されている。このネットワークシステムは、例えば、コンシューマ機器、ポータブルデバイス、パーソナルコンピュータといった家庭内の様々な電子機器同士を相互に接続するためのホームネットワークである。本情報処理装置は、例えば、ノートブックタイプのパーソナルコンピュータ（ＰＣ）１として実現される。
【００１４】
パーソナルコンピュータ（ＰＣ）１は、家庭内の他の電子機器との通信のために、ネットワーク１０に接続されている。このネットワーク１０は、例えば、有線ＬＡＮまたは無線ＬＡＮから構成される。ネットワーク１０には、ＴＶ５、ゲーム機６、他の各種電子機器が接続されている。
【００１５】
ネットワーク１０には、さらに、ブロードバンドモデムまたはブロードバンドルータのような通信機器４が接続されている。パーソナルコンピュータ１は、通信機器４を介してインターネット３上の各ＷＥＢサイトをアクセスすることが出来る。ＷＥＢサイトには、ユーザが作成したホームビデオのような映像コンテンツデータを共有するための動画配信サイト２も含まれている。動画配信サイト２はユーザそれぞれによってアップロードされたビデオクリップ、ホームムービーのような様々な映像コンテンツデータを公開している。パーソナルコンピュータ１のユーザは、動画配信サイト２が提供可能な映像コンテンツデータをインターネット３経由で受信しながら再生することができる。動画配信サイト２へのアクセスは、コンピュータ１によって実行されるソフトウェア、例えば、ブラウザによって実行される。動画配信サイト２上の映像コンテンツデータには、様々な符号化方式で符号化された種々の映像コンテンツデータが含まれている。動画配信サイト２からの映像コンテンツデータの受信および再生は、例えば、ブラウザにプラグインされた動画像再生プログラムによって実行される。この動画像再生プログラムは、動画配信サイト２のようなサーバから受信される符号化された映像コンテンツデータをデコードするためのプレーヤソフトウェアである。動画像再生プログラムによってデコードされた映像コンテンツデータの動画像は、オペレーティングシステムの制御の下、パーソナルコンピュータ１の表示装置に表示される。
【００１６】
映像コンテンツデータの受信および再生は、例えば、ストリーミングを用いて実行される。動画像再生プログラムは、動画配信サイト２から映像コンテンツデータを受信しながら、その受信した映像コンテンツデータをデコードする。
【００１７】
コンピュータ１は、ネットワーク１０上の各デバイスの存在を認識して互いの機能（能力）を交換するためのＵＰｎＰ（universal plug and play）機能を有している。さらに、コンピュータ１は、ＵＰｎＰ機能を利用することにより、例えば、ＤＬＮＡ(Digital Living Network Alliance)のガイドラインで規定されたホームネットワークデバイスとして機能することができる。ホームネットワークデバイスは、デジタルメディアサーバ（ＤＭＳ）、デジタルメディアプレーヤ（ＤＭＰ）、デジタルメディアコントローラ（ＤＭＣ）、デジタルメディアレンダラ（ＤＭＲ）等のカテゴリに分類される。
【００１８】
デジタルメディアサーバ（ＤＭＳ）は、デジタルメディアプレーヤ（ＤＭＰ）からの要求に応じて、デジタルメディアサーバ（ＤＭＳ）内の記憶装置に格納されているコンテンツデータをデジタルメディアプレーヤ（ＤＭＰ）に提供するデバイスである。デジタルメディアコントローラ（ＤＭＣ）は、例えば、デジタルメディアレンダラ（ＤＭＲ）等のデバイスを制御するデバイスである。デジタルメディアレンダラ（ＤＭＲ）は、デジタルメディアコントローラ（ＤＭＣ）の制御の下に、デジタルメディアサーバ（ＤＭＳ）から受信されるコンテンツデータを再生するデバイスである。デジタルメディアレンダラ（ＤＭＲ）が受信および再生すべきコンテンツデータは、デジタルメディアコントローラ（ＤＭＣ）によってデジタルメディアレンダラ（ＤＭＲ）に指示される。
【００１９】
コンピュータ１は、デジタルメディアサーバ（ＤＭＳ）およびデジタルメディアコントローラ（ＤＭＣ）の双方として機能し得る。ＴＶ５およびゲーム機６の各々は、デジタルメディアレンダラ（ＤＭＲ）として機能し得る。
【００２０】
さらに、本実施形態のコンピュータ１は、動画配信サイト２から映像コンテンツデータを受信しながら、そのコンテンツデータをリアルタイムにデジタルメディアレンダラ（ＤＭＲ）、例えば、ＴＶ５、ゲーム機６等に提供する機能（以下、ストリーミング機能と云う）も有している。このストリーミング機能は、ユーザがインターネットブラウジングについての操作性の良いコンピュータを利用してインターネット３上の動画配信サイト２から希望のコンテンツを検索することと、その検索したコンテンツをＴＶ５の大きな画面上に表示させることとを可能にする。なお、動画配信サイト２から受信したコンテンツのみならず、コンピュータ１内に記憶されているコンテンツをＴＶ５に転送して再生させることもできる。
【００２１】
図２には、コンピュータ１が動画配信サイト２から映像コンテンツデータを受信しながら、その映像コンテンツデータをＴＶ５のような電子機器に再生させる様子が示されている。
【００２２】
コンピュータ１のディスプレイの画面上には、ブラウザのウィンドウ５００Ａが表示される。上述したように、動画配信サイト２から受信される映像コンテンツデータのデコードおよび再生は、ブラウザにプラグインされた動画像再生プログラムによって実行される。映像コンテンツデータには、例えば、符号化されたビデオデータと符号化されたオーディオデータとが含まれている。動画像再生プログラムは、これらビデオデータおよびオーディオデータをそれぞれデコードし、デコードされたビデオデータおよびデコードされたオーディオデータを出力する。デコードされたビデオデータに対応する動画像は、ブラウザのウィンドウ５００Ａ内に配置されたビデオウィンドウ５００Ｂ上に表示される。もちろん、ビデオウィンドウ５００Ｂをコンピュータ１の表示画面上にフルスクリーンモードで表示することもできる。
【００２３】
映像コンテンツデータの再生中にストリーミング機能の実行を指示するイベントがユーザ操作に応答して発生されたならば、コンピュータ１は、現在受信および再生中の映像コンテンツデータをＴＶ５に転送するために、ストリーミング処理を開始する。このストリーミング処理では、まず、コンピュータ１は、動画像再生プログラムによってデコードされた映像コンテンツデータ（例えば、デコードによって得られるビデオデータのストリーム、デコードによって得られるオーディオデータのストリーム）をキャプチャし、このキャプチャしたビデオデータストリームおよびオーディオデータストリームをそれぞれ符号化する。この符号化には、ネットワーク上のＤＭＲデバイス（例えば、ＴＶ５）がデコード可能なコーデック（符号化方式）が用いられる。
【００２４】
動画配信サイト２から受信される映像コンテンツデータではなく、動画像再生プログラムの出力（デコードされたビデオデータ、デコードされたオーディオデータ）をキャプチャする理由は、受信された映像ンテンツデータに適用されているコーデックの種類（コンテンツデータ内のビデオデータおよびオーディオデータそれぞれの符号化方式の種類）を意識することなく、その映像コンテンツデータをＤＭＲデバイスが再生可能な映像コンテンツデータに容易に変換できるようにするためである。動画配信サイト２から受信される映像コンテンツデータのパース（解析）、およびビデオデータとオーディオデータとを同期させる処理等は、動画像再生プログラムによって既に実行されている。したがって、動画像再生プログラムの出力を符号化するだけで、ＤＭＲデバイスが再生可能な映像コンテンツデータを容易に生成することができる。
【００２５】
コンピュータ１は、動画像再生プログラムの出力を符号化することによって生成される映像コンテンツデータの再生を、ネットワーク１０を介してＴＶ５に指示する。そして、コンピュータ１は、ネットワーク１０を介してその映像コンテンツデータをＴＶ５へ転送する。この場合、コンピュータ１からＴＶ５への映像コンテンツデータの転送には、ＨＴＴＰプロトコルや、他の様々な汎用プロトコルを利用し得る。ＴＶ５は、コンピュータ１からの再生指示に応答して、再生が指示された映像コンテンツデータをコンピュータ１から受信する処理を開始し、そしてその受信した映像コンテンツデータに含まれる符号化されたビデオデータおよび符号化されたオーディオデータをそれぞれデコードして再生する。
【００２６】
デコードされたビデオデータに対応する動画像はＴＶ５の表示画面６００Ｂ上に表示される。ＴＶ５の表示画面６００Ｂ上に表示されるのは、ブラウザのウィンドウ５００Ａ内の画像全体ではなく、ビデオウィンドウ５００Ｂ上のビデオのみである。よって、ユーザは、ビデオだけを大画面で楽しむことが出来る。デコードされたオーディオデータに対応する音は、例えば、ＴＶ５に設けられたスピーカから出力される。
【００２７】
もし、ＴＶ５がＴＶ放送番組データの視聴処理中であった場合には、ＴＶ５は、視聴対象のコンテンツデータを、放送番組データから、コンピュータ１から送信されるコンテンツデータに自動的に切り換える。
【００２８】
したがって、ユーザは、コンピュータ１を操作して動画配信サイト２上の映像コンテンツを検索および再生しながら、必要に応じて、現在受信および再生中の映像コンテンツデータをＴＶ５にも再生させることができる。
【００２９】
一般に、ＴＶ５の表示画面のサイズはコンピュータ１の表示画面のサイズよりも大きいので、上述のストリーミング機能は、動画配信サイト２上の映像コンテンツデータをユーザがまたは家族全員が鑑賞することを可能にする。また、上述のストリーミング機能は、コンピュータ１のみを操作するだけで実行することができ、ＴＶ５自体の操作は必要とされない。
【００３０】
最近では、インターネット上のサイトを閲覧するためのブラウザ機能を持つＴＶも開発されている。しかし、コンピュータの操作になれていない人にとっては、ＴＶのブラウザ機能を使うことは必ずしも容易ではない。また、通常、ＴＶのブラウザ機能の操作性は、コンピュータのブラウザ機能よりも劣ることが多い。
【００３１】
本実施形態では、家族の内の誰か一人がコンピュータの操作に慣れてさえいれば、その人がコンピュータ１を操作するだけで、インターネットから受信したビデオをＴＶ５の大きな表示画面上に表示させることができる。よって、ＴＶ５からＷＥＢサイトをアクセスすることなく、操作性の良いコンピュータ１を利用してインターネット３から検索したビデオを家族で楽しむことが出来る。
【００３２】
本実施形態のコンピュータ１は、簡単な操作で映像コンテンツデータを電子機器に転送できるようにするために、上述のストリーミング機能を利用する。現在再生中の映像コンテンツデータの動画像がコンピュータ１のディスプレイに表示されている状態で、ストリーミング機能をユーザに制御させるためのグラフィカルユーザインタフェース（ＧＵＩ）がコンピュータ１のディスプレイに表示される。このＧＵＩの詳細は図７以降で説明するが、簡単に説明すると、このＧＵＩには、第１のボタンと、１以上の第２のボタンとが表示される。第１のボタンは転送元コンテンツデータを示すボタンであり、この第１のボタンには現在再生中の映像コンテンツデータが転送元コンテンツデータとして関連付けされている。１以上の第２のボタンは、転送先デバイスとして機能し得る１以上の電子機器を示す。第１のボタンを１以上の第２のボタンに関連付けるためのユーザ操作が行われた時、上述のストリーミング機能が自動的に開始される。そして、第１のボタンに関連付けられた現在再生中の映像コンテンツデータが、１以上の電子機器へ転送される。
【００３３】
よって、ユーザは、映像コンテンツデータを視聴しながら、必要に応じてその映像コンテンツデータを電子機器に容易に転送することができる。
【００３４】
図３は、本コンピュータ１のシステム構成を示す図である。  
本コンピュータ１は、図３に示すように、ＣＰＵ１１、ノースブリッジ１２、主メモリ１３、表示コントローラ１４、ビデオメモリ（ＶＲＡＭ）１４Ａ、ＬＣＤ（Liquid Crystal Display）１５、サウスブリッジ１６、サウンドコントローラ１７、スピーカ１８、ＢＩＯＳ−ＲＯＭ１９、ＬＡＮコントローラ２０、ハードディスクドライブ（ＨＤＤ）２１、光ディスクドライブ（ＯＤＤ）２２、無線ＬＡＮコントローラ２３、ＵＳＢコントローラ２４、エンベデッドコントローラ／キーボードコントローラ（ＥＣ／ＫＢＣ）２５、キーボード（ＫＢ）２６、ポインティングデバイス２７等を備えている。
【００３５】
ＣＰＵ１１は、本コンピュータ１の動作を制御するプロセッサであり、ＨＤＤ２１から主メモリ１３にロードされる、オペレーティングシステム（ＯＳ）、および各種アプリケーションプログラムを実行する。アプリケーションプログラムには、上述のブラウザおよび動画再生プログラムが含まれている。さらに、アプリケーションプログラムには、上述のストリーミング機能を実行するためのソフトウェアが含まれている。また、ＣＰＵ１１は、ＢＩＯＳ−ＲＯＭ１９に格納されたＢＩＯＳ（Basic Input/Output System）も実行する。ＢＩＯＳは、ハードウェア制御のためのプログラムである。
【００３６】
ノースブリッジ１２は、ＣＰＵ１１のローカルバスとサウスブリッジ１６との間を接続するブリッジデバイスである。ノースブリッジ１２には、主メモリ１３をアクセス制御するメモリコントローラも内蔵されている。また、ノースブリッジ１２は、表示コントローラ１４との通信を実行する機能も有している。
【００３７】
表示コントローラ１４は、本コンピュータ１のディスプレイとして使用されるＬＣＤ１５を制御するデバイスである。ＬＣＤ１５は、例えば、ペン又は指によってタッチされた位置を検知可能なタッチスクリーンデバイスとして実現されている。すなわち、ＬＣＤ１５上には、タブレットまたはタッチパネルなどと称される透明な座標検出部１５Ｂが配置されている。
【００３８】
サウスブリッジ１６は、ＰＣＩ（Peripheral Component Interconnect）バス上およびＬＰＣ（Low Pin Count）バス上の各デバイスを制御する。また、サウスブリッジ１６は、ＨＤＤ２１およびＯＤＤ２２を制御するためのＩＤＥ（Integrated Drive Electronics）コントローラおよびＢＩＯＳ−ＲＯＭ１９をアクセス制御するメモリコントローラが内蔵されている。さらに、サウスブリッジ１６は、サウンドコントローラ１７およびＬＡＮコントローラ２０との通信を実行する機能も有している。
【００３９】
サウンドコントローラ１７は音源デバイスであり、再生対象のオーディオデータをスピーカ１８に出力する。ＬＡＮコントローラ２０は、例えばEthernet（登録商標）規格の有線通信を実行する有線通信デバイスであり、無線ＬＡＮコントローラ２３は、例えばIEEE 802.11規格の無線通信を実行する無線通信デバイスである。また、ＵＳＢコントローラ２４は、例えばUSB2.0規格のケーブルを介して外部機器との通信を実行する。
【００４０】
ＥＣ／ＫＢＣ２５は、電力管理を行うためのエンベデッドコントローラと、キーボード（ＫＢ）２６およびポインティングデバイス２７を制御するためのキーボードコントローラとが集積された１チップマイクロコンピュータである。このＥＣ／ＫＢＣ２５は、ユーザの操作に応じて本コンピュータ１をパワーオン／パワーオフする機能を有している。
【００４１】
以上のような構成をもつ本コンピュータ１は、ＨＤＤ２１から主メモリ１３にロードされてＣＰＵ１１によって実行されるプログラム群（ＯＳおよび各種アプリケーション）によって、図１に示した動画配信サイト２が提供するコンテンツデータをインターネット３経由でダウンロードして再生するように動作する。
【００４２】
次に、図４を参照して、上述のストリーミング機能を実行するために使用されるソフトウェア構成を説明する。
【００４３】
図４に示すように、本コンピュータ１には、ＯＳ１００、ブラウザ２１０、動画再生プログラム２２０、メディアストリーミングエンジン２３０がインストールされている。動画再生プログラム２２０およびメディアストリーミングエンジン２３０の各々は、ブラウザ２１０にプラグインソフトウェアとして組み込まれている。
【００４４】
本コンピュータ１のリソース管理を司るＯＳ１００は、カーネル１０１とＤＬＬ１０２とを備えている。カーネル１０１は、図２に示した本コンピュータ１の各部（ハードウェア）を制御するモジュールであり、ＤＬＬ１０２は、このカーネル１０１とのインタフェースをアプリケーションプログラムに提供するモジュールである。ＤＬＬ１０２には、グラフィクス処理に関するＡＰＩであるＧＤＩ（グラフィカルデバイスインタフェース）、サウンド処理に関するＡＰＩであるサウンドＡＰＩ、ＨＴＴＰサーバＡＰＩ、ＵＰｎＰ-ＡＰＩなどが含まれている。
【００４５】
ブラウザ２１０が動画配信サイト２のＷｅｂページを閲覧した時、ブラウザ２１０は、このＷｅｂページ中のタグ情報にしたがって、同Ｗｅｂページが、ビデオのようなコンテンツを含むＷｅｂページであることを検出する。そして、ブラウザ２１０は、プラグインソフトウェアとしてブラウザ２１０に組み込まれている動画再生プログラム２２０を起動する。そして、Ｗｅｂページの閲覧中にビデオのようなコンテンツの再生開始を指示する操作がユーザによって行われると、動画再生プログラム２２０は、動画配信サイト２からその映像コンテンツデータを受信し始める。
【００４６】
動画再生プログラム２２０は、映像コンテンツデータを受信しながら、当該映像コンテンツデータに含まれるビデオデータおよびオーディオデータそれぞれのデコードも並行して実行する。動画再生プログラム２２０は、デコードによって得られたビデオデータのストリームａ１およびデコードによって得られたオーディオデータのストリームｂ１を（ＬＣＤ１５による）画像出力および（スピーカ１８による）音声出力させるべく、ＯＳ１００のＤＬＬ１０２に引き渡す。
【００４７】
通常、ＤＬＬ１０２に渡されたビデオデータａ１およびオーディオデータｂ１は、このＤＬＬ１０２内において、例えば形式チェック等の処理が施された後に、カーネル１０１に供給され、カーネル１０１によって、ＬＣＤ１５からの画像出力やスピーカ１８からの音声出力が行われることになる。ビデオデータａ１に対する形式チェックおよび他の各種処理は、例えば、ＧＤＩによって実行してもよく、またオーディオデータｂ１に対する形式チェックおよび他の各種処理は、例えば、サウンドＡＰＩよって実行してもよい。
【００４８】
メディアストリーミングエンジン２３０は、常駐型のプラグインソフトウェアとしてブラウザ２１０に組み込まれるプログラムであり、ブラウザ２１０の起動に伴って自動的に起動される。このメディアストリーミングエンジン２３０は上述のストリーミング機能を実行する為に、以下の機能を有している。
【００４９】
１．ネットワーク１０上のＤＭＲデバイス（ＤＭＳのような外部デバイスから受信される映像コンテンツデータを再生可能な電子機器）を検索するための機能  
２．動画再生プログラム２２０の出力をＤＬＬ１０２を介してキャプチャする機能  
３．キャプチャしたビデオデータおよびオーディオデータをMPEG-2やWMVの符号化方式で符号化する機能  
４．符号化されたビデオデータおよび符号化されたオーディオデータを含む映像コンテンツデータを、ＴＶ５のようなＤＭＲデバイスへ転送する機能
これらの機能を実現するために、メディアストリーミングエンジン２３０は、キャプチャ制御部２３１と、タイムスタンプ部２３２と、エンコーダ２３３と、プッシュコントローラ２３４と、制御部２３５とを含んでいる。
【００５０】
キャプチャ制御部２３１は、動画再生プログラム２２０から出力されるビデオデータａ１およびオーディオデータｂ１をキャプチャする。動画再生プログラム２２０はビデオデータａ１およびオーディオデータｂ１をＯＳ１００に出力するので、キャプチャ制御部２３１は、ＯＳ１００を介して、動画再生プログラム２２０から出力されるビデオデータａ１およびオーディオデータｂ１をキャプチャすることができる。例えば、このキャプチャは、ＤＬＬ１０２内の一部のルーチンの書き換えを行うことによって実行してもよい。この場合、ビデオデータａ１およびオーディオデータｂ１を扱うＤＬＬ１０２内のルーチンを、ビデオデータａ１およびオーディオデータｂ１それぞれの複製データをメディアストリーミングエンジン２３０に引き渡す手順が追加された新たなルーチンに書き替えるようにしてもよい。この新たなルーチンは、動画再生プログラム２２０から出力されるビデオデータａ１およびオーディオデータｂ１をカーネル１０１に渡すと共に、ビデオデータａ１およびオーディオデータｂ１それぞれの複製であるビデオデータａ２およびオーディオデータｂ２をメディアストリーミングエンジン２３０に渡す。
【００５１】
例えばメディアストリーミングエンジン２３０が起動された時、キャプチャ制御部２３１は、動画再生プログラム２２０の起動をメディアストリーミングエンジン２３０に通知するようにブラウザ２１０に依頼する。そして、この通知を受けた時に、キャプチャ制御部２３１は、このＤＬＬ１０２内のルーチン（例えば、ＧＤＩの一部、サウンドＡＰＩの一部、等）の書き換えを実行する。
【００５２】
なお、(i)ビデオデータａ１およびオーディオデータｂ１をカーネル１０１に渡す第１の機能と、(ii)ビデオデータａ１およびオーディオデータｂ１をキャプチャしてメディアストリーミングエンジン２３０に渡す第２の機能、とを実行可能なソフトウェアモジュールをＤＬＬ１０２内に予め設けておき、第２の機能の有効／無効をメディアストリーミングエンジン２３０のキャプチャ制御部２３１によって制御するようにしてもよい。
【００５３】
このようなキャプチャ制御部２３１の働きによって、タイムスタンプ部２３２は、ビデオデータａ２およびオーディオデータｂ２をＤＬＬ１０２から受け取ることができる。タイムスタンプ部２３２は、ビデオデータａ２およびオーディオデータｂ２を受け取ったタイミングを示す時間情報を、それらビデオデータａ２およびオーディオデータｂ２にそれぞれ付与するモジュールである。タイムスタンプ部２３２によって時間情報が付与されたビデオデータａ２およびオーディオデータｂ２は、エンコーダ２３３に導かれる。エンコーダ２３３は、ビデオデータａ２およびオーディオデータｂ２をそれぞれ符号化する。エンコーダ２３３は、タイムスタンプ部２３２によって付与された時間情報に基づいて、符号化されたビデオデータと符号化されたオーディオデータとを多重化し、これによって符号化されたビデオデータと符号化されたオーディオデータとが多重化されたビットストリームから構成される映像コンテンツデータを生成する。
【００５４】
プッシュコントローラ２３４は、エンコーダ２３３によって生成された映像コンテンツデータの再生をネットワーク１０を介してＤＭＲデバイス（例えば、ＴＶ５）に指示し、そして映像コンテンツデータをネットワーク１０を介してＤＭＲデバイス（例えば、ＴＶ５）へ転送する。このプッシュコントローラ２３４は、トランスポートサーバ２３４Ａとメディアレンダラーコントロールポイント２３４Ｂとを備えている。メディアレンダラーコントロールポイント２３４Ｂは上述のＤＭＣとして機能するモジュールであり、エンコーダ２３３によって生成された映像コンテンツデータの再生を指示する制御メッセージをネットワーク１０を介してＤＭＲデバイスに対して送信する。この制御メッセージは、ＯＳ１００、ネットワークデバイスドライバ、ネットワーク１０を介して、ＤＭＲデバイス（例えば、ＴＶ５）に送られる。トランスポートサーバ２３４Ａは、エンコーダ２３３によって生成された映像コンテンツデータをＤＭＲデバイス（例えば、ＴＶ５）に送信するモジュールである。コンテンツデータの送信は、例えば、ＤＬＬ１０２内のＨＴＴＰ−ＡＰＩとＤＭＲデバイス（例えば、ＴＶ５）との間の通信を用いて実行される。
【００５５】
制御部２３５は、メディアストリーミングエンジン２３０内の各要素を制御する。この制御部２３５は、タッチスクリーン（ＬＣＤ１５の画面）上にグラフィカルユーザインタフェースを表示し、ユーザによるグラフィカルユーザインタフェースの操作に従って、ＴＶ５への映像コンテンツデータの転送の開始および停止、具体的には、ストリーミング機能の開始及び停止を制御する。
【００５６】
制御部２３５は、グラフィクスユーザインタフェース（ＧＵＩ）部２３５Ａおよびデバイス検索部２３５Ｂを含んでいる。デバイス検索部２３５Ｂは、ＤＬＬ１０２内のＵＰｎＰ−ＡＰＩと共同して、ネットワーク１０上のＤＭＲデバイスを検索（発見）するための処理を実行する。グラフィカルユーザインタフェース（ＧＵＩ）部２３５Ａは、上述のストリーミング機能をユーザに制御させるためのＧＵＩをタッチスクリーン（ＬＣＤ１５の画面）上に表示し、そしてユーザによるＧＵＩに対する操作に応じてストリーミング機能の実行を制御する。ユーザは、ポインティングデバイス２７を操作することにより、またはタッチスクリーン上を指でタッチ操作することにより、ストリーミング機能を制御するための指示（例えば、ストリーミングの開始および終了の指示、ＤＭＲデバイスの選択指示、等）をメディアストリーミングエンジン２３０に与えることが出来る。
【００５７】
次に、図５乃至図１４を参照して、ストリーミング機能をユーザに制御させるためのＧＵＩの例について説明する。
【００５８】
図５には、コンピュータ１のＬＣＤ１５の表示画面（デスクトップ画面）５００の例が示されている。コンピュータ１の表示画面５００上には、ブラウザ２１０のウィンドウ５００Ａが表示される。動画再生プログラム２２０によってビデオの再生が開始されると、そのビデオに対応する動画像がウィンドウ５００Ａ内に配置されたビデオウィンドウ５００Ｂ上に表示される。ユーザによるポインティングデバイス２７の操作に応じてマウスカーソルがビデオウィンドウ５００Ｂ上に移動された時、またはビデオウィンドウ５００Ｂ上の位置が指でタッチされた時、グラフィカルユーザインタフェース（ＧＵＩ）部２３５ＡはＧＵＩの表示を開始する。このＧＵＩの表示には、図６に示すように、表示画面５００とは異なるレイヤ６００が用いられる。このＧＵＩレイヤ６００は、表示画面５００と同じサイズを有している。グラフィカルユーザインタフェース（ＧＵＩ）部２３５Ａは、ＧＵＩレイヤ６００上にアイコン（ボタン）等のオブジェクトを描画することによって、上述のＧＵＩを表示画面５００上に表示する。ＧＵＩレイヤ６００においては、アイコン等のオブジェクトが描画されたエリア以外の他の全てのエリアは、表示画面５００の内容が見えるように透明に設定される。このＧＵＩレイヤ６００を用いることにより、ビデオウィンドウ５００Ｂ若しくはウィンドウ５００Ａ上に、またはウィンドウ５００Ａの外側のエリアに、ＧＵＩのためのアイコン等のオブジェクトを表示することが出来る。
【００５９】
次に、図７を参照して、本実施形態で用いられるＧＵＩ制御について説明する。  
今、１つのボタンＡがユーザによって選択された時に複数のボタンＢがさらに表示され、その複数のボタンＢのうち１つをユーザ操作により選択するという状況を想定する。通常では、ユーザは、ポインティングデバイス２７を操作することにより、またはタッチスクリーン上を指でタッチ操作することにより、まず、ボタンＡを選択し、その後、ボタンＢを選択することになる。この場合、２度のクリック操作が必要となる。また、タッチスクリーンを指で操作する場合には、２度、ボタンを指で押すことが必要となる。さらに、1度目、2度目ともに、正確にボタンの上に指を合わせて押す操作を行うことが要求される。
【００６０】
本実施形態では、上記の操作のみならず、別の操作でも、ボタンＡ，Ｂの選択を可能にする。以下、タッチスクリーンを指で操作する場合を想定して、指によるボタン操作に応じて制御部２３５がどのように動作するかを説明する。
【００６１】
１．ユーザは、タッチスクリーンデバイスの表示画面５００上に表示されている第１のボタン（Ａ）５００を指で押す（図７の（１））。  
２．制御部２３５は、第１のボタン（Ａ）５００が押されたことを認識し、表示画面５００上における第１のボタン（Ａ）５００の周辺領域に、複数の第２のボタン（Ｂ）６０１，６０２，６０３を表示する（図７の（２））。  
３．ユーザは、表示画面５００上に指を触れたまま、指の位置を、第１のボタン（Ａ）５００に対応する表示画面５００上の位置から、第２のボタン（Ｂ）６０１，６０２，または６０３の方向にスライドし、そして表示画面５００上から指を離す（図７の（３））。
【００６２】
４．制御部２３５は、指が離された位置に応じて、換言すれば、指の位置のスライド方向（ポインティング位置のスライド方向）に応じて、第２のボタン（Ｂ）６０１，６０２，６０３の一つを選択する。制御部２３５は、現在再生中の映像コンテンツデータを、選択された第２のボタン（Ｂ）に対応する電子機器へ転送する。例えば、指の位置（ポインティング位置）が、第１のボタン（Ａ）５００上から、第２のボタン（Ｂ）６０１に対応する表示画面５００上のエリアに向けてスライドされたならば、制御部２３５は、第２のボタン（Ｂ）６０１を選択する。現在再生中の映像コンテンツデータは第２のボタン（Ｂ）６０１に対応する電子機器へ転送される。また、例えば、指の位置（ポインティング位置）が、第１のボタン（Ａ）５００上から、第２のボタン（Ｂ）６０２に対応する表示画面５００上のエリアに向けてスライドされたならば、制御部２３５は、第２のボタン（Ｂ）６０２を選択する。現在再生中の映像コンテンツデータは第２のボタン（Ｂ）６０１に対応する電子機器へ転送される。
【００６３】
従来のドラッグ＆ドロップ方式では、ユーザは正確にボタン群（Ｂ）内の一つのボタン上に指をスライドさせることが必要となるが、本実施形態では、ポインティング位置のスライド方向に応じてボタン群（Ｂ）内の一つのボタンを選択できる。よって、タッチスクリーンを用いたＧＵＩの操作性を向上させることができる。
【００６４】
また、通常のクリック動作の繰り返しによっても、ボタン群（Ｂ）内の一つのボタンを選択できる。たとえば、ユーザは、ボタン（Ａ）６００を押して離し、その後表示されたボタン群（Ｂ）６０１，６０２，６０３のうち１つを押して離すという操作を行う。この場合でも、ボタン群（Ｂ）内の一つのボタンを選択することが出来る。
【００６５】
なお、ここでは、指の操作を例示して説明したが、本実施形態のＧＵＩ制御は、マウス、タッチパッドのようなポインティングデバイスの操作にも適用できる。
【００６６】
ポインティング位置のスライド方向に応じてボタン群（Ｂ）内の一つのボタンを選択するというＧＵＩ制御は、ボタン群（Ｂ）それぞれに対応する検知エリア（ドロップエリアとも云う）を、図７の（４）に示すように設定することによって実現できる。すなわち、本実施形態では、ボタン（Ａ）６００から、ボタン（Ｂ）６０１，６０２，６０３にそれぞれ延在する３つの検知エリアが定義される。これら３つの検知エリアは互いに重複しないように定義されている。ボタン（Ｂ）６０１，６０２，６０３は、ボタン（Ａ）６００の周辺エリアに表示され、その周辺エリアは、ボタン（Ａ）６００から、ボタン（Ｂ）６０１，６０２，６０３にそれぞれ延在する３つの検知エリアに分割される。例えば、ボタン（Ｂ）６０２に対応する検知エリアは、ボタン（Ａ）６００の中心位置からボタン（Ｂ）６０２に向けて延びる扇形（中心角＝Ｂ２）である。
【００６７】
制御部２３５は、画面上のポインティング位置が、ボタン（Ａ）６００上から、３つの検知エリアの一つへスライドされたことに応答して、再生中の映像コンテンツデータを、ポインティング位置がスライドされた検知エリアに関連付けられたボタン（Ｂ）によって示される電子機器へ転送する。したがって、ユーザは、指を、ボタン（Ａ）６００上の位置から、目的の第２ボタン（Ｂ）に向けてスライドさせるだけで、目的の第２ボタン（Ｂ）を選択できる。例えば、第２ボタン（Ｂ）６０２については、ユーザは、指の位置を、ボタン（Ａ）６００から右側にスライドさせればよい。
【００６８】
図８には、ボタン（Ｂ）６０１，６０２，６０３それぞれに対応する検知エリア７０１，７０２，７０３の例が示されている。検知エリア７０１，７０２，７０３は、ボタン（Ｂ）６０１，６０２，６０３を囲む領域を３つのエリアに分割することによって得られる。
【００６９】
検知エリア７０１はボタン（Ｂ）６０１に対応する検知エリアであり、この検知エリア７０１は、ボタン（Ａ）６００に対応する表示画面５００上の位置からボタン（Ｂ）６０１に対応する表示画面５００上の位置へ延在している。換言すれば、この検知エリア７０１は、ボタン（Ａ）６００とボタン（Ｂ）６０１とを結ぶ線に沿って延びる表示画面５００上のエリアを少なくとも含んでいる。
【００７０】
検知エリア７０２はボタン（Ｂ）６０２に対応する検知エリアであり、この検知エリア７０２は、ボタン（Ａ）６００に対応する表示画面５００上の位置からボタン（Ｂ）６０２に対応する表示画面５００上の位置へ延在している。換言すれば、この検知エリア７０２は、ボタン（Ａ）６００とボタン（Ｂ）６０２とを結ぶ線に沿って延びる表示画面５００上のエリアを少なくとも含んでいる。
【００７１】
検知エリア７０３はボタン（Ｂ）６０３に対応する検知エリアであり、この検知エリア７０２は、ボタン（Ａ）６００に対応する表示画面５００上の位置からボタン（Ｂ）６０３に対応する表示画面５００上の位置へ延在している。換言すれば、この検知エリア７０４は、ボタン（Ａ）６００とボタン（Ｂ）６０３とを結ぶ線に沿って延びる表示画面５００上のエリアを少なくとも含んでいる。
【００７２】
ユーザは、表示画面５００上に指をふれたまま、指の位置を、第１のボタン（Ａ）５００に対応する表示画面５００上の位置から、第２のボタン（Ｂ）６０１，６０２，または６０３の方向にスライドし、そして表示画面５００上から指を離す。制御部２３５は、指が離された位置（ドロップ位置）が検知エリア７０１，７０２，７０３のいずれに属するかを判定し、ドロップ位置が属する検知エリアを有する第２のボタン（Ｂ）を選択する。
【００７３】
次に、制御部２３５によって実行されるＧＵＩ表示処理の手順を説明する。  
マウスカーソルがビデオウィンドウ５００Ｂ上に移動された時、またはビデオウィンドウ５００Ｂの表示位置に対応するタッチスクリーン上のエリアが指でタッチされた時、制御部２３５のグラフィカルユーザインタフェース（ＧＵＩ）部２３５Ａは、図９に示すように、第１のボタン（第１のアイコン）６００を表示画面５００上、例えば、ビデオウィンドウ５００Ｂ上に表示する。この第１のボタン６００は、ユーザに対してビデオウィンドウ５００Ｂ上のビデオの操作（ここでは、ストリーミング機能の実行）が可能であることを通知するために使用される。この第１のボタン６００は、上述したように、ビデオウィンドウ５００Ｂ上で現在再生されているビデオに関連付けられている。
【００７４】
この第１のアイコン６００がユーザによるタッチ操作またはポインティングデバイスの操作によって選択された時、制御部２３５のデバイス検索部２３５Ｂは、ネットワーク１０上のＤＭＲデバイスを検索する。そして、グラフィカルユーザインタフェース（ＧＵＩ）部２３５Ａは、この検索処理によって発見された全てのＤＭＲデバイスをそれぞれ示す第２のボタン（第２のアイコン）を、図１０に示すように、表示画面５００上、例えば、ビデオウィンドウ５００Ｂ上に表示する。図１０においては、ＤＭＲ１、ＤＭＲ２、ＤＭＲ３の３つのＤＭＲデバイスが発見された場合を想定している。この場合、３つのＤＭＲデバイスにそれぞれ関連付けられた３つの第２のボタン６０１，６０２，６０３が第１のボタン６００の周辺に表示される。各第２のボタンには、対応するＤＭＲデバイスの名前を示すテキストフィールドが付随している。ユーザは、タッチ操作またはポインティングデバイスの操作によって、例えばドラッグ＆ドロップのようなポインティング操作を行うことにより、第１のボタン６００を、第２のボタン６０１，６０２，６０３のいずれかに関連付けることができる。制御部２３５は、第１のボタン６００に関連付けられた第２のボタンによって示されるＤＭＲデバイスを送信先デバイスとして選択する。ビデオウィンドウ５００Ｂ上で現在再生されているビデオデータのキャプチャおよび符号化が開始され、そして符号化されたビデオデータが、送信先デバイスとして選択されたＤＭＲデバイスへ自動的に転送される。
【００７５】
図１１には、第２のボタン群の他の表示例が示されている。
【００７６】
図１１においては、ＤＭＲ１、ＤＭＲ２、ＤＭＲ３、ＤＭＲ４、ＤＭＲ５の５つのＤＭＲデバイスが発見された場合を想定している。５つのＤＭＲデバイスにそれぞれ関連付けられた５つの第２のボタン６０１，６０２，６０３，６０４，６０５は、図１１に示されているように、第１のボタン６００を中心とする円弧に沿って表示される。
【００７７】
図１２には、第２のボタン群のさらに他の表示例が示されている。
【００７８】
図１２においては、ＤＭＲ１〜ＤＭＲ８の８つのＤＭＲデバイスが発見された場合を想定している。８つのＤＭＲデバイスにそれぞれ関連付けられた８つの第２のボタン６０１〜６０８は、図１２に示されているように、第１のボタン６００を囲むように表示される。例えば、第２のボタン６０１〜６０８は、第１のボタン６００を中心とする同心円に沿って表示される。
【００７９】
図１３には、図１２の第２のボタン６０１〜６０８にそれぞれ対応する検知エリアの例が示されている。
【００８０】
第１のボタン６００を囲むエリア、例えば、第１のボタン６００を中心とする同心円は、第２のボタン６０１〜６０８にそれぞれ対応する８つの検知エリア７０１〜７０８に分割される。第２のボタン６０１〜６０８は、ユーザが指で第１のボタン６００を押した時に第１のボタン６００の回りに表示される。ユーザは、表示画面５００上に指を触れたまま、指の位置を、第１のボタン５００に対応する表示画面５００上の位置から、例えば、第２のボタン６０８に向かう方向にスライドし、そして表示画面５００上から指を離す（ドラッグ＆ドロップ）。この場合、ドロップ位置は検知エリア７０８内に属するため、第２のボタン６０８が選択される。なお、ドラッグ操作に応じて、つまり指の位置のスライドに応じて、表示画面５００上に表示される第１のボタン５００の位置を移動させてもよい。
【００８１】
第２のボタン６０８が選択されると、図１４に示すように、第１のボタン５００と、選択された第２のボタン６０８以外の他の第２のボタンが表示画面５００上から消失され、選択された第２のボタン６０８だけが表示画面５００上に表示される。図１４の表示状態は、第２のボタン６０８によって示されるＤＭＲ８への映像コンテンツデータの転送が行われていることを示している。第２のボタン６０８がユーザによって再び選択されると、ＤＭＲ８への映像コンテンツデータの転送が停止される。
【００８２】
次に、図１５のフローチャートを参照して、本実施形態のコンピュータ１によって実行されるストリーミング処理の手順について説明する。
【００８３】
ユーザ操作によってブラウザ２１０が起動された時（ステップＡ１）、ブラウザ２１０は、まず、メディアストリーミングエンジン２３０をメモリ１３にロードして起動する（ステップＡ２）。ステップＡ２では、メディアストリーミングエンジン２３０がメモリ１３にロードされて実行される。メディアストリーミングエンジン２３０のキャプチャ制御部２３１は、ビデオデータおよびオーディオデータの取得のために、例えば、ＯＳ１００のＤＬＬ１０２の書き換えを実行する（ステップＡ３）。
【００８４】
ユーザがブラウザ２１０によって動画配信サイト２のＷｅｂページを閲覧すると（ステップＡ４）、ブラウザ２１０は、プラグインソフトウェアとして組み込まれている動画再生プログラム２２０を起動する（ステップＡ５）。そして、ユーザがそのＷｅｂページ上のある映像コンテンツデータの再生開始を指示する操作を行うと、動画再生プログラム２２０は、その映像コンテンツデータのダウンロードを開始する（ステップＡ６）。そして、動画再生プログラム２２０は、動画配信サイト２から映像コンテンツデータをダウンロードしながら、つまり、動画配信サイト２から映像コンテンツデータを受信しながら、その映像コンテンツデータを再生する（ステップＡ７）。再生処理では、動画再生プログラム２２０は、映像コンテンツデータから符号化されたビデオデータと符号化されたオーディオデータとを取り出し、それら符号化されたビデオデータと符号化されたオーディオデータとをそれぞれデコードする。デコードされたビデオデータおよびデコードされたオーディオデータはＯＳ１００に送られる。そして、デコードされたビデオデータに対応する動画像は、ブラウザ２１０のウィンドウ５００Ａ内に配置されたビデオウィンドウ５００Ｂ上に表示される。
【００８５】
ユーザ操作によってビデオウィンドウ５００Ｂ上にマウスカーソルが移動されたとき、ビデオウィンドウ５００Ｂ上が指でタッチされたとき、メディアストリーミングエンジン２３０は、上述のＧＵＩを表示画面５００上に表示し、そしてユーザによるＧＵＩの操作に応じて、転送先デバイスにすべきＤＭＲデバイスを選択する（ステップＡ８）。ステップＡ８では、メディアストリーミングエンジン２３０は、まず、第１のボタン（第１のアイコン）６００を表示画面５００上に表示する。第１のボタン６００がユーザによって選択されると、メディアストリーミングエンジン２３０は、ＵＰｎＰ機能を用いて、ネットワーク上のＤＭＲデバイスを検索する。そして、メディアストリーミングエンジン２３０は、発見されたＤＭＲデバイス毎に第２のボタン（第２のアイコン）を表示画面５００上に表示する。ユーザによめドラックドロップ操作等によって第１のボタン６００が第２のボタンのいずれかに関連づけされると、メディアストリーミングエンジン２３０は、その関連づけされた第２のボタンに対応するＤＭＲデバイスを転送先の外部デバイスとして選択する。
【００８６】
メディアストリーミングエンジン２３０は、動画再生プログラム２２０から出力されるビデオデータおよびオーディオデータのキャプチャを開始する（ステップＡ９）。そして、メディアストリーミングエンジン２３０は、キャブチャされたビデオデータおよびオーディオデータに対して時間情報をそれぞれ付与し（ステップＡ１０）、そしてキャブチャされたビデオデータおよびオーディオデータをそれぞれ符号化することによって、選択されたＤＭＲデバイスがデコード可能な映像コンテンツデータを生成する（Ａ１１）。メディアストリーミングエンジン２３０は、選択されたＤＭＲデバイスに対して、生成した映像コンテンツデータの再生を指示し、そして、生成した映像コンテンツデータを選択されたＤＭＲデバイスへ送信する（ステップＡ１２）。
【００８７】
次に、図１６のフローチャートを参照して、本実施形態で用いられるＧＵＩ制御動作の手順を説明する。
【００８８】
マウスカーソルがビデオウィンドウ５００Ｂ上に移動された時、またはビデオウィンドウ５００Ｂの表示位置に対応するタッチスクリーン上のエリアが指でタッチされた時、制御部２３５Ａは、現在再生中の映像コンテンツデータに関連付けされた第１のボタンＡを表示画面５００上、例えば、ビデオウィンドウ５００Ｂ上に表示する（ステップＢ１）。この第１のボタンＡがユーザによるタッチ操作またはポインティングデバイスの操作によって選択された時に（第１のボタンＡのクリック、第１のボタンＡのドラッグ、等）（ステップＢ２のＹＥＳ）、制御部２３５のデバイス検索部２３５Ｂは、ネットワーク１０上のＤＭＲデバイスを検索する。そして、グラフィカルユーザインタフェース（ＧＵＩ）部２３５Ａは、この検索処理によって発見された全てのＤＭＲデバイスをそれぞれ示す第２のボタンＢを、第１のボタンＡの周辺エリアに表示する（ステップＢ３）。
【００８９】
ユーザは、第１のボタンＡが選択された状態で、ポインティング位置を第１のボタンＡ上からある第２のボタンＢに向けてスライドさせる。ポインティング位置をスライドさせる操作はドロー操作とも呼ばれる。制御部２３５は、例えば、指が表示画面から離されたこと、またはマウスの左ボタンが離されたことに応答して、ドロー操作が終了したかどうか、つまりドロップ操作が行われたかどうかを判定する（ステップＢ４）。
【００９０】
ドロップ操作が行われると（ステップＢ４のＹＥＳ）、制御部２３５は、複数の第２ボタンの中で、第１のボタンＡから見てポインティング位置がスライドされた方向に存在する第２のボタンＢを選択する（ステップＢ５）。そして、制御部２３５は、再生中の映像コンテンツデータを、選択された第２のボタンＢによって示されるＤＭＲへ転送する（ステップＢ６）。
【００９１】
次に、図１７のフローチャートを参照して、図１６のステップＢ５で実行される、第２のボタンＢを選択する処理の手順の例を説明する。
【００９２】
制御部２３５は、第１のボタンＡに対応する表示画面５００上の位置から、複数第２のボタンＢに対応する表示画面上の位置にそれぞれ延在し、互いに重複しない複数の検知エリア（ドロップエリア）を設定する（ステップＣ１）。そして、ドロップ操作が行われると（ステップＣ２のＹＥＳ）、制御部２３５は、ドロップ位置が複数のドロップエリアのいずれに属するかを決定し（ステップＣ３）、決定されたドロップエリアに対応する第２のボタンＢを選択する（ステップＣ４）。
【００９３】
以上説明したように、本実施形態によれば、現在再生中の映像コンテンツデータの動画像がディスプレイに表示されている状態で、ＧＵＩがディスプレイに表示される。このＧＵＩには、第１のボタンと、１以上の第２のボタンとが表示される。第１のボタンＡには現在再生中の映像コンテンツデータが転送元コンテンツデータとして関連付けされている。１以上の第２のボタンは、転送先デバイスとして機能し得る１以上の電子機器を示す。第１のボタンを１以上の第２のボタンに関連付けるためのユーザ操作が行われた時、ストリーミング機能が自動的に開始され、第１のボタンに関連付けられた現在再生中の映像コンテンツデータが、第１のボタンに関連付けされた第２のボタンによって示される電子機器へ転送される。よって、ユーザは、映像コンテンツデータを視聴しながら、必要に応じてその映像コンテンツデータを電子機器に容易に転送することができる。
【００９４】
なお、本実施形態では、動画配信サイトのようなサーバから受信される符号化された映像コンテンツデータを電子機器へ転送する場合を例示したが、コンピュータ１の記憶装置に記憶されている映像コンテンツデータの再生中に表示されるＧＵＩに対するユーザ操作に応じて、その再生中の映像コンテンツデータをキャプチャし、そのキャプチャした映像コンテンツデータを電子機器へ転送してもよい。
【００９５】
なお、本実施形態のデータ転送機能はコンピュータプログラムによって実現されているので、このコンピュータプログラムを格納したコンピュータ読み取り可能な記憶媒体を通じて、このコンピュータプログラムを通常のコンピュータにインストールして実行するだけで、本実施形態と同様の効果を容易に得ることが出来る。
【００９６】
また、本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に構成要素を適宜組み合わせてもよい。
【符号の説明】
【００９７】
１００…ＯＳ、２１０…ブラウザ、２２０…動画再生プログラム、２３０…メディアストリーミングエンジン、２３１…キャプチャ制御部と、２３２…タイムスタンプ部、２３３…エンコーダ、２３４…プッシュコントローラ、２３５…制御部、２３５Ａ…ＧＵＩ部、２３５Ｂ…デバイス検索部。
【図１】
2011090461.tif 000003
【図２】
2011090461.tif 000004
【図３】
2011090461.tif 000005
【図４】
2011090461.tif 000006
【図５】
2011090461.tif 000007
【図６】
2011090461.tif 000008
【図７】
2011090461.tif 000009
【図８】
2011090461.tif 000010
【図９】
2011090461.tif 000011
【図１０】
2011090461.tif 000012
【図１１】
2011090461.tif 000013
【図１２】
2011090461.tif 000014
【図１３】
2011090461.tif 000015
【図１４】
2011090461.tif 000016
【図１５】
2011090461.tif 000017
【図１６】
2011090461.tif 000018
【図１７】
2011090461.tif 000019