(57)【特許請求の範囲】
【請求項１】
ローカルディスプレイに接続するコンピュータシステムによって実行可能な方法であって、
前記コンピュータシステムによって実行されるメディアプレーヤーアプリケーションにより、前記ローカルディスプレイに表示されるデジタルメディアコンテンツをキャプチャし、
前記メディアプレーヤーアプリケーションがコピープロテクトされたコンテンツにアクセスしているかを判定し、
前記メディアプレーヤーアプリケーションがコピープロテクトされたコンテンツにアクセスしていない場合には、前記キャプチャしたデジタルメディアコンテンツをメディアストリームに変換し、前記コンピュータシステムから遠隔的に置かれる遠隔ディスプレイ上に表示するために、ネットワークを通じて前記メディアストリームを送信する
ことを含むことを特徴とする前記方法。
【請求項２】
前記メディアプレーヤーアプリケーションがコピープロテクトされたコンテンツにアクセスしている場合には、前記遠隔ディスプレイ上に表示するためのコピープロテクトの警告映像を前記ネットワークを通じて送信することをさらに含むことを特徴とする請求項１記載の方法。
【請求項３】
前記コピープロテクトの警告映像の送信は、前記遠隔ディスプレイ上に表示するためのテキストメッセージの画像を前記ネットワークを通じて送信することを含むことを特徴とする請求項２記載の方法。
【請求項４】
前記コンピュータシステムによって現在実行されている全てのプロセスのリストを前記コンピュータシステムで実行可能なオブジェクトコードにコンパイルし、
前記全てのリストを絞込み、前記コンピュータシステムによって現在実行されているプロセスであり、メディアプレーヤーアプリケーションを含む可能性のあるプロセスについて絞込みリストを生成する
ことをさらに含むことを特徴とする請求項１記載の方法。
【請求項５】
前記判定は、前記絞込みリスト内の各プロセスがコピープロテクトされたデジタルメディアコンテンツにアクセスしているメディアプレーヤーアプリケーションを含むか否かを判定することを含むことを特徴とする請求項４記載の方法。
【請求項６】
前記絞込みは、前記全てのリストからデジタルメディアファイルへのアクセスが可能なあらゆる既知の非プレーヤーのプロセスを除去することを含むことを特徴とする請求項５記載の方法。
【請求項７】
前記絞込みは、少なくとも一部に所定の英数字のグループを含むプロセスファイル名がある場合は、これに基づき、前記全てのリストからどのプロセスを選択するかを判定することを特徴とする請求項５記載の方法。
【請求項８】
前記絞込みは、少なくとも一部に所定のデジタル多目的ディスクを表す「ＤＶＤ」の文字グループを含むプロセスファイル名がある場合には、これに基づき、前記全てのリストからどのプロセスを選択するかを判定することを含むことを特徴とする請求項７記載の方法。
【請求項９】
前記絞込みは、少なくとも一部にデジタルメディア再生をサポートするモジュールを現在使用しているプロセスがある場合は、これに基づき、前記全てのリストからどのプロセスを選択するかを判定することを含むことを特徴とする請求項５記載の方法。
【請求項１０】
前記絞込みは、少なくとも一部に共用ライブラリの１つのタイプを現在使用しているプロセスがある場合には、これに基づき、前記全てのリストからどのプロセスを選択するかを判定することを含むことを特徴とする請求項９記載の方法。
【請求項１１】
前記判定は、
前記メディアプレーヤーアプリケーションが、前記メディアプレーヤーアプリケーションによってサポートされ、デジタル権管理（ＤＲＭ）保護されたコンテンツを含む所定のファイルタイプにアクセスしていれば、確立し、
前記メディアプレーヤーアプリケーションが、前記メディアプレーヤーアプリケーションによってサポートされ、ＤＲＭ保護されたコンテンツを含む所定のファイルタイプにアクセスしていれば、前記メディアストリームの送信をブロックする
ことを特徴とする請求項１記載の方法。
【請求項１２】
前記メディアプレーヤーアプリケーションは、関連するアプリケーションプログラミングインターフェースを有し、前記確立は、前記メディアプレーヤーアプリケーションがＤＲＭ保護されたコンテンツを含むデジタルメディアファイルにアクセスしているかを判定するために、前記アプリケーションプログラミングインターフェースに問い合わせることを含むことを特徴とする請求項１１記載の方法。
【請求項１３】
前記判定は、
デジタル多目的ディスクファイル構造を表すＤＶＤファイル構造の場所を確認し、
前記ＤＶＤファイル構造がコピープロテクトされたコンテンツを含むかを判定するために前記ＤＶＤファイル構造を解析し、
前記ＤＶＤファイル構造がコピープロテクトされたコンテンツを含んでいる場合には、前記メディアストリームの送信をブロックする
ことを含むことを特徴とする請求項１記載の方法。
【請求項１４】
前記解析は、前記ＤＶＤファイル構造がアナログコピー保護を起動する命令を含むかを判定するために、少なくとも前記ＤＶＤファイル構造の一部を解析することを含むことを特徴とする請求項１３記載の方法。
【請求項１５】
前記解析は、
前記ＤＶＤファイル構造内の少なくとも１つのタイトルを選択し、
前記選択されたタイトルがコピープロテクトされたデジタルメディアコンテンツを含むかを判定するために、前記選択されたタイトル内の所定数のチャプター内の少なくともデータの一部を評価する
ことを含むことを特徴とする請求項１３記載の方法。
【請求項１６】
前記解析は、
前記ＤＶＤファイル構造内に含まれるタイトルに関連する情報を探すために、前記ＤＶＤファイル構造を構文解析し、
少なくとも一部はタイトル期間に基づき、コピープロテクトされたデジタルメディアコンテンツに対する検査のために少なくとも１つのタイトルを選択する
ことを含むことを特徴とする請求項１５記載の方法。
【請求項１７】
デジタルメディアコンテンツを、ネットワークを通じて遠隔的に置かれた遠隔ディスプレイに送信するための、コンピュータシステムによって実行可能に記憶されたプログラムを含むコンピュータ読み取り可能な媒体であって、前記媒体から読み出し可能なプログラムは、前記コンピュータを、
前記コンピュータシステムによって実行されるメディアプレーヤーアプリケーションにより、前記コンピュータシステムに関連するローカルディスプレイに表示されるデジタルメディアコンテンツをキャプチャするキャプチャ手段と、
前記キャプチャしたデジタルメディアコンテンツをネットワーク送信可能なフォーマットのメディアストリームに変換する変換手段と、
前記遠隔ディスプレイ上に再生するために、ネットワークを通じて前記メディアストリームを送信する送信手段と、
前記メディアプレーヤーアプリケーションがコピープロテクトされたデジタルメディアファイルにアクセスしているかを判定する判定手段と、
前記メディアプレーヤーアプリケーションがコピープロテクトされたデジタルメディアファイルにアクセスしている場合には、前記メディアストリームの送信をブロックするブロック手段と、
して機能させるためのプレイスシフトプログラムアプリケーションを含む。
【請求項１８】
前記プレイスシフトプログラムアプリケーションは、メディアプレーヤーアプリケーションによって現在アクセスされている前記デジタルメディアコンテンツが、少なくとも（ｉ）前記メディアプレーヤーアプリケーションによってサポートされ、デジタルメディア権管理（ＤＲＭ）保護されたコンテンツを含むデジタルメディアファイル、及び（ｉｉ）コピープロテクトされたコンテンツを含むデジタル多目的ディスクファイル構造を含むグループの中の１つを含む場合には、前記メディアストリームの送信をブロックするようにされに適用されることを特徴とする請求項１７記載の前記プレイスシフトプログラムアプリケーション。
【請求項１９】
デジタルネットワークと遠隔的に置かれる遠隔ディスプレイに連動してデジタルメディアコンテンツをプレイスシフトするためのコンピュータシステムであって、前記コンピュータシステムは、
前記デジタルネットワークへの第１のインターフェースと、
ローカルディスプレへの第２のインターフェースと、
前記第１のインターフェースと前記第２のインターフェースに接続されて動作するプロセッサとを含み、前記プロセッサは、前記ローカルディスプレイ上にデジタルメディアコンテンツを表示する少なくとも１つのメディアプレーヤーアプリケーションを選択的に実行するように構成され、前記プロセッサは、さらに、（ｉ）前記ローカルディスプレイ上に表示される前記デジタルメディアコンテンツの少なくとも一部をキャプチャし、（ｉｉ）前記キャプチャしたデジタルメディアコンテンツをネットワークを通じて送信可能なフォーマットのメディアストリームに変換し、（ｉｉｉ）前記遠隔ディスプレイ上に再生するために、前記メディアストリームをネットワークを通じて送信し、（ｉｖ）前記メディアプレーヤーアプリケーションがコピープロテクトされたデジタルメディアファイルにアクセスしているかを判定し、（ｖ）前記メディアプレーヤーアプリケーションがコピープロテクトされたデジタルメディアコンテンツにアクセスしている場合には、前記メディアストリームの送信をブロックするように構成されることを特徴とするコンピュータシステム。
【請求項２０】
前記プロセッサは、メディアプレーヤーアプリケーションによって現在アクセスされている前記デジタルメディアコンテンツが、少なくとも（ｉ）前記メディアプレーヤーアプリケーションによってサポートされ、デジタルメディア権管理（ＤＲＭ）保護されたコンテンツを含むデジタルメディアファイル、及び（ｉｉ）コピープロテクトされたコンテンツを含むデジタル多目的ディスクファイル構造を含むグループの中の１つを含む場合には、前記メディアストリームの送信をブロックするようにされに構成されることを特徴とする請求項１９記載の前記コンピュータシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
〔関連出願に対する参照〕
この出願は、２００９年８月１３日にインドに出願された外国出願１９９２／ＣＨＥ／２００９号に対して優先権を主張する。この出願は、２００９年１１月２３日に出願された米国特許本出願１２／６２３，９５５号に対しても優先権を主張する。
【０００２】
本明細書は、一般的にコピープロテクトされたデジタルメディアコンテンツのプレイスシフトを選択的に制限するシステム、方法及びプログラムアプリケーションに関する。
【背景技術】
【０００３】
従来は、消費者は、一般的にテレビプログラムや、ネットワーク、放送、ケーブル、または衛星から受信した他のストリームメディアコンテンツを視聴していた。アナログ及びデジタル記録装置（例えば、ビデオカセットレコーダ及びデジタル／パーソナルビデオレコーダ）が流行するに伴い、消費者は、ますますメディアの視聴をより都合のよい視聴時間にシフトすることが可能となった。特に最近では、ある場所から別の場所へと「プレイスシフト（ｐｌａｃｅｓｈｉｆｔ）」してメディアを視聴可能とすることが普及してきている。例えば、カリフォルニア州フォスターシティのスリングメディア社は、現在、スリングボックス（ＳＬＩＮＧＢＯＸ）の商標で、ラップトップコンピュータ、デスクトップコンピュータ、または携帯電話のような表示装置上で、消費者がその表示装置が在る場所と物理的に別の場所に在る受信機から提供されるテレビプログラムを遠隔で視聴することを可能とするプレイスシフト製品を市場に出している。
【０００４】
現在では、デジタルメディアコンテンツは、主に受信機またはレコーダからデジタルネットワークを通じて、パーソナルコンピュータ、無線電話、または他の携帯装置にプレイスシフトされる。しかし、消費者は、インターネットまたは他のネットワークを通じて受信され、コンピュータディスプレイ上で典型的に視聴されるストリームビデオのような、デジタルメディアコンテンツの非伝統的なソースに次第に興味を注ぐようになってきている。さらに、多くの消費者は、今や、ビデオカメラや自身のコンテンツを生成するためのその他の機器を所有している。これらのコンテンツの多くは、パーソナルコンピュータや他のデジタル計算装置上で直ちに視聴されるデジタルフォーマットである。ゆえに、パーソナルコンピュータから遠隔配置されたテレビまたは他のディスプレイにビデオコンテンツをプレイスシフトする性能に対する商用的な需要が増大してきている。しかし、消費者には、パーソナルコンピュータから遠隔に配置されたテレビまたは他の遠隔のディスプレイにビデオコンテンツをプレイスシフトする資格を与えるべきであるか、遠隔に配置されたテレビ上に表示されるビデオコンテンツを、そのテレビと接続されているビデオカセットレコーダ、デジタルビデオレコーダ、または同様の装置を使用して記録することを可能とすることにより、元々はパーソナルコンピュータからのビデオコンテンツについては、全てのコピープロテクト処置を回避させてしまうのか、という懸念が発生する。
【０００５】
このように、不適当なコピーを防止するために、コピープロテクトされたデジタルメディアコンテンツのプレイスシフトを選択的に制限しつつ、デジタルメディアコンテンツがコンピュータシステムから遠隔配置されたテレビまたは他のディスプレイにプレイスシフトされることを可能にするシステム、方法、及びプログラム製品を提供することについて、現在商用的なニーズが存在している。これらの特徴及び特性と他の特徴及び特性とについては、付随図面や前述の背景技術とともに、後述する詳細な実施の形態の記載と添付の請求項によって明らかにされる。
【発明の概要】
【０００６】
コンピュータシステムによって実行可能な方法の実施形態が提供される。ある実施形態においては、前記方法は、前記コンピュータシステムによって実行されるメディアプレーヤーアプリケーションにより、ローカルディスプレイに表示されるデジタルメディアコンテンツをキャプチャし、前記メディアプレーヤーアプリケーションがコピープロテクトされたデジタルメディアコンテンツにアクセスしているかを判定し、前記メディアプレーヤーアプリケーションがコピープロテクトされたデジタルメディアコンテンツにアクセスしていない場合には、前記キャプチャされたデジタルメディアコンテンツをメディアストリームに変換し、遠隔ディスプレイ上に表示するために、前記メディアストリームをネットワークを通じて送信するステップを含む。
【０００７】
コンピュータ読み出し可能な媒体の実施形態がさらに提供される。この媒体は、メディアコンテンツをネットワークを通じて遠隔ディスプレイに送信するための、コンピュータシステムによって実行可能な記憶された命令を含む。ある実施形態においては、前記命令は、前記コンピュータシステムによって実行されるメディアプレーヤーアプリケーションにより、前記コンピュータシステムに関連するローカルディスプレイに表示されるデジタルメディアコンテンツをキャプチャし、前記キャプチャしたデジタルメディアコンテンツをネットワーク送信可能なフォーマットのメディアストリームに変換し、遠隔ディスプレイ上に再生するために、前記メディアストリームをネットワークを通じて送信し、前記メディアプレーヤーアプリケーションがコピープロテクトされたデジタルメディアファイルにアクセスしているかを判定し、前記メディアプレーヤーアプリケーションがコピープロテクトされたデジタルメディアファイルにアクセスしていると判定された場合には、前記メディアストリームの送信をブロックするステップを実行するように適用されたプレイスシフトプログラムアプリケーションを含む。
【０００８】
デジタルネットワークと遠隔ディスプレイに連動するデジタルメディアコンテンツをプレイスシフトするためのコンピュータシステムの実施形態がさらに提供される。ある実施形態においては、前記コンピュータシステムは、前記デジタルネットワークへの第１のインターフェースと、ローカルディスプレイへの第２のインターフェースと、前記第１のインターフェースと前記第２のインターフェースに接続されて動作するプロセッサとを含む。前記プロセッサは、前記ローカルディスプレイ上にデジタルメディアコンテンツを表示する少なくとも１つのメディアプレーヤーアプリケーションを選択的に実行するように構成される。前記プロセッサは、さらに、（ｉ）前記ローカルディスプレイ上に表示される前記デジタルメディアコンテンツの少なくとも一部をキャプチャし、（ｉｉ）前記キャプチャしたデジタルメディアコンテンツをネットワーク送信可能なフォーマットのメディアストリームに変換し、（ｉｉｉ）前記遠隔ディスプレイ上に再生するために、前記メディアストリームをネットワークネットワークを通じて送信し、（ｉｖ）前記メディアプレーヤーアプリケーションがコピープロテクトされたデジタルメディアファイルにアクセスしているかを判定し、（ｖ）前記メディアプレーヤーアプリケーションがコピープロテクトされたデジタルメディアコンテンツにアクセスしている場合には、前記メディアストリームの送信をブロックするようにさらに構成される。
【０００９】
本発明の様々な追加の実施形態、様相、そして他の特徴が以下により詳細に述べられる。
【図面の簡単な説明】
【００１０】
典型的な実施形態については、以下の図面と連動して次に述べられる。同じ符号は、同じ構成要素を示す。
【００１１】
【図１】典型的な実施形態に従った、一般化されたプレイスシフトシステムのブロック図である。
【００１２】
【図２】図１に示されるプレイスシフトシステム内に含まれる典型的なコンピュータシステムのブロック図である。
【００１３】
【図３】図１及び図２に示されるコンピュータシステムによって実施され得る典型的なプロセスを示したフローチャートである。このプロセスは、デジタルネットワーク上や図１に示される遠隔ディスプレイへのコピープロテクトされたデジタルメディアコンテンツの送信を選択的に制限する。
【００１４】
【図４】図３に示す典型的なプロセス中に実行され得る第１の典型的なサブプロセスを示したフローチャートである。このサブプロセスは、メディアプレーヤーアプリケーションが、ＤＲＭ保護されたコンテンツを含むデジタルメディアファイルにアクセスしているかを判断する。
【００１５】
【図５】図３に示す典型的なプロセス中に実行され得る第２の典型的なサブプロセスを示すフローチャートである。このサブプロセスは、メディアプレーヤーアプリケーションが、コピープロテクトされたデジタルメディアコンテンツを含むデジタル多目的ディスクファイル構造にアクセスしているかを判断する。
【００１６】
【図６】メディアプレーヤーアプリケーションがコピープロテクトされたメディアコンテンツに現在アクセスしているかを判断するために、大いに効率的に評価できる現在実行されているプロセスの絞込みリストを生成するための図３に示す典型的なプロセス中に実行され得る典型的なヒューリスティック技術を示したフローチャートである。
【発明を実施するための形態】
【００１７】
以下の詳細な説明は、単なる例を示すものであって、本発明や応用並びに本発明の使用を限定することを意図するものではない。さらに、前述の〔背景技術〕または後述の〔発明を実施するための形態〕において表されるいずれの理論も、発明の範囲を制限するものではない。
【００１８】
図１は、典型的な実施形態に従うパーソナルコンピュータシステム１２を含んだ、デジタルメディア（ＤＭ）プレイスシフトシステム１０を示す。コンピュータシステム１２に加えて、ＤＭプレイスシフトシステム１０は、関連するディスプレイ１８を有するデジタルメディア再生受信機１４（ある文脈においては、「メディアキャッチャ（ｍｅｄｉａ  ｃａｔｃｈｅｒ）」としても参照される）を含む。ディスプレイ１８は、コンピュータシステム１２から遠隔的に置かれる；例えば、ディスプレイ１８とコンピュータシステム１２は、ユーザの家またはオフィスのような単一建造物の異なる部屋に在ってもよく、または、異なる建物に在ってもよい。このような理由から、ディスプレイ１８については、「遠隔配置されたディスプレイ１８」として参照してもよいし、あるいは、ここで、より簡潔に「遠隔ディスプレイ１８」として参照してもよい。ディスプレイ１８と再生受信機１４は、ラップトップコンピュータ、携帯電話、パーソナルディジタルアシスタント等のような単一の電子装置として、完全に一体化されていてもよい。しかし、図１に示すように、遠隔ディスプレイ１８は、１つまたはそれ以上の接続ケーブルを用いて再生受信機１４に接続する従来のテレビまたは独立した画像生成装置の形態を想定することが好ましい。ＤＭプレイスシフトシステム１０の動作中、デジタルメディア再生受信機１４は、下記により完全に述べられるように、コンピュータシステム１２から受信したメディアコンテンツをディスプレイ１８上に視覚的に表示するためのビデオ出力信号２４を遠隔ディスプレイ１８に提供する。再生受信機１４から遠隔ディスプレイ１８に提供されるビデオ出力信号２４は、Ｓビデオ、Ｈｉｇｈ−Ｄｅｆｉｎｉｔｉｏｎ  Ｍｕｌｔｉｍｅｄｉａ  Ｉｎｔｅｒｆａｃｅ  （ＨＤＭＩ）、Ｓｏｎｙ／Ｐｈｉｌｉｐｓ  Ｄｉｓｐｌａｙ  Ｉｎｔｅｒｆａｃｅ  Ｆｏｒｍａｔ  （ＳＦＤＩＦ）、Ｄｉｇｉｔａｌ  Ｖｉｓｕａｌ  Ｉｎｔｅｒｆａｃｅ  （ＤＶＩ）、またはＩＥＥＥ  １３９４規格のような、公知の規格に従ってフォーマットされてもよい。
【００１９】
デジタルネットワーク１６は、コンピュータシステム１２とデジタルメディア再生受信機１４との間の通信を許可する。より具体的には、デジタルネットワーク１６は、遠隔ディスプレイ１８上に再生するために、デジタルメディア再生受信機１４にストリームメディアコンテンツを送信するように、コンピュータシステム１２を動作させる。デジタルネットワーク１６は、このようなコンピュータシステム１２から再生受信機１４へのメディアコンテンツのストリーミング、特に、ビデオコンテンツのストリーミングを可能とする任意の通信ネットワークを含むことができる。デジタルメディア再生受信機１４がコンピュータシステム１２から比較的遠くに置かれた例（例えば、再生受信機１４とコンピュータシステム１２が異なる建物に在る時）においては、ネットワーク１６は、都合のよいことには、任意の数の通信プロトコルをサポートする１つまたはそれ以上の公衆データ接続またはプライベートデータ接続、リンク、またはネットワークを含む。ネットワーク１６は、インターネットやＴＣＰ／ＩＰまたは他の従来のプロトコルに基づく任意の他のネットワークを含むこともできる。前述にも拘らず、ＤＭプレイスシフトシステム１０は、通常は、広域網、ローカルエリアネットワーク、または、図１に示すように、広域網及びローカルエリアネットワークの組み合わせの形態を想定している。例えば、ＤＭプレイスシフトシステム１０が比較的狭い地理的領域（例えば、ユーザの家、オフィスまたは他の建造物）内に実装されるある一般的なケースにおいては、ネットワーク１６は、ＩＥＥＥ  ８０２．３及び／またはＩＥＥＥ  ８０２．１１規格に従う１またはそれ以上のローカルエリアネットワークを含んでもよい。図１に示すネットワーク１６は、システム１０の様々な構成要素間でデータを伝送するための任意のデジタル通信ネットワーク、システム、またはアーキテクチャを広く含むものとして意図されている。
【００２０】
図１に示す典型的な実施形態においては、ＤＭプレイスシフトシステム１０は、デジタルネットワーク１６を通じてコンピュータシステム１２及びデジタルメディア再生受信機１４と通信可能な形態で接続される少なくとも１台のサーバ２７をさらに含む。ある実施形態においては、サーバ２７は、画像、オーディオ、ビデオ及び／または他のコンテンツを提供するために、デジタルメディア再生受信機１４上で実行するブラウザーまたはビューアーアプリケーションと相互作用するように構成される、従来におけるインターネットサーバであることができる。さらなる実施形態においては、サーバ２７は、デジタルメディア再生受信機１４に利用できるように作られる他のコンテンツサーバとリンクするウェブサーバであることができる。そのような実施形態においては、ユーザは、デジタルメディア再生受信機１４に対し、サーバ２７に最初に接続するように命令し、これに続き、デジタルメディア再生受信機１４に対し、サーバ２７によって提供されるハイパーテキストマークアップ言語（ＨＴＭＬ）または他のリンクをたどるように命令する。デジタルメディア再生受信機１４が任意の数のサーバ２８からメディアコンテンツを取得することができるよう、多様な等価な実装にわたって、多くの異なるインターフェースのオプションを利用できる。
【００２１】
必ずしも、とは言えないが、都合のよいことに、デジタルメディア再生受信機１４は、コンピュータシステム１２や場合によってはサーバ２７よりも、他のソースからデジタルメディアを受信する能力がある。例えば、図１に示すように、デジタルメディア再生受信機１４は、ＤＭプレイスシフトシステム１０内に含まれ、ネットワーク１６を通じて再生受信機１４と通信可能に接続される少なくとも１台の追加のプレイスシフト装置２０からのデジタルメディアを選択的に受信してもよい。追加のプレイスシフト装置２０については、典型的には、デジタルメディアコンテンツ（例えば、ビデオ／オーディオデータ）を公知の方法でネットワーク１６上に送信するのに適したパケット化されたフォーマット（例えば、ＭＰＥＧ、ＱＵＩＣＫＴＩＭＥ、ＷＩＮＤＯＷＳ  ＭＥＤＩＡ等）に変換するためのトランスコーダロジックを含んでいる。追加のプレイスシフト装置２０に加えてさらに、または追加のプレイスシフト装置２０の代わりに、ＤＭプレイスシフトシステム１０が、デジタルメディア再生受信機１４と局所的に接続される補助的な記憶装置２２をさらに含むこととしてもよい。補助的な記憶装置２２は、単一の、独立型の電子装置として再生受信機１４と一体化されていてもよい。あるいは、補助的な記憶装置２２は、１つまたはそれ以上の接続ケーブルを用いて再生受信機１４に接続される外部装置を含むことができる。補助的な記憶装置２２は、ディスプレイ１８上に後で再生するために、ユーザがメディアファイル（例えば、ビデオファイル、静止画像、オーディオファイル等）を記憶しておくことのできる、光学ハードディスクドライブ、磁気ハードディスクドライブ、フラッシュメモリドライブ、または同様のメモリ装置であってもよい。
【００２２】
デジタルメディア再生受信機１４は、コンピュータシステム１２から受信したメディアコンテンツを遠隔ディスプレイ１８上に表示するために構成された任意の装置を含んでもよい。これに限定されるものではないが、そのような装置は、任意の種類の携帯型または非携帯型の一般的なコンピュータシステム、パーソナルディジタルアシスタント、携帯電話、テレビゲームシステム、専用メディアプレーヤー等を含んでもよい。スタンドアローンの装置の形態を想定する場合は、再生受信機１４は、通常、メディアストリームを受信してデコードし、そして対応するビデオ及び／またはオーディオ出力信号を遠隔ディスプレイ１８に提供することのできるソフトウェアまたはファームウェアを含む。多くの実施形態においては、デジタルメディア再生受信機１４は、自身の筐体上に配置されるいくつかの物理的な入力装置（例えば、ボタン、スライド、ノブ等）を通じて、ユーザの入力を受信してもよい。同様に、図１においては符号２６で一般化して示すように、再生受信機１４は、リモートコントロールを通じて受信したユーザコマンドに対して応答してもよい。
【００２３】
図２は、コンピュータシステム１２内に含まれ得るハードウェア構成要素及び論理素子を示すブロック図である。図２に示すとおり、コンピュータシステム１２は、コントローラ２８を含み、コントローラ２８は、ユーザインターフェース３０及びディスプレイインターフェース３２に作用するように接続される。ユーザインターフェース３０は、次に述べる方法でユーザからの入力データを受信するのに適した任意の１台または複数台の装置である。ユーザインターフェース３０は、通常、キーパッド（例えば、ＱＷＥＲＴＹキーボード）及びマウス、トラックボール、タッチパッド、ジョイスティック、またはポインティングスティックのような、少なくとも１つのポインティングデバイスを含む。ディスプレイインターフェース３２は、コントローラ２８から局所的に接続されるディスプレイ（図２においては「ローカルディスプレイ４０」として識別される）に対して適切にフォーマットされたディスプレイ信号を提供するのに適合した任意の装置、論理素子、またはそれらの組み合わせである。ある実施形態においては、ローカルディスプレイ４０は、例えば、ラップトップコンピュータのスクリーンとしてコンピュータシステム１２内に一体化されていてもよい。あるいは、図２に示すように、ローカルディスプレイ４０については、従来の接続ケーブルを用いてコンピュータシステム１２のディスプレイインターフェース３２に接続されるモニタまたは他の独立した画像生成装置の形態を想定してもよい。
【００２４】
コントローラ２８は、ネットワークインターフェース３４にも作用するように接続され、ネットワークインターフェース３４は、通信ネットワーク（例えば、図１に示すネットワーク１６）上でパケット化されたデータの送受信を可能にする。デジタルネットワークインターフェース３４は、デジタルメディアコンテンツ（例えば、ビデオ／オーディオデータ）をデジタルネットワーク１６上に送信するのに適合したパケット化されたフォーマット（例えば、ＭＰＥＧ、ＱＵＩＣＫＴＩＭＥ、ＷＩＮＤＯＷＳ  ＭＥＤＩＡ等）に変換するためのトランスコーダロジックを含んでもよい。ネットワークインターフェース３４は、プロトコルの任意の実装を用いて、またはデジタルネットワーク１６上での双方向通信をサポートする他の特徴を用いて動作することができる。各種の実施形態において、ネットワークインターフェース３４は、従来のＬＡＮ、ＷＡＮまたは他のプロトコル（例えば、インターネット上で広く用いられているＴＣＰ／ＩＰまたはＵＤＰ／ＩＰ群）をサポートしている。そのような場合においては、ネットワークインターフェース３４は、コンピュータシステム１２（不図示）内で提供されている従来のネットワークインターフェースカードのような、任意の種類のＬＡＮアダプタハードウェアを用いて、ネットワーク１６と接続することができる。
【００２５】
さらに、コントローラ２８は、いくつかのメモリ素子（図２においては「メモリ３６」としてまとめて識別される）にも作用するように接続される。メモリ３６は、典型的には、中央処理装置のレジスタ、いくつかの一時記憶領域、及びいくつかの永久記憶領域を含む。メモリ３６は、また、ローカルディスプレイ４０上に後で再生するために、ユーザがデジタルメディアコンテンツを記憶しておくことのできる、磁気ハードディスクドライブ、光学ハードディスクドライブ、フラッシュメモリドライブ等のような、１台またはそれ以上の大容量記憶装置を含むこともできる。ある実施形態においては、メモリ３６は、ＵＳＢ（ユニバーサルシリアルバス）ケーブルまたは他の接続ケーブルを用いてコンピュータシステム１２に接続される、外部ハードディスクドライブのような独立の大容量記憶装置を含んでもよい。容易に理解できるように、選択されたプログラム（例えば、後述するメディアプレーヤーアプリケーション４８及び／またはプレイスシフトアプリケーション５０）は、コントローラ２８が処理を円滑に実行できるよう、必要に応じて実行前にメモリ３６にコピーされ得る。
【００２６】
図２に示すように、コントローラ２８は、さらに、光学ディスクドライブ３８にも作用するように接続されることができる。光学ディスクドライブ３８は、図２に示す光学ディスク３８のような、従来のフォーマット済の高密度光学ディスクを読み出し可能な任意の装置である。ある好ましい実施形態のグループにおいては、光学ディスクドライブ３８は、デジタル多目的ディスク（ＤＶＤ）規格に従ってフォーマットされる光学ディスクに対応し、ＤＶＤに記録されているＤＶＤファイル構造にアクセスすることができる。図２に示すように、光学ディスクドライブ３８は、コンピュータシステム１２に内蔵させることができる。あるいは、光学ディスクドライブ３８は、コンピュータシステム１２に局所的に接続する独立したＤＶＤプレーヤーまたは他の専用のメディアプレーヤーを含むことができる。
【００２７】
コントローラ２８は、動作中、一般的に下記の機能を実行するようコンピュータシステム１２の他のハードウェア構成要素に対して命令する。この点については、コントローラ２８は、任意の適切な数の個別のマイクロプロセッサ、マイクロコントローラ、デジタルシグナルプロセッサ、プログラムされたアレイ、及び他の公知の標準的な構成要素を含むことができる。コントローラ２８は、ここに述べられる様々な方法、プロセスタスク、計算、及び制御／表示機能を実行する任意の数のソフトウェアまたはファームウェアプログラムを含んでもよく、または任意の数のソフトウェアまたはファームウェアプログラムと連携してもよい。多くの実施形態においては、コントローラ２８は、コンピュータシステム１２の動作中に、システム１２のハードウェア機能にアクセスしてシステム１２上で実行する様々なプログラムを支援するために、オペレーティングシステム４４を実行する。オペレーティングシステム４４としての使用に適したオペレーティングシステムのリストには、完全に網羅してはいないが、ワシントン州レドモンドのマイクロソフト社から入手できる様々なバージョンのウインドウズオペレーティングシステム、オープンソースまたは著作権のあるソースから入手できるＵＮＩＸ／ＬＩＮＵＸオペレーティングシステム、及びカリフォルニア州クパチーノのアップル社から入手できるＭＡＣ  ＯＳオペレーティングシステムを含む。他のオペレーティングシステムやコンピュータプラットフォームに基づく任意の数の代替の実施形態についても、オペレーティングシステム４４として容易に生成し、使用することができる。
【００２８】
コンピュータシステム１２は、いくつかのサービス４６をさらに含み、サービス４６により、オペレーティングシステム４４の動作中に、コンピュータシステム１２上で動作するプログラムの実行を支援する機能が提供される。サービス４６は、オペレーティングシステム４４内に組み込まれてもよいし、及び／またはコンピュータシステム１２内に含まれるハードウェア構成要素や上記のハードウェア構成要素に関連する特定のドライバ内に組み込まれてもよい。サービス４６は、それぞれサンマイクロシステム社及びマイクソフト社から入手できるＪＡＶＡまたはＡＣＴＩＶＥ−Ｘ製品のような抽象サービスを含んでもよい。他のサービスは、グラフィックスまたは他の入力／出力関連機能を含んでもよい。ほんの２、３例を列挙すると、これらは、マイクロソフト社から入手できるＤＩＲＥＣＴＸ／ＤＩＲＥＣＴ３ＤまたはＷＩＮＤＯＷＳ  ＭＥＤＩＡ  ＰＬＡＹＥＲアプリケーションプログラムインターフェース、多数のソースから入手できるＯｐｅｎ  Ｇｒａｐｈｉｃｓ  Ｌｉｂｒａｒｙ（ＯｐｅｎＧＬ）製品、マイクロソフト社のウィンドウズオペレーティングシステムの一部として入手できるグラフィックスデバイスインターフェース（ＧＤＩ）、及びインテルインテグレーテッド・パフォーマンス・プリミティブ（ＩＰＰ）ライブラリがある。
【００２９】
コンピュータシステム１２は、さらに、コントローラ２８によって実行可能なプレイスシフトアプリケーション５０を含む。プレイスシフトアプリケーション５０は、デジタルメディア再生受信機１４（図１）に提供されるメディアストリームを生成するために任意の方法でユーザの入力及び／またはメディアコンテンツを処理する任意のアプリケーションである。各種の実施形態においては、プレイスシフトアプリケーション５０は、コンピュータシステム１２上のメモリ３６に存在し、ここに述べられるいくつかまたはすべての様々な機能を提供する従来のソフトウェアアプリケーションまたはアプレットである。実装によっては、少なくともアプリケーション４８の一部は、システムの起動時に最初に実行され、メディアコンテンツ５２への高速アクセスを容易にするために、システム１２の動作中は、システムメモリ内に残存する。他の実施形態では、プラグインまたは従来のウェブブラウザプログラムへの他の拡張として実行してもよく、あるいは、任意の種類のアプリケーション、アプレット、オブジェクト、モジュール等として実行してもよい。以下により完全に述べられるように、プレイスシフトアプリケーション５０は、ビデオストリームをキャプチャし、エンコードし、そしてネットワーク１６を通じてデジタルメディア再生受信機１４（図１）に送信することが可能である。上述したとおり、任意の他の規格または適切なフォーマットを同等に用いることができるものの、ビデオストリームは、ＷＩＮＤＯＷＳ  ＭＥＤＩＡ、ＱＵＩＣＫＴＩＭＥ、及び／またはＭＰＥＧ規格に従ってフォーマットされてもよい。ある実施形態においては、図３に連動して以下により完全に述べられるとおり、プレイスシフトアプリケーション５０は、スクリーンディスプレイビットマップの一部をメディア上に送信可能なストリームフォーマットにエンコードするように構成される。これらの様々なタスクを遂行するために、アプリケーション４８は、オペレーティングシステム４４及び／またはサービス４６を用いて、他のアプリケーションやシステム１２の機能と適切に連携する。
【００３０】
プレイスシフトアプリケーション５０は、任意の適切な方法でメディアストリームを作るために使用されるメディアコンテンツを取得してもよい。各種の実施形態においては、プレイスシフトアプリケーション５０は、オーディオ、映像、及び／または他のメディアコンテンツを受信して表示するメディアプレーヤーアプリケーション４８と通信する。例えば、図２においては符号５２で示すように、メディアプレーヤーアプリケーション４８は、光学ディスクドライブ３８によって読み出される有形の媒体（例えば、ＤＶＤ４２）から取得されるビデオメディアコンテンツ、メモリ３６内に記録されているデジタルメディアファイル、及び／またはデジタルネットワーク１６を通じて伝達されてネットワークインターフェース３４を介して受信されるメディアコンテンツにアクセスすることができる。容易に理解できるように、メディアプレーヤーアプリケーション４８は、任意の従来のメディアプレーヤーアプリケーション、任意の種類のプラグインまたは任意の種類のブラウザプログラムに関連する他のアプリケーション等であってもよい。ある実施形態のグループにおいては、メディアプレーヤーアプリケーション４８は、マイクロソフト社から入手できる周知の商用ＷＩＮＤＯＷＳ  ＭＥＤＩＡ  ＰＬＡＹＥＲプログラムのあるバージョンである。
【００３１】
図３は、プレイスシフトアプリケーション５０の実行中に、コンピュータシステム１２（図２）によって、特に、コントローラ２８によって実施され得る典型的なプレイスシフトプロセス６０を示すフローチャートである。このプロセスは、コピープロテクトされたデジタルメディアコンテンツのネットワーク１６を通じての送信を選択的に制限するだけでなく、デジタルネットワーク１６（図１）を通じてデジタルメディアコンテンツを遠隔ディスプレイ（図１）に選択的に送信する。プロセス６０（図３）を開始するために、コントローラ２８は、最初に、ネットワークインターフェース３４を用いてデジタルメディア再生受信機１４とのネットワーク接続を確立する。メディアプレーヤーアプリケーション４８は、中継ネットワークホスト及びエンコードのフレームレート及び／または後に取得される他のパラメータに関するデジタルメディア再生受信機１４からの情報を通じて、デジタルメディア再生受信機１４を識別する。各種の実施形態においては、エンコードのビットレート及び／または他のパラメータは変化する可能性があるが、最初に受信したフレームレートは、メディアストリームの期間中を通して比較的一定のままである。コンピュータシステム１２とデジタルメディア再生受信機１４との間に確立された接続は、任意の方法で、そして任意のフォーマットに従って確立されることができる。例えば、ＷＩＮＤＯＷＳ  ＭＥＤＩＡ、ＱＵＩＣＫＴＩＭＥ、またはＭＰＥＧフォーマットに従うストリームを確立するために、従来のＴＣＰ／ＩＰまたはＵＤＰ／ＩＰ構造を用いることができる。
【００３２】
コンピュータシステム１２とデジタルメディア再生受信機１４との間の接続の確立後に（図３のステップ６３）、コントローラ２８は、次に、プレイスシフトされるメディアコンテンツを識別する。ある好ましい実施形態のグループにおいては、コントローラ２８は、コンピュータシステム１２のユーザインターフェース３０を通じて受信するユーザ入力に基づいて、プレイスシフトされるメディアコンテンツを識別する。具体例としては、コントローラ２８は、ユーザインターフェース３０を通じて、ある特定のウィンドウ内に表示されるこれからプレイスシフトされようとしているコンテンツを示すユーザ入力データを受信することとしてもよい。代わりに、コントローラ２８は、これからプレイスシフトされようとしているウィンドウ（例えば、ウェブブラウザ内に含まれるメディアスクリーン）のある部分を示すユーザ入力を受信することとしてもよい。例えば、ある実施形態においては、コンピュータシステム１２は、ユーザがシステム１２上に表示されるグラフィックユーザインターフェース上に長方形または他のウィンドウを描けるようにし、そのウィンドウのコンテンツがプレイスシフトされるようにしてもよい。ウィンドウの描画または他のディスプレイの一部の図形の描画は、ビットマップまたはウィンドウのコンテンツに関連する他の情報を取得することができるよう、対応する部分のビデオメモリが容易に識別できるようにしておく。さらなる実施形態においては、プレイスシフトされるメディアコンテンツは、自動的に、コントローラ２８によって識別される。例えば、ユーザが既知のウェブページを見ている場合には、コントローラ２８が、ウィンドウまたはディスプレイの残りの部分をプレイスシフトせずに、メディア映像に関連するそのページ部分をプレイスシフトするように構成してもよい。
【００３３】
コンピュータシステム１２のコントローラ２８は、次に、プレイスシフトしようとしている識別されたデジタルメディアコンテンツをキャプチャする（図３のステップ６６）。識別されたメディアコンテンツについては、望ましいフレームレート（例えば、他の実施形態においては、他のサンプリングレートを用いてもよいが、ある実施形態においては、３０フレーム／秒ほどである）を確立するのに十分な周波数で、ビデオメモリ（例えば、ＶＲＡＭ）からキャプチャすることができる。各種の実施形態においては、データを取得する周波数は、ステップ６２において、再生受信機１４の容量または性能に基づいて決定される。上述のとおり、ビデオディスプレイのキャプチャする範囲のサイズと位置は、マニュアルで、あるいは自動的に、任意の方法で構成してよい。さらには、キャプチャする範囲のサイズと位置は、メディアコンテンツ５２、遠隔ディスプレイ１８、ネットワーク１６、またはデジタルメディア再生受信機１４に関連するパラメータの変化に応じて、ストリーミングのセッション中に変化することとしてもよい。必要な場合には、送信画像や表示画像を埋めるため、黒（またはその他）のパディングデータを用意してもよい。
【００３４】
次に、ステップ６８（図３）中に、キャプチャされたデジタルメディアコンテンツを、メディアストリームにエンコードするか変換をする。各種の実施形態においては、ビデオメモリからキャプチャされる未処理のビデオフレームは、デジタルネットワーク１６上に送信及び／またはルーティングするのに適合させるため、従来のビットマップフォーマットまたは同様のフォーマットから圧縮ストリームビデオフォーマットに変換される。何ら限定するものではないが、そのようなフォーマットは、ＷＩＮＤＯＷＳ  ＭＥＤＩＡフォーマット、ＱＵＩＣＫＴＩＭＥフォーマット、ＭＰＥＧフォーマット等を含むこととしてよい。例えば、プレイスシフトアプリケーション５０に関連するメディアエンコードモジュールは、望ましいフォーマットのメディアストリームを生成するために、キャプチャしたフレーム上にエンコード／トランスコードを実行することができる。圧縮、暗号化、及び／または他の処理を適応することもできる。要望されれば、ステップ６８（図３）中に、ビデオコンテンツに加え、オーディオデータをキャプチャしてもよい。例えば、オーディオデータについては、プレイスシフトアプリケーション５０（図１及び図２）の一部としてオーディオデバイスドライバを生成することによってキャプチャすることができる。要望に応じて、ビデオ、オーディオ、及び／または任意の他のストリーム（例えば、制御ストリーム）については、任意の方法で組み合わせてデジタルネットワーク１６上に送信することができる（ステップ７０）。他の代替の実施形態においては、他のネットワークスキーム及び構造を用いてもよいが、各種の実施形態においては、メディアストリームについては、適切なフォーマットにパケット化され、デジタルネットワーク上に従来のＴＣＰ／ＩＰ及び／またはＵＤＰ／ＩＰパケットでメディアキャッチャに送信される。
【００３５】
図３に示す典型的なプレイスシフトプロセス６０の説明を続けると、コントローラ２８は、次に、メディアプレーヤーアプリケーション４８が１つまたはそれ以上の所定のタイプのコピープロテクトされたメディアコンテンツにアクセスしているかを判定する（図３のステップ７２）。より具体的には、ステップ７２（図３）において、コントローラ２８は、メディアプレーヤーアプリケーション４８が、メディアプレーヤーアプリケーション４８によってサポートされ、かつデジタル著作権管理（ＤＲＭ）保護されたコンテンツを含むデジタルメディアファイルにアクセスしているかを判定してもよい。これに加え、またはこれの代わりに、コントローラ２８は、メディアプレーヤーアプリケーション４８が、コピープロテクトされたビデオコンテンツを含むＤＶＤファイル構造にアクセスしているかを判定してもよい。コントローラ２８は、任意の数の方法で、メディアプレーヤーアプリケーション４８によってアクセスされるデジタルコンテンツがこれらの２つのタイプのコピープロテクトされたメディアのいずれかを含むかを判定してもよい。しかし、非限定的な例としては、第１の典型的なサブプロセスについては、プレイスシフトプロセス６０のステップ７２中に（図３）実行することができる。図４と連動して下記に述べられるように、このサブプロセスは、メディアプレーヤーアプリケーションが、メディアプレーヤーアプリケーション４８によってサポートされ、かつＤＲＭで保護されたコンテンツを含むデジタルメディアファイルにアクセスしているかを判定する。そして、第２の典型的なサブプロセスについては、プレイスシフトプロセス６０のステップ７２中に（図３）実行することができる。図５と連動して下記に述べられるように、このサブプロセスは、メディアプレーヤーアプリケーションが、メディアプレーヤーアプリケーション４８によってサポートされ、かつＤＲＭで保護されたコンテンツを含むデジタルメディアファイルにアクセスしているかを判定する。
【００３６】
ステップ７４において（図３）、メディアプレーヤーアプリケーション４８が、コピープロテクトされたメディアコンテンツにはアクセスしていないと判定されれば、コントローラ２８は、ステップ６６（図３）に戻り、上述のプレイスシフトプロセスを繰り返す。この方法においては、コントローラ２７は、コピープロテクトされたメディアコンテンツにアクセスしていなければ、遠隔ディスプレイ１８上に再生するために、デジタルメディア再生受信機１４に連続するストリームメディアを継続的に提供する。しかし、メディアプレーヤーアプリケーション４８が、コピープロテクトされたメディアコンテンツにアクセスしている場合には（図３のステップ７４）、コントローラ２８は、ステップ７６（図３）に進み、メディアストリームの送信をブロック（ｂｌｏｃｋ）し、これにより、コピープロテクトされたメディアコンテンツの送信をブロックする。例えば、コントローラ２８は、ステップ７６中において、メディアコンテンツの送信を停止することができる。あるいは、代わりに、コントローラ２８は、メディアストリームの送信を隠蔽することができる。このとき、ビデオコンテンツは、遠隔ディスプレイ１８に表示されたままであるが、表示されているビデオは、コピー防止のため、十分にぼかされ、または従来の視聴規格から修正されている。さらに、コントローラ２８が、デジタルメディアコンテンツのストリーミングの開始前に、メディアプレーヤーアプリケーション４８がコピープロテクトされたメディアコンテンツにアクセスしているかを判定する実施形態においては（例えば、ステップ７４が、ステップ７０の前に、あるいは場合によってはステップ６６と６８の前に実行される実施形態においては）、ステップ７４において、メディアプレーヤーアプリケーション４８がコピープロテクトされたメディアコンテンツにアクセスしていると判定した場合には、コントローラ２８は、メディアストリームの送信を防止することができる。このように、ここで用いられているように、「ブロッキング（ｂｌｏｃｋｉｎｇ）」の語は、ストリーミングがまだ開始されていない場合にメディアストリームの送信を防止することだけでなく、ストリーミングが開始されている場合にメディアストリームの送信を停止すること、または隠蔽することを含むように、広く定義される。
【００３７】
メディアストリームの送信をブロッキングすることに加えて、コントローラ２８は、ステップ７６（図３）中に、遠隔ディスプレイ１８上に、コピープロテクトの警告映像が視覚的に現されるようにしてもよい。コントローラ２８によって生成されて遠隔ディスプレイ１９上に表示されるコピープロテクトの警告映像は、メディアプレーヤーアプリケーション４８によって現在アクセスされているコピープロテクトされたメディアを検出したことによって、ビデオストリームがブロックされたことを説明するのが好ましい。ある実施形態においては、コントローラ２８は、メモリに記録されている所定の警告映像を遠隔ディスプレイ１９上に生成するように、デジタルメディア再生受信機１４に信号を送信する。第２の実施形態においては、警告映像のコンテンツは、コンピュータシステム１２において生成されてから、遠隔ディスプレイ１９上に表示するためデジタルメディア再生受信機１４に送信される。具体例としては、ステップ７６中に、コントローラ２８は、デジタルネットワーク１６上に、現在アクセスされているコピープロテクトされたメディアを検出したことによってビデオストリームがブロックされたことを示すビットマップまたは他のテキストメッセージの画像を送信する。ステップ７６中にネットワーク１６上に送信されるテキストメッセージは、次の「コピープロテクトされたコンテンツの再生が妨げられました。ドライブにＤＶＤがある場合は、取り出してください。（ＰＬＡＹＢＡＣＫ  ＯＦ  ＣＯＰＹ  ＰＲＯＴＥＣＴＥＤ  ＣＯＮＴＥＮＴ  ＨＡＳ  ＢＥＥＮ  ＰＲＥＶＥＮＴＥＤ．  ＩＦ  ＤＶＤ  ＩＮ  ＤＲＩＶＥ,  ＰＬＥＡＳＥ  ＲＥＭＯＶＥ」のようなメッセージを含むことができる。要望されれば、ステップ７６中に、同様のコピープロテクトの警告映像をローカルディスプレイ４０上に生成することもできる。プロセス６０のステップ７４と７６は、もはやメディアプレーヤーアプリケーション４８はコピープロテクトされたメディアにアクセスしていない、と判定される（例えば、光学ディスクドライブ３８からのＤＶＤ４２の取り出しによって）まで、継続してループして繰り返される。この場合においては、コントローラ２８は、ステップ６６に戻り、そしてプレイスシフトが再び続けられる。
【００３８】
図４は、プロセス６０のステップ７４中に（図３）実行することができる第１の典型的なサブプロセス８０を示すフローチャートである。このサブプロセスは、メディアプレーヤーアプリケーション４８が、ＤＲＭ保護されたコンテンツを含むデジタルメディアファイルにアクセスしているかを判定する。この例においては、コンピュータシステム１２のサービス４６は、メディアプレーヤーアプリケーション４８に関連するアプリケーションプログラミングインターフェース（ＡＰＩ）を含む（例えば、オペレーティングシステム４４によって提供されるソースコードインターフェースであり、コンピュータシステム１２上で実行されるコンピュータプログラムにより要求されるサービスをサポートする）。サブプロセス８０（図４）の最初のステップ８２において、コントローラ２８は、特定のデジタルメディアファイルがＤＲＭ保護されたコンテンツを含んでいるかを判定するためにメディアプレーヤーアプリケーション４８に関連するＡＰＩを問い合わせる。メディアプレーヤーアプリケーション４８がＷＩＮＤＯＷＳ  ＭＥＤＩＡ  ＰＬＡＹＥＲアプリケーションである特定の実装においては、コントローラ２８は、デジタルメディアファイルがＤＲＭ保護されたコンテンツを含んでいるかを判定するために、適切な問い合わせ（例えば、「ＷＭＩｓＣｏｎｔｅｎｔＰｒｏｔｅｃｔｅｄ」機能）をＭＥＤＩＡ  ＰＬＡＹＥＲ  ＡＰＩに投入する。コントローラ２８は、次に、メディアプレーヤーＡＰＩからの返答を受信して、これにしたがって処理を続行させる（図４のステップ８４）。すなわち、メディアプレーヤーＡＰＩが、デジタルメディアファイルにはＤＲＭ保護されたコンテンツを含むことを示す場合には、コントローラ２８は、プロセス６０（図３）のステップ７６に進み、メディアストリームの送信をブロックして、上述のとおり、また、図４の８６において示すとおり、コピープロテクトされたメディアの警告を生成する。あるいは、メディアプレーヤーＡＰＩが、デジタルメディアファイルにはＤＲＭ保護されたコンテンツを含まないことを示す場合には、コントローラ２８は、プロセス６０（図３）のステップ６６に進み、プレイスシフト処理を継続させる（図４の８８に示す）。
【００３９】
図５は、プロセス６０のステップ７４中に（図３）実行することができる第２の典型的なサブプロセス９０を示すフローチャートである。このサブプロセスは、メディアプレーヤーアプリケーション４８が、コピープロテクトされたコンテンツを含むＤＶＤファイル構造にアクセスしているかを判定する。サブプロセス９０は、サブプロセス８０（図４）と連動して、またはその代わりに実行されてもよい。サブプロセス９０の初期化後に、コントローラ２８は、まず、現在メディアプレーヤーアプリケーション４８によってアクセスされているＤＶＤファイル構造の場所を確かめる（図５のステップ９２）。ＤＶＤファイル構造は、典型的には、光学ディスクドライブ３８によって読み出される光学ディスク（例えば、ＤＶＤ４２）上に記憶されるが、ＤＶＤファイル構造を、他のソースから取得することもできる。例えば、ＤＶＤファイル構造については、メモリ３６内に記憶することができる。次に、図５に示すように、コントローラ２８は、ＤＶＤファイル構造がコピープロテクトされたコンテンツを含んでいるかを判定するために、少なくともＤＶＤファイル構造の一部を検索する。コントローラ２８は、事前に確立された任意のタイプのコピー保護機構を求めて、ＤＶＤファイル構造を検索することができる。しかし、好ましい実施形態のグループにおいては、コントローラ２８は、アナログコピー保護を起動する命令を求めて、ＤＶＤファイル構造の少なくとも一部の検索を行う。例えば、ステップ９２中に、コントローラ２８は、ロヴィ社によって商品化され、通常「マクロヴィジョン（ＭＡＣＲＯＶＩＳＩＯＮ）」コピー保護と称されるアナログコピー保護機構が起動していることを示すデータを求めて、ＤＶＤファイル構造のセクタを検索してもよい。あるマクロヴィジョンコピー保護機構に従うと、アナログコピー保護を起動するか否かを表す命令は、コピープロテクトされたメディアコンテンツを含むＤＶＤの特定のタイトルに対応した、ＤＶＤファイル構造の特定のセクタ内の２ビット（例えば、ビデオオブジェクトまたは．ＶＯＢファイル）に関連している。
【００４０】
ある実施形態においては、コントローラ２８は、ＤＶＤファイル構造がマクロヴィジョン保護されたビデオコンテンツのようなコピープロテクトされたメディアコンテンツを含むか否かを判定するために、ＤＶＤファイル構造に含まれる各ビデオオブジェクトファイルを簡単に検索することとしてもよい。しかし、コンピュータシステム１２が比較的にロバスト処理能力を有しているとしても、そのようなＤＶＤファイル構造のグローバル検索により、コンピュータシステム１２上に過剰な処理とメモリ要求がかかってしまう。より重要なことには、そのようなグローバル検索は、典型的には、完全に実行されるのに過剰な長い時間を必要し、結果的には、メディアストリームの送信がブロックされる前に、コピープロテクトされたコンテンツの最初の部分がコピーされることを許してしまうこととなる。ゆえに、コントローラ２８は、ＤＶＤファイル構造がコピープロテクトされたコンテンツを含むか否かを判定するために、ＤＶＤファイル構造に含まれるタイトルとチャプターのサブセットのみを検索することが望ましい。しかし、ＤＶＤファイル構造は、コピープロテクトされたコンテンツを含まないタイトル（例えば、プレビューアやトレーラー）だけではなく、コピープロテクトされたコンテンツを含むタイトル（例えば、長編映画の部分）についても含んでもよいことに注意すべきである。このように、典型的には、コントローラ２８が、ＤＶＤファイル構造に含まれる最初のタイトル、中間タイトル、または任意の他の所定の数のタイトルを簡単に確認することによりＤＶＤファイル構造がコピープロテクトされたコンテンツを含むか否かを判定するのでは、不十分である。
【００４１】
ＤＶＤファイル構造の検索を効率化して上述の制限を克服するために、サブプロセス９０のステップ９４、９６及び９８中に、コントローラ２８は、長編映画に対応するＤＶＤファイル構造に含まれる１またはそれ以上のタイトルを特定する。このように、１またはそれ以上のタイトルには、アナログコピー保護を起動する任意の命令を含み得る。まず、ステップ９４を参照すると、コントローラ２８は、まず、典型的に、「．ｉｆｏ」の拡張子を有する情報ファイルにアクセスする。コントローラ２８は、タイトル期間に基づき、コピープロテクトを検索すべき１またはそれ以上のタイトルを選択する（図５のステップ９６）。例えば、コントローラ２８は、長編映画または典型的には重要な部分を含む一番長い期間を有するタイトルを選択することができる。次に、コントローラ２８は、ＤＶＤファイル構造がコピープロテクトされたメディアを含むか否かを判定するために、一番長いタイトル内の所定数のチャプター（例えば、最初の１０チャプター）を検索する（図５のステップ９８）。つまり、ステップ９８（図５）中に、コントローラ２８は、マクロヴィジョンコピー保護のようなアナログコピー保護機構を起動する命令を求めて、各チャプターの１つのまたはそれ以上の所定のセクタを検索することができる。
【００４２】
ステップ９８（図５）において、コントローラ２８が、選択された１つまたは複数のタイトル内の少なくとも１つのチャプターに対してアナログコピー保護機構を起動する命令が検出されたと判定した場合には（図５のステップ１００）、コントローラ２８は、プロセス６０のステップ７６（図３）に進み、メディアストリームの送信をブロックし、そして前述のとおり、コピープロテクトされたメディアの警告を生成する（図４においては符号１０４で示す）。しかし、ステップ９８（図５）中に、コピー保護機構を起動する命令が存在しない場合には、コントローラ２８は、プロセス６０のステップ６６（図３）に戻り、そして上述のプレイスシフト処理を中断せずに継続する（図４においては符号１０２で示す）。
【００４３】
第１の典型的なサブプロセス８０（図４）と第２の典型的なサブプロセス９０（図５）とは、コンピュータシステム１２上で実行されている各プログラムに対して実行することができる。しかし、動作速度の向上及びシステム要求の減少のためには、サブプロセス８０と９０は、現在実行されているプログラムの選択されたサブセットのみを解析するために実行することが望ましい。ゆえに、後の評価から現在実行されているプログラムを排除するために、１つまたはそれ以上のヒューリスティック技術を、サブプロセス８０及び／またはサブプロセス９０の実行前に実行することができる。この点をさらに強調すると、図６は、現在実行されているプロセスの絞込みリストを生成するために、図３に示される典型的なプロセス中に実行され得る典型的なヒューリスティック技術１１０を示すフローチャートである。実行されているプロセスとは、現在コピープロテクトされたデジタルメディアコンテンツにアクセスしている可能性のあるメディアプレーヤーアプリケーションである。ヒューリスティック技術１１０を開始するために、例えばシステム１２によって現在実行中の全てのプロセスのスナップショットを取ることによって、現在コンピュータシステム１２上で実行されているプロセスの広いリストがコンパイルされる（図６のステップ１１２）。次に、広いリストを絞り込むステップが実行されて、可能性のあるメディアプレーヤーである、現在実行されているプロセスについての絞込みリストを生成する。例示すると、デジタルメディアファイルにアクセスできるあらゆる公知の非プレーヤーのプロセスが、広いリストから除去される（図６のステップ１１４）。つまり、コントローラ２８は、あるブラウザアプリケーション（例えば、ＷＮＤＯＷＳ  ＥＸＰＬＯＲＥＲ）のようなデジタルメディアファイルにアクセスできる非プレーヤープロセスの所定のリストを、メモリ３６から呼び出すことができる。デジタルメディアファイルにアクセスできる全ての既知の非プレーヤーのプロセスを広いリストから除去した後（図６のステップ１１４）、次に、コントローラ２８は、少なくとも一部に所定の英数字のグループを含むプロセスファイル名に基づき、広いリストからどのプロセスを選択するかを判定する。例えば、図６においてはステップ１１６に示すように、コントローラ２８は、広いリストから、「ＤＶＤ」の文字グループを含む全てのプロセスを選択することができる。最後に、コントローラ２８は、少なくとも一部にデジタルメディア再生をサポートするモジュールを現在使用しているプロセス（があればそれ）に基づき、広いリストからどのプロセスを選択するかを判定する。より具体的には、図６のステップ１１８に示すように、コントローラ２８は、デジタルメディア再生をサポートするリンクライブラリのようなモジュールを現在使用している全てのプロセスを選択することができる。具体例としては、メディアプレーヤーアプリケーション４８がＷＩＮＤＯＷＳ  ＭＥＤＩＡ  ＰＬＡＹＥＲのあるバージョンであるような実施形態においては、コントローラ２８は、次に示すデジタルリンクライブラリの内の１つを現在使用中である全てのプロセスを選択することができる：Ｗｍｖｃｏｒｅ．ｄｌｌ（コンテンツの符号化及び表示に使用される）、Ｑｕａｒｔｚ．ｄｌｌ（ＤＩＲＥＣＴＸ内に含まれるＤＩＲＥＣＴＳＨＯＷのための機能性を有するライブラリ）、及びＤｄｒａｗ．ｄｌｌ（２Ｄグラフィックを描くためのマルチメディアアプリケーションを可能にするためにＤＩＲＥＣＴ  Ｘと連動して使用される）。絞込みリストの生成後に（図６に示すステップ１１４、１１６及び１１８）、コントローラ２８は、プロセス６０のステップ７４（図３）に進み、上述のとおり、コピープロテクトされたデジタルメディアコンテンツがアクセスされているかを判定するために、絞込みリスト中の各プロセスを評価することができる（図６においては符号１２０で示す）。
【００４４】
以上により、不適当なコピーを防止するためにコピープロテクトされたデジタルメディアコンテンツのプレイスシフトを選択的に制限しながら、デジタルメディアコンテンツがコンピュータシステムから遠隔配置されたテレビまたは他のディスプレイにプレイスシフトされることを可能にするシステム、方法、及びプログラム製品の複数の典型的な実施形態が提供される。コピープロテクトされたメディアコンテンツの２つの特定のタイプ（つまり、ＤＲＭ保護されたコンテンツを含むデジタルファイルメディア及びマクロヴィジョン保護のようなアナログ保護機構を起動する命令を含んだＤＶＤファイル構造）と連動して上述されているが、ここに述べられるシステム、方法、及びプログラム製品の実施形態は、様々な他のタイプのコピープロテクトされたデジタルメディアコンテンツについて、プレイスシフトを制限し、ゆえに、不適当なコピーを防止するのに使用可能であることを強調しておく。
【００４５】
ここで使われているように、「典型的な（ｅｘｅｍｐｌａｒｙ）」という単語については、「実施例、事例、実例として提示する」ことを意味する。例としてここで記載されるいずれの実施形態も、他の実施形態により好都合または有利に構成される必要はない。上述の発明を実施するための形態の記載は、当業者に対して本発明の様々な実施形態を実施するための便利なロードマップを提供しているが、上述の特定の実施形態は、単なる例であり、発明の主題の範囲、適応性、または構成をいずれの方法においても限定するつもりもないことを、完全に理解すべきである。逆に、発明の範囲を離脱せずに、機能や構成要素の再配置により、各種の変更を施してもよい。
【図１】
0005569757.tif 000002
【図２】
0005569757.tif 000003
【図３】
0005569757.tif 000004
【図４】
0005569757.tif 000005
【図５】
0005569757.tif 000006
【図６】
0005569757.tif 000007