(57)【特許請求の範囲】
【請求項１】
メディア受信機デバイス上で実行されているウォーターマーククライアントが、ブロードキャストストリームからのウォーターマークデータに関係するデータへのアクセスを管理するための方法であって、
前記メディア受信機デバイスにおいて、ブロードキャストチャネルからブロードキャストストリームを受信するステップと、
前記メディア受信機デバイスのプロセッサによって、前記受信されたブロードキャストストリーム内のウォーターマークデータを識別するステップと、
前記プロセッサによって、前記識別されたウォーターマークデータに基づいてデータを取得するステップと、
前記プロセッサによって、前記メディア受信機デバイス上で実行されている常駐アプリケーションから、前記取得されたデータを求める要求を受信するステップと、
前記プロセッサによって、前記常駐アプリケーションのオリジンが、前記ブロードキャストストリームの前記ウォーターマークデータに示されるURLに対応するかどうかを判断すること、
前記プロセッサによって、前記常駐アプリケーションが前記ブロードキャストストリームの受信をトリガしたかどうかを判断すること、または
前記プロセッサによって、前記常駐アプリケーションに関連する記憶されたアプリケーションマニフェストが、前記ブロードキャストストリームとの何らかの関係を示すかどうかを判断すること
のうちの1つまたは複数によって、前記プロセッサによって、前記常駐アプリケーションが前記取得されたデータにアクセスする資格を有するかどうかを判断するステップと、
前記プロセッサによって、前記常駐アプリケーションが前記取得されたデータにアクセスする資格を有するとの判断に応答して、受付けメッセージまたは前記取得されたデータの少なくとも1つを前記常駐アプリケーションに提供するステップと
を含む方法。
【請求項２】
前記メディア受信機デバイス上で実行されている常駐アプリケーションから、前記取得されたデータを求める要求を受信するステップは、
前記プロセッサによって、前記ブロードキャストストリームへの接続をセットアップすることを求める前記常駐アプリケーションからの要求を受信するステップと、
前記プロセッサによって、前記受信された要求に応答して、前記ブロードキャストストリームへの接続を確立するステップであって、ブロードキャストチャネルからの前記ブロードキャストストリームが、前記確立された接続を介して受信される、ステップと
を含む、請求項1に記載の方法。
【請求項３】
前記プロセッサによって、前記受信されたブロードキャストストリーム内の前記ウォーターマークデータを識別したことに応答して、前記常駐アプリケーションにイベントを伝搬するステップ
をさらに含む、請求項2に記載の方法。
【請求項４】
前記常駐アプリケーションが前記取得されたデータにアクセスする資格を有するかどうかを判断するステップは、
前記プロセッサによって、記憶されたホワイトリストに基づいて、前記常駐アプリケーションが前記取得されたデータにアクセスする資格を有するかどうかを判断するステップ
をさらに含み、および、任意選択で、
前記プロセッサによって、前記常駐アプリケーションが前記取得されたデータにアクセスする資格を有するとの判断に応答して、前記常駐アプリケーションがブロードキャストストリームに関係するデータを受信する資格を有することを示すように、ホワイトリストを更新するステップをさらに含む、請求項1に記載の方法。
【請求項５】
前記メディア受信機デバイスのプロセッサによって、ブロードキャストストリームへの接続をセットアップすることを求める常駐アプリケーションからの要求を受信するステップと、
前記プロセッサによって、前記受信された要求に応答して、前記ブロードキャストストリームへの接続を確立するステップと、
前記プロセッサによって、前記受信されたブロードキャストストリーム内の前記ウォーターマークデータを識別したことに応答して、前記常駐アプリケーションにイベントを伝搬するステップと、
を含む、請求項1に記載の方法。
【請求項６】
前記プロセッサによって、前記常駐アプリケーションが前記取得されたデータにアクセスする資格を有するとの判断に応答して、前記常駐アプリケーションがブロードキャストストリームに関係するデータを受信する資格を有することを示すように、ホワイトリストを更新するステップをさらに含む、請求項1に記載の方法。
【請求項７】
前記プロセッサによって、ホワイトリストに対してクリーンアップを実行するステップをさらに含む、請求項1に記載の方法。
【請求項８】
前記プロセッサによって、前記常駐アプリケーションが前記取得されたデータにアクセスする資格を有しないとの判断に応答して、前記常駐アプリケーションに否認メッセージを提供するステップ
をさらに含む、請求項1または5に記載の方法。
【請求項９】
メディア受信機デバイスであって、
ブロードキャストストリームを受信するように構成されたネットワークインターフェースと、
前記ネットワークインターフェースに結合され、
ブロードキャストチャネルからブロードキャストストリームを受信することと、
前記受信されたブロードキャストストリーム内のウォーターマークデータを識別することと、
前記識別されたウォーターマークデータに基づいてデータを取得することと、
前記メディア受信機デバイス上で実行されている常駐アプリケーションから、前記取得されたデータを求める要求を受信することと、
前記常駐アプリケーションのオリジンが、前記ブロードキャストストリームの前記ウォーターマークデータに示されるURLに対応するかどうかを判断すること、
前記常駐アプリケーションが前記ブロードキャストストリームの受信をトリガしたかどうかを判断すること、または
前記常駐アプリケーションに関連する記憶されたアプリケーションマニフェストが、前記ブロードキャストストリームとの何らかの関係を示すかどうかを判断すること
のうちの1つまたは複数によって、前記常駐アプリケーションが前記取得されたデータにアクセスする資格を有するかどうかを判断することと、
前記常駐アプリケーションが前記取得されたデータにアクセスする資格を有するとの判断に応答して、受付けメッセージまたは前記取得されたデータの少なくとも1つを前記常駐アプリケーションに提供することと
を含む動作を実行するようにプロセッサ実行可能命令で構成されたプロセッサと
を含むメディア受信機デバイス。
【請求項１０】
前記プロセッサは、前記メディア受信機デバイス上で実行されている常駐アプリケーションから、前記取得されたデータを求める要求を受信することが、
前記ブロードキャストストリームへの接続をセットアップすることを求める前記常駐アプリケーションからの要求を受信することと、
前記受信された要求に応答して、前記ブロードキャストストリームへの接続を確立することであって、ブロードキャストチャネルからの前記ブロードキャストストリームが、前記確立された接続を介して受信される、確立することと
を含むような動作を実行するようにプロセッサ実行可能命令で構成される、請求項9に記載のメディア受信機デバイス。
【請求項１１】
前記プロセッサは、
前記受信されたブロードキャストストリーム内のウォーターマークデータを識別したことに応答して、前記常駐アプリケーションにイベントを伝搬すること
をさらに含む動作を実行するようにプロセッサ実行可能命令で構成される、請求項10に記載のメディア受信機デバイス。
【請求項１２】
前記プロセッサは、前記常駐アプリケーションが前記取得されたデータにアクセスする資格を有するとの判断に応答して、前記常駐アプリケーションがブロードキャストストリームに関係するデータを受信する資格を有することを示すように、ホワイトリストを更新することをさらに含む動作を実行するようにプロセッサ実行可能命令で構成される、請求項9に記載のメディア受信機デバイス。
【請求項１３】
前記プロセッサは、ホワイトリストに対してクリーンアップを実行することをさらに含む動作を実行するようにプロセッサ実行可能命令で構成される、請求項9に記載のメディア受信機デバイス。
【請求項１４】
ネットワークアクセスは、マルチチャネルビデオプログラム配信者から前記ブロードキャストストリームを受信するように構成される、請求項9に記載のメディア受信機デバイス。
【請求項１５】
前記プロセッサは、
前記常駐アプリケーションが前記取得されたデータにアクセスする資格を有しないとの判断に応答して、前記常駐アプリケーションに否認メッセージを提供することと、
前記常駐アプリケーションが前記取得されたデータにアクセスする資格を有するとの判断に応答して、前記常駐アプリケーションに前記取得されたデータを提供することと
をさらに含む動作を実行するようにプロセッサ実行可能命令で構成される、請求項9に記載のメディア受信機デバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願
本出願は、その内容全体が参照によって本明細書に組み込まれる、2015年3月13日に出願された「Permissions Management for Watermarked Data in a Broadcast Environment」という名称の米国仮出願第62/132,766号の優先権の利益を主張する。
【背景技術】
【０００２】
DVB-T、ATSC、eMBMSなどのブロードキャスト通信システムでは、チャネル事業者、ケーブル/衛星会社などのコンテンツのブロードキャスターの干渉なしにコンテンツプロバイダがエンドユーザに情報を直接配信できるようにするために、ウォーターマークデータが使用されることが多い。コンテンツのウォーターマーキングは、送信されるメディア(オーディオまたはビデオ)に情報を埋め込むことを伴う。たとえば、DisneyまたはABCなどのコンテンツプロバイダは、オーバージエアで、または他のブロードキャストプラットフォーム(たとえば、ケーブルもしくは衛星)を介してブロードキャストされるプログラムデータ内に少量の有用なデータを含めることがある。
【発明の概要】
【課題を解決するための手段】
【０００３】
様々な実施形態は、メディア受信機デバイス上で実行されているウォーターマーククライアントが、ブロードキャストストリームからのウォーターマークデータに関係するデータへのアクセスを管理できるようにする方法、およびこの方法を実施するメディア受信機デバイスを含む。様々な実施形態は、ブロードキャストチャネルからブロードキャストストリームを受信するステップと、受信されたブロードキャストストリーム内のウォーターマークデータを識別するステップと、識別されたウォーターマークデータに基づいてデータを取得するステップと、メディア受信機デバイス上で実行されている常駐アプリケーションから、取得されたデータを求める要求を受信するステップと、常駐アプリケーションが取得されたデータにアクセスする資格を有するかどうかを判断するステップとを含み得る。いくつかの実施形態では、メディア受信機デバイス上で実行されている常駐アプリケーションから、取得されたデータを求める要求を受信するステップは、ブロードキャストストリームへの接続をセットアップすることを求める常駐アプリケーションからの要求を受信するステップと、受信された要求に応答して、ブロードキャストストリームへの接続を確立するステップであって、ブロードキャストチャネルからのブロードキャストストリームが、確立された接続を介して受信される、ステップとを含み得る。いくつかの実施形態は、受信されたブロードキャストストリーム内のウォーターマークデータを識別したことに応答して、常駐アプリケーションにイベントを伝搬するステップをさらに含み得る。
【０００４】
いくつかの実施形態では、常駐アプリケーションが取得されたデータにアクセスする資格を有するかどうかを判断するステップは、記憶されたホワイトリストに基づいて、常駐アプリケーションが取得されたデータにアクセスする資格を有するかどうかを判断するステップ、常駐アプリケーションのオリジンがブロードキャストストリームのウォーターマークデータに示されるURLと同じであるかどうかを判断するステップ、常駐アプリケーションがブロードキャストストリームの送信をトリガしたかどうかを判断するステップ、または常駐アプリケーションに関連する記憶されたアプリケーションマニフェストが、ブロードキャストストリームとの何らかの関係を示すかどうかを判断するステップのうちの1つまたは複数を含む。いくつかの実施形態は、常駐アプリケーションが取得されたデータにアクセスする資格を有するとの判断に応答して、常駐アプリケーションがブロードキャストストリームに関係するデータを受信する資格を有することを示すように、ホワイトリストを更新するステップをさらに含み得る。いくつかの実施形態は、ホワイトリストに対してクリーンアップを実行するステップをさらに含み得る。
【０００５】
いくつかの実施形態では、ブロードキャストストリームは、マルチチャネルビデオプログラム配信者からメディア受信機デバイスにおいて受信され得る。いくつかの実施形態では、取得されたデータは、ワイドエリアネットワークまたはブロードバンド接続によって取得され得る。
【０００６】
いくつかの実施形態は、常駐アプリケーションが取得されたデータにアクセスする資格を有しないとの判断に応答して、常駐アプリケーションに否認メッセージを提供するステップと、常駐アプリケーションが取得されたデータにアクセスする資格を有するとの判断に応答して、常駐アプリケーションに取得されたデータを提供するステップとをさらに含み得る。
【０００７】
いくつかの実施形態は、ブロードキャストストリームへの接続をセットアップすることを求める常駐アプリケーションからの要求を受信するステップと、受信された要求に応答して、ブロードキャストストリームへの接続を確立するステップと、ブロードキャストチャネルからブロードキャストストリームを受信するステップと、受信されたブロードキャストストリーム内のウォーターマークデータを識別するステップと、受信されたブロードキャストストリーム内のウォーターマークデータを識別したことに応答して、常駐アプリケーションにイベントを伝搬するステップと、識別されたウォーターマークデータに基づいてデータを取得するステップと、常駐アプリケーションが取得されたデータにアクセスする資格を有するかどうかを判断するステップとを含み得る。いくつかの実施形態では、常駐アプリケーションが取得されたデータにアクセスする資格を有するかどうかを判断するステップは、記憶されたホワイトリストに基づいて、常駐アプリケーションが取得されたデータにアクセスする資格を有するかどうかを判断するステップ、常駐アプリケーションのオリジンがブロードキャストストリームのウォーターマークデータに示されるURLと同じであるかどうかを判断するステップ、常駐アプリケーションがブロードキャストストリームの送信をトリガしたかどうかを判断するステップ、または常駐アプリケーションに関連する記憶されたアプリケーションマニフェストが、ブロードキャストストリームとの何らかの関係を示すかどうかを判断するステップのうちの1つまたは複数を含み得る。いくつかの実施形態は、常駐アプリケーションが取得されたデータにアクセスする資格を有するとの判断に応答して、常駐アプリケーションがブロードキャストストリームに関係するデータを受信する資格を有することを示すように、ホワイトリストを更新するステップをさらに含み得る。いくつかの実施形態は、ホワイトリストに対してクリーンアップを実行するステップをさらに含み得る。いくつかの実施形態では、ブロードキャストストリームは、マルチチャネルビデオプログラム配信者によってメディア受信機デバイスにおいて受信され得る。いくつかの実施形態は、常駐アプリケーションが取得されたデータにアクセスする資格を有しないとの判断に応答して、常駐アプリケーションに否認メッセージを提供するステップと、常駐アプリケーションが取得されたデータにアクセスする資格を有するとの判断に応答して、常駐アプリケーションに取得されたデータを提供するステップとをさらに含み得る。
【０００８】
さらなる実施形態は、ブロードキャストストリームを受信するように構成されたネットワークインターフェースと、上記で要約した方法の動作を実行するようにプロセッサ実行可能命令で構成されたプロセッサとを有するメディア受信機デバイスを含み得る。
【０００９】
本明細書に組み込まれ、本明細書の一部を構成する添付図面は、様々な実施形態を示し、上記の一般的な説明および下記の詳細な説明とともに、本発明の特徴を説明するのに役立つ。
【図面の簡単な説明】
【００１０】
【図１Ａ】ブロードキャストシステムにおけるデータの簡略化された実施形態通信の図である。
【図１Ｂ】ブロードキャストシステムにおけるデータの実施形態通信の図である。
【図１Ｃ】ブロードキャストシステムにおけるデータの実施形態通信の図である。
【図２】様々な実施形態で使用するのに適した実施形態ブロードキャスト通信システムである。
【図３】いくつかの実施形態による、メディア受信機デバイス上で実行されているウォーターマーククライアントと常駐アプリケーションとの間の通信を示す呼フロー図である。
【図４】メディア受信機デバイスのプロセッサ上で実行されているウォーターマーククライアントが、ブロードキャストストリームのウォーターマークに関係する取得されたデータをローカルアプリケーションに提供するための実施形態方法を示すプロセスフロー図である。
【図５】メディア受信機デバイスのプロセッサ上で実行されているウォーターマーククライアントが、ブロードキャストストリームのウォーターマークに関係する取得されたデータをローカルアプリケーションに提供するための実施形態方法を示すプロセスフロー図である。
【図６】一実施形態において使用するのに適したメディア受信機デバイスの構成要素ブロック図である。
【発明を実施するための形態】
【００１１】
添付の図面を参照しながら、様々な実施形態について詳細に説明する。可能な場合はいつでも、同じまた同様の部分を指すために、図面全体を通して同じ参照番号が使用される。具体的な例および実装形態への言及は説明のためであり、本発明の範囲または特許請求の範囲を限定するものではない。
【００１２】
様々な実施形態は、メディア受信機デバイスにおけるデータへの常駐アプリケーションのアクセスを管理するための許可ポリシーを形成するために、ブロードキャストストリームからのウォーターマークデータを活用する。様々な実施形態では、メディア受信機デバイス上で実行されているウォーターマーククライアントは、ウォーターマークデータに関係するデータにアクセスし得る、同じくメディア受信機デバイス上で実行されている常駐アプリケーションを決定することができる。たとえば、ウォーターマークデータからのURLを使用して、ウォーターマーククライアントは、ウォーターマークデータおよび/またはウォーターマークデータからのURLを使用して、もしくはかかるURLに基づいてリモートソースから取得されたデータへのアクセスを有し得る常駐アプリケーションを決定することができる。
【００１３】
「実施形態」という語は、本明細書において、「例、実例、または例証としての役割を果たすこと」を意味するために使用される。本明細書で「実施形態」として説明するいかなる実装形態も、必ずしも他の実装形態よりも好ましいか、または有利であると解釈されるべきではない。
【００１４】
「コンピューティングデバイス」という用語は、本明細書において、少なくとも1つのプロセッサを備えた電子デバイスを指すために使用される。コンピューティングデバイスの例としては、モバイルデバイス(たとえば、セルラー電話、ウェアラブルデバイス、スマートフォン、ウェブパッド、タブレットコンピュータ、インターネット対応セルラー電話、Wi-Fi(登録商標)対応電子デバイス、携帯情報端末(PDA)、ラップトップコンピュータなど)、パーソナルコンピュータ、セットトップボックス、およびサーバコンピューティングデバイスがあり得る。様々な実施形態では、コンピューティングデバイスは、メモリまたはストレージならびにワイドエリアネットワーク(WAN)接続(たとえば、セルラーネットワーク接続など)および/またはローカルエリアネットワーク(LAN)接続(たとえば、Wi-Fi(登録商標)ルータなどを介したインターネットへのワイヤード/ワイヤレス接続)を確立するように構成されたネットワークトランシーバおよびアンテナなどのネットワーキング機能で構成され得る。一般に、「サーバ」という用語は、マスタ交換サーバ、ウェブサーバ、メールサーバ、ドキュメントサーバ、およびサーバ機能を実行するようにソフトウェアで構成されたパーソナルまたはモバイルのコンピューティングデバイス(たとえば、「ライトサーバ」)など、サーバとして機能することが可能な任意のコンピューティングデバイスを指すために使用される。サーバは、専用コンピューティングデバイスであっても、または(たとえば、コンピューティングデバイスにサーバとして動作させ得るアプリケーションを実行する)サーバモジュールを含むコンピューティングデバイスであってもよい。サーバモジュール(または、サーバアプリケーション)は、全機能搭載サーバモジュールであっても、またはライトサーバモジュールもしくはセカンダリサーバモジュール(たとえば、ライトサーバアプリケーションもしくはセカンダリサーバアプリケーション)であってもよい。
【００１５】
「メディア受信機デバイス」という用語は、本明細書において、たとえばマルチチャネルビデオプログラム配信者(たとえば、ケーブル、衛星プロバイダなど)からブロードキャストプログラムストリームを受信するように構成されたコンピューティングデバイスを指すために使用される。メディア受信機デバイスは、様々な常駐アプリケーションと着信ブロードキャストストリームおよびブロードキャストストリーム内のウォーターマークデータを処理するように構成されたウォーターマーククライアントとを少なくとも実行するように構成され得る。エンドユーザのメディア受信機デバイス上で実行されているそのようなウォーターマーククライアントは、ブロードキャストストリームからウォーターマークデータを抽出し、そのウォーターマークデータを使用して、メディアとのエンドユーザ対話性を可能にすることができる。たとえば、セットトップボックス受信機デバイスまたはスマートTV受信機デバイスは、ウォーターマーククライアントを使用して、テレビ番組に関係するURLを、番組と組み合わせて表示される対応するウェブサイトからデータを取り出すために識別し、それによって視聴者のエクスペリエンスを拡大することができる。実施形態メディア受信機デバイスは、図6に示されている。
【００１６】
デジタルウォーターマーキングは、(たとえば、ソースメディアのひずみに起因して)エンドユーザエクスペリエンスに著しい影響を与えることなく、ビデオまたはオーディオなどのメディアに情報を埋め込む成熟した方法である。ウォーターマーキングは、ブロードキャスター(たとえば、ケーブルプロバイダ、衛星プロバイダなど)の介入なしに対話性を可能にする、エンドユーザ(たとえば、テレビ視聴者)に情報を直接提供できることがコンテンツプロバイダ(たとえば、Disney、ABC、CBSなど)の間で望まれているので、ブロードキャストコンテンツの領域で特に関心が持たれている。ウォーターマークデータは、リモートサーバからの関連/補助コンテンツのダウンロードの開始など、メディア受信機デバイスにおけるアクションを引き起こすトリガとして効果的に使用され得る。たとえば、ブロードキャストされているフットボールゲーム内のウォーターマークデータが、通常ならばサイズのせいでブロードキャスト信号を介して送信できないファンタジーフットボールに関する統計フィードを取り出すために使用され得るURLを含む場合がある。ブロードキャスターは、トランスコーディングなど、標準的なブロードキャスティング動作中に、コンテンツプロバイダからのプログラムデータ内にデジタル的に埋め込まれたウォーターマークを含めることができる。たとえば、データを有するオーバーヘッドチャネルが、ブロードキャスターによって調整されるか、または取り除かれることがある。したがって、ブロードキャスターを介したブロードキャストストリーム以外のデータソースにデバイスを向けるウォーターマークデータは、コンテンツプロバイダにとって魅力的である。
【００１７】
ウォーターマーキングは一般に、情報送信のための低スループット機構と考えられる。これは、メディアの変更を最小限に抑えたいという望みに起因する。ウォーターマーキングを介した情報埋込みは、画像における最下位ビット操作またはオーディオにおける位相符号化など、いくつかの異なる機構を通じて発生し得る。ただし、実質的影響として、情報スループットは一般に1kbps未満に限定される。結果として、ブロードキャストコンテンツにおける埋め込まれたウォーターマークは、メディア受信機デバイスが、高速インターネット接続を介してウェブサーバからデータをダウンロードすることなどによって、ブロードバンド接続を介して追加コンテンツを取り出すことができるハイパーリンクであることが多い。
【００１８】
図1Aは、通常のブロードキャストシステムの構成要素からのウォーターマークデータを含むデータの実施形態通信フロー100を示す。コンテンツプロバイダに関連するサーバなどのコンテンツソースデバイス102は、オーディオ/ビジュアルフィードおよび関連情報103aとメタデータ103bとをウォーターマークインサータモジュール104に送信し得る。ウォーターマークインサータモジュール104は、デバイス、および/またはデバイスによってサポートされるか、もしくはコンテンツソースデバイス102および/もしくはブロードキャスターデバイス106(たとえば、ブロードキャスティングサーバなど)内などのデバイス内に含まれる回路、論理、ソフトウェアなどであり得る。
【００１９】
ウォーターマークインサータモジュール104は、ブロードキャストストリーム内にウォーターマークデータを挿入し、これらのウォーターマーク入りストリーム105をブロードキャスターデバイス106(すなわち、マルチチャネルビデオプログラム配信者デバイス(MVPD)、システム、ネットワーク、またはプラットフォーム)に提供することができる。ブロードキャスターデバイス106は、1つまたは複数のメディア受信機デバイス108によって受信されるウォーターマーク入りコンテンツを有するストリーム107をブロードキャストし得る。ブロードキャストストリーム107は、ブロードキャストサーバ106によって受信されたウォーターマーク入りデータストリーム105と同じコンテンツを含み得るが、ブロードキャストするためにさらにフォーマットおよび/またはタイムスタンプされ得る。そのようなストリーム107は、様々なMVPDルートを介した効率的かつ正確な送信のために圧縮および/またはさもなければ処理され得る。
【００２０】
メディア受信機デバイス108は、受信されたブロードキャストストリームを処理することができ、ウォーターマークデータを含む解凍されたオーディオおよび/またはビデオフィード109をメディア受信機デバイス108の様々な構成要素に中継することができる。一般に、解凍されたオーディオ/ビデオ情報109からのデジタルウォーターマークデータは、コンテンツソースデバイス102のコンテンツプロバイダが発生させたコンテンツのストリーム107を受信したメディア受信機デバイス108上で実行されているウォーターマーククライアント110によって解釈され得る。ウォーターマーククライアント110は、埋め込まれたウォーターマークデータを解釈し、ブロードキャストストリーム107からのメディアを、受信機ベースのレンダラおよび/またはメディア受信機デバイス108の他の構成要素に渡すように構成され得る。
【００２１】
一般に、ブロードキャストストリーム107内の情報(たとえば、ウォーターマークデータなど)は、次の2つの方法でメディア受信機デバイス108において処理され得る。(1)(図1Bに示す)データを解釈するように構成されたメディア受信機デバイス108上に常駐しているアプリケーションに直接渡される、または(2)(図1Cに示す)サーバからコンテンツに関係するさらなる情報(すなわち、メタデータ)を取り出すためにウォーターマーククライアント110によって活用される。特に、図1Bは、メディア受信機デバイス108において受信されたウォーターマークデータが、常駐アプリケーションによって直接使用され得るデータを含む、ブロードキャストシステムにおけるデータの実施形態通信を示す。
【００２２】
図1Cは、メディア受信機デバイス108において受信されたウォーターマークデータが、URLまたは他のデータなどの常駐アプリケーションによって使用可能なデータを取得するためにリモートサーバ190に送信され得るコードを含む、ブロードキャストシステムにおけるデータの実施形態通信を示す。
【００２３】
スマートTVなどのブロードバンド能力を有するブロードキャスト対応受信機の場合、ブロードバンド能力は、断続的な接続またはエンドユーザがブロードバンド接続を適切に構成することができないことなどの要因により、常に存在するとは限らない。結果として、ウォーターマーキングを介して運ばれる埋め込まれたデータ(またはブロードキャストストリーム内のウォーターマークデータ)は、ブロードキャスト接続によって取り出され得る情報の量が限られていることがある。これは、メディア受信機デバイスに常駐するアプリケーションが、ウォーターマーククライアントによって取り出されたウォーターマーク関連データにアクセスする場合のあらゆるポリシーを含む。
【００２４】
スマートTVなどのブロードキャスト対応メディア受信機デバイスは、サードパーティのアプリケーションのインストールが可能である多くの他のコンピューティングデバイスに似始めている。場合によっては、メディア受信機デバイスは、ウェブランタイムエンジン(たとえば、LGEのWebOS TV、ComcastのRDK、およびSamsungのTizen OS)によって駆動され得る。したがって、ウォーターマーククライアントから情報を取り出すためにも、アプリケーションオリジンに基づいてデータアクセスするためにウェブパラダイムを活用することが可能である。
【００２５】
しかしながら、常駐アプリケーションの許可および/またはアクセスを参照することにより、ウォーターマークデータおよび/またはウォーターマークデータを介して取得されるデータへのアクセスが管理される方法は、明確ではないことがある。言い換えれば、ウォーターマーククライアントからデータを受信する資格を有するメディア受信機デバイス上の常駐アプリケーションを決定するための明確なセキュリティモデルがないことがある。たとえば、フットボールのウェブサイトからの統計(「stats」)フィードが、フットボールゲームのブロードキャストストリーム内のURLを識別したことに応答して取得されるとき、ウォーターマーククライアントは、メディア受信機デバイス上のフットボールアプリケーションがそのstatsフィードにアクセスすべきかどうかを識別するためにいくつかのアクセス制御ポリシーを必要とし得る。
【００２６】
様々な実施形態は、メディア受信機デバイスにおけるデータへの常駐アプリケーションのアクセスを管理するための許可ポリシーを形成するために、ブロードキャストストリームからのウォーターマークデータを活用するための方法、デバイス、システム、および非一時的プロセス可読記憶媒体を提供する。特に、メディア受信機デバイス上で実行されているウォーターマーククライアントは、ウォーターマークデータに関係するデータにアクセスすることができるか、またはアクセスすることを承認されている、同じくメディア受信機デバイス上で実行されている常駐アプリケーションを決定するように構成され得る。たとえば、ウォーターマークデータからのURLを使用して、ウォーターマーククライアントは、ウォーターマークデータおよび/またはウォーターマークデータからのURLを使用して、もしくはかかるURLに基づいてリモートソースから取得されたデータへのアクセスを有し得る常駐アプリケーションを決定することができる。実施形態技法の、同様のソリューション(たとえば、OMA DM)と比較した場合の主な利点は、明示的な許可ポリシーがウォーターマーククライアントによって送られる必要も取り出される必要もないことである。たとえば、ウォーターマーククライアントは、単にブロードキャストチャネルを介してウォーターマークデータを活用することによって、常駐アプリケーションのためのアクセスポリシーを構築し維持することができる。これは、ブロードキャストインターフェースの限定的スループットおよび/またはコンテンツプロバイダとブロードキャスターとの間の直接的なビジネス関係の欠如を仮定すると、ブロードキャストチャネルを介してアプリケーション固有のポリシーを送ることは現実的ではないことがあるので、有益であり得る。
【００２７】
様々な実施形態では、ウォーターマーククライアントは、常駐アプリケーションをウォーターマークデータ、URL、および/またはアクセス許可を示し得る他の情報(すなわち、「ホワイトリスト」データ)に結び付ける記憶されたデータを利用し得る。たとえば、ホワイトリストは、ブロードキャストプログラムからウォーターマークデータ内で送信され得るURLに対応するものとして、様々なアプリケーションを記載したテーブルを含み得る。ウォーターマーククライアントがますます多くのデータ(たとえば、URL)を識別するにつれて、ウォーターマーククライアントが、関連データにアクセスする資格を有する常駐アプリケーションに関連するホワイトリストにさらなる許可を追加することができるように、「ホワイトリスティング」がウォーターマーククライアントによって循環ベースで(on a rolling basis)実行され得る。
【００２８】
いくつかの実施形態では、ウォーターマークがURLを表す場合、オリジンは常駐アプリケーションと合致することができる。このオリジンは、以前送られたウォーターマークから導出されたオリジンのホワイトリストに追加され得る。別の実施形態では、メディアストリームにアクセスするためにダウンロードアクションを開始またはトリガするアプリケーションが、それらのオリジンをホワイトリストに追加することもできる。いくつかの実施形態では、ウォーターマーククライアントは、ブロードキャストストリーム、コンテンツプロバイダなどへの接続を示すデータを含み得るアプリケーションマニフェストに基づいて、ウォーターマークデータに関係するデータを取得するための常駐アプリケーションの資格を識別することができる。いくつかの実施形態では、ウォーターマーククライアントは、常駐アプリケーションとウォーターマークデータおよび/またはブロードキャストストリームとの間のつながりを、開発者、コンテンツプロバイダの識別情報、および/またはアプリケーションとブロードキャストストリームとの間で同様である親会社に基づいて推測することができる。たとえば、ホワイトリストは、ウォーターマークデータの実際の情報によって、その情報がメディアとのエンドユーザ対話性を高めることを意図したものである場合でも、推測され得る。言い換えれば、ウォーターマークデータからのコンテキストが、許可ポリシーおよびホワイトリストの更新を解釈するために使用され得る。
【００２９】
いくつかの実施形態では、ウォーターマーククライアント110は、新たに受信されたかもしくは着信したウォーターマークデータおよび/または関連する取得されたデータへのアクセスを有するメディア受信機デバイス上のすべての常駐アプリケーションを識別し通知するように構成され得る。いくつかの実施形態では、ウォーターマーククライアント110は、関連するウォーターマークデータおよび/または取得されたデータの受信を示す通知を受信するために様々な常駐アプリケーションが加入し得る加入サービスを利用し得る。
【００３０】
様々な実施形態では、ウォーターマーククライアントは通常、100ビット/秒程度の低スループットのビットストリームを受信し得る。したがって、OMA DMシステムを通じて取得される場合と同様のアプリケーション許可ポリシーをウォーターマークデータが含むことは、不可能ではなくても可能性が低い。
【００３１】
ハイパーリンクのホワイトリスティングに関しては、低スループットを仮定すると、埋め込まれたウォーターマークデータがURLを含む可能性が高い。この場合、アクセスの許可を決定するために任意の受信機ベースのアプリケーションオリジンと照合するために、そのようなURLのオリジンが使用され得る。ハイパーリンクの信頼性に関しては、埋め込まれたウォーターマークデータに関連する低スループットを仮定すると、ウォーターマーキングペイロードデータに冗長性を加えるのは可能ではないことがある。通常、埋め込まれたウォーターマークデータは、コンテンツ対話性に関連付けられることがあり、多くの場合、この対話性に関係する情報を取り出すために、ブロードバンド接続(存在することも存在しないこともある)が必要とされ得る。結果として、誤りを有するペイロードデータをウォーターマーククライアントが取り出した場合、実際のマルチメディアサービスは、エンドユーザの観点からは低下しないことがある。しかしながら、URLのホワイトリスティングはセキュリティ上の意味合いを有することがあり、誤り防止が弱い、または存在しないことは、十分ではないことがある。
【００３２】
いくつかの実施形態では、メディア受信機デバイスは、着信ウォーターマークデータに基づいてホワイトリストを維持するためのアルゴリズム(たとえば、動作のシーケンス)を実行し得る。無線リンク品質測定値がメディア受信機デバイスのモデムから入手可能である場合、これは、誤り防止がない場合に信頼性を判断するための基準として使用され得る。これは、セルラー通信の初期まで遡る既知の概念と同様であり得る。そのような情報が入手可能である場合、それはメディア受信機デバイスによって活用され得る。いくつかの実施形態では、以下のアルゴリズム/動作が、事前指定された持続時間にわたる冗長性および冗長性の下限(整数値)Lを確認するために、ウォーターマーククライアントによって実行され得る。
1)WL[]と示される、空のURLホワイトリスト配列で始める。また、候補オリジンの配列WC_Cand[]を維持する。WC_Cand[]のサイズは動的であってよく、所与の時点におけるエントリの数がi(t)によって表される。
2)ウォーターマーククライアントは、ウォーターマークペイロードデータを対象として着信メディアを監視する。ペイロードデータがハイパーリンクを含む場合、動作3に進む。含まない場合、動作2における、ウォーターマークペイロードデータを対象とする着信メディアの監視を続ける。
3)埋め込まれたハイパーリンクが、時間tに正常に検出された場合、オリジン(t)として示される。
a)オリジンがWC_Cand{}配列にない場合、オリジンをWC_Cand{}スタックに追加する。WC_cand[i]={origin(t), t,1}。i=i+1。動作2における、ウォーターマークペイロードデータを対象とする着信メディアの監視に戻る。
b)オリジンがインデックスkにおいてWC_Cand[]配列にすでにある場合、かつΔ≦t-WC_Cand[k,1]およびWC_Cand[k,2]<L-1の場合、WC_Cand[k,2]=WC_Cand[k,2]+1。動作2における、ウォーターマークペイロードデータを対象とする着信メディアの監視に戻る。
c)オリジンがインデックスkにおいてWC_Cand[]配列にすでにある場合、かつΔ≦t-WC_Cand[k,1]およびWC_Cand[k,2]=L-1の場合、WC_Cand[k,0]をオリジンホワイトリストに追加する。WC_Cand[k]を配列から除去し、エントリの数を調整する、すなわち、i(t)=i(t)-1。動作2における、ウォーターマークペイロードデータを対象とする着信メディアの監視に戻る。
4)Δ≧t-WC_Cand[k,1]であるWC_Cand[]配列における任意のエントリを除去し、ここで、kがオリジンインデックスである。
【００３３】
いくつかの実施形態では、メディア受信機デバイスは、URLが繰り返されると仮定して、ウォーターマークデータを介してURLを受信し、受信時のいくつかの異なるコピーの平均を求めることを含む多数決アルゴリズムを実行し得る。
【００３４】
いくつかの実施形態では、上記で説明したアルゴリズムを用いるような、ハイパーリンク信頼性テストは、静止画像の各画素における最下位ビット(LSB)中の埋め込まれたURLウォーターマークデータを利用し得る。そのような場合、静止画像は、それぞれ、メディア受信機デバイスによって表示されたときに、最下位ビットが取り出された場合および/または破損データを含む場合でも、依然として視認可能に見えることがある。いくつかの実施形態では、デバイスは、メディア受信機デバイスに対応する上述の動作および/またはウォーターマークデータを確認するために、様々なシミュレーションを実行するように構成され得る。以下は、1つのそのようなシミュレーションの例である。URL(たとえば、「a.com」)で調節された各画素の最下位ビットとともに80×50画像が送られ得るDVB-Tシステムがシミュレートされ得る。シミュレーションは、外部および内部のDVB-Tコード(たとえば、それぞれ、リードソロモンおよび畳み込み)を使用してビットレベルで行われてよく、ランダムビット誤りが畳み込みエンコーダの出力に追加される。URL「a.com」の復号誤りなどの復号誤りが計算され得る。チャネルビット誤り率が0.1(10%)を割り込むとき、単語検出確率が、反復方法が受信機検出をもたらし得るポイントまで上昇すると想定され得る。
【００３５】
さらなる実施形態は、本明細書で説明する様々な方法の動作を実行するためのプロセッサ実行可能命令で構成されたコンピューティングデバイスを含む。さらなる実施形態は、本明細書で説明する方法の動作をコンピューティングデバイス(たとえば、メディア受信機デバイス)に実行させるように構成されたプロセッサ実行可能命令が記憶されている、非一時的プロセッサ可読媒体を含む。さらなる実施形態は、本明細書で説明する方法の動作を実行するためのプロセッサ実行可能命令で構成されたコンピューティングデバイスを含む通信システムを含む。
【００３６】
図2は、様々な実施形態で使用するのに適した実施形態ブロードキャスト通信システム200を示す。システム200は、少なくとも、ブロードキャストコンテンツ(たとえば、TV番組、スポーツイベントなど)のデータストリームを生成および/または配信するように構成されたコンテンツソースサーバ202と、マルチチャネルビデオプログラム配信者(MVPD)106(たとえば、ケーブル、衛星プロバイダ/ブロードキャスターならびに関連するサーバおよび他の機器)と、ブロードキャストコンテンツのデータストリームを受信および表示するように構成されたメディア受信機デバイス108(たとえば、セットトップボックス、スマートTVなど)とを含み得る。データストリームは、オーディオ/ビジュアルデータならびにウォーターマークデータを含むことができ、接続203aを介してコンテンツソースサーバ202からMVPD106に配信され得る。MVPD106は、メディア受信機デバイス108と接続する様々な同軸または光ファイバーケーブルなどの接続211aを介して、メディア受信機デバイス108にコンテンツのウォーターマーク入りデータストリームを配信し得る。
【００３７】
メディア受信機デバイス108は、プロセッサおよびストレージ/メモリなどの様々な構成要素を含むことができ、さらに、様々な動作、ルーチン、アプリケーション、およびソフトウェア命令を実行するように構成され得る。特に、メディア受信機デバイス108は、着信データストリーム(たとえば、コンテンツソースサーバ202が発生させたプログラムフィード)において受信されたウォーターマークデータを識別、処理および利用するように構成されたアプリケーション、モジュール、論理、および/または他の機能など、少なくともウォーターマーククライアント110を実行するように構成され得る。従来型のシステムによっては、アプリケーション(たとえば、「ホスト」アプリケーション)は、ホストアプリケーションによって制御されるデータまたは機能にアクセスし得るアプリケーションを決定するために動的に更新可能なポリシーを活用し得る他のアプリケーション(たとえば、「クライアント」アプリケーション)のための仲介者として働くことがある。たとえば、オープンモバイルアライアンスのデバイス管理仕様(OMA DM)は、ウォーターマーククライアント110などのアプリケーションが、OMA DMサーバによって提供される管理オブジェクト(MO)と対話することを可能にする。これらのMOは、ウォーターマーククライアント110が埋め込まれたウォーターマークから導出するデータを管理する場合のアクセスポリシーを含むことがある。
【００３８】
メディア受信機デバイス108はさらに、様々なサードパーティに関連する複数の常駐アプリケーション210a〜210nなど、他のソフトウェアまたは命令セットを実行することができる。たとえば、メディア受信機デバイス108は、特定のケーブルチャネル(たとえば、ABC Family、ESPNなど)に関連するアプリケーション(または「アプリ」)をインストールおよび実行するように構成され得る。常駐アプリケーション210a〜210nは、メディア受信機デバイス108上にプレインストールされること、および/またはリモートソースからダウンロードされることがある。いくつかの実施形態では、メディア受信機デバイス108は、常駐アプリケーション210a〜210nおよびウォーターマーククライアント110の通信および実行を制御するために、様々なオペレーティングシステム、スレッド技術、ハイパーバイザ/アービタルーチンもしくはプロセス、および/または他の論理を利用し得る。
【００３９】
いくつかの実施形態では、コンテンツソースサーバ202はまた、接続203bを介して、インターネット140などのワイドエリアネットワークに接続し得る。同様に、様々な他のサーバ250(たとえば、ウェブサーバ、データサーバなど)は、コンテンツソースサーバ202などの様々な他のデバイスとデータおよびシグナリングを交換するために、接続151を介してインターネット140に接続し得る。いくつかの実施形態では、メディア受信機デバイス108は、他のサーバ250などのリモートソースとメッセージングおよびデータを交換するために、インターネット140への接続211b(たとえば、ブロードバンド接続)を利用し得る。たとえば、メディア受信機デバイス108は、MVPD106を介して受信されたプログラムデータストリーム内のウォーターマークデータを取得したことに応答して、他のサーバ250に特定のデータパケットまたはフィードを要求するように構成され得る。一般に、メディア受信機デバイス108におけるブロードバンド接続の存在は、常に可能であるとは限らない。
【００４０】
いくつかの実施形態では、メディア受信機デバイス108のためのブロードバンド接続を構成しないことをエンドユーザが選択した場合、または自宅へのブロードバンドアクセスが断続的であるか、場合によって存在しないマーケットにユーザがいる場合に、接続211bが使用され得る。したがって、様々な実施形態は、接続211aを介したブロードキャスト送信ストリームのみを活用することも活用しないこともある動的な許可管理モデルを提供し得る。いくつかの実施形態では、インターネット140への接続211bは、イーサネット(登録商標)またはWi-Fi(登録商標)ローカルエリアネットワーク接続など、ワイヤードまたはワイヤレスであり得る。
【００４１】
図3は、いくつかの実施形態による、メディア受信機デバイス(たとえば、スマートTVなど)上で実行されているウォーターマーククライアント110と常駐アプリケーション210aとの間の実施形態通信の図300を示す。ウォーターマーククライアント110は、ウォーターマークデータを含む着信ストリーム302(すなわち、ブロードキャストストリーム/データストリーム)を受信し、着信ストリーム302に含まれるあらゆるオーディオ/ビジュアルデータから個々のウォーターマークデータを識別することなど、着信ストリーム302を処理するための動作304を実行することができる。いくつかの実施形態では、ウォーターマークデータは、ウォーターマーククライアント110に別個に提供されることがあり、他の実施形態では、着信ストリーム302は、解凍されたオーディオ/ビデオデータを含み得る。動作304は、着信ストリーム302に関連するウェブサーバまたはデータベースなどのリモートデータソースからデータをダウンロードするために、識別されたウォーターマークデータを利用することを含んでもよい。たとえば、ウォーターマーククライアント110は、着信ストリーム302に示されているフットボールゲームに関係する統計のデータフィードをダウンロードするために、ファンタジーフットボールリーグに関連するウェブサーバにインターネットを介して要求を送信し得る。いくつかの実施形態では、ウォーターマーククライアント110は、着信ストリーム302からのデータ抽出を実行し、情報を記憶し、以下で説明するように記憶されたデータにアクセスするための許可アービトレーション(permissions arbitration)を実行するように構成され得る。
【００４２】
ハイパーテキスト転送プロトコル(HTTP)要求と同様に、常駐アプリケーション210aは、着信ストリーム302に関係するデータを要求する要求メッセージ306をウォーターマーククライアント110に送るように構成され得る。いくつかの実施形態では、要求メッセージ306は、着信ストリーム302内のウォーターマークデータおよび/または動作304の実行に応答してウォーターマーククライアント110によって取得された任意のデータ(たとえば、ウォーターマークデータからのユニフォームリソースロケータ(URL)を使用してダウンロードされたデータ)に対応し得る。
【００４３】
要求メッセージ306に応答して、ウォーターマーククライアント110は、着信ストリーム302に関してウォーターマーククライアント110から任意のデータを受信するための適切な承認または許可を常駐アプリケーション210aが有するかどうかを判断するために、様々な許可チェック308(または許可アービトレーション動作)を実行し得る。たとえば、ウォーターマーククライアント110は、着信ストリーム302および/または関連ウォーターマークデータ(たとえば、URLなど)に関して、承認されたアプリケーションの記憶された「ホワイトリスト」内の識別子と常駐アプリケーション210aの識別子を比較し得る。
【００４４】
許可チェック308に応答して、ウォーターマーククライアント110は、常駐アプリケーション210aがウォーターマーククライアント110からのデータへのアクセスを許容されているか、それとも否認されているかを確認する応答メッセージ310を常駐アプリケーション210aに送信し得る。常駐アプリケーション210aがデータを取り出す許可を有する場合、ウォーターマーククライアント110は、ウォーターマークデータ内で識別された、着信ストリーム302に関連するリモートソースからのダウンロードされたフィードデータなどのデータ312を、常駐アプリケーション210aに送信することもできる。
【００４５】
図4は、メディア受信機デバイスのプロセッサが、ブロードキャストストリームのウォーターマーキング情報に関係するデータへのアクセスを管理し、ウォーターマーキングに関係する取得されたデータを、メディア受信機デバイス上で実行されている複数の常駐アプリケーションのうちの1つまたは複数に提供するための実施形態方法400を示す。様々な実施形態では、方法400の動作の一部または全部は、メディア受信機デバイスのプロセッサ上で実行されているウォーターマーククライアントを介して実行され得る。
【００４６】
ブロック402において、メディア受信機デバイスのプロセッサは、ブロードキャストチャネルからブロードキャストストリームを受信し得る。たとえば、MVPD(たとえば、ケーブルプロバイダ、衛星プロバイダなど)を介して、メディア受信機デバイスは、スポーツイベント、テレビ番組、ニュースなどを示す着信プログラムブロードキャストデータ/ストリームを受信し得る。ブロードキャストストリームは、ワイドエリアネットワークもしくはローカルエリアネットワークに接続されたネットワークインターフェースなどのワイヤードネットワークインターフェースもしくはワイヤレスネットワークインターフェース、またはワイヤレスワイドエリアネットワーク(たとえば、セルラーデータネットワーク)もしくはワイヤレスローカルエリアネットワーク(たとえば、Wi-Fiアクセスポイント)に結合されたワイヤレストランシーバを介して受信され得る。
【００４７】
ブロック404において、メディア受信機デバイスのプロセッサは、受信されたブロードキャストストリーム内のウォーターマークデータを識別し得る。たとえば、メディア受信機デバイスは、必要な場合に、受信されたブロードキャストストリームデータを解凍し、データを分析して、ストリームに含まれるオーディオ/ビジュアルデータからウォーターマークデータを分離することができる。様々な実施形態では、識別されたウォーターマークデータは、様々な常駐アプリケーションによって使用され得るさらなるデータを取得するためにメディア受信機デバイス上のウォーターマーククライアントによって使用され得るウェブサイトアドレス(たとえば、URL)、コード、リンク、ヒント、メッセージ、および/または他の情報を含み得る。たとえば、ウォーターマークデータは、ブロードキャストストリームに関係するデータパケットをダウンロードするためのURLを受信するためにインターネットを介してリモートサーバに送信され得るコードを含み得る。
【００４８】
ブロック406において、メディア受信機デバイスのプロセッサは、識別されたウォーターマークデータに基づいてワイドエリアネットワーク(すなわち、インターネット)を介してデータを取得し得る。たとえば、フットボール番組のウォーターマークデータ内のURLに基づいて、メディア受信機デバイスはそのウォーターマーククライアントを介して、統計データフィードを受信するために、フットボール統計サービスに関係するウェブサーバに要求を送信し得る。
【００４９】
ブロック408において、メディア受信機デバイスのプロセッサは、メディア受信機デバイス上で実行されている常駐(またはローカル)アプリケーションから、取得されたデータを求める要求を受信し得る。たとえば、取得されたデータが常駐アプリケーションにより使用され得ることを示す内部信号、メッセージ、または他の通信が、常駐アプリケーションからウォーターマーククライアントに配信され得る。要求メッセージを受信したことに応答して、メディア受信機デバイスは、ブロック410〜416における以下の判断の任意の組合せを使用して、常駐アプリケーションが取得されたデータを受信する資格を有するかどうかを判断し得る。
【００５０】
コンテンツウォーターマーキングに関連する低い情報スループットに起因して、ウォーターマーククライアントがウェブサーバから情報を直接取り出す場合のURLをコンテンツプロバイダが提供し得ると予想される。特定のブロードキャストチャネルを介して経時的に受信されるそのようなURLは、許容されたオリジンのホワイトリストを形成するために使用され得る。このホワイトリストに基づいて、メディア受信機デバイス上の常駐アプリケーションは、(たとえば、アプリケーションユニフォームリソース識別子(URI)から導出された)アプリケーションオリジンに基づいてウォーターマーククライアントが入手できる情報にアクセスすることもできる。したがって、判断ブロック410において、メディア受信機デバイスのプロセッサは、記憶されたホワイトリストに基づいて、常駐アプリケーションが取得されたデータにアクセスする資格を有するかどうかを判断し得る。特に、ウォーターマーククライアントは、様々な常駐アプリケーションの識別情報をウォーターマークデータ、プログラムデータストリーム、および/またはウォーターマーキング情報を有する着信データに関連する他の属性に関係付けるデータベースまたは他のデータ構造内のエントリを継続的に更新するように構成され得る。たとえば、ウォーターマーククライアントは、共通の開発者またはコンテンツプロバイダの提携に起因して、ウォーターマークデータおよび/またはウォーターマークデータに基づく取得されたデータを受信する資格を有する、受信することを承認されている、かつ/または受信することを許可されていることがすでに知られているすべての常駐アプリケーションのリストを記憶し得る(たとえば、テレビチャネルに関係するアプリケーションは、テレビチャネルのウェブサイトからのダウンロードされたデータにアクセスすることの承認を有し得る、など)。
【００５１】
判断ブロック412において、メディア受信機デバイスのプロセッサは、常駐アプリケーションのオリジンがウォーターマークデータに示されるオリジンと同じ(たとえば、同じURL)であるかどうかを判断し得る。言い換えれば、メディア受信機デバイスは、常駐アプリケーションのオリジンが、受信されたブロードキャストストリームのウォーターマークデータにおいて伝えられたURLと同じであるかどうかを判断し得る。一般に、特定のブロードキャストストリームを表示するために使用される常駐アプリケーションは、そのオリジンをホワイトリストの一部にすることができる。たとえば、メディア受信機デバイス上のインストールされた(または常駐の)アプリケーションは通常、ファイルシステム参照(file system reference)に基づく当該アプリケーションに関連するURL(たとえば、fs://myapp.exe)を有し得る。一般的なウェブパラダイムでは、この種の参照は一意のオリジンとして扱われ得る。ブロック412における判断は、記憶されたホワイトリストに基づいて、常駐アプリケーションが取得されたデータを受信する資格を有しないとの判断(すなわち、判断ブロック410=「No」)に応答して実行され得る。
【００５２】
判断ブロック414において、たとえば、アプリケーションオリジンがブロードキャストストリームのウォーターマークデータにおけるURLと同様ではない、または等しくないとの判断(すなわち、判断ブロック412=「No」)に応答して、メディア受信機デバイスのプロセッサは、アプリケーションがブロードキャストストリームの受信(またはメディア受信機デバイスへの送信)をトリガしたかどうかを判断し得る。インストールされたアプリケーションが、関連する埋め込まれたウォーターマーキングコンテンツ(すなわち、ウォーターマークデータ)を有するブロードキャストメディアストリームのダウンロードをトリガした場合、ウォーターマーククライアントは、そのブロードキャストストリームに関係する任意の関連コンテンツにアクセスする許可を有するものとして、そのアプリケーションを識別する(すなわち、特定のアプリケーションが関連情報の直接アクセスに対する権利を有するという許可ポリシーを使用する)ことができる。そのため、埋め込まれたウォーターマークデータを有する(ブロードキャストチャネルに関連する)ストリームをトリガするか、または呼び出すfs://pathに位置するアプリケーションは常に、埋め込まれたデータにアクセスする許可を有すると想定され得る。file URLは、一意のオリジンと考えられてよく、そのため、この許可は他のアプリケーションには及ばない。たとえば、メディア受信機デバイス上に、(たとえば、提携先を介してオーバージエアで、など)NBC局へのチューニングを始めるよう受信機デバイスに命令した常駐アプリケーションがあるとき、そのアプリケーションは、NBCからのブロードキャストストリームを受信するためのチューニングをトリガしたので、NBCウォーターマークデータに起因して取り出された任意のデータへのアクセスを有し得る。別の例として、ブロードキャストストリームが主にCBS提携先を通じて配信されるサイマルキャスト状況では、メディア受信機デバイス上のCBS Sportsアプリケーションは、CBS提携先へのチューニングを引き起こすためのウォーターマークデータに対する権利を有し得る。言い換えれば、常駐アプリケーションが、ブロードキャストストリームを受信するようメディア受信機デバイスに伝えたとき、そのアプリケーションは、ブロードキャストストリームからのウォーターマークデータに起因してメディア受信機デバイスによって取り出された任意の他のデータに対する権利を有し得る。
【００５３】
判断ブロック416において、メディア受信機デバイスのプロセッサは、アプリケーションがブロードキャストストリームの受信をトリガしていないとの判断(すなわち、判断ブロック414=「No」)に応答して、アプリケーションに関連する記憶されたアプリケーションマニフェストがブロードキャストストリームとの何らかの関係(すなわち、推測されたオリジンおよびオリジンマッピング)を示すかどうかを判断し得る。いくつかの実施形態では、メディア受信機デバイスのオペレーティングシステムは、(ファイルシステム上のロケーション以外の)インストールされた常駐アプリケーションのオリジンの割当てまたは認識をすることもしないこともある。この場合、オリジンは、アプリケーションマニフェストが利用可能である場合に、アプリケーションマニフェストに照会することによって推測され得る。たとえば、ウェブアプリケーションのW3C定義によるマニフェストは、理想的にはアプリケーションのオリジンであり得る「start_URL」を含み得る。さらに、オペレーティングシステムは、ファイルシステムに基づかない、ネットワークロケーションに対応するアプリケーションに、オリジンを割り当てることができる。いくつかの実施形態では、アプリケーションマニフェストは、含まれるURL属性がブロードキャストストリームのウォーターマークデータと比較してどのようであるかを確認するためにウォーターマーククライアントが評価し得るXMLベースのマニフェストであり得る。たとえば、ウォーターマーククライアントは、マニフェストを評価し、含まれるURLをブロードキャストフィードと比較して、類似性があるかどうかを確認することができる。
【００５４】
いくつかの実施形態では、ウォーターマーククライアントによって取得された外部情報に基づいて推測が行われ得る。たとえば、ウォーターマーククライアントは、共通性があるかどうかを判断するために、常駐アプリケーションの識別情報と比較するための、ブロードキャストストリームに関連する様々な識別情報(たとえば、親会社、ドメイン名など)を識別し得る。たとえば、ウォーターマーククライアントは、ESPNアプリケーションがウォーターマークデータまたはABC Familyからウォーターマークデータを使用してダウンロードされたデータにアクセスする許可を有するかどうかを判断するために、ESPNアプリケーションの親会社とABC Familyからのブロードキャストフィードとの間に合致があるかどうかを判断し得る。別の例として、ウォーターマークデータがURL(たとえば、「YYY.com」)を示し、常駐アプリケーションがウォーターマークデータにアクセスしようと試みている「YYY.com」であるとき、ウォーターマーククライアントは、推測される関係、ひいては許可があると判断する可能性が高い。いくつかの実施形態では、1つのコンテンツソース(たとえば、ESPN)から、別のソースを示すウォーターマークデータを含むコンテンツを受信した(たとえば、ウォーターマークがABC.comへ行くようメディア受信機デバイスに伝えた)とき、ウォーターマーククライアントは、依然として関係があると判断し、ABC.comからの関係するダウンロードされた任意のデータにESPNアプリケーションがアクセスするのを許容することができる。
【００５５】
ブロック418において、メディア受信機デバイスのプロセッサは、アプリケーションに関連する記憶されたアプリケーションマニフェストが、ブロードキャストストリームとの関係を示さないとの判断(すなわち、判断ブロック416=「No」)に応答して、アプリケーションに否認メッセージを送信し得る。
【００５６】
ブロック420において、メディア受信機デバイスのプロセッサは、記憶されたホワイトリストに基づいて、アプリケーションが取得されたデータを受信する資格を有するとの判断(すなわち、判断ブロック410=「Yes」)に応答して、またはアプリケーションオリジンがブロードキャストストリームのウォーターマークデータにおけるURLと同様である、もしくは等しいとの判断(すなわち、判断ブロック412=「Yes」)に応答して、またはアプリケーションがブロードキャストストリームの受信をトリガしたとの判断(すなわち、判断ブロック414=「Yes」)に応答して、またはアプリケーションに関連する記憶されたアプリケーションマニフェストが、ブロードキャストストリームとの関係を示すとの判断(すなわち、判断ブロック416=「Yes」)に応答して、アプリケーションがブロードキャストストリームに関係するデータを受信する資格を有することを示すように、ホワイトリストを更新し得る。
【００５７】
ブロック422において、メディア受信機デバイスのプロセッサは、受付けメッセージおよび/または取得されたデータを、資格を有する承認された常駐アプリケーションに送信し得る。
【００５８】
ブロック418または422のいずれかの動作を実行したことに応答して、メディア受信機デバイスのプロセッサは、ブロック424において、不要なエントリ(たとえば、古い、所定の時間枠内にアクセスされていない、など)を除去するなど、ホワイトリストに対してクリーンアップを実行し得る。たとえば、ホワイトリストは動的で、経時的に維持されてよく、オリジンの期限切れはビジネスロジックに基づく(たとえば、埋め込まれたウォーターマークが特定のオリジンをX時間量内に再生しなかった場合、オリジンはホワイトリストから削除される)。メディア受信機デバイスは、ブロック402の受信動作を続けることができる。
【００５９】
図5は、メディア受信機デバイスのプロセッサが、ブロードキャストストリームのウォーターマーキング情報に関係するデータへのアクセスを管理し、ウォーターマーキングに関係する取得されたデータを、メディア受信機デバイス上で実行されている複数の常駐アプリケーションのうちの1つまたは複数に提供するための実施形態方法500を示す。様々な実施形態では、方法500の動作の一部または全部は、メディア受信機デバイスのプロセッサ上で実行されているウォーターマーククライアントを介して実行され得る。
【００６０】
ブロック502において、メディア受信機デバイスのプロセッサは、ブロードキャストストリームへの接続を確立することを求めるアプリケーションからの要求を受信し得る。アプリケーションは、メディア受信機デバイス上で実行されている常駐(またはローカル)アプリケーションであり得る。たとえば、常駐アプリケーションがブロードキャストストリームからデータを取得したいことを示す内部信号、メッセージ、または他の通信が、常駐アプリケーションからウォーターマーククライアントに配信され得る。
【００６１】
ブロック504において、メディア受信機デバイスのプロセッサは、ブロードキャストチャネルを介した要求されたブロードキャストストリームとの接続を確立し得る。たとえば、メディア受信機デバイスのトランシーバ(たとえば、アンテナ)は、リモートサーバ(たとえば、リモートサーバ190ならびに/またはリモートネットワーク上に位置するコンテンツおよびシグナリングサーバ)によってサポートされるブロードキャストチャネルを介した接続を確立し得る。
【００６２】
ブロック402において、メディア受信機デバイスのプロセッサは、ブロードキャストストリームとの接続を確立すると、方法400における同様の番号のブロックに関して説明したように、確立されたブロードキャストチャネルからブロードキャストストリームを受信し得る。
【００６３】
ブロック404において、メディア受信機デバイスのプロセッサは、方法400における同様の番号のブロックに関して説明したように、受信されたブロードキャストストリーム内のウォーターマークデータを識別し得る。
【００６４】
ブロック506において、メディア受信機デバイスのプロセッサは、受信されたブロードキャストストリーム内のウォーターマークデータを識別したことに応答して、要求側の常駐アプリケーションにイベントを伝搬し得る。
【００６５】
ブロック406において、メディア受信機デバイスのプロセッサは、方法400における同様の番号のブロックに関して説明したように、識別されたウォーターマークデータに基づいてワイドエリアネットワーク(すなわち、インターネット)を介してデータを取得し得る。
【００６６】
次いで、メディア受信機デバイスのプロセッサは、方法400における同様の番号のブロックに関して説明したように、ブロック410から424の動作を実行し得る。
【００６７】
パーソナルコンピュータ、モバイルコンピューティングデバイス(たとえば、スマートフォンなど)、サーバ、ラップトップコンピュータなどを含む、様々な形のコンピューティングデバイスが、様々な実施形態を実装するために使用され得る。そのようなコンピューティングデバイスは、通常、少なくとも、例示的なテレビタイプの(たとえば、スマートTV)メディア受信機デバイス108を示す図6に示された構成要素を含む。そのようなメディア受信機デバイス108は、通常、様々なソフトウェア命令、ルーチン、論理、および/または動作(たとえば、アプリケーション、オペレーティングシステムなど)を実行することが可能なプロセッサ601を含み得る。プロセッサ601は、揮発性メモリ602および/または他のストレージもしくはデバイス(たとえば、プロセッサ601に結合されたディスクドライブ、フロッピーディスクドライブ、コンパクトディスク(CD)またはDVDディスクドライブなどの大容量不揮発性メモリなど)に結合され得る。メディア受信機デバイス108は、ブロードキャストストリームを受信するために、インターネットならびに/または他のシステムコンピュータおよびサーバに結合されたローカルエリアネットワークなどのネットワークとデータ接続を確立するための、プロセッサ601に結合された様々なネットワークインターフェース604またはアクセスポートを含む場合もある。ネットワークインターフェース604は、ケーブル612または他の物理接続を介してワイドエリアネットワークまたはローカルエリアネットワークに接続され得る。代替的に、ネットワークインターフェース604は、アンテナ606に結合された、ワイヤレスワイドエリアネットワーク(たとえば、セルラーデータネットワーク)またはワイヤレスローカルエリアネットワーク(たとえば、Wi-Fiアクセスポイント)へのワイヤレス通信リンクを確立するように構成されたワイヤレストランシーバであり得る。ネットワークインターフェース604は、コード612または他の物理接続を利用すること、もしくはさもなければ含むこと、または利用しないこと、もしくはさもなければ含まないことがある。メディア受信機デバイス108はまた、プログラムデータまたは他の情報を表示するためのディスプレイ要素610を含み得る。メディア受信機デバイス108の構成要素601〜602は、バスまたは同様のワイヤード接続もしくはワイヤレス接続を介して相互接続され得る。
【００６８】
本明細書で説明する様々なプロセッサは、本明細書で説明する様々な実施形態の機能を含む、様々な機能を実行するようにソフトウェア命令(アプリケーション)によって構成され得る、任意のプログラマブルマイクロプロセッサ、マイクロコンピュータ、または1つもしくは複数の多重プロセッサチップであり得る。様々なデバイスでは、ワイヤレス通信機能専用の1つのプロセッサおよび他のアプリケーションの実行専用の1つのプロセッサなどの、複数のプロセッサが設けられ得る。典型的には、ソフトウェアアプリケーションは、アクセスされ、プロセッサにロードされる前に、内部メモリに記憶され得る。プロセッサは、アプリケーションソフトウェア命令を記憶するのに十分な内部メモリを含み得る。多くのデバイスでは、内部メモリは、揮発性メモリ、もしくはフラッシュメモリなどの不揮発性メモリ、または両方の組合せであり得る。本明細書では、メモリへの一般的な言及は、内部メモリまたは様々なデバイス内に差し込まれるリムーバブルメモリと、プロセッサ内のメモリとを含む、プロセッサによってアクセス可能なメモリを指す。
【００６９】
上記の方法の説明およびプロセスフロー図は、単に説明のための例として提供されており、様々な実施形態の動作が提示された順序で実施されなければならないことを要求または暗示するものではない。当業者によって諒解されるように、上記の実施形態における動作の順序は、任意の順序で実行され得る。「その後」、「次いで」、「次に」などの言葉は、動作の順序を限定するものではなく、これらの言葉は単に、読者に本方法の説明を案内するために使用される。さらに、たとえば、冠詞「a」、「an」、または「the」を使用する、単数形での請求項の要素へのいかなる言及も、その要素を単数形に限定するものとして解釈されるべきではない。
【００７０】
本明細書で開示する実施形態に関して説明する様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズム動作は、電子ハードウェア、コンピュータソフトウェア、またはその両方の組合せとして実装され得る。ハードウェアおよびソフトウェアのこの互換性を明確に示すために、様々な例示的な構成要素、ブロック、モジュール、回路、および動作が、概してそれらの機能に関して上記で説明された。そのような機能がハードウェアとして実装されるのか、それともソフトウェアとして実装されるのかは、特定の適用例および全体的なシステムに課された設計制約で決まる。当業者は、説明した機能を特定の適用例ごとに様々な方法で実装し得るが、そのような実装決定は、本発明の範囲からの逸脱を引き起こすと解釈されるべきではない。
【００７１】
本明細書で開示する実施形態に関して説明する様々な例示的な論理、論理ブロック、モジュール、および回路を実装するために使用されるハードウェアは、汎用プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)もしくは他のプログラマブル論理デバイス、個別ゲートもしくはトランジスタ論理、個別ハードウェア構成要素、または本明細書で説明する機能を実行するように設計されたそれらの任意の組合せを用いて実装または実行されてもよい。汎用プロセッサはマイクロプロセッサであってもよいが、代替的に、プロセッサは任意の従来のプロセッサ、コントローラ、マイクロコントローラ、またはステートマシンであってもよい。プロセッサはまた、コンピューティングデバイスの組合せ、たとえば、DSPとマイクロプロセッサの組合せ、複数のマイクロプロセッサ、DSPコアと連携した1つもしくは複数のマイクロプロセッサ、または任意の他のそのような構成として実装される場合もある。代替的に、いくつかの動作または方法は、所与の機能に固有の回路によって実行されてもよい。
【００７２】
様々な実施形態では、説明した機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装されてよい。機能は、ソフトウェアで実装される場合、1つまたは複数の命令またはコードとして、非一時的プロセッサ可読、コンピュータ可読もしくはサーバ可読媒体、または非一時的プロセッサ可読記憶媒体上に記憶され、またはその上で送信され得る。本明細書で開示する方法またはアルゴリズムの動作は、非一時的コンピュータ可読記憶媒体、非一時的サーバ可読記憶媒体、および/または非一時的プロセッサ可読記憶媒体上に存在し得る、プロセッサ実行可能ソフトウェアモジュールまたはプロセッサ実行可能ソフトウェア命令において具現化され得る。様々な実施形態では、そのような命令は、記憶されたプロセッサ実行可能命令または記憶されたプロセッサ実行可能ソフトウェア命令であり得る。有形の非一時的コンピュータ可読記憶媒体は、コンピュータによってアクセスされ得る任意の利用可能な媒体であり得る。限定ではなく例として、そのような非一時的コンピュータ可読媒体は、RAM、ROM、EEPROM、CD-ROMもしくは他の光ディスクストレージ、磁気ディスクストレージもしくは他の磁気記憶デバイス、または、命令もしくはデータ構造の形式で所望のプログラムコードを記憶するために使用されコンピュータによってアクセスされ得る任意の他の媒体を備え得る。ディスク(diskおよびdisc)は、本明細書で使用するとき、コンパクトディスク(disc)(CD)、レーザディスク(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピーディスク(disk)、およびブルーレイディスク(disc)を含み、diskは、通常、データを磁気的に再生するが、discは、レーザを用いて光学的にデータを再生する。上記の組合せも、非一時的コンピュータ可読媒体の範囲内に含まれるべきである。加えて、方法またはアルゴリズムの動作は、コンピュータプログラム製品に組み込まれ得る、有形の非一時的プロセッサ可読記憶媒体および/またはコンピュータ可読媒体上のコードおよび/または命令の、1つまたは任意の組合せまたはセットとして存在し得る。
【００７３】
開示した実施形態の前述の説明は、いかなる当業者も本発明を作成または使用することができるように記載されている。当業者には、これらの実施形態の様々な修正形態が容易に明らかになろう。したがって、本発明は、本明細書で示した実施形態に限定されるものではなく、以下の特許請求の範囲、ならびに本明細書で開示する原理および新規の特徴と一致する最も広い範囲が与えられるべきである。
【符号の説明】
【００７４】
100  実施形態通信フロー
102  コンテンツソースデバイス
103a  オーディオ/ビジュアルフィードおよび関連情報
103b  メタデータ
104  ウォーターマークインサータモジュール
105  ウォーターマーク入りストリーム、ウォーターマーク入りデータストリーム
106  ブロードキャスターデバイス、ブロードキャストサーバ、マルチチャネルビデオプログラム配信者(MVPD)
107  ストリーム、ブロードキャストストリーム
108  メディア受信機デバイス
109  解凍されたオーディオおよび/またはビデオフィード、解凍されたオーディオ/ビデオ情報
110  ウォーターマーククライアント
140  インターネット
151  接続
190  リモートサーバ
200  実施形態ブロードキャスト通信システム、システム
202  コンテンツソースサーバ
203a  接続
203b  接続
210a〜210n  常駐アプリケーション
211a  接続
211b  接続
250  他のサーバ
300  図
302  着信ストリーム
304  動作
306  要求メッセージ
308  許可チェック
310  応答メッセージ
312  データ
400  実施形態方法、方法
500  実施形態方法、方法
601  プロセッサ、構成要素
602  揮発性メモリ、構成要素
604  ネットワークインターフェース
606  アンテナ
610  ディスプレイ要素
612  ケーブル
【図１Ａ】
0006630735.tif 000002
【図１Ｂ】
0006630735.tif 000003
【図１Ｃ】
0006630735.tif 000004
【図２】
0006630735.tif 000005
【図３】
0006630735.tif 000006
【図４】
0006630735.tif 000007
【図５】
0006630735.tif 000008
【図６】
0006630735.tif 000009