JP2010182408A - Dvdプレイヤに対する改良プレイバック制御方法、システムおよびコンピュータ読取可能な媒体 - Google Patents

Dvdプレイヤに対する改良プレイバック制御方法、システムおよびコンピュータ読取可能な媒体 Download PDF

Info

Publication number
JP2010182408A
JP2010182408A JP2010056049A JP2010056049A JP2010182408A JP 2010182408 A JP2010182408 A JP 2010182408A JP 2010056049 A JP2010056049 A JP 2010056049A JP 2010056049 A JP2010056049 A JP 2010056049A JP 2010182408 A JP2010182408 A JP 2010182408A
Authority
JP
Japan
Prior art keywords
dvd
bookmark
information
current
api
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2010056049A
Other languages
English (en)
Other versions
JP5059154B2 (ja
Inventor
Glenn F Evans
エフ.エバンズ グレン
Alok Chakrabarti
チャクラバルティ アロック
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2010182408A publication Critical patent/JP2010182408A/ja
Application granted granted Critical
Publication of JP5059154B2 publication Critical patent/JP5059154B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B19/00Driving, starting, stopping record carriers not specifically of filamentary or web form, or of supports therefor; Control thereof; Control of operating function ; Driving both disc and head
    • G11B19/02Control of operating function, e.g. switching from recording to reproducing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/74Browsing; Visualisation therefor
    • G06F16/748Hypervideo
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/93Document management systems
    • G06F16/94Hypermedia
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/102Programmed access in sequence to addressed parts of tracks of operating record carriers
    • G11B27/105Programmed access in sequence to addressed parts of tracks of operating record carriers of operating discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/11Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information not detectable on the record carrier
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/25Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
    • G11B2220/2537Optical discs
    • G11B2220/2562DVDs [digital versatile discs]; Digital video discs; MMCDs; HDCDs

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Multimedia (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Television Signal Processing For Recording (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Indexing, Searching, Synchronizing, And The Amount Of Synchronization Travel Of Record Carriers (AREA)
  • Management Or Editing Of Information On Record Carriers (AREA)

Abstract

【課題】DVDナビゲータプログラムを制御するためにプレイヤアプリケーションが使用でき、単純化された統一性のあるインターフェースを使用する方法を提供する。
【解決手段】マルチメディア・コンテンツ・プレイバック・プロセスに対するマルチメディア・ナビゲータ・プログラムのカレントステートを含むブックマークを、APIに選択的に生成させ、ブックマークをマルチメディア・プレイヤ・アプリケーションに引渡すことによって、プレイヤアプリケーションがプレイバック期間中にロケーションにより正確に「ブックマーク」を付けて、選択したブックマーク付きのロケーションからプレイバックを、あとで再開できるようにする。
【選択図】図13

Description

本発明は、一般的には、コンピュータおよび類似装置に関し、より詳細には、あるアプリケーション・プログラミング・インターフェース(application programming interface:API)によってマルチメディアプレイヤアプリケーションと汎用メディアコンテンツナビゲータプログラムとの間で使用される改良プレイバック制御方法および構成に関する。
デジタル・バーサタイル・ディスク(digital versatile disc:DVD)は、DVD規格に定義されているように、3つの論理ユニット(logical unit)から構成されている。第1論理ユニットは、ユーザとのインターフェースとなって、ユーザのコマンドを第2論理ユニットに中継(リレー)するDVDプレイヤアプリケーションである。第2論理ユニットは、DVD上のデータを読み取って、解釈し、ビデオとオーディオのどのセグメントを処理するかを、ユーザのコマンドに基づいて制御するDVDナビゲータである。第3論理ユニットは、DVDから読み取ったデータを伸張(圧縮復元)し、対応するオーディオ、ビデオおよびサブピクチャストリームのうち、該当するものを1つまたは2つ以上のレンダラ(renderer)に提示するDVDプレゼンテーション層である。
これらの論理ユニットは、ハードウェアでも、ソフトウェアでも、あるいはその組み合わせでも実装(インプリメント)することが可能になっている。1つの例として、いくつかの実装では、DVDプレイヤは、ユーザに表示されるグラフィカル・ユーザ・インターフェース(graphical user interface:GUI)によって移植され、ユーザはそのGUIから、例えば、マウスなどのポインティング選択入力装置を使用して、DVDのプレイバックなどを選択的に制御できるようにしている。これは、システム開発者にとっては、通常、かなり簡単な作業であり、カストマイズを行うことも容易化されている。
これに対して、DVDナビゲータを実装する作業は、もっと複雑化する傾向がある。このことが特に当てはまるケースとして、DVD情報をプレゼンテーションなどに組み入れようとするアプリケーションがある。そこでは、各開発者エンティティは、そのDVDを読み取って、解釈し、DVDプレゼンテーション層に置かれているデコーダ機構とのインターフェースとなる機構を用意する必要がある。DVDプレゼンテーション層内のデコーダ機構は、今後は、サードパーティのプロダクトとして提供されることが予想される。従って、ナビゲータは、多数の異なるデコーダ機構とのインターフェースとなる必要があるため、DVDナビゲータを作成する作業はますます複雑化することになる。
従って、DVDナビゲータプログラムを制御するためにプレイヤアプリケーションが使用でき、強力であるが単純化された、統一性のあるインターフェースが必要である。
アプリケーション開発者に課される潜在的作業負担を認識して、本願発明の特許出願人は、オペレーティングシステムおよびユーザの環境をさらに強化しようとして、汎用ナビゲータコンポーネント(generic navigator component)を開発した。この汎用ナビゲータコンポーネントによれば、標準規格に準拠するDVDナビゲータがWindows(登録商標)の一部として用意され、アプリケーション開発者は、上記のような繰り返し起こり得る、困難な作業を行わないで済むようにしている。この汎用ナビゲータコンポーネントによれば、2つのアプリケーション・プログラミング・インターフェース(API)が公開されており、これらが結合されて、強力で、しかも単純化され、統一されたインターフェースを提供し、プレイヤアプリケーションはそのインターフェースを使用して、DVDナビゲータを制御することを可能にしている。これらのAPIは、基礎となるDVDナビゲータのフレキシビリティと有用性に、さらに影響を及ぼすように設計されている。
本発明のいくつかの態様によれば、この汎用ナビゲータコンポーネントのパフォーマンスをさらに拡張するための強化機能が開発されている。ここで重要なことは、プレイバックを開始かつ停止するためのユーザおよびプレイヤアプリケーションの環境を改良する必要があることである。現行ナビゲータによって、ディスク上の前のロケーションにジャンプすることは煩わしく、信頼性に欠けていることがよくある。例えば、ユーザが特定のロケーションからムービ(動画)を見続けたいとき、ユーザはそのロケーションを覚えておき、手動操作でその個所に戻るようにナビゲートしなければならない。従って、プレイヤアプリケーションが、プレイバック期間中に、ロケーションにより正確に「ブックマーク(bookmark)」を付けておき、ブックマークを付けたロケーションを選択したプレイバックを、あとで再開できるようにする機構が用意されていると好都合である。
本発明の種々の方法および構成の理解を容易にするために、以下では、添付図面を参照して詳しく説明することにする。
例示DVDプレイヤ装置を示すブロック図である。 図1のDVDプレイヤ装置で使用するのに適しているコンピュータ環境を示すブロック図である。 DVDプレイヤアプリケーションと汎用ナビゲータプログラムとの間の第1同期モードを示すブロック図である。 DVDプレイヤアプリケーションと汎用ナビゲータプログラムとの間の第2同期モードを示すブロック図である。 DVDプレイヤアプリケーションと汎用ナビゲータプログラムとの間の第3同期モードを示すブロック図である。 DVDプレイヤアプリケーションと汎用ナビゲータプログラムとの間の第4同期モードを示すブロック図である。 DVDプレイヤアプリケーションと汎用ナビゲータプログラムとの間の非ブロッキング同期モードとブロッキング同期モードを示すブロック図である。 DVDプレイヤアプリケーションと汎用ナビゲータプログラムとの間の非ブロッキング同期モードとブロッキング同期モードを示すブロック図である。 プレイヤアプリケーションと、メディアコンテンツに関係するプログラムとの間の例示読み/書き通信機能を示すブロック図である。 メディアコンテンツに対する制限付き/親制御に関連するデュアルブランチのプレイバック決定ポイントを示すライン図である。 メディアコンテンツに対する制限付き/親制御に関連するマルチブランチのプレイバック決定ポイントを示すライン図である。 プレイヤアプリケーションに用意されているコードの使用によってメディアデータへのアクセスを制御するための例示的方法を示すブロック図である。 例示メディアコンテンツブックマーキング機能を示すブロック図である。 メディアソースを表す実質的に唯一の識別子を生成するための例示的方法を示す図である。
以下に示す例示の方法および構成では、DVDプレイヤアプリケーションから見えるAPI(application programming interface:アプリケーション・プログラミング・インターフェース)をもつ汎用ナビゲータに関連する、いくつかの強化機能と特徴が説明されている。これらは、DVDナビゲータおよびDVD2 APIと呼ばれている。なお、以下の説明の大部分は、Windows(登録商標)オペレーティングシステムが稼動しているPCが中心になっているが、種々の方法および構成は、他のオペレーティングシステム、装置などにも適用可能であることはもちろんである。さらに、ここで使用されているDVDという用語には、他のメディアフォーマットも含まれることはもちろんである。従って、DVDコンテンツ自体のソースとしては、ハードドライブ、コンパクトディスク、ネットワークなどが可能である。
以下で説明するように、DVDナビゲータおよび/またはDVD2 APIによって、プレイヤアプリケーションに、DVDコンテンツのプレイバックを会話型で制御することを可能にする。DVD APIは2つのインターフェースから構成されている。第1のインターフェースは“IDvdlnfo2”と名付けられている。第2のインターフェースは“IDvdControl2”と名付けられている。プレイヤアプリケーションは、IDvdlnfo2インターフェースを使用すると、DVDナビゲータのカレントステート(現在の状態)をクエリ(照会)することができ、IDvdControl2インターフェースを使用すると、プレイバックの制御を向上することおよび/またはDVDナビゲータのステートを変更することができる。
DVD2 APIは、唯一のおよび斬新な複数の特徴を提供する。例えば、スレッドに基づく同期化メソッドをリアルタイムプレイバックに提供し、プレイバック制御機構を提供することによってやりとり(会話型)の程度を決定し、通信機構をプレイヤアプリケーションとディスクプログラムとの間に提供し、タイムレンジ(時間範囲)のプレイ実行を支援し、機構を親レベル(parental level)の要求を調整かつ処理することに提供し、最低親レベル(minimal parental level)を決定することによって制限されたコンテンツセグメントをプレイ実行することに機構を提供し、および唯一のディスク識別子のアルゴリズムを提供しさらにDVDコンテンツ内のあらゆるロケーションのブックマーク付けを支援する。
以上のことを念頭に置いて、図1を参照して説明すると、図1は、例示のDVDプレイヤ100を示す。プレイヤ100は少なくとも1つのプレイヤアプリケーション102を含み、プレイヤアプリケーション102は、ユーザインターフェース(U/I)104をユーザに提示するように構成されている。U/I104によって、ユーザは、DVDコンテンツ110のプレイバックに関してプレイヤアプリケーション102に指示することが可能になっている。
図に示すように、プレイヤアプリケーション102はDVD2 API108aと108bとを備え、それぞれによって、ユーザの要求を伝達し、フィードバック情報を受け取るようになっている。ナビゲータ106内の関数へのアクセスは、DVD2 API108a−bによって行われる。ナビゲータ106はDVDコンテンツ110とやりとりし、DVDコンテンツ110は、メディア情報のほかに、プログラム112を含む。プログラム112は、残りのコンテンツと関連付けられたメニュー、ジャンプなどを定義する。ナビゲータ106は、プレイバックプロセスに関連付けられたステート114を含む。ここで、ステート114では、例えば、カレントユーザオペレーション(例えば、ストップ(停止)、ポーズ(休止)、リバース(逆送り)、高速前送り、スローモーション、アングルなど)は、DVDコンテンツ(例えば、チャプタ、時間、フレーム)内のカレントロケーションおよび最近のジャンプ/UOPを記録しておくことができるよう他のある種のレジスタと一緒に格納される。
ナビゲータ106の出力は、符号化ビデオストリーム、符号化オーディオストリーム、サブピクチャストリームのうち、該当するものを含んでいる。これらの出力はデコーダ(復号器)116に入力され、このデコーダは、符号化データを復号化(デコード)(解読と伸張)し、対応するストリームをビデオレンダラ(video renderer)118またはオーディオレンダラ(audio renderer)120のうち、該当する方に出力するように構成されている。レンダラ118は、ビデオ情報が、例えば、ビデオモニタによってユーザに表示されるようにする。レンダラ120は、オーディオ情報が、例えば、1つまたは2つ以上のスピーカからリスナのために再生されるようにする。
次に、図2を参照すると、図2は、図1の構成で使用するのに適している例示コンピューティングシステム200を示すブロック図である。
コンピューティングシステム200は、この例では、パーソナルコンピュータ(personal computer:PC)の形体になっているが、他の例では、コンピューティングシステムは、専用サーバ、特殊目的装置、アプライアンス、ハンドヘルドコンピューティング装置、モバイルテレホン装置、ページャ装置などの形体にすることも可能である。
図示のように、コンピューティングシステム200は、処理ユニット221、システムメモリ222、およびシステムメモリ223を含んでいる。システムバス223は、システムメモリ222と処理ユニット221を含む種々システムコンポーネントを1つにリンクしている。システムバス223は、数種類のバス構造のいずれかにすることが可能であり、その中には、種々のバスアーキテクチャのいずれかを採用しているメモリバスまたはメモリコントローラ、ペリフェラル(周辺)バス、およびローカルバスが含まれている。システムメモリ222の代表例としては、リードオンリメモリ(read only memory:ROM)224とランダムアクセスメモリ(random access memory:RAM)225がある。基本入出力システム(basic input/output system:BIOS)226は、スタートアップ時のときのように、コンピューティングシステム200内のエレメント間で情報を転送するのを支援する基本ルーチンで構成され、ROM224に格納されている。コンピューティングシステム200は、さらに、ハードディスク(図示せず)との間で読み書きを行うハードディスクドライブ227、取り外し可能磁気ディスク160との間で読み書きを行う磁気ディスクドライブ228、およびCD−ROMや他の光メディアなどの、取り外し可能光ディスク231との間で読み書きを行う光ディスクドライブ230を装備している。ハードディスクドライブ227、磁気ディスクドライブ228、および光ディスクドライブ230は、それぞれ、ハードディスク・ドライブ・インターフェース232、磁気ディスク・ドライブ・インターフェース233、および光ドライブインターフェース234を介してシステムバス223に接続されている。これらのドライブおよびそれぞれに関連するコンピュータ読取可能な媒体は不揮発性ストレージ(nonvolatile storage)として、コンピューティングシステム200のためのコンピュータ読取可能な命令、データ構造、コンピュータプログラムおよび他のデータを格納している。
いくつかのコンピュータプログラムは、ハードディスク、磁気ディスク229、光ディスク231、ROM224またはRAM225に格納可能であり、それらプログラムの中には、オペレーティングシステム235、1つまたは2つ以上のアプリケーションプログラム236、他のプログラム237、およびプログラムデータ238が含まれている。
ユーザは、キーボード240やポインティングデバイス242(マウスなど)などの、入力装置によってコマンドと情報をコンピューティングシステム200に入力することができる。カメラ/マイクロホン255またはリアルタイムデータ256を取り込み(キャプチャ)、あるいは出力できる機能を備えた他の類似メディアデバイスを、コンピューティングシステム200への入力装置とすることも可能である。リアルタイムデータ256は、該当のインターフェース257からコンピューティングシステム200に入力することができる。インターフェース257をシステムバス223に接続することによって、リアルタイムデータ256を、RAM225または他のデータストレージ装置の1つに格納し、いずれにせよ処理することを可能にする。
図示のように、モニタ247や他の種類のディスプレイ装置も、ビデオアダプタ248のような、インターフェースを介してシステムバス223に接続されている。モニタのほかに、コンピューティングシステム200は、スピーカやプリンタのような、他の周辺出力装置(図示せず)を装備することもできる。
コンピューティングシステム200は、リモートコンピュータ249のような、1つまたは2つ以上のリモートコンピュータとの論理コネクションを使用するネットワーキング環境で動作することができる。リモートコンピュータ249は、別のパーソナルコンピュータ、サーバ、ルータ、ネットワークPC、ピアデバイスまたは他の共通ネットワークノードにすることが可能であり、図2にはメモリストレージ装置250だけが示されているが、コンピューティングシステム200に関連して上述したエレメントの多くまたは全部を含んでいるのが代表的である。
図2に示す論理コネクションとしては、ローカル・エリア・ネットワーク(LAN)251と広域ネットワーク(WAN)252がある。このようなネットワーキング環境は、オフィス、企業内(enterprise-wide)コンピュータネットワーク、イントラネット(intranet)、およびインターネット(the Internet)で普及している。
LANネットワーキング環境で使用されると、コンピューティングシステム200は、ネットワークインターフェースまたはアダプタ253によってローカルネットワーク251に接続されている。WANネットワーキング環境で使用されるときは、コンピューティングシステム200は、インターネットなどの広域ネットワーク252上のコミュニケーションを確立するためのモデム254や他の手段を装備しているのが代表的である。モデム254は内蔵型と外付け型があり、どちらもシリアルポートインターフェース246を介してシステムバス223に接続されている。
ネットワーキング環境では、コンピューティングシステム200に関連して上述したコンピュータプログラムまたはその一部は、リモートメモリストレージ装置に格納しておくことができる。以上から理解されるように、図示のネットワークコネクションは例示であり、コンピュータ間のコミュニケーションリンクを確立する他の手段を使用することも可能である。
DVD2 API108a−bによれば、アプリケーション作成が単純化され、機能が補強され、DVDプレイヤアプリケーション開発に共通している多数の、困難な同期化問題が解決される。基本的に、共通DVD APIによると、スタンドアロンのDVDプレイヤアプリケーションだけに役立つDVDソリューション、すなわち、企業所有(proprietary)のシングルユースモノリシックDVDソリューションに頼らないで済むことになる。また、このAPIによると、種々のアプリケーション(プレゼンテーションプログラム、DVDプレイヤ、ゲーム、あるいは会話型学習プログラムなど)は、どのDVDデコーダやDVDハードウェアサポートがユーザのシステムに導入されているかを知らなくても、DVDサポートを追加することが可能になっている。歴史的に、カスタムDVDソリューションは非常にハードウェアに依存する傾向があり、ユーザのためのアップグレードオプションが制限されている。
以下で詳しく説明するように、DVD2 API108a−bでは、フレキシブルな同期機構が追加されているため、DVDナビゲータ106に対して行われた要求の完了ステータスを、アプリケーションに知らせることが可能になっている。新規のコマンド完了通知によれば、アプリケーションは他のタスクの実行と同時に、以前の要求のステータスを知ることが可能になっている。従来のDVD APIでは、要求が完了するまでアプリケーションをブロックさせるか、あるいはどの通知もアプリケーションに送信しないことが前提になっていた。現在では、アプリケーションは、同期オブジェクトを受け取ったとき、そこで待ちを続けてもよいか、あるいは完了イベントの通知を受けるか、のどちらかが選択できるようになっている。
また、同期機構からは、要求が正常に実行されたかどうかを示す、要求のステータスが戻されるか、あるいは要求の実行が失敗した理由(エラーコード)が戻されるようにもなっている。従来のDVD APIでは、要求が正常に実行されるように見えても、DVDナビゲータ106が実際に要求の処理を開始したとき、ステートが変わったために、あとで失敗することがあった。その時点では、エラー通知をプレイヤアプリケーション102に戻すように伝播して行く方法がなかった。また、新規の機構では、どの要求も、ディスクのプログラム112によって、あるいは以後のユーザアクションによってキャンセルまたはオーバライドされたとき、そのことがプレイヤアプリケーション102に通知されるようになっている。
現行DVD APIでは、予め定義されたビヘイビア(predefined behavior)が使用され、コマンドがカレントディスプレイとどのようにやりとりするかは、これらのビヘイビアによって決まるようになっている。あるプレイヤアプリケーションが新しい要求を出すと、そのプレイヤアプリケーションに優先権が与えられ、プレイ実行されているコンテンツ(ビデオまたはオーディオ)があれば、そのコンテンツはキャンセルされる。別の方法として、APIのセマンティックスによれば、カレントプレゼンテーションが完了してから新しいコンテンツが表示されるようにし、ユーザを強制的に待たせてから別のアクションを要求できるようにしている。DVDプレイヤやゲームのような会話型アプリケーションでは、一番目のビヘイビア(瞬時効果)が要求されることがあるが、スライドショウ(slideshow)などの、他のアプリケーションでは、2番目のビヘイビア(カレントプレゼンテーションの完了)が要求されることがある。これらの2オプションは相互に排他的であるため、予め定義されたAPIのセマンティックスでは、両方を受け入れることが不可能になっている。DVD2 API108a−bによれば、プレイヤアプリケーション102は、望みのビヘイビアをフラグで指示できるだけでなく、同期機構とどのようにやりとりするかも指示できるようになっている。
DVDナビゲータ106は、実行ステート114(メモリレジスタ124の集まりの形態になっている(図9参照))を使用する仮想CPUをシミュレートする構成になっている。従来のDVD APIでは、アプリケーションはレジスタの内容を読み取ることが可能であった。DVD2 API108によれば、プレイヤアプリケーション102は、メモリレジスタの内容を変更することも可能になっている。この読み書き結合機能(combined read/write functionality)によると、プレイヤアプリケーション102は、図9に示すように、基本的にプログラム112と「やりとり」することが可能になる。
この読み書きメソッドは、同期化にも使用できるような働きをする。1つの例として、読み書き機能を使用すると、プレイヤアプリケーション102は、「制御によるアンロッキング(controlled unlocking)」、つまり、DVD内容の全部または一部への限定アクセスを実現することができる。制御によるアンロッキングによると、プレイヤアプリケーション102が特定のメモリレジスタをセットするまで、ユーザがディスクの一部を見ることを制限することができる。プレイヤアプリケーション102は、コンテンツの作成者、ユーザ、別のプログラム、Webサイトなどの、だれからでもこの情報を受け取ることができる。例えば、図12は、コードがプレイヤアプリケーション102によってレジスタ124にどのように書き込まれ、プログラム112によってどのように読み取られるかを示している。そのコードが正しければ、DVDコンテンツ110の一部130をプレイバックすることが可能になる。
ある種の実装では、DVD2 API108a−bは、DVD規格付属書Jで提案されている、単純化されたネーミング構成(simplified naming scheme)を潜在的ユーザオペレーションのために取り入れている。DVD2 APIでは、使用されているDVD専門用語が少なく、ネーミング構成が直観的であることを特徴としている。DVD規格に提案されているユーザオペレーション名は不明確であるため、アプリケーションによって誤用されるか、あるいは十分に活用されない可能性がある。現在では、抽象レベルではなく、その使い方が名前から分かるようにしている。また、時間コードは、扱いづらいBCDコーディングによるのではなく、単純な整数フォーマットで戻されるようにしている。
従来のいくつかのDVD APIでは、ブランチがいつも失敗すると、DVDナビゲータがエラーイベントで知らせるようにしているため、最低親レベルのブランチングを正しく処理することができなかった(図10参照)。そのため、プレイヤアプリケーションは親レベルを大きくしてから、初めからムービをリスタートする必要があった。ブランチが失敗すると、プレイヤアプリケーションは、プレイバックを中止してSTOPドメインに入ってから、親レベルを変更する必要があった。プレイヤアプリケーションが継続できるのは、ムービをリスタートすることによってのみである。
これに反して、DVD2 API108a−bでは、ナビゲータ106をポーズし、親レベル増大要求に応答する機会をプレイヤアプリケーション102に与えてからナビゲータ106が継続するようにするモードが用意されている。この増大要求が許可されると、ユーザがムービを初めからスタートしなくても、プレイバックが継続される。DVD規格では、要求が成功したか、失敗したかをナビゲータが知るまで、ナビゲータをポーズさせることだけが規定されている。この規格には、このタスクを実行する機構は記載されておらず、ナビゲータがプレイヤに組み込まれている「一時的親レベル変更機能をコールする」ことが提案されている(4.6.4.1 V14−197)。
DVD規格には、ユーザがマルチセグメント親レベルブランチをプレイ実行できるようにする機構も記載されていない(例えば、図11参照)。そのために、従来のDVD APIでは、ブランチがカレントユーザレベルで許されないとき、ユーザがマルチセグメント(またはマルチブランチ)親レベルブランチをプレイ実行することを可能にする機構は用意されていなかった。従来、ナビゲータは、カレント親レベルではブランチが用意されていなかったために、プレイバックが中止したことをアプリケーションに通知するだけであった。
これに反して、ナビゲータ106とDVD2 API108a−bでは、ブロックをプレイ実行するために必要な最低レベルが計算され、この値が「プレイバック中止」通知と一緒に戻されるようにしている。そのため、アプリケーションは、DVDコンテンツ110のプレイ実行を継続するために要求される、必要な親レベルをユーザに通知できるようになった。従って、ユーザは、試行錯誤で必要レベルを推量する必要がなく、試行のたびにムービをリスタートする必要がなくなった。
さらに、DVD2 API108a−bでは、DVD規格付属書Jと従来のDVD APIの機能が拡張されている。DVD規格付属書Jでは、実行されるアクションだけが規定されている。また、プレイヤアプリケーション102が、ディスクまたはDVDナビゲータのステート114に関する情報をどのようにして探し出すかは、規定されていない。本発明では、新規のディスクおよびナビゲーション・ステート・クエリ(照会)機能が提供されている。
従来のDVD APIとは異なり、DVD2 API108a−bでは、アプリケーション作成者は、準備状態に置かれたDVD規格のコピーがまだなくても、DVDを使用できるようになっている(例えば、APIから戻されるデータの記述が不完全であるため)。テキスト情報、タイトル属性、オーディオ属性およびサブピクチャ属性を得るためにメソッドにより戻されるデータは、アプリケーション開発者が新規のAPIおよび関連ドキュメンテーションから必要情報を得られるようにドキュメント化されている。
また、DVD API108a−bによれば、アプリケーションは、カレント・タイトル・インデックスだけでなく、任意のタイトルインデックスの属性をクエリすることも可能になっている。また、DVD API108a−bからは、オーディオストリームのカラオケ情報も戻されるので、インテリジェントなカラオケアプリケーションを実現することが可能になっている。さらに、DVD API108a−bからは、デコーダ116の機能も戻されるので、アプリケーションは、構成オプションをユーザに提示すること(両方向のフレームステッピング、スムーズな巻き戻しや高速前送り、などのような)、あるいはユーザインターフェースをインテリジェントに変更することが可能になっている。新規な制御機能も用意されている。例えば、DVD API108a−bによれば、プレイヤアプリケーション102は、チャプタの範囲または時間の範囲をプレイ実行し、(相対的ボタンだけでなく)特定のメニューボタンを選択することができ、ユーザはマウスロケーションを使用してボタンを選択することができる。さらに、ブックマークオブジェクトを取得/設定すること、および計算されたカレント・ユニーク・ディスクIDをクエリできることもサポートされている。
DVD API108a−bの同期機構および関連ナビゲータ106を、アプリケーションと共に理解しやすくするために、以下のセクションでは、種々の例示動作モードが検討され、利点と欠点のいくつかが指摘されている。基本的には、4つの動作モードと、これらに変形を加えた種々のモードがある。最初の4モードは図3乃至図6に示されている。4モードの各々は、本発明による種々の方法および構成で支援することが可能になっている。
「ドントケア(don't care)」モードまたはモデルは図3に示されており、そこでは、プレイヤアプリケーション102は、結果があるとき、どのような結果であるかおよび/または要求がいつ完了するかを気にすることなく、要求をナビゲータ106に送信するようになっている。例としては、ロケーションへのジャンプ要求、メニュー表示要求などがある。ここでは、プレイヤアプリケーションは、基本的に、要求したオペレーションが完了していることを想定している。
図4には、イベントモードまたはモデルが示されている。ここでは、プレイヤアプリケーション102は、ナビゲータから送られる汎用イベント(generic event)が起こったとき(要求が完了したとき)通知されるようになっている。このモデルの1つの欠点は、プレイヤアプリケーション102が2つ以上の要求を行っている可能性があるため、イベントを別々に通知できないことである。
上記を改良したものが図5に示されている。そこでは、イベントが起こったとき、プレイヤアプリケーション102に通知を行うのではなく、ナビゲータ106はオブジェクトを生成し、プレイヤアプリケーション102はそのオブジェクトを使用して、要求のステータスをトラッキング(追跡)できるようにしている。このようにすると、プレイヤアプリケーション102は、インスタンストラッキング(instance tracking)を行うことが可能になる。
さらに別の改良では、図6に示すように、ナビゲータ106は、トラッキングのために使用できるオブジェクトのほかに、以後のイベントも生成することが可能になっている。このようにすると、プレイヤアプリケーション102は、オブジェクトを使用してイベントを別々に通知することが可能になる。従って、このモデルでは、複数のインスタンストラッキングがサポートされている。
これらの種々モードとDVD API108a−bの詳細を説明する前に、ブロッキングのみ(blocking-only)APIまたは非ブロッキングのみ(non-blocking-only)APIの欠点について説明することにする。1つの改良形態は図7に示されている。そこでは、プレイヤアプリケーション102は、要求をナビゲータ106に送信している(当然に、DVD API108aを経由して)。プレイヤアプリケーション102は、ナビゲータ106から結果メッセージが送られてくるのを待たされている。このモデルの1つの欠点は、プレイヤアプリケーション102が待っている間に、U/I104が「フリーズ(freeze)」されるおそれがあることである。
U/I104のフリーズ問題を解決する1つの方法は、図8に示すようなワーカプログラム(worker program)を用意することである。そこでは、ワーカプログラムは要求を受け取ると、その要求をナビゲータ106に転送した後、結果メッセージが送られるのを待たされている。ワーカプログラムが結果メッセージを受け取ると、結果メッセージはプレイヤアプリケーション102に転送される。これによりU/I104はフリーズから解放されるが、同時に動作している複数のワーカを管理することが困難になっている。
これに対して、非ブロッキングAPIは、「ドントケア」モードと同じ働きをしている。オペレーションのステータスまたは結果に関する直接的フィードバックは得られない。プレイバックが変更(時間変更、メニュー変更など)されたことによるステータスは、アプリケーションが推量しなければならない。しかし、ディスクコンテンツと構造は変化するので、このアプローチは非常に信頼性に乏しく、エラーが起こりやすくなっている。このことを念頭に置いて、以下のセクションでは、DVD API108a−bの使い方に至るまで詳細に説明されている。
従来のDVD APIにおけるIDVDControlメソッドは、すべてがアプリケーションと非同期に実行されている(非ブロッキングのみモード)。従って、アプリケーション102がメソッドをコールすると、ナビゲータ106は予備的検証を行い、その直後に結果を戻している。しかし、その間に、DVDナビゲータのステートが変わっている可能性があるため、DVDナビゲータが実際にコマンドの実行を始めたとき要求が失敗するおそれがある。
1つのソリューションは、すべての要求が完了するまでメソッドがリターンしないことを保証するようにDVD APIのセマンティックスを変更することである。しかし、非同期のビヘイビアを残しておくためには、アプリケーションはDVD APIコールを管理するために別々の実行パス(例えば、ヘルパスレッド(helper threads)を作成しなければならない(これは、ブロッキングのみモデルで上述した通りである)。マルチスレッドプログラミングモデルは、常にアプリケーション開発、特に単純なスクリプト可能インターフェースを複雑化している。
従って、この問題を解決するために、DVD2 API108a−bでは、同期コマンドオブジェクトが作成されている。このコマンドオブジェクトによると、アプリケーションを同期させ、コマンドのステータスをアプリケーションに知らせることができる。各APIメソッドは、2つのエキストラ引数をもつように拡張されている。DVD2 APIコマンドの一般形式は次のようになっている。
Figure 2010182408
ここで、ppObjectは、同期COM(Component Object Model:コンポーネントオブジェクトモデル)をアプリケーション102に戻すために使用される引数であり、dwFlagsは、同期オブジェクトのビヘイビアと使用状況を判断するためにメソッドに渡されるフラグのセットである。これらは、利用できる予め定義されたフラグをビットワイズ(ビット単位)に結合したものである。
同期オブジェクトのインターフェースは次のようになっている。
Figure 2010182408
戻されたオブジェクトは、アプリケーションによって解放されなければならない。プリインクリメントされたCOMオブジェクトを戻すと、オブジェクトの寿命を正しく保つことができる。このインターフェースの変形では、スタートとエンドが現れた個所でアプリケーションを待たせる2つのメソッドが、システムの他の変更と共に追加されるようにオリジナルインターフェースが拡張されている。
Figure 2010182408
フラグは次のような値をとる。
・DVD_COM_FLAG_SendEvents −要求のステータスに関するイベントが送信される。
・DVD_COM_FLAG_Block −コマンドが完了するまで継続されない。
・DVD_COM_FLAG_None −フラグがないことを示すプレースホルダ。
特殊な戻りコードであるVFW_E_DVD_CMD_CANCELLEDは、初期DVD APIメソッドによって、IDvdCmd::WaitForStartまたはIDvdCmd::WaitForEndによって、あるいはコマンドが優先使用され、有効でなくなったとのイベント通知と共に戻される。
C++でのコマンドオブジェクトの使い方のサンプル例を示すと、次の通りである。
Figure 2010182408
上述したように、プレイヤアプリケーション102は、次のいずれかによってコマンドの開始と完了を判断することができる。すなわち、コマンドオブジェクトを直接に使用する方法、コマンドオブジェクトを使用しない方法、コマンドに関連するイベントが起こるのを待つ(listen to)方法、イベントとオブジェクトの組み合わせを使用してコマンドの複数のインスタンスをトラッキングしやすくする方法、などである。
オブジェクトを使用する場合
コマンドを指すIDvdCmdを渡すことによって、ナビゲータは、新しいIDvdCmdオブジェクトを割り振って、戻すようにしている。インターフェースメソッドIDvdVmd::WaitForStart()をコールすることは、コマンドが開始するまでブロックされ、IDvdVmd::WaitForEnd()は、コマンドが完了するまで待たされる。コマンドがキャンセルされたときは、ナビゲータからは、VFW_E_COMMAND_CANCELLEDが戻される。アプリケーションはオブジェクトを完了した後、Release()をコールしてCOMオブジェクトを解放しなければならない。DVD APIに渡されるNULLポインタは、コマンドオブジェクトがアプリケーションに戻されないこと、コマンド実行が標準同期モードで継続されることを示している。
他の2つのメソッドGetStartHandle()およびGetEndHandle()からは、アプリケーションが、スタートまたはエンドイベントが起こるのを待っている間、他の要求(ディスクI/O、ユーザインターフェース変更、セマフォア変更、スレッドのアンブロッキング、他のプロセスとの通信など)が処理されるのをアプリケーションに待たせるシステム固有同期オブジェクトが戻される。そのあと、アプリケーションは、WaitForStart()メソッドまたはWaitForEnd()メソッドをコールして、結果を取り出す。Microsoft Windows(登録商標) APIでの例は、次のようになっている。
Figure 2010182408
オブジェクトを使用しない場合
オブジェクトを管理する代わりに、アプリケーションは、NULLオブジェクトポインタを使用してDVD_CMD_FLAG_Blockフラグを指定するだけで済ますことができる。コマンドは、完了するか、あるいはキャンセルされるまでリターンしない。APIは、同期ビヘイビアをエミュレートしている。例えば、
Figure 2010182408
は、意味的には次のものと同じである。
Figure 2010182408
イベントを使用する場合
DVD_CMD_FLAG_SendEventsフラグを指定すると、ナビゲータは次のようなイベントを引き起こす。
Figure 2010182408
アプリケーションがあるコマンドを同期するだけでよいときは(またはコマンドのインスタンス間を区別しないときは)、同期オブジェクトは必要でなく、イベントだけが必要になる。NULLオブジェクトポインタはDVD APIメソッドに渡され、イベントと一緒に送られるlParam1は常に0にセットされる。
イベントおよびオブジェクトを使用する場合
オブジェクトとDVD_CMD_FLAG_SendEventsフラグの両方を指定すると、アプリケーションは異なるコマンドをトラッキングすることができる。DVD2 APIをコールすると、後で参照するためにアプリケーションが使用できるオブジェクトが戻される。イベント通知が送信されるとき、DVD2 APIは各イベントに対してユニーク識別子(または「クッキー(cookie)」)lParam1を生成するので、アプリケーションは各イベントをIDvdCmdオブジェクトに逆マッピングすることができる。このクッキーの方法によると、アプリケーションはイベントを見落としたとき、メモリがリークするのを防止され、DVDナビゲータにオブジェクトの有効性を検証させることができる。
DVD2 APIメソッドであるIDvdlnfo2::GetCmdFromEvent(lParam1)は、クッキーをコマンドオブジェクトポインタにマッピングする。アプリケーションは、これらイベントの各々の処理を終えた後、戻されたポインタ上でCOM“Release”メソッドをコールしなければならない。アプリケーションがメッセージの処理を完全に終えたとき(通常は、ENDイベントを受け取った後)、セーブしていたグローバル・コマンド・ポインタ上で”Release”をコールしなければならない。
ブロッキング/非ブロッキングの例
以下に説明する例では、IDvdControl2インターフェースを使用すると、同期がどのように行われるかを示している。
理解しやすくするために、例のいくつかは、EC_DVD_CMDイベントからのlParam1値をIDvdCmdオブジェクトにマッピングするために使用される、以下のユーティリティ関数のことを指している。
Figure 2010182408
同期なし(非同期モデル)
アプリケーションは、次のメソッドをコールしてアクションを要求する。
Figure 2010182408
イベントなしの同期
次の例は、イベントを使用しないでコマンドが終了するまで待たせる正しいやり方を示している。
Figure 2010182408
イベントを使用した部分的同期
次の例は、IDvdCmdオブジェクトを管理しないでシングルイベントを同期するやり方を示している。
Figure 2010182408
イベントを使用した完全同期
次の例は、イベントを使用してコマンドを待つ正しいやり方を示している。
Figure 2010182408
イベントおよび別のイベントループスレッドを使用した完全同期
次の例は、イベントを使用してコマンドを待つ正しいやり方を示している。
Figure 2010182408
プレイバックやりとり制御機構の例
従来のDVD APIコマンドでは、コンテンツになんらかの変更が行われると、プレイヤアプリケーション102はカレント・コンテンツ・プレゼンテーションを切り捨てることを望み、新しいコンテンツにスイッチすることが想定されていた。改良されたDVD2 APIコマンドでは、次のようなフラグでコマンドオブジェクト機構が拡張されている。
Figure 2010182408
ここで、.._Flushフラグは、カレントコンテンツのプレゼンテーションが即時に切り捨てられて、新しいコンテンツが表示されることを開始できることを示している(従来と同じ)。このフラグがないときは、カレント・コンテンツ・プレゼンテーションを最初に終了させることを示している。…_..Renderedフラグは、各コマンドの開始と終了のセマンティックスを変更している。デフォルトでは、コマンドは開始し、その処理を終えると、終了するようになっている。この新しいフラグは、コンテンツの変更結果が、それぞれ処理され、表示されるとき、開始と終了が起こることを示している。
ディスク通信機構の例
DVD2 API108a−bによると、プレイヤアプリケーションは、DVDナビゲータの汎用レジスタ(GPRM)を読み取ることができるだけでなく、以下のものを使用して、プレイヤアプリケーションにGPRMをセットさせることも可能になっている。
Figure 2010182408
読み書き結合機能によると、DVDアプリケーションはディスク上のプログラムと「やりとり」することが可能になり、「制御によるアンロッキング」、つまり、制限されたコンテンツへのアクセスを実現することが可能になる。アプリケーションはGetAlIGPRMを使用してカレントステートを読み取り、SetGPRMを使用して特定のレジスタをセットすることができる。
SetGPRMメソッドは、アプリケーションとDVDナビゲータの仮想CPUを同期するためにも使用することができる。SetGPRMメソッドは、DVDナビゲータがユーザコマンドを処理することが許されている期間にだけ実行される(プレゼンテーションフェーズと静止フェーズ、3.3.6.1 V13−28)。ナビゲーションコマンドの実行は、アトミック(atomic)であるものとみなされている。従って、GPRMをセットすることは、これらのフェーズが現れるまで延期される。アプリケーションはコマンドオブジェクトおよびイベントの機構を使用して、調整を図ることができる。コマンドオブジェクトのイベント機構は、イベント通知(ドメイン変更やシステムレジスタに対する変更など)とシリアル化されている。アプリケーションはSetGPRMをコールし、コマンド完了イベントが受信されるまで待った後で、DVDナビゲータのステートの変更(ドメイン変更のこともあり得る)を示すイベントを待つことができる。
ディスクからアプリケーションへの通信を実現する1つのやり方は、次の擬似コードに示されている。
(1)ディスクはデータを送信し、応答を待つ:
a)ディスクはGPRM値を変更する(オンディスク・ナビゲーション・コマンドを使用して)
b)ディスクはそのステートを変更する(例えば、そのドメインを変更する)
c)ループに入ってGPRM変更を待つ(アプリケーションによって引き起こされる)
(2)アプリケーションはGPRMデータを受信し、応答する:
d)ステート変更(例えば、ディスクのドメイン変更)を待つ
e)GPRM値を読み取る
f)SetGPRMを使用してGPRM値をセットする。
アプリケーションからディスクへの通信を実現する1つのやり方は、次の擬似コードに示されている。
(1)アプリケーションはデータを送信し、受信確認通知を待つ:
a)アプリケーションはSetGPRMを使用してデータをセットする
b)アプリケーションはドメイン変更を待ってから継続する
(2)ディスクはデータを受信し、受信確認通知を返送する:
c)ディスクはGPRMを読み取る
d)ディスクはそのステートを変更する(例えば、そのドメインを変更する)。
クエリ(情報)インターフェースの例
DVD規格では、どのデータ取り出しメソッドも提案されていなくても、DVD2 APIにはこの機能が提供されている。以下は、提供されているメソッドのリストである。
Figure 2010182408
制御インターフェースの例
1)期間プレイバックインターフェース(Period Playback Interface)
チャプタの範囲をプレイ実行するほかに、DVD2 APIでは、次のものを使用して時間期間をプレイ実行することを可能にしている。
Figure 2010182408
このメソッドを使用すると、アプリケーション(ビデオ編集プログラムやゲームなど)は、コンテンツの任意部分を正確にプレイバックすることができる。コマンドオブジェクト機構と結合すると、スライドショウプレゼンテーションやビデオゲームの合間、キオスクのようなアプリケーションは、シングルDVD2 APIコマンドを使用して実現することができる。
2)デフォルト言語インターフェース(Default Language Interface)
Figure 2010182408
これらのメソッドを使用すると、アプリケーション(ユーザからの)はDVDプレイバックに対してデフォルト言語選択項目をセットすることができる。
3)ボタンインデックス選択(Button Index Selection)
アプリケーションは、次のメソッドを使用すると、メニューナビゲーションを自動化することが可能になっている。
・SelectButton(ULONG ulButton)。
4)ブックマーキングAPI(Bookmarking API)
アプリケーションはDVD全体のステートをセーブし、リストアすることができる(ブックマーク特許を参照)。
Figure 2010182408
5)その他
AcceptParentalLevelChange(BOOL bAccept)−下述する「最低親レベルブランチング」セクションを参照のこと。
・SetGPRM(ULONG ulindex, WORD wValue, DWORD dwFlags, [out] IDvdCmd** pp Cmd)
・SetOption( DVD_OPTION_FLAG flag, BOOL bEnable )− 拡張可能オプションセッティング機構。
最低親レベルブランチングを調整する機構
DVD規格(セクション4.6.4.1 pV14−197)によれば、DVDナビゲータが’SetTmpPML’(一時親管理レベルをセットする)コマンドに出会ったとき、アプリケーションに許可を要求して(「プレイヤに組み込まれている一時親レベル変更機能をコールする」)、カレントレベルを一時的に上げる必要があった。親レベル変更が許されていれば、ナビゲータは親レベルを上げて、限定されたコンテンツ部分にブランチしている。許されていなければ、ナビゲータは次のコマンドの実行を続ける。
従来のDVD APIのセマンティックスによると、DVDナビゲータがSetTmpPML命令を実行するとき、PARENTAL_LEVEL_TOO_LOWイベントをアプリケーションに送信するだけである。ナビゲータは、親レベル変更が失敗したものとして直ちに次のコマンドの実行を続けている。アプリケーションはイベントを受信し、プレイバックを中止し、親レベルを変更するためのユーザインターフェースを表示し、その後、初めからムービをリスタートしている。DVD規格によれば、ナビゲータが親レベルを変更することが許されるのは、ナビゲータがSTOPドメインにあるときだけである。その結果、ナビゲータは変更個所でポーズしないので、プレイバックを中止しなければならない。
DVD2 API108a−bによると、例えば、以下に説明するシーケンスで行うことができる。アプリケーションは、親レベル変更機能が利用可能であるかどうかを、次のメソッドを使用してAPIに通知する。
Figure 2010182408
DVDナビゲータがSetTmpPML命令に出会ったとき、ナビゲータは、PARENTAL_LEVEL_TOO_LOWイベントをアプリケーションに送信する。アプリケーションは、ユーザが親レベルを大きくできるようにする、なんらかのユーザインターフェースを表示することが期待されている。DVDナビゲータは、アプリケーションがその応答として、TRUEまたはFALSEを指定したIDVDCControl2::AcceptParentalLevelChange()をコールするまでブロックし、その後、プレイバックを中止しなくても、その指定に応じて続行する。
マルチセグメント親レベルブランチのプレイバックを支援する機構
DVD規格(セクション4.1.4.1 V14−22)には、異なるプログラムチェイン(通常は、コンテンツに起こり得る、異なるセグメント)を、カレント親レベルに基づいて選択する構成が記載されている。例えば、ビデオのある個所で、異なるバージョンのシーンが利用可能になっていることがあり、これらは親レベルに基づいてナビゲータによって自動的に選択されている(例えば、PG、Pレーティングまたは子供を目的としたセグメント)。
各々のタイトルごとに、PTL_MAIテーブルは、カレント親レベルを16ビットマスクにマッピングしている。プレイバックの期間に、DVDナビゲータは、カレント親ビットマスクをPTL_MAIテーブルから取得している。親ビットマスクは、ナビゲータが親ブロック(各プログラムが排他的親ビットマスクをもっているプログラムチェインの集まり)に出会ったとき使用される。ナビゲータは、VTS_PGCI_SRP(セクション4.2.3 V14−62)内の各PTLID_FLDをサーチし、カレント親ビットマスクと共通ビットを共有しているビットマスクをもつプログラムチェインを探し出している。
カレントビットマスクと部分的に一致しているプログラムチェインが見つからなければ、従来バージョンのDVDナビゲータでは、プレイバックを中止し、DVD_ERROR_LowParentalLevelイベントをアプリケーションに送信している。
ユーザを援助するために、DVD2 API108a−bのいくつかの実装例では、ユーザが継続できるようにする、最低限必要な親レベルを計算するために次のようなアルゴリズムが使用されている。
PTL_MASKを=0に初期化する(取り得る許容親レベル)
VTS_PGCI_SRP内の各プログラムチェインインデックスiについて
VTS_PGCI_SRP[i].BlockType=1ならば(親ブロック内)
PTL_MASK=PTL_MASK union VTS_PGCI_SRP[i].PTL_ID_FLD
PTL_MASK=0ならば
親レベルは存在しないので、どのレベルでも有効である。
そうでなければ
PTL_MAI内の各親レベルインデックスiについて
PTL_LVLI=PTL_MAI[8−i]と置く
PTL_LVLI[title_index]&PTL_MAI[8−i]=0ならば
(注:VMGMドメインではtitle_index=0
iを戻す。
インデックスiは、DVD_ERROR_LowParentalLevelイベントと一緒に戻される。アプリケーション102は、このインデックスを使用して、取り得る親レベル設定値をユーザに提案することができる。
ブックマーキング
DVDナビゲータ106は、プレイヤアプリケーション102がDVDプレイバックのカレントステート114を符号化(エンコード)して、持続的データブロックを収めている抽象オブジェクト(ブックマーク150と呼ばれる)に格納しておくことを可能にする構成になっている。図13は、例示のブックマーキング機能を示す図である。
使い方をさらに抽象化し、単純化するために、DVD2 API108a−bは、ブックマークに収められているステート情報をセーブし、リストアし、クエリするように構成されている。プレイヤアプリケーション102は、ナビゲータ106を使用してブックマーク150内の情報をクエリし、将来の使用に備えてその情報をセーブしておくことができる。そのあと、プレイヤアプリケーション102は、ブックマークに収められたDVDプレイバックステート114をリストアするようにDVDナビゲータ106に指示することによって、プレイバックを再開することができる。ブックマークをリストアすると、プレイヤアプリケーションは、任意のどのロケーションからでも、いくつのロケーションからでも、DVDコンテンツ110をプレイ実行することを開始することができる。ブックマークは、短期(メモリ)ストレージにも、長期ストレージ(例えば、ハードドライブ)にも格納しておくことができ、プレイヤアプリケーション102および/またはPCがシャットダウンされ、リスタートされた後でも、リストアすることができる。ブックマークはDVDナビゲータのステート(内部レジスタ値、プレイバックロケーション、プレイバックステートなど)だけでなく、プレイ実行されているカレント・ディスク・コンテンツとユーザの設定値に関する情報も収めている。プレイヤアプリケーションは、このエキストラ情報を使用すると、以前にセーブしておいたブックマークから該当のブックマークをインテリジェントに選択して、例えば、それを特定のディスク(通常は、プレイ実行されているディスク)に対してプレイ実行させることができる。ブックマークは、ユーザ間でも、種々のアプリケーション間でも、共有することができる。
ブックマーキング抽象データ型は2つの側面からなっている。すなわち、1)実際のブックマーク150自体、および2)ブックマークに収められた情報をセーブし、リストアし、クエリするために使用されるAPIコールである。いくつかの実装例によれば、ブックマーク150は、少なくとも次のような情報を収めている。すなわち、実質的に唯一のディスク識別子145、表示されているカレント・ビデオ・オブジェクト・ユニット(video object unit:VOBU)のアドレス(DVD規格のセクション5.1.1)と、ループカウントおよびシャッフルヒストリ(DVD規格のセクション3.3.3.2)と、カレントDVD再開情報(その概要はDVD規格のセクション3.3.3.2に記載されている)と、カレントDVD一般パラメータ(GPRM)およびシステムパラメータ(SPRM)の値(セクション4.6.1.1と4.6.1.2)と、カレントドメインおよびフェーズ(セクション3.3.3と3.3.6)とである。いくつかの別の実装では、ブックマークは、バージョン管理情報および保全性情報も収めている。ブックマーク150は抽象オブジェクトとしても、バイナリデータのブロックとしてもパッケージ化して、格納しておくことができる。
上記のようなブックマーキング技法を提供するために、DVD2 API 108のいくつかの典型的な実装では、次のようなメソッドがサポートされている。
1.カレントロケーションからブックマークを作成する場合
Bookmark=GetBookmark()
2.DVDナビゲータにそのロケーションをブックマークに変換させる場合
SetBookmark(bookmark)
3.ブックマークを目的としているディスクを見付ける場合
DiscID=GetDiscIdentifierFromBookmark(bookmark)
4.ブックマークをそのバイナリ表現におよびそのバイナリ表現から変換する場合
BinaryData(data,size)=ConvertBookmarkToBinary(bookmark)
Bookmark=ConvertBinaryToBookmark(BinaryData)。
以下は、カレントロケーションを格納することを実現し、パワーセーブ(電力節約)機能を実現するように(つまり、コンピュータのステートをセーブし、復帰可能な低電力状態に入れるように)書かれたアプリケーションの擬似コードを示したものである。
Figure 2010182408
以下は、パワーセーブから戻るとき、DVDのプレイバックを再開するためのコードを示したものである。
Figure 2010182408
以下は、インテリジェントブックマークを実現するために書かれたアプリケーションの擬似コードの例を示したものである。
Figure 2010182408
ユニーク識別子の生成
現行DVD規格では、組み込まれたユニーク識別子が各ディスクに付けられている(「DVDユニーク識別子」)。しかし、アプリケーションは、ディスクの作成者が識別子を正しく実装していることを想定していなければならない。残念ながら、常にそうであるとは限らない。
多くのアプリケーションは、どのDVDディスクであるかを特定するために唯一のタグを必要とし、例えば、ユーザがDVDディスクをスワップしたとき、プレイバックシステムは、新しいディスクが導入されたかどうかを判断する必要がある。新しいディスクが導入されていれば、プレイバックシステムはプレイバックをリセットする必要があり、そうでなければ、ユーザが見ているのを中断することなく継続することが可能になっている。ディスクを区別する能力がなければ、常にリセットしなければならない。ユニーク識別子145(図13参照)を使用すると、異なるディスク(ただし、同じディスクの異なるコピーではなく)を区別する能力が得られることになる。
また、ユニーク識別子145を使用すると、アプリケーションは、格納された情報と特定のDVDディスクとの間に矛盾がないかを確かめることもできる。アプリケーションは、キャッシュされた情報を正しくないディスクで使用すると、失敗することになる。例えば、ユーザがディスク上のセーブされたロケーションを、ブックマークを使用して再コールしようとしたとき、DVDナビゲータ108は、ブックマークに格納されたユニーク識別子をカレントディスクのユニーク識別子と比較することによって、データに矛盾がないかを確かめることができる。プレイバックは、これらの識別子が一致しているときだけ継続される。
ユニーク識別子145を使用すると、アプリケーションは、ユニーク識別子をデータベースへのインデックスとして使用することにより、追加情報をディスクと関連付けることができる。例えば、DVD規格がディスク上のテキスト情報をサポートしていても、その情報が使用されるのは稀である。ディスクのタイトルとコンテンツのWebベースデータベースは、ディスク上の識別子を計算した後、アプリケーションによって格納し、取り出すことが可能になっている。
DVDディスク上の現行組み込みユニーク識別子は不十分である。第一に、識別子はサイズが相対的に大きく(32バイト)、識別子が実際に唯一であることを保証するには、ディスク作成者が頼りであり、中央のエンティティは、企業間でユニーク性が保たれることを保証するために、識別子の範囲をディスク作成者に割り当てなければならない。
他の従来の「ユニーク」識別子アルゴリズムでは、ディスクが非常に多数であるときは、ユニーク識別子が得られない。このアルゴリズムによれば、2つのディスクに同じ識別子が割り当てられる確率は、DVDディスクの総数が増加するのに伴い指数的に増加していく。今後の動向として、DVDディスクは増加することが予想されるので、多くの「ユニーク」識別子ルーチンは不十分になってしまう。さらに、これらのアルゴリズムは、その特性が分かっていないことおよび/またはその特性が実証可能でないことが多い。特性が分かっていないと、得られた識別子の有効性または適切性を述べることは不可能である。
本発明のいくつかの実装例によれば、ユニーク識別子145は、DVDのVIDEO_TSディレクトリに登録されている種々ファイルのファイルヘッダとファイル内容のバイナリ表現を連結または配列したものの64ビットCRCを計算することによって生成される。この機能の詳細は図13と図14に示されている。
UniqueID2アルゴリズムは、次の4ステップで識別子を生成する。
ステップ1。VIDEO_TSディスレクトリのファイル名が収集され、アルファベット順にソートされる。
ステップ2。各ファイルからのファイルヘッダがCRCで計算される。
ステップ3。VMGIファイル(“VIDEO_TS¥VIDEO¥TS.IFO”)からのデータがCRCで計算される。
ステップ4。最初のVTSIファイル(“VIDEO_TS¥VTS_xx.O.IFO”)からのデータがCRCで計算される。
64ビットCRCは、フィールドGF(2)内の既約多項式(irreducible polynomial)を使用して計算される。次は、多項式の例である。
Figure 2010182408
この多項式は、x”−1が次数64の既約(素数)因数をもつような指数nを見つけることによって計算される。
実際のCRC値は、いくつかの例では、バイナリデータのすべてを、シングルブロック(ビットb0からbnまで)になるように連結し、多項式の係数xiに各ビットbiを割り当て、多項式P64で除した後の余りを計算することによって計算される。
Figure 2010182408
以下は、実装例を示したものである。
ステップ1
VIDEO_TSディレクトリのファイル名が収集され、アルファベット順リストにソートされる。
ステップ2
リスト内の各ファイル名について、以下に示す構造が記述され、CRCに追加される(すべてのデータフィールドはLSBが先頭になっている)。
符号なし64ビット整数:dateTime(January 1,1601からの100ナノ秒インターバルの経過時間)
符号なし32ビット整数:dwFileSize
BYTE bFilename[filenameLength]
BYTE bFilenameTermNull=0
ステップ3
ファイル“VIDEO_TS¥VIDEO_TS.IFO”の最初の65536バイトが存在していれば、読み取られ、CRCに追加される。IFOファイルが65536未満であれば、ファイル全体が追加される。
ステップ4
ファイル“VIDEO_TS¥VTS_01_O.IFO”の最初の65536バイトが存在していれば、読み取られ、CRCに追加される。IFOファイルが65536未満であれば、ファイル全体が追加される。
本発明の種々の方法および構成のいくつかの好ましい実施形態を、添付図面を参照して詳しく説明してきたが、当然に理解されるように、本発明は上述した実施形態例に限定されるものではなく、請求項に記載されている本発明の精神から逸脱しない範囲で種々の再構成、変更および置換が可能である。さらに、本明細書の中で引用されている参考文献の各々は、その全内容が、引用によっておよびあらゆる目的のために、本明細書に含まれるものである。
以上、説明したように、本発明によれば、マルチメディア・コンテンツ・プレイバック・プロセスに対するマルチメディア・ナビゲータ・プログラムのカレントステートを含むブックマークを、APIに選択的に生成させ、ブックマークをマルチメディア・プレイヤ・アプリケーションに引渡すことによって、プレイヤアプリケーションがプレイバック期間中にロケーションにより正確に「ブックマーク」を付けて、選択したブックマーク付きのロケーションからプレイバックを、あとで再開することができる。
100 DVDプレイヤ
102 プレイヤアプリケーション
104 ユーザインターフェース(U/I)
106 DVDナビゲータ
108a−b DVD2 API
110 DVDコンテンツ
118 ビデオレンダラ
120 オーディオレンダラ

Claims (9)

  1. 少なくとも1つのアプリケーション・プログラミング・インターフェース(API)を介して、マルチメディア・ナビゲータ・プログラムとのインターフェースとして動作するよう構成されているマルチメディア・プレイヤ・アプリケーションを含むシステムにおける方法であって、
    マルチメディア・コンテンツ・プレイバック・プロセスに関係する前記マルチメディア・ナビゲータ・プログラムの現在のステートを含むブックマークを、選択的に前記APIに生成させるステップであって、前記現在のステートは、プレイ、ストップ、ポーズ、リバース、早送り、スローモーションまたはアングルの少なくとも1つを含み、前記ブックマークは、DVDのVIDEO_TSディレクトリィ内のファイルヘッダおよび1または複数のファイルコンテンツに基づいて64ビットCRCを計算することにより生成されたマルチメディア・コンテンツに基づいた実質的に一意の識別子を含む、ステップと、
    前記ブックマークを、前記マルチメディア・プレイヤ・アプリケーションに提供するステップと
    を備えたことを特徴とする方法。
  2. 前記ブックマークは、表示されるカレント・ビデオ・オブジェクトのアドレス、ループカウント、シャッフルヒストリ、カレントDVD再開情報、カレントDVD一般パラメータ(GPRM)情報、システムパラメータ(SPRM)情報、カレントドメイン情報、カレントフェーズ情報の少なくとも1つを含むことを特徴とする請求項1に記載の方法。
  3. 前記ブックマークは、該ブックマークのバージョン情報と保全情報とをさらに含むことを特徴とする請求項1に記載の方法。
  4. 少なくとも1つのアプリケーション・プログラミング・インターフェース(API)を介して、マルチメディア・ナビゲータ・プログラムとのインターフェースとして動作するよう構成されているマルチメディア・プレイヤ・アプリケーションを含むシステムにおけるコンピュータ読取可能な記録媒体であって、
    マルチメディア・コンテンツ・プレイバック・プロセスに関係する前記マルチメディア・ナビゲータ・プログラムの現在のステートを含むブックマークを、選択的に前記APIに生成させるステップであって、前記現在のステートは、プレイ、ストップ、ポーズ、リバース、早送り、スローモーションまたはアングルの少なくとも1つを含み、前記ブックマークは、DVDのVIDEO_TSディレクトリィ内のファイルヘッダおよび1または複数のファイルコンテンツに基づいて64ビットCRCを計算することにより生成されたマルチメディア・コンテンツに基づいた実質的に一意の識別子を含む、ステップと、
    前記ブックマークを、前記マルチメディア・プレイヤ・アプリケーションに提供するステップと
    を実行するためのコンピュータ実行可能命令を有することを特徴とするコンピュータ読取可能な記録媒体。
  5. 前記ブックマークは、表示されるカレント・ビデオ・オブジェクトのアドレス、ループカウント、シャッフルヒストリ、カレントDVD再開情報、カレントDVD一般パラメータ(GPRM)情報、システムパラメータ(SPRM)情報、カレントドメイン情報、カレントフェーズ情報の少なくとも1つを含むことを特徴とする請求項4に記載のコンピュータ読取可能な記録媒体。
  6. 前記ブックマークは、該ブックマークのバージョン情報と保全情報とをさらに含むことを特徴とする請求項4に記載のコンピュータ読取可能な記録媒体。
  7. メモリと、
    該メモリに結合されたプロセッサと、
    該プロセッサにより動作するマルチメディア・プレイヤ・アプリケーションと、
    該マルチメディア・プレイヤ・アプリケーションとマルチメディア・ナビゲータ・プログラムとのインターフェースとして動作するように構成された少なくとも1つのアプリケーション・プログラミング・インターフェース(API)であって、前記マルチメディア・プレイヤ・アプリケーションは、マルチメディア・コンテンツ・プレイバック・プロセスに関係する前記マルチメディア・ナビゲータ・プログラムの現在のステートを含むブックマークを、選択的に前記APIに生成させ、前記現在のステートは、プレイ、ストップ、ポーズ、リバース、早送り、スローモーションまたはアングルの少なくとも1つを含み、前記ブックマークは、DVDのVIDEO_TSディレクトリィ内のファイルヘッダおよび1または複数のファイルコンテンツに基づいて64ビットCRCを計算することにより生成されたマルチメディア・コンテンツに基づいた実質的に一意の識別子を含む、APIと
    を備えたことを特徴とするシステム。
  8. 前記ブックマークは、表示されるカレント・ビデオ・オブジェクトのアドレス、ループカウント、シャッフルヒストリ、カレントDVD再開情報、カレントDVD一般パラメータ(GPRM)情報、システムパラメータ(SPRM)情報、カレントドメイン情報、カレントフェーズ情報の少なくとも1つを含むことを特徴とする請求項7に記載のシステム。
  9. 前記ブックマークは、該ブックマークのバージョン情報と保全情報とをさらに含むことを特徴とする請求項7に記載のシステム。
JP2010056049A 2000-11-22 2010-03-12 Dvdプレイヤに対する改良プレイバック制御方法、システムおよびコンピュータ読取可能な媒体 Expired - Fee Related JP5059154B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/721,266 US6990671B1 (en) 2000-11-22 2000-11-22 Playback control methods and arrangements for a DVD player
US09/721,266 2000-11-22

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2006263196A Division JP4545727B2 (ja) 2000-11-22 2006-09-27 Dvdプレイヤに対する改良プレイバック制御方法、システムおよびコンピュータ読取可能な媒体

Publications (2)

Publication Number Publication Date
JP2010182408A true JP2010182408A (ja) 2010-08-19
JP5059154B2 JP5059154B2 (ja) 2012-10-24

Family

ID=24897240

Family Applications (3)

Application Number Title Priority Date Filing Date
JP2001357613A Pending JP2002237173A (ja) 2000-11-22 2001-11-22 Dvdプレイヤに対する改良プレイバック制御方法、システムおよびコンピュータ読取可能媒体
JP2006263196A Expired - Fee Related JP4545727B2 (ja) 2000-11-22 2006-09-27 Dvdプレイヤに対する改良プレイバック制御方法、システムおよびコンピュータ読取可能な媒体
JP2010056049A Expired - Fee Related JP5059154B2 (ja) 2000-11-22 2010-03-12 Dvdプレイヤに対する改良プレイバック制御方法、システムおよびコンピュータ読取可能な媒体

Family Applications Before (2)

Application Number Title Priority Date Filing Date
JP2001357613A Pending JP2002237173A (ja) 2000-11-22 2001-11-22 Dvdプレイヤに対する改良プレイバック制御方法、システムおよびコンピュータ読取可能媒体
JP2006263196A Expired - Fee Related JP4545727B2 (ja) 2000-11-22 2006-09-27 Dvdプレイヤに対する改良プレイバック制御方法、システムおよびコンピュータ読取可能な媒体

Country Status (5)

Country Link
US (4) US6990671B1 (ja)
EP (1) EP1209681B1 (ja)
JP (3) JP2002237173A (ja)
KR (2) KR20020040584A (ja)
HK (1) HK1047495B (ja)

Families Citing this family (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI247295B (en) * 2002-03-09 2006-01-11 Samsung Electronics Co Ltd Reproducing method and apparatus for interactive mode using markup documents
KR100499587B1 (ko) * 2002-06-19 2005-07-05 엘지전자 주식회사 영상 또는 오디오 데이터 재생장치에서의 북마크 정보관리방법
US7444068B2 (en) * 2002-06-28 2008-10-28 Hewlett-Packard Development Company, L.P. System and method of manual indexing of image data
TWI285808B (en) * 2002-07-27 2007-08-21 Samsung Electronics Co Ltd Apparatus and method for reproducing content and information storage medium therefor
JP2004227690A (ja) * 2003-01-23 2004-08-12 Orion Denki Kk 再生装置
CN1538426A (zh) * 2003-02-21 2004-10-20 Lg������ʽ���� 中断接续标记的管理方法
US7620301B2 (en) 2003-04-04 2009-11-17 Lg Electronics Inc. System and method for resuming playback
KR100977918B1 (ko) * 2003-04-23 2010-08-24 파나소닉 주식회사 기록매체, 재생장치, 기록방법, 재생방법
JP3833653B2 (ja) * 2003-06-13 2006-10-18 シャープ株式会社 情報再生装置、情報再生装置の制御方法、コンテンツ記録媒体、制御プログラム、制御プログラムを記録したコンピュータ読み取り可能な記録媒体
KR100611970B1 (ko) * 2003-08-16 2006-08-11 삼성전자주식회사 인터렉티브 그래픽 스트림을 기록한 정보저장매체 및 그 재생장치
CN1617256A (zh) * 2003-11-10 2005-05-18 皇家飞利浦电子股份有限公司 光盘播放器及其播放方法
KR101009341B1 (ko) * 2003-11-25 2011-01-19 삼성전자주식회사 기록 장치, 재생 장치, 기록 방법, 재생 방법 및 그기록매체
EP1770543A3 (en) * 2004-05-03 2007-05-09 LG Electronics Inc. Method and apparatus for managing bookmark information for content stored in a network media server
JP4505280B2 (ja) * 2004-08-19 2010-07-21 株式会社ソニー・コンピュータエンタテインメント 映像再生装置および映像再生方法
JP4676264B2 (ja) 2004-08-19 2011-04-27 株式会社ソニー・コンピュータエンタテインメント 映像再生装置および映像再生方法
KR101069858B1 (ko) * 2005-01-31 2011-10-04 엘지전자 주식회사 데이터 기록매체에 기록된 컨텐츠상에 마크를 설정하고,그 마크에 따른 동작을 수행하는 방법 및 장치
EP1696321A1 (en) 2005-02-23 2006-08-30 Deutsche Thomson-Brandt Gmbh Method and apparatus for executing software applications
US8769408B2 (en) * 2005-10-07 2014-07-01 Apple Inc. Intelligent media navigation
US7721208B2 (en) * 2005-10-07 2010-05-18 Apple Inc. Multi-media center for computing systems
US7966577B2 (en) * 2005-10-11 2011-06-21 Apple Inc. Multimedia control center
US20070122735A1 (en) * 2005-11-30 2007-05-31 Wisnudel Marc B Optical storage device having limited-use content and method for making same
US8069461B2 (en) 2006-03-30 2011-11-29 Verizon Services Corp. On-screen program guide with interactive programming recommendations
US7716699B2 (en) * 2006-06-29 2010-05-11 Microsoft Corporation Control and playback of media over network link
KR20080002088A (ko) * 2006-06-30 2008-01-04 삼성전자주식회사 재생 제어 방법, 재생 제어 장치 및 정보 저장 매체
US8418217B2 (en) 2006-09-06 2013-04-09 Verizon Patent And Licensing Inc. Systems and methods for accessing media content
US8464295B2 (en) 2006-10-03 2013-06-11 Verizon Patent And Licensing Inc. Interactive search graphical user interface systems and methods
US8566874B2 (en) 2006-10-03 2013-10-22 Verizon Patent And Licensing Inc. Control tools for media content access systems and methods
US8510780B2 (en) 2006-12-21 2013-08-13 Verizon Patent And Licensing Inc. Program guide navigation tools for media content access systems and methods
US8028313B2 (en) 2006-12-21 2011-09-27 Verizon Patent And Licensing Inc. Linear program guide for media content access systems and methods
US8015581B2 (en) 2007-01-05 2011-09-06 Verizon Patent And Licensing Inc. Resource data configuration for media content access systems and methods
JP4499123B2 (ja) * 2007-02-23 2010-07-07 富士通株式会社 受付制御方法及び受付制御システム
US8185839B2 (en) * 2007-06-09 2012-05-22 Apple Inc. Browsing or searching user interfaces and other aspects
US8201096B2 (en) * 2007-06-09 2012-06-12 Apple Inc. Browsing or searching user interfaces and other aspects
US8103965B2 (en) 2007-06-28 2012-01-24 Verizon Patent And Licensing Inc. Media content recording and healing statuses
US8361587B2 (en) * 2007-07-31 2013-01-29 Nbcuniversal Media, Llc Enhanced security of optical article
US8229276B2 (en) * 2007-09-28 2012-07-24 Nbcuniversal Media, Llc Limited play optical article
US8646106B2 (en) * 2007-09-28 2014-02-04 Nbcuniversal Media, Llc Limited play optical article
US8051447B2 (en) 2007-12-19 2011-11-01 Verizon Patent And Licensing Inc. Condensed program guide for media content access systems and methods
US9288245B2 (en) * 2008-02-07 2016-03-15 Qualcomm Incorporated Apparatus and methods of accessing content
US20090249381A1 (en) * 2008-03-31 2009-10-01 General Electric Company Player-readable code on optical media
US8051441B2 (en) * 2008-03-31 2011-11-01 Nbcuniversal Media, Llc Player-readable code on optical media
US9514782B2 (en) * 2008-05-13 2016-12-06 Nbcuniversal Media, Llc Method and system for activation of an optical article
US8097324B2 (en) * 2008-05-14 2012-01-17 Nbcuniversal Media, Llc Enhanced security of optical article
US8488428B2 (en) * 2008-05-14 2013-07-16 Nbcuniversal Media, Llc Enhanced security of optical article
WO2009157163A1 (ja) * 2008-06-24 2009-12-30 パナソニック株式会社 再生装置、再生装置の制御方法
KR101494013B1 (ko) * 2008-08-22 2015-02-16 엘지전자 주식회사 영상표시기기에서 녹화물 재생 장치 및 방법
US8364011B2 (en) * 2009-05-06 2013-01-29 Disney Enterprises, Inc. System and method for providing a personalized media consumption experience
KR101622765B1 (ko) 2009-09-28 2016-05-23 삼성전자 주식회사 전자장치 및 그 데이터 제어방법
KR20110101051A (ko) * 2010-03-05 2011-09-15 삼성전자주식회사 북마크 정보를 생성하는 방법 및 장치
US20110255384A1 (en) * 2010-04-15 2011-10-20 Kaleidescape, Inc. Bookmarking digital content on blu-ray discs
US8825809B2 (en) * 2010-05-19 2014-09-02 Microsoft Corporation Asset resolvable bookmarks
JP2012185899A (ja) * 2011-02-15 2012-09-27 Jvc Kenwood Corp 再生装置、再生方法、及び、プログラム
US20160057173A1 (en) * 2014-07-16 2016-02-25 Genband Us Llc Media Playback Synchronization Across Multiple Clients

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08107542A (ja) * 1994-09-08 1996-04-23 Internatl Business Mach Corp <Ibm> メディア・ストリーマ
JPH08124319A (ja) * 1994-10-19 1996-05-17 Matsushita Electric Ind Co Ltd 記録再生装置
JPH1021035A (ja) * 1996-07-03 1998-01-23 Toshiba Corp ビデオデータ再生制御方法およびその方法を使用したコンピュータ
JPH11232159A (ja) * 1998-02-13 1999-08-27 The Japan Reserch Institute Ltd ファイル管理方法およびファイル管理のためのプログラムを記憶した媒体
JPH11273319A (ja) * 1998-03-26 1999-10-08 Onkyo Corp 情報再生制御装置および情報再生方法
JP2000011615A (ja) * 1997-10-21 2000-01-14 Sony Corp 記録装置および方法、再生装置および方法、記録再生装置および方法、並びに提供媒体
JP2000048545A (ja) * 1998-07-28 2000-02-18 Matsushita Electric Ind Co Ltd 動画再生装置

Family Cites Families (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4305131A (en) * 1979-02-05 1981-12-08 Best Robert M Dialog between TV movies and human viewers
US4777537A (en) * 1985-10-21 1988-10-11 Sony Corporation Signal recording apparatus and method
US5434678A (en) * 1993-01-11 1995-07-18 Abecassis; Max Seamless transmission of non-sequential video segments
US5541738A (en) 1994-04-12 1996-07-30 E. Guide, Inc. Electronic program guide
US5497241A (en) * 1993-10-29 1996-03-05 Time Warner Entertainment Co., L.P. System and method for controlling display of motion picture subtitles in a selected language during play of a software carrier
KR100188294B1 (ko) * 1993-10-29 1999-06-01 니시무로 타이죠 멀티 신 기록매체 및 재생장치 및 그 방법
JP3575063B2 (ja) * 1994-07-04 2004-10-06 ソニー株式会社 再生装置、再生方法
US5692143A (en) 1994-12-30 1997-11-25 International Business Machines Corporation Method and system for recalling desktop states in a data processing system
US5966121A (en) * 1995-10-12 1999-10-12 Andersen Consulting Llp Interactive hypervideo editing system and interface
JPH09245438A (ja) * 1996-03-12 1997-09-19 Pioneer Electron Corp 情報記録媒体並びにその記録装置及び再生装置
JP3816571B2 (ja) 1996-03-15 2006-08-30 パイオニア株式会社 情報記録装置及び情報記録方法並びに情報再生装置及び情報再生方法
JP3783282B2 (ja) 1996-06-04 2006-06-07 ソニー株式会社 通信制御方法、通信システムおよびそれに用いる電子機器
KR100202575B1 (ko) * 1996-06-21 1999-06-15 구자홍 디브이디 재생기의 재생 관련 정보 저장 장치 및방법
JPH10145784A (ja) 1996-09-10 1998-05-29 Sony Corp データデコードシステム、データデコード方法、伝送方法、伝送装置、受信装置、および受信方法
JP4363671B2 (ja) 1997-03-20 2009-11-11 ソニー株式会社 データ再生装置及びデータ再生方法
US6370323B1 (en) 1997-04-03 2002-04-09 Lsi Logic Corporation Digital video disc decoder including command buffer and command status pointers
US6134597A (en) * 1997-05-28 2000-10-17 International Business Machines Corporation CRC hash compressed server object identifier
US20030113096A1 (en) * 1997-07-07 2003-06-19 Kabushiki Kaisha Toshiba Multi-screen display system for automatically changing a plurality of simultaneously displayed images
JP3409834B2 (ja) * 1997-07-10 2003-05-26 ソニー株式会社 画像処理装置および画像処理方法、並びに記録媒体
US5929857A (en) 1997-09-10 1999-07-27 Oak Technology, Inc. Method and apparatus for dynamically constructing a graphic user interface from a DVD data stream
JPH11120646A (ja) 1997-10-16 1999-04-30 Sanyo Electric Co Ltd 予約記録装置
SG82587A1 (en) * 1997-10-21 2001-08-21 Sony Corp Recording apparatus, recording method, playback apparatus, playback method, recording/playback apparatus, recording/playback method, presentation medium and recording medium
US6064380A (en) * 1997-11-17 2000-05-16 International Business Machines Corporation Bookmark for multi-media content
US6037934A (en) 1997-11-21 2000-03-14 International Business Machines Corporation Named bookmark sets
US6100890A (en) 1997-11-25 2000-08-08 International Business Machines Corporation Automatic bookmarks
US6580870B1 (en) 1997-11-28 2003-06-17 Kabushiki Kaisha Toshiba Systems and methods for reproducing audiovisual information with external information
JPH11185442A (ja) 1997-12-22 1999-07-09 Matsushita Electric Works Ltd ディスクシステム
US20030035007A1 (en) 1998-01-05 2003-02-20 Theodore D. Wugofski Architecture for convergence systems
JP3607486B2 (ja) 1998-01-21 2005-01-05 株式会社東芝 情報記録再生装置
JPH11232838A (ja) 1998-02-16 1999-08-27 Matsushita Electric Ind Co Ltd 光ディスク、光ディスク記録装置、及び光ディスク読取装置
JP3859894B2 (ja) 1998-04-10 2006-12-20 松下電器産業株式会社 機器制御コマンドの処理システムおよびその方法
JP3262338B2 (ja) 1998-05-07 2002-03-04 株式会社東芝 記録内容表示装置及び記録内容表示方法
JP2000021035A (ja) 1998-07-06 2000-01-21 Teijin Ltd 光ディスクまたは光ディスク基板の検査方法
US6694090B1 (en) 1998-07-20 2004-02-17 Thomson Licensing S.A. Method and apparatus for dynamically overriding a ratings limit during playback of a digital program
US6385388B1 (en) 1998-07-20 2002-05-07 Thomson Licensing S.A. Digital video apparatus user interface
CA2336585A1 (en) 1998-07-20 2000-01-27 Thomson Licensing S.A. Digital video apparatus user interface
US6611812B2 (en) * 1998-08-13 2003-08-26 International Business Machines Corporation Secure electronic content distribution on CDS and DVDs
US6643450B1 (en) 1998-10-29 2003-11-04 Oak Technology, Inc. Digital versatile disc playback system with program chain object searching capabilities
JP3376314B2 (ja) * 1999-05-12 2003-02-10 株式会社東芝 デジタル映像情報媒体、デジタル映像情報記録再生装置およびデジタル映像情報処理方法
US6525746B1 (en) * 1999-08-16 2003-02-25 University Of Washington Interactive video object processing environment having zoom window
JP3590577B2 (ja) * 1999-12-27 2004-11-17 ヴィジョネア株式会社 再生モード切替方法及びマルチメディア情報再生方法及びマルチメディア情報再生装置
US6871012B1 (en) * 2000-11-22 2005-03-22 Microsoft Corporation Unique digital content identifier generating methods and arrangements
US7200323B1 (en) * 2000-11-22 2007-04-03 Microsoft Corporation Restricted content viewing methods and arrangements for use in a DVD player

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08107542A (ja) * 1994-09-08 1996-04-23 Internatl Business Mach Corp <Ibm> メディア・ストリーマ
JPH08124319A (ja) * 1994-10-19 1996-05-17 Matsushita Electric Ind Co Ltd 記録再生装置
JPH1021035A (ja) * 1996-07-03 1998-01-23 Toshiba Corp ビデオデータ再生制御方法およびその方法を使用したコンピュータ
JP2000011615A (ja) * 1997-10-21 2000-01-14 Sony Corp 記録装置および方法、再生装置および方法、記録再生装置および方法、並びに提供媒体
JPH11232159A (ja) * 1998-02-13 1999-08-27 The Japan Reserch Institute Ltd ファイル管理方法およびファイル管理のためのプログラムを記憶した媒体
JPH11273319A (ja) * 1998-03-26 1999-10-08 Onkyo Corp 情報再生制御装置および情報再生方法
JP2000048545A (ja) * 1998-07-28 2000-02-18 Matsushita Electric Ind Co Ltd 動画再生装置

Also Published As

Publication number Publication date
KR20020040584A (ko) 2002-05-30
US7774797B2 (en) 2010-08-10
JP5059154B2 (ja) 2012-10-24
HK1047495B (zh) 2014-08-08
EP1209681A3 (en) 2003-10-01
EP1209681B1 (en) 2014-05-07
US7469410B2 (en) 2008-12-23
KR20090040274A (ko) 2009-04-23
KR100938060B1 (ko) 2010-01-21
US20060039681A1 (en) 2006-02-23
HK1047495A1 (en) 2003-02-21
US20060039680A1 (en) 2006-02-23
JP4545727B2 (ja) 2010-09-15
JP2007052917A (ja) 2007-03-01
US6990671B1 (en) 2006-01-24
EP1209681A2 (en) 2002-05-29
JP2002237173A (ja) 2002-08-23
US20060045489A1 (en) 2006-03-02
US7757241B2 (en) 2010-07-13

Similar Documents

Publication Publication Date Title
JP5059154B2 (ja) Dvdプレイヤに対する改良プレイバック制御方法、システムおよびコンピュータ読取可能な媒体
KR100952559B1 (ko) 멀티미디어 콘텐트를 네비게이팅하기 위한 장치
JP5015150B2 (ja) 対話式マルチメディア環境の状態変化への宣言式応答
US8745498B2 (en) Incorporating interactive media into a playlist
US7184653B2 (en) Unique digital content identifier generating methods and arrangements
EP1908072A2 (en) State-based timing for interactive multimedia presentations
WO2007005271A2 (en) Synchronization aspects of interactive multimedia presentation management
JP2008547127A (ja) 検索の遅いストレージデバイスからグラフィックスを検索する方法およびシステム
JP5254304B2 (ja) プログラム管理情報が記録された記録媒体、それを再生するための方法及びその装置
US7200323B1 (en) Restricted content viewing methods and arrangements for use in a DVD player
US20050117883A1 (en) Storage medium storing program management information, and reproducing method and apparatus
TRAN RELATED APPLICATIONS
JP4259896B2 (ja) オペレーション記録・再生プログラム
JP2005352994A (ja) コンテンツ再生方法
WO2007005270A2 (en) Synchronization aspects of interactive multimedia presentation management
KR20010037736A (ko) 데이터 파일 관리방법
Goyal Media Player Lifecycle and Events

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100312

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111020

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111108

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120208

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120406

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120705

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120727

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120801

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150810

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees