(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-16
(45)【発行日】2024-05-24
(54)【発明の名称】ストリーミング技術
(51)【国際特許分類】
H04N 21/4367 20110101AFI20240517BHJP
H04N 21/835 20110101ALI20240517BHJP
【FI】
H04N21/4367
H04N21/835
(21)【出願番号】P 2022535056
(86)(22)【出願日】2020-12-09
(86)【国際出願番号】 EP2020085371
(87)【国際公開番号】W WO2021116226
(87)【国際公開日】2021-06-17
【審査請求日】2022-08-29
(32)【優先日】2019-12-09
(33)【優先権主張国・地域又は機関】EP
(73)【特許権者】
【識別番号】519426036
【氏名又は名称】ツィネモ・ゲーエムベーハー
(74)【代理人】
【識別番号】100079577
【氏名又は名称】岡田 全啓
(74)【代理人】
【識別番号】100167966
【氏名又は名称】扇谷 一
(72)【発明者】
【氏名】ディムコビック イワン
(72)【発明者】
【氏名】レッサー リヒャルト
(72)【発明者】
【氏名】バークハーン エンリック
【審査官】富樫 明
(56)【参考文献】
【文献】米国特許出願公開第2013/0268980(US,A1)
【文献】特表2013-538486(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 21/00-21/858
(57)【特許請求の範囲】
【請求項1】
分散再生(DP)マスターデバイス(500、100、101、300、301)であって、
複数のDPクライアントデバイス(600、650、120、120´、120´´、320、320´、320´´)とのローカル接続(520、60、61、62)及びリモートコンテンツプロバイダ(50)とのリモート接続(501、52、53、54、55)を確立し、前記リモートコンテンツプロバイダ(50)から第1の暗号化メディアストリーム(504、181´、381´)を受信するように構成された通信インタフェース(502)であって、前記第1の暗号化メディアストリーム(504、181´、381´)は第1の暗号化規格に従って暗号化されており、前記第1の暗号化メディアストリームは少なくとも1つのオーディオストリーム及び少なくとも1つのビデオストリームを含む、通信インタフェース(502)と、
前記第1の暗号化メディアストリーム(504、181´、381´)を解読して、解読済みメディアストリーム(508)を得るように構成された暗号解読器(506、183、383)と、
DP情報(DPI)(510)を前記解読済みメディアストリーム(508、183´、383´)に追加するように構成されたDPI加算器(512)と、
第2の暗号化規格に従って前記解読済みメディアストリーム(508、514、182´)を暗号化して、第2の暗号化ストリーム(518、189´、389´)を得るように構成された暗号化器(516、185、389)であって、前記第2の暗号化規格は前記第1の暗号化規格と同じ又は異なる、暗号化器と、
を含み、
前記DPマスターデバイスは、前記第2の暗号化メディアストリーム(518、189´、389´)内の前記DPI(510)を追加で暗号化する、又は前記DPI(510)を平文で前記第2の暗号化メディアストリーム(518、189´、389´)に追加するように構成され、
前記通信インタフェース(502)は、前記第2の暗号化メディアストリーム(518、189´、389´)である出力メディアストリームを前記複数のDPクライアントデバイス(120-120´´)に送信するように構成され、
前記DPマスターデバイス(300、301、500)は、トラステッド
実行環境
(TEE)(380)と
リッチ実行環境(REE)である非トラステッド
実行環境(360)と
にパーティション化され、前記
TEE(380)のセキュリティレベルは前記
REE(360)のセキュリティレベルよりも高く、前記暗号解読器(506、183)及び前記暗号化器(516、389)は前記
TEE(380)内にあり、
前記DPマスターデバイス(300、301、500)は、前記
TEE(380)内にトラステッドレンダラー部分(385、392)と前記
REE(360)内に非トラステッドレンダラー部分(384、388、391)とを備え、ビデオコンテンツである第1のメディアコンテンツ(385´)が前記トラステッドレンダラー部分(385、392)によってレンダリングされ、オーディオコンテンツである第2のメディアコンテンツ(384´)が前記非トラステッドレンダラー部分(384、388、391)によってレンダリングされる、組込み型メディアレンダラー(540)をさらに含み、ここで前記第1のメディアコンテンツ(385´)及び前記第2のメディアコンテンツ(384´)は前記解読済みメディアストリーム(508、514、182´)から復号(385)され、
前記第1のメディアコンテンツ(385´)は、前記DPI(510)を通じて前記第2のメディアコンテンツ(384´)に同期される、
分散再生(DP)マスターデバイス。
【請求項2】
前記通信インタフェース(502)は前記
REE(360)内にある、
請求項1に記載のDPマスターデバイス。
【請求項3】
前記
TEE(380)は、前記解読済みメディアストリーム(383´)を復号するように構成された内蔵トラステッドデコーダ(385)を含む、
請求項1または2に記載のDPマスターデバイス。
【請求項4】
複数のモードに従って動作するように構成され、あるモードでは、少なくとも前記
TEE(380)の暗号化器(516、185、389)及び/又は前記暗号解読器(506、183)が非アクティブ化され、別のモードでは、前記
TEE(380)がアクティブ化される、
請求項1ないし3のいずれかに記載のDPマスターデバイス。
【請求項5】
複数のモードに従って動作するように構成され、前記複数のモードは、暗号化器が非アクティブ化されて前記出力メディアストリーム(518)が暗号化されないモードと、前記出力メディアストリーム(518)が暗号化される暗号化器がアクティブ化される別のモードと、を含む、
請求項1ないし4のいずれかに記載のDPマスターデバイス。
【請求項6】
複数のモードに従って動作するように構成され、前記複数のモードは、送信を拒否して、前記解読済みメディアストリーム(508)は前記組込み型メディアレンダラーに提供されるが前記複数のDPクライアントデバイス(600)には提供されないモードを含む、
請求項1ないし5のいずれかに記載のDPマスターデバイス。
【請求項7】
前記解読済みメディアストリーム(508、183´、383´)を受信し、前記解読済みメディアストリーム(508、183´、383´)を前記暗号化器に提供し、且つ前記第2の暗号化メディアストリーム(389´)を前記
REE(360)に提供するためのバッファ(387)を前記
TEE(380)内にさらに備える、
請求項1ないし6のいずれかに記載のDPマスターデバイス。
【請求項8】
前記
TEE(380)内の前記バッファ(387)は、前記解読済みメディアストリーム(508、183´、383´)の一部分を提供して前記
TEE(380)内で復号されるようにし、また前記解読済みメディアストリーム(508、183´、383´)の別の一部分を提供して前記
REE内で復号されるようにするように構成される、
請求項7に記載のDPマスターデバイス。
【請求項9】
前記DPI(510)は、前記解読済みメディアストリーム(508、183´、383´)の少なくとも1つのフレーム(1310)に関連付けられたタイミング情報を含み、前記タイミング情報は、前記少なくとも1つのフレーム(1310)のレンダリングの時刻に関する提示時間情報を提供する、
請求項1ないし8のいずれかに記載のDPマスターデバイス。
【請求項10】
前記提示時間情報は前記複数のDPクライアントデバイス(600)及び前記DPマスターデバイス(500)の双方に提供されて、前記メディアコンテンツが同期してレンダリングされるようになっている、
請求項9に記載のDPマスターデバイス。
【請求項11】
前記提示時間情報はペイロードパケット(1314)において提供される、
請求項10に記載のDPマスターデバイス。
【請求項12】
前記タイミング情報は、前記DPマスターデバイスに従って前記少なくとも1つのフレーム(1310)がスケジュールされる時刻に関する情報を提供する、
請求項9ないし11のいずれかに記載のDPマスターデバイス。
【請求項13】
前記タイミング情報は前記少なくとも1つのフレーム(1310)の前記レンダリング
のタイミングを、前記DPクライアントデバイスにおける前記レンダリングを、前記少なくとも1つのフレーム(1310)の前記レンダリングの前記タイミングに基づいて同期させるように提供する、
請求項9ないし12のいずれかに記載のDPマスターデバイス。
【請求項14】
前記タイミング情報は、前記タイミング情報が前記出力メディアストリームに書き込まれる時刻に将来予定されている、前記少なくとも1つのフレーム(1310)の前記レンダリング
のタイミングを前記DPクライアントデバイスにおける前記レンダリングを前記少なくとも1つのフレーム(1310)の前記レンダリングの前記タイミングに基づいて同期させるように提供する、
請求項9ないし12のいずれかに記載のDPマスターデバイス。
【請求項15】
前記DPI(510)は、少なくとも1つのDPクライアントデバイスに関連付けられた遅延情報(1324)をさらに含んで、前記少なくとも1つのDPクライアントデバイスにおける前記レンダリングを同期させる、
請求項9ないし14のいずれかに記載のDPマスターデバイス。
【請求項16】
前記DPI(510)は、前記マスターデバイスによって定義される現在の再生速度(1323)に関する情報を提供して、少なくとも1つのDPクライアントデバイスにおける前記レンダリングを同期させる、
請求項9ないし15のいずれかに記載のDPマスターデバイス。
【請求項17】
前記DPI(510)は、ペイロードのないビーコンパケット(1320)で提供される、
請求項9ないし16のいずれかに記載のDPマスターデバイス。
【請求項18】
前記DPI(510)は、前記出力メディアストリーム(518)のペイロードパケット(1310)で提供される、
請求項9ないし17のいずれかに記載のDPマスターデバイス。
【請求項19】
複数のモードに従って動作するように構成され、前記複数のモードは送信拒否モードを含み、前記解読済みメディアストリーム(508)は前記組込み型メディアレンダラーに提供されるが、前記出力メディアストリームは前記複数のDPクライアントデバイス(600)に提供されないようになっている、
請求項1ないし18のいずれかに記載のDPマスターデバイス。
【請求項20】
前記組込み型メディアレンダラー(540)に提供される前記DPI(510)の少なくともいくつかの情報は、前記組込み型メディアレンダラー(540)の前記レンダリングの遅延に対する制御(388´)をアクティブ化させ、
少なくとも既定の数のクライアントデバイスにおける前記レンダリングの前記遅延が増加する場合、前記制御(388´)は、前記組込み型メディアレンダラー(540)における前記レンダリングの前記遅延を増加させる、及び/又は、
少なくとも既定の数のクライアントデバイスにおける前記レンダリングの前記遅延が減少する場合、前記制御(388´)は、前記組込み型メディアレンダラー(540)における前記レンダリングの前記遅延を減少または維持させる、
請求項1ないし19のいずれかに記載のDPマスターデバイス。
【請求項21】
前記メディアコンテンツがレンダリングされる最後の提示時間を得るために前記暗号解読及び前記復号の実行に必要な既定の時間を考慮して、前記DPIを定義するように構成される、
請求項1ないし20のいずれかに記載のDPマスターデバイス。
【請求項22】
少なくとも1つのDPクライアントデバイスからのフィードバック(980、1380)に基づいて前記提示時間情報を定義するように構成される、
請求項
9に記載のDPマスターデバイス。
【請求項23】
前記フィードバック(980、1380)は、少なくとも1つのDPクライアントデバイスにおける再現状態に関する情報を、含む及び/又は推定することを可能にする、
請求項22に記載のDPマスターデバイス。
【請求項24】
前記再現状態に関する前記情報は、前記少なくとも1つのDPクライアントデバイスがフィードバックパケットを送信した時間に前記少なくとも1つのDPクライアントデバイスにおいて前記出力メディアストリーム(518、604)のどのフレームがレンダリングされているかに関する情報を含む、
請求項23に記載のDPマスターデバイス。
【請求項25】
前記ローカル接続(520)で送信された前記出力メディアストリーム(518、604)の少なくとも1つのペイロードパケット(1310)において前記DPI(510)を符号化するように構成される、
請求項1ないし
24のいずれかに記載のDPマスターデバイス。
【請求項26】
第1のパーティション(201、401)及び第2のパーティション(202、402)を定義し、前記第1のパーティション(201、401)の前記DPクライアントデバイス(120、320)と前記ローカル接続(50、60)を確立し、前記第2のパーティション(202、402)の前記DPクライアントデバイス(120´、320´)との前記ローカル接続を確立しないように構成される、
請求項1ないし
25のいずれかに記載のDPマスターデバイス。
【請求項27】
別の外部DPマスターデバイス(101、301)として動作する別のデバイスと通信して前記第1のパーティション(201、401)及び前記第2のパーティション(202、402)を定義し、前記DPマスターデバイス(100、300)は、前記第1のパーティション(201、401)の前記DPクライアントデバイス(120、320)との第1のローカル接続(60)を確立し、前記外部DPマスターデバイス(101、301)は、前記第2のパーティション(202、402)の前記DPクライアントデバイス(120´、320´)との第2のローカル接続(62)を確立するように構成される、
請求項
26に記載のDPマスターデバイス。
【請求項28】
前記DPマスターデバイスは、前記複数のDPクライアントデバイスのうちの少なくとも1つのDPクライアントデバイスから前記ローカル接続を通じて少なくとも1つのコマンドを受信し、前記DPマスターデバイスが前記少なくとも1つのコマンドに従って動作するように構成される、
請求項1ないし
27のいずれかに記載のDPマスターデバイス。
【請求項29】
前記コマンドは再生コマンドであり、前記DPマスターデバイスは前記再生コマンドを前記複数のDPクライアントデバイスに中継するように構成される、
請求項
28に記載のDPマスターデバイス。
【請求項30】
再現コマンドを作動させる時間に関するタイミング情報を前記DPIが含むように、前記DPIを修正するように構成される、
請求項
28または
29に記載のDPマスターデバイス。
【請求項31】
前記第1の規格はWidevine規格である、
請求項1ないし
30のいずれかに記載のDPマスターデバイス。
【請求項32】
前記第2の暗号化規格は高帯域幅デジタルコンテンツ保護(HDCP)規格である、
請求項1ないし
31のいずれかに記載のDPマスターデバイス。
【請求項33】
前記リモート接続は無線移動通信ネットワークを伴う、
請求項1ないし
32のいずれかに記載のDPマスターデバイス。
【請求項34】
前記ローカル接続はローカル無線通信ネットワークを伴う、
請求項1ないし
33のいずれかに記載のDPマスターデバイス。
【請求項35】
分散再生(DP)クライアントデバイス(600、120-120´´)であって、
DPマスターデバイス(500、100、101、300、301)とローカル接続(520、60)を確立して、前記DPマスターデバイス(500、100、101、300、301)から暗号化メディアストリーム(604、189´、389´)を受信するように構成されたDP通信インタフェース(602)であって、前記暗号化メディアストリーム(604、189´、389´)はペイロードデータ及びDP情報(DPI)(510)を含み、前記暗号化メディアストリーム(604、189´、389´)は少なくとも1つのオーディオストリーム及び少なくとも1つのビデオストリームを含む、DP通信インタフェース(602)と、
前記暗号化メディアストリーム(604、189´、389´)を解読して、解読済みメディアストリーム(608)を得るように構成されたDPクライアント暗号解読器(606、339)と、
前記解読済みメディアストリーム(608、339´、343´´)又は前記暗号化メディアストリーム(604、189´、389´)内の前記DPI(510)を抽出するように構成されたDPI抽出器(612)と、
前記DPI(510)を使用して前記解読済みメディアストリーム(608、339´、343)を復号するように構成されたDPクライアント復号器(630、334、338、345)と、
を含み、
前記DPクライアントデバイスは、トラステッド
実行環境
(TEE)(340)及び
リッチ実行環境(REE)である非トラステッド
実行環境(330)
にさらに
パーティション化され、前記DPクライアント暗号解読器(606、339)は前記
TEE内にあり、前記DP通信インタフェースは前記
REE内にあり、前記
TEE(380)のセキュリティレベルは前記
REE(360)のセキュリティレベルよりも高く、
前記DPクライアントデバイスは、前記
TEE(340)内にトラステッドレンダラー部分(345、352)、前記
REE(360)内に非トラステッドレンダラー部分(334、338、326)を有するDPクライアントメディアレンダラー(610)を更に含み、ビデオコンテンツである第1のメディアコンテンツ(345´)が前記トラステッドレンダラー部分(345、352)によってレンダリングされ、オーディオコンテンツである第2のメディアコンテンツ(334´)が前記非トラステッドレンダラー部分(334、338、326)によってレンダリングされ、前記第1のメディアコンテンツ(345´)は前記DPI(510)を通して前記第2のメディアコンテンツ(334´)に同期される、
分散再生(DP)クライアントデバイス。
【請求項36】
前記DPI(510)は、前記解読済みメディアストリーム(608、339´、343´´)の少なくとも1つのフレームに関連付けられたタイミング情報を含み、前記タイミング情報(510)は、前記少なくとも1つのフレームの復号バージョン(632)内のメディアコンテンツがレンダリングされた又はレンダリングされる予定
の時刻に関する情報を提供する、
請求項
35に記載のDPクライアントデバイス。
【請求項37】
前記解読済みメディアストリーム(608、339´、343)の前記復号バージョン(632)内の前記メディアコンテンツの前記レンダリング
のタイミングを測定し、前記メディアコンテンツの前記レンダリングの実際のタイミングに関する情報を提供するフィードバックメッセージを前記DPマスターデバイスに提供するように構成される、
請求項
35に記載のDPクライアントデバイス。
【請求項38】
前記メディアコンテンツがレンダリングされ
る最後の提示時間を得るために、前記暗号解読及び前記復号化の実行に必要な既定の時間を考慮するように構成される、
請求項
36または請求項37に記載のDPクライアントデバイス。
【請求項39】
複数のモードに従って動作するように構成され、第1のモードでは、少なくとも前記
TEE(340)内の前記DPクライアント暗号解読器が非アクティブ化され、第2のモードでは、前記
TEE(340)がアクティブ化される、
請求項
38に記載のDPクライアントデバイス。
【請求項40】
前記複数のモードの選択は、前記DPマスターデバイスから送信されるパケットにおいてシグナリングされる、
請求項
39に記載のDPクライアントデバイス。
【請求項41】
入力ユニットを含み、前記入力ユニットから得られた前記入力に従って、パケットを前記DPマスターデバイスに送信するように構成される、
請求項
35ないし
40のいずれかに記載のDPクライアントデバイス。
【請求項42】
前記DPI内のタイミング情報に従って前記DPマスターデバイスへの再生コマンドを同期させるように構成される、
請求項
35ないし
41のいずれかに記載のDPクライアントデバイス。
【請求項43】
前記暗号化メディアストリームは
高帯域幅デジタルコンテンツ保護(HDCP)規格に従って暗号化される、
請求項
35ないし
42のいずれかに記載のDPクライアントデバイス。
【請求項44】
前記ローカル接続は無線ローカル接続である、
請求項
35ないし
43のいずれかに記載のDPクライアントデバイス。
【請求項45】
選択された場合に、DPマスターデバイスとして動作するように構成される、
請求項
35ないし
44のいずれかに記載のDPクライアントデバイス。
【請求項46】
分散再生(DP)方法であって
複数のDPクライアントデバイス(600、650、120、120´、120´´、320、320´、320´´)とのローカル接続(520、60、61、62)を確立するステップと、
リモートコンテンツプロバイダ(50)から第1の暗号化メディアストリーム(504、181´、381´)を受信するように、前記リモートコンテンツプロバイダ(50)とのリモート接続(501、52、53、54、55)を確立するステップであって、前記第1の暗号化メディアストリーム(504、181´、381´)は第1の暗号化規格に従って暗号化され、前記第1の暗号化メディアストリームは少なくとも1つのオーディオストリーム及び少なくとも1つのビデオストリームを含む、リモート接続を確立するステップと、
解読済みメディアストリーム(508)を取得するために前記第1の暗号化メディアストリーム(504、181´、381´)を解読するステップと、
DP情報(DPI)(510)を、前記解読済みメディアストリーム(508、183´、383´)に追加するステップと、
第2の暗号化ストリーム(518、189´、389´)を得るために第2の暗号化規格に従って前記解読済みメディアストリーム(508、514、182´)を暗号化するステップと、
前記第2の暗号化メディアストリーム(518、189´、389´)内の前記DPI(510)を追加で暗号化するステップ、又は前記DPI(510)を前記第2の暗号化メディアストリーム(518、189´、389´)に平文で追加するステップと、
前記第2の暗号化メディアストリーム(518、189´、389´)である出力メディアストリーム(518、189´、389´)を前記複数のDPクライアントデバイス(120-120´´)に送信するステップと、
を含み、
前記方法は、トラステッド
実行環境
(TEE)(380)内にトラステッドレンダラー部分(385、392)と、
リッチ実行環境(REE)である非トラステッド
実行環境(360)内に非トラステッドレンダラー部分(384、388、391)とを有する組込み型メディアレンダラー(540)を使用して、ビデオコンテンツである第1のメディアコンテンツ(385´)が前記トラステッドレンダラー部分(385、392)によってレンダリングされ、オーディオコンテンツである第2のメディアコンテンツ(384´)が非トラステッドレンダラー部分(384、388、391)によってレンダリングされ、前記第1のメディアコンテンツ(385´)及び前記第2のメディアコンテンツ(384´)は前記解読済みメディアストリーム(508、514、182´)から復号され(385)、前記第1のメディアコンテンツ(385´)は前記DPI(510)を通して前記第2のメディアコンテンツ(384´)に同期され、
暗号化するステップは、前記
TEE(380)内で実行される、
分散再生(DP)方法。
【発明の詳細な説明】
【技術分野】
【0001】
本実施例の分野
本実施例は、主に、リモートコンテンツプロバイダから取得したメディアストリーム(例えば、オーディオストリーム及び/又はビデオストリーム)をローカルクライアントデバイスに送信するためのシステム、方法、装置及び技術(例えば、ストリーミング技術)に関する。当該技術は、例えば車両(例えば、自動車)用のインフォテインメント機器に、特に適用することができる。
【背景技術】
【0002】
背景
ストリーミング技術は、メディアコンテンツをリモートコンテンツプロバイダからメディアサーバを通じて複数のクライアントデバイスに送信することを可能にすることができる。メディアサーバは、例えば、助手席用ヘッドユニットであってもよい。また、メディアサーバは、ディスプレイ及び/又はスピーカなどのそれ自身の出力デバイスによってメディアコンテンツを再現するように適合されてもよい。物理的環境(例えば、車両)内に散在する異なるクライアントデバイス(後部座席のユニットなど)に、再現されるメディアストリームが提供されてもよい。
【0003】
例えば、メディアサーバをクライアントデバイスに接続するために、有線接続及び無線接続が知られている。後者は一般的に安価で、複雑でなく、構成が簡単である。
【0004】
しかしながら、有線及び無線のいずれにおいても、いくつかの問題が発生している。まず、セキュリティの問題が発生している。すなわち、メディア信号を不正に取得することが起こっている。この不都合を低減するために、暗号化を用いた技術を導入する試みがなされている。
【0005】
しかしながら、理論的には、メディアサーバは暗号化ストリームをすべてのクライアントデバイスに中継すればよいが、実際には、クライアントデバイスの出力ユニット(スピーカ、ディスプレイ...)で提供される信号とサーバに組み込まれた又は内蔵された出力ユニットとの間で同期がとれないという弱点が認識されている。例えば、暗号化及び暗号解読にはゼロではない時間が必要であり、メディアサーバの出力デバイスによるメディアコンテンツの再現に関して、クライアントデバイスのメディアコンテンツの再現の遅延が発生する。
【0006】
そのため、デバイス(サーバとクライアント)間の同期を高めるための解決策が求められている。
【0007】
その他の問題は、いくつかの特定のクラスのシステムで生じている。メディアコンテンツ(又は少なくともその一部)が出力ユニット(例えばディスプレイ)に直接提供され、ユーザがメディア信号を不正に入手する可能性が低いことを、特定のセキュリティレベルで保証できる認証が開発されている。そのため、認証されたハードウェア及びソフトウェアが販売されている。これらのソリューションの多くは、異なる暗号化技術に基づいている(そのほとんどは、幅広いクラスのデバイスに使用できるように標準化されている)。しかし、すべての暗号化を用いた技術や認証が常に同じレベルのセキュリティを提供するわけではない。すなわち、新しい技術や認証がその間に開発されている。このことは、新しい規格に従ってサーバがストリームを提供する場合、既存のデバイスを新しい規格に対応した新しいデバイスに交換する必要があり、したがって、コストが増加する、又は、最善の場合、デバイスを再設定しなければならず、複雑さが増すことを意味する。認証環境は、入力ポート及び出力ポートへの接続を阻止するための技術を実装しているため、非公開の「ブラックボックス」になりがちである。すなわち、ハッキングの可能性を回避することを目的としているため、クライアントレベルで解読済みストリームを処理する可能性を複雑にさせている。
【0008】
また、この場合にも、簡略化のため及びセキュリティの向上のために、いくつかのソリューションが必要とされる。
【発明の概要】
【0009】
概要
実施例に従って、分散再生,DP,マスターデバイスが提供される。DPマスターデバイスは、複数のDPクライアントデバイスとのローカル接続及びリモートコンテンツプロバイダとのリモート接続を確立し、リモートコンテンツプロバイダから第1の暗号化メディアストリームを受信するように構成された通信インタフェースであって、暗号化メディアストリームは第1の暗号化規格に従って暗号化される、通信インタフェースと、第1の暗号化メディアストリームを解読して、解読済みメディアストリームを得るように構成された暗号解読器と、DP情報,DPI,を解読済みメディアストリームに追加するように構成されたDPI加算器と、第2の暗号化規格に従って解読済みメディアストリームを暗号化して、第2の暗号化ストリームを得るように構成された暗号化器であって、第2の暗号化規格は第1の暗号化規格と同じ又は異なる、暗号化器と、を含み、ここで、DPマスターデバイスは、第2の暗号化メディアストリーム内のDPIを追加で暗号化する、又はDPIを平文で暗号化メディアストリームに追加するように構成され、通信インタフェースは、第2の暗号化メディアストリームである出力メディアストリームを複数のDPクライアントデバイスに送信するように構成される。
【0010】
実施例に従って、分散再生,DP,マスターデバイスが提供される。DPマスターデバイスは、複数のDPクライアントデバイスとのローカル接続及びリモートコンテンツプロバイダとのリモート接続を確立し、リモートコンテンツプロバイダから暗号化メディアストリームを受信するように構成された通信インタフェースであって、暗号化メディアストリームは第1の暗号化規格に従って暗号化される、通信インタフェースと、第1の暗号化されたメディアストリームを解読して解読済みメディアストリームを得るように構成された暗号解読器と、DP情報,DPI,を解読済みメディアストリームに追加するように構成されたDPI加算器と、を含み、ここで、DPマスターデバイスは、解読済みメディアストリームにDPIを追加的に追加するように構成され、通信インタフェースは、出力メディアストリームを複数のDPクライアントデバイスに送信するように構成される。
【0011】
実施例に従って、分散再生,DP,クライアントデバイスが提供される。DPクライアントデバイスは、DPマスターデバイスとローカル接続を確立して、DPマスターデバイスから暗号化メディアストリームを受信するように構成されたDP通信インタフェースであって、解読済みメディアストリームはペイロードデータ及びDP情報,DPIを含むDP通信インタフェースと、解読済みメディアストリームを得るために、暗号化されたメディアストリームを解読して解読済みメディアストリームを得るように構成されたDPクライアント暗号解読器と、解読済みメディアストリーム又は暗号化メディアストリーム内のDPIを抽出するように構成されたDPI抽出器と、DPIを使用して解読済みメディアストリームを復号するように構成されたDPクライアント復号器と、を含む。
【0012】
実施例に従って、先行する実施例のいずれかによる少なくとも1つのDPマスターデバイス及び複数のDPクライアントデバイスを含むシステムと、当該システムを含む車両とが提供される。
【0013】
実施例に従って、請求項による方法(例えば、DPマスターデバイス及び/又はDPクライアントデバイスによって実行される)も提供される。
【図面の簡単な説明】
【0014】
【
図1a-1】
図1aは、実施例に係るローカルシステムの例を示す。
【
図1a-2】
図1aは、実施例に係るローカルシステムの例を示す。
【
図2-1】
図2は、
図1aのローカルシステム等のローカルシステムの一部を示す。
【
図2-2】
図2は、
図1aのローカルシステム等のローカルシステムの一部を示す。
【
図3a-1】
図3aは、実施例に係るローカルシステムの例を示す。
【
図3a-2】
図3aは、実施例に係るローカルシステムの例を示す。
【
図4-1】
図4は、
図3aのローカルシステム等のローカルシステムの一部を示す。
【
図4-2】
図4は、
図3aのローカルシステム等のローカルシステムの一部を示す。
【
図5】
図5は、実施例に係るサーバデバイスを示す。
【
図6】
図6は、実施例に係るクライアントデバイスを示す。
【
図8】
図8は、実施例に係る通信プロトコルを示す。
【発明を実施するための形態】
【0015】
一般的な実施例
図5は、分散再生(DPマスターデバイス500)の一例を示す。DPマスターデバイス500は、例えば、複数のDPクライアントデバイス600(
図5には示されていないが、そのうちの1つが
図6に示されている;
図1c及び
図3cも参照)とローカル接続520を確立し、リモートコンテンツプロバイダ(CP)50とリモート接続501を確立するように構成された通信インタフェース502を含むことができる。通信インタフェース502は、機能ブロックの1つ又は複数のユニット又はデバイスを含む、又はそれらによって具現化され得る。
【0016】
ローカル接続520は、無線接続(例えば、WiFi接続、Bluetooth(登録商標)接続などを通じて)であってもよく、したがって、複数のクライアントデバイス600とのDPセッションを実現することができる。ローカル接続520は、有線接続であってもよい。例えば、ローカル接続520は、有線ローカルエリアネットワーク(LAN)を通じて行われてもよい。いくつかの例では、いくつかのクライアントデバイス600は無線で(例えば、ゲートウェイを通じて)接続されてもよく、他のいくつかのクライアントデバイスは有線接続を通じて接続されてもよい。
【0017】
リモート接続501はリモートワイヤレス接続であってもよい。リモートワイヤレス接続は、例えば、3G、又は4G、又は5G、又はロングタームエボリューション(LTE)接続によって得られてもよい。したがって、無線モデムが提供されてもよい。リモート接続は、例えば、地理的なカバレッジを有する移動通信ネットワークを通じて実行されてもよい。追加的に又は代替的に、リモート接続501は、(全部または部分的に)有線リモート接続であってもよく、例えば固定電話網を利用してもよい。
【0018】
通信インタフェース502は、1つの単一ユニットを占有してもよく、複数のユニットの一部であってもよく、1つのユニット又は複数のユニットの一部を占有してもよい。通信インタフェース502は、ハードウェア及び/又はソフトウェアを含んでもよい。通信インタフェース502は、1つ以上のアンテナ接続、モデム接続及び通信のための他の機器を含む、又はそれらに接続されてもよい。
【0019】
通信インタフェース502は、リモート接続501を通じてコンテンツプロバイダ50から第1の暗号化メディアストリーム504を受信することができる。したがって、通信インタフェース502は、第1の暗号化メディアストリーム504を取得することができる。第1の暗号化メディアストリーム504は、認可なしに解読されることが(合理的な程度に)実質的に不可能であるようなものであってよい。
【0020】
DPマスターデバイス500は、暗号解読器506を含むことができる。暗号解読器506は、第1の暗号化メディアストリーム504を解読するように構成されてもよい。例えば、暗号解読器506は、第1の暗号化メディアストリーム504を解読することを許可するキーを使用してもよい。暗号解読器506は、解読済みメディアストリーム508を(例えば平文で)得ることができる。メディアストリームは、一般的に、符号化(例えば圧縮)されており、実際にレンダリングされる前に復号(例えば解凍)される。解読済みメディアストリーム508を、暗号化器516(第1の暗号化器)に提供することができる。暗号化器516は、第2の規格に従って解読済みメディアストリーム508を暗号化してもよい。第2の規格は、暗号化ストリーム504がもともと暗号化されていた第1の規格と同じであってもよい。代替案では、第2の規格は、暗号化ストリーム504がもともと暗号化されていた第1の規格と異なっていてもよい。いくつかの例では、第1の規格はWidevineであり、第2の規格は高帯域幅デジタルコンテンツ保護(HDCP)である。
【0021】
暗号化メディアストリーム518は、第2の規格に従って暗号化器516で暗号化されると、出力メディアストリームとして、通信インタフェース502に提供され、ローカル接続520を通じて複数のクライアントデバイスに配布することができる。
【0022】
DPIマスターデバイス500は、解読済みメディアストリーム508を復号して再生するためのメディアレンダラー540を組み込んでもよい。
【0023】
DPマスターデバイス500に分散再生情報(DPI)加算器512を含むことが有利であることが理解されている。DPI加算器512は、解読済みメディアストリーム508から少なくとも部分的に取得され、タイミング情報1312´も含むことができる追加情報510を追加的に加算してもよい。ここで、DPI510と関連付けられる場合、解読済みメディアストリーム508は、514で示される。DPI510は、例えば、解読済みメディアストリーム508の少なくとも1つのフレームに関連付けられたタイミング情報を含んでもよい。DPI510は、例えば、少なくとも1つのフレームが提示される(又は提示されることが予定されている)時刻に関する提示時間情報を提供するタイミング情報を含んでもよい。したがって、DPI510は、DPクライアントデバイス600の相互間及び/又はDPマスターデバイス500との間の同期を許可してもよい。
図6は、DPI510が、解読済みストリーム508のシーケンス中の特定のフレーム(例えばサンプル)の位置を示し、少なくともシーケンス番号1312と、シーケンス番号1312によって示される少なくとも1つのフレームに関連付けられたタイミング情報1312´(又は、より具体的には提示時間情報)とを含むものとして示されている。(いくつかの例では、タイミング情報1312´が関連付けられるフレームを識別するために他の技術を使用することができるので、シーケンス番号は必ずしもDPIの一部ではない)。
【0024】
いくつかの第1の実施形態において、DPI510は、メディアストリーム508とともに暗号化器516によって暗号化されてもよい(そして、第2の暗号化メディアストリーム518は、そこに暗号化されて、暗号化された形態のDPI510を含む)ことに留意されたい。いくつかの第2の実施形態では、DPI510は、第2の暗号化メディアストリーム518内に暗号化されないままであってもよい。この後者のケースにおいて、暗号化器516は、DPI518を暗号化することを単に控えてもよく(したがって、平文のままである)、又はDPI510を平文で追加することが暗号化器516の下流で実行することができる。いくつかの第3の実施形態では、選択があってもよい。すなわち、選択は、DPI510を暗号化するか、平文で維持するかのいずれかを選択してもよい。選択は、例えば、手動であってもよい。他の場合では、選択は、コンテンツプロバイダ50によって行われてもよい。いくつかの場合において、選択は、第1の暗号化メディアストリーム504が暗号化される規格に基づく。
【0025】
いくつかの例では、ストリーム508を再暗号化する必要はないが、ストリーム514(DPI510の少なくとも一部を有する解読済みメディアストリーム508を含む)は、通信インタフェース502及びローカル接続520を通じてDPクライアントデバイスに直接送信されてもよい。
図5は、したがって、別の実施形態であってもよい、暗号化器516をバイパスする線516´を示す。いくつかの例では、バイパスは、選択の結果(手動又はリモートコンテンツプロバイダ50による命令のいずれか)であってよい。例えば、暗号化は、選択(例えば、コンテンツプロバイダ50から、ユーザから、又は工場で行われた事前選択から)の場合、要求されなくてもよい。したがって、暗号化器516を選択的にアクティブ化及び非アクティブ化することが可能であってもよい(同様に、DPクライアントデバイスにおいて、暗号解読器はそれに応じて非アクティブ化されることになる)。これらの例では、DPクライアントデバイスがDPマスターデバイス500で行われた選択の知識を有し、自身の暗号解読器をアクティブ化又は非アクティブ化することを保証するために、ストリーム内のシグナリングが使用されてもよい(例えば、出力ストリーム518に書き込まれたフラグ)。選択を認めない例では、選択に関するシグナリングはスキップされる。
【0026】
図6は、例えば、DPマスターデバイス500からローカル接続520を通じて取得されたメディアコンテンツをレンダリングするために使用され得るDPクライアントデバイス600の一例を示す。DPクライアントデバイス600は、通信インタフェース602を含むことができる。通信インタフェース602は、ローカル接続520を通じて、DPサーバデバイス500の通信インタフェース502に接続されてもよい。通信インタフェース602は、アンテナ素子又は配線と関連付けられてもよい。したがって、通信インタフェース602は、(第2の暗号化メディアストリーム518で符号化及び暗号化された)ペイロードからロードを得るためのプロトコルルールを実装してもよい。通信インタフェース602は、したがって、ローカル接続520を通じて通信インタフェース502によって送信される第2の暗号化メディアストリーム518と同等であると理解することができる、第2の暗号化メディアストリーム604を(その下流のDPクライアントデバイス600の要素に)提供しても良い。DPクライアントデバイス600は、解読済みメディアストリーム608(第2の解読済みメディアストリーム)を得るために第2の暗号化メディアストリーム604(518)を解読する暗号解読器606(第2の暗号解読器)を含むことができる。解読済みメディアストリーム608は、DPクライアントデバイス600に組み込まれる、又はそれに関連付けられたメディアレンダラー610(クライアントデバイスメディアレンダラー)に提供されてもよい。メディアレンダラー610は、解読済みメディアストリーム608を復号(解凍)し、例えばラウドスピーカ及び/又はディスプレイなどの機器においてオーディオ信号及び/又はビデオ信号を生成することによって、最終ユーザへのレンダリングを制御してもよい。
【0027】
DPクライアントデバイス600は、DPI加算器512によって加算されたDPI510を認識するDP抽出器612を含んでもよい。DPI510は、タイミング情報(例えば、提示時間情報)を含んでもよく、「ハンドル」とも呼ばれることがある。DPI510がメディアレンダラー610に提供されると、メディアレンダラー610は、メディアコンテンツの再生の制御のためにDPI510を使用してもよい。DPI510は、例えば、解読済みメディアストリーム608の各フレームについて、そのフレームから復号された物理的なオーディオ信号及び/又はビデオ信号を生成するための時間を制御してもよい。
【0028】
上記で説明したように、DPI510は、第2の暗号化メディアストリーム518において暗号化されてもよく、暗号化されなくてもよい。したがって、DPI510が暗号化されている場合、DPI510は暗号解読器606によって解読されることになる。一方、DPI510が平文である場合、DPI510を解読する必要はない。したがって、
図6は、DPI510が平文である場合に、任意に暗号解読器606をバイパスする遷移606´を示し、したがって、第2の暗号化メディアストリーム604(又は518)と共に暗号化されない。(代替的に、DPI510が既に平文である場合に、暗号解読器606がDPI510の解読をやめると単純に理解してもよい)。
【0029】
いくつかの例では、DPマスターデバイス500が、暗号化器516を使用することなく、解読済みメディアストリーム508を通信インタフェースに再暗号化しなかった(そして、出力メディアストリームとして、平文でDPI510とともに解読済みメディアストリームを提供した)場合、通信インタフェース602が平文でメディアストリームを直接提供するので、暗号解読器606はいくつかの例では不要であってもよい。これは選択の問題(例えば選択による)であってもよく、これは2つの異なる実施形態であってもよい。これらのケースでは、出力ストリーム604(518)に、暗号化が選択されたこと、又は平文が選択されたことを示すシグナリングが存在してもよい。いくつかの他の例では、DPマスターデバイス500において再暗号化は選択されず、したがって、シグナリングを回避することができる。
【0030】
実施例では、第1の規格はWidevineであってもよい。第2の規格は、例えば、HDCPであってもよい。DPマスターデバイス500が高度に安全な規格(例えばWidevine)で第1の暗号化メディアストリーム504を受信する一方で、DPクライアントデバイス600は、原理的には安全ではないがより一般的で安価な第2の規格(例えばHDCP)で第2の暗号化メディアストリーム518、604を受信してもよい。それでも、暗号解読器506が高レベルの規格(例えばWidevine)に基づいており、一方で、ローカル接続520がそれでも暗号化されてもよいとすることが安全であるため、セキュリティは維持される。
【0031】
コンテンツプロバイダ50からDPマスターデバイス500に送信され、DPマスターデバイス500からDPクライアントデバイス600に出力メディアストリーム518として再送信されるメディアストリームは、オーディオストリーム及び/又はビデオストリームであってよい。これらは、例えば、標準的なMPEG-TSを使用して(他の規格が使用されてもよい)符号化されてもよい。各ストリームは、連続したフレームを含んでもよい。フレームは、メディア(例えば、オーディオ及び/又はビデオ)信号の(例えば、周波数領域又は時間領域における)符号化されたバージョンを含んでもよい。したがって、フレームはペイロードデータを含む。フレームは、実質的に後続の方法で生成されるメディアコンテンツの情報を提供すると理解してもよい。すなわち、例えば、各フレームは、既定の時間長、例えば20ms(他の時間長も可能)の時間スロットに対するメディアコンテンツの情報を提供してもよい。いくつかのケースでは、フレームは互いに連続する(1つのフレームの末端が、後続のフレームの開始に対応する)。他のいくつかのケースでは、フレームは重なっていてもよい。いずれにせよ、フレーム(「サンプル」とも言い、特に図面で)は、連続的に再現されることを意図していることが理解される。
【0032】
出力メディアストリーム518(例えば、第2の暗号化メディアストリーム518)は、インターリーブメディアストリームであってよい。出力メディアストリーム518は、ビーコンパケット(以下、1320で示す)を含んでもよく、これは、例えばメディアコンテンツの再現を同期するために、DPメディアマスターによってDPメディアクライアントに定期的に送信されてもよい。ビーコンパケットは、ペイロードパケット(1320)内のペイロードデータを欠いていてもよい。DPI510は、ビーコンパケット(1320)、又はペイロードパケット(1320)のいずれかにおいて、又は双方において送信されてもよい。例では、ビーコンパケットは平文であってもよく、一方でペイロードパケットは暗号化又は解読されていてもよい。
【0033】
例では、出力メディアストリーム518はすべてのDPクライアントデバイスによって読み取られるが、DPI510は特定のDPクライアントデバイスに一意に関連付けられる(そして、その特定のDPクライアントデバイスによってのみ使用される)いくつかの情報(例えば、遅延情報)を含むことができる。
【0034】
同期(ミラーリング)
ここでは、DPI510の使用と同期に関する技術(例えば、ミラーリング技術など)について詳しく説明する。
【0035】
DPI510は、少なくとも1つのフレームに(例えば、連続する複数のフレームに)関連付けられたタイミング情報(1312´)を含んでもよい。DPI510は、フレームの特定の識別情報、例えばシーケンス番号(例えば、1312)を含んでもよい(又は、少なくとも関連付けられてもよい)。
【0036】
DPI510のタイミング情報1312´は、提示時間情報を含む、又はその情報を提供してもよい。提示時間情報は、フレームから復号されたメディアコンテンツがレンダリングされるレンダリングの時刻を関連付けてもよい。
【0037】
いくつかの例では、レンダリングの時刻は、メディアコンテンツがDPマスターデバイス500の組込み型メディアレンダラー540で、例えば、組込み型オーディオ及び/又はビデオユニット385、391、392(下記参照)での何らかの時間測定によって測定されるようにレンダリングされる正確な時刻であってよい。したがって、レンダリングの時刻は過去であってもよく、その情報はDPクライアントデバイスに提供されてもよく、それによってDPクライアントデバイスは過去のレンダリングの時刻を認識し、それに応じて同期する。
【0038】
他の例では、レンダリングの時刻は、推定された時刻、例えば、組込み型オーディオ及び/又はビデオユニット385、391、392(下記参照)での時間測定がメディアコンテンツをレンダリングすると推定された時刻であってもよい。この推定は、例えば、506での解読、516での暗号化、デコーダ(例えば、384、385で、下記参照)での復号のために暗示された時間を考慮してもよい。したがって、レンダリングの時刻は過去であっても未来であってもよく、その情報はDPクライアントデバイスに提供され、DPクライアントデバイスはレンダリングの時刻を認識し、それに応じて同期をとるようにしてもよい。したがって、レンダリングの時刻は、スケジュールされた時刻であってもよく、これにより、DPクライアントデバイスはスケジュールされた時刻に同期することができるようになる。
【0039】
提示時刻は、各クライアントデバイス(1324-1、1324-2など)の遅延に関する情報(982)を提供する遅延情報などの他の情報を伴ってもよいことが示される。追加的に又は代替的に、提示時刻は、DPマスターデバイスで再生速度1323に関する情報を伴うこともある。例えば、DPクライアントデバイスは、DPマスターデバイスで再現がどのように行われているかを知ることで、DPマスターデバイスへ同期することができる。
【0040】
遅延に関する情報は、DPクライアントデバイスから(又はDPクライアントデバイスの何らかの動作を分析して)DPマスターデバイスが受信した(又は推論した)フィードバック(980)から得られてもよい。いくつかの例では、各DPクライアントデバイスは、それ自身の再現状態(例えば、フィードバックパケット1380がDPクライアントデバイスによって送信される時刻に、どのフレームが現在再生されているか)を送信してもよい。他の例では、各クライアントデバイスの再現状態が、DPマスターデバイスによる特定のパケット(例えば、ビーコンパケット1320、又は特定のデータペイロードパケット1310)の送信とDPクライアントデバイスからのフィードバックパケット(応答パケット又は確認パケット)1320の受信との間に経過する往復時間trtから推測することができる。往復時間から、特定のDPクライアントデバイスの遅延を推測することが可能である。
【0041】
DPマスターデバイスが各DPクライアントデバイスの遅延を知った場合、DPマスターデバイスは将来のフレームを表すための新しいタイミング情報を決定してもよい。例えば、DPマスターデバイスは最大の遅延を有するDPクライアントに続く将来のフレームをスケジュールすることができる(及び/又は、過度に大きい遅延を有するDPマスターデバイスを除外することができる)。
【0042】
いくつかのケースでは、いくつかの仮定がなされてもよい。例えば、暗号化/解読、符号化/復号、アクチュエータでのメディア信号の処理、ローカル接続520での送信などの必要な時間のうちの少なくとも1つが推定されてもよい。例えば、往復時間から遅延が推定される場合、DPマスターデバイスは、DPクライアントデバイスのレンダラー610におけるレンダリングの実際の時刻が、既定の既知の(例えば固定の)時間遅延後に発生すると仮定してもよい。
【0043】
同じことをフレームが過去に再生された時刻を示す提示タイムスタンプに適用してもよい。すなわち、組込み型レンダラー540及び/又はDPクライアントデバイスのレンダラー610がメディアコンテンツの復号及び提示に一定の時間を必要とすることが分かっている場合、この一定の時間を容易に考慮することができる。この仮定は、例えば、解読/暗号化を実行するために必要な時間についても有効である。
【0044】
DPクライアントデバイスは、DPマスターデバイスによって送信されたビーコンパケット1320をそれらの内部クロックに再同期させることに使用することも可能である。
【0045】
上記及び下記の例では、一般に、DPマスターデバイスが常にレンダラー540を含むと仮定している。しかし、これは必ずしも必要ではない。すなわち、DPマスターデバイスは単にスケジューラであって、DPクライアントデバイスにおいて再生を制御してもよい。
【0046】
メディアストリームのフレーム(「サンプル」又は「オーディオ/ビデオサンプル」又は「a/vサンプル」とも示される)は、ある特定の時刻にレンダリング(再生)されることを意味する。しかしながら、DPI加算器512は、物理信号(例えば、音、画像など)が生成される(又は生成されることが予定される)時刻を定義する、いくつかのタイミング情報を、DPI510において(例えば、ストリーム514に含まれるように)提供してもよい。DPI510(いくつかの例では「ハンドル」とも呼ばれる)は、暗号化器516によって解読済みメディアストリーム508(514)を暗号化するために必要な時間、通信インタフェース502に第2の暗号化メディアストリーム518を提供するための時間、第2の暗号化メディアストリーム518をDPクライアントデバイス600に送信するための時間、及びDPクライアントデバイス600が第2の暗号化メディアストリーム518を復号するために必要な時間を考慮してもよい。したがって、すべてのDPクライアントデバイス600は、メディアコンテンツを同時に提供することになる。
【0047】
上記で説明したように、DPマスターデバイス500は、DPクライアントデバイス600のメディアレンダラー610と並行してユーザにメディアコンテンツを提供するために組込み型メディアレンダラー540を有してもよい。例えば、DPマスターデバイス500は、デコーダを含んでもよく、ラウドスピーカ、ディスプレイなどのオーディオ及び/又はビデオユニットを含んでもよく、又はオーディオ及び/又はビデオユニットにオーディオ及び/又はビデオ信号を送信するための接続を含んでもよい。
【0048】
組込み型メディアレンダラー540は、DPマスターデバイスの上流要素(例えば、502、506など)に直接(例えば、電気、光、磁気接続を通じて)接続されていると理解してもよく、解読済みメディアストリーム508及びDPI510は、ローカル接続520を通さずに直接組込み型メディアレンダラー540に提供されてもよい。
【0049】
しかしながら、原理的に、組込み型メディアレンダラー540におけるメディアコンテンツの再生は、DPクライアントデバイス600の同じメディアコンテンツの再生と結果として非同期となる危険性がある。DPマスターデバイス500のメディアレンダラー540における再生は、原理的に、DPクライアントデバイス600における同じメディアコンテンツの再生を不本意に予期し得る。すなわち、実際、組込み型メディアレンダラー540は、暗号化器516において解読済みメディアストリーム508を再暗号化し、ローカル接続520を通じて第2の暗号化メディアストリーム518を送信し、クライアントの暗号解読器506において第2の暗号化ストリーム518を再解読するために必要な時間を待つ必要性がない。そのため、同期の欠如が引き起こされる危険性がある。しかしながら、組込み型メディアレンダラー540のタイミングとDPクライアントデバイス600のタイミングとを互いに同期させるように制御することによって、組込み型メディアレンダラー540とDPクライアントデバイス600とを単に同期させることが可能であることが理解されている。
【0050】
追求された同期を実現するためのタイミング制御は、例えば、DPI510を使用することができる。DPI510は、DPI510に関連付けられた少なくとも1つのフレームがレンダリングされる(又はレンダリングされるようになる)時刻(例えば、時刻が、少なくとも1つのフレームのレンダリングを開始するであろう時刻であってもよい)をメディアレンダラー(例えば、組込み型レンダラー540及びDPクライアントレンダラー610の両方)に通知する提示時間情報を提供する少なくとも1つのフレーム(例えば、複数の後続フレーム)に関連付けられたタイミング情報1312´を含んでもよい。(他の例では、DPI510は、DPマスターデバイスによって既にレンダリングされた、又は少なくともスケジュールされているフレームに関連付けられたタイミング情報を含むことができる。)したがって、タイミング情報(及び、より詳細には、提示時間情報又は既にレンダリングされた若しくはスケジュールされたフレームに関連付けられたタイミング情報)は、メディアレンダラーにおけるメディアコンテンツの生成を制御し、メディアコンテンツが同じ時刻に同期して提供されるようにしてもよい。有利には、
図5に示すように、DPI510(及び、特にタイミング情報、より詳細には提示時間情報)は、DPマスターデバイス500の組込み型メディアレンダラー540に提供されてもよく、DPクライアントデバイス600に関して行われる制御に類似してフレームの提示時間も制御するようにしてもよい。したがって、DPI510のタイミング情報は、組込み型メディアレンダラー540のタイミングを制御するために(例えば、DPクライアントデバイス600におけるメディアコンテンツの再現が受ける遅延を考慮に入れたDPI510によって制御される遅延時間によって組込み型メディアレンダラー540におけるメディアコンテンツの再現を遅らせることによって)組込み型メディアレンダラー540に提供されてもよい。DPI510は、(暗号化器516における再暗号化、ローカル接続520を通じた送信、及び/又はDPクライアントデバイス600での解読に起因するような)遅延が考慮されるように、組込み型メディアレンダラー540におけるメディアコンテンツの(既知又は推定の)再現状態を考慮しておくことができる。したがって、DPI510におけるタイミング情報は、少なくとも1つのフレームがレンダリングされる時刻(例えば絶対時刻)に関する情報を含む提示時間情報を提供することができる。したがって、DPI510におけるこの提示時間情報は、デバイス(DPマスターデバイス及びDPクライアントデバイス)のそれぞれが、ストリームの少なくとも1つのフレームに符号化された物理信号を生成する時刻に関する情報を与えてもよい。DPI510によって提供される時間情報を活用することによって、メディアコンテンツは多数のレンダラー(540、610など)によって同期的に提示されるようになり、複数のユーザが同期されたメディアコンテンツを楽しむことができるようになる。
【0051】
【0052】
図7bは、DPマスターデバイス500と複数のDPクライアントデバイス600との間の通信の例を示す。通信は無線であってもよい(しかし、いくつかの例では有線とすることができる)。
図7bに示すように、ローカル接続520での通信は、DPマスターデバイス500からDPクライアントデバイス600に向かって、又はその逆に送信されるパケットのシーケンスのように現れる。DPマスターデバイス500は、第2の暗号化データストリーム518(604)、又はより一般的には出力メディアストリームのフレーム(「暗号化サンプル」)のインスタンスを生成するペイロードパケット1310を送信することができる。したがって、各ペイロードパケット1310は、第2の暗号化規格に従って暗号化され、DPマスターデバイス500からDPクライアントデバイス600に送信されるa/vサンプルとして理解することができる。各ペイロードパケット1310(518、604)は、ここでは、P
0、P
1、P
2、P
3、P
4、P
5、P
6、P
7、P
8で示される。各パケットのシンタックスは、一般に、特定の通信プロトコルに従って既定されており、DPマスターデバイス500及びDPクライアントデバイス600は、DPクライアントデバイス600がペイロードパケット1310(518、604)を受信して処理することを可能にするプロトコルルールを共有する。プロトコルによれば、各ペイロードパケット1310(518、604)は、ペイロードパケットのシーケンスにおけるパケット(フレーム)の位置を示すシーケンス番号1312によって識別されてもよい(シーケンス番号1312は、いくつかの例では、DPI510の一部であると理解することができる)。上記で説明したように、各ペイロードパケットは、物理的なオーディオ及び/又はビデオメディア信号に関連付けられ、一般に、順番に生成される。例えば、ペイロードパケットP
2は、一般に、ペイロードパケットP
3のレンダリングの前にレンダリングされる。各ペイロードパケット1310(518、604)は、ペイロードフィールド1314を含んでもよく、これは、生成されるメディア信号に関連付けられたペイロードデータをそこに符号化されて有するものである。ペイロードデータは、例えば、スペクトル領域(例えば周波数領域)であってもよい。少なくとも1つの(例えばそれぞれの)ペイロードパケット1310(518、604)は、フィールド1315に符号化されたDPI510を含んでもよい。
【0053】
DPI510(1315)は、少なくとも1つのフレームがレンダリングされる時刻に関する提示時間情報を提供するタイミング情報であってもよく、又はそれを含んでもよい。したがって、DPI510(1315)は、そのペイロードパケット1310に符号化されたメディアコンテンツがユーザに提示される(物理的な音及び/又は画像が生成される)瞬間に関する情報を提供してもよい。DPI510(1315)は、例えば、DPマスターデバイス500とDPクライアントデバイス600との間で共有される共通の時間基準からの時間オフセット、又は他の場合には絶対時間を示してよい(他の解決策も可能である)。
【0054】
上記で説明したように、少なくともペイロードパケット1310(及びシーケンス番号1312も)は、(それが提供される場合)第2の暗号化規格に従って(例えば、暗号化器510によって)暗号化されてもよい。フィールド1315のDPI510は、上述したような可能なオプション及び/又は実施例に従って、暗号化されてもよい、又は暗号化されなくてもよい。
【0055】
一般に、送信された暗号化メディアストリーム518(604)のパケット1310が、意図された順序に従って実際に同じ順序で受信されることは認められない。いくつかのケースでは、例えば、DPクライアントデバイスが送信した他のペイロードパケットとの衝突が原因で、受信したパケットがDPクライアントデバイスでのチェックを通過しない場合(例えば、冗長検査CRCが負の場合)、いくつかのペイロードパケットの送信を繰り返す必要があり、再送信が必要である。パケット受信の遅延は、例えば接続の状態により、より一般的には決定論的なものではない。すなわち、通信がビジーである場合、パケット1310が特定の瞬間にDPクライアントデバイス600に到着することを認めることが不可能である場合がある。したがって、パケットPiが後続のパケットPi+nの後にDPクライアントデバイスによって正しく受信されることが起こり得り、また特定の時点におけるパケットの受信は原理的に安全ではない。
【0056】
シーケンス番号1312は、DPクライアントデバイス600がペイロードパケット1310をその意図する順序で再配置することを可能にし、したがって、少なくとも部分的に問題に対処する。それにもかかわらず、シーケンス番号1312は、そのように、特定のペイロードパケット1310の特定のペイロード1314が再生される提示時間に関する情報を必ずしも与えるものではない。
【0057】
しかしながら、DPI510(1315)において、特定のペイロードパケット1310が提示される時刻に関する提示時間情報を提供するタイミング情報1312´を導入することによって、すべてのDPクライアントデバイス600がオーディオ及びビデオ信号を同時に提供するという結果に達することが可能であることが理解されている。DPI510(1315)のタイミング情報1312´は、例えば、共通の基準クロック(共通時間基準)からのオフセットを提供することができ、すべてのデバイス(DPマスターデバイス500及びクライアントデバイス600)がメディアコンテンツを同期して送信する。
【0058】
DPI510(1315)における提示時間情報1312´の提供は、DPマスターデバイス500及びDPクライアントデバイス600によって原理的に共有される共通の時間基準を利用することができる。いくつかのケースでは、ビーコンパケット(
図7bでは1320又はB
0又はB
1で示す)の提供があってもよく、DPマスターデバイス500及びDPクライアントデバイス600が同じ時間知識を有するように、共通の時間基準情報を提供することを許可することができる。DPマスターデバイス500(又は、いくつかのケースでは、図示しない別の時間マスターデバイス)は、マスター時間基準情報を提供するビーコンパケット1320をすべてのDPクライアントデバイス500に送信してもよく、マスター時間基準情報は、本質的に、共通の時間基準情報として使用される。共通の時間基準情報は、例えば、基準クロックフィールド1321で提供されてもよい。基準クロックフィールド1321は、例えば、(DPマスターデバイス500又は他の時間マスターデバイスの時間知識を使用して)ビーコンパケット1320が送信されるタイムスタンプであってよい。一般的には、DPクライアントデバイス600のクロックは、ビーコンパケット1320を受信した任意の時点で再同期してもよく、DPI510(1315)に示される基準クロックフィールド1321に基づく遅延でペイロード1314を再生することになってもよい。他の戦略は、それにもかかわらず可能である。
【0059】
DPマスターデバイス500は、実施例では、DPクライアントデバイス600からフィードバックを受けてもよい。したがって、DPマスターデバイス500は、往復時間から各DPクライアントデバイス600の遅延を決定してもよい。決定された遅延から、DPマスターデバイス500は、ペイロードメディアコンテンツがDPクライアントデバイス600によってレンダリングされる提供時間を決定してもよい。
【0060】
DPマスターデバイス500がDPクライアントデバイス600の遅延を知ることは、例えばDPマスターデバイス500のメディアレンダラー540における物理的なオーディオ信号及びビデオ信号の生成の同期を調整するために重要である場合がある。例えば、DPマスターデバイス500は、DPIがフィールド1315で符号化される上流でも、それ自身のDPI510を利用してもよい。各クライアントデバイス600におけるレンダリングの遅延を決定することにより、少なくとも組込み型レンダラー540におけるメディアコンテンツの再生が制御されてもよい。したがって、組込み型レンダラー540は少なくともDPマスターデバイス600でのメディアコンテンツの再現を遅延させ、DPクライアントデバイス600のメディアレンダラー510と協調したオーディオ及びビデオ物理信号の生成を実現してもよい。
【0061】
したがって、DPマスターデバイス500は、既定の仮定に基づいて、DPクライアントデバイス600からのフィードバック(例えば、各クライアントにおける提示タイムスタンプを示すフィードバックパケットによる)を考慮することによって、又はオープンチェーンで、又はその両方によって、DPI510(1315)を定義してもよい。
【0062】
いくつかの例では、オープンチェーン戦略に従っても良い。例えば、ブロック516での暗号化、ローカル接続520での送信、及びブロック606での解読に必要な時間、並びにブロック610でのメディアレンダリングのための処理は、予め推定されてもよい(いくつかのケースでは、暗号化器516での暗号化に必要な時間は、DPマスターデバイス500が既に自由に使えるかもしれないので、推定せずに、リアルタイムで得てもよい)。したがって、オープンチェーンの例では、DPクライアントデバイス600における再現状態に関するフィードバックは、より単純化するために回避されてもよい。
【0063】
図8は、ローカル接続520におけるDPマスターデバイス500と複数のDPクライアントデバイス600(120、120´、120´´、320、320´、320´´でも示す)との間の通信の例を示す。まず、DPマスターデバイス500は、ビーコンパケット(又は、共通のタイマー基準に関する他の情報)1320を送信してもよい。ビーコンパケット1320は、DPマスターデバイス500がDPクライアントデバイス600に送信する出力メディアストリーム(例えば、暗号化又は非暗号化メディアストリーム)518の一部であってもよい。DPクライアントデバイス600はビーコンパケット1320を受信すると、自身の内部クロックを基準クロックフィールド1321に同期させる。したがって、すべてのDPクライアントデバイスは、DPマスターデバイス500と同期しているか、又は同じであると推測される。その後、DPマスターデバイス500は、DPI510を含む第2の暗号化ストリーム518(604)をペイロードパケット1310の形態で送信してもよい。各パケット(又は複数の連続するパケット)のDPI510は、各ペイロードパケット1310のペイロード1314に符号化されたメディアコンテンツがレンダリングされる正確な時刻を提供する提示時間情報を含む。とりわけ、今、すべてのDPクライアントデバイスが、ビーコンパケットによって同じ時間知識を共有する。したがって、第2の暗号化データストリーム518(ペイロードフィールド1314に符号化される)に符号化されたコンテンツは、同時にユーザに提供されることになる。また、DPマスターデバイス500に内蔵された組込み型レンダラー540によって提供されるメディアコンテンツは、組込み型レンダラー540がDPI510も利用するという事実によって、DPクライアントデバイスのメディアレンダラー610によってレンダリングされるメディアコンテンツと同期してレンダリングされ、したがってDPクライアントデバイスの同じ提示時間情報を利用する。その後(例えば、既定の時間を経過した後)、DPクライアントデバイス600の各々は、フィードバックパケット1380を送信してもよい。DPクライアントデバイスの各々によって送信されるフィードバックパケット1380は、フィードバックメッセージ1380がDPマスターデバイス500に送信される時間に各DPクライアントデバイスが経験したローカル時間基準を含んでもよい。この情報は、DPマスターデバイス500が各DPクライアントデバイスの時間知識を知ることを可能にする。DPクライアントデバイスの各々が送信するフィードバックパケット1380は、再現状態(例えば、現在レンダリングされているフレーム)に関する情報を含んでもよい。各DPクライアントデバイスの時間知識に関する情報及び/又は各DPクライアントデバイスにおける再現状態に関する情報は、DPマスターデバイスが各DPクライアントデバイスにおける再現の実際の状態を理解することを可能にすることができる。このフィードバック情報から、DPマスターデバイス500は、メディアストリームの次のフレームがレンダリングされなければならない時刻を予測することができる。フィードバック情報から、DPマスターデバイス500が、クライアントレンダラー610における再現の遅延が大きいと判断した場合、DPマスターデバイス500は、後続フレームの提示時間情報の遅延をその後増加させ(又は少なくとも大きな遅延を維持し)、メディアコンテンツの同期再現を可能にする。とりわけ、組込み型レンダラー540における結果の遅延がそれに応じて増加する(又は少なくとも大きく維持される)ことになり、結果として、組込み型レンダラー540がDPクライアントデバイス600のメディアレンダラー610の遅延と同期する。フィードバック情報から、DPマスターデバイス500が、クライアントレンダラー610における再現の遅延が小さいと判断した場合、メディアコンテンツの同期再現を害さないので、DPマスターデバイス500は、後続フレームの提示時間情報の遅延を続いて小さくする(又は小さく維持する)ことができる。特に、組込み型レンダラー540における結果の遅延は、一般的に減少し(又は少なくとも低く維持され)、組込み型レンダラー540の結果は、DPクライアントデバイス600のメディアレンダラー610に同期する。各DPクライアントデバイス600から得られる(又は推測される)フィードバック情報は、例えば、DPマスターデバイス500が各DPクライアントデバイスで経験した遅延を計算することを可能にし、したがって、DPクライアントデバイスにおけるクロックエラーを許容することができる。その後、DPマスターデバイス1320は、新しいビーコンパケット1320と新しいペイロードパケット1310とを送信してもよい。
【0064】
図9bは、DPマスターデバイス500においてDPI510をどのように決定するかの例を示す。フィードバック980は、例えばフィードバックメッセージ(パケット)1380から得るように、各DPクライアントデバイスから得ることができる。したがって、DPマスターデバイス500は、遅延計算ブロック970において、各DPクライアントデバイスの遅延982を取得してもよい。
【0065】
フィードバック980は、一例において、再現状態に関する情報、例えば、特定のフレーム(そのシーケンス番号1312によって識別される)がDPクライアントデバイスによってレンダリングされる時刻に関する情報を含んでもよい。フィードバック980内のこの情報は、例えば、フィードバックメッセージ1380に符号化されてもよい。
【0066】
追加的に又は代替的に、各DPクライアントデバイスにおける再現状態(及び特定のフレームがDPクライアントデバイスによってレンダリングされた情報)は、フィードバックメッセージがビーコンパケット1320の受信後すぐに、又はそれから既定の時間経過後にDPクライアントデバイスによって送信されることが提供される場合、フィードバックメッセージ1380が受信された時間に基づいて推定されてもよい(この場合、フィードバックメッセージ1380は確認メッセージと呼ばれてもよい)。したがって、cは、往復時間trtを算出してもよい。例えば、フィードバックメッセージ1380の受信時間t1380から、関連するビーコンパケット1320の基準クロックフィールド1321に書き込まれた基準時間t1320を減算してもよい。したがって、往復時間を以下のように計算することができる。
trt = t1380 - t1320
【0067】
遅延計算ブロック970は、往復時間を2で割ることによってDPクライアントデバイスがビーコンパケット1320を受信するために必要な時間を推定することが可能である(例えば、treception=trt/2)。追加の解読及びレンダリング時間td&rを推定受信時刻treceptionに追加して、メディア信号が提示された推定提示時間tpresentationを得てもよい。すなわち、以下の式で表される。
tpresentation = treception + td&r
【0068】
解読及びレンダリング時間td&rは、予め定義され及び/又は固定されてもよく、いくつかの例では異なるDPクライアントデバイス及び/又は異なる解読技術に従って変化してもよい。遅延(遅延情報982として提供される)は、各DPクライアントデバイスの推定提示時間とDPマスターデバイスの提示時間との間の差を計算することによって得られてもよい。
【0069】
他の例では、解読及びレンダリング時間td&rの使用を回避し、遅延情報982をDPクライアントデバイスがビーコンパケット1320を受信するために必要な経過時間と理解してもよい。
【0070】
得られた遅延情報982を、DPI510のシーケンス番号1312によって識別される各フレームの送信をスケジュールすることができるタイムスケジューリングブロック985に提供することができる。
【0071】
タイムスケジューリングブロック985は、例えば、遅延計算ブロック970によって計算された遅延のうち最大の遅延を計算し、それに応じてDPI510のタイミング情報1312´に提示時間情報を定義するようにしてもよい。いくつかの例では、提示時間情報を定義することを、DPクライアントデバイス間の最大の遅延に関連付けることができ、あるデバイスが他のデバイスと同期していないことを避けるようにしてもよい。一方、最大遅延を閾値と比較して、1つの単一のDPクライアントデバイスがシステム全体を遅延させないようにしてもよい(その場合、過剰に遅延するデバイスを排除するか、再同期手順を起動させる)。しかしながら、DPI510に書き込まれる提示時間情報は、DPクライアントデバイスの遅延を考慮するように定義されており、これにより、DPクライアントデバイスとDPマスターデバイスとの両方におけるメディアコンテンツのレンダリングを制御することになる。
【0072】
したがって、タイムスケジューリングブロック985によって出力されるDPI510は、フレームのシーケンス番号1312と、シーケンス番号1312に関連付けられたフレーム(ペイロードパケット1310に符号化される)が再生されるタイミング情報1312´(例えば、提示時間情報)との両方を含んでもよい。
【0073】
上記の観点から、タイミング情報(及び、特に、提示時間情報)は、特定のフレームがレンダリングされなければならない提示時間を示すものとして理解され得る。それにもかかわらず、DPクライアントデバイスを別の方法でDPマスターデバイスに同期させることも可能であり、これは、
図7a、8、9aに一般的に示されており、ペイロード(暗号化されていてもよい)1314が、ローカル接続520と出力データストリーム518のペイロードパケット(ペイロードパケット)1310と共に示される。ここで、ビーコンパケット1320は、上記のようであってもよい基準クロック1321と、さらなる提示タイムスタンプ(PTS)1322、再生速度に関する情報1323、及び1324で一括して示されるDPクライアントデバイスの遅延から構成される。
【0074】
いくつかの例では、提示タイムスタンプ(PTS)1322であってよい提示時間情報が存在してもよく、DPマスターデバイス500のメディアレンダラー610に関する(例えば、スケジュールされるような)現在の提示時間であってよい。したがって、PTS1322は、ビーコンパケット1320が送信される時間のマスターデバイス500に関する提示時間を提供してもよい。PTS1322は、フィールド1321の基準時間が単に時間を測定するのに対して、PTS1322は現在の再生速度によって変更されるので、原理的にフィールド1321の基準時間とは異なるものである。いくつかのケースでは、再生速度1323をビーコンパケット1320で示すことができる。いくつかのケースでは、DPクライアントデバイス600の各々の遅延(DPマスターデバイス500によって測定される)が、1324-1、1324-2などのフィールドで示されてもよい。ビーコンパケット1320に示されたデータフィールドから、各クライアントデバイス600が自身のクロックをDPマスターデバイス500のクロックに再同期させ、DPマスターデバイス500における再生状態の概念を有することが可能である。それでも、ビーコンパケット1320は、単に時間情報を提供するパケットであってよく、ペイロードを含まないことに留意されたい。ペイロードは、一般に、ペイロードパケット1310のフィールド1314で送信されてもよく、ペイロード1314を送信する指示は、同じペイロードパケット1310のDPIフィールド1315(510)において提供されてもよい。
【0075】
したがって、DPI510は、各DPクライアントデバイスに関連付けられたPTS1322、再生速度1323、及び遅延情報1324のうち少なくとも1つを含むと考えることができる。DPクライアントデバイスは、基準クロック1321、PTS1322、再生速度1323、及び自身の遅延を受信すると自身の提示時間を調整してもよく、フィールド1322で示されるPTSと、関連フィールド1324で示される遅延に再生速度を乗じたものとを足してもよい。したがって、DPIクライアントデバイスは、DPマスターデバイスにおける提示タイミングに同期した提示タイミングと、遅延に再生速度を乗じたものとを加えたものを有する。したがって、DPクライアントデバイスの提示タイミングは、結果として、DPマスターデバイスの提示タイミングに同期している。とりわけ、この遅延は、上記で説明したように、往復時間から上記のように計算されてもよい。したがって、DPクライアントデバイスは、DPマスターデバイスの組込み型メディアレンダラーに同期してメディアコンテンツをレンダリングする。
【0076】
したがって、PTS1322は、いくつかの例において、過去に発生した時刻であると理解され得る。特定のフレームのメディアコンテンツが提示されなければならない提示時間は、DPクライアントデバイスによって、再生速度及びそれ自身の遅延に基づいて決定される。したがって、フレームが既に過去にレンダリングされた場合、この技術は、実際にはその過去のフレームを同期させるのではなく、後続のフレームを同期させるものである。さらに、DPI510のタイミング情報は、特定のDPIクライアントデバイスに関連付けられた遅延1324及び/又はマスターデバイスによって通知された現在の再生速度に関する情報も含むと考えることができる。
【0077】
制御(理想的には制御信号388´によって具現化される)は、DPマスターデバイスにおいて、次のようにしてもよい。
少なくとも既定の数Nのクライアントデバイスにおけるレンダリングの遅延982が増加する場合、組込み型メディアレンダラー540における(及び、おそらくDPクライアントレンダラー610においても)レンダリングの遅延を増加させてもよい、及び/又は、
少なくとも既定の数Nのクライアントデバイスにおけるレンダリングの遅延982が減少する場合、組込み型メディアレンダラー540における(及び、おそらくDPクライアントレンダラー610においても)レンダリングの遅延を減少させてもよい。
【0078】
既定の数Nは、1、又は2、又は他の数(例えば、予め選択された数)であってもよい。いくつかのケースでは、1つの単一デバイスを待つことは不可能であると定義されてもよい。すなわち、例えば、1つのDPクライアントデバイスの遅延が既定の閾値を超えた場合、制御は過度に遅延したDPクライアントデバイスをそれ以上考慮することはないだろう。
【0079】
DPマスターデバイス及びDPクライアントデバイスは、コマンド、例えば再現(再生)コマンド(例えば、PAUSE及びRESUMEの少なくとも1つなど)を交換することもできる。コマンドは、(例えば、DPマスターデバイス又はDPクライアントデバイスの1つにおいて)ユーザによって入力されてもよく、コマンドは、複数のDPクライアントデバイスに(例えば、ローカル接続520を通じて)中継されてもよい。コマンドがDPクライアントデバイスにおいてユーザによって入力される場合、DPクライアントデバイスは、ローカル接続520を通じてコマンドに関する情報を送信し、DPマスターデバイスが複数のDPクライアントデバイスへコマンドを中継するようにしてもよい。DPクライアントデバイスからDPマスターデバイスへのコマンドの情報は、フィードバックパケット1380内の1つのフィールドに含まれてもよい。DPマスターデバイスからDPクライアントデバイスへのコマンドの情報は、例えば、ビーコンパケット1320及び/又はペイロードパケット1310において提供されてもよい。いくつかのケースでは、DPマスターデバイス(例えば、特に、DP加算器508)は、ストリーム518において、コマンドがどの時刻に複数のDPクライアントデバイスによって実行されるかを通知するタイミング情報(例えば、提示タイミング情報)を追加してもよい(及び、組込み型メディアレンダラー540もコマンドの同じ提示タイミング情報に従ってもよい)。したがって、再現が一時停止されると、すべてのデバイスが、例えば、画面内に同じ画像を表示することになる。
【0080】
実施例
【0081】
いくつかの実施形態が、
図1aないし4に続いて示される。実施形態は、いくつかのケースでは、同じデバイスの異なるインスタンス化であってもよく、必ずしも異なるデバイスである必要はない。したがって、異なる動作は、特定の選択によるものであってよい。
【0082】
いくつかの例では、DPマスターデバイス、DPクライアントデバイス、及び/又はその両方において、ハードウェアはトラステッド環境(「トラステッド実行環境」,TEEとも示される)と非トラステッド環境(「リッチ実行環境」とも示される)との間で細分化されてもよい。いくつかのケースでは、トラステッド環境は、非トラステッド環境のセキュリティレベルよりも高いセキュリティレベルを有すると考えられる。例えば、トラステッド環境がDPマスターデバイス500の一部である場合、暗号解読器506及び/又は暗号化器516はトラステッド環境の一部であってもよい。したがって、メディアストリームの解読及び暗号化は、トラステッド環境においてのみ実行され、それゆえに、不正にメディアコンテンツになりすます可能性を最小限にすることができる。追加的に又は代替的に、DPクライアントデバイス600において、少なくとも暗号解読器のメディアストリーム606は、トラステッド環境に内部的に存在してもよい。
【0083】
上記及び下記で議論された(暗号化又は解読された)メディアストリームは、オーディオストリーム、ビデオストリーム、又はオーディオストリーム及びビデオストリームの両方であってもよい。オーディオストリーム及びメディアストリームの両方が、同じ処理を受ける必要はない。例えば、一部のメディアストリーム(例えば、オーディオストリーム)のみが、DPマスターデバイス500の要素506及び516で解読及び再暗号化され、同様に、暗号解読器606によって再解読されてもよい。いくつかのケースでは、例えば、オーディオストリームは、リモート接続501及び/又はローカル接続520において平文であり、一方で、
図5に示す暗号化/解読は、ビデオストリームにのみ関心を持たせる可能性がある。同じことがDPクライアントデバイス600で起こり得る。それにもかかわらず、いくつかの例では、DPI510のプロビジョニングが、オーディオコンテンツ及びビデオコンテンツの両方の提示タイミングを調整するように(例えば、同期を通じて)、オーディオストリーム及びビデオストリームの両方に関心を持つ可能性がある。
【0084】
DPマスターデバイス500又はDPクライアントデバイス600がトラステッド環境と非トラステッド環境との間で分割される場合、オーディオレンダリング(オーディオ復号及びオーディオ再生)が非トラステッド環境で実行されるが、オーディオストリームの暗号化及び/又は解読は実際にはトラステッド環境で処理され得る。追加的に又は代替的に、ビデオレンダリング(ビデオレンダリング及び/又はオーディオレンダリング)は、例えば、ビデオストリームの暗号化及び/又は解読とともに、トラステッド環境で実行されるが、ビデオストリームはトラステッド環境の外では、暗号化された形態でのみ存在するようにしてもよい。
【0085】
図1a、1b、1cは、例えばメディアストリーム(ここで、メディアは、例えば、オーディオ及び/又はビデオであってもよい)の提供のためのローカルシステム10を示す。ローカルシステム10は、ユーザがオーディオ及び/又はビデオ(例えば、音楽、ラジオ送信、テレビ送信、写真、共有マルチメディアファイル、インフォテインメント等)を楽しむことを可能にすることができる。ローカルシステム10(又はその少なくともいくつかの要素)は、特定の物理的環境に配置されてもよい。物理的環境は、例えば、車両(自動車、バスなどであってもよい)又は車両の有人環境(例えば、列車のワゴン、トラックのキャビン、船舶のキャビン、航空機のコックピット又は別の環境など)であってもよい。代替的に、ローカルシステム10(又はその少なくともいくつかの要素)は、家庭の物理的環境(例えば、部屋、住宅など)に配置されてもよい。
【0086】
ローカルシステム10は、
図1のDPマスターデバイス500であってよい分散再生(DP)マスターデバイス100(サーバとして動作することができる)を含むことができる。ローカルシステム10は、複数のクライアントデバイス(例えば3つであるが、その数は1つ以上、例えば10に変更してもよい)を含むことができる。各クライアントデバイス120、120´、120´´は、例えば、
図6のDPクライアントデバイス600のうちの1つであってよい。各クライアントデバイス120-120´´(600)は、例えば、DPマスターデバイス100(500)によって提供されたストリーム(例えば、メディアストリーム518、604)を復号し、(場合によっては)解読した後、メディアコンテンツ(例えば、ディスプレイを通じてビデオ、及び/又は、ラウドスピーカを通じてオーディオ)をユーザに再現(レンダリング)してもよい。
【0087】
DPマスターデバイス100及びDPクライアントデバイス120、120´、120´´(600)は、デジタルローカル分散ネットワークを形成してもよい。DPマスターデバイス100及びDPクライアントデバイス120-120´´の各々は、互いに分離され、物理的環境(例えば車両)の異なる部分に配置されるデバイスであってよい。実施例では、それらは、通信ネットワークを通じて(例えば、ローカル接続60を通じて)互いに(例えば、一意的に)通信してもよい。
【0088】
実施例では、DPマスターデバイス100は、例えば車両内のヘッドユニット(HU)であってもよく、構成されてもよく、その一部であってもよい。DPマスターデバイス100は、例えば、物理的環境に固定的に設置されてもよい(例えば、一体化された又は組み込まれた)。例えば、DPマスターデバイス100は、車両に固定的に設置され、車両に固定して連結され、又は車両に統合若しくは組み込まれてもよい。DPマスターデバイス100は、車両とともに販売されてもよい。DPマスターデバイス100は、内部ではなく、物理的環境の外部蓄電源(例えば、自動車のバッテリー、航空機のバッテリーなど)によって供給される電源(図示せず)を有してもよい。
【0089】
各クライアントデバイス120、120´、120´´(600)は、物理的環境に固定的に設置されたデバイス(例えば、車両、より具体的には自動車の場合、後部座席ユニット、助手席ユニットなどの座席ユニット)、又は個人用デバイス(個人用ユーザ機器、UE、タブレット、又は別のBYOD,持ち込み(bring-your-own-device),デバイスなど)のいずれかであってよい。いくつかの例では、DPクライアントデバイス120、120´、120´´(600)の少なくとも1つは、一意的な固定設置型デバイスである。固定設置型クライアントデバイス120、120´、120´´の電源は、外部電源(例えば、自動車のバッテリー、航空機のバッテリーなど)であってもよい。
【0090】
代替例では、少なくとも1つのDPクライアントデバイス120、120´、120´´(600)は、個人用デバイスである。少なくとも1つの個人用デバイスは、ユーザ機器(UE)であってよい。少なくとも1つの個人用デバイスは、タブレットであってもよい。少なくとも1つの個人用デバイスは、スマートフォンであってもよい。少なくとも1つの個人用デバイスは、パーソナルコンピュータであってもよい。個人用デバイスの電源は、内部記憶ユニット(例えば、内部バッテリー)であってよく、その内部記憶ユニットは、外部電源(例えば、自動車のバッテリー、航空機のバッテリー、主電源など)によって順に充電されてもよい。いくつかの例では、いくつかのクライアントデバイスは、固定的に設置されたデバイス(例えば、後部座席ユニット、助手席ユニットなど)であり、いくつかの他のデバイスは、個人用デバイス(例えば、個人用デバイス)である。
【0091】
DPマスターデバイス100(500)は、符号化された(場合によっては暗号化された)ストリームをDPクライアントデバイス120、120´、120´´(600)にデジタル送信してもよい。DPマスターデバイス100は、ローカル接続60(上述したローカル接続520であってもよい)を通してDPクライアントデバイス120、120´、120´´と接続されてもよい。ローカル接続60(520)は、信頼された(又は保護された)ローカル接続であってもよい。すなわち、認可されたDPクライアントデバイスのみが、ローカル接続60を許可され、特にDPマスターデバイス100によって提供されるメディアストリームを解読するために許可される。ローカル接続60は、例えば、デジタルローカル通信ネットワークによってサポートされてもよい。ローカル接続60は、WiFi、WLANなどの規格に従った通信を意味していてもよい。ローカル接続は、(例えば、無線周波数における電磁波に基づく)無線である。ローカル接続60は、例えば、DPセッションをサポートするものとして理解されてもよい。DPセッションを通じて、符号化され暗号化されたメディアストリームが、DPクライアントデバイス120、120´、120´に(例えば、連続的に)提供されてもよい。
【0092】
ローカル接続60は、ミラーリング接続であってもよい(上記も参照)。ローカル接続60は、(例えば、上述したような技術によって)同期ローカル接続であってよく、すべてのDPクライアントデバイス120、120´、120´´がデータストリームを同時に受信し、(必要に応じて)解読し、復号し、レンダリングする。このようにして、環境内に散在する異なるラウドスピーカにおいてメディアコンテンツ(例えば、音の再生、ビデオの表示など)を同期的に提供することが可能である。
【0093】
一般的には、DPマスターデバイス100は上述のコンテンツプロバイダ50からストリームを受信することができる。コンテンツプロバイダ50は、DPマスターデバイス100に(例えば、オンデマンドで)ストリームを提供するリモートエンティティとして理解されてもよい。リモート接続52は、デジタルリモート通信ネットワークに基づいてもよい(リモート接続52は、上記のリモート接続501と同じであってもよい)。リモート接続52は、例えば、地理的通信ネットワーク、無線携帯電話ネットワーク(3G、4G、5G、UMTS、GSM、又は他の携帯電話規格)に基づくものであってよい。いくつかのケースでは、コンテンツプロバイダ50は、モデム、ルータなどに関連付けられてもよい。リモート接続52は、無線接続である。したがって、複数のユーザ(例えば、特定のDPクライアントデバイスに関連付けられた各々)は、コンテンツプロバイダ50からリモート接続52を通じてDPマスターデバイス100にリモートで提供され、DPマスターデバイス100から各DPクライアントデバイス120、120´、120´´に再送信されるビデオ及びオーディオを楽しむ。
【0094】
実施例では、デバイス(例えば、DPマスターデバイス100又はDPクライアントデバイス120-120´´)は、特定のセキュリティレベルに従ってランク付けされてもよい。例えば、セキュリティレベルは、標準的なWidevine(例えば、L1はセキュリティの最大レベル、L2はL1より低いセキュリティのレベル、L3はL2より低いセキュリティのレベル、L4はL4より低いセキュリティのレベル)に従っていてもよい。高帯域デジタルコンテンツ保護(HDCP)に従ってストリームを暗号化するデバイスは、Widevineの任意のレベルに従ってストリームを暗号化するデバイスよりも低いセキュリティレベルを有すると理解することができる。
【0095】
トラステッド環境と非トラステッド環境とを区別することが可能である。すなわち、トラステッド環境は、非トラステッド環境よりも高いセキュリティレベルを有すると理解することができる。単一のデバイスは、非トラステッド環境(ここからいくつかの信号が悪意を持って取得されることが認められる)とトラステッド環境の両方を包含することができる。非トラステッド環境からいくつかの信号が悪意を持って取得されることが認められるかもしれないが、トラステッド環境からメディア信号が悪意を持って取得されることは(少なくとも合理的なレベルの確実性で)排除される。
【0096】
より高いセキュリティレベルを有するデバイスによって暗号化されたストリームは、より低いセキュリティレベルを有するデバイスによって暗号化されたストリームよりも高いセキュリティレベルを有するものとして理解され得る。例えば、Widevineに従って暗号化されたストリームは、HDCPに従って暗号化されたストリームより高いセキュリティレベルを有すると理解され得る。
【0097】
また、接続(例えば、リモート接続52及びローカル接続60)は、異なるセキュリティレベルを有することができる。交換されたストリームが安全性の高いデバイスによって暗号化される接続は、セキュリティレベルが低いストリームが交換される接続よりも高いセキュリティレベルを有する。
【0098】
また、チャネルは異なるセキュリティレベルを有することができる。すなわち、例えば、無線通信は、一般に無線信号の信号の受信及び復号が容易であるため、有線通信よりも低いセキュリティレベルを有すると理解され得る。
【0099】
さらに、認証された電子ユニット(例えば、いくつかの認証環境)も、非認証ユニットより高いセキュリティレベルを有すると理解され得る。
【0100】
一般的には、各デバイス、ストリーム、接続、環境などのセキュリティレベルを、DPマスターデバイス100(500)によって送信されるストリームの悪意のある受信及び/又は復号を回避するために実装される特定の技術に関連付けることができる。ストリームを偽装するために必要な努力が多いほど、デバイス、チャネル、ストリーム、接続、環境などのセキュリティレベルは高くなる。
【0101】
以上のことから、DPクライアントデバイス100は、リモートコンテンツプロバイダ50との間で保護されたリモート接続52を確立し、リモートコンテンツプロバイダ50からメディアストリームを受信することができる。メディアストリームは、符号化(圧縮)されている。メディアストリームは、第1の暗号化規格(例えば、Widevine L3)に従って暗号化されてもよい。DPマスターデバイス100は、リモートコンテンツプロバイダ50から受信した符号化メディアストリームを内部で解読して、解読済み符号化メディアストリームを生成してもよい。DPマスターデバイス100は、(いくつかのケースでは)第2の暗号化規格を使用することによって、解読済み符号化メディアストリームを内部で再暗号化してもよい。第2の暗号化規格は、いくつかの例では、第1の暗号化規格とは異なる暗号化規格であってよい(例えば、HDCPであってよい)。しかしながら、他の例では、第2の暗号化規格は、第1の暗号化規格と同じであってもよい。他の例では、解読済みストリームは、再暗号化されることなく、単にDPクライアントデバイスに中継されてもよい。
【0102】
符号化メディアストリームを内部で再暗号化した後、DPサーバデバイス100は、符号化された再暗号化ストリームを複数のクライアントデバイス120、120´、120´´に送信してもよい。
【0103】
DPマスターデバイス100は、以下の構成要素の少なくとも1つを含んでもよく、及び/又は、以下に説明する機能の少なくとも1つを実行してもよい。DPサーバデバイス100は、例えば、車両に適用される場合、助手席のヘッドユニットであってもよい。
【0104】
DPサーバデバイス100は、リッチ実行環境180を含んでもよい。DPサーバデバイス100は、オーディオ再生ユニット190(例えば、1つ以上のスピーカ)及び/又はビデオ再生デバイス192(ディスプレイ、例えば、組込み型ディスプレイなど)を含む又はそれに接続されてもよい。
【0105】
DPサーバデバイス100は、ナビゲータ181を含んでもよい。ナビゲータ181は、例えば、動画専門家集団(motion picture expert group)、デジタルオーディオ定常ヘッド(digital audio stationary head)、MPEG-DASH、ナビゲータであってもよい。より一般的には、ナビゲータは、コントローラであってもよい、又はコントローラを含んでもよい。ナビゲータ181は、リモート接続52を通して、例えば、アンテナなどの通信ハードウェアを通して、暗号化及び符号化されたストリームを受信してもよい。いくつかのケースでは、接続52は、携帯電話又は他のUEなど、ブリッジのように動作するいくつかの要素を含んでもよい。
【0106】
ナビゲータ181は、暗号化ストリーム181´を、例えば分散再生サーバ182(DPサーバ)に提供してもよい。暗号化ストリーム181´(「暗号化サンプル」)は、
図5の第1の暗号化メディアストリーム504であってよい。DPサーバ182は、DPクライアントデバイス120、120´、120´´へのストリームの送信を管理するDPマスターデバイス100の要素であってよい。互いに連携して動作するナビゲータ181及びDPサーバ182は、例えば通信インタフェース502を具現化するものとして理解されてもよい。
【0107】
ストリーム181´(504)はオーディオデコーダ184及び/又はビデオデコーダ185(これらは内部ユニットであってもよい)に提供されてもよく、ストリームがスピーカ190及び/又は組込み型ディスプレイ192に提供されてもよい。要素184、185、190、及び192(存在する場合)の少なくとも一部は、上述した組込み型メディアレンダラー540を形成してもよい。
【0108】
ストリーム181´(504)が解読されるので、DPサーバデバイス100によって得られるような暗号化ストリーム181´(504)は、ローカルデコーダ184及び185(又はより一般的には組込み型メディアレンダラー540)及びDPクライアントデバイス120-120´´に直接提供されることはない。この目的のために、DPサーバ182は、暗号化ストリーム181´を暗号解読器183(例えば、Widevine L3 CDM、より一般的には第1の規格)に提供してもよく、これは、暗号解読器506の一例であってもよい。暗号解読器183(506)は、解読済みサンプル183´(解読済みメディアストリーム508の一例であってもよい)をDPサーバ182に提供し直してもよい。
【0109】
DPサーバ182は、それに応じて、解読済みオーディオ及びビデオストリーム(ここでは、183´でまとめて示す)を内蔵オーディオデコーダ184及び/又は内蔵ビデオデコーダ185(提供されている場合)に提供し、復号されたオーディオ信号184´がスピーカ190に提供され及び/又は復号されたビデオ信号184´が組込み型ディスプレイ192、又はより一般的には組込み型メディアレンダラー540に提供されるようにしてもよい。
【0110】
いくつかのケースでは、DPサーバ182は暗号化機能を有し、以前に解読済みメディアストリーム183´を再暗号化して、接続60を通じてDPクライアントデバイス120-120´´に再暗号化されたメディアストリーム(ここでは182´で示し、
図5及び6のストリーム518及び604を具体化する)を提供してもよい(その場合、DPサーバ182は
図5の暗号化器516を具現化することもできる)。(他のケースでは、DPサーバ182は、メディアストリーム183´(508)を再暗号化せず、平文でローカル接続を通じてDPクライアントデバイスに送信する)。
【0111】
したがって、DPサーバ182は、コンテンツプロバイダ50から受信されたストリームの解読済みバージョン183´を提供してもよく、ストリーム181´(504)の出力メディアストリーム182´(再暗号化されてもよい)を送信してもよい。
【0112】
したがって、ストリーム181´の解読済みバージョン183´は、低い遅延で内蔵デコーダ184及び185に提供されるが、ストリーム181´の再暗号化された(そしてまだ符号化されている)バージョン182´は、再暗号化及び接続60を通じた送信によって生じる追加の望ましくない遅延を伴ってDPクライアントデバイス120-120´´に配信される。
【0113】
上記で説明したように、解読済みストリーム183´を再暗号化し、再暗号化ストリーム182´をDPクライアントデバイス120-120´´に送信することによって生じる望ましくない遅延を補償するために、内蔵デコーダ184及び185に提供される解読済みオーディオ及びビデオストリーム183´(508)に対して人工遅延をもたらすようにDPサーバデバイス100(500)を構成できることが理解されている。この解決策は、スピーカ190、ディスプレイ192及び/又はDPクライアントデバイス120-120´´のディスプレイ127及びスピーカ126、より一般的には、組込み型メディアレンダラー540をDPクライアントデバイスのメディアレンダラーと同期させるものである。この解決策は、例えば、メディアコンテンツが送信される提示時間を定義するDPI510(又は他のタイミング情報)も提供することによって、上述した技術に基づいてもよい。
図1a-1cにおいて、DPI加算器512は、DPサーバデバイス182に内蔵されてもよい。DPI510は、
図1a及び1bに示されていないが、DPサーバ182と組込み型メディアレンダラー540との間にあってもよく、また、DPサーバデバイス100(500)からDPクライアントデバイス120-120´´(600)に送信されるときにストリーム182´(518、604)内で符号化されてもよい。
【0114】
(DPサーバ182が解読済みストリーム183´を再暗号化することは必ずしも必要ではないことに留意されたい。すなわち、いくつかの例では、これは、再暗号化戦略と非再暗号化戦略との間で選択することが可能であるためである。いくつかのケースでは、当該選択は、コンテンツプロバイダによって実行され、リモート接続52の制御データでシグナリングされる。他のケースでは、当該選択は工場で、例えば特定のフラグを選択することによって行われる。)
【0115】
したがって、クライアントデバイス120-120´´(600)は、再暗号化されたストリーム182´(518、604)を受信してもよい。DPクライアント121は、再暗号化されたストリーム182´を受信してもよい。DPクライアント121は、DPクライアントデバイス600の通信インタフェース602を実装する(
図6参照)。
【0116】
DPマスターデバイス100(600)によって送信されたストリーム182´(例えば、518、604)が暗号化されている場合、DPクライアント121はそれを解読して、解読済みストリーム(例えば、オーディオストリーム121´及びビデオストリーム121´´のうちの1つを含む)を得てもよい。解読済みストリーム121´及び/又は121´´は、解読済みメディアストリーム608であってよい。各クライアントデバイス120-120´´(600)は、クライアント内部デコーダ(例えば、オーディオデコーダ124及び/又はビデオデコーダ125)を有してもよい。復号されたビデオ信号124´は、DPクライアントデバイスの(又はDPクライアントデバイスに接続された)スピーカ126に提供されてもよい。復号されたビデオ信号125´は、ディスプレイ、例えば、DPクライアントデバイスの(又はDPクライアントデバイスに接続された)組込み型ディスプレイ127に提供されてもよい。上述したメディアレンダラー610は、要素124、125、126、127のうちの少なくともいくつかを含むことができる。
【0117】
実施例では、DPクライアントデバイス120-120´´のうちの少なくとも1つは、追加の入力ユニット(図示せず)を有してもよい。追加の入力ユニットは、解読されたがオーディオデコーダ124及び/又はビデオデコーダ125に供給される前のストリーム121´を処理することを許可してもよい。したがって、DPクライアントデバイスで(かつ、特に、入力ユニットで)コマンドを入力するユーザは、復号される前にストリームを処理してもよく、追加の選択を行う可能性を有する。例えば、ユーザがオーディオストリーム121´の内部の特定のトラック又はチャネルを望まない場合、彼/彼女はそれに応じて選択を入力し、デコーダが特定のトラック又はチャネルを提供することを回避するようにしてもよい。DPサーバデバイス100が復号後に信号182´をDPクライアントデバイスに提供した場合、このような効果は不可能であろう。したがって、DPクライアントデバイス120-120´´は、ストリーム121´が復号される前に解読済みオーディオ及び/又はビデオストリーム121´に関する選択を許可し得る入力ユニットを有利に含み得る(例えば、それに組み込まれ、及び/又はそれに内蔵される)。
【0118】
代替的に又は追加的に、保護されたローカル接続60は、DPクライアントデバイス120-120´´のうちの少なくとも1つからDPマスターデバイス100へのコマンドの送信もサポートしてもよい(例えば、フィードバックパッケージ1380を通して)。ユーザは、例えば、入力ユニットを通して、選択を入力してもよく、それは上述したものと同じであってもよく(又はそれに類似していてもよく)、(例えば、デジタル的に)選択を実行するための入力手段を含んでもよい。DPクライアント121は、それに応じて、DPサーバ182にコマンドを送信し、DPサーバ182は、今度は、例えば、複数のデコーダ(184、185、124、125)全体に提供されるストリーム182´全体について、選択を実行することになる。
【0119】
とりわけ、いくつかの例では、DPクライアントデバイス120-120´´(600)のメディアレンダラー610は、DPマスターデバイスの組込み型メディアレンダラー540と共に、DPマスターデバイス100(500)によって送信されるようなDPI(及び、特に提示時間情報)を尊重するように構成されてもよい。したがって、すべてのデバイス(マスター及びスレーブ)におけるレンダリングは調整される。それ故に、DPクライアント121は、DP抽出器612であってよい。
【0120】
いくつかの例では、DPクライアントデバイス120-120´´(600)は、上記の例のように、ビーコン1320を受信し、及び/又はフィードバックパケット1380を送信することができる。
【0121】
オリジナルストリームがWidevineに従って暗号化されるようにコンテンツプロバイダ50から提供されているとしても、DPクライアントデバイス120-120´´(又は、その少なくとも1つ)が必ずしもWidevineデバイスであることは要求されない。DPクライアントデバイス120-120´´は、単に通常の市販のデバイスであってもよい(例えば、単にHDCP規格に準拠し、Widevine規格に準拠しないものであってもよい)。一般的には、ストリームがコンテンツプロバイダ50からDPマスターデバイス100に最初に提供される規格は、DPクライアントデバイス120-120´´に提供されるようなストリーム182´に使用される第2の暗号化規格とは全く関係がない場合がある。さらに、いくつかの例では、DPマスターデバイス100(600)からDPクライアントデバイス120-120´´に送信されるようなストリーム182´は、全く暗号化されていない。
【0122】
実装は大いに実現可能であり、また、いくつかの例では、汎用のユーザ機器、UE、例えば、携帯電話、スマートフォン、タブレット、パーソナルコンピュータなどの使用も可能である。
【0123】
いくつかの実施例では、DPマスターデバイス100が予めインストールされたデバイス(例えば、車両における助手席ヘッドユニット)であるとしても、いくつかの実施例ではDPマスターデバイス100は複数の分散デバイスの中から(例えば、選択によって)選択される。したがって、いくつかの例では、DPクライアントデバイス600(120、120´、120´´)のいずれかがDPマスターデバイスとなってよい。他の実施例では、DPマスターデバイスは固定されている(例えば、車両に固定的に関連付けられる)。
【0124】
実施例では、ローカルシステム10は、
図2に示すように、少なくとも1つの第1のパーティション201と1つの第2のパーティション202とに分割されてもよい。したがって、分割された接続61(ローカル接続520のインスタンスを具現化してもよい)を使用することによって、DPマスターデバイス(このケースでは、第1のDPマスターデバイス100である)と少なくとも1つの選択されたDPクライアントデバイス120との間で保護されたローカル接続を確立することが可能である。第2のパーティション202は、第2の保護された接続62(ローカル接続520のインスタンスを具現化してもよい)を通して、少なくとも1つのDPクライアントデバイス120´と、接続された第2のマスターデバイス101(
図5のマスターデバイス500を具現化してもよい)を含んでもよい。第2のDPマスターデバイス101は、第1のDPマスターデバイス100と同じではない。いくつかの実施例では、第2のパーティション202の第2のDPマスターデバイス101は、DPクライアントデバイス120-120´´のうちの1つから選択される。選択は、例えば、第1のDPマスターデバイス100によって行われてもよい(他のいくつかのケースでは、選択によって行われる当該選択は、複数の類似のデバイスからの選択である)、他の実施例では、選択によって行われる。例えば、
図2において、第2のDPマスターデバイス101は、例えば選択又は手動による選択の場合、デバイス120´´(
図1a-1cにおいてDPクライアントデバイスとして動作する)であってよい。
【0125】
一般的には、
図1a-1cのローカルシステム10について説明した特徴のいずれも、
図2のシステムに適用することができる。ここでは、パーティションに特有のいくつかの特徴のみを説明する。まず、第1のDPマスターデバイス100及び第2のDPマスターデバイス101は、例えば、車両に固定的に設置された(例えば、統合又は組み込まれた)モデムであってもよい、1つの単一の無線モデム(例えば、4G/LTE/5G)に接続され得る。異なるローカル接続61及び62(いずれもローカル接続520を具現化したもの)は、空中で、例えば各ユーザによって操作される選択によって、選択され得る。したがって、DPクライアントデバイス120が現在パーティション202に関連し、DPクライアントデバイス120´が現在第2のパーティション202に関連していても、これは変更できる。すなわち、DPクライアントデバイス120のユーザが第1のパーティション201で提供される第1のストリームに飽き、第2のパーティション202で提供されるビデオ又は同じものに切り替えることを選択することが発生する可能性がある。ここで、ユーザは、DPクライアントデバイス120が第2のDPマスターデバイス101から第2の接続62を通して接続され、第2のDPマスターデバイス101によって提供されるストリームを受信するように、単に選択を実行することができる。しかしながら、
図1a-1cについて上述した機能性は、
図2のシステムの機能性についても有効なままである(各接続61及び62が他のものから独立していることに留意されたい)。とりわけ、いくつかのケースでは、第1又は第2のDPマスターデバイス100及び101が異なるアカウントに関連付けられる可能性がある(又は、いくつかのケースでは、家族アカウントなどの同じアカウントに関連付けられ、「映画」や「子供向けアニメ」など、異なるプロファイル及び/又はサービスを選択できる可能性を有する)。
【0126】
図2では、異なるデバイス100、101、120、120´の電子部品は、
図1a-1cと同じ参照数字で示される。第1のパーティション201のための信号は、
図1a-1cと同じ参照数字で示されている。基本的に、コンテンツプロバイダ50は、2つの異なる保護されたリモート接続52及び53(それぞれリモート接続50をインスタンス化する)を通して、異なるDPマスターデバイス100及び101にそれぞれ暗号化されたストリームを提供する。各暗号化ストリームは、DPマスターデバイス100及び101のそれぞれに内蔵された暗号解読器183(506)によってそれぞれ解読され、符号化された解読済みストリームをそれぞれ得てもよい。各DPマスターデバイス100及び101は、その組込み型メディアレンダラー540(例えば、1つの内蔵オーディオデコーダ184及び/又は1つの内蔵ビデオデコーダ185を含む)に対して、解読済みストリームをそれぞれ提供してもよい。DPマスターデバイス100及び101の各々の内蔵オーディオデコーダ184は、復号されたオーディオ信号を、DPマスターデバイス100又は101の各々に内部的に又は接続された内部又は組込み型スピーカ又はヘッドフォン190にそれぞれ提供してもよい。DPマスターデバイス100及び101の各々の内蔵ビデオデコーダ185は、復号されたビデオ信号を、DPマスターデバイス100及びDPマスターデバイス101のそれぞれに内部的に又は接続された組込み型ディスプレイ192に提供してもよい。さらに、DPマスターデバイス121及び122の各々は、デジタル保護ローカル接続61及び62のそれぞれを通して、解読済みストリームの(おそらく再暗号化された)バージョンを送信する。したがって、各DPクライアント120及び120´(600)は、解読済みオーディオ及び/又はビデオストリームを取得することができる。各クライアントデバイス120及び120´は、オーディオストリームを復号して、DPクライアントデバイス120又は120´のスピーカ又はヘッドフォンに提供される又は接続されるオーディオ信号、及び/又は、DPクライアントデバイス120の各々に内蔵又は接続された組込み型ディスプレイ127に提供されるビデオ信号を得ることができる。
【0127】
したがって、異なるパーティション100及び101のストリームは、異なるデバイスの同様のハードウェアユニットによって処理されるが、ストリームは異なり、最終的なビデオ信号及びオーディオ信号が異なることを理解することができる。例えば、車両の数人の乗客は映画を楽しむことができるが、ほかの乗客はアニメを楽しむことができる。
【0128】
一般的に、各パーティション61(及び62、それぞれ)の各DPマスターデバイス100(及び101、それぞれ)は、同期をとる役割を担ってよい。すなわち、
-そのパーティション100のDPクライアントデバイス120に提供されるストリームのレンダリングと
-内蔵デコーダ184及び185に提供されるストリームのレンダリング
との同期である。
【0129】
例えば、DPマスターデバイス100(500)は、(再暗号化及び分散クライアントデバイス120への第1のチャネル61を通じた送信及び第1のパーティション100のDPクライアントデバイスによって行われるその後の再解読に関連付けられた遅延に対処するために)その組込み型メディアレンダラー540によってレンダリングされるストリームに遅延を導入するが、第2のDPマスターデバイス101は、(ストリームを再符号化し、再符号化されたストリームを第2のチャネル62を通じて送信し、及び第2のパーティション202のDPクライアントデバイスにおいてストリームを再解読することの遅延を補償するために)その組込み型メディアレンダラー540に提供される解読済みストリームに異なる遅延を導入してもよい。上記で説明したように、一般的には、各パーティションのデバイスを同期させることが重要であり、異なるパーティションの同期は一般的に必要でなくてよい。
【0130】
図3a-3cは、リモートコンテンツプロバイダ50からリモート接続54(例えば、
図5のリモート接続501を具現化している)を通じてメディアストリーム504を受信するDPマスターデバイス300(例えば、
図5のDPマスターデバイス500を具現化している)を有するローカルシステム30の別の実施形態を示す。リモートで受信したストリーム504は、第1の暗号化規格に従って暗号化されているメディアストリームである。DPマスターデバイス300は、ストリーム504を解読した後、かつ、解読済みストリーム508を第2の暗号化規格に従って再暗号化した後(第2の暗号化規格は、第1の暗号化規格と同じ又は異なる)、ストリーム504のバージョン518を(例えば、ミラーリングによって)送信することができる。
【0131】
また、DPマスターデバイス300(500)はメディアレンダラー540(上記参照)を含んでもよく、以下の少なくとも1つを含んでもよい。
-内蔵オーディオデコーダ384、
-内蔵ビデオデコーダ385、
-組込み型スピーカ又は(外部スピーカへの接続)391、
-組込み型ディスプレイ392。
【0132】
この実施例では、DPマスターデバイス300は、トラステッド環境380と非トラステッド環境360とに細分化(パーティション化)されている。環境380と360の両方は、同じハードウェアデバイス内に共存していてもよく、例えば、同じ内部デバイス内(例えば、同じ筐体内)に閉じ込められていてもよい。環境380及び360は、例えば、互いに及び/又は同じハードウェア構成要素(例えば、ハウジング)の他の要素に安定的又は固定的に接続された2つの異なる基板に配置されてもよい。環境380及び360は、DPマスターデバイス300の異なる部分に関連付けられてもよい。例えば、環境360及び380は、同じ電源によって供給されてもよい。代替的に又は追加的に、環境360及び380は、同じ接地接続又は基準接続を有していてもよい。代替的に又は追加的に、環境360及び380は、同じ内部クロックに接続されてもよい。代替的に又は追加的に、環境360及び380は、必ずしも互いに電磁気的に絶縁されている必要はない。メディアレンダラー540は、トラステッド環境380内の1つの第1のトラステッド部分(例えば、ビデオデコーダ385及び組込み型ディスプレイ392によって形成される)と、非トラステッド部分(例えば、オーディオデコーダ384及び組込み型スピーカ又は外部スピーカ391への接続によって形成される)とによって分割されてもよい。
【0133】
トラステッド環境380は、非トラステッド環境360よりも高いセキュリティレベルを有する。これは、非トラステッド環境360が全く保護されていないことを意味するものではない。しかし、トラステッド環境380においてマルチメディアコンテンツへのアクセスを不正に得るための(又は環境380において生成されたストリームを不正に解読するための)努力は、非トラステッド環境360からマルチメディアコンテンツを不正に得るための(又は非トラステッド環境360において生成されたストリームを不正に解読するための)努力よりもはるかに高いということである。トラステッド環境380は、例えば、認証された環境であってもよい。いくつかのケースでは、トラステッド環境380は、Widevine暗号化規格に従ってストリームを解読又は暗号化することが可能であってもよい。トラステッド環境380は、第2の暗号化規格(たとえば、HDCP)を使用することによって、解読済みストリームを再暗号化してもよい。トラステッド環境380は、例えば、ビデオストリームを復号し、及び/又は復号されたビデオ信号を表示してもよい。実施例では、オーディオストリームは、非トラステッド環境360によって直接復号されてもよい、又はトラステッド環境380によって復号され、例えば非トラステッド環境360内のオーディオデコーダに提供されてもよい。ストリームは、第2の規格(例えば、HDCP)に従ってトラステッド環境380で再暗号化されてもよく、第2の暗号化規格で複数のクライアントデバイス320、320´、320´´に再送信されてもよい。
【0134】
DPクライアントデバイス320-320´´(600)の各々は、トラステッド環境340と非トラステッド環境330との間で分割されてもよい。トラステッド環境340は、例えば、得られた暗号化メディアストリーム518を再暗号化するため、又はトラステッド環境340において解読済み信号の表示を制御するために使用されてもよい(一方、他のストリーム、例えば、オーディオストリームも非トラステッド環境330において復号されてもよい)。
【0135】
図3a-3cの例では、解読されるときに、ビデオストリームがトラステッド環境から出ない、又は少なくとも非トラステッド環境にはフィードバックされないことを認識することができる。ストリームが非トラステッド環境を通過する場合であっても、暗号化されていることには変わりはない。したがって、暗号化されたストリームを不正に復号することによっても、トラステッド環境380のハードウェアに侵入することによっても、マルチメディアコンテンツに不正に到達することは事実上不可能である。
【0136】
さらに、異なるデバイス間の同期は、トラステッド環境380で行うことができ、非トラステッド環境380からオーディオ又はビデオ信号を不正に取得する可能性はない。
【0137】
ローカルシステム30の特徴ごとの説明がここで提供される。ローカルシステム30は、DPマスターデバイス300(DPマスターデバイス500を具現化している)を含んでもよく、保護されたリモート接続54(リモート接続501を具現化している)を通じてコンテンツプロバイダ50から暗号化メディアストリーム381´(暗号化メディアストリーム504を具現化している)を受信することができる。コンテンツプロバイダ50からリモートで受信したストリーム381´(504)は、その後、第1の暗号化規格(例えば、Widevine、例えば、L1)に従って暗号化されてもよい。暗号化ストリーム381´(504)は、ナビゲータ381(上述したナビゲータ181に類似していてもよい)によって受信されてもよい。ナビゲータ381は、非トラステッド環境360に配置されてもよい。ナビゲータ381は、コンテンツプロバイダ50から受信したままの暗号化ストリーム381´をDPサーバ382に、又はDPサーバ382などのDPマスターデバイス300の他のユニットに提供してもよい。ナビゲータ381及びDPサーバ382は、
図5の通信インタフェース502であってもよい、又は実装されていてもよい。DPサーバ382は、
図1aについて論じたDPサーバ182の機能と類似の機能を有していてもよい。しかしながら、このケースでは、DPサーバ382は、暗号化機能を欠いている。DPサーバ382は、非トラステッド環境360に存在してもよい。DPサーバ382は、(第1の暗号化規格、例えばWidevineに従って暗号化された)符号化ストリーム381´をトラステッド環境380に提供してもよい。
【0138】
トラステッド環境380の内部では、第1の暗号解読器383(例えば、Widevine暗号解読器)が、暗号化ストリーム381´(504)を解読して、解読済みストリーム383´(508)を得てもよい。第1の暗号解読器383は、
図5の暗号解読器506を具現化してもよい。解読済みストリーム383´(508)は、トラステッド環境380から出ることなく、セキュア環境380の内部のセキュアバッファ387に提供されてもよい。解読済みストリーム383´(508)は、トラステッド環境380から出ることなく、組込み型メディアレンダラー540、例えば、トラステッドデコーダ(例えば、ハードウェアビデオデコーダ+ディスプレイコントローラ)385に提供されてもよい。トラステッドデコーダ385は、ビデオデコーダであってもよい。(しかしながら、他の実施例では、オーディオデコーダ又はビデオ及びオーディオデコーダであってもよい。)トラステッドデコーダ385は、セキュア環境380の内部に存在する。解読済みストリーム383´の一部383´´(例えば、オーディオ部分)は、解読済みストリーム383´のビデオ部分とは異なる結果を有してもよい(例えば、それは非トラステッド環境360に出力されてよい)ことに留意されたい。
【0139】
デコーダ385によって復号されるような復号ビデオ信号385´(復号メディアコンテンツ、又は保護ビデオ出力)は、組込み型ディスプレイ392に提供されてもよい(他の実施例では、スピーカーにも提供することができる)。
【0140】
セキュアバッファ387から、解読済みストリーム383´を暗号化器389(例えば、
図5の暗号化器516)に供給してもよい。暗号化器389(516)は、例えば、HDCP暗号化器であってもよい。暗号化器389(516)は、第1の暗号化器383の暗号化とは異なる暗号化技術を実装してもよい(しかし、いくつかの実施例では、同じであってもよい)。
【0141】
暗号化器389(516)は、リモートコンテンツプロバイダ50から受信したストリームの第2の暗号化バージョン389´(518)、すなわち、第2の暗号化ストリーム389´を出力してもよい。第2の暗号化ストリーム389´は、セキュア環境380から出ることなく、セキュアバッファ380に提供されてもよい。
【0142】
セキュアバッファ387から、又はより一般的にはトラステッド環境380から、第2の暗号化ストリーム389´(518)は、DPサーバ382に(又は、より一般的には、非トラステッド環境360に)提供されてもよい。非トラステッド環境360から(例えば、特にDPサーバ382から)、第2の暗号化ストリーム389´(518)は、デジタル保護ローカル接続60を通じてDPクライアントデバイス320-320´´に送信されてもよい。
【0143】
上記で説明したように、DPマスターデバイス300によってDPクライアントデバイス320-320´´に提供されるようなストリーム389´(518)は、第1の暗号化規格(例えば、Widevine、特にL1、L2、L3、及びL4のうちの1つ)とは異なる第2の暗号化規格(例えば、HDCP)に従って暗号化されてもよい。
【0144】
いくつかの実施例では、セキュアバッファ387は存在しなくてもよい。
【0145】
実施例では、いくつかの特定のストリーム(例えば、オーディオストリーム)は、必ずしも再暗号化されない。したがって、セキュア環境380から、解読済み(かつ保護されていない)バージョン383´´(これは、解読済みストリーム383´又は508の一部でもよい)が、トラステッド環境380から非トラステッド環境360の内部の非トラステッドデコーダ384(オーディオデコーダであってもよい)に直接提供されてもよい。非トラステッドデコーダ384は、保護されていないストリーム383´´を復号し、信号(例えば、オーディオ信号)384´を内部又は出力ユニット(例えば、スピーカ)391又は非トラステッドデコーダ384の下流に接続される出力ユニットに提供してもよい。ビデオストリームが、リモート接続54(501)における第1の暗号化(例えば、Widevine)と、ローカル接続520における第2の暗号化(例えば、HDCPにおいて、オーディオストリームは暗号化されなくてもよい322´´´)の両方で保護されることが一般的に好ましい。また、いくつかの実施例において、オーディオストリーム(又は、重要性の低い別のストリーム)が平文でDPクライアントデバイスに提供されることがあってよい。
【0146】
いくつかのDPI(例えば、シーケンス番号)は、例えば、抽出され、暗号解読器383(506)から、例えばDPサーバ382に提供されてもよい。DPサーバ382は、その後、DPI510を暗号化器389に(例えば、接続510cを通じて)提供してもよい。したがって、DPサーバ382は、タイミング情報(例えば、予定時刻、提示時刻情報、遅延など)を取得し、暗号化器389にそれを提供してもよい。とりわけ、暗号化器389(516)は、DPI510を追加することによって、ストリーム383´(508)を暗号化してもよい。したがって、DPI510は、第2の暗号化ストリーム389´(518)内に暗号化される。代替的に、接続510cは使用されず、DPI510が、DPサーバデバイス382によって、セキュアバッファ387からDPサーバ382に提供されるようにストリーム389´(516)に挿入(追加)される。すなわち、その場合、暗号化ストリーム389´へのDPI510の挿入は非暗号化方式であり、したがって、ストリーム389´(516)で符号化されるDPIは平文である。他の実施例では、DPI510は、
図7a及び
図9aの技術のように、DPマスターデバイス500(100)によって定期的に送信されるビーコンパケット1320に(例えば、平文で)単に挿入されてもよい。
【0147】
ここで、レンダリングのタイミングと、DPマスターデバイス300とDPクライアントデバイスとの間の同期とに関する議論を繰り返す必要はない。
【0148】
しかしながら、DPIは、したがって、組込み型ディスプレイ392におけるビデオ信号の生成の遅延を制御し得るビデオデコーダコントローラ388に提供されてもよい。DPI510における提示タイミングが、ローカル接続60(520)において送信されるような第2の暗号化ストリーム389´(518)のペイロードパケット1310又はビーコンパケット1320においても(例えば、データフィールド1314において)符号化されることにより、ビデオ信号385´の生成のタイミングがDPクライアントデバイスにおけるビデオ信号の生成に協調することになる。オーディオ信号384´の生成についても同様であり、これもDPI510によって条件付けされてもよい。したがって、ビデオデコーダコントローラ388の出力388´は、DPI510のタイミング情報に基づいて、ストリーム383´(508)の特定のフレーム(ペイロードパケット)に関連付けられた特定のビデオ信号の生成のきっかけとなってよい。同時にDPクライアントデバイスでも同様のことが行われる。DPI510が詐称されても一般的にセキュリティ上の問題はないため、ビデオデコーダコントローラ388は非トラステッド環境360にある。しかしながら、ビデオデコーダコントローラ388がトラステッドビデオデコーダ385に及ぼした制御388´は、トラステッド環境380に入り、ビデオ信号385´の生成を制御してもよい。
【0149】
上記で説明したように、(DPI510に基づく)制御信号388´は、以下のように動作してもよい。
最大遅延を有するDPクライアントデバイスにおけるレンダリングの遅延が増加する場合、組込み型メディアレンダラー(540)及びDPクライアントデバイスにおけるレンダリングの制御された遅延を増加させる、及び/又は、
最大遅延を有するDPクライアントデバイスにおけるレンダリングの遅延が減少する場合、組込み型メディアレンダラー(540)におけるレンダリングの制御された遅延を減少又は維持させる。
【0150】
DPクライアントデバイス320の実施例(
図6のDPクライアントデバイス600を具現化してもよい)が次に提供される(特に
図3a、3c、6を参照)。DPクライアントデバイス320は、トラステッド環境340と非トラステッド環境330との間で分割されてもよい。トラステッド環境340と非トラステッド環境330との間の分離は、DPマスターデバイス300のトラステッド環境380とトラステッド環境360との間の分離について説明したものと類似していてもよく、したがって、ここではあまり多くの詳細について繰り返さない。しかしながら、トラステッド環境340は、非トラステッド環境330のセキュリティレベルよりも高いセキュリティレベルを有し、トラステッド環境330からマルチメディアコンテンツに不正に到達することがより困難(又は、実質的に不可能)であることは、繰り返される。DPクライアントデバイス320(600)は、例えばDPマスターデバイス300(500)のトラステッド環境380の暗号化器389(516)によってもともと暗号化された第2の暗号化ストリーム389´(518、604)を入力されてもよい。非トラステッド環境330内では、分散再生クライアント(DPクライアント)321が提供されてもよい。DPクライアント321は、DPクライアント121(上記参照)の機能と類似の機能を有していてもよい。DPクライアント321は、特に、
図6の通信インタフェース602を実装してもよい。DPクライアント321は、第2の暗号解読器339(例えば、
図6の暗号解読器606を具現化している)に第2の暗号化ストリーム389´(518、604)を提供してもよく、この暗号解読器はトラステッド環境340の一部であってもよい。第2の暗号解読器339(606)は、符号化ストリーム389´の解読済みバージョン339´を出力してもよい(したがって、解読済みストリーム339´は、
図6の解読済みメディアストリーム608であってもよい)。この解読済みストリーム339´(608)は、例えば、セキュアバッファ347(例えば、トラステッド環境340の内部)を通じて、内部の、トラステッドデコーダ345(例えば、ハードウェアビデオデコーダ)に提供されてもよい。トラステッドデコーダ345は、信号345´(例えば、ビデオ信号)を、トラステッド環境340内にある(又は、トラステッド環境340に関連付けられた)組込み型出力ユニット352に提供してもよい。したがって、解読済みストリーム339´(608)は、トラステッド環境340内に留まり、信号345´は、非トラステッド環境330を通過せずに、組込み型出力ユニット352(例えば、組込み型ディスプレイ)にのみ向けられる。一般的に、ストリーム339´(608)及び信号345´は、それぞれビデオストリーム及びビデオ信号であってもよいが、いくつかの例では、オーディオストリーム及びオーディオ信号及び/又はビデオ及びオーディオ信号並びにビデオ及びオーディオストリームのいずれかであってもよい。
【0151】
セキュアバッファ347から、解読済みストリーム343´´(例えば、オーディオストリーム)が、非トラステッド環境330に、特に、非トラステッドデコーダ(オーディオデコーダであってもよい)334に提供されてもよい。非トラステッドデコーダ334から、メディア信号334´(オーディオ信号であってもよい)は、スピーカ又はヘッドフォン326に提供されてもよい。
【0152】
また、ビデオデコーダコントロール338(例えば、非トラステッド環境330内)が、トラステッドビデオデコーダ345を制御する制御信号338´を出力するようにすることも可能である。
【0153】
第2の暗号解読器339又はDPクライアント321は、DPI抽出器612を具現化してもよい。DPクライアント321は、要素326及び/又は352における物理的なオーディオ信号及びビデオ信号の生成を制御するために、DPI510をオーディオデコーダ334及び/又はビデオデコーダコントローラ338に提供してもよい。デマルチプレクサ351は、DPI510をオーディオデコーダ334のための情報とビデオデコーダコントローラ338のための情報との間で分割してよい。これらの実施例は、DPI510(及び、特にフィールド1315)が、DPクライアントデバイスによって受信されるような第2の暗号化ストリーム389´(518、604)の残りの部分と共に暗号化される場合である。
【0154】
DPI510が平文である場合、DPI510を解読する必要がないため、DPクライアント321はDPI抽出器612を具体化する(
図6において暗号解読器606をバイパスする遷移606´はこのように検証することができる)。
【0155】
図3a-3cの例では、極めて高いセキュリティレベルが常に達成される。すなわち、ストリームが解読された形態であるときはいつでも、DPマスターデバイス300(500)のセキュア環境380内及びDPクライアントデバイス320-320´´(600)のセキュア環境340内のいずれかにある。
【0156】
さらに、解読済みストリームのいずれのバージョンも、メディアレンダラー540及び610に(及び、特にデコーダ384、385、334、338に)提供されると、結果として互いに同期される。すなわち、DPマスターデバイス300(500)において、オーディオデコーダ384に提供されるオーディオストリーム383´´とトラステッドデコーダ384に提供されるビデオストリーム383´をレンダリングする両方のストリームに対して遅延を追加しても良い。遅延は、DPクライアントデバイス330-330´´(600)でも物理信号の生成タイミングを考慮するDPI510によって制御されてもよい。
【0157】
上記で説明したように、ビデオ信号383´に対して生成される遅延は、保護された接続60(520)を通してストリーム389´(518、604)を送信するために必要な時間、及びストリームを再暗号化し、ストリームを再解読するために必要な時間を考慮するように算出されてもよい。したがって、出力ユニット(例えば、ディスプレイ)392及び352によって出力されるような画像を結果として互いに同期することができ、また、(オーディオ出力デバイス391及び326に提供される)オーディオ信号384´及び334´は互いに、及びビデオ画像と同期されることになる。したがって、すべてのユーザは、相互遅延に悩まされることなく、同じメディアコンテンツを同時に楽しむことができるようになる。
【0158】
いくつかの実施例では、非暗号化メディアストリーム(例えば、オーディオストリーム)は、セキュア環境380に提供されないにも関わらず、セキュア環境は、非暗号化メディアストリーム(例えば、オーディオストリーム)の同期バージョンを非トラステッド環境360内の非トラステッドデコーダ384に提供でき、出力デバイス391によって出力されるメディアコンテンツがトラステッド環境380内の出力デバイス392のものと同期する。
【0159】
図4は、第1のパーティション401と第2のパーティション402とに分割されるローカルシステム30を示す。第1のパーティション401は、保護されたデジタルローカル接続61を通じて接続される第1のマスターデバイス300と少なくとも1つのDPクライアントデバイス320とを含んでもよい。さらに、第2のDPマスターデバイス301と、少なくとも1つのDPクライアントデバイス320´とを含む。
【0160】
図2のパーティションについて論じた技術を参照して上述した特徴のいずれもが、
図4の技術に再び向けられてもよい。違いは、ここでは、DPマスターデバイス300及び301の各々が、トラステッド環境380と非トラステッド環境360との間でも分割される(これら2つの環境との間の区別については上記を参照)。DPマスターデバイス300は、
図3と同じDPマスターデバイス300であってもよいが、DPマスターデバイス301は、実施例では、
図3のDPクライアントデバイスのうちの1つ(例えば、DPクライアントデバイス320´´)であってもよい。いくつかのケースでは、コンテンツプロバイダから2つの異なるストリームを取得することが要求される場合(例えば、2つの異なるメディアコンテンツが同じ車両内の2つの異なるグループによって使い果たされるため)、2つのリモート接続54及び55がマスターデバイス300及び301の各々によって実行されてもよい。各パーティション400、401の特徴は、
図3aのシステム30と同じ特徴であってもよい。基本的に、ここでは異なるストリームが異なるパーティションに提供されるため、同期は各パーティションに異なって実行される。それとは別に、内部的には各DPマスターデバイス300及び301は
図3のマスターデバイス300と同様に動作し、
図4の各クライアントデバイス320及び320´は
図3のDPクライアントデバイスの1つとして動作してもよい。DPマスターデバイス301は、複数のDPクライアントデバイスの中から選択されてもよい(例えば、選択又はマスターデバイス300の決定によって)。マスターデバイス300及び301の両方は、例えば、リモートコンテンツプロバイダ50と2つの異なるリモート接続54及び55(それらの各々がリモート接続501を具現化している)を提供できる同じ無線モデムに接続されてもよい。
【0161】
上記の例により、ローカルシステム30(又はパーティション400若しくは401)のすべてのメディアコンテンツを、結果として同期することができる(例えばオーディオ及びビデオ、例えば異なる出力デバイス190、192、391、392、326、352に向けられた異なる信号)。
【0162】
また、高度なセキュリティが実現される。第2の暗号化ストリーム389´(518、604)が暗号化されているだけでなく、解読及び再暗号化が常にセキュア環境380内で実行され、復号ストリームがトラステッド環境330及び380を出ないことが常に保証される。したがって、非トラステッド環境360で接続を行うことにより、悪意を持ってメディアコンテンツを取得することも不可能である。すなわち、ストリーム389´(518、604)は暗号化される。
【0163】
DPクライアントデバイスについても同様である。
図3a-3c及び
図4の実施例は、非トラステッド環境330に流れるストリームが暗号化され、ハッカーが効果的に動作できないトラステッド環境340内でのみ解読されるので、
図1a-2の実施例に関して、より優れたレベルのセキュリティを提供する。
【0164】
上記にもかかわらず、スピーカ及び/又はディスプレイによって提供されるメディアコンテンツは、互いに常に同期していることが常に保証されている。
【0165】
さらに、例えば、第1の規格と第2の規格とが異なる場合、DPマスターデバイスの互換性を保証することができる。例えば、DPクライアントデバイス120-120´´及び/又は320-320´´がHDCPに従って解読を行うように構成されたデバイスであり、マスターデバイス100又は300がWidevine規格(例えば、L1又はL2又はL3又はL4)に従ってコンテンツプロバイダからストリームを受信するように構成される場合は、単にDPマスターデバイス100又は300を頼りに、HDCP規格に従ったストリーム182´及び/又は389´を送信すればよいため、DPクライアントデバイスの変更は必要でない。さらに、上記で説明したように、同期を容易に取得することができる。
【0166】
また、DPクライアントデバイスから再生コマンドを提供することで、すべてのデバイスでのメディアコンテンツの再現を制御することが可能である。
【0167】
図1a-4の実施例は、必ずしも異なる実施形態ではないが、少なくともその一部が、複数のモードの中から1つのモードを選択する1つの単一の実施形態で得ることができる(これは、DPマスターデバイス600及びDPクライアントデバイス500の両方について有効であってもよい)。例えば、(
図1a-1c及び3a-3cのような)モード「シングルストリーム」又は「シングルパーティション」対(
図2及び4のような)モード「マルチストリーム」又は「マルチパーティション」が存在してもよい。ユーザーの選択に基づいて、選択することができる。
【0168】
他のケースでは、「暗号化送信」(例えば、暗号化器516及び第2の暗号解読器606を使用)対「非暗号化送信」(例えば、回線516´を通じて暗号化器516をバイパスし、暗号解読器606をバイパスする)の選択があってもよい。これは、少なくともコンテンツプロバイダ50によって、例えば提供されるメディアコンテンツの価値を鑑みて、及び/又はユーザのアカウントの種類に鑑みて、選択に基づいて行われてもよい。いくつかの例では、より低いセキュリティレベルを有する規格が使用されることが決定された場合(例えば、Widevine L1の代わりにWidevine L3)、暗号化器516及び暗号解読器606はバイパスされ、出力メディアストリーム518(604、189´)が平文で提供されてもよい。同様に、より高いセキュリティレベルを有する規格が使用されることが決定された場合(例えば、Widevine L3の代わりにWidevine L1)、暗号化器516及び暗号解読器606は、出力メディアストリーム518(604、189´)が暗号化されるように、アクティブ化されてもよい。
【0169】
同様に、追加的又は代替的な実施例では、トラステッド環境340及び380を使用する、又は使用しないことを決定することができる。これは、少なくともコンテンツプロバイダ50によって、例えば提供されるメディアコンテンツの価値に鑑みて、及び/又はユーザのアカウントの種類に鑑みて、選択に基づいて行われてもよい。いくつかの例では、より低いセキュリティレベルを有する規格が使用されることが決定された場合(例えば、Widevine L1の代わりにWidevine L3)、
図1a-2のように動作し、
図2a-4のように動作しないように、トラステッド環境340及び380がバイパスされてもよい。同様に、より高いセキュリティレベルを有する規格が使用されることが決定された場合(例えば、Widevine L3の代わりにWidevine L1)、
図1a-2のように動作し、
図2a-4のように動作しないように、トラステッド環境340及び380がアクティブ化されてもよい。
【0170】
とりわけ、選択されたモードは、必ずしも1つの単一のエンティティによって選択されるとは限らない。例えば、選択は、要件(例えば、特定のユーザのアカウント及び/又は特定のデバイスの能力に関連付けられる)に基づくことができる。したがって、これは、「配信拒否」などの他のモードで動作してもよい。例えば、コンテンツプロバイダが高いレベルのセキュリティ(例えば、Widevine L1)を要求し、DPクライアントデバイス600が要求される高いレベルのセキュリティに準拠していない場合、メディアストリーム518(604)の配信は拒否されてもよい。しかしながら、とりわけ、いくつかのケースでは、DPマスターデバイスが特定の要求されるセキュリティレベルに準拠していることを条件として、DPマスターデバイス500が特定のメディアコンテンツの再現をまだ楽しむことができる。その場合、DPマスターデバイス500は、ローカル接続520において出力ストリーム508(604)を送信することをやめるが、それでも自身の組込み型レンダラー540をアクティブ化する。
【0171】
以下は、任意的な上記実施例の特徴である。
【0172】
車両用コンテンツにおけるミラーリングの使用例♯1(
図1a,1b,1c)
例えば、Widevine L3、シングルゾーン(1つのストリームが3つのクライアントデバイスにミラーリングされる)
●助手席(DPマスターデバイス100)及び後部座席1、2、3(DPクライアントデバイス120、120´、120´´)は、車両内のLAN/Wi-Fi(ローカル接続)を介して接続されてもよい。
●コンテンツプロバイダ50からのデータ(例えば、ストリーム181´、504)は、車両の4g/lte/5gモデムを通じて来てもよい。
●助手席ユニット(DPマスターデバイス100)は、コンテンツプロバイダ50から単一のストリーム(例えば、ストリーム181´、504)を受信してもよく、分散再生サーバとして動作してもよい。
●後部座席1、2、3(DPクライアントデバイス120、120´、120´´)は、助手席からオーディオ/ビデオストリーム(182´、504)を受信し、分散再生クライアントとして動作してもよい。
●助手席(DPマスターデバイス100)と後部座席1、2、3(DPクライアントデバイス120、120´、120´´)との間でオーディオ及びビデオを完全に同期(例えば、ミラーリング)させることができる。
●widevine L3 解読は、助手席のユニット(DPマスターデバイス100)上で、例えば暗号解読器183で行われてもよい。
●MPEG-TS データは、コンテンツキーのキーコントロールブロック(KCB)で以下の条件のいずれかが真であれば、暗号化されずにWi-Fi/LANで送信されてもよい。
●HDCPが指定されていない(KCB:Observe_HDCP=false)
●HDCPは必須ではない(KCB:Observe_HDCP=true AND HDCP=not required)
【0173】
車両用コンテンツにおけるミラーリングの使用例#2(
図2)
例えば、Widevine L3、デュアルゾーン(2つのストリーム+ミラーリング)
●助手席(DPマスターデバイス100)及び後部座席1、2、3(DPクライアントデバイス120、120´、120´´)は、車両内のLAN/Wi-Fi(ローカル接続520)を介して接続されてもよい。
●コンテンツプロバイダ(DPマスターデバイス100)からは、車両の4G/LTE/5Gモデムを通じて来てもよい。
●助手席(DPマスターデバイス100)及び後部座席1(DPクライアントデバイス120)は、完全に同期(ミラーリング)して映画(「ゾーン1」)を視聴している。後部座席2(DPクライアントデバイス120´)及び後部座席3(DPクライアントデバイス120´´)は完全に同期(ミラーリング)して子供向けアニメ(「ゾーン2」)を視聴している。
●映画と子供向けアニメとは、コンテンツプロバイダ50から2つの独立したセッション/ストリームとして配信されている(プロバイダ/アカウント、例えば、ファミリーアカウントによって許可されている場合)。
●代替的に、各ゾーンは、2つの独立したアカウントを使用してプロバイダからコンテンツを受信することができる(独立したログインを管理することが許可されている場合)。
●ブロック183でWidevine L3 解読が助手席のユニット及び後部座席2のユニット(DPサーバデバイス100及び101)で行われる。
●MPEG-TSデータは、コンテンツキーのキーコントロールブロック(KCB)で以下の条件のいずれかが真であれば、暗号化されずにWi-Fi/LAN(ローカル接続)で送信される。
●HDCPが指定されていない(KCB:Observe_HDCP=false)
●HDCPは必須ではない(KCB:Observe_HDCP=true AND HDCP=not required)
【0174】
車両用コンテンツにおけるミラーリングの使用例♯3(
図1a-1c)
例えば、Widevine L1、シングルゾーン(1つのストリームが3つのクライアントにミラーリングされる)
●助手席(DPマスターデバイス300)及び後部座席1、2、3(DPクライアントデバイス320、320´、320´´)は、車両内のLAN/Wi-Fi(ローカル接続)を介して接続される。コンテンツプロバイダ50からのデータは、車両の4G/LTE/5Gモデムを通じて来る。
●助手席ユニットは、コンテンツプロバイダ50から単一のストリーム381´(504)を受信し、分散再生サーバとして動作してもよい。後部座席1、2、3(DPクライアントデバイス320、320´、320´´)は、助手席からオーディオ/ビデオストリームを受信し、分散再生クライアントとして動作してもよい。
●オーディオ及びビデオは、助手席と後部座席1、2、3との間で完全に同期(例えばミラーリング)されてもよい。
●Widevine L1 解読(暗号解読器383)は、助手席のユニット上で(トラステッド実行環境、TEE、380で)行われてもよい。クライアントデバイスに配信するために、解読済みストリーム383´(508)は、例えば、コンテンツキーのキーコントロールブロックにおいてシグナリングされるHDCP 2.xプロトコルバージョンを使用して、再暗号化されてもよい。ビデオは、TEEにおいて(例えば385で)復号され、(例えば392で)レンダリングされてもよい。オーディオは、リッチ環境(例えば、非セキュア環境360)において、例えば、「キーは常にセキュアではない」とシグナリングされた場合に、(例えば384で)復号されてもよい。
●MPEG-TSデータは、Wi-Fi/LAN(ローカル接続)を介してクライアントデバイスに暗号化して送信されてもよく、それがTEE380の内部で、例えばHDCP 2.x TA(又は、別の暗号解読器)339(608)を使用して解読され、サーバデバイス300と同じ方法で処理される。これは、Widevine=L1かつHDCPが必須の場合(KCB:Observe_HDCP=true AND HDCP=required)にのみ行うことができ、Cinemoは、KCBのHDCP_Versionビットで指定される最小のHDCPバージョンでMPEG-TSストリームを暗号化するだろう。
●コンテンツキーのキーコントロールブロックに、Widevine=L1及びHDCPは不要(KCB:Observe_HDCP=true AND HDCP=not required)がシグナリングされた場合、その後、Wi-Fi/LANでの配信は許可されない場合がある。
【0175】
車両用コンテンツにおけるミラーリングの使用例#4(
図4)
例えば、Widevine L1、デュアルゾーン(2つのストリーム+ミラーリング)
●助手席(DPマスターデバイス300)及び後部座席1、2、3(DPクライアントデバイス320、320´、320´´)は、車両内でLAN/Wi-Fiを介して接続されていてもよい。コンテンツプロバイダ50からのデータは、車両の4G/LTE/5Gモデムを通じて来てもよい。
●助手席及び後部座席1は、完全に同期(例えばミラーリング)して映画(「ゾーン1」)を視聴している。後部座席2及び後部座席3は、完全同期(例えばミラーリング)して子供向けアニメ(「ゾーン2」)を視聴している。
●映画と子供向けアニメとは、コンテンツプロバイダから2つの独立したセッション/ストリームとして配信されている(プロバイダによって許可されている場合、例えば、ファミリーアカウント)。
●代替的に、各ゾーン(パーティション)は、2つの独立したアカウント(いくつかの例では、独立したログインが許可されていてもよい)を使用してコンテンツプロバイダ50からコンテンツを受信していてもよい。
●助手席(サーバデバイス)は、ゾーン1について、オーディオ及びビデオを後部座席1(クライアントデバイス)にミラーリングしてもよい。後部乗客2(サーバデバイス)は、ゾーン2について、後部乗客3(クライアント)にオーディオ及びビデオをミラーリングしてもよい。
●Widevine L1 解読は、TEE380において助手席のユニットと後部座席2のユニット(サーバ)上で(ブロック383で)行われてもよい。ビデオ復号(ブロック385)は、TEE380のすべてのユニットで行われてもよい。MPEG-TS A/Vデータは、更なる送信のために、TEE380内のHDCP 2.x(コンテンツキーのキーコントロールブロックでシグナリングされたバージョン)(例えばブロック389で)に再暗号化されてもよい。オーディオは、例えば「キーが常に安全ではない」とシグナリングされた場合、リッチ環境360で(例えば384で)復号されてもよい。
●MPEG-TSデータ389´(518、604)は、Wi-Fi/LAN(ローカル接続)を介してクライアントデバイス320、320´に暗号化して送信されてもよく、例えば、HDCP 2.x TAを使用して(ブロック339で)TEE340内で解読されて、サーバデバイスと同じ方法で取り扱われる。これは、Widevine=L1かつHDCPが要求される場合(KCB:Observe_HDCP=true AND HDCP=required)にのみ行われ、KCBのHDCP_Versionビットによって指定されるHDCPバージョンの最小で暗号化されたMPEG-TSストリームであってもよい。
●Widevine=L1かつHDCPが不要(KCB:Observe_HDCP=true AND HDCP=not required)がコンテンツキーのキーコントロールブロックでシグナリングされる場合、Wi-Fi/LANでの配信は許可されない。
【0176】
ここで、前に議論されたようなすべての代替案又は態様及び特許請求の範囲において独立請求項によって定義されるようなすべての態様は、個別に、すなわち、検討された代替案、対象又は独立請求項以外の代替案又は対象なしに使用できることが言及される。しかしながら、他の実施形態では、代替案又は態様又は独立請求項のうちの2つ以上を互いに組み合わせることができ、他の実施形態では、すべての態様又は代替案及びすべての独立請求項を互いに組み合わせることができる。
【0177】
いくつかの態様が装置の文脈で説明されてきたが、これらの態様はまた、ブロック又はデバイスが方法ステップ又は方法ステップの特徴に対応する、対応する方法の説明を表すことは明らかである。同様に、方法ステップの文脈で説明された態様は、対応するブロック又はアイテム又は対応する装置の特徴の説明も表している。
【0178】
例えば、分散再生、DP、方法(例えば、DPマスターデバイスによって実行される)は、
複数のDPクライアントデバイス(600、650、120、120´、120´´、320、320´、320´´)とのローカル接続(520、60、61、62)を確立するステップと、
リモートコンテンツプロバイダ(50)から第1の暗号化メディアストリーム(504、181´、381´)を受信するように、リモートコンテンツプロバイダ(50)とのリモート接続(501、52、53、54、55)を確立するステップであって、暗号化メディアストリーム(504、181´、381´)は第1の暗号化規格に従って暗号化される、リモート接続を確立するステップと、
解読済みメディアストリーム(508)を取得するために第1の暗号化メディアストリーム(504、181´、381´)を解読するステップと、
DP情報、DPI(510)を、解読済みメディアストリーム(508、183´、383´)に追加するステップと、
第2の暗号化ストリーム(518、189´、389´)を得るために第2の暗号化規格に従って解読済みメディアストリーム(508、514、182´)を暗号化するために構成される暗号化器(516、185、389)と、
第2の暗号化メディアストリーム(518、189´、389´)内のDPI(510)を追加で暗号化するステップ、又はDPI(510)を暗号化メディアストリーム(518、189´、389´)に平文で追加するステップと、
第2の暗号化メディアストリーム(518、189´、389´)である出力メディアストリーム(518、189´、389´)を、複数のDPクライアントデバイス(120-120´´)に送信するステップと、
を含むことができる。
【0179】
別の分散再生、DP、方法(例えば、DPクライアントデバイスによって実行される)は、
DPマスターデバイス(500、100、101、300、301)とローカル接続(520、60)を確立するステップであって、DPマスターデバイス(500、100、101、300、301)から暗号化メディアストリーム(604、189´、389´)を受信し、解読済みメディアストリーム(604、189´、389´)はペイロードデータ及びDP情報、DPI、(510)を含む、ローカル接続を確立するステップと、
解読済みメディアストリーム(608)を取得するために暗号化メディアストリーム(604、189´、389´)を解読するステップと、
解読済みメディアストリーム(608、339´、343´´)又は暗号化メディアストリーム(604、189´、389´)内のDPI(510)を抽出するステップと、
DPI(510)を使用して解読済みメディアストリーム(608、339´、343)を復号するステップと、
を含むことができる。
【0180】
特定の実装要件に応じて、本発明の実施形態は、ハードウェア又はソフトウェアで実装することができる。実装は、デジタル記憶媒体、例えばフロッピーディスク、DVD、CD、ROM、PROM、EPROM、EEPROM又はフラッシュメモリであって、その上に格納された電子的に読み取り可能な制御信号を有し、それぞれの方法を実行するようにプログラム可能なコンピュータシステムと協働する(又は協働することができる)ものを用いて行うことができる。
【0181】
本発明によるいくつかの実施形態は、電子的に読み取り可能な制御信号を有するデータキャリアであって、本明細書に記載の方法の1つが実行されるように、プログラム可能なコンピュータシステムと協働することが可能であるデータキャリアを含む。
【0182】
一般に、本発明の実施形態は、プログラムコードを有するコンピュータプログラム製品として実装することができ、プログラムコードは、コンピュータプログラム製品がコンピュータ上で実行されるときに、方法の1つを実行するために動作可能である。プログラムコードは、例えば、機械読み取り可能なキャリアに格納することができる。
【0183】
他の実施形態は、本明細書に記載の方法の1つを実行するためのコンピュータプログラムを、機械読み取り可能なキャリア又は非一過性の記憶媒体に格納したものを含む。
【0184】
言い換えると、本発明の方法の実施形態は、それ故に、コンピュータプログラムがコンピュータ上で実行されるときに、本明細書に記載の方法の1つを実行するためのプログラムコードを有するコンピュータプログラムである。
【0185】
それ故に、本発明の方法の更なる実施形態は、本明細書に記載の方法の1つを実行するためのコンピュータプログラムをその上に記録されているデータキャリア(又はデジタル記憶媒体、又はコンピュータ読み取り可能な媒体)である。
【0186】
それ故に、本発明の方法の更なる実施形態は、本明細書に記載された方法の1つを実行するためのコンピュータプログラムを表すデータストリーム又は信号のシーケンスである。データストリーム又は信号のシーケンスは、例えば、データ通信接続、例えばインターネットを介して転送されるように構成されてもよい。
【0187】
更なる実施形態は、本明細書に記載された方法の1つを実行するために構成される又は適応される処理手段、例えばコンピュータ、又はプログラマブルロジックデバイスを含む。
【0188】
更なる実施形態は、本明細書に記載された方法の1つを実行するためのコンピュータプログラムをその上にインストールしたコンピュータを含む。
【0189】
いくつかの実施形態では、プログラマブルロジックデバイス(例えば、フィールドプログラマブルゲートアレイ)を使用して、本明細書に記載の方法の機能性の一部又は全部を実行してもよい。いくつかの実施形態では、フィールドプログラマブルゲートアレイは、本明細書に記載の方法の1つを実行するためにマイクロプロセッサと協働してもよい。一般に、当該方法は、任意のハードウェア装置によって実行されることが好ましい。
【0190】
上述した実施形態は、本発明の原理について単に例示したに過ぎない。本明細書に記載された配置及び詳細の修正及び変形は、当業者には明らかであることが理解される。それ故に、独立請求項によってのみ限定され、本明細書における実施形態の説明及び解説によって提示される特定の詳細によって限定されないことが意図される。