(57)【要約】【課題】  第１のデバイスから第２のデバイスのＤＶＤをリモートプレイバックできるＤＶＤリモートプレイバック方法、及びそのシステムを提供する。  【解決手段】  第一のデバイスを利用して第二のデバイスのＤＶＤ、もしくはＶＣＤをリモートプレイバックする方法であって、該第二のデバイスからＤＶＤ、もしくはＶＣＤのプレゼンテーションデータを含むインフォメーションを該第一のデバイスで受信し、該第一のデバイスを利用して該受信したＤＶＤ、もしくはＶＣＤのプレゼンテーションデータの一部に対してデコーディングを行い、  該デコーディングした一部のデータを処理して再生に供する。
2005521989.tif 000002
【特許請求の範囲】
【請求項１】
第一のデバイスを利用して第二のデバイスのＤＶＤ、もしくはＶＣＤをリモートプレイバックする方法であって、
該第二のデバイスからＤＶＤ、もしくはＶＣＤのプレゼンテーションデータを含むインフォメーションを該第一のデバイスで受信し、
該第一のデバイスを利用して該受信したＤＶＤ、もしくはＶＣＤのプレゼンテーションデータの一部に対してデコーディングを行い、
該デコーディングした一部のデータを処理して再生に供することを特徴とするＤＶＤのリモートプレイバック方法。
【請求項２】
前記方法が、該受信したインフォメーションにデクリプトを行い、
デコーディングを行う前に、デクリプトを行った該受信インフォメーションに対してデマルチプロセッシングを行うことを更に含むことを特徴とする請求項１に記載のＤＶＤのリモートプレイバック方法。
【請求項３】
前記デマルチプロセッシングにＣＳＳデクリプトが含まれること特徴とする請求項２に記載のＤＶＤのリモートプレイバック方法。
【請求項４】
前記デマルチプロセッシングに、該ＤＶＤ、もしくはＶＣＤのプレゼンテーションデータに対してフィルタリングを行い、該一部のデータを発生させることが含まれることを特徴とする請求項２に記載のＤＶＤのリモートプレイバック方法。
【請求項５】
前記方法が、該第一のデバイスのグラフィカルユーザインタフェースからユーザーのコマンドを該第二のデバイスにおいて作動するナビゲーションマネージャに送信することを含むことを特徴とする請求項２に記載のＤＶＤのリモートプレイバック方法。
【請求項６】
前記ＤＶＤプレゼンテーションデータが、ＣＳＳプロテクトを受けていないプレゼンテーションデータを含み、該ＣＳＳプロテクトが該第二のコンピュータシステムによって除去されることを特徴とする請求項１に記載のＤＶＤのリモートプレイバック方法。
【請求項７】
前記一部のＤＶＤ、もしくはＶＣＤプレゼンテーションデータに対してデコーディングを行うステップが、該ユーザが予め選択したデコーダのタイプを用いることを特徴とする請求項１に記載のＤＶＤのリモートプレイバック方法。
【請求項８】
前記デコーダのタイプがＭＰＥＧデコーダか、ＡＣ３デコーダか、ＰＣＭデコーダを含むグループから選択されることを特徴とする請求項７に記載のＤＶＤのリモートプレイバック方法。
【請求項９】
前記インフォメーションが、ユーザーのデコーダタイプに対して行った選択を更に含むことを特徴とする請求項７に記載のＤＶＤのリモートプレイバック方法。
【請求項１０】
前記インフォメーションが、ＣＳＳデクリプションキー更に含むことを特徴とする請求項１に記載のＤＶＤのリモートプレイバック方法。
【請求項１１】
前記ＤＶＤ、もしくはＶＣＤプレゼンテーションデータが交錯するオーディオとビデオパケットを含むことを特徴とする請求項１に記載のＤＶＤのリモートプレイバック方法。
【請求項１２】
ＤＶＤ、もしくはＶＣＤドライバーを含む第一のコンピュータが、グラフィカルユーザインターフェース・リモートコントロールを含む第二のコンピュータに対してプレゼンテーションデータを送信する方法であって、
該グラフィカルユーザインターフェース・リモートコントロールからのコマンドを受信し、
該第一コンピュータにおいて作動するナビゲータモジュールが該コマンドを実行し、その他ナビゲータモジュールが該プレゼンテーションデータを選択し、該プレゼンテーションデータを該第二のコンピュータに送信する前に該プレゼンテーションデータにエンクリプションを行うことを特徴とするＤＶＤのリモートプレイバック方法。
【請求項１３】
前記プレゼンテーションデータがＣＳＳプロテクトを含むことを特徴とする請求項１２に記載のＤＶＤのリモートプレイバック方法。
【請求項１４】
前記グラフィカルユーザインタフェースが所定のグラフィックを含み、且つ該グラフィックが所定のセレクトボタンによって構成されることを特徴とする請求項１２に記載のＤＶＤのリモートプレイバック方法。
【請求項１５】
前記方法が、該プレゼンテーションデータをエンクリプトする前に該プレゼンテーションデータから該ＣＳＳプロテクトを除去することを更に含むことを特徴とする請求項１２に記載のＤＶＤのリモートプレイバック方法。
【請求項１６】
プレゼンテーションデータをサーバー上のＤＶＤ、もしくはＣＤドライバからクライアントに送信するシステムであって、
グラフィカルユーザインタフェースからのコマンドを受信するリモートコントロールハンドルと、該コマンドをプロセッシングし、該ＤＶＤ、もしくはＣＤドライバからのプレゼンテーションを選択するナビゲータモジュールと、
該プレゼンテーションデータをエンクリプトし、コミュニケーションネットワークを介して該クライアントに送信するネットワークエンクリプションモジュールとを含むことを特徴とするＤＶＤのリモート・プレーバックシステム。
【請求項１７】
コミュニケーションネットワークを介して接続するサーバーデバイスを利用して、該サーバーデバイスのＤＶＤ、もしくはＶＣＤをリモートプレイバックするクライアントシステムであって、
該サーバーデバイスからのプレゼンテーションデータをデクリプトするネットワークデクリプションモジュールと、該プレゼンテーションデータの一部に対してデコーディングを行うデコーダと、
該クライアントデバイスに接続し、デコーディングされた該プレゼンテーションデータの一部を再生する表示装置とを含むことを特徴とするクライアントシステム。
【請求項１８】
前記クライアントシステムが、該クライアントデバイスに接続する表示装置に表示され、ユーザーからのコマンドを受信するグラフィカルユーザインタフェースを更に含むことを特徴とする請求項１７に記載のクライアントシステム。
【請求項１９】
前記ネットワークデクリプションモジュールが、該プレゼンテーションデータからＣＳＳプロテクトを除去するコンテンツスクランブリングシステム（ＣＳＳ）モジュールに接続することを特徴とする請求項１７に記載のクライアントシステム。
【請求項２０】
ＤＶＤのリモート・プレーバックシステムであって、
ＤＶＤドライバーと、ＤＶＤナビゲーションソフトウェアと、及び該ＤＶＤドライバーから該ＤＶＤナビゲーションソフトウェアによって選択されたプレゼンテーションデータを送信するネットワークモジュールとを包含するサーバーデバイスと、
ユーザーが入力するプレイバックコマンドを受信して該サーバーデバイス内の該ＤＶＤナビゲーションソフトウェアを制御するためのグラフィカルユーザインタフェースと、該プレゼンテーションデータの一部をデコーダに分配するデマルチプロセッサと、及びデコーディングされた該プレゼンテーションデータの一部を再生する表示装置とを包含し、該プレゼンテーションデータを受信するクライアントデバイスと、を含むことを特徴とするＤＶＤのリモート・プレーバックシステム。
【請求項２１】
前記グラフィカルユーザインタフェースが、該クライアントデバイス上の所定のユーザインターフェースデータを利用して発生し、且つ該クライアントコンピュータによって表示されることを特徴とする請求項２０に記載のＤＶＤのリモート・プレーバックシステム。
【請求項２２】
前記デマルチプロセッサが、該プレゼンテーションデータからＣＳＳプロテクトをデクリプトするコンテンツスクランブリングシステム（ＣＳＳ）モジュールに接続することを特徴とする請求項２０に記載のＤＶＤのリモート・プレーバックシステム。
【請求項２３】
ＤＶＤ、もしくはＶＣＤをプレイバックする機能をサーバーとクライアントの両者に提供するシステムであって、
ローカルクライアント、もしくはリモートクライアントによってＤＶＤ、もしくはＶＣＤを再生するＤＶＤ、もしくはＶＣＤドライバーと、
該リモートクライアントから送信されるコマンドを受信してリモートサーバーに送信するリモートコマンドハンドルと、
該リモートクライアントから送信されるプレゼンテンションデータを受信するネットワークインタフェースモジュールと、
該ＤＶＤ、もしくはＶＣＤドライバーからのプレゼンテンションデータを一、もしくは複数のリモートクライアントに送信するマルチキャストモジュールとを含むことを特徴とするＤＶＤプレイバック機能の提供システム。
【請求項２４】
第１の位置に存在するクライアントデバイスに接続する表示装置に、第２の位置に存在するサーバーデバイスのＤＶＤ、もしくはＶＣＤドライバーにインサートしたＤＶＤ、もしくはＶＣＤのプレゼンテンションデータを再生してユーザーの鑑賞に供するホームネットワーキングシステムであって、
コミュニケーションリンクを介してサーバーデバイスとクライアントデバイスとを接続するホームネットワーキングデバイスを具え、
該サーバーデバイスがプレゼンテーションデータをＤＶＤ、もしくはＶＣＤドライバーから該クライアントデバイスに送信し、該クライアントデバイスがプレゼンテンションデータの一部にデコードを行い該表示装置に再生することを特徴とするホームネットワーキングシステム。
【請求項２５】
前記クライアントデバイスが、該プレゼンテンションデータかＣＳＳプロテクトを除去するＣＳＳデクリプションモジュールを具えることを特徴とする請求項２４に記載のホームネットワーキングシステム。
【請求項２６】
前記コミュニケーションリンクが、電話線か、ＴＶケーブルか、ワイヤレスリンクか、もしくはパワーラインから選択されることを特徴とする請求項２４に記載のホームネットワーキングシステム。
【請求項２７】
サーバーデバイスのＤＶＤドライバーにインサートしたＤＶＤを複数のクライアントデバイスによって再生するＤＶＤのプレイバック方法であって、
該サーバーが該複数のクライアントデバイスの一からのプレイバックコマンドを受信し、
該プレイバックコマンドに対応して該ＤＶＤからプレゼンテンションデータを取得し、
該プレゼンテンションデータを該複数のクライアントデバイスにマルチキャストすることを特徴とするＤＶＤのプレイバック方法。
【請求項２８】
コンピュータによる読み取りが可能な媒体に保存されるプログラムコードを具え、ＤＶＤドライバーを含む第１デバイスから、グラフィカルユーザーインタフェース・リモートコントロールを含む第２デバイスにプレゼンテンションデータを提供するコンピュータプログラムプロダクツであって、
該プログラムコードが、該グラフィカルユーザーインタフェース・リモートコントロールによってコマンドを受信するプログラムコードと、
該第１デバイスにおいて作動し、且つプレゼンテンションデータを選択するナビゲーションモジュールによってコマンドを実行するプログラムコードと、
プレゼンテンションデータを該第２デバイスに送信する前にエンクリプションを行うプログラムコードとを含むことを特徴とするコンピュータプログラムプロダクツ。
【請求項２９】
コンピュータによる読み取りが可能な媒体に保存されるプログラムコードを具え、第１デバイスによって第２デバイス上のＤＶＤをリモートプレイバックするコンピュータプログラムプロダクツであって、
該プログラムコードが、該第２デバイスからＤＶＤプレゼンテンションデータを含むインフォメーションを受信するプログラムコードと、
該第１デバイスを利用してプレゼンテンションデータの一部にデコーディングを行うプログラムコードと、
デコーディングした該プレゼンテンションデータの一部をプロセッシングして再生するプログラムコードとを含むことを特徴とするコンピュータプログラムプロダクツ。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、光学記憶装置のプレーヤーに係る領域に関し、特にＤＶＤソフトウェアプレーヤーに関する。
【背景技術】
【０００２】
ディジタルビデオ／多用途ディスク（ｄｉｇｉｔａｌ  ｖｉｄｅｏ／ｖｅｒｓａｉｌｅ  ｄｉｓｃｓまたはＤＶＤと称する）の急速な成長を遂げている。ハリウッド映画を記録するためにＣＤ−ＲＯＭ／ＣＤ−オーディオフォーマットの容量が拡張されている。ＤＶＤドライバーを具えるコンピュータシステムによってＤＶＤビデオを再生して鑑賞するためにはＤＶＤプレーヤーソフトをインストールする必要がある。ＤＶＤプレーヤーソフトには、映像データをデコーディングするハードウェア、もしくはソフトウェアデコーダを含む。ハードウェアデコーダは、一般にコンピュータに設けるＰＣＩプラグインカードを具える。これらカードは、適宜なビデオ入力接続設備を利用して従来のコンピュータで映画を鑑賞できるように、一般にコンポサイトと、Ｓ−ビデオ出力接続端を提供する。ソフトウェアデコーダはコンピュータに保存されるソフトウェアを具え、デコーディングを行う。一般には高速の中央演算処理装置を含む。例えば速度が４５０ＭＨｚを超えるＩｎｔｅｌ（登録商標）Ｐｅｎｔｉｕｍ（登録商標）処理装置などである。高速中央演算処理装置を具えるコンピュータが普及するにつれて、ソフトウェアでデコーダもますます受け入れられるようになってきている。
【０００３】
図１は従来のＤＶＤシステムの簡単なブロック図である。ＤＶＤディスク１１０は、即ち実体ディスクであって、ナビゲーションデータ１１２とプレゼンテーションデータ１１４とを含む。ナビゲーションデータ１１２によってＤＶＤから章、またはタイトルを単位として任意にアクセスすることができる。例えば映画のようなユーザーが見たい、もしくは聞きたいオーディオ及びビデオコンテンツデータは、プレゼンテーションデータ１１４に属する。ナビゲーションマネージャ１２２は、プレゼンテーションデータ１１４によって、どの部分のプレゼンテーションデータ１１４をプレゼンテーションエンジン１２４で読み取るかを決定する。ナビゲーションデータ１１２とプレゼンテーションエンジン１２４はＤＶＤプレーヤー１２０の一部分である。ユーザー１３０が自己の選択をナビゲーションマネージャ１２２に入力すると、ナビゲーションマネージャ１２２はプレゼンテーションエンジン１２４をガイドし、ＤＶＤドライバー（図示しない）を介してＤＶＤディスク１１０から選択したプレゼンテーションデータ１１４を取得する。プレゼンテーションデータ１１４はプレゼンテーションエンジン１２４によってデコーディングされ、ディスプレイ１３２に送信されてユーザー１３０の鑑賞に提供される。
【０００４】
過去においてＤＶＤプレーヤーは独立して作動する装置であった。今日においてパーソナルコンピュータが多用されるにつれ、ＤＶＤドライバーはパーソナルコンピュータの一部分となり、ＤＶＤプレーヤー１２０のソフトウェアはパーソナルコンピュータのハードディスクに保存される。一般にはそれぞれのコンピュータにＤＶＤドライバーとＤＶＤプレーヤーソフトを組み合わせる。但し、問題は一般のこのような組み合わせは別のユーザーのパーソナルコンピュータのドライバーに挿入したＤＶＤの再生を許容しないことである。ユーザーは自己のドライバーに自己のバージョンを有するＤＶＤを必要とする。
【０００５】
従ってＤＶＤリソースを利用した技術において、それぞれのコンピュータがＤＶＤドライバーを具え、且つ、該ドライバが自己のバージョンのＤＶＤを具え、該ＤＶＤ上のプレゼンテーションデータを再生することを必要としない技術を発展させることが望まれている。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
この発明は、第１のデバイスから第２のデバイスのＤＶＤをリモートプレイバックできるＤＶＤリモートプレイバック方法、及びそのシステムを提供することを課題とする。
【課題を解決するための手段】
【０００７】
以下、この発明について具体的に説明する。
請求項１に記載するＤＶＤのリモートプレイバック方法は、第一のデバイスを利用して第二のデバイスのＤＶＤ、もしくはＶＣＤをリモートプレイバックする方法であって、
該第二のデバイスからＤＶＤ、もしくはＶＣＤのプレゼンテーションデータを含むインフォメーションを該第一のデバイスで受信し、
該第一のデバイスを利用して該受信したＤＶＤ、もしくはＶＣＤのプレゼンテーションデータの一部に対してデコーディングを行い、
該デコーディングした一部のデータを処理して再生に供する。
【０００８】
請求項２に記載するＤＶＤのリモートプレイバック方法は、請求項１における方法が、該受信したインフォメーションにデクリプトを行い、
デコーディングを行う前に、デクリプトを行った該受信インフォメーションに対してデマルチプロセッシングを行うことを更に含む。
【０００９】
請求項３に記載するＤＶＤのプレイバック方法は、請求項２におけるデマルチプロセッシングにＣＳＳデクリプトが含まれる。
【００１０】
請求項４に記載するＤＶＤのリモートプレイバック方法は、請求項２におけるデマルチプロセッシングに、該ＤＶＤ、もしくはＶＣＤのプレゼンテーションデータに対してフィルタリングを行い、該一部のデータを発生させることが含まれる。
【００１１】
請求項５に記載するＤＶＤのリモートプレイバック方法は、請求項２における方法が、該第一のデバイスのグラフィカルユーザインタフェースからユーザーのコマンドを該第二のデバイスにおいて作動するナビゲーションマネージャに送信することを含む。
【００１２】
請求項６に記載するＤＶＤのリモートプレイバック方法は、請求項１におけるＤＶＤプレゼンテーションデータが、ＣＳＳプロテクトを受けていないプレゼンテーションデータを含み、該ＣＳＳプロテクトが該第二のコンピュータシステムによって除去される。
【００１３】
請求項７に記載するＤＶＤのリモートプレイバック方法は、請求項１における一部のＤＶＤ、もしくはＶＣＤプレゼンテーションデータに対してデコーディングを行うステップが、該ユーザが予め選択したデコーダのタイプを用いる。
【００１４】
請求項８に記載するＤＶＤのリモートプレイバック方法は、請求項７における記デコーダのタイプがＭＰＥＧデコーダか、ＡＣ３デコーダか、ＰＣＭデコーダを含むグループから選択される。
【００１５】
請求項９に記載するＤＶＤのリモートプレイバック方法は、請求項７におけるインフォメーションが、ユーザーのデコーダタイプに対して行った選択を更に含む。
【００１６】
請求項１０に記載するＤＶＤのリモートプレイバック方法は、請求項１におけるインフォメーションが、ＣＳＳデクリプションキー更に含む。
【００１７】
請求項１１に記載するＤＶＤのリモートプレイバック方法は、請求項１におけるＤＶＤ、もしくはＶＣＤプレゼンテーションデータが交錯するオーディオとビデオパケットを含む。
【００１８】
請求項１２に記載するＤＶＤのリモートプレイバック方法は、ＤＶＤ、もしくはＶＣＤドライバーを含む第一のコンピュータが、グラフィカルユーザインターフェース・リモートコントロールを含む第二のコンピュータに対してプレゼンテーションデータを送信する方法であって、
該グラフィカルユーザインターフェース・リモートコントロールからのコマンドを受信し、
該第一コンピュータにおいて作動するナビゲータモジュールが該コマンドを実行し、その他ナビゲータモジュールが該プレゼンテーションデータを選択し、該プレゼンテーションデータを該第二のコンピュータに送信する前に該プレゼンテーションデータにエンクリプションを行う。
【００１９】
請求項１３に記載するＤＶＤのリモートプレイバック方法は、請求項１２における記プレゼンテーションデータがＣＳＳプロテクトを含む。
【００２０】
請求項１４に記載するＤＶＤのリモートプレイバック方法は、請求項１２におけるグラフィカルユーザインタフェースが所定のグラフィックを含み、且つ該グラフィックが所定のセレクトボタンによって構成される。
【００２１】
請求項１５に記載するＤＶＤのリモートプレイバック方法は、請求項１２における方法が、該プレゼンテーションデータをエンクリプトする前に該プレゼンテーションデータから該ＣＳＳプロテクトを除去することを更に含む。
【００２２】
請求項１６に記載するＤＶＤのリモートプレイバック方法は、プレゼンテーションデータをサーバー上のＤＶＤ、もしくはＣＤドライバからクライアントに送信するシステムであって、
グラフィカルユーザインタフェースからのコマンドを受信するリモートコントロールハンドルと、該コマンドをプロセッシングし、該ＤＶＤ、もしくはＣＤドライバからのプレゼンテーションを選択するナビゲータモジュールと、
該プレゼンテーションデータをエンクリプトし、コミュニケーションネットワークを介して該クライアントに送信するネットワークエンクリプションモジュールとを含む。
【００２３】
請求項１７に記載するクライアントシステムは、コミュニケーションネットワークを介して接続するサーバーデバイスを利用して、該サーバーデバイスのＤＶＤ、もしくはＶＣＤをリモートプレイバックするクライアントシステムであって、
該サーバーデバイスからのプレゼンテーションデータをデクリプトするネットワークデクリプションモジュールと、該プレゼンテーションデータの一部に対してデコーディングを行うデコーダと、
該クライアントデバイスに接続し、デコーディングされた該プレゼンテーションデータの一部を再生する表示装置とを含む。
【００２４】
請求項１８に記載するクライアントシステムは、請求項１７におけるクライアントシステムが、該クライアントデバイスに接続する表示装置に表示され、ユーザーからのコマンドを受信するグラフィカルユーザインタフェースを更に含む。
【００２５】
請求項１９に記載するクライアントシステムは、請求項１７におけるネットワークデクリプションモジュールが、該プレゼンテーションデータからＣＳＳプロテクトを除去するコンテンツスクランブリングシステム（ＣＳＳ）モジュールに接続する。
【００２６】
請求項２０に記載するＤＶＤのリモート・プレーバックシステムは、ＤＶＤドライバーと、ＤＶＤナビゲーションソフトウェアと、及び該ＤＶＤドライバーから該ＤＶＤナビゲーションソフトウェアによって選択されたプレゼンテーションデータを送信するネットワークモジュールとを包含するサーバーデバイスと、
ユーザーが入力するプレイバックコマンドを受信して該サーバーデバイス内の該ＤＶＤナビゲーションソフトウェアを制御するためのグラフィカルユーザインタフェースと、該プレゼンテーションデータの一部をデコーダに分配するデマルチプロセッサと、及びデコーディングされた該プレゼンテーションデータの一部を再生する表示装置とを包含し、該プレゼンテーションデータを受信するクライアントデバイスと、を含む。
【００２７】
請求項２１に記載するＤＶＤのリモート・プレーバックシステムは、請求項２０におけるグラフィカルユーザインタフェースが、該クライアントデバイス上の所定のユーザインターフェースデータを利用して発生し、且つ該クライアントコンピュータによって表示される。
【００２８】
請求項２２に記載するＤＶＤのリモート・プレーバックシステムは、請求項２０におけるデマルチプロセッサが、該プレゼンテーションデータからＣＳＳプロテクトをデクリプトするコンテンツスクランブリングシステム（ＣＳＳ）モジュールに接続する。
【００２９】
請求項２３に記載するＤＶＤのリモートプレイバック機能の提供システムは、ＤＶＤ、もしくはＶＣＤをプレイバックする機能をサーバーとクライアントの両者に提供するシステムであって、
ローカルクライアント、もしくはリモートクライアントによってＤＶＤ、もしくはＶＣＤを再生するＤＶＤ、もしくはＶＣＤドライバーと、
該リモートクライアントから送信されるコマンドを受信してリモートサーバーに送信するリモートコマンドハンドルと、
該リモートクライアントから送信されるプレゼンテンションデータを受信するネットワークインタフェースモジュールと、
該ＤＶＤ、もしくはＶＣＤドライバーからのプレゼンテンションデータを一、もしくは複数のリモートクライアントに送信するマルチキャストモジュールとを含む。
【００３０】
請求項２４に記載するホームネットワーキングシステムは、第１の位置に存在するクライアントデバイスに接続する表示装置に、第２の位置に存在するサーバーデバイスのＤＶＤ、もしくはＶＣＤドライバーにインサートしたＤＶＤ、もしくはＶＣＤのプレゼンテンションデータを再生してユーザーの鑑賞に供するホームネットワーキングシステムであって、
コミュニケーションリンクを介してサーバーデバイスとクライアントデバイスとを接続するホームネットワーキングデバイスを具え、
該サーバーデバイスがプレゼンテーションデータをＤＶＤ、もしくはＶＣＤドライバーから該クライアントデバイスに送信し、該クライアントデバイスがプレゼンテンションデータの一部にデコードを行い該表示装置に再生する。
【００３１】
請求項２５に記載するホームネットワーキングシステムは、請求項２４におけるクライアントデバイスが、該プレゼンテンションデータかＣＳＳプロテクトを除去するＣＳＳデクリプションモジュールを具える。
【００３２】
請求項２６に記載するホームネットワーキングシステムは、請求項２４におけるコミュニケーションリンクが、電話線か、ＴＶケーブルか、ワイヤレスリンクか、もしくはパワーラインから選択される。
【００３３】
請求項２７に記載するＤＶＤのプレイバック方法は、サーバーデバイスのＤＶＤドライバーにインサートしたＤＶＤを複数のクライアントデバイスによって再生するＤＶＤのプレイバック方法であって、
該サーバーが該複数のクライアントデバイスの一からのプレイバックコマンドを受信し、
該プレイバックコマンドに対応して該ＤＶＤからプレゼンテンションデータを取得し、
該プレゼンテンションデータを該複数のクライアントデバイスにマルチキャストする。
【００３４】
請求項２８に記載するコンピュータプログラムプロダクツは、コンピュータによる読み取りが可能な媒体に保存されるプログラムコードを具え、ＤＶＤドライバーを含む第１デバイスから、グラフィカルユーザーインタフェース・リモートコントロールを含む第２デバイスにプレゼンテンションデータを提供するコンピュータプログラムプロダクツであって、
該プログラムコードが、該グラフィカルユーザーインタフェース・リモートコントロールによってコマンドを受信するプログラムコードと、
該第１デバイスにおいて作動し、且つプレゼンテンションデータを選択するナビゲーションモジュールによってコマンドを実行するプログラムコードと、
プレゼンテンションデータを該第２デバイスに送信する前にエンクリプションを行うプログラムコードとを含む。
【００３５】
請求項２９に記載するコンピュータプログラムプロダクツは、コンピュータによる読み取りが可能な媒体に保存されるプログラムコードを具え、第１デバイスによって第２デバイス上のＤＶＤをリモートプレイバックするコンピュータプログラムプロダクツであって、
該プログラムコードが、該第２デバイスからＤＶＤプレゼンテンションデータを含むインフォメーションを受信するプログラムコードと、
該第１デバイスを利用してプレゼンテンションデータの一部にデコーディングを行うプログラムコードと、
デコーディングした該プレゼンテンションデータの一部をプロセッシングして再生するプログラムコードとを含む。
【発明の効果】
【００３６】
本発明のＤＶＤのリモートプレイバック方法は、それぞれのコンピュータ、もしくはデバイスがＤＶＤドライバーを具え、且つ、該ドライバが自己のバージョンのＤＶＤを具え、該ＤＶＤ上のプレゼンテーションデータを再生することを必要としないで、リモートプレイバックできるという利点がある。
【発明を実施するための最良の形態】
【００３７】
以下の説明において多くの細部を明確に提出し、本発明の具体的な実施例を詳述する。但し、この領域の技術を熟知した当業者にとっては以下に提供するすべての細かい説明を必要とせず本発明を実施することができる。その他の実施形態において既に熟知される特徴については、本発明の特徴をはっきりさせるために詳述しない。
【００３８】
図２はＤＶＤソフトウェアプレーヤーのブロック図である。ＤＶＤソフトウェアプレーヤー２１０はＤＶＤディスク１１０を具えるＤＶＤドライバーに接続する。ディスプレイに表示されるグラフィックスユーザインターフェース２１２（ＧＵＩと称する）は、ユーザー１３０からの制御コマンドと再生コマンドを受信し、且つこれらコマンドをＤＶＤナビゲータ２１４に送信する。ユーザーの再生コマンドに対応するためにＤＶＤナビゲータ２１４はＤＶＤディスク１１０上のナビゲーションデータ１１２を利用してＤＶＤディスク１１０上のプレゼンテーションデータ１１４から特定のプレゼンテーションデータを選択する。選択されたプレゼンテーションデータはデマルチプロセッサ２１６に送信される。選択されたプレゼンテーションデータはコンテンツスクランブリングシステム(contents
scrambling system：CSS)によって暗号化される。また、一般には交錯するビデオとオーディオプレゼンテーションデータのパケットを包括する。
【００３９】
デマルチプロセッサ２１６はＣＳＳ解読モジュール２１８を利用して解読する。ＤＶＤナビゲータ２１４の指定する所定のエンコード形式のパケットをろ過する。例えばＤＶＤナビゲータ２１４は、ＭＰＥＧオーディオとビデオプレゼンテーションデータのみを支持してデコーディングすることができる。デマルチプロセッサ２１６は、選択したプレゼンテーションデータからＭＰＥＧエンコードのビデオ、オーディオデータのみをろ過し、ＭＰＥＧデータをＭＰＥＧオーディオデコーダ２２０と、ＭＰＥＧビデオデコーダ２２６に送信する。ＭＰＥＧオーディオデコーダ２２０は、解読したデータをオーディオレンダー２３０に送信してオーディオ２３４を再生する。ＭＰＥＧビデオデータは、ＭＰＥＧビデオデコーダ２２６からビデオレンダー２３２に送信してビデオ出力２３６を発生させる。オーディオ出力２３４とビデオ出力２３６は、例えばコンピュータのＣＲＴモニターなどに表示され、これにつれてオーディオはスピーカーから流れる。
【００４０】
デマルチプロセッサ２１６は、ＡＣ３オーディオデコーダ２２２（ドルビーサウンド用）、ＰＣＭオーディオデコーダ２２４、及びサブピクチャデコーダ２２８（例えば字幕など余剰の画面データ用）に接続する。ＭＰＥＧオーディオデコーダ２２０、ＡＣ３オーディオデコーダ２２２、及びＰＣＭオーディオデコーダ２２４は一、もしくは複数のオーディオレンダーに接続する。説明を簡単にするためにこれらをオーディオレンダー２３０で表示する。ＭＰＥＧビデオデコーダ２２６と、サブピクチャデコーダ２２８は一、もしくは複数のビデオレンダーに接続する。説明を簡単にするためにこれらをビデオレンダー２３２で表示する。
【００４１】
従来のＤＶＤソフトウェアプレーヤーで実現できる機能は、次に説明される。“DVD Specifications for Read-Only Disc, Part 3, Video
Specifications,” Version 1.0, August 1996, Toshiba Corporation, Tokyo Japan。従来のＤＶＤソフトウェアプレーヤーの殆どの細則は、当業者の熟知するものである。よって本発明の特徴を明確にするためここでは詳述しない。
【００４２】
図３はこの発明の実施例において、例えば映画であるＤＶＤプレゼントテーションデータ３１２を表示装置のウィンドウ３１０に表示した例を開示する。ウィンドウ３１０はサーバーの表示装置に表示するか、クライアントの表示装置に表示するか、もしくはいずれの表示装置に表示してもよい。ＤＶＤプレゼントテーションデータ３１２の再生は、ユーザーが図４に開示するグラフィックスユーザーインタフェースを介して制御する。
【００４３】
図４に、実施例において、ＤＶＤの再生のナビゲートと制御を行うリモート・グラフィックスユーザーインタフェースを開示する。グラフィックスユーザーインタフェースはＤＶＤドライバーを制御する一般操作のボタンを具える。例えば、プレイボタン４１２、停止ボタン４１４、一時停止ボタン４１６、取り出しボタン４１８、及びボタン４２０、４２２、４２４、４２６などのプレゼンテーションデータをナビゲートするボタンなどが含まれる。この他ＤＶＤ再生のステータスデータを表示する領域４２８を具える。
【００４４】
図５は、この発明の実施例におけるクライアント−サーバーシステムのネットワークを示した説明図である。サーバーコンピュータはＤＶＤＧ付随するＤＶＤドライバーを具える。例えばサーバーコンピュータ５１０はＤＶＤ５１２が付随するＤＶＤドライバーを具え、サーバーコンピュータ５１４はＤＶＤ５１６が付随するＤＶＤドライバーを具える。サーバーはコミュニケーションネットワーク５２０に接続し、該コミュニケーションネットワーク５２０を介して、例えばクライアントコンピュータ５２２、５２４、５２５などの一、もしくは複数のクライアントコンピュータに接続する。
【００４５】
クライアントコンピュータは、サーバー上のＤＶＤにアクセスするコンピュータであって、クライアントコンピュータ自体はＤＶＤドライバーを具えていても、具えていなくてもよい。例えば、クライアントコンピュータ５２４はサーバーコンピュータ５１０のＤＶＤ５１２、もしくはサーバーコンピュータ５１４上のＤＶＤ５１６のコンテンツを再生することができる。
【００４６】
この他、サーバーコンピュータ５１０はピアツーピアソフトウエアプレイヤー（図９参照）を具えてもよい。よって、サーバーコンピュータ５１０はサーバーコンピュータ５１４上のＤＶＤ５１６を再生することができる。すなわち、ピアツーピアソフトウエアプレイヤーは、サーバーコンピュータを選択的にクライアントコンピュータとすることができる。
【００４７】
図６は本発明の実施例におけるサーバーコンピュータ上のモジュールサーバソフトウェア６１０は、リモートコマンドハンドル６１２、ＤＶＤナビゲータ６１４及びネットワークエンクリプトモジュール６２０を含む。リモートコマンドハンドル６１２はグラフィックスユーザインターフェース７１０（頁外のコネクタ６１８）から制御と再生のコマンドを受信するか、ステータスを要求する。コマンドはコマンドメッセージフォーマットの形式で出現し、再生命令とステータスの要求を含む。
【００４８】
リモートコマンドハンドル６１２は、これらコマンドメッセージを処理してＤＶＤナビゲータ６１４に送信する。ＤＶＤナビゲータ６１４は、図２に開示するＤＶＤナビゲータ２１４と同様か、もしくはこれに類似する方式で操作される。再生コマンドに対応するために、ＤＶＤナビゲータ６１４にはＤＶＤから送信されるプレゼンテーションデータ１１４のプレゼンテーションデータを含む。これは前述する図２の説明と同様である。
【００４９】
選択されたプレゼンテーションデータはＤＶＤ１１０からネットワークエンクリプトモジュール６２０に送信され、ネットワークエンクリプションアルゴリズムによって暗号化され、コミュニケーションネットワーク５２０（頁外のコネクタ６２２）に送信される。この他、例えばコマンドプレミッション、ＣＳＳキー、ユーザデコーダセレクションなどの一部のＤＶＤナビゲーションデータはネットワークエンクリプトモジュール６２０によって暗号化され、暗号化されたプレゼンテーションデータとあわせて送信される。好ましい実施例においてサーバソフトウェア６１０から送信する場合、プレゼンテーションデータは依然としてＣＳＳによって保護される。別途選択的な実施例において、ネットワークエンクリプトモジュール６２０はＣＳＳプロテクトを除去する。即ち解読されることであって、次いでプレゼンテーションデータをネットワーキングエンクリプションで暗号化する。
【００５０】
この発明の可能な実施形態として図６に開示するサーバーはＤＶＤ１１０とネットワークエンクリプトモジュール６２０との間に接続するバッファモジュール（図示しない）を設けてもよい。該バッファモジュールは複数の保存領域を具え、それぞれの保存領域には、複数のクライアントのそれぞれのクライアントが選択したＤＶＤ１１０のプレゼンテーションデータを保存する。よって、異なるクライアントがＤＶＤ１１０の異なるプレゼンテーションデータをナビゲートして鑑賞することができる。
【００５１】
グラフィックスユーザインターフェース７１０からリモートコマンドハンドル６１２に送信されるコマンドメセージフォーマットは、次に掲げるフォーマットを具える。
struct CommandMessage
{
struct
sockaddr_in client_addr;
enum
CommandCode command_code;
unsigned
short datalength;
unsigned
char data[COMMAND_DATA_LENGTH];
};
【００５２】
前記の”ｄａｔａ”のフィールドは”data[COMMAND_DATA_LENGTH]”を意味し、コマンドに基づく特有のデータを含み、異なるコマンドコードのコマンドメッセージによって異なるフォーマットを有する。コマンドコードとは即ち”
CommandCode”であって、Open, Close, GetPlayBackStatus, GetTitleStatus, GetMenuStatus,
GetAudioStatus, GetSPStatus, GetAngleStatus, Play, Step, Pause_On, Pause_Off,
Still_Off, Stop, Resume, PrevPG_Search, TopPG_Search, NextPG_Search,
Forward_Scan, Backward_Scan, PTT_Search, Time_Search, BookMark_Play,
Title_Play, PTT_Play, Time_Play, Select, Activate, GoUp, Menu_Call,
Button_Activate, Button_Select_and_Activate, Upper_Button_Select,
Lower_Button_Select, Left_Button_Select, Right_Button_Select,
Menu_Language_Select, Audio_Stream_Change, SP_Stream_Change,  Angle_Change, Parental_Level_Select,
Parental_Country_Select, Karaoke_Audio_Presentation_Mode_Change, 及び
Video_Presentation_Mode_Changeを含む。
【００５３】
上述するコマンドに関連するオブジェクトは別紙Ａに記載する。別紙Ａには参考として全文を記載する。
【００５４】
リモートコマンドハンドル６１２は、グラフィックスユーザインターフェース７１０の発する一部のコマンドに対応し、グラフィックスユーザインターフェース７１０にフォローイングする。フォローイングするコマンドメッセージフォーマットは次の通りである。
struct
ResponseMessage
{
int
response code; 
unsigned
short datalen;
unsigned
char data[COMMAND_DATA_LEN]; 
};
【００５５】
データフィールドは、即ち”data[COMMAND_DATA_LEN]”を意味し、コマンドに基づく特有のレスポンスデータを含み、異なるコマンドコードのコマンドメッセージを有するレスポンスメッセージによって異なるフォーマットを具える。コマンドｇｅｔ−ｓｔａｔｕｓのレスポンスメッセージはクライアントの必要とするデータを含む。例えばコマンド”GetPlayBackStatus”のレスポンスメッセージに用いられるデータフォーマットは次の通りである。
struct
PlayBackStatus
{
unsigned short domain;
unsigned short title_max;
unsigned short title_n;
unsigned short part_of_title_max;
unsigned short part_of_title_n;
unsigned short video_title_set_n;
unsigned short program_chain_n;
unsigned long playback_time;
unsigned long elapse_time;
long speed;
unsigned short media_type;
unsigned short playback_mode;
unsigned short repeat_mode;
unsigned short aspect_ratio;
unsigned long user_operation_flag;
｝；
【００５６】
それぞれのレスポンスの構造は別紙Ａに記載する。
【００５７】
図７はこの発明の実施例におけるクライアントコンピュータ上のモジュールを示したブロック図である。クライアントソフトウェア７０８は、制御とナビゲーションのプレイバックコマンドか、ステータスの要求をサーバソフトウェア６１０（頁外コネクタ６１８）のリモートコマンドハンドル６１２に送信し、コミュニケーションネットワークを介してサーバー６１０（頁外コネクタ６２２）のネットワークエンクリプトモジュール６２０から暗号化されたプレゼンテーションデータを受信する。選択し、暗号化されたプレゼンテーションデータを受信した後、ネットワークデエンクリプトモジュール７１２がプレゼンテーションデータとあわせ送信されるすべてのナビゲーションデータを解読する。ネットワークデエンクリプトモジュール７１２からのデータは、デマルチプロセッサ７１４に送信される。デマルチプロセッサ７１４は、ＣＳＳデエンクリプトモジュール７１６と、ＣＳＳキーを利用してプレゼンテーションデータのＣＳＳプロテクトを除去する。該ＣＳＳキーは解読するナビゲーションデータの一部である。
【００５８】
デマルチプロセッサ７１４は、ナビゲーションデータの指定するエンコーディングスキーム、即ちＭＰＥＧを利用してビデオ、オーディオ及びサブピクチャのパケットをプレゼンテーションデータから取り出して濾過し、該濾過したデータを適宜なデコーダモジュールに送信する。デコーダモジュールとレンダーは、図２に係る説明と同一か、もしくは類似する方法で作動する。
【００５９】
図８はこの発明の実施例におけるリモートプレーバックプロセスを示したフローチャートである。クライアント８１０はコミュニケーションネットワーク５２０を介してサーバー８１２とコミュニケーションを行う。８１４のステップにおいてユーザーがグラフィックスユーザインターフェース７１０にコマンドを入力する。８１６のステップにおいて該コマンドがコマンドメッセージのフォーマットでサーバー８１２に送信される。８１８のステップにおいてリモートコマンドハンドル６１２がコマンドメッセージを受信し、コマンドを取り出してＤＶＤナビゲータ６１４に供する。８２０のステップにおいて、ナビゲータが選択したプレゼンテーションデータをＤＶＤ１１０から取得する。選択したプレゼンテーションデータは暗号化され（ステップ８２２）、且つクライアント８１０に送信される（ステップ８２４）。ステップ８２８におけるプレゼンテーションデータは、２回解読されたデータといえる。１回目はネットワークデクリプトであって、他の１回はＣＳＳプロテクトのためである。ステップ８２８は選択的なステップであって、ステップ８２０においてＣＳＳプロテクトを除去する場合、ネットワークエンクリプションのみを行い、プレゼンテーションデータを解読する。８３０のステップにおいてプレゼンテーションデータを所定のデコーダに送信する。これはユーザーが予め選択したデコーダである。８３２のステップにおいて、図３に開示するようにプレゼンテーションデータを表示装置に表示する。この場合、例えば映画のようにオーディオが付随する。
【００６０】
よって、クライアントコンピュータにおいて、例えばクライアント５２４のユーザー７３０が、図４に開示するようにグラフィック表示されるグラフィックスユーザインターフェース７１０にプレイバックコマンドを入力すると、該コマンドが例えばＤＶＤドライバー５１２を具えるサーバー５１０のようにＤＶＤドライバーを備えるサーバーに送信され、プレイバックコマンドの指定するプレゼンテーションデータはＤＶＤ１１０から読み取られる。選択されたプレゼンテーションデータは、例えばサーバー５１０のようなサーバーから、例えばクライアント５２４のようなクライアントにリターンされ、図３に開示するように該ユーザのコンピュータの表示装置にプレゼンテーションデータのＤＶＤを再生し、鑑賞することができる。即ち、リモートクライアントが他のコンピュータのＤＶＤドライバーにセットしたＤＶＤを制御、ナビゲーション、鑑賞できるという点が、少なくとも一以上の主要な特徴である。
【００６１】
この発明の他の実施形態として、ピアツーピアの方式を利用してＤＶＤクライアントとサーバーとを実現する方法が生まれる。よって、装置をクライアントとし、また、サーバーとすることができる。図６に開示するサーバソフトウェア６１０と、図７に開示するクライアントソフトウェア７０８の両者を一台のコンピュータにインストールすることによって、該コンピュータがネットワークにおいてその他クライアントのサーバーとなり、またネットワークにおいて他のサーバーに対するクライアントとなる。例えば図５に開示するようにサーバー５１０と５１４のそれぞれがいずれもピアツーピアソフトウェアプレーヤーを具えているとすれば、サーバー５１０のＤＶＤドライバーのＤＶＤ５１２はサーバー５１４で再生し、鑑賞することができる。またサーバー５１４のＤＶＤドライバーのＤＶＤ５１６は、サーバー５１０で再生し、鑑賞することができる。よって、この発明の特徴は、実質的にメディアを交換することなくＤＶＤを享受しあうというニーズを満たすことができる点にある。即ち、コンピュータＡはコンピュータＢのＤＶＤを制御し再生することができ、コンピュータＢはコンピュータＡのＤＶＤを制御し再生することができる。
【００６２】
図９はクライアントモードとサーバーモードの両者を具えるＤＶＤプレーヤーを示したブロック図である。ソフトウェア９１０は独立して操作できるモードを具え、クライアントモードとサーバーモードとの切替えを行うことができる。クライアントモードに切替えた場合、リモートサーバーにコマンドを送信して該サーバーからプレゼンテンションデータを得ることができる、リモートサーバーから得たプレゼンテンションデータの再生が終了し、他のクライアント装置が要求を発した場合、ソフトウェアはサーバーモードに切り替わり、自己のＤＶＤドライバー内のＤＶＤからコンテンツをリモートクライアントに送信する。
【００６３】
図９は、図６、図７の開示と多くの点で類似するピアツーピアモジュールの説明図である。モジュールの機能については、この発明の説明が曖昧にならないように、重複して説明しない。但し、図示は簡略化されているが、オーディオデコーダモジュール９１４が、例えば２２０、２２２、２２４のように図７に開示するオーディオデコーダを３つ具える点に注意すべきである。リモートコマンドハンドルモジュール９１２は、モード（クライアントモード、もしくはサーバーモード）に基づいてローカルユーザーのコマンドをリモートサーバー９２２に送信し、リモートサーバー９２２から処理のリクエストを受信ずる。
【００６４】
デマルチプロセッサ９１４は、ネットワークインタフェース／エンクリプション／デクリプションモジュール９１８を介して、図７に開示するようにリモートサーバープレゼンテーションデータ９２４を受信するか、もしくはＤＶＤ１１０から選択したプレゼンテーションデータを得て、ネットワークインタフェース／エンクリプション／デクリプションモジュール９１８を介しリモートクライアント９１６に送信する。
【００６５】
図１０は典型的なホームネットワーキングシステムの説明図である。本発明の実施例においてＤＶＤドライバーが家庭内の複数のユーザーによって共用する。ホームＤＶＤサーバー１０１０は、ＤＶＤドライバー１０１２を有する。ホームＤＶＤサーバー１０１０のユーザーは、表示装置１０１４でＤＶＤを鑑賞することができる。ホームＤＶＤサーバー１０１０は、ホームＰＮＡデバイス１０１５に接続する。ホームＰＮＡとは、Home Phoneline Networking Allianceの略語であって、例えば１０１６−１、１０１６−２、１０１６−３、及び１０１６−４のような家庭内において既存する電話線と登録されたジャックを使用し、コンピュータを互いに接続する工業規格である。ホームＰＮＡデバイス１０１５は他のホームＰＮＡデバイス１０１８に接続してサーバーコンピュータ１０１０（図６もしくは図９）をクライアントコンピュータ１０２０（図７）に接続する。
【００６６】
例えば１０２２、１０２６のような薄型デコードクライアントは、グラフィックスユーザインターフェース７１０を除くクライアント１０８のすべてのモジュールを含み、ホームＤＶＤサーバー１０１０から映画などのプレゼンテーションデータを受信して、例えばテレビジョン１０２０、もしくはホームシアター１０２８で再生する。ホームＤＶＤサーバー１０１０がクライアントソフトウェアとサーバソフトウェアの両者を具える場合、ＤＶＤがホームＤＶＤサーバー１０１０によって制御され、例えばクライアントコンピュータ１０２０、テレビジョン１０２４、もしくはホームシアター１０２８などのその他デバイスにマルチキャストされる方式を選択する事ができる。
【００６７】
前述するホームワーキングシステムにおいて可能な実施形態として、ホームＤＶＤサーバーは一、もしくは複数のネットワークのリンクによって一、もしくは複数のクライアントデバイスのサーバーデバイスに接続することができる。該ネットワークのリンクには電話線、ワイヤレスリンク、ケーブル（ケーブルテレビ、もしくはルータ）、パワーリンク、もしくはこれらの任意の組み合わせを含む。
【００６８】
本発明の特定の実施例については上述の通り説明を行ったが、その他様々な修正、変更、選択的な構造、均等の効果を有するものは、一様にこの発明の特許請求の範囲に属するものとする。上述する発明は一部の特定するデータ処理環境において操作すると限定することなく、様々なでデータ処理環境内において任意に行う事ができる。本発明に関し、特殊な処理とステップを系列的に説明したが、これは当業者が本発明の特許請求の範囲を容易に知ることができるようにするためのものであって、上述する処理とステップを限定するものではない。
【００６９】
更に、この発明におけるハードウェアとソフトウェアの特殊な組み合わせを説明したが、その他ハードウェアとソフトウェアの組み合わせもこの発明の範囲に属する。本発明は単純ハードウェア、もしくは単純ソフトウェアと、もしくはその組み合わせによって実施することができる。よって、特許明細書の記載と図面は例示的なものであって、実施の範囲を制限するものではない。顕かに、この発明に対して追加、修正、削除、及びその他修飾変更を直接加えたものはいずれもこの発明の精神を離れることなく、いずれもこの発明の特許請求の範囲に属するものとする。
【００７０】
別紙Ａ
これは一般的なグラフィックプレーバック（ＡＰＩ）の簡単な説明であって、この別紙の内容にはインターフェースの限定するそれぞれの形態と、それぞれの関数の規格に係る説明を含む。
【００７１】
A.
型態の定義
1.
enum CGMItype：現在のメディア、もしくはファイルタイプを指示するメニュータイプである。
2.
enum CGPImode：現在のプレーバックモードを指示するメニュータイプである。
3.
enum CGPIrepeat：リピートセッティングを指定するメニュータイプである。
4.
enum CGMIvideoratio：ビデオのアスペクト比を指定するメニュータイプである。
5.
enum CGPIvpm：ビデオのプレゼンテーションモードを指定するメニュータイプである。
6.
enum CGMIaudiocode：現在のオーディオエンコードモードを指示するメニュータイプである。
7.
enum CGMIaudioattr：チャネルナンバー、サンプリング比、及びサンプリングの精度などの現在のオーディオの属性を指示するメニュータイプである。
8.
enum CGPIaudiomode：オーディオ出力モードを指定するメニュータイプである。
9.
enum CGPIkaraoke：カラオケボーカルモードを指定するメニュータイプである。
10.
enum CGPIside：ビデオプレーバックエリアを調整する場合のサイド、もしくはコーナーを指定するメニュータイプである。
11.
enum CGPIoption：プレーバックオプションを指定するメニュータイプである。
GPI_OPTION_DVD                     ＤＶＤのプレイバックを提供する
GPI_OPTION_VCD                     ＶＣＤのプレイバックを提供する
GPI_OPTION_SVCD                    ＳＶＣＤのプレイバックを提供する
GPI_OPTION_FILE                    ファイルのみをプレイバックできる。
GPI_OPTION_AC3                     ドルビーＡＣ３デコーディングを提供する。
GPI_OPTION_4CH                     ４チャンネルオーディオのプレイバックを提供する。
GPI_OPTION_6CH                     ６チャンネルオーディオのプレイバックを提供する。
GPI_OPTION_4CH                     ４チャンネルオーディオのプレイバックを許容する。
GPI_OPTION_STOP                    ストップモードを起動する。
GPI_OPTION_DSHOW                   ＭｉｃｒｏｓｏｆｔのＤｉｒｅｃｔＳｈｏｗを使用する（登録商標）。
GPI_OPTION_HWMC                    ハードウェアのモーション補償を可能にする。
GPI_OPTION_METER                   パフォーマンスメーターを可能にする。
12.
enum CGPIuop：それぞれのユーザの操作に係る現在の許可証明を支持するメニュータイプである。
13.
enum CGPIquality：品質設定を指定するメニュータイプである。
GPI_QUALITY_SMOOTH_SCALE_H,
GPI_QUALITY_SMOOTH_SCALE_V,
GPI_QUALITY_DEINTERLACE,
GPI_QUALITY_DEINTERLACE_CENTER,
GPI_QUALITY_FULL_WIDTH,     GPI_QUALITY_FULL_HEIGHT,
GPI_QUALITY_FULL_RESOLUTION
14.
enum CGPIproperty：特性を指定するメニュータイプである。
GPI_PROPERTY_DRIVE,         GPI_PROPERTY_OPTION,
GPI_PROPERTY_IO,            GPI_PROPERTY_REGION, 
GPI_PROPERTY_REGION_COUNT,
GPI_PROPERTY_TITLE_REGION,  GPI_PROPERTY_REPEAT, 
GPI_PROPERTY_LOCKRATIO,            GPI_PROPERTY_SPIC, 
GPI_PROPERTY_SPEED,
GPI_PROPERTY_VIDEO_BRIGHTNESS,
GPI_PROPERTY_VIDEO_U_OFFSET,
GPI_PROPERTY_VIDEO_V_OFFSET,
GPI_PROPERTY_VIDEO_HWMC,
GPI_PROPERTY_VIDEO_BOBWEAVE,
GPI_PROPERTY_VIDEO_QUALITY,
GPI_PROPERTY_VIDEO_COLORKEY,
GPI_PROPERTY_VIDEO_BITRATE,
GPI_PROPERTY_VIDEO_OVERLAY_FILLS_WINDOW,
GPI_PROPERTY_VIDEO_LINE21,
GPI_PROPERTY_VIDEO_HIDE, 
GPI_PROPERTY_AUDIO_VOLUME, 
GPI_PROPERTY_AUDIO_OUTPUTMODE,
GPI_PROPERTY_AUDIO_KARAOKE,
GPI_PROPERTY_AUDIO_MUTE,
GPI_PROPERTY_AUDIO_BITRATE,
GPI_PROPERTY_AUDIO_ATTR,
GPI_PROPERTY_AUDIO_SPEAKER,
GPI_PROPERTY_SPIC_DISP
15.
struct CGPIplaybackstatus：現在のプレーバックステータスをレポートするストラクトタイプである。unsigned short
tt_max; unsigned short ttn; unsigned short ptt_max ; unsigned short pttn;
unsigned short vtsn; unsigned short pgcn ; unsigned long vobu_sa ; unsigned
long pbtm; unsigned long eltm ; long speed; CGMItype type; CGPImode mode;,
CGPIrepeat repeat; CGMIvideoratio ratio; CGPIvpm vpm; unsigned long uopflag;
16.
struct CGPItitlestatus：現在のタイトルステータスをレポートするストラクトタイプである。
unsigned
short ptt_max ; unsigned long pbtm;
17.
struct CGPIaudiostatus：現在のオーディオステータスをレポートするストラクトタイプである。
unsigned
short ast_max;オーディオストリームの最大値
unsigned
short astn;現在のオーディオストリームナンバー
unsigned
char info[8][4];ラングリッジコード、及びそのエクステンション
CGMIaudiocode
acm;現在のオーディオコーディングモード
unsigned
long attr; 現在のオーディオ属性
BOOL
karaoke;現在のカラオケボーカルモード
18.
struct CGPIspstatus：現在のサブピクチャーのステータスをレポートするストラクトタイプ:
unsigned
short spst_max ;サブピクチャーストリームの最大値
unsigned
short spstn;現在のサブピクチャーストリームナンバー
unsigned
char info [32][4];ラングリッジコード及びそのエクステンション
19.
struct CGPIanglestatus：現在の視角ステータスをレポートするストラクトタイプ
unsigned
short agl_max;視角の最大値
unsigned
shortagln;現在の視角ナンバー
【００７２】
Ｂ．関数の説明
1.
staticCGPIctrl *CGPIctrl::NewCtrl(char *drv, unsigned long option：新しいCGPIctrlクラスオブジェクトを発生させるスタティックメンバー関数である。そのパラメータについて以下に説明する。
ｄｒｖ：タイトルをプレイバックするＤＶＤ、もしくはＣＤドライバのドライバネームを表示する。数値””は、予め設定したドライバーの表示を指定する。指定されたファイルがプレーバックモードの場合、この数値は無視することができる。
ｏｐｔｉｏｎ：このパラメータはプレーバックタイプとその他プレーバックオプションを指定する。このパラメータはメニューCGPIoptionのオプションフラグのコンビネーションでなければならない。GPI_OPTION_FILEフラッグは、プレイバックするファイルのタイプを指定する。仮にGPI_OPTION_DVD,
GPI_OPTION_VCD、及びGPI_OPTION_SVCDの内の一、もしくは更に多くを指定していない場合、プレイバックできるメディアを明確に指示しなければならない。それぞれのオプションフラッグの意義を理解するために参考としてメニューCGPIoptionの説明を以下に述べる。仮に成功すれば、この関数はポインタによって発生したCGPIctrタイプオブジェクトにリターンされ、仮に失敗すれば０をリターンする。
2.
static char *CGPIctrl::DeleteCtrl(CGPIctrl*ctrl)：CGPIctrl::NewCtrl()によって発生するCGPIctrlクラスオブジェクトを削除するスタティックメンバ関数である。そのパラメータの説明は次の通りである。
ｃｔｒｌ：削除するCGPIctrlを指し示すポインタである。
3.
static char *CGPIctrl::GetDefaultDrv()：予め設定されたドライブネームを得るためのスタティックナンバー関数である。仮に成功すればこの関数はドライバネームをリターンし、失敗すれば０をリターンする。
4.
static int CGPIctrl::Eject (char *drv, BOOL eject)：この関数はメディアを指定したドライバから取り出すか、もしくはインサートする。そのパラメータの説明は次の通りである。
ｄｒｖ：メディアを取り出すか、もしくはインサートするＤＶＤ、もしくはＣＤドライバのドライブネームを表示する。数値””は予め設定したドライバーを指定する。
ｅｊｅｃｔ： TRUEは取りだし、FALSEはインサートを表す。
仮に成功すればこの関数は０をリターンし、失敗すれば負の数値をリターンする。
5.
static unsigned long CGPIctrl::GetRegionInfo(char *drv, unsigned short &
region, unsigned short &count)：この関数は、指定するドライバのＤＶＤ領域コードの制御に関する情報を得るためのものである。其のパラメータの説明は次の通りである。
ｄｒｖ：ＤＶＤドライバーのドライバネームを表示する。数値””は予め設定されたドライバーを指定する。
ｒｅｇｉｏｎ：現在の領域コードの変数の保存を指し示すポインタである。
ｃｏｕｎｔ： 残りの領域変更回数の領域カウント変数の保存を指し示すポインタである。仮にドライバーがRPC2 DVDドライバーであれば、この関数は現在のrpc値をリターンし、さもなければ０をリターンする。
6.
static int CGPIctrl::ChangeRegion(char *drv, unsigned short region)：この関数は指定するドライバのＤＶＤ領域コードを変更する。そのパラメータの説明は次の通りである。
ｄｒｖ：ＤＶＤドライバーのドライバネームを表示する。数値””は予め設定されたドライバーを指定する。
ｒｅｇｉｏｎ：新しい領域コード。
仮に成功すればこの関数は０をリターンし、失敗すれば負の数値をリターンする。
7.
CGPIctrl::CGPIctrl(char *drv)：CGPIctrlクラスのコンストラクタである。
8.
~CGPIctrl::CGPIctrl()：CGPIctrlクラスのデストラクタである。
9.
int CGPIctrl::Open(HWND hwnd, RECT *rect, unsigned long option, unsigned long
param1, unsigned long param2)：この関数はCGPIctrlオブジェクトを起動してプレーバックするためのものであって、そのパラメーターの説明は次の通りである。
ｈｗｎｄ： プレイバックするビデオウィンドウのハンドルである。
ｒｅｃｔ： 表示装置のスクリーンの座標においてビデオプレーバックエリア（ビデオウィンドウ内）を表示するレクトアングルである。
ｏｐｔｉｏｎ：このパラメータはプレーバックタイプとその他プレーバックオプションを指定するためのものであって、メニューCGPIoptionのオプションフラッグのコンビネーションで無ければならない。GPI_OPTION_FILEフラッグは、ファイルプレーバックタイプを指定する。仮にGPI_OPTION_DVD、GPI_OPTION_VCD及びGPI_OPTION_SVCDと指定した場合、その内の一、もしくは更に多くはプレイバックできるメディアを明確に指定しなければならない。それぞれのオプションフラッグの意義を理解するために、メニューCGPIoptionを以下に説明する。
ｐａｒａｍ１：ファイルプレーバックタイプにおいてプレーリストアレイにポインタで指定する。その他ファイルプレーバックタイプにおいては、このパラメータは無視することができる。
ｐａｒａｍ２： ＤＶＤプレーバックタイプにおいて、このパラメータはパレンタルレベルを指定する。ファイルプレーバックタイプにおいてプレーリストのアイテムナンバーを指定する。その他プレーバックタイプにおいてはこのパラメータは無視することができる。仮に成功すればこの関数は０をリターンし、失敗すれば負の数値をリターンする。
10.
int CGPIctrl::Close()：この関数はプレーバックが完了した後、CGPIctrlオブジェクトをクローズする。仮に成功すればこの関数は０をリターンし、失敗すれば負の数値をリターンする。
11.
int CGPIctrl::Eject (BOOL eject)：このパラメーターは現在ドライバ内に有るメディアを取り出すか、メディアをインサートするためのものであって、そのパラメータに関する説明は次の通りである。
ｅｊｅｃｔ： TRUEは取りだし、FALSEはインサートを表す。
仮に成功すればこの関数は０をリターンし、失敗すれば負の数値をリターンする。
12.
int CGPIctrl::GetProperty(CGPIproperty property)：この関数はリクエストする特性の数値を得るためのものであって、そのパラメーターの説明は次の通りである。
ｐｒｏｐｅｒｔｙ：
リクエストする特性。メニューCGPIpropertyの説明を参照することによってそれぞれの特性の意義を理解することができる。
仮に成功すればこの関数はリクエストする特性の数値をリターンし、失敗すれば負の数値をリターンする。
13.
int CGPIctrl::SetProperty(CGPIproperty property, long value)：この関数は、リクエストする特性の数値を変更するためのものであって、そのパラメーターに関する説明は以下の通りである。:
ｐｒｏｐｅｒｔｙ：
リクエストする特性。メニューCGPIpropertyの説明を参照することによってそれぞれの特性の意義を理解することができる。
ｖａｌｕｅ：リクエストする特性の新しい数値。
14.
int CGPIctrl::MessageHandler(HWND hwnd, UINT message, WPARAM wparam,
LPARAMIparam)：この関数はDirectShowモードにのみ使用する。
15.
int CGPIctrl::Refresh(HDC hPaintDC, LPRECT pRect, unsigned long pts)：この関数はビデオウィンドウのビデオディスプレーエリアを更新するためのものであって、そのパラメーターに関する説明は以下の通りである。
ｈＰａｉｎｔＤＣ：ビデオプレーバックエリアのデバイスコンテックスハンドルである。
ｐＲｅｃｔ： 表示装置のスクリーンの座標においてビデオプレーバックエリア（ビデオウィンドウ内）のレクトアングルを表示する。
ｐｔｓ：GPI_PTS_INVALIDの値を永遠に指定する。
仮に成功すればこの関数は０をリターンし、失敗すれば負の数値をリターンする。
16.
int CGPIctrl::Move(HWND hwnd, RECT *rect)：この関数はビデオプレーバックエリアを移動させる。そのパラメータに関する説明は以下の通りである。
ｈｗｎｄ： プレイバックするビデオウィンドウのコードである。
ｒｅｃｔ： 表示装置のスクリーンの座標においてビデオプレーバックエリア（ビデオウィンドウ内）のレクトアングルを表示する。
仮に成功すればこの関数は０をリターンし、失敗すれば負の数値をリターンする。
17.
int CGPIctrl::CheckPosition(RECT *rect, UINT side)：この関数は、提議されたレクトアングルに基づいて、ビデオプレーバックの受け入れることができるレクトアングルをチェックする。そのパラメータに関しては次に説明する通りである。
ｒｅｃｔ：表示装置のスクリーンの座標において定義されたビデオプレーバックエリアのレクトアングルを表示する。この関数から戻ると座標に受け入れることのできるビデオプレーバックレクトアングルが含まれる。
ｓｉｄｅ：必要時においてレクトアングルを調整する方向のサイド、もしくはコーナーを指定するために用いる。これはenum CGPIside内の一数値でなければならない。
ビデオが表示されるとこの関数は０をリターンし、ビデオが隠れていれば負の数値をリターンする。
18.
int CGPIctrl::Video_Frame_Capture(int pic_type, unsigned char *ptr)：この関数はフルチュアフレームのキャプチャに用いられる。
19.
int CGPIctrl::Play ()：実施可能であればこの関数は正常な速度の下においてプレーバックをスタートさせるか、もしくは一つのボタンを起動させる。仮に成功すればこの関数は０をリターンし、失敗すれば負の数値をリターンする。
20.
int CGPIctrl::Step()：この関数は次のビデオフレームをプレーバックする。仮に成功すればこの関数は０をリターンし、失敗すれば負の数値をリターンする。
21.
int CGPIctrl::GetPlayBackStatus(CGPIplaybackstatus *pbs)：この関数は現在のプレーバックステータスを得るためのものである。そのパラメータは次に説明する通りである。
ｐｂｓ：CGPIplaybackstatusオブジェクトを指し示すポインタである。CGPIplaybackstatusの説明を参照することによってそれぞれの単位の意義を理解することができる。仮に成功すればこの関数は０をリターンし、失敗すれば負の数値をリターンする。
22.
int GetTitleStatus(unsigned short ttn, CGPItitlestatus *ts)：この関数は現在のタイトルステータスを得るものであって、その関数について次に説明する。
ｔｓ：CGPItitlestatusオブジェクトを指し示すポインタである。CGPItitlestatusの説明を参照することによってそれぞれの単位の意義を理解することができる。仮に成功すればこの関数は０をリターンし、失敗すれば負の数値をリターンする。
23.
int CGPIctrl::GetMenuStatus(unsigned short *mids)；この関数は現在のメニューステータスを得るものであって、そのパラメータを次に説明する。
ｍｉｄｓ： 指定されたメニューの存在性に係るアンサインド・ショートを指し示す。メニューのフラッグについて次に説明する。
Title
menu                                0x0004
Root
menu                                 0x0008
Sub-picture menu                          0x0010 
Audio
menu                                0x0020
Angle menu                                0x0040
PTT
menu                                  0x0080
Resume                             0x0100
仮に成功すればこの関数は０をリターンし、失敗すれば負の数値をリターンする。
24.
int CGPIctrl::GetAudioStatus(CGPIaudiostatus *as)：この関数は現在のオーディオステータスを得るものであって、そのパラメータについて次に説明する。
ａｓ： CGPIaudiostatusオブジェクトを指し示すポインタである。CGPIaudiostatusを参照することによってそれぞれの単位の意義を理解することができる。仮に成功すればこの関数は０をリターンし、失敗すれば負の数値をリターンする。
25.
int CGPIctrl::GetSPStatus(CGPIspstatus *sps)：この関数は現在のサブピクチャステータスを得るものであって、そのパラメータについて次に説明する。
ｓｐｓ： CGPIspstatusオブジェクトを指し示すポインタである。CGPIspstatusの説明を参照することによってそれぞれの単位の意義を理解することができる。仮に成功すればこの関数は０をリターンし、失敗すれば負の数値をリターンする。
26.
int CGPIctrl::GetAngleStatus(CGPIanglestatus *as)：この関数はアングルステータスを得るものであって、そのパラメータについて次に説明する。
ａｓ： CGPIanglestatusオブジェクトを指し示すポインタである。CGPIanglestatusの説明を参照することによってそれぞれの単位の意義を理解することができる。
仮に成功すればこの関数は０をリターンし、失敗すれば負の数値をリターンする。
27.
int CGPIctrl::GetTextData(unsigned char *text, unsigned long n)：この関数は現在のタイトルのテキストデータを得るものであって、そのパラメータについて次に説明する。
ｔｅｘｔ：保存し、取得したテキストデータのバッファを指し示すポインタである。
ｎ：バッファのサイズ。
仮に成功すればこの関数はテキストデータの実際のサイズをリターンし、失敗すれば負の数値をリターンする。
28.
int CGPIctrl::GetSPRM(unsigned short *sprm)：この関数はＤＶＤタイトルのシステムパラメータを得るものである。非ＤＶＤタイトルの状況下にあってこの関数は作用しなくエラーをリターンする。そのパラメータについて次に説明する。
ｓｐｒｍ：保存し、取得したシステムパラメータのバファを指し示すポインタである。
仮に成功すればこの関数は０をリターンし、失敗すれば負の数値をリターンする。
29.
int CGPIctrl::GetGPRM(unsigned short *gprm)：この関数はＤＶＤタイトルのジェネラルパラメータを得るものである。非ＤＶＤタイトルの状況下にあってこの関数は作用しなくエラーをリターンする。そのパラメータについて次に説明する。
ｇｐｒｍ： 保存して取得したジェネラルパラメータを指し示すポインタである。
仮に成功すればこの関数は０をリターンし、失敗すれば負の数値をリターンする。
30.
int CGPIctrl::Select(POINT point)：この関数はマウスのカーソルが指定したボタン（存在すれば）を選択するものである。
ｐｏｉｎｔ：表示装置のスクリーンの座標上のマウスカーソルの位置。
仮に成功すればこの関数は０をリターンし、失敗すれば負の数値をリターンする。
31.
int CGPIctrl::Activate(POINT point)：この関数はマウスのカーソルが指定したボタン（存在すれば）を起動するものである。
ｐｏｉｎｔ：表示装置のスクリーンの座標上のマウスカーソルの位置。
仮に成功すればこの関数は０をリターンし、失敗すれば負の数値をリターンする。
32.
int CGPIctrl::BookMark_Play(CGPIplaybackstatus *pbs)：この関数はプレーバックステータスの指定するブックマークの位置からプレーバックをスタートさせる。そのパラメータについて次に説明する。
ｐｂｓ： CGPIplaybackstatusオブジェクトを指し示すポインタである。CGPIplaybackstatusを参照することによってそれぞれの単位の意義を理解することができる。
仮に成功すればこの関数は０をリターンし、失敗すれば負の数値をリターンする。
33.
int CGPIctrl::Title_Play(unsigned short ttn) もしくは Title_Play(Title number)：この操作はタイトルナンバーに従ってタイトルを再生する。仮に成功すればこの関数は０をリターンし、失敗すれば負の数値をリターンする。
34.
int CGPIctrl::PTT_Play(unsigned short ttn, unsigned short pttn) もしくはPTT_Play(Title
number, PTT number)：この操作はタイトルナンバー、及びＰＴＴナンバーの指定するＰＴＴの開始の位置から再生するものである。仮に成功すればこの関数は０をリターンし、失敗すれば負の数値をリターンする。
35.
int CGPIctrl::Time_Play(unsigned short ttn, unsigned long tm) もしくはTime_Play(Title
number, Time)：この操作はタイトルナンバーと時間に従ってタイトルの指定する位置から再生するものである。
ｔｍ：ミリセカンドを指定時間の単位とする。
仮に成功すればこの関数は０をリターンし、失敗すれば負の数値をリターンする。
36.
int CGPIctrl::Stop()：この操作は現在のＰＧＣの実行をストップし、ストップステータスに切りかえるものである。仮に成功すればこの関数は０をリターンし、失敗すれば負の数値をリターンする。
37.
int CGPIctrl::GoUp()：この操作は現在のＰＧＣＩの実行をストップし、ＰＧＣ内のGoUP_PGCNが指定する新たなＰＧＣを再生するものである。仮に成功すればこの関数は０をリターンし、失敗すれば負の数値をリターンする。
38.
int CGPIctrl::Time_Search(unsigned long tm) もしくはTime_Search(Time)；この操作は現在のプレゼンテーションをストップし、同一タイトル内の時間に従い、タイトルの指定した位置からプレゼンテーションをスタートするものである。
ｔｍ：ミリセカンドを指定時間の単位とする。仮に成功すればこの関数は０をリターンし、失敗すれば負の数値をリターンする。
39.
int CGPIctrl::PTT_Search(unsigned short pttn) もしくはPTT_Search(PTT Number)：この操作は現在のプレゼンテーションをストップし、同一タイトル内のＰＴＴナンバーの指定するＰＴＴの開始の位置からプレゼンテーションをスタートするものである。仮に成功すればこの関数は０をリターンし、失敗すれば負の数値をリターンする。
40.
int CGPIctrl::PrevPG_Search()：この操作は現在のプレゼンテーションをストップし、同一のＰＧＣ内の一つ前のプログラムの開始する位置からプレゼンテーションをスタートするものである。仮に成功すればこの関数は０をリターンし、失敗すれば負の数値をリターンする。
41.
int CGPIctrl::TopPG_Search()：この操作は現在のプレゼンテーションをストップし、同一のＰＧＣ内の現在のプログラムの開始の位置からプレゼンテーションをスタートするものである。仮に成功すればこの関数は０をリターンし、失敗すれば負の数値をリターンする。
42.
int CGPIctrl::NextPG_Search()：この操作は現在のプレゼンテーションをストップし、同一のＰＧＣ内の次のプログラムの開始の位置からプレゼンテーションをスタートさせるものである。仮に成功すればこの関数は０をリターンし、失敗すれば負の数値をリターンする。
43.
int CGPIctrl::Forward_Scan(long speed) もしくは Forward_Scan(Speed)：この操作は特定の速度で再生をスキャンするものである。このユーザーの関数は再生のスキャン、及び任意の速度（ｘ１ノーマルプレーを除く）によるフォワード方向のプレイバックの速度の減速を含む。
ｓｐｅｅｄ：１０００を超える数値は高速のモーションを表し、１０００を下回る数値はスローモーションを表す。
仮に成功すればこの関数は０をリターンし、失敗すれば負の数値をリターンする。
44.
int CGPIctrl::Backward_Scan(long speed) もしくは Backward_Scan (Speed)：この操作は特定の速度で再生をスキャンするものである。このユーザーの関数は再生のスキャン、及び任意の速度によるバックフォワード方向のプレイバックの速度の減速を含む。
ｓｐｅｅｄ：１０００を超える数値は高速のモーションを表し、１０００を下回る数値はスローモーションを表す。
仮に成功すればこの関数は０をリターンし、失敗すれば負の数値をリターンする。
45.
int CGPIctrl::Menu_Call(unsigned short menuid) もしくはMenu_Call (Menu ID)：この操作はメニューＰＧＣをコールするものである。６種類のメニューＩＤを具える。それぞれのメニューＩＤと、操作を表１に記載する。
【表１】
2005521989.tif 000003
仮に成功すればこの関数は０をリターンし、失敗すれば負の数値をリターンする。
46.
int CGPIctrl::Resume()：この操作はＲＳＭインフォメーションに基づき、メニュースペースからＴＴ＿ＤＯＭをリターンさせるものである。仮に成功すればこの関数は０をリターンし、失敗すれば負の数値をリターンする。
47.
int CGPIctrl::Upper_Button_Select()：この操作はＰＣＬ内のアジャセントボタンインフォメーションを利用してメニュースクリーンのアッパーボタンを選択するものである。仮に成功すればこの関数は０をリターンし、失敗すれば負の数値をリターンする。
48.
int CGPIctrl::Lower_Button_Select()：この操作はＰＣＬ内のアジャセントボタンインフォメーションを利用してメニュースクリーンのロアーボタンを選択するものである。仮に成功すればこの関数は０をリターンし、失敗すれば負の数値をリターンする。
49.
int CGPIctrl::Left_Button_Select()：この操作はＰＣＬ内のアジャセントボタンインフォメーションを利用してメニュースクリーンのレフトボタンを選択するものである。仮に成功すればこの関数は０をリターンし、失敗すれば負の数値をリターンする。
50.
int CGPIctrl::Right_Button_Select()：この操作はＰＣＬ内のアジャセントボタンインフォメーションを利用してメニュースクリーンのライトボタンを選択するものである。仮に成功すればこの関数は０をリターンし、失敗すれば負の数値をリターンする。
51.
int CGPIctrl::Button_Activate()：この操作は現在のハイライトのボタンを作動させるものである。仮に成功すればこの関数は０をリターンし、失敗すれば負の数値をリターンする。
52.int
CGPIctrl::Button_elect_and_Activate(unsigned short num)もしくはButton_Select_and_Activate(Button
number)：この操作は所定のハイライトボタンを作動させるものである。仮に成功すればこの関数は０をリターンし、失敗すれば負の数値をリターンする。
53.
int CGPIctrl::Still_Off()：この操作はStill(VOBU Still, Cell Still, PGC Still)コマンドをリリースするものである。仮に成功すればこの関数は０をリターンし、失敗すれば負の数値をリターンする。
54.
int CGPIctrl::Pause_On()：この操作はプレゼンテーションを一時停止するものである。全てのプレゼンテーションデータのプレゼンテーションはいずれも一時停止（凍結）される。仮に成功すればこの関数は０をリターンし、失敗すれば負の数値をリターンする。
55.
int CGPIctrl::Pause_Off()：この操作はPause_On()によって起動した一時停止をリリースするものである。仮に成功すればこの関数は０をリターンし、失敗すれば負の数値をリターンする。
56.
int CGPIctrl::Menu_Language_Select(unsigned short lcd) もしくは Menu_Language_Select(Language
Code)：この操作はラングリッジコードに従い、システムメニューからラングリッジを選択するものである。仮に成功すればこの関数は０をリターンし、失敗すれば負の数値をリターンする。
57.
int CGPIctrl::Audio_Stream_Change(unsigned short astn) もしくは
Audio_stream_Change(Audio stream number)：この操作はオーディオのストリームナンバーを設定し、ＳＰＲＭ（１）を変更するものである。仮に成功すればこの関数は０をリターンし、失敗すれば負の数値をリターンする。
58.
int CGPIctrl::SP_Stream_Change(unsigned short spstn, unsigned short flag) もしくはSub-picture_stream_Change(Sub-pictures
stream number, Display flag)：この操作はサブピクチャのストリームナンバーを設定し、サブピクチャーを表示するか否かを設定し、ＳＰＲＭ（２）を変更するものである。仮に成功すればこの関数は０をリターンし、失敗すれば負の数値をリターンする。
59.
int CGPIctrl::Angle_Change(unsigned shortagln) もしくは Angle_Change(Angle number)：この操作はアングルを変更し、ＳＰＲＭ（３）を変更するものである。仮に成功すればこの関数は０をリターンし、失敗すれば負の数値をリターンする。
60.
int CGPIctrl::Parental_Level_Select(unsigned short ptl) もしくは Parental_Level_Select(Parental
Level)：この操作はＳＰＲＭ（１３）のパレンタルレベルを設定するものである。プレーヤーがパレンタルマネージメント機能を具える場合、プレーヤーはこのユーザオペレーションが賦与される。仮に成功すればこの関数は０をリターンし、失敗すれば負の数値をリターンする。
61.
int CGPIctrl::ParentalCountry_Select(unsigned short cty) もしくは
Parental_Country_Select(Country Code)：この操作はＳＰＲＭ（１２）のパレンタルレベル内のカントリーコードを設定する。仮に成功すればこの関数は０をリターンし、失敗すれば負の数値をリターンする。
62.
int CGPIctrl::Karaoke_Audio_Presentation_Mode_Change (unsigned short amxmd) もしくはKaraoke_Audio_Presentation_Mode_Change(Mode)：この操作はカラオケのオーディオミキシングモード、及びＳＰＲＭ（１１）を変更する。仮に成功すればこの関数は０をリターンし、失敗すれば負の数値をリターンする。
63.
int CGPIctrl::Video_Presentation_Mode_Change(unsigned short vpm) もしくは
Video_Presentation_Mode_Change(Mode)：この操作はビデオディスプレーモードと、ＳＰＲＭ（１４）を変更する。仮に成功すればこの関数は０をリターンし、失敗すれば負の数値をリターンする。
【図面の簡単な説明】
【００７３】
【図１】従来のＤＶＤシステムの簡単なブロック図である。
【図２】ＤＶＤソフトウェアプレーヤーのブロック図である。
【図３】この発明の一実施態様において、ＤＶＤプレゼンテーションを表示装置のビデオウィンドウに表示する一例を示した説明図である。
【図４】この発明の他の実施態様におけるリモートグラフィックスユーザインターフェースを示した説明図である。
【図５】この発明の一実施例におけるクライアント−サーバのネットワークを示した説明図である。
【図６】この発明の一実施例におけるサーバーコンピュータのモジュールを示したブロック図である。
【図７】この発明の一実施例におけるクライアントコンピュータのモジュールを示したブロック図である。
【図８】この発明の一実施例におけるリモートプレイバックのステップを示したフローチャートである。
【図９】クライアントモードとサーバーモードの両者を具えるソフトウェアＤＶＤプレーヤーのブロック図である。
【図１０】ホームネットワーキングシステムを示した説明図である。
【符号の説明】
【００７４】
１１０        ＤＶＤディスク
１１２        ナビゲーションデータ
１１４        プレゼンテーションデータ
１２０        ＤＶＤプレーヤー
１２２        ナビゲーションマネージャ
１２４        プレゼンテーションエンジン
１３２        ディスプレイ
２１０        ＤＶＤソフトウェアプレーヤー
２１２        グラフィックスユーザインターフェース
２１４        ＤＶＤナビゲータ
２１６        デマルチプロセッサ
２１８        ＣＳＳ解読モジュール
２２０        ＭＰＥＧオーディオデコーダ
２２２        ＡＣ３オーディオデコーダ
２２４        ＰＣＭオーディオデコーダ
２２６        ＭＰＥＧビデオデコーダ
２２８        サブピクチャデコーダ
２３０        オーディオレンダー
２３２        ビデオレンダー
３１０        ウィンドウ
３１２        ＤＶＤプレゼントテーションデータ
４１２        プレイボタン
４１４        停止ボタン
４１６        一時停止ボタン
４１８        取り出しボタン
４２０、４２２、４２４、４２６            ボタン
４２８        ステータスデータを表示する領域
５１０、５１４              サーバーコンピュータ
５１２、５１６              ＤＶＤ
５２０        コミュニケーションネットワーク
５２２、５２４、５２６             クライアントコンピュータ
６１０        モジュールサーバソフトウェア
６１２        リモートコマンドハンドル
６１４        ＤＶＤナビゲータ
６１８        コネクタ
６２０        ネットワークエンクリプトモジュール
６２２        コネクタ
７０８        クライアントソフトウェア
７１０        グラフィックスユーザインターフェース
７１２        ネットワークデエンクリプトモジュール
７１４        デマルチプロセッサ
７１６        ＣＳＳデエンクリプトモジュール
８１２        サーバー
９１０        ソフトウェア
９１２        リモートコマンドハンドルモジュール
９１４        オーディオデコーダモジュール
９１６        リモートクライアント
９１８        ネットワークインタフェース／エンクリプション／デクリプションモジュール
１０１０      ホームＤＶＤサーバー
１０１２      ＤＶＤドライバー
１０１４      表示装置
１０１５、１０１８          ホームＰＮＡデバイス
１０１６−１、１０１６−２、１０１６−３、１０１６−４  ホームＰＮＡ
１０２０      クライアントコンピュータ
１０２２、１０２６          薄型デコードクライアント
１０２４      テレビジョン
１０２８      ホームシアター
【図１】
2005521989.tif 000004
【図２】
2005521989.tif 000005
【図３】
2005521989.tif 000006
【図４】
2005521989.tif 000007
【図５】
2005521989.tif 000008
【図６】
2005521989.tif 000009
【図７】
2005521989.tif 000010
【図８】
2005521989.tif 000011
【図９】
2005521989.tif 000012
【図１０】
2005521989.tif 000013
【国際調査報告】
2005521989.tif 000014
2005521989.tif 000015
2005521989.tif 000016