(57)【特許請求の範囲】
【請求項１】
コンピュータシステムからディスプレイを駆動する方法であるところの、前記方法の各ステップをコンピュータが実行する前記方法であって、
グラフィカル出力を保護メモリへ書き込むステップと
前記保護メモリから前記ディスプレイを駆動するステップと、
前記グラフィカル出力が保護を欠如している場合、前記保護メモリからの前記ディスプレイの駆動を中断するステップと、
前記グラフィカル出力における保護の欠如を検出することに応じて、前記グラフィカル出力の保護の欠如に関連する猶予期間中に、前記保護メモリからの前記ディスプレイの駆動を継続するステップと
を備えることを特徴とする方法。
【請求項２】
前記猶予期間は、前記ディスプレイの駆動を継続する時間の期間、前記グラフィカル出力のフレームの数、及び前記グラフィカル出力のシンボルの数の少なくとも１つに対応する
ことを特徴とする請求項１に記載の方法。
【請求項３】
前記猶予期間の持続期間を設定するステップを更に備える
ことを特徴とする請求項１に記載の方法。
【請求項４】
前記猶予期間を無効にするステップを更に備える
ことを特徴とする請求項１に記載の方法。
【請求項５】
前記猶予期間からの再開の数に制限が存在する
ことを特徴とする請求項１に記載の方法。
【請求項６】
前記猶予期間は、前記ディスプレイに対する複数のコンテンツプロバイダの最も厳格な猶予期間ポリシーを満足する
ことを特徴とする請求項１に記載の方法。
【請求項７】
前記保護メモリからの前記ディスプレイの駆動は、前記グラフィカル出力の保護が前記猶予期間中に再開しない場合に中断される
ことを特徴とする請求項１に記載の方法。
【請求項８】
前記保護メモリから前記ディスプレイの駆動を中断するステップは、
代替グラフィカル出力を使用して前記ディスプレイを駆動すること、
低解像度の前記グラフィカル出力を使用して前記ディスプレイを駆動すること、
前記グラフィカル出力を使用して異なるディスプレイを駆動すること、
別のハードウェア実施効果を使用して前記ディスプレイを駆動すること
の少なくとも１つを含んでいる
ことを特徴とする請求項１に記載の方法。
【請求項９】
前記代替グラフィカル出力は、グレーエリア及びメッセージの少なくとも１つである
ことを特徴とする請求項８に記載の方法。
【請求項１０】
前記保護は、前記グラフィカル出力の暗号化を含んでいる
ことを特徴とする請求項１に記載の方法。
【請求項１１】
前記ディスプレイを駆動するステップは、前記ディスプレイが許可済の未保護ディスプレイタイプのディスプレイである場合には、前記グラフィカル出力の前記保護とは独立して、前記保護メモリから前記ディスプレイを駆動することを含んでいる
ことを特徴とする請求項１に記載の方法。
【請求項１２】
許可済の未保護ディスプレイタイプに対して前記保護メモリから前記ディスプレイを駆動することは、選択的に無効にすることができる
ことを特徴とする請求項１１に記載の方法。
【請求項１３】
グラフィカル出力を保護することなく、前記保護メモリから前記ディスプレイを駆動することを選択的に無効にすることができる
ことを特徴とする請求項１に記載の方法。
【請求項１４】
コンピュータシステムからディスプレイを駆動するためのシステムであって、
グラフィカル出力を保護メモリに書き込むように構成されているグラフィック処理ユニット（ＧＰＵ）と、
ディスプレイパイプとを備え、
前記ディスプレイパイプは、
前記保護メモリから前記ディスプレイを駆動し、
前記グラフィカル出力が保護を欠如している場合に、前記保護メモリから前記ディスプレイの前記駆動を中断する
ように構成されている
ことを特徴とするシステム。
【請求項１５】
前記ディスプレイパイプは、更に、前記グラフィカル出力の保護の欠如に関連する猶予期間中に、前記保護メモリからの前記ディスプレイの駆動を継続するように構成されている
ことを特徴とする請求項１４に記載のシステム。
【請求項１６】
前記ディスプレイパイプは、前記猶予期間の持続期間を設定可能である
ことを特徴とする請求項１５に記載のシステム。
【請求項１７】
前記ディスプレイパイプは、前記猶予期間を無効にすることができる
ことを特徴とする請求項１５に記載のシステム。
【請求項１８】
前記猶予期間は、前記ディスプレイの駆動を継続する時間の期間、前記グラフィカル出力のフレームの数、及び前記グラフィカル出力のシンボルの数の少なくとも１つに対応する
ことを特徴とする請求項１５に記載のシステム。
【請求項１９】
前記猶予期間からの再開の数に制限が存在する
ことを特徴とする請求項１５に記載のシステム。
【請求項２０】
前記猶予期間は、前記ディスプレイに対する複数のコンテンツプロバイダの最も厳格な猶予期間ポリシーを満足する
ことを特徴とする請求項１５に記載のシステム。
【請求項２１】
前記保護メモリからの前記ディスプレイの駆動は、前記グラフィカル出力の保護が前記猶予期間中に再開しない場合に中断される
ことを特徴とする請求項１５に記載のシステム。
【請求項２２】
前記保護メモリから前記ディスプレイの駆動を中断することは、
代替グラフィカル出力を使用して前記ディスプレイを駆動すること、
低解像度の前記グラフィカル出力を使用して前記ディスプレイを駆動すること、
前記グラフィカル出力を使用して異なるディスプレイを駆動すること、
別のハードウェア実施効果を使用して前記ディスプレイを駆動すること
の少なくとも１つを含んでいる
ことを特徴とする請求項１４に記載のシステム。
【請求項２３】
前記代替グラフィカル出力は、グレーエリア及びメッセージの少なくとも１つである
ことを特徴とする請求項２２に記載のシステム。
【請求項２４】
前記ディスプレイパイプは、更に、前記ディスプレイが許可済の未保護ディスプレイタイプに対応する場合には、前記グラフィカル出力の前記保護とは独立して、前記保護メモリから前記ディスプレイを駆動することを継続するように構成されている
ことを特徴とする請求項１４に記載のシステム。
【請求項２５】
許可済の未保護ディスプレイタイプに対して前記保護メモリから前記ディスプレイを駆動することを、選択的に無効にすることができる
ことを特徴とする請求項２４に記載のシステム。
【請求項２６】
コンピュータシステムからディスプレイを駆動するための方法を、コンピュータに実行させるための、前記コンピュータによって実行される命令を記憶するコンピュータ可読記憶媒体であって、
前記コンピュータに、
グラフィカル出力を保護メモリへ書き込むこと、
前記保護メモリから前記ディスプレイを駆動すること、
前記グラフィカル出力が保護を欠如している場合、前記保護メモリからの前記ディスプレイの駆動を中断すること、
前記グラフィカル出力における保護の欠如を検出することに応じて、前記グラフィカル出力の保護の欠如に関連する猶予期間中に、前記保護メモリからの前記ディスプレイの駆動を継続させること
を実行させることを特徴とするコンピュータ可読記憶媒体。
【請求項２７】
前記猶予期間は、前記ディスプレイの駆動を継続する時間の期間、前記グラフィカル出力のフレームの数、及び前記グラフィカル出力のシンボルの数の少なくとも１つに対応する
ことを特徴とする請求項２６に記載のコンピュータ可読記憶媒体。
【請求項２８】
前記保護メモリからの前記ディスプレイの駆動は、前記グラフィカル出力の保護が前記猶予期間中に再開しない場合に中断される
ことを特徴とする請求項２６に記載のコンピュータ可読記憶媒体。
【請求項２９】
前記コンピュータは、更に、
前記ディスプレイが許可済の未保護ディスプレイタイプに対応する場合には、前記グラフィカル出力の前記保護とは独立して、前記保護メモリから前記ディスプレイを駆動することを継続させる
ことを特徴とする請求項２６に記載のコンピュータ可読記憶媒体。
【請求項３０】
前記保護メモリから前記ディスプレイの駆動を中断することは、
代替グラフィカル出力を使用して前記ディスプレイを駆動すること、
低解像度の前記グラフィカル出力を使用して前記ディスプレイを駆動すること、
前記グラフィカル出力を使用して異なるディスプレイを駆動すること、
別のハードウェア実施効果を使用して前記ディスプレイを駆動すること
の少なくとも１つを含んでいる
ことを特徴とする請求項２６に記載のコンピュータ可読記憶媒体。
【請求項３１】
コンピュータによって実行されると、前記コンピュータに、請求項１から１３のいずれか１項に記載の方法の各ステップを実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
分野
本実施形態は、コンピュータシステムからディスプレイを駆動することに関するものである。より詳しくは、本実施形態は、コンピュータシステム上でビデオ再生中に保護ビデオコンテンツを安全に保護するための技術に関するものである。
【０００２】
関連技術
ユーザとコンピュータシステムとの間の対話は、コンピュータシステムに外部ディスプレイを接続することによって容易にすることができる。例えば、ラップトップコンピュータは、標準ビデオインタフェースを含んでいて、これには、デジタルビジュアルインタフェース（ＤＶＩ）あるいは高精細度マルチメディアインタフェース（ＨＤＭＩ）がある。これは、ラップトップコンピュータを、様々な解像度、大きさ、画素密度及びカラープロファイルの少なくとも１つを有するディスプレイに接続することを可能にする。同様に、ラップトップコンピュータへの外部ディスプレイの接続は、ラップトップコンピュータのユーザに、文書、メディアファイル（例えば、ビデオ、画像等）、及びラップトップコンピュータ上のアプリケーション用のグラフィカルユーザインタフェース（ＧＵＩ）を閲覧するための利用可能な画面スペースの量を増やすことを可能にする。
【０００３】
残念なことに、コンピュータシステムからの外部ディスプレイの駆動は、いくつかのセキュリティ脆弱性に関わり合いがあると。特に、外部ディスプレイを駆動するために使用されるビデオデータは、そのビデオデータがビデオインタフェースを介して外部ディスプレイへ送信されるので、傍受の対象となり得る。ビデオデータが傍受されることを保護するために、高帯域幅デジタルコンテンツ保護（ＨＤＣＰ）のような保護メカニズムを、ビデオデータが外部ディスプレイへ送信される前にそのビデオデータを暗号化するために使用することができる。しかしながら、コンピュータシステム上の信頼できないソフトウェアにおける脆弱性を悪用することによって、及びビデオデータの暗号化を無効にすることによって、傍受は、この保護メカニズムをすり抜けることができる場合がある。
【０００４】
このように、必要とされることは、ビデオデータを使用して外部ディスプレイを駆動中に、そのビデオデータの保護を強化するためのメカニズムである。
【発明の概要】
【０００５】
要約
開示される実施形態は、コンピュータシステムからディスプレイを駆動するシステムを提供する。動作中には、システムは、グラフィカル出力を保護メモリへ書き込み、保護メモリからディスプレイを駆動する。グラフィカル出力が保護を欠如している場合、システムは、保護メモリからのディスプレイの駆動を中断する。特に、グラフィカル出力における保護の欠如を検出することに応じて、システムは、グラフィカル出力の保護の欠如に関連する猶予期間中に、保護メモリからのディスプレイの駆動を継続する。システムは、グラフィカル出力の保護が猶予期間中に再開しない場合に、保護メモリからのディスプレイの駆動を中断する。ここで、猶予期間の長さは構成設定可能であり、及び／あるいは猶予期間は、例えば、ヒューズあるいはセキュアなマイクロプロセッサによって無効にすることができることに注意されたい。（また、用語「グラフィカル出力」及び「ディスプレイリンク」は、本明細書及び添付の特許請求の範囲全体で置き換え可能に使用される。例えば、本開示は、いくつかのタイプの暗号化を通じて、「グラフィカル出力」あるいは「ディスプレイリンク」を保護することについて言及している。また、本開示及び添付の特許の請求の範囲で使用される用語「ディスプレイリンク」と「グラフィカル出力」は、ディスプレイポートあるいはＨＤＭＩのような伝統的なディスプレイ送信機を網羅し、かつ無線規格を含むことを意味していることに注意されたい。また、この無線規格では、ＨＤＣＰ２．ｘコンテンツは、ＧＰＵによって暗号化され、そして、無線デバイスによる後続の送信のためにメモリに書き込まれる。）
いくつかの実施形態では、ディスプレイが許可済の未保護ディスプレイタイプ（例えば、内蔵ディスプレイ）に対応する場合、グラフィカル出力の保護とは独立して、保護メモリからディスプレイを駆動することを継続する。
【０００６】
いくつかの実施形態では、猶予期間は、時間の期間、フレームの数、及びシンボルの数の少なくとも１つに対応する。（ここで、いくつかの場合、猶予期間は存在しない場合があることに注意されたい。また、猶予期間は、異なる状況に対して変更されても良い。例えば、「電源投入」に対する猶予期間は、「ＨＤＣＰの損失」に対する猶予期間と異なっていても良い。）
いくつかの実施形態では、保護メモリからディスプレイの駆動を中断することは、
（ｉ）代替グラフィカル出力を使用してディスプレイを駆動すること、
（ｉｉ）低解像度のグラフィカル出力を使用してディスプレイを駆動すること、
（ｉｉｉ）グラフィカル出力を使用して異なるディスプレイを駆動すること、
の少なくとも１つを含んでいる。
【０００７】
いくつかの実施形態では、代替グラフィカル出力は、グレーエリア及びメッセージの少なくとも１つである。
【０００８】
いくつかの実施形態では、保護は、グラフィカル出力の暗号化を含んでいる（他の実施形態では、システムは、様々な形式のアクセス制御を使用することができる）。
【図面の簡単な説明】
【０００９】
【図１】開示される実施形態に従うコンピュータシステムを示す図である。
【図２】開示される実施形態に従うコンピュータシステムからディスプレイを駆動するためのシステムを示す図である。
【図３】開示される実施形態に従うディスプレイパイプを示す図である。
【図４】開示される実施形態に従うコンピュータシステムからディスプレイを駆動するプロセスを示すフローチャートである。  図において、同様の参照番号は、同一の図要素を参照する。
【発明を実施するための形態】
【００１０】
以下の説明は、当業者に実施形態を実現し使用することを可能にするために提示され、特定の用途とその要件の内容で提供される。開示される実施形態の様々な変形が当業者に容易に明らかにされ、本明細書で定義される一般的な原理は、本開示の精神及び範囲から逸脱することなく他の実施形態及び用途に適用することができる。つまり、本発明は図示の実施形態に制限されるものではなく、本明細書で開示される原理及び特徴と一致する最大の範囲に認められるものである。
【００１１】
詳細な説明で記載されるデータ構造及びコードは、典型的にはコンピュータ可読記憶媒体に記憶され、これは、コンピュータシステムによって使用するためにコード及びデータの少なくとも一方を記憶することができる任意のデバイスあるいは媒体とすることができる。コンピュータ可読記憶媒体は、次に示すものに限定されるものではないが、揮発性メモリ、不揮発性メモリ、ディスクドライブ、磁気テープ、ＣＤ（コンパクトディスク）、ＤＶＤ（デジタル多用途ディスクあるいはデジタルビデオディスク）のような磁気光学記憶デバイス、あるいは現在知られているあるいは将来開発されるコード及びデータの少なくとも一方を記憶することができる他のメディアを含んでいる。
【００１２】
詳細な説明で記載される方法及びプロセスは、コード及びデータとして実装することができ、これは、上述のコンピュータ可読記憶媒体に記憶することができる。コンピュータシステムがコンピュータ可読記憶媒体に記憶されるコード及びデータの少なくとも一方を読み出し実行すると、コンピュータシステムは、コンピュータ可読記憶媒体内に記憶されているデータ構造及びデータとして実施される方法及びプロセスを実行する。
【００１３】
また、本明細書で記載される方法及びプロセスは、ハードウェアモジュールあるいは装置に含めることができる。これらのモジュールあるいは装置は、次のものに限定されるものではないが、特定用途集積回路（ＡＳＩＣ）、フィールドプログマブルゲートアレイ（ＦＰＧＡ）、特定の時間に特定のソフトウェアモジュールあるいはコードの一部を実行する専用プロセッサあるいは共有プロセッサ、及び現在知られているあるいは将来開発される他のプログラマブルロジックデバイスを含んでいる。ハードウェアモジュールあるいは装置が起動されると、それらは自身に含まれる方法及びプロセスを実行する。
【００１４】
開示される実施形態は、コンピュータシステムからディスプレイを駆動するための方法及びシステムを提供する。このコンピュータシステムは、ラップトップコンピュータ、パーソナルコンピュータ、ワークステーション、及びポータブル電子デバイスの少なくとも１つに対応している。ディスプレイは、陰極線管（ＣＲＴ）ディスプレイ、液晶ディスプレイ（ＬＣＤ）、プラズマディスプレイ、有機発光ダイオード（ＯＬＥＤ）ディスプレイ、表面伝導型電子放出素子ディスプレイ（ＳＥＤ）、及び他のタイプの電子ディスプレイであり得る。
【００１５】
より詳しくは、開示の実施形態は、ディスプレイを駆動するために使用されるグラフィカル出力、例えば、著作権で保護されたビデオファイルから生成されるグラフィカル出力を保護するための方法及びシステムを提供する。グラフィカル出力は、保護メモリ（protected memory）に書き込むことができ、ディスプレイは、その保護メモリから駆動することができる。高帯域幅デジタルコンテンツ保護（ＨＤＣＰ）のような保護メカニズムを、保護メモリからディスプレイを駆動する前に、グラフィカル出力を暗号化するために更に使用することができる。
【００１６】
グラフィカル出力の不正コピーを防止するために、保護メモリからディスプレイを駆動することは、そのグラフィカル出力の保護が欠如している場合には中断することができる。特に、グラフィカル出力における保護の欠如を検出すると、保護の欠如に関連する猶予期間が開始されて、ディスプレイは、その猶予期間中に保護トメモリから駆動されることを継続する。猶予期間中には、グラフィカル出力の保護が再確立される、あるいは、グラフィカル出力は非保護グラフィカル出力に置換されて、グラフィカル出力の表示の途絶を回避する。グラフィカル出力の保護が猶予期間中に再開しない場合、保護メモリからディスプレイを駆動することは継続されない。代わりに、ディスプレイは、代替グラフィカル出力及び低解像のグラフィカル出力の少なくとも一方を使用して駆動される、あるいは、グラフィカル出力は異なるディスプレイを駆動するために使用される。
【００１７】
いくつかの実施形態では、猶予期間を判定するために使用されるポリシーは、所与のディスプレイに対する複数のコンテンツプロバイダに対して最も厳格なポリシーを満足する。例えば、銀行記録を表示するためのアプリケーションは、無線ディスプレイ上では猶予期間は許容されないが、ＤＶＤプレーヤはより大きな猶予期間を許容することができることを要求する。ハードウェアは、一般的には、メモリが保護されているかあるいはメモリがよりきめ細かく追跡して実施することができるかのみに基づいて、所与のディスプレイに対して最も厳格なポリシーを実施することができる。例えば、異なるポリシーは、異なるメモリ暗号化キーに関連している（ここで、複数のポリシーの階層の各猶予期間ポリシーは、自身が所有するキーを有している）。所与のグラフィック操作は、自身の入力の内の１つに対して使用される最も厳格なキーに関連しているキーを使用して自身の出力を書き込むことになる。こうして、複数のキーによるメモリ保護システムは、ディスプレイパイプに、自身のメモリに対するキーによって示されるポリシーを実行することを可能にしている。
【００１８】
図１は、開示の実施形態に従うコンピュータシステム１００を示している。コンピュータシステム１００は、パーソナルコンピュータ、ラップトップコンピュータ、ポータブル電子デバイス、ワークステーション、及び複数のディスプレイ１２０−１２２を駆動することができる他の電子デバイスの少なくともいずれかに対応する。図１に示されるように、コンピュータシステム１００は、プロセッサ１０２を含み、これは、ブリッジチップ１０４を介して、半導体メモリを含むメモリサブシステム１０６に接続されている。プロセッサ１０２は、ブリッジチップ１０４に接続される周辺バスを介して、不揮発性記憶装置を含む記憶デバイス１１２と通信することもできる。例えば、記憶デバイス１１２は、不揮発性磁気記憶装置を含むディスクドライブとすることができる。
【００１９】
加えて、プロセッサ１０２は、ディスプレイカード１１４を使用して、複数のディスプレイ１２０−１２２と通信することができる。より詳しくは、プロセッサ１０２は、ブリッジチップ１０４を介してディスプレイカード１１４に接続されている。ディスプレイカード１１４は、グラフィック処理ユニット（ＧＰＵ）１１０を含み、これは、様々なグラフィカル処理動作を実行して、ビデオメモリ１１６に配置されている１つ以上のフレームバッファにビデオフレームを生成する。このビデオフレームは、ディスプレイ１２０−１２２を駆動するビデオストリームを生成するために使用することができる。例えば、ビデオストリームは、標準化ビデオインタフェースを介して送信され、コンピュータシステム１００に接続される外部の有線あるいは無線のディスプレイ（例えば、陰極線管（ＣＲＴ）ディスプレイ、液晶ディスプレイ（ＬＣＤ）、プラズマディスプレイ、有機発光ダイオード（ＯＬＥＤ）ディスプレイ、表面伝導型電子放出素子ディスプレイ（ＳＥＤ）等）を駆動する。この標準化ビデオインタフェースは、デジタルビジュアルインタフェース（ＤＶＩ）、高精細度マルチメディアインタフェース（ＨＤＭＩ）あるいは無線リンクがある。
【００２０】
当業者は、ＧＰＵ１１０によって生成されるグラフィカル出力（例えば、ビデオストリーム）は、ビデオインタフェースを介して外部ディスプレイに送信されるので、そのグラフィカル出力は盗聴者によってコピーされる可能性があることを理解するであろう。動画のような保護された（著作権保護された）ビデオコンテンツから生成されるグラフィカル出力をコピーすることを防止するために、グラフィカル出力は、高帯域幅デジタルコンテンツ保護（ＨＤＣＰ）のような保護メカニズムを使用して暗号化されても良い。一般的には、保護コンテンツには、ユーザあるいは所有者がより詳細に送信されることを望まない任意のコンテンツを含み得る。例えば、ユーザの１００年に及ぶ著作権保護されていない原稿は保護コンテンツとなるであろう。また、保護コンテンツは、完全にプライベートな情報を含み得る。更に、同一の機器／ディスプレイ上でさえも様々なタイプのコンテンツに対して様々な猶予期間ポリシーを実施することが要望される場合がある。例えば、この猶予期間は、保護コンテンツの任意の部分の最短／最厳格猶予期間として実施することができる。
【００２１】
しかしながら、盗聴者は、保護メカニズムの不備を悪用することによって保護メカニズムを迂回することができる、及び／あるいはグラフィカル出力を生成すること及び表示することの少なくとも一方を行うために使用される信頼できないソフトウェアの脆弱性を悪用することによって保護メカニズムを迂回することができる。例えば、多くのコンテンツプロバイダは、内部ディスプレイで表示する場合を保障することをＨＤＣＰのような保護メカニズムに要求していない、その結果、盗聴者は、コンピュータシステム１００との安全でないアプリケーションプログラミングインタフェース（ＡＰＩ）を使用して、保護ビデオコンテンツを含むウィンドウが内部（例えば、内蔵）ディスプレイ上にあることを通知しながら、そのウインドウを実際に外部ディスプレイに配置されることを通知することができる。そして、盗聴者は、ビデオコンテンツをコピーすることができる一方で、そのビデオコンテンツは、ビデオインタフェースを介して、暗号化されずに外部ディスプレイへ送信されることになる。
【００２２】
１つ以上の実施形態では、コンピュータシステム１００は、外部ディスプレイにビデオコンテンツの再生中に、保護ビデオコンテンツの安全性を向上させるための機能を含んでいる。図２に示されるように、ビデオプレーヤ２００は、ＧＰＵ１１０と通信して、保護ビデオコンテンツからのグラフィカル出力のレンダリング及び表示の少なくとも一方を行うことができる。例えば、ビデオプレーヤ２００は、ＧＰＵ１１０及び別のＨ．２６４ビデオデコーダの少なくとも一方とのセキュア（安全な）セッションをネゴシエートして、ファイル及び光学ディスクの少なくとも一方からの圧縮ビデオコンテンツを、グラフィカル出力の一連のフレームに復号する。セッションネゴシエーション中には、ビデオプレーヤ２００は、フレームが保護メモリ２０２（例えば、ビデオメモリ１１６）に書き込まれることを要求することができ、この保護メモリ２０２へのアクセスは、暗号化メカニズム及びアクセスコントロールの少なくとも一方を介して制限されても良い。
【００２３】
セッションが一旦確立すると、ＧＰＵ１１０は、ビデオコンテンツからグラフィカル出力を生成し、そのグラフィカル出力を保護メモリ２０２へ書き込むことができる。グラフィカル出力で外部ディスプレイ２０６を駆動するために、（例えば、ビデオインタフェースを介して）ディスプレイ２０６に接続されているディスプレイパイプ２０４は、外部ディスプレイ２０６のリフレッシュレートで保護メモリ２０２からグラフィカル出力を引き出すことができる。（但し、自己リフレッシュパネル（及びその類）に対して、ＧＰＵは、そのパネルリフレッシュレートとは異なるレートでメモリから引き出すことができることに注意されたい）。上述のように、グラフィカル出力は、ディスプレイパイプ２０４による読出の前に暗号化されることで、グラフィカル出力のコピーを防止することができる。これは、グラフィカル出力がビデオインタフェースを介してディスプレイ２０６へ送信されるからである。グラフィカル出力がディスプレイ２０６によって受信された後、暗号化されているグラフィカル出力は、そのグラフィカル出力がディスプレイ２０６を更新するために使用される前に、復号されることで、ディスプレイ２０６上にグラフィカル出力の適切な視聴を可能にすることができる。
【００２４】
ディスプレイ２０６へのグラフィカル出力の安全な送信を更に容易にするために、ディスプレイパイプ２０４は、グラフィカル出力の保護が欠如している（例えば、暗号化されていない）場合、保護メモリからの外部ディスプレイの駆動を中断するように構成することができる。図３に示されるように、ディスプレイパイプ２０４は、いくつかの内部パラメータに関連付けられていて、これには、保護フラグ３０２、パイプアクティブフラグ３０４、内部ディスプレイフラグ３０６、及び猶予期間３０８が含まれる。（ここで、これらのフラグは、どのタイプの内部接続であるか、例えば、埋込ディスプレイポート（ｅＤＰ）対低電圧差分シグナリング（ＬＶＤＳ）を示すことができることに注意されたい）。これらのパラメータは、コンピュータシステム１００からのディスプレイ２０６の駆動を追跡すること及び管理することの少なくとも一方を行うために、ディスプレイパイプ２０５によって使用することができる。
【００２５】
まず、保護フラグ３０２は、保護メモリ２０２でのグラフィカル出力の保護を追跡することができる。例えば、保護フラグ３０２は、グラフィカル出力がＨＤＣＰを使用して保護され、また、グラフィカル出力が暗号化されていない場合には消去（クリア）されることを示すことができる。（例えば、保護フラグ３０２は、ＨＤＣＰ暗号化のどのレベル（１．ｘ対２．ｘ）が使用されているかを示すことができる、あるいは使用されるキービット数を示すことができる。これらの情報の部分の両方が、コンテンツを再生できるかどうかを決定する際の要素となり得る）。次に、パイプアクティブフラグ３０４は、ディスプレイパイプ２０４のステータスを特定することができる。例えば、パイプアクティブフラグ３０４は、ディスプレイパイプ２０４が実際に送信している場合に設定され、ディスプレイパイプ２０４が不活性（インアクティブ）状態である場合にクリアされる。同様に、内部ディスプレイフラグ３０６は、ディスプレイ２０６を内部ディスプレイあるいは外部ディスプレイとして識別することができる。例えば、内部ディスプレイフラグ３０６は、ディスプレイ２０６が内部ディスプレイ（例えば、ラップトップコンピュータあるいはポータブル電子デバイス用のビルトインディスプレイ）である場合には設定され、また、ディスプレイ２０６が外部ディスプレイ（例えば、ビデオインタフェースを介してコンピュータ１００に接続されている）である場合にはクリアされる。
【００２６】
ビデオプレーヤ２００上でのビデオ再生中には、ディスプレイパイプ２０４は、保護フラグ３０２、パイプアクティブフラグ３０４、及び内部ディスプレイフラグ３０６を使用して、保護メモリ２０６からのディスプレイ２０６の駆動を継続するあるいは中断することができる。まず、保護フラグ３０２がグラフィカル出力が保護されていることを示し、パイプアクティブフラグ３０４がディスプレイ３０４がインアクティブであることを示し、内部ディスプレイフラグ３０６がディスプレイ２０６が内部ディスプレイであることをしていることの少なくともいずれかである場合に、ディスプレイパイプ２０４は、保護メモリ２０２からディスプレイ２０６を駆動するように構成設定することができる。例えば、ディスプレイパイプ２０４は、ディスプレイ２０６が内部ディスプレイに対応する場合には、グラフィカル出力の保護とは独立して、保護メモリ２０２からのディスプレイ２０６の駆動を継続することができる。選択的には、ＧＰＵ１１０が、内部ディスプレイを駆動しないこと及びグラフィカル出力の保護をサポートする内部ディスプレイを駆動することの少なくとも一方を行う場合に、ディスプレイパイプ２０４は、ディスプレイ２０６の駆動中に内部ディスプレイフラグ３０６を無視することができる。いくつかの実施形態では、システムは、暗号化することなく内部ディスプレイを使用することを許容するが、実装に基づいてヒューズ（あるいは他の特定のメカニズム）によって無効にすることができる。また、いくつかの実施形態では、アップストリームコンテンツ制御システム（例えば、プレーヤ）に、どんなシステムが可能であるかを知ることを可能にするセキュアメカニズムが存在し、そうすることで、プレーヤが自身を適切に構成設定することができる。例えば、プレーヤは、ＨＤＣＰの後継のバージョンがサポートされ、かつハードウェアによって要求することができる場合には、より高解像度で再生することを可能にすることができる。
【００２７】
しかしながら、ディスプレイ２０６が外部ディスプレイであり、かつ保護メモリ２０２内のグラフィカル出力が保護を欠いている（例えば、暗号化されていない）場合、ディスプレイパイプ２０４は、保護メモリ２０２からのディスプレイ２０６の駆動を中断して、グラフィカル出力の不正コピーを防止することができる。より詳しくは、ディスプレイパイプ２０４は、グラフィカル出力における保護の欠如を検出することに応じて猶予期間３０８を開始することができる。猶予期間３０８は、一般的には、広範囲にわたる様々なメカニズムによって実施することができる。例えば、猶予期間３０８は、時間の期間（例えば、数秒）の経過に基づいてデクリメントするタイマ及びカウンタの少なくとも一方、グラフィカル出力のフレームの数（例えば、ディスプレイパイプ２０４によってディスプレイ２０６へ送信される）、及び／あるいは、シンボルの数（例えば、ディスプレイパイプ２０４によってディスプレイ２０６へ送信される）によって、追跡することができる。加えて、タイマ及びカウンタの少なくとも一方は、ハードウェア、セキュリティヒューズ、マイクロコード、及び、ディスプレイパイプ２０４に関連する別のセキュアメカニズムの少なくとも１つによってセキュア（安全に）制御することができる。
【００２８】
猶予期間３０８を開始することに応じて、ディスプレイパイプ２０４は、ＧＰＵ１１０及びビデオプレーヤ２００の少なくとも一方に、猶予期間３０８、及びグラフィカル出力の保護の欠如の少なくとも一方を通知する割込を生成することができる。選択的には、ＧＰＵ１１０及びビデオプレーヤ２００は、ディスプレイパイプ２０４を定期的にポーリングすることによって、グラフィカル出力の保護及び猶予期間３０８の少なくとも一方のステータスを取得することができる。
【００２９】
また、ディスプレイパイプ２０４は、猶予期間３０８中に保護メモリ２０２からディスプレイ２０６を駆動することを継続し、ＧＰＵ１１０及びビデオプレーヤ２００の少なくとも一方に保護の欠如を回復させることを可能にする。例えば、ＧＰＵ１１０及びビデオプレーヤ２００の少なくとも一方は、猶予期間３０８を使用して、グラフィカル出力の保護を再確立することができる、あるいは、未保護メモリからのディスプレイ２０６の駆動にスイッチすることができる。グラフィカル出力の保護が猶予期間２０８中に再開する場合、ディスプレイパイプ２０４は、猶予期間３０８に関連するカウンタ及びタイマの少なくとも一方をリセットして、保護メモリ２０２からディスプレイ２０６を駆動することを継続することができる。結果として、猶予期間３０８は、グラフィカル出力の保護に関連する不備及び休止時間中にディスプレイ０６上でのグラフィカル出力を中断することなく視聴することを容易に行うことができる。ハードウェアは、また、保護コンテンツが再生成されることを要求する前に、猶予期間を制限するためのカウンタを提供することができる。本明細書の目的は、未保護のコンテンツの全てをキャプチャすることを可能にする形式で、ＨＤＣＰを有効にして、そして無効にすることによって、猶予期間を使用して攻撃者がコンテンツを暗号化しないまま送信することを防止することである。
【００３０】
一方、グラフィカル出力の保護が猶予期間中に再開しない場合、ディスプレイパイプ２０４は、保護メモリ２０２からディスプレイ２０６を駆動することを中断することができる。代わりに、ディスプレイパイプ２０４は、未保護メモリからディスプレイ２０６を駆動すること、及び保護メモリ２０２から別のディスプレイを駆動することの少なくとも一方を行うことができる。例えば、ディスプレイパイプ２０４は、低解像度のグラフィカル出力、及びグレーエリア及びグラフィカル出力の保護の欠如を記述するメッセージ（例えば、「ＨＤＣＰオフ」）の少なくとも一方のような代替グラフィカル出力の少なくとも一方を使用して、未保護メモリからディスプレイ２０６を駆動することができる。選択的には、ディスプレイパイプ２０４及び別のディスプレイパイプの少なくとも一方は、グラフィカル出力の保護が他のディスプレイで実現可能である場合、及び他のディスプレイが内部ディスプレイに対応する場合の少なくとも一方の場合に、保護メモリ２０２から別のディスプレイを駆動しても良い。
【００３１】
内部パラメータ（例えば、保護フラグ３０２、パイプアクティブフラグ３０４、内部ディスプレイフラグ３０６）に基づいて、保護メモリ２０２及び未保護メモリの少なくとも一方からのディスプレイ２０６の駆動を制御するようにディスプレイパイプ２０４を構成設定することによって、図２のシステムは、（例えば、安全でないＡＰＩを使用して）ディスプレイパイプ２０４の状態を悪用する攻撃者を回避して、ディスプレイパイプ２０４からディスプレイ２０６へ送信される未保護グラフィカル出力へのアクセスを行うことができる。同時に、猶予期間３０８は、ＧＰＵ１１０及びディスプレイパイプ２０４の少なくとも一方に、ディスプレイ２０６上のグラフィカル出力の閲覧経験を中断することなく、保護メモリ２０２に書き込まれるグラフィカル出力の保護における一時的な途切れを回復することを可能にすることができる。そして、グラフィカル出力の保護が猶予期間３０８中に再開しない場合での、未保護メモリからのディスプレイ２０６の駆動、及び保護メモリ２０２からの異なるディスプレイの駆動は、保護ビデオコンテンツだけが保護ビデオ出力上で利用可能となり、かつ保護の欠如がディスプレイ毎に適切に対処されることを補償することができる。
【００３２】
図４は、開示される実施形態に従う、コンピュータシステムからディスプレイを駆動するプロセスを示すフローチャートである。１つ以上の実施形態では、１つ以上のステップが省略されても良く、繰り返されても良く、また、異なる順序で実行されても良い。従って、図４に示されるステップ群の特定の構成が、実施形態の範囲を制限するように解釈されるべきでない。
【００３３】
まず、グラフィカル出力が保護メモリに書き込まれる（動作４００）。次に、システムは、ディスプレイリンクがアクティブであるかどうかを判定する（動作４０２）。アクティブでない場合、システムは、ディスプレイパイプに保護メモリあるいは非保護メモリからスキャンアウトすることを許可しない（動作４２２）。一般的には、ディスプレイリンクがインアクティブである場合、ディスプレイリンクは、保護ディスプレイリンクのように取り扱われる。ここで、オフ状態から非保護状態へのパイプラインの遷移は、ディスプレイリンクの保護を損失することに関連する遷移とは異なる猶予期間特性を有していても良いことに注意されたい。また、現在のシステムは、典型的には、一定のデコーダ機能に対して保護メモリを実装していることに注意されたい。しかしながら、他のグラフィックＡＰＩ（復号（デコーディング）とは別に）は、グラフィック出力を保護メモリへ出力させるように拡張することができる。このような保護メモリは、コンテンツが保護リンクを要求するとすぐ保護を要求することになる。
【００３４】
そうでなければ、ディスプレイリンクは動作４０２でアクティブである場合、システムは、ディスプレイインクが保護されているかどうかを判定する（動作４０４）。保護されている場合、システムは、ディスプレイパイプに、保護メモリからスキャンアウトすることを許可する（動作４２２）。ここで、ＧＰＵによって生成されるグラフィカル出力を、グラフィカル出力をディスプレイへ送信する前にディスプレイパイプ内のグラフィカル出力を暗号化することによって（例えば、ＨＤＣＰを使用して）保護することで、盗聴者によるグラフィカル出力の不正コピーを防止することができる。
【００３５】
動作４０４でディスプレイリンクが保護されない場合、システムは、ディスプレイが、保護ディスプレイタイプ（例えば、外部ディスプレイ）に対する未保護ディスプレイタイプ（例えば、内部ディスプレイ）であるかどうかを判定する（動作４０８）。ディスプレイが未保護ディスプレイタイプである場合、システムは、未保護ディスプレイタイプが許可されているかどうかを判定する（動作４１０）。許可されている場合、システムは、ディスプレイパイプに保護メモリからのスキャンアウトを許可する（動作４２２）。そうでなければ、未保護ディスプレイタイプ（例えば、内部ディスプレイ）が許可されない場合、システムは、ディスプレイパイプが保護メモリからスキャンアウトすることを拒絶する（動作４２０）。例えば、いくつかの未保護ディスプレイタイプ、例えば、内部ディスプレイは、内部ディスプレイが無効である場合、例えば、ヒューズ、システム上のセキュアマイクロコントローラ、あるいはポリシーを通じて、無効にされている場合には許可されない。
【００３６】
動作４０８で、システムが、ディスプレイが未保護ディスプレイタイプでないと判定する場合、システムは、猶予期間が利用可能であるかどうかを判定する（動作４１２）。ここで、猶予期間は、グラフィカル出力の保護の欠如に関連している。利用可能でない場合、システムは、ディスプレイパイプに保護メモリからスキャンアウトすることを許可することを拒絶する（動作４２０）。
【００３７】
そうでなければ、猶予期間が利用可能である場合、システムは、猶予期間中に保護メモリから引き出すことを継続する（動作４１４）。ここで、猶予期間は、例えば、時間の経過期間、フレームの数、及びディスプレイパイプによって追跡されるシンボルの数の少なくとも１つ（あるいは他の同様の特徴）に対応することに注意されたい。
【００３８】
次に、システムは、猶予期間中に、グラフィカル出力の保護が再開されたかどうかを判定する（動作４１６）。例えば、グラフィカル出力の保護は、ＧＰＵ及びディスプレイパイプの少なくとも一方が、グラフィカル出力の暗号における不備を回復する場合に再開することができる。猶予期間中にグラフィカル出力の保護が再開された場合、システムは、グラフィカル出力における保護の次なる欠如が検出される（動作４０６）まで、ディスプレイパイプに保護メモリからのスキャンアウトを許可する（動作４２２）。このプロセス全体は、ハードウェアによって実施される制約を課すことで、猶予期間中にコンテンツを抽出するためのＨＤＣＰの有効化及び無効化操作を回避することができる。
【００３９】
猶予期間中にグラフィカル出力の保護が再開しない場合、システムは、保護メモリからのスキャンアウトを中断する（動作４１８）。代替として、ディスプレイパイプは、代替グラフィカル出力（例えば、グレーエリア、メッセージ）及び低解像度のグラフィカル出力の少なくとも一方を使用して未保護メモリから引き出すことができる、あるいはグラフィカル出力を使用して異なるディスプレイを駆動することができる。
【００４０】
上述の様々な実施形態の説明は、例示及び記載の目的だけに提示されている。これらが本発明で開示される形態を制限するあるいは本発明を包括していることを意図するものではない。従って、多くの変更及び変形が当業者に明らかであろう。加えて、上述の開示は、本発明を制限することを意図するものではない。
【図１】
0005815867.tif 000002
【図２】
0005815867.tif 000003
【図３】
0005815867.tif 000004
【図４】
0005815867.tif 000005