DLNA DMS(Digital Media Service)仕様は、DLNAクライアントデバイス(「DLNAコントロールポイント」または「DLNAクライアント」とも呼ばれる)が、URLおよびコントロールインターフェースのやり取りを通じてメディアレンダラーをコンテンツの再生に従事させるための方法を提供する。ここで、抽象化(abstraction)とは、URLが、LAN内で利用可能な何らかのシステム上の格納されたファイルとして存在するビデオ、写真、またはオーディオ資産を代理していることである。
本発明の原理は、この抽象化を拡張して、チューニングデバイスを通じてアクセスされる放送オーディオ/ビデオストリームをレンダリングすることを可能にする。
DMS仕様は、EPG(Electronic Program Guide)イベントに関するメタデータ定義を提供し、クライアントが、放送予定の番組に関する時間およびチャンネルについての情報を求めてDMSにクエリー(問い合わせ)を行うようにする。番組を再生したいと望むDMSクライアントには、その番組を要求するために使用可能なURLが提示される。
しかし、放送番組は一般に、地上有線、衛星伝送、または無線RF伝送を介して特定の周波数上で信号を伝送することが優先し、IPパケットネットワークへストリーミングされることはない。これらの伝送方法のそれぞれは、番組を受信するための信号上にロックすることができるチューニングデバイス、たとえばSTB(set top box)を必要とする。
チューニングデバイス上で受信されるコンテンツをコンシューマー(消費者)が視聴できるようにしようとするDMSデバイスは、利用可能な番組メタデータをチューニング周波数へと変換して要求される番組を監視し、かつDMSコンシューマーにURLを提示して、要求された番組を再生するためにどの周波数にチューニングするべきかをシステムがわかるようにさせる。所与の周波数は、複数の番組をその上にエンコードさせることに留意されたい。所与の周波数内にある番組を特定するために、番組ID、たとえばMPEG−2番組番号を使用することができる。
本発明の原理は、番組に関するステーション・コールサインまたはチャンネル番号を含むメタデータ要素を有するメディアアイテムを、サービスプロバイダーが番組を放送する特定の放送周波数および仮想チャンネルに相関付けるメカニズムを提供することによって、この問題を解決する。これは、DLNAクライアントデバイスに到来する放送TVデジタル通信上で利用可能な周波数をスキャンして、その周波数情報を、そのデジタル通信上でネットワークオペレータから受信したデジタルデータストリーム内に公開されているガイド情報と相関付けることによって、行うことができる。
ガイド情報は、ユーザ指向のデータ(たとえば、番組の説明、ステーション・コールサイン、チャンネル番号)と、テクニカルデータ(たとえば、仮想チャンネル番号、MPEG番組ID)とを有するということに留意されたい。たとえば、DVB−Tシステムにおけるこれらのデータは、所与の周波数でMPEGストリーム内で放送することができ、定義されたMPEG番組ID内に設定することができる。あらゆるネットワークオペレータは、この情報を、自分たちが定義するある程度カスタムな方式で供給する。プロバイダーは、IP接続を介してアクセス可能なデータベースから番組に関するさらに豊富な情報を供給することもできる。この情報は、DVB−Tインターフェースを介してMPEGトランスポートストリーム内に含めて送信される基本情報コンテナ(basic information container)よりもはるかに豊富になるであろう。
番組/チャンネル周波数は、共通なものではなく、放送プロバイダーによって固有に割り当てられるため、本発明の原理は、相関テーブルがその領域内で供給する手段も提供し、デバイスが、自己の周波数の相関付けを動的に把握することができる。
図1および図2は、DLNA DMSサービスを使用して放送番組の再生をコントロールするための例示的な方法10を示す。例示的なデータストリームとしてMPEGストリームを、および例示的な放送システムとしてDVBを使用して、どのようにして相関付けを動的に生成することができるかについて論じる。この方法は、その他のデータストリームフォーマットまたは放送システム(たとえば、ATSC、ケーブルネットワーク)が使用される場合でも容易に拡張することができるということに留意されたい。
MPEGストリームを受信する際に、DVBトリプレット(すなわち、オリジナルネットワークID、トランスポートストリームID、およびサービスID)を物理チャンネル番号とともにMPEGストリームから抽出することができる。これは、物理チャンネルを、そのチャンネルのユーザのアイデアに相関付けるシステムに関して供給されるテーブルと相互参照される(12)。
イベント(放送番組)に関するCMS(content management system)内に格納されているメタデータは、コールサインおよび仮想チャンネル番号を含む。CMSは、URLを構築するために、その供給されたテーブルから仮想チャンネル番号に関するDVBトリプレットを見つけて、URL、例えば、http://192.168.1.100/MediaPlayer?source=dvb://fff.99dc.1&sink=decodeを生成する(14)。この情報は、UPnP DIDL−Liteドキュメント内にパッケージすることができ、UPnP DIDL−Liteドキュメントは、テーブル1に示すように、「protocolInfo」プロパティー内の標準の「res」要素の一部としてDLNAクライアントに送信される。セッションを介してコントロールの手段を得るために、URLをセキュリティー手段としてエンコードすることができ、それによってクライアントは、どのようにしてURLを選択するかを推測することができない。
例えば、DLNAクライアントは、これらの「res」要素の選択を、自分がSTB上で見つけ出すDLNA DMR(digital media rendering)サービスに提示することができ、このDMRサービスは、自分がstbvideoプロトコルを受け入れる旨を示し、したがってクライアントは、http://192.168.1.100/MediaPlaver?source=dvb://fff.99dc.1&sink=decodeの値を処理のためにネットワークに提示し、そして番組は、HTTPサーバを通じたMediaPlayer CGIプログラムへの到達(plumbing)、そしてMediaPlayer CGIプログラムはソース/シンクパラメータに関する「Dbussend」コマンドを発することに起因して、STB上で再生を開始する。
DLNAクライアントは、URLを受信し(16)、そのURLを、そのURL内で指定されているHTTPサービスに、たとえば、HTTPクライアントに提示するか(18)、または局所的にデコードされることになる。その結果、番組の再生は、その指定された再生デバイスで実行される(18)。ステップ18について、図2においてさらに詳細に説明する。
図2を参照すると、HTTPサービスは、「HTTP−Get」要求を受け取る(20)。周波数および番組ID情報、たとえばDVBトリプレット情報を抽出するためにURLをデコードして、どの番組にチューニングするべきかを特定し(22)、チューニングされたチャンネルがどこで再生されることになるかを特定する(24)。
図2は、放送番組をどこで再生するかに関する2つの例示的な選択を示している。1つ目の選択肢は、ビデオをローカルに(例えば、protocolInfo=“stbvideo...”)、例えば、セットトップボックスに接続されているTV上で再生することである(26)。別の選択肢は、例えばhttpライブ(例えば、protocolInfo=“httplive...”)でストリームアウトすることである(28)。すなわち、デジタル番組は、IPリンクを介してリモートメディアレンダリングデバイスへ導かれる。
ビデオ再生機能を備えたタブレットが、所与のチャンネルにチューニングするようTVに要求するためのDLNAコントロールポイントとして使用されると想定して、2つの例示的なユースケース、すなわち、ローカルでの再生およびリモートでの再生について以降で説明する。
第1のユースケースにおいては、タブレットが、あるチャンネルにチューニングするようTVに要求し、TVが、そのチャンネルを再生する。タブレットは、DLNAコントロールポイントとして機能して、DLNA DMSサービスと、STB上のDLNA DMRサービスとを見つけ出す。タブレットは、自身がDMS内で見つけるコンテンツアイテムをSTB上で再生するようDMRに要求する。DMRは、自身が使用するリソースメタデータを認識して、そのメタデータ内で識別されたチャンネルにチューニングすることにメディアプレーヤを従事させ、それに伴って、接続されているTVスクリーン上では、ビデオのレンダリングが行われる。
第2のユースケースにおいては、タブレットが、あるTVチャンネルにチューニングすることを要求し、タブレットが、そのチャンネルを再生する。タブレットは、DLNAコントロールポイントとして機能して、DLNA DMSサービスを見つけ出す。タブレットは、ビデオを自身のローカルスクリーンへ導きたいと望み、サポートされているネットワークプロトコル(たとえば、HTTP、RTSP)でストリームを要求するというオプションをリソースメタデータ内で見つける。タブレットは、自身がサポートしているネットワークプロトコル用にエンコードされているURLを使用し、その提供されたURLを用いてHTTP−Getオペレーションを行う。URLパラメータは、「Dbussend」コマンドをメディアプレーヤへ送信するためにHTTPサーバによって処理され、そしてメディアプレーヤは、URLパラメータ内で識別された要求されているチャンネルにチューニングし、要求されているプロトコルに従ってストリームを出力する。
テーブル2は、本発明の原理に従って構築される相関テーブルの一例である。テーブル2は、コールサイン(たとえば、CSPAN)を、そのコールサイン/チャンネルに関する番組が放送される周波数マッピングに相関付けるデータを示している。デバイスチューナがそのチャンネル上にロックして、デコードするために適切な仮想チャンネルを選択する必要があるという情報は、「Dbussend」ロケータによって表すことができる。このケースにおいては、「Dbussend」ロケータは、メディアプレーヤが特定のチャンネルにチューニングするために必要とするDVBトリプレット情報(たとえば、ffff.993c.1)を含む。チューナが番組を特定するために必要とする放送パラメータを含むコマンドシーケンスを編成するための多くの方法が存在し、したがって本発明の原理は、「Dbussend」ロケータに限定されるものではなく、それらの「Dbussend」ロケータは、例示的な一実施態様として本明細書で示され説明されているにすぎないということを当業者なら理解するであろう。たとえば、DMSがロケータにマップすることができる、DMSによって認識される一意の文字列を使用することができる。
周波数/コールサイン/チャンネルのマッピングは、放送プロバイダーによって、デジタル放送のビデオストリーム内に(たとえば、MPEG−2ストリーム内に)含めてエンコードされているテーブルを通じて放送されるサービス内に含めて供給されるということに留意することが重要である。本発明の原理は、このマッピング情報を読み取り、番組の視聴が所望される場合にチューナへ送信するための正しい「Dbussend」コマンドを確立するためにメタデータ内のコールサインまたはチャンネル番号データを使用してMPEGマッピングテーブルからの「Dbussend」コマンドを放送番組のメタデータに相関付ける。
放送プロバイダーは、所与の番組チャンネル(たとえば、ESPN、CSPAN)を介して送信したいと希望する周波数およびチャンネル/仮想チャンネルを選択する。「Dbussend Locator」の文字列は、周波数と、その周波数からデコードするための物理チャンネルとをエンコードするようにアルゴリズム的に定義されて、ロックするための、および信号をデコードするためのチューナハードウェアに提示される。
図3は、本発明の原理を実施するための例示的なシステム110を示す。DLNAクライアント又はコントロールポイント112は、コンテンツをDMS116に要求する(114)。上述のように、DLNAクライアントは、例えば、タブレット、スマートフォン、ポータブルミュージックプレーヤ、PCなどとすることができる。DMSは、クライアントのコンテンツに対する要求を、コンテンツマネージメントシステム120へ転送する(118)。コンテンツマネージメントシステム120は、クライアントの検索基準を尊重するフィルタリングを用いて自身のコンテンツデータベース140を読み取る。コンテンツマネージメントシステムはまた、クライアントの要求を満たそうとする際にネットワークオペレータ300からの番組ガイド情報304を利用するチャンネル変換テーブル142にアクセスする。
次いでコンテンツマネージメントシステム120は、適切なデータを収集し、それらのデータをDIDL−Lite Schema(124)(例えば、url:schemas−upnp−org:metadata−1−0/DIDL−Lite/)にフォーマット設定/準備する(122)。DIDL−Lite Schemaは、DMS116へ転送して戻され、DLNAクライアント112に返送する。
本発明の原理による方法の一態様に含まれることとして、要求を行うクライアントへ送信されることになるそれぞれのコンテンツアイテムごとにチャンネル変換テーブル142が参照され、DIDL−Lite「res」要素タグが、httpパラメータ文字列とともに設定され、そのhttpパラメータ文字列によって、メディアプレーヤ134は、クライアントが再生を開始するためのコントロール要求を行う際にどのチャンネルにチューニングするべきかを指示されることになる。
DLNAプロトコル内では、URL128が、DLNAメディアレンダラー130に提示され、DLNAメディアレンダラー130は、(ボリュームコントロール、一時停止などを提供するための)コントロールインターフェースをメディアプレーヤ134に提供し、メディアプレーヤ134は、実際にハードウェア上でのビデオ/オーディオのチューニングおよびレンダリングを実施する。URLへとエンコードされるDVBトリプレット情報(すなわち、この例においては「Dbussend Locator」の文字列)は、DLNAコントロールポイント112およびDLNAメディアレンダラー130を透過的に通過する。メディアプレーヤ134は、エンコードされたURLをDLNAメディアレンダラー130から受け入れるインターフェースを提供し、要求されている番組のチューニングおよび再生を、対応する放送302にアクセスしてチューニングを行うことによって実行する。メディアプレーヤ134は、ビデオ/オーディオ136を再生デバイス138に渡す。
本発明の一態様によれば、DLNAメディアレンダラー130は、チューニングの要求がネットワークに接続されているデバイスからメディアプレーヤへ、どのようにして提示することができるかについての一例として提供される。DLNAメディアレンダラー130はまた、メディアプレーヤ134からのステータス情報をDLNAコントロールポイント112に提示するための仲介者として、また、今度はメディアプレーヤ138に提示されるプレーヤコントロールコマンドをコントロールポイントから受信するための仲介者として機能する。この例においては、DLNAメディアレンダラー130は、メディアプレーヤとのインターフェースを取るためのメッセージベースのAPIを記述するソフトウェア仕様とすることができる。DLNAコントロールポイント112は、オーディオ/ビデオ資産のレンダリングをコントロールできるようにするためにDLNAメディアレンダラー130と通信する。特定のチャンネルにチューニングの要求をどのようにしてメディアプレーヤに提示するかに関するその他の方法および/または実施態様は、本発明の範囲から逸脱することなく実施することができる。
メディアプレーヤ134は、本明細書では一例として使用されており、相関付けられているメディアアイテム/エンコードされているURLを介して、チューニングする先のチャンネルを設定するための適切なインターフェースがある限り、デジタル放送をチューニングすることができる任意のメディアプレーヤを利用することができるということを当業者なら理解するであろう。デジタル放送をチューニングすることができるメディアプレーヤの例は、ケーブルセットトップボックス、受信される衛星などとすることができる。
本明細書においてさらに考えられることとして、リモートクライアントが再生をローカルまたはリモートのレンダリング用に構成できるようにするために、メディアプレーヤウェブサービスを本発明の方法とともに利用することもできる。メディアプレーヤウェブサービスの詳細は、当業者によってよく知られており、理解されている。
一実施態様によれば、コンテンツマネージメントシステム120は、ネットワークオペレータ300によって提示される番組ガイド情報304を使用し、この情報を、WANを介したコンテンツ公開サービス200を介して公開されているさらに包括的な情報ガイドとマージする。帯域幅の制約に起因して、ネットワークオペレータ300によって送信される番組ガイド304には、スケジュールされている番組に関する限られた情報しかない。したがって、番組に関する視聴を行うためのさらに豊富な情報基盤をコンシューマーに提供するために取り込まれるレビュー、俳優、ディレクタ、番組ティーザーなどのさらなる情報は、WAN上で利用可能なコンテンツ公開サービス(たとえば、imdb.com)から得られる。
理解できることであろうが、これらのサービスは、プロバイダー固有ではなく、放送を得るためのチューニング情報を含んでいない。コンテンツマネージメントシステム120は、公開サービス300からメタデータを取り込み、そのメタデータを、ネットワークオペレータ300が何を提供するかに基づいてフィルタリングし、それによって、ネットワークオペレータを通じて利用できない番組に関する情報は、LAN内のクライアントに提示されるデータから削除される。
上記から明らかであろうが、コンテンツマネージメントシステムは、さまざまなプロバイダーからの情報のソースを集約すること、および利用可能な選ばれた番組コンテンツを提示することを可能にする処理機能を含み、それによって、DLNAクライアントは、情報を検討して、その番組コンテンツの再生を選択することができ、その選ばれた番組コンテンツへのチューニングは、本発明の生成されたエンコードされているURLを通じて行われる。したがって、このプロセスの結果として、外部のチューニングステップは必要とされない。
このシステムの利点は、クライアントが、見るメディア番組を選択する際に、放送されているコンテンツ、LANでストリーミングされているコンテンツ、WANでストリーミングされているコンテンツ、またはローカルに格納されているコンテンツの間で区別を行う必要がないということである。この結果として得られる、クライアントデバイス用の簡略化されたユーザインターフェースは、メディアの再生を視聴およびコントロールするためのさまざまな複数のユースケースを構築することとは対照的に、1つの均一なユースケースを作成することを可能にする。ユーザは、クライアントデバイスおよびアプリケーションを通じてコンテンツを、そのソースを問わずに、これらのメカニズムを通じて視聴および再生することができる。
本明細書において列挙されているすべての例および条件を表す表現(conditional language)は、本発明の原理、および、当技術分野を進展させることに対して本発明者によって寄与されたコンセプトを読みが理解する際に役立つための教示上の目的を意図されており、また、そのような具体的に列挙された例および条件に限定されるものではないと解釈されるべきである。
その上、本明細書において本発明の原理の原理、態様、および実施形態、ならびにその具体例について述べるすべての記述は、その構造上の均等物および機能上の均等物の両方を包含することを意図されている。加えて、そのような均等物は、現在知られている均等物、ならびに将来開発される均等物、すなわち、構造のいかんを問わず同じ機能を実行する開発されるあらゆる要素の両方を含むことが意図されている。
したがって、たとえば、本明細書において提示されているブロック図は、本発明の原理を具体化する例示的な回路の概念的な図を表しているということを当業者なら理解するであろう。同様に、あらゆるフローチャート、流れ図、状態遷移図、疑似コードなどは、コンピュータ可読メディアにおいて実質的に表すことが可能な、したがってコンピュータまたはプロセッサによって実行することが可能な(そのようなコンピュータまたはプロセッサが明示的に示されているか否かにかかわらず)さまざまなプロセスを表しているということがわかるであろう。
図において示されているさまざまな要素の機能は、専用のハードウェア、ならびに、適切なソフトウェアと関連付けてソフトウェアを実行できるハードウェアの使用を通じて提供することができる。それらの機能は、プロセッサによって提供される場合には、単一の専用のプロセッサによって、単一の共有プロセッサによって、または複数の個別のプロセッサ(そのうちのいくつかを共有することができる)によって提供することができる。その上、「プロセッサ」または「コントローラ」という用語の明示的な使用は、ソフトウェアを実行することができるハードウェアだけを指すと解釈されるべきではなく、DSP(「digital signal processor」)ハードウェア、ソフトウェアを格納するためのROM(「read−only memory」)、RAM(「random access memory」)、および不揮発性ストレージを暗に含むことができるが、それらには限定されない。
その他のハードウェアを、通常のものであれ、および/またはカスタムのものであれ、含むこともできる。同様に、図において示されているあらゆるスイッチは、概念上のものにすぎない。それらの機能は、プログラムロジックのオペレーションを通じて、専用のロジックを通じて、プログラムコントロールと専用のロジックとの対話を通じて、または手動でさえ、実行することができ、特定の技術は、コンテキストからさらに具体的に理解された際に実施者によって選択可能である。
本明細書の特許請求の範囲においては、指定された機能を実行するための手段として表されているいかなる要素も、たとえば、a)その機能を実行する回路要素の組合せ、またはb)任意の形態のソフトウェア(したがって、ファームウェア、マイクロコードなどを含む)を、その機能を行うためにそのソフトウェアを実行するための適切な回路と組み合わせたものを含む、その機能を実行するあらゆる方法を包含することを意図されている。そのような特許請求の範囲によって定義される本発明の原理は、さまざまな列挙されている手段によって提供される機能が、特許請求の範囲が求める様式で組み合わされ結合されるという事実の中に存在する。したがって、それらの機能を提供することができるいかなる手段も、本明細書において示されている手段と同等であるとみなされる。
本明細書における、本発明の原理の「一実施形態」または「ある実施形態」、ならびに本発明の原理のその他の変形形態への言及は、その実施形態に関連して説明されている特定の機能、構造、特徴などが、本発明の原理の少なくとも1つの実施形態に含まれているということを意味する。したがって、「一実施形態において(における)」または「ある実施形態において(における)」という語句、ならびにその他のあらゆる変形が、本明細書を通じてさまざまな個所に登場しても、それらは、必ずしもすべて同じ実施形態を指しているとは限らない。
本発明の原理は、さまざまな形態のハードウェア、ソフトウェア、ファームウェア、専用プロセッサ、またはそれらの組合せで実装することができるということを理解されたい。本発明の原理は、ハードウェアとソフトウェアの組合せとして実装できることが好ましい。その上、そのソフトウェアは、プログラムストレージデバイス上で有形に具体化されるアプリケーションプログラムとして実装されることが好ましい。そのアプリケーションプログラムは、任意の適切なアーキテクチャーを含むマシンにアップロードして、そのマシンによって実行することができる。そのマシンは、1つまたは複数のCPU(central processing unit)、RAM(random access memory)、および(1つまたは複数の)I/O(input/output)インターフェースなどのハードウェアを有するコンピュータプラットフォーム上に実装されることが好ましい。そのコンピュータプラットフォームはまた、オペレーティングシステムおよびマイクロ命令コードを含む。本明細書に記載されているさまざまなプロセスおよび機能は、オペレーティングシステムを介して実行される、マイクロ命令コードの一部、またはアプリケーションプログラムの一部(またはそれらの組合せ)のいずれかとすることができる。加えて、さらなるデータストレージデバイスおよび印刷デバイスなど、その他のさまざまな周辺デバイスをそのコンピュータプラットフォームに接続することができる。
添付の図において示されている構成要素であるシステムコンポーネントおよび方法ステップのうちのいくつかは、ソフトウェアで実装されることが好ましいため、システムコンポーネントどうし(またはプロセスステップどうし)の間における実際の接続は、本発明の原理がプログラムされる方法に応じて異なることがあるということをさらに理解されたい。本明細書の教示を与えられれば、関連した技術分野の標準的な技術者なら、本発明の原理のこれらおよび類似の実装形態または構成を想起できるであろう。
本発明の原理の根幹をなす新規な特徴を示し、説明し、指摘したが、説明されている方法および示されているデバイスの形態および詳細において、ならびにそれらの動作において、本発明の原理の趣旨から逸脱することなく、当業者によってさまざまな省略、置換、および変更を行うことができるということが理解できるであろう。たとえば、実質的に同じ機能を実質的に同じ方法で実行して同じ結果を達成する要素および/または方法ステップのすべての組合せは本発明の原理の範囲内であることが明らかに意図されている。その上、本発明の原理の任意の開示されている形態または実施態様に関連して示されているおよび/または説明されている構造および/または要素および/または方法ステップは、設計上の選択という一般的な問題として、その他の任意の開示、説明、または提案されている形態または実施態様に組み込むことができるということを認識されたい。したがって、添付の特許請求の範囲の範疇によって示されているようにのみ限定されることが意図されている。