"第一のビデオ装置と第二のビデオ装置の間でデジタルビデオをストリームする方法であって、該第一のビデオ装置はパブリックデータネットワークに接続されており、該第二のビデオ装置はケーブルネットワークおよびケーブルヘッドエンドを有するケーブルテレビシステムに接続されており、該ケーブルヘッドエンドもまた該パブリックデータネットワークに接続されており、該第二のビデオ装置がビデオ装置制御装置により制御され、該方法は、該第一のビデオ装置から該ケーブルヘッドエンドへの第一の両方向データチャネルを確立することと、該ケーブルネットワークを通る該第二のビデオ装置から該ケーブルヘッドエンドへの第二の両方向データチャネルを確立することであって、それにより該ケーブルヘッドエンドを通り該第一のビデオ装置と該第二のビデオ装置の間の両方向データ通信を許可することと、該第一のデータチャネルを使用して該ケーブルヘッドエンドで該第一のビデオ装置から該デジタルビデオを含む第一のデータストリームを受信することと、該受信されたデジタルビデオに基づいた第二のビデオを含む第二のデータストリームを形成することと、該第二のデータチャネルを使用して該第二のデータストリームを該ケーブルヘッドエンドから該第二のビデオ装置へと伝送することであって、該データストリームは、該第一および第二のデータチャネルを通り該ビデオ装置制御装置から該第一のビデオ装置へとコマンドを伝達することにより制御される、ことと、を含む、方法。前記デジタルビデオが音声データ、動画像データ、静止画像データ、もしくはこれらの任意の組み合わせを含む、請求項1に記載の方法。前記デジタルビデオがMPEG仕様に従ってエンコードされる、請求項1に記載の方法。前記第一のビデオ装置がパーソナルコンピュータもしくはスマートフォンである、請求項1に記載の方法。前記第二のビデオ装置がテレビもしくはテレビに接続されたセットトップボックスであり、前記装置制御装置がリモコンである、請求項1に記載の方法。前記テレビで前記第二のビデオを表示することをさらに含む、請求項5に記載の方法。前記第二のビデオが前記受信されたデジタルビデオを含む、請求項1に記載の方法。前記第二のビデオが前記受信されたデジタルビデオを前記第二のビデオ装置でデコード可能なフォーマットにトランスコードすることを含む、請求項1に記載の方法。前記第二のビデオが複数のビデオフレームを含んでおり、各ビデオフレームがもう一つの画像とステッチし合わされたデジタルビデオのフレームを含む、請求項1に記載の方法。その他の画像が、広告、前記第一のビデオ装置と関連した情報、もしくは前記デジタルビデオと関連した情報を含む、請求項9に記載の方法。前記パブリックデータネットワークがインターネットである、請求項1に記載の方法。前記第一および第二のビデオ装置が個人の敷地内に位置している、請求項1に記載の方法。前記第一および第二のビデオ装置の間の両方向データチャネルの全体が敷地内に含まれることがない、請求項12に記載の方法。前記第一のデータチャネルを確立することが、該第一のデータチャネルを確立する第一のリクエストを前記第一のビデオ装置から受信することであって、該第一のリクエストは、固有識別子を含むリクエストパラメーターを有する、ことと、該リクエストパラメーターに基づき該第一のデータチャネルを確立することを認可することと、を含む、請求項1に記載の方法。前記第一のリクエストが前記パブリックデータネットワークもしくは前記ケーブルネットワークいずれかを通して受信される、請求項14に記載の方法。前記固有識別子は、前記第一のビデオ装置と固有に関連するメディアアクセス制御MACアドレスである、請求項14に記載の方法。前記第二のデータチャネルを確立することが、該第二のデータチャネルを確立する第二のリクエストを前記第二のビデオ装置から受信することであって、該第二のリクエストは、前記固有識別子を含むリクエストパラメーターを有する、ことと、該受信された固有識別子を使用して前記第一のビデオ装置を識別することと、該第二のビデオ装置と該識別された第一のビデオ装置とをアソシエートすることと、を含む、請求項14に記載の方法。第一のビデオ装置と第二のビデオ装置の間でデジタルビデオをストリームするためのコンピュータプログラムコードが格納された、実体のある、一時的でないデータ記憶媒体であって、該第一のビデオ装置はパブリックデータネットワークに接続されており、該第二のビデオ装置はケーブルネットワークおよびケーブルヘッドエンドを有するケーブルテレビシステムに接続されており、該ケーブルヘッドエンドもまた該パブリックデータネットワークに接続されており、該第二のビデオ装置がビデオ装置制御装置により制御され、該記憶媒体は、該第一のビデオ装置から該ケーブルヘッドエンドへの第一の両方向データチャネルを確立するためのプログラムコードと、該ケーブルネットワークを通る該第二のビデオ装置から該ケーブルヘッドエンドへの第二の両方向データチャネルを確立するためのプログラムコードであって、それにより、該ケーブルヘッドエンドを通り該第一のビデオ装置と該第二のビデオ装置の間の両方向データ通信を許可する、プログラムコードと、該第一のデータチャネルを使用して該ケーブルテレビヘッドエンドで該第一のビデオ装置から該デジタルビデオを含む第一のデータストリームを受信するためのプログラムコードと、該受信されたデジタルビデオに基づいた第二のビデオを含む第二のデータストリームを形成するためのプログラムコードと、該第二のデータチャネルを使用して該第二のデータストリームを該ケーブルヘッドエンドから該第二のビデオ装置へと伝送するためのプログラムコードであって、該データストリームは、該第一および第二のデータチャネルを通り該ビデオ装置制御装置から該第一のビデオ装置へとコマンドを伝達することにより制御される、プログラムコードと、を含む、記憶媒体。説明される実施形態の概要本発明の種々の実施形態に従って、既存のケーブルテレビインフラストラクチャーを使用して、スマートフォン、パーソナルコンピュータ、そしてその他の装置上のデジタルビデオをセットトップボックスと共有することで、これらの困難を克服するシステムおよび方法が示される。これらのシステムおよび方法は、ケーブルでコンピュータをテレビに接続すること、追加のコンピュータを購入し設定すること、もしくは敷地でローカルなワイヤレスデータコネクションをセットアップすることを必要としない。さらには、これらのシステムは標準のセットトップボックスリモコンを使用して制御されるため、ケーブル加入者は、テレビに表示される画像を制御するためにキーボードおよびマウスを使用することを強いられること、もしくは新しいメニューインタフェースを学ぶことを強いられることなく、標準のケーブルシステムメニューを使用することを許可される。第一の実施形態においては、第一のビデオ装置と第二のビデオ装置の間でデジタルビデオをストリームする方法が提供される。デジタルビデオは音声データ、動画像データ、静止画像データ、もしくはこれらの任意の組み合わせを含み得、そしてMPEG仕様に従ってエンコードされ得る。第一のビデオ装置例えば、パーソナルコンピュータもしくはスマートフォンであり得るは、インターネットのようなパブリックデータネットワークに接続される。第二のビデオ装置は、テレビもしくはTVセットトップボックスであり得、そしてケーブルネットワークおよびケーブルヘッドエンドを有するケーブルテレビシステムに接続される。ケーブルヘッドエンドもまたパブリックデータネットワークに接続される。第二のビデオ装置は、リモコンのようなビデオ装置制御装置により制御され得る。この方法は、第一のビデオ装置からケーブルヘッドエンドへ第一の両方向データチャネルを確立すること、そしてケーブルネットワークを通り第二のビデオ装置からケーブルヘッドエンドへ第二の両方向データを確立することを含む。そうすることで、ケーブルヘッドエンドを通った第一のビデオ装置と第二のビデオ装置の間の両方向データ通信が許可される。いったんデータ通信が確立されると、この方法は、第一のデータチャネルを使用してケーブルヘッドエンドで第一のビデオ装置からデジタルビデオを含む第一のデータストリームを受信することをさらに含む。次に、この方法は、受信されたデジタルビデオに基づいた第二のビデオを含む第二のデータストリームを形成することを含む。第二のビデオは、受信されたデジタルビデオであり得、もしくは第二のビデオ装置でデコード可能なフォーマットへのトランスコードを含み得る。さらには、第二のビデオは、複数のビデオフレームを含み得、各ビデオフレームはナビゲーションボタン、広告、第一のビデオ装置と関連した情報、デジタルビデオと関連した情報のような、もう一つの画像とステッチし合わされたデジタルビデオのフレームを有する。この方法は、第二のデータチャネルを使用して第二のデータストリームをケーブルヘッドエンドから第二のビデオ装置へと伝送することをさらに含む。データストリームは、第一および第二のデータチャネルを通りビデオ装置制御装置から第一のビデオ装置へとコマンドを伝達することにより、制御される。最終的に、第二のビデオがテレビで表示され得る。一部の関係のある実施形態においては、第一および第二のビデオ装置は個人の敷地内に位置する。そのような場合、第一および第二のビデオ装置の間の両方向データチャネルの全体が敷地内に含まれない場合もある。その他の関係のある実施形態においては、第一のデータチャネルを確立することは、第一のデータチャネルを確立する固有識別子を含むリクエストパラメーターを有する第一のリクエストを第一のビデオ装置から受信すること、そしてリクエストパラメーターに基づき第一のデータチャネルを確立することを認可することを含む。第一のリクエストは、パブリックデータネットワークもしくはケーブルネットワークいずれかを通して受信され得る。固有識別子は、第一のビデオ装置と固有に関連するメディアアクセス制御MACアドレスであり得る。そして第二のデータチャネルを確立することは、第二のデータチャネルを確立する固有識別子を含むリクエストパラメーターを有する第二のリクエストを第二のビデオ装置から受信すること、受信された固有識別子を使用して第一のビデオ装置を識別すること、そして第二のビデオ装置と識別された第一のビデオ装置とをアソシエートすること、を含み得る。これらの方法は、下記に記述されたシステム、もしくは類似のシステムを使用してインプリメントされ得る。さらに、この方法は、コンピュータハードウェアもしくはソフトウェア、もしくはこれらの組み合わせにより、インプリメントされ得る。コンピュータソフトウェアは、プログラムコードが格納されたコンピュータプログラムプロダクトとして提供され得る。具体的な実施形態の詳細な記述定義。本記述および添付の特許請求の範囲に使用される場合、下記の語句は以下に述べられた意味を有する文脈が異なる意味を要求する場合を除く。デジタルビデオは複数の画像、音、もしくは画像と音の両方に関係するエンコードされたデジタルデータを表す。複数の画像は、動画像、知覚できる程の遅れを伴って連続して表示される異なる画像、もしくは静止画像の反復を含み得る。そのデータは当該分野で知られる任意のエンコードフォーマットを使用してとりわけ、MPEG仕様に従うフォーマットでエンコードされ得る。ビデオ装置は、非限定的にスマートフォン、パーソナルコンピュータ、ビデオカメラ、テレビセットトップボックス、およびスマートテレビを含む、デジタルビデオを取り込む、エンコードする、もしくは表示することが可能な任意の電子装置を表す。ケーブルネットワークは、電気、もしくは光シグナルデジタルビデオを含むの分配に使用される物理的ケーブルのネットワークである。例えば、テレビシステムは加入者にテレビシグナルを分配するために、同軸もしくは光ファイバーケーブルのネットワークを使用する。ケーブルテレビシステムは、電気、光、もしくはこれらの組み合わせによるケーブルネットワークを使用し加入者にテレビシグナルを伝達するテレビシステムを表す。説明の簡素化のために、種々の箇所で電気ケーブルテレビシステムの構成要素への具体的な言及がなされているが、光ファイバーテレビシステムにおいて対応する構成要素が明示的に考慮されている。両方向データチャネルは、デジタルビデオを第一のビデオ装置から第二のビデオ装置へと第一の方向で送り、そして逆方向に、第二のビデオ装置から第一のビデオ装置へ第一のビデオ装置を制御する指示を送るデータチャネルである。本発明の実施形態においては、第二のビデオ装置は第一のビデオ装置とビデオを共有しないため、第一の方向のチャネルは逆方向のチャネルよりも非常に速いデータ転送速度を使用し得る。図1は、本発明の典型的な実施形態の描写である。この実施形態に従って、個人は興味のある場面のビデオを撮り、他の誰かによる鑑賞のためにテレビへストリームすることが可能である。個人100は、スマートフォン110のようなビデオ装置を所有する。個人100はスマートフォン110を、興味のある場面この場合では建物120のストリーミングビデオそして場合により音声もをキャプチャするために使用する。スマートフォン110はキャプチャした音声視覚データをデジタルビデオへとエンコードし、そして、例えばスマートフォンのセルネットワーク接続を使用し、デジタルビデオを通信タワー130へとストリームする。通信タワー130は、インターネットのようなパブリックデータネットワーク140を介して、デジタルビデオをケーブルテレビヘッドエンド150へと伝送する。ヘッドエンド150は、プライベートケーブルネットワーク160を通して加入者の敷地170にデジタルビデオを伝送する。敷地170内には典型的なケーブルテレビ装置ケーブルセットトップボックス172、テレビ174、そしてリモコン176がある。ケーブルセットトップボックス172は、デジタルビデオを受信し、テレビ174での表示のためにデジタルビデオをデコードする。リモコン176は、セットトップボックス172をそのような表示に適切なチャネルに同調するために使用される。代替の実施形態示されていないでは、テレビ174はセットトップボックス172のデコードおよび同調機能を組みこんでおり、リモコン176はテレビの中にあるそれらの機能を直接制御し得る。以後により詳細に記述されているように、ケーブルテレビヘッドエンド150は、テレビ174で最適の度合いで見ることができるように、デジタルビデオストリームの任意の必要な再フォーマットとトランスコードを行う。そのような再フォーマットは、ビデオのサイズ変更、ビデオの解像度変更、広告のような他のビデオのミキシング、そして当該分野で公知の他の再フォーマットを含み得る。トランスコードはデジタルビデオをソースフォーマットから、セットトップボックス172でデコード可能なフォーマットへと変換することを含み得る。図2は、個人がビデオデータをパーソナルコンピュータから同じ敷地にあるテレビへとストリームする第二の例示的な実施形態の描写である。この実施形態では、個人100は、ラップトップ200のようなパーソナルコンピュータ上のデジタルビデオにアクセスする。例えば、個人100は図1のスマートフォン110を使用して以前撮影されたビデオをラップトップ200に既に転送し得、そして今その経験に関連する記憶を再び経験したいと望む。もしくは、ラップトップ200はDVDもしくはBlu-Raydiscもしくは格納されたビデオファイルのような別のソースからのデジタルビデオを含み得、そして個人は再生を制御するために、リモコン176を使用してテレビ174でビデオを見たいと望む。この後者の使用ケースは、個人100がビデオディスクを見るために独立したプレーヤーを所有しなくても良いという点で有利である。図2において、パブリックデータネットワーク140への接続210は、ワイヤーもしくはケーブルで達成され得るか、もしくはワイヤレスである。特に有利な実施形態においては、個人100はケーブルテレビ加入者であり、そしてケーブルテレビヘッドエンド150はインターネットアクセスを提供する。この実施形態においては、デジタルビデオアップストリームをストリームするために使用される接続210は、ケーブルテレビヘッドエンド150からセットトップボックス172に適切にエンコードされたテレビシグナルをストリームするために使用される接続220、222と同じケーブルを使用する。この方法では、ラップトップ200をセットトップボックス172もしくはテレビ174に接続する追加のケーブルは要求されない。しかしながら、強調されるべきことは、ラップトップ200とパブリックデータネットワーク140の間の接続、そしてヘッドエンド150とセットトップボックス172の間の接続が同じ物理的ケーブル上を移動し得る一方、それらは別個の論理ネットワークを構成するということである。例えば、一ケーブルテレビ提供者は典型的に、周波数スペクトルを有するシグナルを使用し、データをヘッドエンド150と敷地170の間で伝送し、各接続に異なる周波数ウィンドウを割り当てる。第一の接続に属する周波数はケーブルモデムの中のシグナルフィルタを使用し選択され得る。従って、ラップトップ200はセットトップボックス172へと伝送されたテレビシグナルへのアクセスを持たず、同様にセットトップボックス172はケーブルモデムにより選択された周波数上のデジタルデータへのアクセスを持たない。図2の構成が有利であるのは、セットトップボックス172がケーブルテレビシステムに直接統合するため、加入者100は、装置間でデジタルビデオを共有するために別個に第二の装置例えば、第二のセットトップボックスなどを購入する必要がないためである。この構成はラップトップ200とセットトップボックス172を接続する両方向データチャネル例えば、敷地に全体が含まれているワイヤレスランなどがない場合に使用され得る。以下、これらの実施形態の詳細が続く。図3は、図2の実施形態の機能的な構成要素を示すブロック図である。ケーブルテレビヘッドエンド150およびパーソナルコンピュータ200がより詳細に示されている。図3の実施形態に従って、加入者はケーブルテレビヘッドエンド150を通してインターネットアクセスを得るため、接続210は明瞭さのために除外されている。しかしながら、図3で示されている実施形態が本発明の範囲を制限しないように、加入者が他の手段例えば、図1で示されているセルネットワークなどを通してインターネットアクセスを得る他の実施形態が考慮されている。さらに、パーソナルコンピュータ200が言及されるが、ここで記述される適切なハードウェアもしくはソフトウェアアプリケーションがインストールされているという条件つきで、他のビデオ装置例えば、図1で示されているスマートフォン110などが使用され得ることが理解される。加えて、種々の構成要素はソフトウェアと記述されているが、特に計算上高価なオペレーション例えば、ビデオおよび音声キャプチャもしくはビデオエンコードなどはハードウェアで実行され得ることが考慮されている。図3を参照すると、パーソナルコンピュータ200の機能がより詳細に説明されている。パーソナルコンピュータ200はビデオアプリケーション310を含む。このビデオアプリケーション310は、例として、Java登録商標、Flash、HTML5、もしくは他のウェブビデオフォーマットのビデオを埋め込まれたウェブページを表示するウェブブラウザ、CyberLinkPowerDVDplayerのような独占のビデオディスクプレーヤーアプリケーション、MicrosoftWindows登録商標MediaPlayerもしくはAppleQuickTimePlayerのようなファイルもしくはURLからデジタルビデオを再生するアプリケーション、Windows登録商標TerminalServer、RealVNCLimitedのVNCServer、もしくはCitrixSystems,Inc.の様々なアプリケーションのうちの任意のアプリケーションといった遠隔デスクトップアプリケーションに見られるようなスクリーンキャプチャソフトウェア、もしくはデジタルビデオを提供し、そしてアプリケーションプログラミングインタフェース312を通してプログラムに従って制御され得る他の任意のアプリケーションであり得る。限定するためでなく、明確さのために、ビデオアプリケーション310はデジタルビデオ350を埋め込まれたウェブページを開いたウェブブラウザとみなす。パーソナルコンピュータ200はまたビデオキャプチャソフトウェア320およびオーディオキャプチャソフトウェア322を含む。キャプチャソフトウェア320、322は、単一のソフトウェアパッケージで具体化され得、もしくは別個であり得、そして当該分野で公知の技術に従ってビデオおよび音声キャプチャを実行する。ビデオおよび音声キャプチャ両方が図3で示されているが、音声キャプチャは種々の考慮されている実施形態で除外され得る。例えば、ビデオアプリケーション310がいかなる音声も提供しなければ、ケーブルテレビヘッドエンド150はパーソナルコンピュータ200からいかなる音声も受信しない。そのような場合、ヘッドエンド150はより楽しい加入者経験を提供するために、オプションで音声をビデオに混ぜ得る。そのような音声は、音声ライブラリから加入者がリモコンを使用し選択可能であり得、もしくはテレビオペレータの選択であり得る。また、一部の実施形態においては、ビデオキャプチャおよび音声キャプチャはソフトウェアの代わりにハードウェアを使用して実行される。キャプチャされたビデオあるのならば音声もは、ビデオと音声を、MPEGのような当該分野で公知のエンコードフォーマットに従ってエンコードデジタルビデオにエンコードするエンコーダ330に伝送される。エンコーダ330はエンコードされたデジタルビデオをストリーマ332に示す。ストリーマ332は、当該分野で公知の技術を使用した両方向データチャネル上で、エンコードされたデジタルビデオをケーブルテレビヘッドエンド150にストリームする。そのような構成において、ストリーマ332はサーバーとして働き、そしてヘッドエンド150は第二のビデオ装置との接続が確立した後にデジタルビデオを要求するビデオクライアントとして働く。制御ソフトウェア340はストリーマ332を制御もしくは監視するために提供され、そしてパーソナルコンピュータ200にフィードバックを提供するために提供される。コントロールソフトウェア340は、ストリーミング構成要素を開始するためにユーザーにより実行され、そしてローカルネットワークTCP接続を使用してストリーマ332と接続する。制御ソフトウェア340は、開始されると、ヘッドエンド150とサービス接続を確立し、そしてストリーミングビデオデータにアクセスすることを許可された公認IPアドレスのリストを得る。クライアントが、ストリーマ332と接続し、そしてストリーミングビデオの要求を試みる場合、ストリーマ332は制御ソフトウェア340から、認可を要求する。制御ソフトウェアはIPアドレスが認可されたかどうかを判断し、ストリーマ332がその接続が適切な方法であると許可もしくは拒絶し得るように、ストリーマ332に反応する。制御ソフトウェア340はまた、加入者の要求を受けストリーマ332に実行の終了を指示し得る。反対に、ストリーマ332は制御ソフトウェア340のステータスアップデート例えば、ストリーマ332がヘッドエンド150との接続を待っているかどうか、そのような接続が確立されたか破壊されたこと、ストリーマ332がデジタルビデオを現在ストリームしていることを提供し得る。制御ソフトウェア340は、これらのステータスアップデートをパーソナルコンピュータ200のディスプレイ上に表示し得る。エンコーダ330、ストリーマ332、そして制御ソフトウェア340は、加入者の便宜のためにケーブルテレビシステムオペレータから単一のダウンロード可能なソフトウェアアプリケーションとして提供され得る。ケーブルテレビヘッドエンド150の機能は、以下により詳細に説明される。ヘッドエンド150は、ローカルエリアネットワーク360で接続されたいくつかの計算モジュールを含む。これらのモジュールは、ケーブルネットワーク160と通信するためのケーブルネットワークインタフェース370を含む。インタフェース370は、例えば、インターネットアクセスとデジタルビデオストリーミングのような高速データサービスを加入者に提供する、ケーブルモデム終端システムCMTSを含み得る。インタフェース370は、ウェブブラウザ310から要求されたインターネットアクセスを提供するために使用される場合、パブリックデータネットワーク140へのゲートウェイとして働くパブリックネットワークインタフェース372例えば、ネットワークルーターへと要求を転送する。このプロセスに使用される他のハードウェアおよびソフトウェアは、明瞭さのために省略されているが、暗号化、ウイルス検出および除去などのようなデータセキュリティを提供する種々のモジュールを含むことができる。従って、例えば、ブラウザ310からのデジタルビデオ350への要求は、パブリックデータネットワーク140に向かう途中、ケーブルネットワーク160、ケーブルネットワークインタフェース370、ローカルエリアネットワーク360、そしてパブリックネットワークインタフェース372を通る。このデータ経路は、図2のデータ経路210と比較できる。これらのデータ構成要素に加えて、ケーブルテレビヘッドエンド150はまたトランスコーダ374およびステッチャ376を含む。当該分野で公知のように、トランスコーダは一フォーマットでエンコードされたデータを異なるフォーマットに変換する。この接続において、ケーブルセットトップボックス172を使用して表示不可能なデジタルビデオは、適切なフォーマットにトランスコードされる。一実施形態においては、ビデオアプリケーションとテレビ174上でのその内容の表示との間の待ち時間を減少するために、エンコーダ330は、キャプチャされたビデオと音声データを簡単なエンコード方式を使用してエンコードし得る。そのような簡単なエンコード方式は、パーソナルコンピュータ200が計算上強力でなければ、一部の実施形態で望まれ得る。代替の実施形態においては、デジタルビデオ350はパブリックネットワークインタフェース372を経由してパブリックデータネットワーク140から直接ダウンロードされ得る。この実施形態においては、デジタルビデオ350は後のストリーミング再生のためにヘッドエンドで保存されるが、そのフォーマットはセットトップボックス172がサポートするものとは異なり得る。このどちらのケースにおいても、トランスコーダ374はデータを、セットトップボックス172でデコード可能である適切なフォーマットに再エンコードする。一つもしくは複数のトランスコーダが多くの加入者の要求に応えるために使用され得る。ステッチャ376はトランスコードされた内容を、対話型メニュー、広告、そしてこれらに類するもののような他の音声視覚内容と共に取り出し、テレビ174での表示のために最終的なテレビシグナルを作るためにそれらをステッチし合わせる。ステッチャ376はまた他の論理、例えばトランスコードされたデジタルビデオと他にどのような内容がステッチされるべきかを決定する論理、リモコン176からの制御メッセージ例えば、メニューアイテムの選択もしくは移動コマンド、開始/終了ストリームコマンド、そしてこれらに類するものを処理する論理、そして他の機能を実行する論理を含み得る。トランスコーダと同じく、加入者の要求に応えるためにいくつかのステッチャ376がケーブルテレビヘッドエンド150内で使用され得る。ケーブルネットワークインタフェース370、パブリックネットワーキングインタフェース372、トランスコーダ374、そしてステッチャ376は、ハードウェアもしくはソフトウェア、もしくはこれらの組み合わせであり得る。ケーブルテレビヘッドエンド150は、いくつかのそのようなヘッドエンドを含むケーブルテレビシステム各ヘッドエンドが異なる地理上のエリアで異なるケーブルネットワークをサービスを供給するの一部であり得ることが理解されなければならない。さらに、当該分野で公知のように、複数のケーブルテレビシステムは単一のmultiplesystemoperatorMSOの管理制御のもとで一箇所にまとめられ得る。そのようなより大きなシステムにおいては、各ヘッドエンドは図3で示されている機能的なユニットを含んでいても含まなくてもよい。例えば、ヘッドエンド150にサービスを供給するトランスコーダ374およびステッチャ376は、MSOの異なるヘッドエンドもしくはヘッドエンド150から遠隔のデータセンターに位置し得る。これらの遠隔トランスコーダおよびステッチャはMSOのプライベートデータネットワーク示されていないを使用してヘッドエンド150に接続され得る。構成要素のそのような物理的配置により加えられる少ない待ち時間が、類似した機能を有する複数の装置を同じ物理的ロケーションに置くことで得られる管理の容易さと相まって、従来の技術システムを超える有利点を提供する。パーソナルコンピュータ200とセットトップボックス172の間のデータチャネルを確立するプロセス、そしてそれらのチャネル上でデジタルビデオをストリームするプロセスが、以下に記述される。これらのデータチャネルは両方向である。第一の方向においては、パーソナルコンピュータ200は、最終的な表示のためにセットトップボックス172にビデオを転送トランスコードおよびステッチをした後にするケーブルテレビヘッドエンド150へとデジタルビデオをストリームする。逆方向においては、セットトップボックス172はリモコンからキーストロークを受信する。これらのキーストロークはチャネルを確立するコマンド、チャネルを破壊するコマンド、そしてビデオの再生を開始および終了、もしくは異なるデジタルビデオソースを選択するコマンドを含み得る。一部のより一般的な実施形態においては、キーストロークはパーソナルコンピュータ200を制御するために、デジタルビデオをストリームする方法と関係のない方法でリモコンから送信される。例えば、リモコンはコンピュータシャットダウン機能を選択するため、もしくはセットトップボックス172に接続されたテレビで表示されることとなる電子メールクライアントのようなアプリケーションを開始するために使用され得る。リモコンが、これらの実施形態に従ってセットトップボックス172とパーソナルコンピュータ200の間の両方向データチャネルを完全に利用し得る他の方法は、当業者により予想され得る。図4は、関連のあるプロセスを説明するタイミング図である。第一のビデオ装置は、図3の例示的な実施形態においてそれぞれ制御ソフトウェア340、エンコーダ330、そしてストリーマ332として出現している、制御ソフトウェア410およびエンコーダ/ストリーマ420を含む。ケーブルテレビヘッドエンドは、以下により詳細に記述されているトランスコーダ374およびステッチャ376、一つもしくは複数のランデブーサーバー430、そしてストリーミングアプリケーション440を含む。この例図中の第二のビデオ装置はセットトップボックス172である。セットトップボックス172に求められている唯一の機能性が、ビデオデータを受信し、チャネルを変え、そしてヘッドエンドへアップストリームでキーストロークをパスする能力だけであることは理解される。セットトップボックス172にはそれ以上の複雑なハードウェアもしくはソフトウェアは求められないが、一部の商業的実施形態はそれらを含み得る。また、これらのプロセスは下記に記述されるパーソナルコンピュータおよびセットトップボックスのみに適用可能であるだけではなく、デジタルビデオの生産者および消費者それぞれの役割を果たすよう構成された任意のビデオ装置で作動するよう一般化され得る。パーソナルコンピュータ200とセットトップボックス172の間の両方向接続を確立するために、二つの両方向データチャネルがセットアップされなければならない:一つはパーソナルコンピュータ200とケーブルテレビヘッドエンド150との間、そして一つはヘッドエンド150とセットトップボックス172との間である。しかしながら、加入者のセットトップボックスとその加入者のパーソナルコンピュータの間には、あらかじめ確立されたアソシエーションはない。ランデブーサーバー430は、このアソシエーションを作るためにヘッドエンドで提供され、そしてこれら二つのビデオ装置が互いを見つけることを可能にし、そして加入およびサービスパラメーターに基づいた加入者の認証および接続の許可を確保する。ランデブーは、両方のビデオ装置が加入者とアソシエートされていることで容易になり得る。ランデブーサーバー430はデジタルビデオをストリームするオファーおよびストリームされたデジタルビデオのリクエストを受け取り、そしてこれらのオファーとリクエストを固有加入者識別子に基づいてペアにする。任意の所与のヘッドエンドで使用されるサーバー430の個数は、要求により決定され得る。代替の実施形態においては、multiplesystemoperatorはそのようなランデブーサーバー430をデータセンターもしくは、これらのプロセスに関与している加入者にサービスを提供しているケーブルヘッドエンドから離れた他の場所に収容し得、そして関連のある要求によりサーバーをヘッドエンド間で共有し得る。このような構成は、各タイムゾーンで同じ現地時間において、異なるタイムゾーンでランデブーサービスへの要求が最高点になり減退するいくつかのタイムゾーンでMSOがサービスを供給する場合に利点を供給する。一般的に、ケーブルテレビプロバイダはデッドエアを避けるために、加入者にテレビシグナルを常時提供することを望み得る。実質的に話すと、このことは、デジタルビデオストリームが既に可能になった後のみ、つまり、ヘッドエンド150とパーソナルコンピュータ200の間の接続が既に確立されランデブーサーバー430で係属中となった後のみ、ヘッドエンド150とセットトップボックス172の間の接続が行われるべきであることを意味する。他の実施形態が考慮されている。例えば、セットトップボックス172とヘッドエンド150の間の接続が最初に行われた場合、ヘッドエンド150は加入者に待機スクリーン、広告を与え、もしくは別の方法でテレビオペレータが選択した意味のあるテレビシグナルでデッドエアを埋める。ストリーミングアプリケーション440は二つの機能を提供する。第一に、ストリーミングアプリケーション440はセットトップボックス172に代わりランデブーサーバー430と通信し、二つの両方向データチャネルのうちの一つを確立する。第二に、ストリーミングアプリケーション440はセットトップボックス172経由でリモコン176図1、図2で示されているからコマンドを受信し、そしてそれらのコマンドを第一のビデオ装置へと転送する。一部の実施形態においては、ストリーミングアプリケーション440はヘッドエンドに位置するコンピュータプロセッサ上でランする。その他の実施形態においては、プロセッサはもう一つのヘッドエンドもしくはランデブーサーバー430のすぐ近くにあるMSOデータセンターのような別の場所に位置し得る。プロセスを始めるにあたり、制御ソフトウェア410はエンコーダ/ストリーマ420と接続し、これらのモジュールが正しく機能していることを検証する。次に、制御ソフトウェア410はランデブーサーバー430にリクエストを伝達することで、ビデオデータをストリームするための第一のデータチャネルを確立する認可をリクエストする。このリクエストは、加入者を識別するパラメーターを含む。ランデブーサーバー430は加入者識別に基づいて、データチャネルを確立することを許可するかを判断する。そして一部の実施形態においては、加入者がこの特徴に対して代金を払ったかどうかを判断することを含み得る。認可が認められれば、ランデブーサーバー430は制御ソフトウェア410にサービス情報を伝送する。このサービス情報は、他のデータの中に、ケーブルテレビオペレータが使用するトランスコーダ374にある認可されたIPアドレスのリストを含む。制御ソフトウェア410はこのサービス情報を格納し、そしてデジタルビデオをストリームする準備ができたことをランデブーサーバー430に通知する。次に、加入者はリモコン176を使用しセットトップボックス172に、特殊チャネルに同調するよう指示する。ヘッドエンドは特殊チャネルへのチャネル指定を受信し、そしてセットトップボックスに最終的なステッチされたビデオを提供することに責任があるステッチャ376に、ストリーミングアプリケーション440を開始するよう命令する。アプリケーション440は、ストリーミングピアが既に確立されているという前提下で、ただちにランデブーサーバー430からのそのピアの情報をリクエストする。データチャネルを確立するこの第二のリクエストは、データチャネルを確立する第一のリクエストと類似して、固有に加入者を識別するパラメーターを含む。従って、例えば、アプリケーション440はこの情報を含むHTTPGETリクエストを使用してウェブページURLをリクエストし得る。加入者がこのサービスを受けることを認可されていなければ、ランデブーサーバー430からエラーメッセージが返され得、セットトップボックス172にテレビにエラーメッセージを伝達させる。そうでなければ、サーバー430はこのリクエストに詳細な返答を返す。一部のパーソナルコンピュータ、スマートフォン、もしくは他のビデオ装置はストリーミングデジタルビデオを提供していて接続を確立済みであり得るので、ランデブーサーバー430は固有識別子を使用してビデオ装置を識別し、そしてこれらの装置とセットトップボックスをアソシエートすることで視聴選択に利用できる一つもしくは複数のピアに関係するピア情報を返す。ピア情報は、例えば、加入者の敷地で接続されたセットトップボックスのリスト、ビデオのストリームに利用できる接続が切断されたセットトップボックスのリスト、ビデオのストリームに利用できないセットトップボックスのリスト、そしてインターネットプロトコルIPアドレス、メディアアクセス制御MACアドレス、タイムスタンプおよびこれらに類するような他の有用な情報を含み得る。典型的に、この情報はXMLフォーマットで返されるが、当該分野で公知の他のフォーマットも使用され得る。アプリケーション440は返された情報を、セットトップボックス172上で加入者に選択項目のメニューを表示するために使用し得る。いったんどのデジタルビデオを視聴するかを選択すると、アプリケーション440はランデブーサーバー430からそのデジタルビデオをリクエストする。以上で両方の両方向データチャネルが確立されたので、ランデブーサーバー430は第一のビデオ装置の制御ソフトウェア410に、完了した接続を通知する。この通知は、トランスコーダ374のアドレスを含む。その後制御ソフトウェア410はエンコーダ/ストリーマ420に、接続してサーバーとしてデジタルビデオのエンコードおよびストリームを開始するよう命令する。それと同時に、制御ソフトウェアは通知によってトランスコーダ374と接触し、それにクライアントとしてストリームされたデジタルビデオをエンコーダ/ストリーマ420からリクエストするよう指示する。トランスコーダ374は、上に記述されているように、ストリームする認可を制御ソフトウェア410にリクエストするエンコーダ/ストリーマ420にビデオストリームをリクエストする。ビデオデータストリームは、それ自体、他のデータだけでなくデジタルビデオを含む。当該分野で公知のように、リアルタイムストリーミングプロトコルRTSPヘッダ、伝送制御プロトコルTCPもしくはユーザーデータグラムプロトコルUDPヘッダ、インターネットプロトコルIPヘッダ、イーサネット登録商標フレームヘッダなどのようなヘッダ情報がデジタルビデオデータに加わえられ得る。デジタルビデオデータは当該分野で公知のエンコードフォーマットを使用してエンコードされ、ライブキャプチャの場合はフォーマットされていないデータがストリームされ得る。トランスコーダ374はビデオストリームを受信すると、それをセットトップボックス172でデコード可能なフォーマットにトランスコードする。次に、このトランスコードされたビデオストリームは、ステッチング、スケーリング、そして他のビデオ操作を行うステッチャ376にパスされる。ステッチャ376はオプションで、コンテキストヘルプ情報、一つもしくは複数のナビゲーションボタン、メニューインタフェース、広告、第一のビデオ装置と関連付けられた情報、もしくはデジタルビデオと関連付けられた情報のようなもう一つの画像とデジタルビデオをステッチし、表示のための第二のビデオストリームを形成する。ステッチされたビデオはその後、第二のデータストリームとしてヘッドエンドからセットトップボックス172へとパスされ、そしてそこからテレビへとパスされる。加入者はビデオストリームをリモコン176から制御でき、そしてデータチャネルが両方向であるため、そうするにあたり加入者はパーソナルコンピュータ200もしくは他の第一のビデオ装置に戻る必要はない。とりわけ、加入者は、示されているようにストリーミングアプリケーション440にキーストロークコマンドを伝達するために、リモコン176を使用し得る。この場合、ストリーミングアプリケーション440はキーストロークを受信し、そして加入者がどの対話型機能にアクセスすることを望んでいるかを判断する。機能がデジタルビデオのストリーミングに関連があれば、アプリケーション440はこの情報をステッチャ376に転送する。例えば、加入者が、セットトップグラフィックインタフェース内の停止もしくは接続を切断するボタンをクリック、チャネルアップもしくはチャネルダウンキーを押す、もしくは特殊チャネルから離れるようナビゲートすれば、ステッチャは新しいテレビシグナルが要求されたことを通知される。この場合、ステッチャはストリームへの変化すなわち、破壊が要求されたことをエンコーダ/ストリーマ420に通知する。必要であれば、エンコーダ/ストリーマ420は制御ソフトウェア410にその変化を通知する。しかしながら、一部の実施形態においては、加入者はリモコンを使用して他の動作を行い得る。他のストリームパラメーターを変更するために、ステッチャ376もしくはストリーミングアプリケーション440からセットトップボックス172に提供されたグラフィカルユーザーインタフェースを加入者が使用し得ることは考慮されている。これらの他のパラメーターは、例えば、音声およびビデオエンコードパラメーター、ビデオ解像度、ストリームへの新しいファイル名もしくはURL、そしてこれらに類するものを含む。制御ソフトウェアはその後、アプリケーションプログラミングインタフェースAPIを使用してこれらの変化をビデオアプリケーション310に示し得る。このようなAPIの使用は、この目的に対して当該分野で公知である。ビデオアプリケーション310のAPIを使用して変更され得る任意のパラメーターは、セットトップボックスリモコンを使用してアクセスされそして変更が加えられ得ることが考慮されている。さらに、一部の実施形態においては、リモコン176は第一のビデオ装置の機能の他の側面を制御するために使用され得る。例えば、第一のビデオ装置がウェブサイトからデジタルビデオを得ているのであれば、リモコン176は、第一のビデオ装置に新しいURLにナビゲートさせ、新しいデジタルビデオを得るように使用され得る。もしくは、リモコン176は第一のビデオ装置にリアルタイムテキストメッセージデータを伝達するために使用され得る。この実施形態は、例えば個人100がスマートフォン110を使用して興味のある異なるシーンの撮影をリクエストする、もしくはストリームされたビデオの品質にフィードバックを提供する、図1の環境でとりわけ有用である。図2のような代替の実施形態においては、リモコン176は、パーソナルコンピュータ200をその他の方法例えば、電子メールクライアントもしくはその他のソフトウェアアプリケーションを開始および使用する、コンピュータにシャットダウンするよう指示する、もしくはその他の有用な動作を実行するで制御するよう使用され得る。当業者は、この制御チャネルのその他の有用なアプリケーションを予想し得る。図5は、ヘッドエンド150のようなケーブルテレビヘッドエンドにいるケーブルテレビオペレータの観点から図4のプロセスを示すフローチャートである。ステップ510では、ヘッドエンドはスマートフォン110もしくはパーソナルコンピュータ200のような第一のビデオ装置と、第一の両方向データチャネルを確立する。典型的に、ヘッドエンドはこの目的のためにランデブーサーバーを使用する。そしてランデブーサーバーに伝達されたパラメーターに基づいて第一のデータチャネルを確立することを認可することを含む。ステップ520では、ヘッドエンドはセットトップボックス172のような第二のビデオ装置と、第二の両方向データチャネルを確立する。このステップは、典型的には、セットトップボックスがこの目的のために充てられた特殊チャネルと同調したという情報を、ヘッドエンドが受信したときに実行される。いったん両方の接続が確立されると、ヘッドエンドは特殊チャネルにメニューを表示し得、現在どの装置が視聴のためにデジタルビデオをストリームすることが可能であるかを加入者に知らせ、そしてリモコンを使用して装置を選択することを加入者に許可する。いったん加入者が選択を行うと、ヘッドエンドは第一のビデオ装置に、第一のデータストリームでデジタルビデオのストリーミングを開始するよう指示する。第一のデータストリームは、ステップ530において第一のデータチャネルを使用してヘッドエンドで受信され、そしてヘッドエンドに位置するトランスコーダからリクエストされ得る。ステップ540では、ヘッドエンドは、受信したデジタルビデオに基づいた第二のビデオを含む第二のデータストリームを形成する。例えば、必要であれば、トランスコーダは受信したデジタルビデオを第二のビデオ装置でデコード可能なフォーマットにトランスコードし得る。適切にフォーマットされたビデオはその後、リモコンでビデオストリームを再生開始および停止もしくはその他の方法で制御することを加入者に許可するメニューのようなその他のビデオ画像と、ステッチし合わされ得る。その他のビデオ画像がデジタルビデオに、混ぜられることもしくは重ねあわされることがなければ、デジタルビデオはまたこの時、その他のビデオ画像とステッチするための空スペースを各ビデオフレームに提供するようスケールされ得る。第二のデータストリームは、最終のトランスコードされたステッチされたビデオを含む。ステップ550では、ヘッドエンドは第二のデータチャネルを使用して、第二のビデオ装置に第二のデータストリームを伝送する。第二のビデオ装置はその後加入者の楽しみのために、テレビ174のような視聴装置にビデオを伝達し得る。この論理フロー図はここで本発明の種々の側面を明示するために使用されていることは注意されるべきであり、本発明をいずれかの特定の論理フローもしくは論理インプリメンテーションに限定するよう解釈されるべきではない。記述された論理は、異なる論理ブロック例えば、プログラム、モジュール、機能、もしくはサブルーチンに分割される。そうされるにあたり、全般的な結果は変えられることがなく、本発明の真の範囲から外れることがない。しばしば、論理要素は加えられ、修正され、省略され、異なる順番で実行され、もしくは異なる論理構成要素例えば、論理ゲート、ループ計算プリミティブ、条件付き論理、そしてその他の論理構成要素を使用してインプリメントされ得る。そうされるにあたり、全般的な結果は変えられることがなく、本発明の真の範囲から外れることがない。本発明は、決して限定されることはないが、プロセッサ例えば、マイクロプロセッサ、マイクロ制御装置、デジタルシグナルプロセッサ、もしくは汎用計算機と共に使用されるコンピュータプログラム論理、プログラマブルロジックデバイス例えば、フィールドプログラマブルゲートアレイFPGAもしくはその他のPLDと共に使用されるプログラム可能な論理、個別部品、集積回路例えば、特定用途向けICASIC、もしくはそれらの任意の組み合わせを含むその他の任意の手段、を含む多くの異なるフォームで具体化され得る。以前にここで記述された機能性のすべてもしくは一部の機能性をインプリメントするコンピュータプログラム論理は、決して限定されることはないが、ソースコードフォーム、コンピュータ実行可能フォーム、そして種々のインターメディエイトフォーム例えば、アセンブラ、コンパイラ、リンカ、もしくはロケータにより生成されたフォームを含む、種々のフォームで具体化され得る。ソースコードは、種々のオペレーティングシステムもしくは動作環境で使用される種々の任意のプログラム言語例えば、オブジェクトコード、アセンブリ言語、もしくはFortran、C、C、JAVA登録商標、もしくはHTMLのような高水準言語にインプリメントされた一連のコンピュータプログラム命令を含み得る。ソースコードは、種々のデータ構造および通信メッセージを定義しそして使用し得る。ソースコードはコンピュータ実行可能フォーム例えば、インタプリタ経由でであり得、もしくはソースコードはコンピュータ実行可能フォームに変換例えば、トランスレータ、アセンブラ、もしくはコンパイラ経由でされ得る。コンピュータプログラムは、半導体メモリ装置例えば、RAM、ROM、PROM、EEPROM、もしくはFlash-ProgrammableRAM、磁気メモリ装置例えば、ディスケットもしくは固定ディスク、光メモリ装置例えば、CD-ROM、PCカード例えば、PCMCIAカード、もしくはその他のメモリ装置のような実体のある記憶媒体に、任意のフォーム例えば、ソースコード、コンピュータ実行可能フォーム、もしくはインターメディエイトフォームで永久的にでも一時的にでも固定され得る。コンピュータプログラムは、印字もしくは電子文書例えば、シュリンクラップソフトウェアを伴って取り外し可能記憶媒体として任意のフォームで分配され得、コンピュータシステム例えば、システムROMもしくは固定ディスクで事前ロードされ得、もしくは通信システム例えば、インターネットもしくはワールドワイドウェブを通りサーバーもしくは電子掲示板から分配され得る。以前にここで記述された機能性のすべてもしくは一部をインプリメントするハードウェアロジックプログラマブルロジックデバイスと共に使用されるプログラマブルロジックを含むは、伝統的なマニュアルメソッドを使用して設計され得るか、もしくはコンピュータ支援設計CAD、ハードウェア記述言語例えばVHDL、もしくはAHDL、もしくはPLDプログラム言語例えば、PALASM、ABELもしくはCUPLのような種々のツールを使用して電子的に設計、キャプチャ、シミュレート、もしくはドキュメントされ得る。プログラマブルロジックは、半導体メモリ装置例えば、RAM、ROM、PROM、EEPROM、もしくはFlash-ProgrammableRAM、磁気メモリデバイス例えば、ディスケットもしくは固定ディスク、光メモリ装置例えば、CD-ROM、そしてその他のメモリ装置のような実体のある記憶媒体に永久的にでも一時的にでも固定され得る。プログラマブルロジックは、印字もしくは電子文書例えば、シュリンクラップソフトウェアを伴って取り外し可能記憶媒体として分配され得、コンピュータシステム例えば、システムROMもしくは固定ディスクで事前ロードされ得、もしくは通信システム例えば、インターネットもしくはワールドワイドウェブを通りサーバーもしくは電子掲示板から分配され得る。上記に記述されている本発明の実施形態は、単に例示的なものであることが意図されており、多数の変化および修正が当業者に明瞭である。添付の特許請求の範囲にも定義されているように、すべてのそのような変化および修正は、本発明の範囲内であることが意図されている。"