JPWO2007091426A1 - 情報記録媒体および再生制御方法 - Google Patents

情報記録媒体および再生制御方法 Download PDF

Info

Publication number
JPWO2007091426A1
JPWO2007091426A1 JP2007557780A JP2007557780A JPWO2007091426A1 JP WO2007091426 A1 JPWO2007091426 A1 JP WO2007091426A1 JP 2007557780 A JP2007557780 A JP 2007557780A JP 2007557780 A JP2007557780 A JP 2007557780A JP WO2007091426 A1 JPWO2007091426 A1 JP WO2007091426A1
Authority
JP
Japan
Prior art keywords
content
program
storage means
rom
playback
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
JP2007557780A
Other languages
English (en)
Other versions
JP5295572B2 (ja
Inventor
航 池田
航 池田
岡田 智之
智之 岡田
小塚 雅之
雅之 小塚
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.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2007557780A priority Critical patent/JP5295572B2/ja
Publication of JPWO2007091426A1 publication Critical patent/JPWO2007091426A1/ja
Application granted granted Critical
Publication of JP5295572B2 publication Critical patent/JP5295572B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/00681Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving measures which prevent a specific kind of data access
    • G11B20/00695Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving measures which prevent a specific kind of data access said measures preventing that data are read from the recording medium
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/00731Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving a digital rights management system for enforcing a usage restriction
    • G11B20/00739Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving a digital rights management system for enforcing a usage restriction wherein the usage restriction is associated with a specific geographical region
    • 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/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
    • G11B27/30Indexing; 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 on the same track as the main recording
    • G11B27/3027Indexing; 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 on the same track as the main recording used signal is digitally coded
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • 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/21Disc-shaped record carriers characterised in that the disc is of read-only, rewritable, or recordable type
    • G11B2220/213Read-only discs
    • 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/2541Blu-ray discs; Blue laser DVR discs
    • 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)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Management Or Editing Of Information On Record Carriers (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

第1コンテンツとプログラムとが記録された情報記録媒体(104)であって、再生装置(1)には、設定値を記憶している第1記憶手段(221)と、プログラムを実行する実行手段(206)と、実行手段(206)が情報を読み書き可能な第2記憶手段(222)とが備えられており、当該プログラムは、第1記憶手段(221)に記憶されている設定値を第2記憶手段(222)に書き込む第1記憶ステップ(S803)と、第1記憶手段(221)に記憶されている設定値と、第2記憶手段(222)に以前に書き込まれた設定値とを比較する比較ステップ(S900)と、比較の結果、第1記憶手段(221)に記憶されている設定値と、第2記憶手段(222)に以前に書き込まれた設定値とが異なる場合、第1コンテンツの再生を再生装置に行わせない制御ステップ(S920)とを実行手段に実行させるためのプログラムである情報記録媒体(104)。

Description

本発明は、BD−ROM等のコンテンツとプログラムとが記録された情報記録媒体およびコンテンツの再生制御方法に関する。
映像データを記録した情報記録媒体の代表格は、DVD(以下、「Standard Difinition(SD)−DVD」ともいう。)である。以下に従来のDVDについて説明する。
図1は、SD−DVDの構造を示す図である。図1の下段に示すように、DVDディスク上にはリードインからリードアウトまでの間に論理アドレス空間が設けられている。その論理アドレス空間には先頭からファイルシステムのボリューム情報が記録され、続いて映像音声などのアプリケーションデータが記録されている。
ファイルシステムとは、ISO9660やUniversal Disc Format(UDF)等の規格により定められたデータを管理する仕組みのことであり、ディスク上のデータをディレクトリまたはファイルと呼ばれる単位で表現する仕組みである。
日常使っているパーソナルコンピュータ(PC)の場合でも、File Allocation Tables(FAT)またはNT File System(NTFS)と呼ばれるファイルシステムにより、ディレクトリやファイルという構造でハードディスクに記録されたデータがコンピュータ上で表現され、ユーザビリティを高めている。
SD−DVDの場合、UDF及びISO9660の両方のファイルシステムが使用されている。両方を合わせて「UDFブリッジ」とも呼ばれる。記録されているデータはUDFまたはISO9660どちらのファイルシステムドライバによってもデータの読み出しができるようになっている。なお、ここで取り扱うDVDはパッケージメディア用のROMディスクであり、物理的に書き込みが不可能である。
DVD上に記録されたデータは、UDFブリッジを通して、図1左上に示すようなディレクトリまたはファイルとして見ることができる。ルートディレクトリ(図1における「ROOT」)の直下に「VIDEO_TS」と呼ばれるディレクトリが置かれ、ここにDVDのアプリケーションデータが記録されている。アプリケーションデータは、複数のファイルとして記録され、主なファイルとして以下の種類のファイルがある。
VIDEO_TS.IFO ディスク再生制御情報ファイル
VTS_01_0.IFO ビデオタイトルセット#1再生制御情報ファイル
VTS_01_0.VOB ビデオタイトルセット#1ストリームファイル
.....
上記例に示すように2つの拡張子が規定されている。「IFO」は再生制御情報が記録されたファイルであることを示す拡張子であり、「VOB」はAVデータであるMPEGストリームが記録されたファイルであることを示す拡張子である。
再生制御情報とは、DVDで採用されたインタラクティビティ(ユーザの操作に応じて再生を動的に変化させる技術)を実現するための情報や、メタデータのような、AVデータに付属する情報などのことである。また、DVDでは一般的に再生制御情報のことをナビゲーション情報と呼ぶことがある。
再生制御情報ファイルは、ディスク全体を管理する「VIDEO_TS.IFO」と、個々のビデオタイトルセット毎の再生制御情報である「VTS_01_0.IFO」がある。なお、DVDでは複数のタイトル、言い換えれば複数の異なる映画や楽曲を1枚のディスクに記録することが可能である。
ここで、ファイル名ボディにある「01」はビデオタイトルセットの番号を示しており、例えば、ビデオタイトルセット#2の場合は、「VTS_02_0.IFO」となる。
図1の右上部は、DVDのアプリケーション層でのDVDナビゲーション空間であり、前述した再生制御情報が展開された論理構造空間である。「VIDEO_TS.IFO」内の情報は、VIDEO Manager Information(VMGI)として、「VTS_01_0.IFO」または、他のビデオタイトルセット毎に存在する再生制御情報はVideo Title Set Information(VTSI)としてDVDナビゲーション空間に展開される。
VTSIの中にはProgram Chain(PGC)と呼ばれる再生シーケンスの情報であるProgram Chain Information(PGCI)が記述されている。PGCIは、Cellの集合とコマンドと呼ばれる一種のプログラミング情報によって構成されている。
Cell自身はVOB(Video Objectの略であり、MPEGストリームを指す)の一部区間または全部区間を指定する情報であり、Cellの再生は、当該VOBのCellによって指定された区間を再生することを意味している。
コマンドは、DVDの仮想マシンによって処理されるものであり、例えば、ウェブページを表示するブラウザ上で実行されるJava(登録商標)Scriptなどに近いものである。しかしながらJava(登録商標)Scriptが論理演算の他にウィンドウやブラウザの制御(例えば、新しいブラウザのウィンドウを開くなど)を行うのに対して、DVDのコマンドは、論理演算の他にAVタイトルの再生制御、例えば、再生するチャプターの指定などを実行するだけのものである点で異なっている。
Cellはディスク上に記録されているVOBの開始及び終了アドレス(論理アドレス)をその内部情報として有しており、プレーヤは、Cellに記述されたVOBの開始及び終了アドレス情報を使ってデータの読み出し、再生を実行する。
図2は、AVデータであるMPEGストリーム中に埋め込まれているナビゲーション情報を説明する概要図である。
SD−DVDの特長であるインタラクティビティは前述した「VIDEO_TS.IFO」や「VTS_01_0.IFO」などに記録されているナビゲーション情報だけによって実現されているのではなく、幾つかの重要な情報はナビゲーション・パック(ナビパックまたは、NV_PCKという。)と呼ばれる専用キャリアを使いVOB内に映像、音声データと一緒に多重化されている。
ここでは簡単なインタラクティビティの例としてメニュー画面について説明する。メニュー画面上には、幾つかのボタンが現れ、それぞれのボタンには当該ボタンが選択実行された時の処理が定義されている。
また、メニュー画面上では一つのボタンが選択されており(選択ボタン上に半透明色がオーバーレイされることで該ボタンがハイライトされ、該ボタンが選択状態であることをユーザに示す)、ユーザは、リモコンの上下左右キーを使って、選択状態のボタンを上下左右の何れかのボタンに移動させることが出来る。
リモコンの上下左右キーを使って、選択実行したいボタンまでハイライトを移動させ、決定する(決定キーを押す)ことによって対応するコマンドのプログラムが実行される。一般的には対応するタイトルやチャプターの再生がコマンドによって実行されている。
図2の左上部はNV_PCKに格納される情報の概要を示している。NV_PCK内には、ハイライトカラー情報と個々のボタン情報などが含まれている。ハイライトカラー情報には、カラーパレット情報が記述され、オーバーレイ表示されるハイライトの半透明色が指定される。
ボタン情報には、個々のボタンの位置情報である矩形領域情報と、当該ボタンから他のボタンへの移動情報(ユーザの上下左右キー操作それぞれに対応する移動先ボタンの指定)と、ボタンコマンド情報(当該ボタンが決定された時に実行されるコマンド)とが記述されている。
メニュー画面上のハイライトは、図2の右上部に示すように、オーバーレイ画像として作られる。オーバーレイ画像は、ボタン情報の矩形領域情報にカラーパレット情報の色を付した物である。このオーバーレイ画像は図2の右部に示す背景画像と合成されて画面上に表示される。
前述のようにして、DVDではメニュー画面を実現している。また、何故、ナビゲーションデータの一部をNV_PCKを使ってストリーム中に埋め込んでいるのかについては、以下の理由からである。
すなわち、ストリームと同期して動的にメニュー情報を更新、例えば、映画再生中の途中5分〜10分の間にだけメニュー画面を表示するといった、同期タイミングが問題となりやすい処理を問題なく実現できるようにするためである。
また、もう一つの大きな理由は、NV_PCKには特殊再生を支援するための情報を格納し、DVD再生時の早送り、巻き戻しなどの非通常再生時にも円滑にAVデータをデコードし再生させる等、ユーザの操作性を向上させるためである。
図3は、DVDにおけるVOBの構成を示す概要図である。図に示すように、映像、音声、字幕などのデータ(図3の(1))は、MPEGシステム(ISO/IEC13818−1)規格に基づいて、パケット及びパック化し(図3の(2))、それぞれを多重化して1本のMPEGプログラムストリームにしている(図3の(3))。
また、前述した通りインタラクティブを実現するためのボタンコマンドを含んだNV_PCKも一緒に多重化をされている。
MPEGシステムの多重化の特徴として、多重化する個々のデータは、そのデコード順に基づくビット列になっているが、多重化されるデータ間、即ち、映像、音声、字幕の間は必ずしも再生順、言い換えればデコード順に基づいてビット列が形成されているわけではないことが挙げられる。
これはMPEGシステムストリームのデコーダモデル(図3の(4)、一般にSystem Target Decoder、またはSTDと呼ばれる)が多重化を解いた後に個々のエレメンタリストリームに対応するデコーダバッファを持ち、デコードタイミングまでに一時的にデータを蓄積している事に由来している。
このデコーダバッファは、個々のエレメンタリストリーム毎にサイズが異なり、映像に対しては、232kB、音声に対しては4kB、字幕に対しては52kBをそれぞれ有している。
このため、各デコーダバッファへのデータ入力タイミングは個々のエレメンタリストリームで異なるため、MPEGシステムストリームとしてビット列を形成する順番と表示(デコード)されるタイミングにずれが生じている。
即ち、映像データと並んで多重化されている字幕データが必ずしも同一タイミングでデコードされているわけでは無い。
以上述べたようなDVDに関する技術は、下記の特許文献1に記載されている。
特許第2813245号公報
ここで、各DVD−Videoプレーヤ(以下、単に「DVDプレーヤ」という。)には、設定値として、当該DVDプレーヤの流通先となるべき地域を識別する情報である1つのリージョンコードが記憶されている。また、このリージョンコードはDVDプレーヤ(DVDドライブも含む)側で管理されている。
なお、「流通先となるべき地域」とは、おおよそ使用地域と一致し、例えば、流通先となるべき地域が日本国内であるDVDプレーヤは、日本向けに生産されたものであり、日本国内で販売され、おおよそ日本国内で使用されることになる。
また、映画等のコンテンツが記録されたDVDにも1以上のリージョンコードが記憶されており、そのいずれか1つがDVDプレーヤのリージョンコードと一致すれば再生可能となる。
つまり、リージョンコードにより、DVDに記録されているコンテンツの再生可能地域が限定されることになる。
例えば、日本国内で販売されるDVDプレーヤには、リージョンコードとして“2”が記憶されており、北米地域で販売されるDVDにはリージョンコードとして“1”が記憶されている。
従って、日本国内で販売されるDVDプレーヤで、北米地域で販売されるDVDに記録されているコンテンツを再生することはできない。
しかし、リージョンコードが設定されていない、または、全てのリージョンコードが設定された、いわばリージョンフリーの不正なDVDプレーヤも存在する。つまり、DVDに記録されているリージョンコードに関わらず、全てのDVDの再生が可能なDVDプレーヤが存在する。
ここで、コンテンツ供給者(コンテンツ製作者およびコンテンツが記録された情報記録媒体の販売者など)が、例えば、あるコンテンツの流通開始時期を地域ごとにずらすために、それぞれ互いにリージョンコードが異なる各地域向けのDVDを生産したと想定する。
この場合、上記のようなリージョンフリーのDVDプレーヤは、どの地域向けのDVDであっても当該コンテンツを再生することが可能である。
従って、このような不正なDVDプレーヤについては、コンテンツ供給者によるコンテンツの供給地域および供給時期の制御は不可能である。
このような制御を実現することは、コンテンツ供給者の創作の一部を構成する、販売戦略、著作権保護、および流通先の地域に合わせた内容の伝達等を遂行するために必要なことである。
つまり、上述の不正なDVDプレーヤでは、コンテンツ供給者が予定する上記の販売戦略等が適切に遂行されない可能性が高くなる。
なお、BD(Blu−ray Disc)−ROMプレーヤにおいては、リージョンコードは設定値としてレジスタに記憶され、プログラムで処理されるものであり、リージョンフリーという設定は許されていない。そのため、原則としては上記のような事態は回避される。
また、BD−ROMプレーヤのリージョンコードに応じて再生するコンテンツを切り替えることが可能である。
例えば、日本に対応するリージョンコードが“A”であり、ドイツに対応するリージョンコードが“B”であるとする。
この場合、例えば、映画の日本語版とドイツ語版とが収録されたBD−ROMに、リージョンコード“A”と“B”とを記憶させておく。さらに、“A”と日本語版を、“B”とドイツ語版を対応付けておく。
日本国内で販売されるBD−ROMプレーヤは、このBD−ROMを再生しようとする場合、自身のリージョンコード“A”に対応する日本語版のコンテンツデータを読み出して再生する。
また、ドイツ国内で販売されるBD−ROMプレーヤは、このBD−ROMを再生しようとする場合、自身のリージョンコード“B”に対応するドイツ語版のコンテンツデータを読み出して再生する。
このように、BD−ROMプレーヤは、BD−ROMに記憶されているリージョンコードを利用し、地域ごとに再生するコンテンツを切り替えることができる。
具体的にはこのようなコンテンツの切り替え動作は、BD−ROMプレーヤがBD−ROMに記憶されているプログラムを実行することにより実現される。
ただし、ユーザの設定により適宜リージョンコードを切り替えられる不正なBD−ROMプレーヤは作製可能である。また、初期に設定されたリージョンコードを他の値に書き換えるような不正改造も可能であり、BD−ROMプレーヤの何らかの不具合によりリージョンコードが変更される可能性も考えられる。
コンテンツ供給者には、このような不正なBD−ROMプレーヤの作製やBD−ROMプレーヤの不具合の発生等を防ぐ術はない。そのため、このようなBD−ROMプレーヤによりBD−ROMが再生されることは避けられず、コンテンツ供給者の予定していない態様でコンテンツの再生が行われることとなる。
つまり、現状では、コンテンツ供給者の意図を反映し、リージョンコード等の設定値に応じて適切にコンテンツが再生されるための十分な環境は提供されていない。
本発明は、上記従来の課題を考慮し、コンテンツ供給者の意図に基づいた適切な態様でのコンテンツの再生を再生装置に行わせるための情報記録媒体およびコンテンツの再生制御方法を提供することを目的とする。
上記目的を達成するために、本発明の情報記録媒体は、再生装置により再生可能な第1コンテンツと、前記再生装置により実行されるプログラムとが記録された情報記録媒体であって、前記再生装置には、前記再生装置に設定された設定値を記憶している第1記憶手段と、前記プログラムを実行する実行手段と、前記実行手段が情報を読み書き可能な第2記憶手段とが備えられており、前記プログラムは、前記第1記憶手段に記憶されている設定値を前記第2記憶手段に書き込む第1記憶ステップと、前記第1記憶手段に記憶されている設定値と、前記第2記憶手段に以前に書き込まれた設定値とを比較する比較ステップと、前記比較ステップにおける比較の結果、前記第1記憶手段に記憶されている設定値と、前記第2記憶手段に以前に書き込まれた設定値とが異なる場合、前記第1コンテンツの再生を前記再生装置に行わせない制御ステップとを前記実行手段に実行させるためのプログラムである。
これにより、本発明の情報記録媒体に記録されている第1コンテンツを再生しようとする再生装置において、設定値が以前の値から変更されているか否か判定され、設定値が変更されている場合には、第1コンテンツは再生されない。
従って、本来的には変更されない設定値が以前の値から変更されている場合、その変更後の適正ではない設定値に基づいて第1コンテンツが再生されることを防ぐことができる。
また、このような制御は、情報記録媒体に記録されているプログラムにより実現され、当該プログラムはコンテンツ供給者が作成することがきる。従って、コンテンツ供給者の意図に基づく適切な態様でのコンテンツの再生が可能となる。
また、前記設定値は、前記再生装置の流通先となるべき地域を識別する情報であるリージョンコードであるとしてもよく、前記制御ステップでは、前記比較ステップにおける比較の結果、前記第1記憶手段に記憶されているリージョンコードと、前記第2記憶手段に以前に書き込まれたリージョンコードとが一致し、かつ、前記第1コンテンツが前記第1記憶手段に記憶されているリージョンコードに対応するものである場合、前記再生装置に前記第1コンテンツを再生させるための制御を行うとしてもよい。
これにより、再生装置のリージョンコードが変更されていない場合に、当該リージョンコードに応じたコンテンツが再生されることとなる。つまり、再生装置の属する地域に応じて、第1コンテンツの再生が適切に制御されることになる。
また、前記プログラムはさらに、前記第1記憶ステップにおいて前記第2記憶手段に設定値が書き込まれる前に、前記第2記憶手段に設定値が記憶されているか否かを確認する確認ステップを含み、前記第1記憶ステップでは、前記確認ステップにおける確認の結果、前記第2記憶手段に設定値が記憶されていない場合、前記第1記憶手段に記憶されている設定値を前記第2記憶手段に書き込み、前記比較ステップでは、前記確認ステップにおける確認の結果、前記第2記憶手段に設定値が記憶されている場合、前記以前に書き込まれた設定値である、前記第2記憶手段に記憶されている設定値と、前記第1記憶手段に記憶されている設定値とを比較するとしてもよい。
このように、第2記憶手段に既に設定値が記憶されている場合は、当該設定値は、上述の以前に書き込まれた設定値であり、当該設定値と第1記憶手段に記憶されている設定値とを比較すればよい。
また、前記第1記憶ステップでは、前記確認ステップにおける確認の結果、前記第2記憶手段に設定値が記憶されている場合、前記第1記憶手段に記憶されている設定値を前記第2記憶手段に書き込まないとしてもよい。
つまり、第2記憶手段への設定値の書き込み、すなわち、第1記憶手段に記憶されている設定値の第2記憶手段へのコピーは、第2記憶手段に設定値が記憶されていない場合にのみ行うとしてもよい。
また、前記第1記憶手段に記憶されている設定値について、前記設定値としてとり得る所定の値が予め定められており、前記プログラムはさらに、前記第1記憶手段に記憶されている設定値が所定の値であるか否かの判定を行う判定ステップを含み、前記制御ステップではさらに、前記判定ステップにおける判定の結果、前記第1記憶手段に記憶されている設定値が前記所定の値ではない場合、前記第1コンテンツの再生を前記再生装置に行わせないとしてもよい。
これにより、再生装置の設定値が変更されている場合のみならず、当該設定値が正規の値ではない場合も、第1コンテンツの再生が制限される。つまり、正規の値ではない不当な設定値に基づいて第1コンテンツが再生されることを防ぐことができる。
また、本発明は、第1コンテンツの再生が可能であり本発明の情報記録媒体に記録されているプログラムを読み込んで実行する再生装置として実現することもできる。
また、このような再生装置が行う特徴的な動作をステップとする再生制御方法として実現したり、それらのステップをコンピュータに実行させるプログラムとして実現したりすることもできる。そして、そのようなプログラムは、CD−ROM等の記録媒体やインターネット等の伝送媒体を介して配信することができる。
本発明は、コンテンツ供給者の意図に基づいた適切な態様でのコンテンツの再生を再生装置に行わせるための情報記録媒体およびコンテンツの再生制御方法を提供することができる。
図1は、SD−DVDの構造を示す図である。 図2は、AVデータであるMPEGストリーム中に埋め込まれているナビゲーション情報を説明する概要図である。 図3は、DVDにおけるVOBの構成を示す概要図である。 図4は、BD−ROMのデータ階層を示す図である。 図5は、BD−ROMに記録されている論理データの構造を示す図である。 図6は、BD−ROMを再生するBD−ROMプレーヤの基本的な構成の概要を示す図である。 図7は、図6に示すプレーヤの構成を詳細化したブロック図である。 図8は、BD−ROMのアプリケーション空間を示す図である。 図9は、MPEGストリーム(VOB)の構成を示す図である。 図10は、MPEGストリームにおけるパックの構成を示す図である。 図11は、AVデータとプレーヤ構成との関係を説明するための図である。 図12は、トラックバッファを使ったVOBデータ連続供給モデルを説明するための図である。 図13は、VOB管理情報ファイルの内部構造を示す図である。 図14は、VOBU情報の詳細を説明するための図である。 図15は、タイムマップを使ったアドレス情報取得方法を説明するための図である。 図16は、プレイリストの構成を示す図である。 図17は、イベントハンドラテーブルの構成を示す図である。 図18は、BD−ROM全体情報であるBD.INFOの構成を示す図である。 図19は、グローバルイベントハンドラテーブルの構成を示す図である。 図20は、タイムイベントの例を示す図である。 図21は、ユーザのメニュー操作によるユーザイベントの例を示す図である。 図22は、グローバルイベントの例を示す図である。 図23は、プログラムプロセッサの機能的な構成を説明するための図である。 図24は、システムパラメータ(SPRM)の一覧を示す図である。 図25は、2つの選択ボタンを持つメニュー画面の制御に係るイベントハンドラにおけるプログラムの例を示す図である。 図26は、メニュー選択のユーザイベントに係るイベントハンドラにおけるプログラムの例を示す図である。 図27は、BD−ROMプレーヤにおけるAVデータ再生の基本処理の流れを示すフローチャートである。 図28は、BD−ROMプレーヤにおけるプレイリスト再生開始からVOB再生終了までの処理の流れを示すフローチャートである。 図29(A)は、BD−ROMプレーヤにおけるタイムイベントに係る処理の流れを示すフローチャートであり、図29(B)は、BD−ROMプレーヤにおけるユーザイベントに係る処理の流れを示すフローチャートである。 図30は、BD−ROMプレーヤにおける字幕データの処理の流れを示すフローチャートである。 図31は、実施の形態2におけるBD−ROMプレーヤの主要な機能構成を示す機能ブロック図である。 図32は、リージョンコードの例を示す図である。 図33は、BD−ROMプレーヤのリージョンコードに応じて、再生するコンテンツを切り替えるためのプログラムの概要を示す図である。 図34は、実施の形態2におけるBD再生プログラムに基づくBD−ROMプレーヤ1の動作の概要を示す図である。 図35は、図34に示す不変性判定処理および再生制御処理の流れを示すフロー図である。 図36は、リージョンコードの正当性を判定し、判定結果に基づいてBD−ROMプレーヤを制御するためのBD再生プログラムにおける処理フローを示す図である。 図37は、リージョンコードの不変性判定処理の前にリージョンコードの正当性判定処理行う場合のBD再生プログラムにおける処理フローの一例を示す図である。 図38は、リージョンコードの不変性判定処理の中でリージョンコードの正当性判定を行う場合のBD再生プログラムにおける処理フローの一例を示す図である。
符号の説明
1 BD−ROMプレーヤ
104 BD−ROM
202 光ピックアップ
203 プログラム記録メモリ
204 管理情報記録メモリ
205 AV記録メモリ
206 プログラム処理部
207 管理情報処理部
208 プレゼンテーション処理部
209 イメージプレーン
210 ビデオプレーン
211 合成処理部
220 再生部
221 第1記憶部
222 第2記憶部
302 プログラムプロセッサ
303 UOマネージャ
305 シナリオプロセッサ
306 プレゼンテーションコントローラ
307 クロック
308 イメージメモリ
309 トラックバッファ
310 デマルチプレクサ
311 イメージプロセッサ
312 ビデオプロセッサ
313 サウンドプロセッサ
317ドライブコントローラ
S801 確認ステップ
S802 読み出しステップ
S803 書き込みステップ
S900 不変性判定ステップ
S910 正当性判定ステップ
S920 再生制御ステップ
以下、添付の図面を参照しながら、本発明を実施するための最良の形態ついて説明する。
なお、本願請求項1に係る発明に最も近い実施の形態は実施の形態2であるが、理解を容易にするために、実施の形態2における情報記録媒体等の基本的な構成を説明する実施の形態1を先に説明する。
(実施の形態1)
まず、BD−ROMおよびBD−ROMを再生するBD−ROMプレーヤの基本的な構成および動作について、図1〜図30を用いて説明する。
(ディスク上の論理データ構造)
図4は、BD−ROMのデータ階層を示す図である。
図4に示すように、ディスク媒体であるBD−ROM104上には、AVデータ103と、AVデータに関する管理情報及びAV再生シーケンスなどのBD管理情報102と、インタラクティブを実現するBD再生プログラム101とが記録されている。
なお、本実施の形態では、映画などのAVコンテンツを再生するためのAVアプリケーションを主眼においてBD−ROMの説明を行うが、BD−ROMをCD−ROMやDVD−ROMの様にコンピュータ用途の記録媒体として使用することも当然のことながら可能である。
図5は、前述のBD−ROM104に記録されている論理データの構造を示す図である。BD−ROM104は、他の光ディスク、例えばDVDやCDなどと同様にその内周から外周に向けてらせん状に記録領域を持ち、内周のリードインと外周のリードアウトの間に論理データを記録できる論理アドレス空間を有している。
また、リードインの内側にはBurst Cutting Area(BCA)と呼ばれる、ドライブでしか読み出せない特別な領域がある。この領域はアプリケーションから読み出せないため、例えば著作権保護技術などに利用されることがよくある。
論理アドレス空間には、ファイルシステム情報(ボリューム)を先頭に映像データなどのアプリケーションデータが記録されている。ファイルシステムとは従来技術で説明した通り、UDFやISO9660等の規格により定められたデータを管理する仕組みのことであり、通常のPCと同じように記録されている論理データをディレクトリ、ファイル構造を使って読み出しする事が可能になっている。
本実施の形態の場合、BD−ROM104上のディレクトリ、ファイル構造は、ルートディレクトリ(ROOT)直下にBDVIDEOディレクトリが置かれている。このディレクトリはBD−ROMで扱うAVデータや管理情報などのデータ(図4に示すBD再生プログラム101、BD管理情報102、AVデータ103)が記録されているディレクトリである。
BDVIDEOディレクトリの下には、次の7種類のファイルが記録されている。
BD.INFO(ファイル名固定)
「BD管理情報」の一つであり、BD−ROM全体に関する情報を記録したファイルである。BD−ROMプレーヤは最初にこのファイルを読み出す。
BD.PROG(ファイル名固定)
「BD再生プログラム」の一つであり、BD−ROM全体に関わるプログラムを記録したファイルである。
XXX.PL(「XXX」は可変、拡張子「PL」は固定)
「BD管理情報」の一つであり、シナリオを記録するプレイリスト(Play List)情報を記録したファイルである。プレイリスト毎に1つのファイルを持っている。
XXX.PROG(「XXX」は可変、拡張子「PROG」は固定)
「BD再生プログラム」の一つであり、前述したプレイリスト毎のプログラムを記録したファイルである。プレイリストとの対応はファイルボディ名(「XXX」が一致する)によって識別される。
YYY.VOB(「YYY」は可変、拡張子「VOB」は固定)
「AVデータ」の一つであり、VOB(従来例で説明したVOBと同じ)を記録したファイルである。1つのVOBは1つのファイルに対応する。
YYY.VOBI(「YYY」は可変、拡張子「VOBI」は固定)
「BD管理情報」の一つであり、AVデータであるVOBに関わる管理情報を記録したファイルである。VOBとの対応はファイルボディ名(「YYY」が一致する)によって識別される。
ZZZ.PNG(「ZZZ」は可変、拡張子「PNG」は固定)
「AVデータ」の一つであり、字幕及びメニュー画面を構成するためのイメージデータであるPNG(World Wide Web Consortium(W3C)によって標準化された画像フォーマットであり「ピング」と読む。)形式のイメージファイルである。1つのPNGイメージは1つのファイルに対応する。
(プレーヤの構成)
次に、前述のBD−ROM104を再生するプレーヤの構成について図6及び図7を用いて説明する。
図6は、BD−ROM104を再生するBD−ROMプレーヤの基本的な構成の概要を示す図である。
図6に示すBD−ROMプレーヤにおいて、BD−ROM104上のデータは、光ピックアップ202を通して読み出される。読み出されたデータはそれぞれのデータの種類に応じて専用のメモリに記録される。
BD再生プログラム(「BD.PROG」または「XXX.PROG」ファイル)はプログラム記録メモリ203に、BD管理情報(「BD.INFO」、「XXX.PL」または「YYY.VOBI」ファイル)は管理情報記録メモリ204に、AVデータ(「YYY.VOB」または「ZZZ.PNG」ファイル)はAV記録メモリ205にそれぞれ記録される。
プログラム記録メモリ203に記録されたBD再生プログラムはプログラム処理部206によって処理される。管理情報記録メモリ204に記録されたBD管理情報は管理情報処理部207によって処理される。
また、AV記録メモリ205に記録されたAVデータはプレゼンテーション処理部208によって処理される。
プログラム処理部206は、管理情報処理部207から再生するプレイリストの情報やプログラムの実行タイミングなどのイベント情報を受け取りプログラムの処理を行う。また、プログラムで、再生するプレイリストを動的に変更する事が可能であり、この場合は管理情報処理部207に対して変更後のプレイリストの再生命令を送ることで実現する。
プログラム処理部206は、更に、ユーザからのイベント、例えば、ユーザが操作するリモコンからのリクエストを受け付け、ユーザイベントに対応するプログラムがある場合は、実行処理する。
管理情報処理部207は、プログラム処理部206の指示を受け、その指示に対応するプレイリスト及びそのプレイリストに対応したVOBの管理情報を解析する。更に、プレゼンテーション処理部208に再生の対象となるAVデータの再生を指示する。
また、管理情報処理部207は、プレゼンテーション処理部208から基準時刻情報を受け取り、時刻情報に基づいてプレゼンテーション処理部208にAVデータ再生の停止指示を行う。更に、プログラム処理部206に対してプログラム実行タイミングを示すイベントを生成する。
プレゼンテーション処理部208は、映像、音声、および字幕それぞれのデータに対応するデコーダを持ち、管理情報処理部207からの指示に従い、AVデータのデコード及び出力を行う。映像データ及び字幕データは、デコード後にそれぞれの専用プレーンに描画される。
具体的には、映像データはビデオプレーン210に描画され、字幕データ等のイメージデータはイメージプレーン209に描画される。更に、2つのプレーンに描画された映像の合成処理が合成処理部211によって行われTVなどの表示デバイスへ出力される。
図6で示すように、BD−ROMプレーヤは図4で示したBD−ROM104に記録されているデータ構造に基づいた構成をとっている。
図7は、図6に示すプレーヤの構成を詳細化したブロック図である。図6に示す各構成部と、図7に示す各構成部との対応は以下の通りである。
AV記録メモリ205はイメージメモリ308とトラックバッファ309に対応する。プログラム処理部206はプログラムプロセッサ302とUO(User Operation)マネージャ303に対応する。管理情報処理部207はシナリオプロセッサ305とプレゼンテーションコントローラ306とに対応する。プレゼンテーション処理部208はクロック307、デマルチプレクサ310、イメージプロセッサ311、ビデオプロセッサ312とサウンドプロセッサ313とに対応する。
BD−ROM104から読み出されたVOBデータ(MPEGストリーム)はトラックバッファ309に、イメージデータ(PNG)はイメージメモリ308にそれぞれ記録される。
デマルチプレクサ310は、クロック307から得られる時刻に基づき、トラックバッファ309に記録されたVOBデータを抜き出す。更に、VOBデータに含まれる映像データをビデオプロセッサ312に音声データをサウンドプロセッサ313にそれぞれ送り込む。
ビデオプロセッサ312及びサウンドプロセッサ313はそれぞれMPEGシステム規格で定められる通りに、デコーダバッファとデコーダからそれぞれ構成されている。即ち、デマルチプレクサ310から送りこまれる映像、音声それぞれのデータは、それぞれのデコーダバッファに一時的に記録され、クロック307に従い個々のデコーダでデコード処理される。
イメージメモリ308に記録されたPNGデータは、次の2つの処理方法がある。PNGデータが字幕用の場合は、プレゼンテーションコントローラ306によってデコードタイミングが指示される。クロック307からの時刻情報をシナリオプロセッサ305が一旦受け、適切な字幕表示が行えるように、字幕表示時刻(開始及び終了)になればプレゼンテーションコントローラ306に対して字幕の表示、非表示の指示を出す。
プレゼンテーションコントローラ306からデコード/表示の指示を受けたイメージプロセッサ311は対応するPNGデータをイメージメモリ308から抜き出し、デコードし、イメージプレーン209に描画する。
また、PNGデータがメニュー画面用の場合は、プログラムプロセッサ302によってデコードタイミングが指示される。プログラムプロセッサ302がいつイメージのデコードを指示するかは、プログラムプロセッサ302が処理しているBDプログラムに因るものであって一概には決まらない。
イメージデータ及び映像データは、図6で説明したようにそれぞれデコード後にイメージプレーン209およびビデオプレーン210に描画され、合成処理部211によって合成出力される。
BD−ROM104から読み出された管理情報(シナリオ、AV管理情報)は、管理情報記録メモリ204に記録されるが、シナリオ情報(「BD.INFO」及び「XXX.PL」)はシナリオプロセッサ305によって読み出され処理される。また、AV管理情報(「YYY.VOBI」)はプレゼンテーションコントローラ306によって読み出され処理される。
シナリオプロセッサ305は、プレイリストの情報を解析し、プレイリストによって参照されているVOBとその再生位置をプレゼンテーションコントローラ306に指示し、プレゼンテーションコントローラ306は対象となるVOBの管理情報(「YYY.VOBI」)を解析して、対象となるVOBを読み出すようにドライブコントローラ317に指示を出す。
ドライブコントローラ317はプレゼンテーションコントローラ306の指示に従い、光ピックアップ202を移動させ、対象となるAVデータの読み出しを行う。読み出されたAVデータは、前述したようにイメージメモリ308またはトラックバッファ309に記録される。
また、シナリオプロセッサ305は、クロック307の時刻を監視し、管理情報で設定されているタイミングでイベントをプログラムプロセッサ302に投げる。
プログラム記録メモリ203に記録されたBDプログラム(「BD.PROG」または「XXX.PROG」)は、プログラムプロセッサ302によって実行処理される。プログラムプロセッサ302がBDプログラムを処理するのは、シナリオプロセッサ305からイベントが送られてきた場合か、UOマネージャ303からイベントが送られてきた場合である。
UOマネージャ303は、ユーザからリモコンキーによってリクエストが送られてきた場合に、当該リクエストに対応するイベントを生成しプログラムプロセッサ302に送る。
このような各構成部の動作により、BD−ROMの再生がおこなわれる。
(アプリケーション空間)
図8は、BD−ROMのアプリケーション空間を示す図である。
BD−ROMのアプリケーション空間では、プレイリスト(PlayList)が一つの再生単位になっている。プレイリストはセル(Cell)の再生シーケンスから構成される静的なシナリオと、プログラムによって記述される動的なシナリオとを有している。
プログラムによる動的なシナリオが無い限り、プレイリストは個々のセルを順に再生するだけであり、また、全てのセルの再生を終了した時点でプレイリストの再生は終了する。
一方で、プログラムは、プレイリストを超えての再生記述や、ユーザの選択またはプレーヤの状態に応じて再生する対象を動的に変えることが可能である。典型的な例としてはメニュー画面を介した再生対象の動的変更が挙げられる。BD−ROMの場合、メニューとはユーザの選択によって再生するシナリオ、即ちプレイリストを動的に選択するための機能の構成要素の1つである。
また、ここで言うプログラムは、時間イベントまたはユーザイベントによって実行されるイベントハンドラの事である。
時間イベントは、プレイリスト中に埋め込まれた時刻情報に基づいて生成されるイベントである。図7で説明したシナリオプロセッサ305からプログラムプロセッサ302に送られるイベントがこれに相当する。時間イベントが発行されると、プログラムプロセッサ302はIDによって対応付けられるイベントハンドラを実行処理する。
前述した通り、実行されるプログラムが他のプレイリストの再生を指示することが可能であり、この場合には、現在再生されているプレイリストの再生は中止され、指定されたプレイリストの再生へと遷移する。
ユーザイベントは、ユーザのリモコンキー操作によって生成されるイベントである。ユーザイベントは大きく2つのタイプに分けられる。一つ目は、リモコンが備えるカーソルキー(「上」「下」「左」「右」キー)または「決定」キーの操作によって生成されるメニュー選択のイベントである。
メニュー選択のイベントに対応するイベントハンドラはプレイリスト内の限られた期間でのみ有効である。つまり、プレイリストの情報として、個々のイベントハンドラの有効期間が設定されている。プログラムプロセッサ302は、リモコンの「上」「下」「左」「右」キーまたは「決定」キーが押された時に有効なイベントハンドラを検索して、有効なイベントハンドラがある場合は当該イベントハンドラが実行処理される。他の場合は、メニュー選択のイベントは無視されることになる。
二つ目のユーザイベントは、「メニュー」キーの操作によって生成されるメニュー画面呼び出しのイベントである。メニュー画面呼び出しのイベントが生成されると、グローバルイベントハンドラが呼ばれる。
グローバルイベントハンドラはプレイリストに依存せず、常に有効なイベントハンドラである。この機能を使うことにより、DVDのメニューコールを実装することができる。メニューコールを実装することにより、タイトル再生中に音声、字幕メニューなどを呼び出し、音声または字幕を変更後に中断した地点からのタイトル再生を実行することができる。
プレイリストで静的シナリオを構成する単位であるセル(Cell)はVOB(MPEGストリーム)の全部または一部の再生区間を参照したものである。セルはVOB内の再生区間を開始、終了時刻の情報として持っている。個々のVOBと一対になっているVOB管理情報(VOBI)は、その内部にタイムマップ(Time MapまたはTM)を有しており、このタイムマップによって前述したVOBの再生、終了時刻をVOB内(即ち対象となるファイル「YYY.VOB」内)での読み出し開始アドレス及び終了アドレスを導き出すことが可能である。なおタイムマップの詳細は図14を用いて後述する。
(VOBの詳細)
図9は、本実施の形態で使用するMPEGストリーム(VOB)の構成を示す図である。図9に示すように、VOBは複数のVideo Object Unit(VOBU)によって構成されている。VOBUは、MPEGビデオストリームにおけるGroup Of Pictures(GOP)を基準とする単位であり、音声データも含んだ多重化ストリームとしての一再生単位である。
VOBUは0.4秒から1.0秒の再生時間を持ち、通常は0.5秒の再生時間を持っている。これはMPEGのGOPの構造が通常は15フレーム/秒(NTSCの場合)であることによって導かれるものである。
VOBUは、その内部に映像データであるビデオパック(V_PCK)と、音声データであるオーディオパック(A_PCK)とを有している。各パックは1セクタで構成され、本実施の形態の場合は2kB単位で構成されている。
図10は、MPEGストリームにおけるパックの構成を示す図である。
図10に示すように、映像データ及び音声データといったエレメンタリデータは、ペイロードと呼ばれるパケットのデータ格納領域に先頭から順次入れられていく。ペイロードにはパケットヘッダが付けられ1つのパケットを構成する。
パケットヘッダには、ペイロードに格納してあるデータがどのストリームのデータであるのか、映像データであるのか音声データであるのか、および、映像データまたは音声データがそれぞれ複数ストリーム分ある場合に、どのストリームのデータなのかを識別するためのID(stream_id)、並びに、当該ペイロードのデコード及び表示時刻情報であるタイムスタンプであるDecode Time Stamp(DTS)及びPresentation Time Stamp(PTS)が記録されている。
DTSおよびPTSは必ずしも全てのパケットヘッダに記録されている訳ではなく、MPEGによって記録するルールが規定されている。ルールの詳細についてはMPEGシステム(ISO/IEC13818−1)規格書に記述されているので省略する。
パケットには更にヘッダ(パックヘッダ)が付けられ、パックを構成する。パックヘッダには、当該パックがいつデマルチプレクサ310を通過し、個々のエレメンタリストリームのデコーダバッファに入力されるかを示すタイムスタンプであるSystem Clock Reference(SCR)が記録されている。
(VOBのインターリーブ記録)
図11及び図12を用いてVOBファイルのインターリーブ記録について説明する。
図11は、AVデータとBD−ROMプレーヤの構成との関係を説明するための図である。
図11上段の図は、図7を用いて前述したプレーヤ構成図の一部である。図の通り、BD−ROM上のデータは、光ピックアップ202を通してVOB即ちMPEGストリームであればトラックバッファ309へ入力され、PNG即ちイメージデータであればイメージメモリ308へと入力される。
トラックバッファ309はFirst−In First−Out(FIFO)であり、入力されたVOBのデータは入力された順にデマルチプレクサ310へと送られる。この時、前述したSCRに従って個々のパックはトラックバッファ309から引き抜かれデマルチプレクサ310を介してビデオプロセッサ312またはサウンドプロセッサ313へとデータが送り届けられる。
一方で、イメージデータの場合は、どのイメージを描画するかはプレゼンテーションコントローラ306(図7参照)によって指示される。また、描画に使ったイメージデータは、字幕用イメージデータの場合は同時にイメージメモリ308から削除されるが、メニュー用のイメージデータの場合は、イメージメモリ308内にそのまま残される。
これはメニューの描画はユーザ操作に依存するところがあるため、同一イメージを複数回描画する可能性があるためである。
図11下段の図は、BD−ROM上でのVOBファイル及びPNGファイルのインターリーブ記録を示す図である。
一般的にROM、例えばCD−ROMやDVD−ROMの場合、一連の連続再生単位となるAVデータは連続記録されている。連続記録されている限り、ドライブは順次データを読み出しプレーヤ側に送り届けるだけでよい。
しかしながら、連続再生すべきAVデータが分断されてディスク上に離散配置されている場合は、個々の連続区間の間でシーク操作が入ることになり、この間データの読み出しが止まることになる。つまり、データの供給が止まる可能性がある。
BD−ROMの場合も同様に、VOBファイルは連続領域に記録することができる方が望ましいが、例えば字幕データのようにVOBに記録されている映像データと同期して再生されるデータがあり、VOBファイルと同様に字幕データも何らかの方法によってBD−ROMから読み出す事が必要になる。
字幕データの読み出し方法の一手段として、VOBの再生開始前に一まとめで字幕用のイメージデータ(PNGファイル)を読み出してしまう方法がある。しかしながら、この場合には一時記録に使用する大量のメモリが必要となり、現実的ではない。
そこで、本実施の形態では、VOBファイルを幾つかのブロックに分けて、VOBファイルとイメージデータとをインターリーブ記録する方式を使用する。
図11下段はそのインターリーブ記録を説明するための図である。VOBファイルとイメージデータを適切にインターリーブ配置することで、前述したような大量の一時記録メモリ無しに、必要なタイミングでイメージデータをイメージメモリ308に格納することが可能になる。
しかしながらイメージデータを読み出している際には、VOBデータの読み込みは当然のことながら停止することになる。
図12は、上記のインターリーブ記録における問題を解決するトラックバッファ309を使ったVOBデータ連続供給モデルを説明するための図である。
既に説明したように、VOBのデータは、一旦トラックバッファ309に蓄積される。トラックバッファ309へのデータ入力レートをトラックバッファ309からのデータ出力レートより高く設定すると、BD−ROMからデータを読み出し続けている限り、トラックバッファ309のデータ蓄積量は増加をしていくことになる。
ここでトラックバッファ309への入力レートをVa、トラックバッファ309からの出力レートをVbとする。図12の上段の図に示すようにVOBの一連続記録領域が論理アドレスの“a1”から“a2”まで続くとする。また、“a2”から“a3”の間は、イメージデータが記録されていて、VOBデータの読み出しが行えない区間であるとする。
図12の下段の図は、トラックバッファ309の蓄積量を示す図である。横軸が時間、縦軸がトラックバッファ309内部に蓄積されているデータ量を示している。時刻“t1”がVOBの一連続記録領域の開始点である“a1”の読み出しを開始した時刻を示している。
この時刻以降、トラックバッファ309にはレートVa−Vbでデータが蓄積されていくことになる。このレートは言うまでもなくトラックバッファ309の入出力レートの差である。時刻“t2”は一連続記録領域の終了点である“a2”のデータを読み込む時刻である。
即ち時刻“t1”から“t2”の間レートVa−Vbでトラックバッファ309内はデータ量が増加していき、時刻“t2”でのデータ蓄積量はB(t2)は下記の(式1)によって求めることができる。
B(t2) = (Va−Vb)×(t2−t1) (式1)
この後、BD−ROM上のアドレス“a3”まではイメージデータが続くため、トラックバッファ309への入力は0となり、出力レートである“−Vb”でトラックバッファ309内のデータ量は減少していくことになる。このデータ量の減少は読み出し位置“a3”まで、つまり、時刻でいう“t3”まで続く。
ここで大事なことは、時刻“t3”より前にトラックバッファ309に蓄積されているデータ量が0になると、デコーダへ供給するVOBのデータが無くなってしまい、VOBの再生がストップしてしまうことである。
しかしながら、時刻“t3”でトラックバッファ309にデータが残っている場合には、VOBの再生がストップすることなく連続して行われることを意味している。
このVOBの再生がストップすることなく連続して行われるための条件は下記の(式2)によって示すことができる。
B(t2) ≧ −Vb×(t3−t2) (式2)
即ち、(式2)を満たすようにイメージデータの配置を決めればよい事になる。
(ナビゲーションデータ構造)
図13から図19を用いて、BD−ROMに記録されたナビゲーションデータ(BD管理情報)の構造について説明をする。
図13は、VOB管理情報ファイル(“YYY.VOBI”)の内部構造を示す図である。
VOB管理情報は、当該VOBのストリーム属性情報(Attribute)とタイムマップ(TMAP)とを有している。ストリーム属性情報は、ビデオ属性(Video)、オーディオ属性(Audio#0〜Audio#m)個々に持つ構成となっている。特にオーディオストリームの場合は、VOBが複数本のオーディオストリームを同時に持つことができることから、オーディオストリーム数(Number)によって、オーディオ属性のデータフィールドの数が特定される。
下記はビデオ属性(Video)の持つフィールドとそれぞれが持ち得る値の例である。
圧縮方式(Coding):
MPEG1
MPEG2
MPEG4
解像度(Resolution):
1920x1080
1280x720
720x480
720x565
アスペクト比(Aspect):
4:3
16:9
フレームレート(Framerate):
60
59.94
50
30
29.97
25
24
下記はオーディオ属性(Audio)の持つフィールドとそれぞれが持ち得る値の例である。
圧縮方式(Coding):
AC3
MPEG1
MPEG2
LPCM
チャンネル数(Ch):
1〜8
言語属性(Language):
JPN、ENG、・・・
タイムマップ(TMAP)はVOBU毎の情報を持つテーブルであって、当該VOBが有するVOBU数(Number)と各VOBU情報(VOBU#1〜VOBU#n)を持つ。
個々のVOBU情報は、VOBUの再生時間長(Duration)とVOBUのデータサイズ(Size)とを有している。
図14は、VOBU情報の詳細を説明するための図である。
広く知られているように、MPEGストリームは時間的側面とデータサイズとしての側面との2つの物理量についての側面を有している。例えば、音声の圧縮規格であるAudio Code number 3(AC3)は固定ビットレートでの圧縮を行っているため、時間とアドレスとの関係は1次式によって求めることができる。
しかしながらMPEGビデオデータの場合、個々のフレームは固定の表示時間、例えばNTSCの場合、1フレームは1/29.97秒の表示時間を持つが、個々のフレームの圧縮後のデータサイズは絵の特性や圧縮に使ったピクチャタイプ、いわゆるI/P/Bピクチャによってデータサイズは大きく変わってくる。
従って、MPEGビデオの場合は、時間とアドレスとの関係は一般式の形で表現することは不可能である。
当然の事として、MPEGビデオデータを多重化しているMPEGストリーム、即ちVOBについても、時間とデータとを一般式の形で表現することは不可能である。
これに代わって、VOB内での時間とアドレスとの関係を結びつけるのがタイムマップ(TMAP)である。図14に示すように、VOBU毎にVOBU内のフレーム数と、VOBU内のパック数とをそれぞれエントリとして持つテーブルがタイムマップ(TMAP)である。
図15を使って、タイムマップ(TMAP)の使い方を説明する。
図15は、タイムマップを使ったアドレス情報取得方法を説明するための図である。
図15に示すように時刻情報(Time)が与えられた場合、まずは当該時刻がどのVOBUに属するのかを検索する。具体的には、タイムマップのVOBU毎のフレーム数を加算して行き、フレーム数の和が、当該時刻をフレーム数に換算した値を超えるまたは一致するVOBUが当該時刻に対応するVOBUになる。
次に、タイムマップのVOBU毎のサイズを当該VOBUの直前のVOBUまで加算して行き、その値が与えられた時刻を含むフレームを再生するために読み出すべきパックの先頭アドレス(Address)になっている。
このようにして、MPEGストリームにおいて、与えられた時刻情報に対応するアドレスを得ることができる。
次に図16を使って、プレイリスト(“XXX.PL”)の内部構造を説明する。
図16は、プレイリストの構成を示す図である。
プレイリストは、セルリスト(CellList)とイベントリスト(EventList)とから構成されている。
セルリスト(CellList)は、プレイリスト内の再生セルシーケンスを示す情報であり、本リストの記述順でセルが再生される事になる。
セルリスト(CellList)の中身は、セルの数(Number)と各セル情報(Cell#1〜Cell#n)である。
各セル情報(Cell#〜Cell#n)は、VOBファイル名(VOBName)、当該VOB内での有効区間開始時刻(In)及び有効区間終了時刻(Out)と、字幕テーブル(SubtitleTable)を持っている。
有効区間開始時刻(In)及び有効区間終了時刻(Out)は、それぞれ当該VOB内でのフレーム番号で表現され、前述したタイムマップ(TMAP)を使うことによって再生に必要なVOBデータのアドレスを得る事ができる。
字幕テーブル(SubtitleTable)は、当該VOBと同期再生される字幕情報を持つテーブルである。字幕は音声同様に複数の言語を持つことができ、字幕テーブル(SubtitleTable)は言語数(Number)とそれに続く個々の言語ごとのテーブル(Language#1〜Language#k)とから構成されている。
各言語のテーブル(Language#1〜Language#k)は、言語情報(Language)と、表示される字幕の字幕情報数(Number)と、表示される字幕の字幕情報(Speech#1〜Speech#j)とから構成され、各字幕情報(Speech#1〜Speech#j)は対応するイメージデータファイル名(Name)、字幕表示開始時刻(In)及び字幕表示終了時刻(Out)と、字幕の表示位置(Position)とから構成されている。
イベントリスト(EventList)は、当該プレイリスト内で発生するイベントを定義したテーブルである。イベントリストは、イベント数(Number)に続いて個々のイベント(Event#1〜Event#m)とから構成され、各イベント(Event#1〜Event#m)は、イベントの種類(Type)、イベントのID(ID)、イベント生成時刻(Time)と有効期間(Duration)とから構成されている。
図17は、個々のプレイリスト毎のイベントハンドラ(時間イベントと、メニュー選択用のユーザイベント)を持つイベントハンドラテーブル(“XXX.PROG”)の構成を示す図である。
イベントハンドラテーブルは、定義されているイベントハンドラ/プログラム数(Number)と個々のイベントハンドラ/プログラム(Program#1〜Program#n)を有している。
各イベントハンドラ/プログラム(Program#1〜Program#n)内の記述は、イベントハンドラ開始の定義(<event_handler>タグ)と前述したイベントのIDと対になるイベントハンドラのID(event_handler id)を持ち、その後に当該プログラムが“function”に続く括弧“{”と“}”との間に記述される。
次に図18を用いてBD−ROM全体に関する情報(“BD.INFO”)の内部構造について説明をする。
図18は、BD−ROM全体情報であるBD.INFOの構成を示す図である。
BD−ROM全体情報は、タイトルリスト(TitleList)とグローバルイベント用のイベントリスト(EventList)とから構成されている。
タイトルリスト(TitleList)は、ディスク内のタイトル数(Number)と、これに続く各タイトル情報(Title#1〜Title#n)とから構成されている。
各タイトル情報(Title#1〜Title#n)は、タイトルに含まれるプレイリストのテーブル(PLTalble)とタイトル内のチャプターリスト(ChapterList)とを含んでいる。プレイリストのテーブル(PLTable)はタイトル内のプレイリストの数(Number)と、プレイリスト名(Name)即ちプレイリストのファイル名を有している。
チャプターリスト(ChapterList)は、当該タイトルに含まれるチャプター数(Number)と各チャプター情報(Chapter#1〜Chapter#n)とから構成され、各チャプター情報(Chapter#1〜Chapter#n)は当該チャプターが含むセルのテーブル(CellTable)を持ち、セルのテーブル(CellTable)はセル数(Number)と各セルのエントリ情報(CellEntry#1〜CellEntry#k)とから構成されている。
セルのエントリ情報(CellEntry#1〜CellEntry#k)は当該セルを含むプレイリスト名と、プレイリスト内でのセル番号によって記述されている。
イベントリスト(EventList)は、グローバルイベントの数(Number)と各グローバルイベントの情報(Event#1〜Event#m)とを持っている。ここで注意すべきは、最初に定義されるグローバルイベントは、ファーストイベント(FirstEvent)と呼ばれ、BD−ROMがプレーヤに挿入された時、最初に実行されるイベントである。
各グローバルイベントの情報(Event#1〜Event#m)はイベントタイプ(Type)とイベントのID(ID)だけを持っている。
図19は、グローバルイベントハンドラテーブル(“BD.PROG”)の構成を示す図である。本テーブルは、図17で説明したイベントハンドラテーブルと同一内容であり、その説明は省略する。
(イベント発生のメカニズム)
図20から図22を使ってイベント発生のメカニズムについて説明する。
図20は、タイムイベントの例を示す図である。
前述したとおり、タイムイベントはプレイリスト(“XXX.PL”)のイベントリスト(EventList)で定義される。
タイムイベントとして定義されているイベント、即ちイベントタイプ(Type)が“TimeEvent”の場合、イベント生成時刻(“t1”)になった時点で、ID“Ex1”を持つタイムイベントがシナリオプロセッサ305からプログラムプロセッサ302に対して出力される。
プログラムプロセッサ302は、イベントID“Ex1”を持つイベントハンドラを探し、対象のイベントハンドラを実行処理する。例えば、本実施の形態の場合では、2つのボタンイメージの描画を行うことなどが可能である。
図21は、ユーザのメニュー操作によるユーザイベントの例を示す図である。
前述したとおり、メニュー操作によるユーザイベントもプレイリスト(“XXX.PL”)のイベントリスト(EventList)で定義される。
ユーザイベントとして定義されるイベント、即ちイベントタイプ(Type)が“UserEvent”の場合、イベント生成時刻(“t1”)になった時点で、当該ユーザイベントがレディとなる。この時、イベント自身は未だ生成されてはいない。
当該イベントは、有効規格情報(Duration)で記される期間(“T1”)レディ状態にある。
図21に示すように、ユーザによりリモコンキーの「上」「下」「左」「右」キーのいずれかのキー、または「決定」キーが押された場合、まずUOイベントがUOマネージャ303によって生成されプログラムプロセッサ302に出力される。
プログラムプロセッサ302は、シナリオプロセッサ305に対してUOイベントを流し、シナリオプロセッサ305はUOイベントを受け取った時刻に有効なユーザイベントが存在するかを検索する。
シナリオプロセッサ305は、検索の結果、対象となるユーザイベントがあった場合、ユーザイベントを生成し、プログラムプロセッサ302に出力する。
プログラムプロセッサ302では、イベントID、例えば、図21に示す例の場合では“Ev1”を持つイベントハンドラを探し、対象のイベントハンドラを実行処理する。本例の場合、プレイリスト#2の再生を開始する。
生成されるユーザイベントには、どのリモコンキーがユーザによって押されたかの情報は含まれていない。選択されたリモコンキーの情報は、UOイベントによってプログラムプロセッサ302に伝えられ、仮想プレーヤが持つレジスタに記録保持される。
イベントハンドラのプログラムは、このレジスタの値を調べ、分岐処理を実行することが可能である。
図22は、グローバルイベントの例を示す図である。
前述のように、グローバルイベントはBD−ROM全体情報(“BD.INFO”)のイベントリスト(EventList)で定義される。
グローバルイベントとして定義されるイベント、即ちイベントタイプ(Type)が“GlobalEvent”であるイベントは、ユーザのリモコンキー操作があった場合にのみ生成される。
ユーザによりメニューキーが押された場合、先ずUOイベントがUOマネージャ303によって生成されプログラムプロセッサ302に出力される。プログラムプロセッサ302は、シナリオプロセッサ305に対してUOイベントを流す。
シナリオプロセッサ305は、該当するグローバルイベントを生成し、プログラムプロセッサ302に送る。プログラムプロセッサ302は、イベントID“menu”を持つイベントハンドラを探し、対象のイベントハンドラを実行する。例えば、図22に示す例の場合、プレイリスト#3の再生を開始している。
本実施の形態では、単にメニューキーと呼んでいるが、DVDを再生するプレーヤにおけるリモコンのように複数のメニューキーがあってもよい。各メニューキーに対応するIDをそれぞれ定義することで各メニューキーに対応する適切な処理が可能である。
(仮想プレーヤマシン)
図23は、プログラムプロセッサ302の機能的な構成を説明するための図である。
図23を用いてプログラムプロセッサ302の機能的な構成を説明する。
プログラムプロセッサ302は、内部に仮想プレーヤマシンを持つ処理モジュールである。仮想プレーヤマシンはBD−ROMとして定義された機能モデルであって、各BD−ROMプレーヤの実装には依存しないものである。即ち、どのBD−ROMプレーヤにおいても同様の機能を実行できることを保証している。
仮想プレーヤマシンは大きく2つの機能を持っている。プログラミング関数とプレーヤ変数である。プレーヤ変数はレジスタに記憶され保持されている。
プログラミング関数は、Java(登録商標) Scriptをベースとして、以下に記す3つの機能をBD−ROM固有関数として定義している。
リンク関数:現在の再生を停止し、指定するプレイリスト、セル、時刻からの再生を開始する。
Link(PL#,Cell#,time)
PL# : プレイリスト名
Cell# : セル番号
time : セル内での再生開始時刻
PNG描画関数:指定PNGデータをイメージプレーン209に描画する
Draw(File,X,Y)
File : PNGファイル名
X : X座標位置
Y : Y座標位置
イメージプレーンクリア関数:イメージプレーン209の指定領域をクリアする
Clear(X,Y,W,H)
X : X座標位置
Y : Y座標位置
W : X方向幅
H : Y方向幅
また、プレーヤ変数は、プレーヤの設定値等を示すシステムパラメータ(SPRM)と、一般用途として使用可能なゼネラルパラメータ(GPRM)とがある。
図24は、システムパラメータ(SPRM)の一覧を示す図である。
SPRM(0) : 言語コード
SPRM(1) : 音声ストリーム番号
SPRM(2) : 字幕ストリーム番号
SPRM(3) : アングル番号
SPRM(4) : タイトル番号
SPRM(5) : チャプター番号
SPRM(6) : プログラム番号
SPRM(7) : セル番号
SPRM(8) : 選択キー情報
SPRM(9) : ナビゲーションタイマー
SPRM(10) : 再生時刻情報
SPRM(11) : カラオケ用ミキシングモード
SPRM(12) : パレンタル用国情報
SPRM(13) : パレンタルレベル
SPRM(14) : プレーヤ設定値(ビデオ)
SPRM(15) : プレーヤ設定値(オーディオ)
SPRM(16) : 音声ストリーム用言語コード
SPRM(17) : 音声ストリーム用言語コード(拡張)
SPRM(18) : 字幕ストリーム用言語コード
SPRM(19) : 字幕ストリーム用言語コード(拡張)
SPRM(20) : プレーヤリージョンコード
SPRM(21) : 予備
SPRM(22) : 予備
SPRM(23) : 再生状態
SPRM(24) : 予備
SPRM(25) : 予備
SPRM(26) : 予備
SPRM(27) : 予備
SPRM(28) : 予備
SPRM(29) : 予備
SPRM(30) : 予備
SPRM(31) : 予備
なお、本実施の形態では、仮想プレーヤのプログラミング関数をJava(登録商標) Scriptベースとしたが、Java(登録商標) Scriptではなく、UNIX(登録商標) OSなどで使われているB−Shellや、Perl Scriptなど他のプログラミング関数であってもよい。言い換えれば、本発明におけるプログラム言語はJava(登録商標) Scriptに限定されるものでは無い。
(プログラムの例)
図25及び図26は、イベントハンドラにおけるプログラムの例を示す図である。
図25は、2つの選択ボタンを持つメニュー画面の制御に係るイベントハンドラにおけるプログラムの例を示す図である。
セル(PlayList#1.Cell#1)先頭でタイムイベントを使って図25左側のプログラムが実行される。ここでは、最初にゼネラルパラメータの一つGPRM(0)に“1”がセットされている。GPRM(0)は、当該プログラムの中で、選択されているボタンを識別するのに使っている。最初の状態では、左側に配置するボタン[1]が選択されている状態を初期値として持たされている。
次に、PNGの描画を描画関数である“Draw”を使ってボタン[1]、ボタン[2]それぞれについて行っている。ボタン[1]は、座標(10、200)を起点(左上端)としてPNGイメージ“1black.png”を描画している。ボタン[2]は、座標(330,200)を起点(左上端)としてPNGイメージ“2white.png”を描画している。
また、本セル最後ではタイムイベントを使って図25右側のプログラムが実行される。ここでは、Link関数を使って当該セルの先頭から再度再生するように指定している。
図26は、メニュー選択のユーザイベントに係るイベントハンドラにおけるプログラムの例を示す図である。
「左」キー、「右」キー、「決定」キー何れかのリモコンキーが押された場合それぞれに対応するプログラムがイベントハンドラに書かれている。ユーザによりリモコンキーが押された場合、図21を用いて説明したように、ユーザイベントが生成され、図26のイベントハンドラが起動されることになる。
本イベントハンドラでは、選択ボタンを識別しているGPRM(0)の値と、選択されたリモコンキーを識別するSPRM(8)を使って以下のように分岐処理を行っている。
条件1)ボタン[1]が選択されている、かつ、選択キーが「右」キーの場合
GPRM(0)を2に再設定して、選択状態にあるボタンを右のボタン[2]に変更する。
ボタン[1]、ボタン[2]のイメージをそれぞれ書き換える。
条件2)選択キーが「決定(OK)」の場合で、ボタン[1]が選択されている場合
プレイリスト#2の再生を開始する。
条件3)選択キーが「決定(OK)」の場合で、ボタン[2]が選択されている場合
プレイリスト#3の再生を開始する。
図26に示すプログラムは、上記のように解釈され実行される。
(プレーヤ処理フロー)
図27から図30を用いてプレーヤでの処理の流れを説明する。
図27は、BD−ROMプレーヤにおけるAVデータ再生の基本処理の流れを示すフロー図である。
BD−ROMが挿入されると(S101)、BD−ROMプレーヤは“BD.INFO”の読み込みと解析(S102)、および、“BD.PROG”の読み込み(S103)を実行する。“BD.INFO”及び“BD.PROG”は共に管理情報記録メモリ204に一旦格納され、シナリオプロセッサ305によって解析される。
続いて、シナリオプロセッサ305は、“BD.INFO”ファイル内のファーストイベント(FirstEvent)情報に従い、最初のイベントを生成する(S104)。生成されたファーストイベントは、プログラムプロセッサ302で受け取られ、当該イベントに対応するイベントハンドラを実行処理する(S105)。
ファーストイベントに対応するイベントハンドラには、最初に再生するべきプレイリストを指定する情報が記録されていることが期待される。仮に、プレイリスト再生が指示されていない場合には、プレーヤは何も再生することなく、ユーザイベントを受け付けるのを待ち続けるだけになる(S201でNo)。
UOマネージャ303は、ユーザからのリモコン操作を受け付けると(S201でYes)、プログラムプロセッサ302に対するUOイベントを生成する(S202)。
プログラムプロセッサ302は、UOイベントがメニューキーによるものであるかを判別し(S203)、メニューキーの場合(S203でYes)は、シナリオプロセッサ305にUOイベントを流し、シナリオプロセッサ305がユーザイベントを生成する(S204)。プログラムプロセッサ302は生成されたユーザイベントに対応するイベントハンドラを実行処理する(S205)。
図28は、BD−ROMプレーヤにおけるプレイリスト再生開始からVOB再生終了までの処理の流れを示すフロー図である。
前述したように、ファーストイベントハンドラまたはグローバルイベントハンドラによってプレイリスト再生が開始される(S301)。シナリオプロセッサ305は、再生対象のプレイリスト再生に必要な情報として、プレイリスト“XXX.PL”の読み込みと解析(S302)、および、プレイリストに対応するプログラム情報“XXX.PROG”の読み込みを行う(S303)。
続いてシナリオプロセッサ305は、プレイリストに登録されているセル情報に基づいてセルの再生を開始する(S304)。セル再生は、シナリオプロセッサからプレゼンテーションコントローラ306に対して要求が出される事を意味し、プレゼンテーションコントローラ306はAVデータ再生を開始する(S305)。
AVデータの再生が開始されると、プレゼンテーションコントローラ306は、再生するセルに対応するVOBの情報ファイル“XXX.VOBI”を読み込み(S402)、解析する。プレゼンテーションコントローラ306は、タイムマップを使って再生開始するVOBUとそのアドレスを特定し、ドライブコントローラ317に読み出しアドレスを指示する。ドライブコントローラ317は対象となるVOBデータ“YYY.VOB”を読み出す(S403)。
読み出されたVOBデータはデコーダに送られ再生が開始される(S404)。VOB再生は、当該VOBの再生区間が終了するまで続けられ(S405)、終了すると次のセルが存在する場合(S406でYes)、Cellの再生(S304)へ移行する。また、次のセルが無い場合(S406でNo)は、再生に係る処理が終了する。
図29は、AVデータ再生開始後からのイベント処理の流れを示すフロー図である。
図29(A)は、BD−ROMプレーヤにおけるタイムイベントに係る処理の流れを示すフロー図である。
なお、BD−ROMプレーヤはイベントドリブン型のプレーヤモデルである。プレイリストの再生を開始すると、タイムイベント系、ユーザイベント系、字幕表示系のイベント処理プロセスがそれぞれ起動され、平行してイベント処理を実行するようになる。
BD−ROMプレーヤにおいてプレイリスト再生の再生が開始されると(S501)、プレイリスト再生が終了していないことが確認され(S502でNo)、シナリオプロセッサ305は、タイムイベント発生時刻になったかを確認する。
タイムイベント発生時刻になっている場合(S503でYes)には、シナリオプロセッサ305はタイムイベントを生成する(S504)。プログラムプロセッサ302はタイムイベントを受け取り、イベントハンドラを実行処理する(S505)。
また、タイムイベント発生時刻になっていない場合(S503でNo)、および、イベントハンドラの実行処理が終了した場合、プレイリスト再生の終了確認(S502)以降の処理を繰り返す。
また、プレイリスト再生が終了したことが確認されると(S502でYes)、タイムイベント系の処理は強制的に終了する。
図29(B)は、BD−ROMプレーヤにおけるユーザイベントに係る処理の流れを示すフロー図である。
BD−ROMプレーヤにおいてプレイリストの再生が開始されると(S601)、プレイリスト再生が終了していないことが確認され(S602でNo)、UOマネージャ303は、UOの受け付けがあったかを確認する。
UOの受け付けがあった場合(S603でYes)、UOマネージャ303はUOイベントを生成する(S604)。プログラムプロセッサ302はUOイベントを受け取り、そのUOイベントがメニューコールであるかを確認する。
メニューコールであった場合(S605でYes)、プログラムプロセッサ302はシナリオプロセッサ305にイベントを生成させ(S607)、プログラムプロセッサ302はイベントハンドラを実行処理する(S608)。
また、UOイベントがメニューコールで無いと判断された場合(S605でNo)、UOイベントはカーソルキーまたは「決定」キーによるイベントである事を示している。この場合、現在時刻がユーザイベント有効期間内であるかをシナリオプロセッサ305が判断し、有効期間内である場合(S606でYes)には、シナリオプロセッサ305がユーザイベントを生成し(S607)、プログラムプロセッサ302が対象のイベントハンドラを実行処理する(S608)。
また、UO受付が無い場合(S603でNo)、現在時刻がユーザイベント有効期間内にない場合(S606でNo)、および、イベントハンドラの実行処理が終了した場合、プレイリスト再生の終了確認(S602)以降の処理を繰り返す。
また、プレイリスト再生が終了したことが確認されると(S602でYes)、ユーザイベント系の処理は強制的に終了する。
図30は、BD−ROMプレーヤにおける字幕データの処理の流れを示すフロー図である。
BD−ROMプレーヤにおいてプレイリストの再生が開始されると、プレイリスト再生が終了していないことが確認され(S702でNo)、シナリオプロセッサ305は、字幕表示開始時刻になったかを確認する。字幕表示開始時刻になっている場合(S703でYes)、シナリオプロセッサ305はプレゼンテーションコントローラ306に字幕描画を指示し、プレゼンテーションコントローラ306はイメージプロセッサ311に字幕描画を指示する。イメージプロセッサ311は、その指示に従い字幕をイメージプレーン209に字幕を描画する(S704)。
また、字幕表示開始時刻になっていない場合(S703でNo)、字幕表示終了時刻であるかを確認する。字幕表示終了時刻であると判断された場合(S705でYes)、プレゼンテーションコントローラ306がイメージプロセッサ311に字幕消去指示を行う。
イメージプロセッサ311は、その指示に従い描画されている字幕をイメージプレーン209から消去する(S706)。
また、イメージプロセッサ311による字幕描画(S704)が終了した場合、イメージプロセッサ311による字幕消去(S706)のが終了した場合、および、字幕表示終了時刻でないと判断(S705でNo)された場合、プレイリスト再生の終了確認(S702)以降の処理を繰り返す。
また、プレイリスト再生が終了したことが確認されると(S702でYes)、字幕表示系の処理は強制的に終了する。
以上の動作により、BD−ROMプレーヤは、ユーザの指示またはBD−ROMに記録されているBD管理情報等に基づき、BD−ROMの再生に係る基本的な処理を行う。
(実施の形態2)
次に本発明の実施の形態2について説明する。
実施の形態2は、BD−ROMプレーヤに記憶されている設定値の1つであるリージョンコードを利用した再生制御に関わる内容である。
実施の形態2におけるBD−ROMプレーヤの基本的な構成および動作は、実施の形態1で説明した構成および動作と同じであり、実施の形態2において特徴的な構成および動作について説明する。
図31は、実施の形態2におけるBD−ROMプレーヤの主要な機能構成を示す機能ブロック図である。
実施の形態2におけるBD−ROMプレーヤ1は、本発明の再生装置の一例であり、図31に示すように、プログラム処理部206と、再生部220と、第1記憶部221と、第2記憶部222とを備え、BD−ROM104に記録されているコンテンツを再生する機能を有している。
なお、実施の形態2におけるBD−ROM104は本発明の情報記録媒体の一例であり、BD−ROM104に記録されているBD再生プログラムは本発明の情報記録媒体におけるプログラムの一例である。
また、図31は、実施の形態2におけるBD−ROMプレーヤ1の特徴的な動作を説明するために必要な構成部を中心に図示しており、図6に示すプログラム記録メモリ203については図示を省略している。
また、再生部220は、BD−ROMの再生を行う構成部であり、図6に示す管理記録メモリ204、管理情報処理部207、AV記録メモリ205、プレゼンテーション処理部208、イメージプレーン209、ビデオプレーン210、および合成処理部211を含む構成部である。
プログラム処理部206は、上述のようにBD−ROM104から読み出されたBD再生プログラムを実行する処理部であり、本発明の再生装置における実行手段の一例である。
第1記憶部221は、図24に示すシステムパラメータ(SPRM)を記憶している記憶装置である。つまり、リージョンコードを示すSPRM(20)は、第1記憶部221に記憶されている。
なお、第1記憶部221は、具体的には、例えばプログラム処理部206を構成するプログラムプロセッサ302(図7参照)のレジスタにより実現される。
第2記憶部222は、プログラム処理部206が情報を読み書き可能な不揮発性の記憶装置である。具体的には、例えばハードディスク、またはフラッシュメモリ等の不揮発メモリにより実現される。
なお、第2記憶部222は、図6では図示されていないが、BD−ROMプレーヤには必ず備えられているものである。プログラム処理部206は、BD−ROM104に記録されているBD再生プログラムを処理する際に、第2記憶部222に対し情報の読み書きをすることができる。
また、第2記憶部222は不揮発性であるため、プログラム処理部206によって書き込まれた情報は、ユーザによりBD−ROMプレーヤ1の電源がオフにされた後でも保持されている。
本実施の形態において、プログラム処理部206は、BD−ROM104の再生プログラムに従い、第1記憶部221に記憶されているリージョンコードを読み出して第2記憶部222に記憶させる等の処理を行う。具体的な動作の流れについては、図34を用いて後述する。
リージョンコードは本発明の情報記録媒体における設定値の一例であり、工場出荷時や初期設定時にBD−ROMプレーヤに一度設定されると、原則として以降変更されることがないプレーヤ固有の値を取るものである。また、上述のように当該BD−ROMプレーヤの流通先となるべき地域を識別する情報であり、言い換えると、当該BD−ROMプレーヤがどの地域に属するプレーヤであるかを識別するための情報である。
図32は、リージョンコードの例を示す図である。
各BD−ROMプレーヤ1が有するリージョンコードは図32に示す複数の値のいずれかである。リージョンコードは、地域に応じて値が割り振られており、当該地域に割り振られた値以外の値を持つことは禁止されている。
また、上述のDVDプレーヤの場合と同じく、BD−ROMプレーヤ1のリージョンコードに応じて再生するコンテンツを切り替えることも可能である。
図33は、BD−ROMプレーヤ1のリージョンコードに応じて、再生するコンテンツを切り替えるためのプログラムの概要を示す図である。
BD−ROM104に、BD再生プログラムとして図33に示すような記述箇所を含むプログラムを記録させておく。
これにより、BD−ROM104がBD−ROMプレーヤ1に挿入されると、当該プログラムがプログラム処理部206に読み込まれ処理される。
具体的には、プログラム処理部206から、第1記憶部221に記憶されているSPRM(20)の値、つまり、リージョンコードが参照され、そのリージョンコードに応じたコンテンツを再生するように、再生部220が制御される。
例えば、BD−ROMプレーヤ1が地域A向けのものであれば、有するリージョンコードは“0000 0001b”である。従って、当該プログラムが実行されるとコンテンツ“Title#1”が再生される。
同様に、BD−ROMプレーヤ1が地域B向けのものであれば、有するリージョンコードは“0000 0010b”であり、対応するコンテンツ“Title#2”が再生される。また、BD−ROMプレーヤ1が地域C向けのものであれば、有するリージョンコードは“0000 0100b”であり、対応するコンテンツ“Title#3”が再生される。
このように、図33に示すような、リージョンコードを利用するBD再生プログラムをBD−ROMに記憶させておくことにより、BD−ROMプレーヤの属する地域応じて再生するコンテンツを切り替えることができる。
また、このように複数のコンテンツの中から再生させるコンテンツを切り替えるのではなく、単純に、BD−ROMプレーヤ1に記録されているコンテンツの再生を制限することもできる。
例えば、コンテンツ供給者が、あるコンテンツ(コンテンツαとする)について、販売戦略上の理由で、地域ごとに供給する時期をずらしたいと考えた場合を想定する。この場合、例えば、コンテンツαが記録されており、かつ、地域Aでのみ再生可能となるBD−ROMを作製することは可能である。
具体的には、BD−ROMプレーヤ1のリージョンコードを参照し、当該リージョンコードが地域Aを示すものであれば、BD−ROMプレーヤ1にコンテンツαを再生させ、地域Aを示すものでなければ、コンテンツαの再生を行わせないBD再生プログラムをBD−ROMに記録しておけばよい。
また、例えば、当該リージョンコードが地域Aを示すものでなければ、コンテンツαの再生を行わせず、かつ、その旨をユーザに通知するためのコンテンツを再生するようBD再生プログラムを記述してもよい。
なお、コンテンツαが再生されないことをユーザに通知するためのコンテンツとは、例えば、「このBD−ROMプレーヤではコンテンツαは再生できません。」等の文字を表示する映像コンテンツである。また、同様の旨を音声でユーザに伝える音声のみのコンテンツであってもよい。
このように、BD−ROMプレーヤ1が有するリージョンコードを利用することで、BD−ROMプレーヤ1が属する地域に応じたコンテンツの再生制御が可能である。
コンテンツ供給者は、このような再生制御をBD−ROMプレーヤ1に実行させるためのプログラムを、販売戦略またはコンテンツの著作権保護等の必要に応じて作成することができる。
ここで、上述のようにBD−ROMプレーヤはリージョンコードとして1つの値のみを有しており、原則として変更されることはない。
しかしながら、ユーザの設定により適宜リージョンコードを切り替えられる不正なBD−ROMプレーヤの作製等は可能でありコンテンツ供給者が防ぐ術はない。
このようなリージョンコードが変更されたBD−ROMプレーヤではコンテンツ供給者の予定していないコンテンツが再生可能となったりするなど、コンテンツ供給者の意図に反する態様でコンテンツの再生が行われる可能性がある。
そこで、本実施の形態では、BD−ROMプレーヤに記憶されているリージョンコードが適正なものであるかを確認するBD再生プログラムをBD−ROM104に記録させておく。
これにより、BD−ROMプレーヤが上述のような不正なものであるか否かに関わらず、BD−ROMプレーヤのリージョンコードが適正であるか否かに応じたコンテンツの再生制御が可能となる。
以下、図34〜図38を用いて、本実施の形態のBD−ROM104に記録されているBD再生プログラムの内容、および、当該BD再生プログラムに基づくBD−ROMプレーヤ1の各種動作について説明する。
まず、本実施の形態のBD−ROMプレーヤ1の動作の概要を図34を用いて説明する。
図34は、実施の形態2におけるBD再生プログラムに基づくBD−ROMプレーヤ1の動作の概要を示す図である。
プログラム処理部206は、第2記憶部222にリージョンコードが記憶されているか否かを確認する(S801)。
第2記憶部222にリージョンコードが記憶されていない場合(S801でNo)、プログラム処理部206は、第1記憶部221記憶装置からリージョンコードを示すSPRM(20)の値を読み出し(S802)、第2記憶部222に書き込む(S803)。
つまり、BD−ROM104が最初にBD−ROMプレーヤ1に挿入された際に、第1記憶部221に記憶されているリージョンコードが第2記憶部222にコピーされることになる。
なお、リージョンコードを第2記憶部222に記憶させる際、リージョンコードとともにリージョンコードを記憶させたことを示すフラグを記憶させてもよい。
この場合、プログラム処理部206は、上記の確認の際、フラグの有無により、第2記憶部222にリージョンコードが記憶されているか否かを確認することができる。
プログラム処理部206は、リージョンコードを第2記憶部222に書き込んだ後、当該BD再生プログラム、または他のBD再生プログラムに従い、再生部220に対し、当該リージョンコードに応じたコンテンツを再生させる等の制御を行う(S920)。
例えば、BD−ROM104に記録されているコンテンツが当該リージョンコードに対応するものである場合、そのコンテンツを再生させるためのメニュー画面の出力を行う。または、自動的にそのコンテンツの再生を開始する。
また、上記確認の結果、第2記憶部222にリージョンコードが記憶されている場合(S801でYes)、第1記憶部221に記憶されているリージョンコードと、第2記憶部222に記憶されているリージョンコードとを比較することで第1記憶部221に記憶されているリージョンコードの不変性を判定する処理を行う(S900)。
プログラム処理部206は、この比較の結果に応じて、コンテンツの再生に関する異なる動作をBD−ROMプレーヤ1に行わせる制御を行う(S920)。
次に、不変性判定処理(S900)と、不変性判定処理の結果に応じた再生制御処理(S920)の流れを図35を用いて具体的に説明する。
図35は、図34に示す不変性判定処理の流れと、不変性判定処理の結果に応じた再生制御処理の流れとを詳細に示すフロー図である。
プログラム処理部206は、第1記憶部221に記憶されているリージョンコードを読み出す。具体的には第1記憶部221に記憶されているSPRM(20)の値を読み出す(S901)。以下、このSPRM(20)の値をR1とする。
また、第2記憶部222に記憶されているリージョンコード、つまり、以前に第1記憶部221から第2記憶部222にコピーされたリージョンコードを読み出す(S902)。以下、このリージョンコードをR2とする。
さらに、R1とR2とを比較する(S905)。ここで比較の結果、R1とR2とが異なる場合(S905でNo)を想定する。この場合、第1記憶部221に記憶されているR1、つまり、SPRM(20)の値が、BD−ROM104が最初にBD−ROMプレーヤ1に挿入されてから当該比較の時点までの間に変更されたことを意味する。
つまり、BD−ROMプレーヤ1はリージョンコードは固定であるという原則に違反するプレーヤであるということが検出されたことになる。
この場合、プログラム処理部206は、R1とR2とが一致しない場合の処理を行う(S921)。具体的には、BD−ROM104に記録されているコンテンツを再生させないよう再生部220を制御する。
また、当該コンテンツを再生できないことをユーザに通知するためのコンテンツを再生するように再生部220を制御する。
なお、コンテンツを再生できないことをユーザに通知するためのコンテンツとは、本発明の情報記録媒体における第2コンテンツの一例であり、例えば、「リージョンコードが変更されているためTitle#1は再生できません。」という文字を表示する画像コンテンツ、または、このような内容を伝える音声コンテンツ等である。
また、BD−ROM104には、当該BD−ROM104において必須でありメインのコンテンツである映画等のコンテンツに加えて、上記のような、単に情報を通知するためのコンテンツ等が記録されていることが一般的である。そのため、これらを区別するために、映画等のメインのコンテンツを、以下「主コンテンツ」という。主コンテンツは、本発明の情報記録媒体における第1コンテンツの一例である。
また、上記比較の結果、R1とR2とが一致する場合(S905でYes)、プログラム処理部206は、R1とR2とが一致する場合の処理を行う(S922)。
具体的には、主コンテンツが当該リージョンコードに対応するものである場合、プログラム処理部206は、その主コンテンツの再生、または、再生のためのメニュー画面の出力等を行わせるよう再生部220を制御する。
または、主コンテンツが複数あれば、図33を用いて説明したように、複数の中から当該リージョンコードに対応する主コンテンツを選択し、選択した主コンテンツの再生、または、再生のためのメニュー画面の出力を行わせるよう再生部220を制御する。
これら、R1とR2とが一致しない場合の処理内容、および、R1とR2とが一致する場合の処理内容は、BD−ROM104に記録されているBD再生プログラムに依存し、コンテンツ供給者が決定することができる。つまり、コンテンツ供給者の意図に基づいた態様でコンテンツの再生がなされることになる。
なお、上述のリージョンコードの不変性判定処理において、第2記憶部222にリージョンコードが書き込まれた後に、ユーザにより、何らかの手段で第2記憶部222が初期化された場合を想定する。この場合、R1とR2との比較(図35参照)を行うことができないことになる。
そこで、第2記憶部222を初期化させないための処理をBD−ROMプレーヤ1に実行させてもよい。
ここで、映画等の主コンテンツが記録されるBD−ROM104には、一般的に他の映画の予告編や、他の商品の広告映像等の、BD−ROM104にとって必須ではないコンテンツ(以下、「付属コンテンツ」という。)が記録される。
また、これら広告映像等の付属コンテンツは、ユーザは一度視聴すれば再度視聴する必要がないと考えるものがほとんどである。
そこで、第2記憶部222にリージョンコードが記録されていない場合、つまり、BD−ROM104が最初にBD−ROMプレーヤ1に挿入された場合には、プログラム処理部206に、リージョンコードを第2記憶部222に書き込ませるとともに、付属コンテンツを再生させた後に、主コンテンツを再生させるための制御を行わせる。
つまり、第2記憶部222にリージョンコードが書き込まれ保持されている間は、主コンテンツの再生の前に付属コンテンツが自動的には再生されないよう制御される。
そのため、第2記憶部222にリージョンコードが書き込まれた後にBD−ROM104を一旦BD−ROMプレーヤ1から取り出し、再度BD−ROMプレーヤ1に挿入したユーザは、第2記憶部222を初期化していない限り、直ちに主コンテンツを視聴することができる。
逆にいうと、第2記憶部222を初期化すると、主コンテンツの再生前に、再度、付属コンテンツが自動的に再生されることになり、ユーザにとっては煩わしい状況となる。
このように、第2記憶部222におけるリージョンコードの存否に応じた付属コンテンツの再生制御を行うことにより、第2記憶部222にリージョンコードが書き込まれた後に、第2記憶部222が初期化されることを抑止することができ、結果としてリージョンコードの不変性判定が実行される可能性を高めることができる。
また、第2記憶部222に、主コンテンツがどこまで再生されたかを示す情報等の、消去されるとユーザにとって不便になる情報を第2記憶部222に記憶させておいても同様の効果を得ることができる。
なお、これら情報の第2記憶部222に対する読み書きおよび付属コンテンツの再生等の制御は、これらの処理をプログラム処理部206に実行させるBD再生プログラムにより実現される。
また、例えば、映画等の主コンテンツに加え、当該映画等のメイキング映像等の、BD−ROM104のユーザに対する特典としての特典コンテンツをBD−ROM104に記録しておき、この特典コンテンツを第2記憶部222が初期化されることを抑止するためのコンテンツとして使用してもよい。
例えば、BD−ROM104が最初にBD−ROMプレーヤ1に挿入された場合、つまり、第2記憶部222にリージョンコードが記憶されていない状態では、特典コンテンツが再生されないよう、メニュー画面等には現れないようにする。具体的にはこのようなメニュー画面を生成するようにBD再生プログラムを記述しておく。
また、第2記憶部222にリージョンコードが記憶されている場合、つまり、第2記憶部222にリージョンコードが書き込まれた後に第2記憶部222が初期化されていない場合には、主コンテンツおよび特典コンテンツを再生させるための制御をプログラム処理部206に行わせる。
例えば、プログラム処理部206に、特典コンテンツを再生させるボタン等を含むメニュー画面を生成させる。
これにより、第2記憶部222にリージョンコードが書き込まれた後にBD−ROM104を一旦BD−ROMプレーヤ1から取り出し、再度BD−ROMプレーヤ1に挿入したユーザは、第2記憶部222を初期化していない限り、特典コンテンツを視聴することができる。
つまり、ユーザからすると、第2記憶部222を初期化しないことで特典を受けることができる。そのため、このように特典コンテンツを利用することによっても、ユーザにより第2記憶部222が初期化されることを抑止することができ、結果としてリージョンコードの不変性判定が実行される可能性を高めることができる。
また、図34および図35を用いて、リージョンコードの不変性判定、つまり、リージョンコードが以前のものと一致するか否かを判定する際の処理について説明した。しかし、リージョンコードの不変性を判定するのではなく、第1記憶部221に記憶されているリージョンコード自体が、規格に定められた正規なものであるか否かを判定し、判定結果に基づいて、その後の処理内容を変更してもよい。
そこで、次に、リージョンコードが正規なものであるか否かを判定(正当性判定)する場合の処理の流れについて説明する。
あるBD−ROMプレーヤにおいて、SPRM(20)に正規ではない値が格納されている場合、つまりリージョンコードが正規ではない値である場合、当該BD−ROMプレーヤの属する地域向けのコンテンツは再生されない。また、当該地域向けではないコンテンツが誤って再生される可能性がある。
以下に、このような状況の発生を防止するために、BD−ROMプレーヤ1に記録されているリージョンコードが正規な値であるか否かを判定するためのBD再生プログラムについて述べる。
図36は、リージョンコードの正当性を判定し、判定結果に基づいてBD−ROMプレーヤ1を制御するためのBD再生プログラムにおける処理フローを示す図である。
BD−ROMプレーヤ1は、BD−ROM104が挿入されると、BD−ROM104に記憶されているBD再生プログラムを読み出す。また当該BD再生プログラムを処理することにより、リージョンコードが正規の値であるか否かに応じて、コンテンツの再生に関する異なる動作を行う。具体的な動作は以下のようになる。
プログラム処理部206は、第1記憶部221に記憶されているSPRM(20)の値を読み出し、予め定められた正規の値と比較する(S910)。
ここで、図32に示すように、“0000 0001b”、“0000 0010b”、および“0000 0100b”が正規な値、つまりリージョンコードとしてとり得る値として定められている場合を想定する。
この場合、BD再生プログラムには例えば図36に示すような記述箇所があり、SPRM(20)の値が、上記の“0000 0001b”等の3つの値のうちのいずれか1つであれば(S910でYes)、当該SPRM(20)の値、つまり当該リージョンコードは正規な値である。
この場合、プログラム処理部206は、当該リージョンコードに対応する主コンテンツの再生等がされるように再生部220を制御する(S912)。
また、当該リージョンコードが、上記3つの正規な値のうちのいずれとも一致しなければ、当該リージョンコードは、不正なリージョンコードである。
この場合、プログラム処理部206は、主コンテンツの再生は行わず、例えば、「リージョンコードが正規なものでないためTitle#1は再生できません。」という文字を表示する画像コンテンツ、または、このような内容を伝える音声コンテンツ等を再生する(S911)。
このように、第1記憶部221に記憶されているリージョンコードが正規の値ではない場合に、当該リージョンコードに基づいて主コンテンツが再生されないようにすることができる。
また、このようなリージョンコードの正当性判定は、BD−ROM104に記録されたBD再生プログラムにより実現されるため、コンテンツ供給者が、このような判定をどのタイミングで行うか、および正規の値としてどのような範囲の値を持たせるか等を決定できる。
なお、図36では、リージョンコードの正当性判定についてのみ説明した。しかし、BD再生プログラムは、図34に示す一連の処理に加えて、この正当性判定処理をBD−ROMプレーヤ1に実行させるものであってもよい。
図37は、リージョンコードの不変性判定処理の前にリージョンコードの正当性判定処理行う場合のBD再生プログラムにおける処理フローの一例を示す図である。以下に、図37に示す処理フローにおいて特徴的な処理を中心に説明する。
プログラム処理部206は、第1記憶部221に記憶されているリージョンコード、つまりSPRM(20)の値を読み出し、正規の値であるか否かを判定する(S800)。
当該リージョンコードが正規の値であれば(S800でYes)、図34を用いて説明したように、プログラム処理部206により、第2記憶部222にリージョンコードが記憶されている否かの確認(S801)が行われ、以降、図34を用いて説明した処理の流れとなる。
また、第1記憶部221に記憶されているリージョンコードが正規の値でなければ(S800でNo)、上記の確認(S801)は行われず、プログラム処理部206により、コンテンツの再生制御が実行される(S920)。
具体的には、リージョンコードが正規の値でないため、上述のように、主コンテンツの再生は行わないよう再生部220が制御される。また、その旨をユーザに通知する画像コンテンツ等が再生されるよう再生部220が制御される。
このように、リージョンコードの不変性判定のための処理(S801、S900等)を行う前に、リージョンコードの正当性を判定することで、不正なリージョンコードに基づいて不変性判定処理が行われるなどの不要な処理が発生することを防ぐことができる。
また、BD再生プログラムは、不変性判定処理(S900)の中で、リージョンコードの正当性判定を行うものであってもよい。
図38は、リージョンコードの不変性判定処理の中でリージョンコードの正当性判定を行う場合のBD再生プログラムにおける処理フローの一例を示す図である。
つまり、図38は、図35に示す一連の処理フローにリージョンコードの正当性判定処理を取り込んだ場合の処理フローの一例を示している。以下に、図38に示す処理フローにおいて特徴的な処理を中心に説明する。
プログラム処理部206は、第1記憶部221に記憶されているリージョンコード(R1)を読み出し(S901)、読み出したR1が正規の値であるか否かを判定する(S903)。
この判定の結果、R1が正規の値でなければ(S903でNo)、プログラム処理部206は、主コンテンツが再生されないよう再生部220を制御する。また、その旨をユーザに通知する画像コンテンツ等が再生されるよう再生部220を制御する(S923)。
また、上記の判定の結果、R1が正規の値であれば(S903でYes)、第2記憶部222に記憶されているージョンコード(R2)を読み出す(S904)。
その後、図35の説明で述べたように、R1とR2とが比較され(S905)、一致するか否かに応じてコンテンツの再生に関する処理(S921またはS922)が実行される。
このように、BD再生プログラムを、リージョンコードの不変性判定および正当性判定をBD−ROMプレーヤ1に実行させるよう記述してもよい。
また、その順番は、図37または図38に示す順番でなくてもよい。例えば、不変性判定処理(S900)の後に正当性判定処理をBD−ROMプレーヤ1に実行させてもよい。
いずれの場合であっても、結果として、第1記憶部221のリージョンコード、つまりSPRM(20)の値が変更されておらず、かつ、正規の値である場合にのみ、当該リージョンコードに基づく適切なコンテンツ再生が実行されることになる。
以上述べたように、本実施の形態のBD−ROM104には、BD−ROMプレーヤ1に記録されている設定値が以前のものと一致するか否かに基づいて再生に関する動作を行わせるBD再生プログラムが記録されている。
具体的には、当該BD再生プログラムに従って処理を実行するプログラム処理部206により、システムパラメータの一つであるSPRM(20)の値、つまりリージョンコードが以前のものと一致するか否かが判定される。また、判定結果に基づいて、BD−ROMプレーヤ1に主コンテンツを再生させるか否か等を決定することができる。
つまり、ある時点でのリージョンコードが、以前のリージョンコードから変更されている場合に、変更後のリージョンコードに基づいてコンテンツの再生制御が行われることを防ぐことができる。
すなわち、BD−ROMプレーヤ1に、初期に設定された適正なリージョンコードに基づいてコンテンツの再生制御を行わせることが可能となる。またこのような再生制御を実現するBD再生プログラムは、コンテンツ供給者が作成しBD−ROM104に記録することができるものである。
さらに、この判定に必要な、当該BD再生プログラムを実行する機能(例えばプログラム処理部206)、およびSPRM(20)の値を別途保持しておくための第2記憶部222(例えばハードディスク)は、BD−ROMプレーヤが標準的に備えているものである。つまり、この判定の実行に特別なハードウェアは要求されない。
従って、本実施の形態のBD−ROM104は、本実施の形態のBD−ROMプレーヤ1のみならず、あらゆるBD−ROMプレーヤに、コンテンツ供給者の意図に基づいた適正な態様でのコンテンツの再生を行わせることができる。
また、BD−ROMプレーヤ1のリージョンコードが正規の値であるか否かを判定することもできる。これにより、ある時点でのリージョンコードが正規の値でない場合、その正規の値ではないリージョンコードに基づいてコンテンツの再生制御が行われることを防ぐことができる。
また、リージョンコードの不変性判定および正当性判定は、主コンテンツの再生に関する動作を開始する前に、いずれか一方のみを実行してもよく、双方を実行してもよい。
さらに、リージョンコードの不変性判定および正当性判定の双方を実行する場合は、いずれの判定処理が先であってもよい。
また、リージョンコードの不変性判定または正当性判定の前に、BD−ROM104に記憶されている主コンテンツが、BD−ROMプレーヤ1のリージョンコード、つまり、SPRM(20)の値に対応するものであるか否かを判定してもよい。
例えば、BD−ROM104に複数の主コンテンツが記憶されており、そのいずれもがSPRM(20)の値に対応するものでない場合、再生の対象となる主コンテンツがBD−ROM104に含まれていないことになる。
この場合は、リージョンコードの不変性判定および正当性判定を行わなくてもよい。つまり、再生の対象となる主コンテンツがある場合にのみ、リージョンコードの不変性判定または正当性判定を行えばよい。
これにより、結局は主コンテンツが再生されない場合にも、リージョンコードの不変性判定等が行われるといった不要な処理が発生することがない。
このように、適切な態様でのコンテンツの再生が行われるための各処理は、コンテンツ供給者が作成するBD再生プログラムにより実現されるものであり、各処理をどのように組み合わせてどのような順番で行うかは、コンテンツ供給者が適宜決定することができる。
また、本実施の形態において、第1記憶部221に記憶されているリージョンコードを第2記憶部222に書き込む前に、第2記憶部222にリージョンコードが記憶されているか否かを確認するとした(図34のS801)。
しかしながら、この確認を行わなくてもよい。例えば、第2記憶部222に複数のリージョンコードを記憶可能な領域を確保しておき、BD−ROM104がBD−ROMプレーヤ1に挿入されるたびに、第1記憶部221に記憶されているリージョンコードを当該領域に順次追加していく。
また、リージョンコードの比較(図35のS905)を行う際には、例えば第2記憶部222に最初に書き込まれたリージョンコードと、第1記憶部221に記憶されているリージョンコードとを比較する。
このような動作によっても、第1記憶部221に記憶されているリージョンコード、つまりSPRM(20)の値が以前の値から変更されたか否かを判定することができる。
また、第1記憶部221に記憶されているリージョンコードを第2記憶部222に書き込むタイミングも、BD−ROM104がBD−ROMプレーヤ1に挿入され、主コンテンツの再生に関する動作制御(図34のS920)の開始前の一回のみでなくてもよい。
例えば、不変性判定(図34のS900)の結果、SPRM(20)の値が以前の値から変更されていない場合に、さらに、当該SPRM(20)の値を第2記憶部222に書き込んでもよい。
また、通常は、確認(図34のS801)の結果、第2記憶部222にリージョンコードが記憶されていない場合にのみSPRM(20)の値を第2記憶部222に書き込み、一ヶ月ごと等の所定の期間の経過ごとに、SPRM(20)の値が以前の値から変更されていない場合、さらに当該SPRM(20)の値を第2記憶部222に書き込むとしてもよい。
いずれの動作においても、変更されていない適正なSPRM(20)の値が第2記憶部222に書き込まれるだけであり、その後の不変性判定の結果に影響を与えることはない。
また、複数枚のBD−ROM104が第2記憶部222に記憶されているリージョンコードを共有してもよい。
例えば、BD−ROM104aおよびBD−ROM104bのそれぞれに記録されているBD再生プログラムが、第2記憶部222の同じ領域にSPRM(20)の値を書き込む場合を想定する。
この場合、BD−ROM104aのBD再生プログラムによって第2記憶部222に書き込まれたSPRM(20)の値を、BD−ROM104bのBD再生プログラムが利用することができる。
つまり、BD−ROM104bより先にBD−ROM104aがBD−ROMプレーヤ1に挿入された場合は、BD−ROM104aのBD再生プログラムによって第2記憶部222にリージョンコードを示すSPRM(20)の値が書き込まれることになる。
従って、その後にBD−ROM104bがBD−ROMプレーヤ1に挿入された際に第2記憶部222にSPRM(20)の値を書き込む処理(図34のS803)は不要であり、不変性判定処理(図34のS900)が実行されることになる。
また、SPRM(20)以外のシステムパラメータの不変性等を判定し、その結果に基づいてBD−ROMプレーヤ1の動作を制御してもよい。
また、リージョンコード等の複数種のシステムパラメータの不変性を判定し、いずれのパラメータも以前の値から変更されていない場合のみ、各パラメータに基づく再生制御を行わせるとしてもよい。
つまり、本発明の情報記録媒体における設定値はリージョンコードに限られず、システムパラメータとして再生装置に設定され、本来的には変更されることのない値であればよい。
このような設定値が変更されているということは、当該設定値が本来的には正しい値ではないことを意味し、何の対策もとらなければ、本来的には正しくない設定値に基づいて、主コンテンツの再生の可否、または、再生される主コンテンツの選択等が行われることになる。
しかしながら、本実施の形態のBD−ROM104に記録されているBD再生プログラムは、プログラム処理部206に、設定値の不変性を判定させ、設定値が変更されていれば主コンテンツが再生されないよう再生部220を制御させる。
これにより、変更された後の設定値に基づいて、主コンテンツが再生されることを防ぐことができる。
本発明の情報記録媒体および再生制御方法によれば、映画、ドラマおよび音楽等のコンテンツを供給するコンテンツ供給者は、自己のコンテンツを自己の意図が反映された適切な態様で再生させることが可能となる。そのため、本発明は、これらコンテンツを広く一般に供給するための情報記録媒体、および、これらコンテンツを適切な態様で再生させるための再生制御方法として有用である。
本発明は、BD−ROM等のコンテンツとプログラムとが記録された情報記録媒体およびコンテンツの再生制御方法に関する。
映像データを記録した情報記録媒体の代表格は、DVD(以下、「Standard Difinition(SD)−DVD」ともいう。)である。以下に従来のDVDについて説明する。
図1は、SD−DVDの構造を示す図である。図1の下段に示すように、DVDディスク上にはリードインからリードアウトまでの間に論理アドレス空間が設けられている。その論理アドレス空間には先頭からファイルシステムのボリューム情報が記録され、続いて映像音声などのアプリケーションデータが記録されている。
ファイルシステムとは、ISO9660やUniversal Disc Format(UDF)等の規格により定められたデータを管理する仕組みのことであり、ディスク上のデータをディレクトリまたはファイルと呼ばれる単位で表現する仕組みである。
日常使っているパーソナルコンピュータ(PC)の場合でも、File Allocation Tables(FAT)またはNT File System(NTFS)と呼ばれるファイルシステムにより、ディレクトリやファイルという構造でハードディスクに記録されたデータがコンピュータ上で表現され、ユーザビリティを高めている。
SD−DVDの場合、UDF及びISO9660の両方のファイルシステムが使用されている。両方を合わせて「UDFブリッジ」とも呼ばれる。記録されているデータはUDFまたはISO9660どちらのファイルシステムドライバによってもデータの読み出しができるようになっている。なお、ここで取り扱うDVDはパッケージメディア用のROMディスクであり、物理的に書き込みが不可能である。
DVD上に記録されたデータは、UDFブリッジを通して、図1左上に示すようなディレクトリまたはファイルとして見ることができる。ルートディレクトリ(図1における「ROOT」)の直下に「VIDEO_TS」と呼ばれるディレクトリが置かれ、ここにDVDのアプリケーションデータが記録されている。アプリケーションデータは、複数のファイルとして記録され、主なファイルとして以下の種類のファイルがある。
VIDEO_TS.IFO ディスク再生制御情報ファイル
VTS_01_0.IFO ビデオタイトルセット#1再生制御情報ファイル
VTS_01_0.VOB ビデオタイトルセット#1ストリームファイル
.....
上記例に示すように2つの拡張子が規定されている。「IFO」は再生制御情報が記録されたファイルであることを示す拡張子であり、「VOB」はAVデータであるMPEGストリームが記録されたファイルであることを示す拡張子である。
再生制御情報とは、DVDで採用されたインタラクティビティ(ユーザの操作に応じて再生を動的に変化させる技術)を実現するための情報や、メタデータのような、AVデータに付属する情報などのことである。また、DVDでは一般的に再生制御情報のことをナビゲーション情報と呼ぶことがある。
再生制御情報ファイルは、ディスク全体を管理する「VIDEO_TS.IFO」と、個々のビデオタイトルセット毎の再生制御情報である「VTS_01_0.IFO」がある。なお、DVDでは複数のタイトル、言い換えれば複数の異なる映画や楽曲を1枚のディスクに記録することが可能である。
ここで、ファイル名ボディにある「01」はビデオタイトルセットの番号を示しており、例えば、ビデオタイトルセット#2の場合は、「VTS_02_0.IFO」となる。
図1の右上部は、DVDのアプリケーション層でのDVDナビゲーション空間であり、前述した再生制御情報が展開された論理構造空間である。「VIDEO_TS.IFO」内の情報は、VIDEO Manager Information(VMGI)として、「VTS_01_0.IFO」または、他のビデオタイトルセット毎に存在する再生制御情報はVideo Title Set Information(VTSI)としてDVDナビゲーション空間に展開される。
VTSIの中にはProgram Chain(PGC)と呼ばれる再生シーケンスの情報であるProgram Chain Information(PGCI)が記述されている。PGCIは、Cellの集合とコマンドと呼ばれる一種のプログラミング情報によって構成されている。
Cell自身はVOB(Video Objectの略であり、MPEGストリームを指す)の一部区間または全部区間を指定する情報であり、Cellの再生は、当該VOBのCellによって指定された区間を再生することを意味している。
コマンドは、DVDの仮想マシンによって処理されるものであり、例えば、ウェブページを表示するブラウザ上で実行されるJava(登録商標)Scriptなどに近いものである。しかしながらJava(登録商標)Scriptが論理演算の他にウィンドウやブラウザの制御(例えば、新しいブラウザのウィンドウを開くなど)を行うのに対して、DVDのコマンドは、論理演算の他にAVタイトルの再生制御、例えば、再生するチャプターの指定などを実行するだけのものである点で異なっている。
Cellはディスク上に記録されているVOBの開始及び終了アドレス(論理アドレス)をその内部情報として有しており、プレーヤは、Cellに記述されたVOBの開始及び終了アドレス情報を使ってデータの読み出し、再生を実行する。
図2は、AVデータであるMPEGストリーム中に埋め込まれているナビゲーション情報を説明する概要図である。
SD−DVDの特長であるインタラクティビティは前述した「VIDEO_TS.IFO」や「VTS_01_0.IFO」などに記録されているナビゲーション情報だけによって実現されているのではなく、幾つかの重要な情報はナビゲーション・パック(ナビパックまたは、NV_PCKという。)と呼ばれる専用キャリアを使いVOB内に映像、音声データと一緒に多重化されている。
ここでは簡単なインタラクティビティの例としてメニュー画面について説明する。メニュー画面上には、幾つかのボタンが現れ、それぞれのボタンには当該ボタンが選択実行された時の処理が定義されている。
また、メニュー画面上では一つのボタンが選択されており(選択ボタン上に半透明色がオーバーレイされることで該ボタンがハイライトされ、該ボタンが選択状態であることをユーザに示す)、ユーザは、リモコンの上下左右キーを使って、選択状態のボタンを上下左右の何れかのボタンに移動させることが出来る。
リモコンの上下左右キーを使って、選択実行したいボタンまでハイライトを移動させ、決定する(決定キーを押す)ことによって対応するコマンドのプログラムが実行される。一般的には対応するタイトルやチャプターの再生がコマンドによって実行されている。
図2の左上部はNV_PCKに格納される情報の概要を示している。NV_PCK内には、ハイライトカラー情報と個々のボタン情報などが含まれている。ハイライトカラー情報には、カラーパレット情報が記述され、オーバーレイ表示されるハイライトの半透明色が指定される。
ボタン情報には、個々のボタンの位置情報である矩形領域情報と、当該ボタンから他のボタンへの移動情報(ユーザの上下左右キー操作それぞれに対応する移動先ボタンの指定)と、ボタンコマンド情報(当該ボタンが決定された時に実行されるコマンド)とが記述されている。
メニュー画面上のハイライトは、図2の右上部に示すように、オーバーレイ画像として作られる。オーバーレイ画像は、ボタン情報の矩形領域情報にカラーパレット情報の色を付した物である。このオーバーレイ画像は図2の右部に示す背景画像と合成されて画面上に表示される。
前述のようにして、DVDではメニュー画面を実現している。また、何故、ナビゲーションデータの一部をNV_PCKを使ってストリーム中に埋め込んでいるのかについては、以下の理由からである。
すなわち、ストリームと同期して動的にメニュー情報を更新、例えば、映画再生中の途中5分〜10分の間にだけメニュー画面を表示するといった、同期タイミングが問題となりやすい処理を問題なく実現できるようにするためである。
また、もう一つの大きな理由は、NV_PCKには特殊再生を支援するための情報を格納し、DVD再生時の早送り、巻き戻しなどの非通常再生時にも円滑にAVデータをデコードし再生させる等、ユーザの操作性を向上させるためである。
図3は、DVDにおけるVOBの構成を示す概要図である。図に示すように、映像、音声、字幕などのデータ(図3の(1))は、MPEGシステム(ISO/IEC13818−1)規格に基づいて、パケット及びパック化し(図3の(2))、それぞれを多重化して1本のMPEGプログラムストリームにしている(図3の(3))。
また、前述した通りインタラクティブを実現するためのボタンコマンドを含んだNV_PCKも一緒に多重化をされている。
MPEGシステムの多重化の特徴として、多重化する個々のデータは、そのデコード順に基づくビット列になっているが、多重化されるデータ間、即ち、映像、音声、字幕の間は必ずしも再生順、言い換えればデコード順に基づいてビット列が形成されているわけではないことが挙げられる。
これはMPEGシステムストリームのデコーダモデル(図3の(4)、一般にSystem Target Decoder、またはSTDと呼ばれる)が多重化を解いた後に個々のエレメンタリストリームに対応するデコーダバッファを持ち、デコードタイミングまでに一時的にデータを蓄積している事に由来している。
このデコーダバッファは、個々のエレメンタリストリーム毎にサイズが異なり、映像に対しては、232kB、音声に対しては4kB、字幕に対しては52kBをそれぞれ有している。
このため、各デコーダバッファへのデータ入力タイミングは個々のエレメンタリストリームで異なるため、MPEGシステムストリームとしてビット列を形成する順番と表示(デコード)されるタイミングにずれが生じている。
即ち、映像データと並んで多重化されている字幕データが必ずしも同一タイミングでデコードされているわけでは無い。
以上述べたようなDVDに関する技術は、下記の特許文献1に記載されている。
特許第2813245号公報
ここで、各DVD−Videoプレーヤ(以下、単に「DVDプレーヤ」という。)には、設定値として、当該DVDプレーヤの流通先となるべき地域を識別する情報である1つのリージョンコードが記憶されている。また、このリージョンコードはDVDプレーヤ(DVDドライブも含む)側で管理されている。
なお、「流通先となるべき地域」とは、おおよそ使用地域と一致し、例えば、流通先となるべき地域が日本国内であるDVDプレーヤは、日本向けに生産されたものであり、日本国内で販売され、おおよそ日本国内で使用されることになる。
また、映画等のコンテンツが記録されたDVDにも1以上のリージョンコードが記憶されており、そのいずれか1つがDVDプレーヤのリージョンコードと一致すれば再生可能となる。
つまり、リージョンコードにより、DVDに記録されているコンテンツの再生可能地域が限定されることになる。
例えば、日本国内で販売されるDVDプレーヤには、リージョンコードとして“2”が記憶されており、北米地域で販売されるDVDにはリージョンコードとして“1”が記憶されている。
従って、日本国内で販売されるDVDプレーヤで、北米地域で販売されるDVDに記録されているコンテンツを再生することはできない。
しかし、リージョンコードが設定されていない、または、全てのリージョンコードが設定された、いわばリージョンフリーの不正なDVDプレーヤも存在する。つまり、DVDに記録されているリージョンコードに関わらず、全てのDVDの再生が可能なDVDプレーヤが存在する。
ここで、コンテンツ供給者(コンテンツ製作者およびコンテンツが記録された情報記録媒体の販売者など)が、例えば、あるコンテンツの流通開始時期を地域ごとにずらすために、それぞれ互いにリージョンコードが異なる各地域向けのDVDを生産したと想定する。
この場合、上記のようなリージョンフリーのDVDプレーヤは、どの地域向けのDVDであっても当該コンテンツを再生することが可能である。
従って、このような不正なDVDプレーヤについては、コンテンツ供給者によるコンテンツの供給地域および供給時期の制御は不可能である。
このような制御を実現することは、コンテンツ供給者の創作の一部を構成する、販売戦略、著作権保護、および流通先の地域に合わせた内容の伝達等を遂行するために必要なことである。
つまり、上述の不正なDVDプレーヤでは、コンテンツ供給者が予定する上記の販売戦略等が適切に遂行されない可能性が高くなる。
なお、BD(Blu−ray Disc)−ROMプレーヤにおいては、リージョンコードは設定値としてレジスタに記憶され、プログラムで処理されるものであり、リージョンフリーという設定は許されていない。そのため、原則としては上記のような事態は回避される。
また、BD−ROMプレーヤのリージョンコードに応じて再生するコンテンツを切り替えることが可能である。
例えば、日本に対応するリージョンコードが“A”であり、ドイツに対応するリージョンコードが“B”であるとする。
この場合、例えば、映画の日本語版とドイツ語版とが収録されたBD−ROMに、リージョンコード“A”と“B”とを記憶させておく。さらに、“A”と日本語版を、“B”とドイツ語版を対応付けておく。
日本国内で販売されるBD−ROMプレーヤは、このBD−ROMを再生しようとする場合、自身のリージョンコード“A”に対応する日本語版のコンテンツデータを読み出して再生する。
また、ドイツ国内で販売されるBD−ROMプレーヤは、このBD−ROMを再生しようとする場合、自身のリージョンコード“B”に対応するドイツ語版のコンテンツデータを読み出して再生する。
このように、BD−ROMプレーヤは、BD−ROMに記憶されているリージョンコードを利用し、地域ごとに再生するコンテンツを切り替えることができる。
具体的にはこのようなコンテンツの切り替え動作は、BD−ROMプレーヤがBD−ROMに記憶されているプログラムを実行することにより実現される。
ただし、ユーザの設定により適宜リージョンコードを切り替えられる不正なBD−ROMプレーヤは作製可能である。また、初期に設定されたリージョンコードを他の値に書き換えるような不正改造も可能であり、BD−ROMプレーヤの何らかの不具合によりリージョンコードが変更される可能性も考えられる。
コンテンツ供給者には、このような不正なBD−ROMプレーヤの作製やBD−ROMプレーヤの不具合の発生等を防ぐ術はない。そのため、このようなBD−ROMプレーヤによりBD−ROMが再生されることは避けられず、コンテンツ供給者の予定していない態様でコンテンツの再生が行われることとなる。
つまり、現状では、コンテンツ供給者の意図を反映し、リージョンコード等の設定値に応じて適切にコンテンツが再生されるための十分な環境は提供されていない。
本発明は、上記従来の課題を考慮し、コンテンツ供給者の意図に基づいた適切な態様でのコンテンツの再生を再生装置に行わせるための情報記録媒体およびコンテンツの再生制御方法を提供することを目的とする。
上記目的を達成するために、本発明の情報記録媒体は、再生装置により再生可能な第1コンテンツと、前記再生装置により実行されるプログラムとが記録された情報記録媒体であって、前記再生装置には、前記再生装置に設定された設定値を記憶している第1記憶手段と、前記プログラムを実行する実行手段と、前記実行手段が情報を読み書き可能な第2記憶手段とが備えられており、前記プログラムは、前記第1記憶手段に記憶されている設定値を前記第2記憶手段に書き込む第1記憶ステップと、前記第1記憶手段に記憶されている設定値と、前記第2記憶手段に以前に書き込まれた設定値とを比較する比較ステップと、前記比較ステップにおける比較の結果、前記第1記憶手段に記憶されている設定値と、前記第2記憶手段に以前に書き込まれた設定値とが異なる場合、前記第1コンテンツの再生を前記再生装置に行わせない制御ステップとを前記実行手段に実行させるためのプログラムである。
これにより、本発明の情報記録媒体に記録されている第1コンテンツを再生しようとする再生装置において、設定値が以前の値から変更されているか否か判定され、設定値が変更されている場合には、第1コンテンツは再生されない。
従って、本来的には変更されない設定値が以前の値から変更されている場合、その変更後の適正ではない設定値に基づいて第1コンテンツが再生されることを防ぐことができる。
また、このような制御は、情報記録媒体に記録されているプログラムにより実現され、当該プログラムはコンテンツ供給者が作成することがきる。従って、コンテンツ供給者の意図に基づく適切な態様でのコンテンツの再生が可能となる。
また、前記設定値は、前記再生装置の流通先となるべき地域を識別する情報であるリージョンコードであるとしてもよく、前記制御ステップでは、前記比較ステップにおける比較の結果、前記第1記憶手段に記憶されているリージョンコードと、前記第2記憶手段に以前に書き込まれたリージョンコードとが一致し、かつ、前記第1コンテンツが前記第1記憶手段に記憶されているリージョンコードに対応するものである場合、前記再生装置に前記第1コンテンツを再生させるための制御を行うとしてもよい。
これにより、再生装置のリージョンコードが変更されていない場合に、当該リージョンコードに応じたコンテンツが再生されることとなる。つまり、再生装置の属する地域に応じて、第1コンテンツの再生が適切に制御されることになる。
また、前記プログラムはさらに、前記第1記憶ステップにおいて前記第2記憶手段に設定値が書き込まれる前に、前記第2記憶手段に設定値が記憶されているか否かを確認する確認ステップを含み、前記第1記憶ステップでは、前記確認ステップにおける確認の結果、前記第2記憶手段に設定値が記憶されていない場合、前記第1記憶手段に記憶されている設定値を前記第2記憶手段に書き込み、前記比較ステップでは、前記確認ステップにおける確認の結果、前記第2記憶手段に設定値が記憶されている場合、前記以前に書き込まれた設定値である、前記第2記憶手段に記憶されている設定値と、前記第1記憶手段に記憶されている設定値とを比較するとしてもよい。
このように、第2記憶手段に既に設定値が記憶されている場合は、当該設定値は、上述の以前に書き込まれた設定値であり、当該設定値と第1記憶手段に記憶されている設定値とを比較すればよい。
また、前記第1記憶ステップでは、前記確認ステップにおける確認の結果、前記第2記憶手段に設定値が記憶されている場合、前記第1記憶手段に記憶されている設定値を前記第2記憶手段に書き込まないとしてもよい。
つまり、第2記憶手段への設定値の書き込み、すなわち、第1記憶手段に記憶されている設定値の第2記憶手段へのコピーは、第2記憶手段に設定値が記憶されていない場合にのみ行うとしてもよい。
また、前記第1記憶手段に記憶されている設定値について、前記設定値としてとり得る所定の値が予め定められており、前記プログラムはさらに、前記第1記憶手段に記憶されている設定値が所定の値であるか否かの判定を行う判定ステップを含み、前記制御ステップではさらに、前記判定ステップにおける判定の結果、前記第1記憶手段に記憶されている設定値が前記所定の値ではない場合、前記第1コンテンツの再生を前記再生装置に行わせないとしてもよい。
これにより、再生装置の設定値が変更されている場合のみならず、当該設定値が正規の値ではない場合も、第1コンテンツの再生が制限される。つまり、正規の値ではない不当な設定値に基づいて第1コンテンツが再生されることを防ぐことができる。
また、本発明は、第1コンテンツの再生が可能であり本発明の情報記録媒体に記録されているプログラムを読み込んで実行する再生装置として実現することもできる。
また、このような再生装置が行う特徴的な動作をステップとする再生制御方法として実現したり、それらのステップをコンピュータに実行させるプログラムとして実現したりすることもできる。そして、そのようなプログラムは、CD−ROM等の記録媒体やインターネット等の伝送媒体を介して配信することができる。
本発明は、コンテンツ供給者の意図に基づいた適切な態様でのコンテンツの再生を再生装置に行わせるための情報記録媒体およびコンテンツの再生制御方法を提供することができる。
以下、添付の図面を参照しながら、本発明を実施するための最良の形態ついて説明する。
なお、本願請求項1に係る発明に最も近い実施の形態は実施の形態2であるが、理解を容易にするために、実施の形態2における情報記録媒体等の基本的な構成を説明する実施の形態1を先に説明する。
(実施の形態1)
まず、BD−ROMおよびBD−ROMを再生するBD−ROMプレーヤの基本的な構成および動作について、図1〜図30を用いて説明する。
(ディスク上の論理データ構造)
図4は、BD−ROMのデータ階層を示す図である。
図4に示すように、ディスク媒体であるBD−ROM104上には、AVデータ103と、AVデータに関する管理情報及びAV再生シーケンスなどのBD管理情報102と、インタラクティブを実現するBD再生プログラム101とが記録されている。
なお、本実施の形態では、映画などのAVコンテンツを再生するためのAVアプリケーションを主眼においてBD−ROMの説明を行うが、BD−ROMをCD−ROMやDVD−ROMの様にコンピュータ用途の記録媒体として使用することも当然のことながら可能である。
図5は、前述のBD−ROM104に記録されている論理データの構造を示す図である。BD−ROM104は、他の光ディスク、例えばDVDやCDなどと同様にその内周から外周に向けてらせん状に記録領域を持ち、内周のリードインと外周のリードアウトの間に論理データを記録できる論理アドレス空間を有している。
また、リードインの内側にはBurst Cutting Area(BCA)と呼ばれる、ドライブでしか読み出せない特別な領域がある。この領域はアプリケーションから読み出せないため、例えば著作権保護技術などに利用されることがよくある。
論理アドレス空間には、ファイルシステム情報(ボリューム)を先頭に映像データなどのアプリケーションデータが記録されている。ファイルシステムとは従来技術で説明した通り、UDFやISO9660等の規格により定められたデータを管理する仕組みのことであり、通常のPCと同じように記録されている論理データをディレクトリ、ファイル構造を使って読み出しする事が可能になっている。
本実施の形態の場合、BD−ROM104上のディレクトリ、ファイル構造は、ルートディレクトリ(ROOT)直下にBDVIDEOディレクトリが置かれている。このディレクトリはBD−ROMで扱うAVデータや管理情報などのデータ(図4に示すBD再生プログラム101、BD管理情報102、AVデータ103)が記録されているディレクトリである。
BDVIDEOディレクトリの下には、次の7種類のファイルが記録されている。
BD.INFO(ファイル名固定)
「BD管理情報」の一つであり、BD−ROM全体に関する情報を記録したファイルである。BD−ROMプレーヤは最初にこのファイルを読み出す。
BD.PROG(ファイル名固定)
「BD再生プログラム」の一つであり、BD−ROM全体に関わるプログラムを記録したファイルである。
XXX.PL(「XXX」は可変、拡張子「PL」は固定)
「BD管理情報」の一つであり、シナリオを記録するプレイリスト(Play List)情報を記録したファイルである。プレイリスト毎に1つのファイルを持っている。
XXX.PROG(「XXX」は可変、拡張子「PROG」は固定)
「BD再生プログラム」の一つであり、前述したプレイリスト毎のプログラムを記録したファイルである。プレイリストとの対応はファイルボディ名(「XXX」が一致する)によって識別される。
YYY.VOB(「YYY」は可変、拡張子「VOB」は固定)
「AVデータ」の一つであり、VOB(従来例で説明したVOBと同じ)を記録したファイルである。1つのVOBは1つのファイルに対応する。
YYY.VOBI(「YYY」は可変、拡張子「VOBI」は固定)
「BD管理情報」の一つであり、AVデータであるVOBに関わる管理情報を記録したファイルである。VOBとの対応はファイルボディ名(「YYY」が一致する)によって識別される。
ZZZ.PNG(「ZZZ」は可変、拡張子「PNG」は固定)
「AVデータ」の一つであり、字幕及びメニュー画面を構成するためのイメージデータであるPNG(World Wide Web Consortium(W3C)によって標準化された画像フォーマットであり「ピング」と読む。)形式のイメージファイルである。1つのPNGイメージは1つのファイルに対応する。
(プレーヤの構成)
次に、前述のBD−ROM104を再生するプレーヤの構成について図6及び図7を用いて説明する。
図6は、BD−ROM104を再生するBD−ROMプレーヤの基本的な構成の概要を示す図である。
図6に示すBD−ROMプレーヤにおいて、BD−ROM104上のデータは、光ピックアップ202を通して読み出される。読み出されたデータはそれぞれのデータの種類に応じて専用のメモリに記録される。
BD再生プログラム(「BD.PROG」または「XXX.PROG」ファイル)はプログラム記録メモリ203に、BD管理情報(「BD.INFO」、「XXX.PL」または「YYY.VOBI」ファイル)は管理情報記録メモリ204に、AVデータ(「YYY.VOB」または「ZZZ.PNG」ファイル)はAV記録メモリ205にそれぞれ記録される。
プログラム記録メモリ203に記録されたBD再生プログラムはプログラム処理部206によって処理される。管理情報記録メモリ204に記録されたBD管理情報は管理情報処理部207によって処理される。
また、AV記録メモリ205に記録されたAVデータはプレゼンテーション処理部208によって処理される。
プログラム処理部206は、管理情報処理部207から再生するプレイリストの情報やプログラムの実行タイミングなどのイベント情報を受け取りプログラムの処理を行う。また、プログラムで、再生するプレイリストを動的に変更する事が可能であり、この場合は管理情報処理部207に対して変更後のプレイリストの再生命令を送ることで実現する。
プログラム処理部206は、更に、ユーザからのイベント、例えば、ユーザが操作するリモコンからのリクエストを受け付け、ユーザイベントに対応するプログラムがある場合は、実行処理する。
管理情報処理部207は、プログラム処理部206の指示を受け、その指示に対応するプレイリスト及びそのプレイリストに対応したVOBの管理情報を解析する。更に、プレゼンテーション処理部208に再生の対象となるAVデータの再生を指示する。
また、管理情報処理部207は、プレゼンテーション処理部208から基準時刻情報を受け取り、時刻情報に基づいてプレゼンテーション処理部208にAVデータ再生の停止指示を行う。更に、プログラム処理部206に対してプログラム実行タイミングを示すイベントを生成する。
プレゼンテーション処理部208は、映像、音声、および字幕それぞれのデータに対応するデコーダを持ち、管理情報処理部207からの指示に従い、AVデータのデコード及び出力を行う。映像データ及び字幕データは、デコード後にそれぞれの専用プレーンに描画される。
具体的には、映像データはビデオプレーン210に描画され、字幕データ等のイメージデータはイメージプレーン209に描画される。更に、2つのプレーンに描画された映像の合成処理が合成処理部211によって行われTVなどの表示デバイスへ出力される。
図6で示すように、BD−ROMプレーヤは図4で示したBD−ROM104に記録されているデータ構造に基づいた構成をとっている。
図7は、図6に示すプレーヤの構成を詳細化したブロック図である。図6に示す各構成部と、図7に示す各構成部との対応は以下の通りである。
AV記録メモリ205はイメージメモリ308とトラックバッファ309に対応する。プログラム処理部206はプログラムプロセッサ302とUO(User Operation)マネージャ303に対応する。管理情報処理部207はシナリオプロセッサ305とプレゼンテーションコントローラ306とに対応する。プレゼンテーション処理部208はクロック307、デマルチプレクサ310、イメージプロセッサ311、ビデオプロセッサ312とサウンドプロセッサ313とに対応する。
BD−ROM104から読み出されたVOBデータ(MPEGストリーム)はトラックバッファ309に、イメージデータ(PNG)はイメージメモリ308にそれぞれ記録される。
デマルチプレクサ310は、クロック307から得られる時刻に基づき、トラックバッファ309に記録されたVOBデータを抜き出す。更に、VOBデータに含まれる映像データをビデオプロセッサ312に音声データをサウンドプロセッサ313にそれぞれ送り込む。
ビデオプロセッサ312及びサウンドプロセッサ313はそれぞれMPEGシステム規格で定められる通りに、デコーダバッファとデコーダからそれぞれ構成されている。即ち、デマルチプレクサ310から送りこまれる映像、音声それぞれのデータは、それぞれのデコーダバッファに一時的に記録され、クロック307に従い個々のデコーダでデコード処理される。
イメージメモリ308に記録されたPNGデータは、次の2つの処理方法がある。PNGデータが字幕用の場合は、プレゼンテーションコントローラ306によってデコードタイミングが指示される。クロック307からの時刻情報をシナリオプロセッサ305が一旦受け、適切な字幕表示が行えるように、字幕表示時刻(開始及び終了)になればプレゼンテーションコントローラ306に対して字幕の表示、非表示の指示を出す。
プレゼンテーションコントローラ306からデコード/表示の指示を受けたイメージプロセッサ311は対応するPNGデータをイメージメモリ308から抜き出し、デコードし、イメージプレーン209に描画する。
また、PNGデータがメニュー画面用の場合は、プログラムプロセッサ302によってデコードタイミングが指示される。プログラムプロセッサ302がいつイメージのデコードを指示するかは、プログラムプロセッサ302が処理しているBDプログラムに因るものであって一概には決まらない。
イメージデータ及び映像データは、図6で説明したようにそれぞれデコード後にイメージプレーン209およびビデオプレーン210に描画され、合成処理部211によって合成出力される。
BD−ROM104から読み出された管理情報(シナリオ、AV管理情報)は、管理情報記録メモリ204に記録されるが、シナリオ情報(「BD.INFO」及び「XXX.PL」)はシナリオプロセッサ305によって読み出され処理される。また、AV管理情報(「YYY.VOBI」)はプレゼンテーションコントローラ306によって読み出され処理される。
シナリオプロセッサ305は、プレイリストの情報を解析し、プレイリストによって参照されているVOBとその再生位置をプレゼンテーションコントローラ306に指示し、プレゼンテーションコントローラ306は対象となるVOBの管理情報(「YYY.VOBI」)を解析して、対象となるVOBを読み出すようにドライブコントローラ317に指示を出す。
ドライブコントローラ317はプレゼンテーションコントローラ306の指示に従い、光ピックアップ202を移動させ、対象となるAVデータの読み出しを行う。読み出されたAVデータは、前述したようにイメージメモリ308またはトラックバッファ309に記録される。
また、シナリオプロセッサ305は、クロック307の時刻を監視し、管理情報で設定されているタイミングでイベントをプログラムプロセッサ302に投げる。
プログラム記録メモリ203に記録されたBDプログラム(「BD.PROG」または「XXX.PROG」)は、プログラムプロセッサ302によって実行処理される。プログラムプロセッサ302がBDプログラムを処理するのは、シナリオプロセッサ305からイベントが送られてきた場合か、UOマネージャ303からイベントが送られてきた場合である。
UOマネージャ303は、ユーザからリモコンキーによってリクエストが送られてきた場合に、当該リクエストに対応するイベントを生成しプログラムプロセッサ302に送る。
このような各構成部の動作により、BD−ROMの再生がおこなわれる。
(アプリケーション空間)
図8は、BD−ROMのアプリケーション空間を示す図である。
BD−ROMのアプリケーション空間では、プレイリスト(PlayList)が一つの再生単位になっている。プレイリストはセル(Cell)の再生シーケンスから構成される静的なシナリオと、プログラムによって記述される動的なシナリオとを有している。
プログラムによる動的なシナリオが無い限り、プレイリストは個々のセルを順に再生するだけであり、また、全てのセルの再生を終了した時点でプレイリストの再生は終了する。
一方で、プログラムは、プレイリストを超えての再生記述や、ユーザの選択またはプレーヤの状態に応じて再生する対象を動的に変えることが可能である。典型的な例としてはメニュー画面を介した再生対象の動的変更が挙げられる。BD−ROMの場合、メニューとはユーザの選択によって再生するシナリオ、即ちプレイリストを動的に選択するための機能の構成要素の1つである。
また、ここで言うプログラムは、時間イベントまたはユーザイベントによって実行されるイベントハンドラの事である。
時間イベントは、プレイリスト中に埋め込まれた時刻情報に基づいて生成されるイベントである。図7で説明したシナリオプロセッサ305からプログラムプロセッサ302に送られるイベントがこれに相当する。時間イベントが発行されると、プログラムプロセッサ302はIDによって対応付けられるイベントハンドラを実行処理する。
前述した通り、実行されるプログラムが他のプレイリストの再生を指示することが可能であり、この場合には、現在再生されているプレイリストの再生は中止され、指定されたプレイリストの再生へと遷移する。
ユーザイベントは、ユーザのリモコンキー操作によって生成されるイベントである。ユーザイベントは大きく2つのタイプに分けられる。一つ目は、リモコンが備えるカーソルキー(「上」「下」「左」「右」キー)または「決定」キーの操作によって生成されるメニュー選択のイベントである。
メニュー選択のイベントに対応するイベントハンドラはプレイリスト内の限られた期間でのみ有効である。つまり、プレイリストの情報として、個々のイベントハンドラの有効期間が設定されている。プログラムプロセッサ302は、リモコンの「上」「下」「左」「右」キーまたは「決定」キーが押された時に有効なイベントハンドラを検索して、有効なイベントハンドラがある場合は当該イベントハンドラが実行処理される。他の場合は、メニュー選択のイベントは無視されることになる。
二つ目のユーザイベントは、「メニュー」キーの操作によって生成されるメニュー画面呼び出しのイベントである。メニュー画面呼び出しのイベントが生成されると、グローバルイベントハンドラが呼ばれる。
グローバルイベントハンドラはプレイリストに依存せず、常に有効なイベントハンドラである。この機能を使うことにより、DVDのメニューコールを実装することができる。メニューコールを実装することにより、タイトル再生中に音声、字幕メニューなどを呼び出し、音声または字幕を変更後に中断した地点からのタイトル再生を実行することができる。
プレイリストで静的シナリオを構成する単位であるセル(Cell)はVOB(MPEGストリーム)の全部または一部の再生区間を参照したものである。セルはVOB内の再生区間を開始、終了時刻の情報として持っている。個々のVOBと一対になっているVOB管理情報(VOBI)は、その内部にタイムマップ(Time MapまたはTM)を有しており、このタイムマップによって前述したVOBの再生、終了時刻をVOB内(即ち対象となるファイル「YYY.VOB」内)での読み出し開始アドレス及び終了アドレスを導き出すことが可能である。なおタイムマップの詳細は図14を用いて後述する。
(VOBの詳細)
図9は、本実施の形態で使用するMPEGストリーム(VOB)の構成を示す図である。図9に示すように、VOBは複数のVideo Object Unit(VOBU)によって構成されている。VOBUは、MPEGビデオストリームにおけるGroup Of Pictures(GOP)を基準とする単位であり、音声データも含んだ多重化ストリームとしての一再生単位である。
VOBUは0.4秒から1.0秒の再生時間を持ち、通常は0.5秒の再生時間を持っている。これはMPEGのGOPの構造が通常は15フレーム/秒(NTSCの場合)であることによって導かれるものである。
VOBUは、その内部に映像データであるビデオパック(V_PCK)と、音声データであるオーディオパック(A_PCK)とを有している。各パックは1セクタで構成され、本実施の形態の場合は2kB単位で構成されている。
図10は、MPEGストリームにおけるパックの構成を示す図である。
図10に示すように、映像データ及び音声データといったエレメンタリデータは、ペイロードと呼ばれるパケットのデータ格納領域に先頭から順次入れられていく。ペイロードにはパケットヘッダが付けられ1つのパケットを構成する。
パケットヘッダには、ペイロードに格納してあるデータがどのストリームのデータであるのか、映像データであるのか音声データであるのか、および、映像データまたは音声データがそれぞれ複数ストリーム分ある場合に、どのストリームのデータなのかを識別するためのID(stream_id)、並びに、当該ペイロードのデコード及び表示時刻情報であるタイムスタンプであるDecode Time Stamp(DTS)及びPresentation Time Stamp(PTS)が記録されている。
DTSおよびPTSは必ずしも全てのパケットヘッダに記録されている訳ではなく、MPEGによって記録するルールが規定されている。ルールの詳細についてはMPEGシステム(ISO/IEC13818−1)規格書に記述されているので省略する。
パケットには更にヘッダ(パックヘッダ)が付けられ、パックを構成する。パックヘッダには、当該パックがいつデマルチプレクサ310を通過し、個々のエレメンタリストリームのデコーダバッファに入力されるかを示すタイムスタンプであるSystem Clock Reference(SCR)が記録されている。
(VOBのインターリーブ記録)
図11及び図12を用いてVOBファイルのインターリーブ記録について説明する。
図11は、AVデータとBD−ROMプレーヤの構成との関係を説明するための図である。
図11上段の図は、図7を用いて前述したプレーヤ構成図の一部である。図の通り、BD−ROM上のデータは、光ピックアップ202を通してVOB即ちMPEGストリームであればトラックバッファ309へ入力され、PNG即ちイメージデータであればイメージメモリ308へと入力される。
トラックバッファ309はFirst−In First−Out(FIFO)であり、入力されたVOBのデータは入力された順にデマルチプレクサ310へと送られる。この時、前述したSCRに従って個々のパックはトラックバッファ309から引き抜かれデマルチプレクサ310を介してビデオプロセッサ312またはサウンドプロセッサ313へとデータが送り届けられる。
一方で、イメージデータの場合は、どのイメージを描画するかはプレゼンテーションコントローラ306(図7参照)によって指示される。また、描画に使ったイメージデータは、字幕用イメージデータの場合は同時にイメージメモリ308から削除されるが、メニュー用のイメージデータの場合は、イメージメモリ308内にそのまま残される。
これはメニューの描画はユーザ操作に依存するところがあるため、同一イメージを複数回描画する可能性があるためである。
図11下段の図は、BD−ROM上でのVOBファイル及びPNGファイルのインターリーブ記録を示す図である。
一般的にROM、例えばCD−ROMやDVD−ROMの場合、一連の連続再生単位となるAVデータは連続記録されている。連続記録されている限り、ドライブは順次データを読み出しプレーヤ側に送り届けるだけでよい。
しかしながら、連続再生すべきAVデータが分断されてディスク上に離散配置されている場合は、個々の連続区間の間でシーク操作が入ることになり、この間データの読み出しが止まることになる。つまり、データの供給が止まる可能性がある。
BD−ROMの場合も同様に、VOBファイルは連続領域に記録することができる方が望ましいが、例えば字幕データのようにVOBに記録されている映像データと同期して再生されるデータがあり、VOBファイルと同様に字幕データも何らかの方法によってBD−ROMから読み出す事が必要になる。
字幕データの読み出し方法の一手段として、VOBの再生開始前に一まとめで字幕用のイメージデータ(PNGファイル)を読み出してしまう方法がある。しかしながら、この場合には一時記録に使用する大量のメモリが必要となり、現実的ではない。
そこで、本実施の形態では、VOBファイルを幾つかのブロックに分けて、VOBファイルとイメージデータとをインターリーブ記録する方式を使用する。
図11下段はそのインターリーブ記録を説明するための図である。VOBファイルとイメージデータを適切にインターリーブ配置することで、前述したような大量の一時記録メモリ無しに、必要なタイミングでイメージデータをイメージメモリ308に格納することが可能になる。
しかしながらイメージデータを読み出している際には、VOBデータの読み込みは当然のことながら停止することになる。
図12は、上記のインターリーブ記録における問題を解決するトラックバッファ309を使ったVOBデータ連続供給モデルを説明するための図である。
既に説明したように、VOBのデータは、一旦トラックバッファ309に蓄積される。トラックバッファ309へのデータ入力レートをトラックバッファ309からのデータ出力レートより高く設定すると、BD−ROMからデータを読み出し続けている限り、トラックバッファ309のデータ蓄積量は増加をしていくことになる。
ここでトラックバッファ309への入力レートをVa、トラックバッファ309からの出力レートをVbとする。図12の上段の図に示すようにVOBの一連続記録領域が論理アドレスの“a1”から“a2”まで続くとする。また、“a2”から“a3”の間は、イメージデータが記録されていて、VOBデータの読み出しが行えない区間であるとする。
図12の下段の図は、トラックバッファ309の蓄積量を示す図である。横軸が時間、縦軸がトラックバッファ309内部に蓄積されているデータ量を示している。時刻“t1”がVOBの一連続記録領域の開始点である“a1”の読み出しを開始した時刻を示している。
この時刻以降、トラックバッファ309にはレートVa−Vbでデータが蓄積されていくことになる。このレートは言うまでもなくトラックバッファ309の入出力レートの差である。時刻“t2”は一連続記録領域の終了点である“a2”のデータを読み込む時刻である。
即ち時刻“t1”から“t2”の間レートVa−Vbでトラックバッファ309内はデータ量が増加していき、時刻“t2”でのデータ蓄積量はB(t2)は下記の(式1)によって求めることができる。
B(t2) = (Va−Vb)×(t2−t1) (式1)
この後、BD−ROM上のアドレス“a3”まではイメージデータが続くため、トラックバッファ309への入力は0となり、出力レートである“−Vb”でトラックバッファ309内のデータ量は減少していくことになる。このデータ量の減少は読み出し位置“a3”まで、つまり、時刻でいう“t3”まで続く。
ここで大事なことは、時刻“t3”より前にトラックバッファ309に蓄積されているデータ量が0になると、デコーダへ供給するVOBのデータが無くなってしまい、VOBの再生がストップしてしまうことである。
しかしながら、時刻“t3”でトラックバッファ309にデータが残っている場合には、VOBの再生がストップすることなく連続して行われることを意味している。
このVOBの再生がストップすることなく連続して行われるための条件は下記の(式2)によって示すことができる。
B(t2) ≧ −Vb×(t3−t2) (式2)
即ち、(式2)を満たすようにイメージデータの配置を決めればよい事になる。
(ナビゲーションデータ構造)
図13から図19を用いて、BD−ROMに記録されたナビゲーションデータ(BD管理情報)の構造について説明をする。
図13は、VOB管理情報ファイル(“YYY.VOBI”)の内部構造を示す図である。
VOB管理情報は、当該VOBのストリーム属性情報(Attribute)とタイムマップ(TMAP)とを有している。ストリーム属性情報は、ビデオ属性(Video)、オーディオ属性(Audio#0〜Audio#m)個々に持つ構成となっている。特にオーディオストリームの場合は、VOBが複数本のオーディオストリームを同時に持つことができることから、オーディオストリーム数(Number)によって、オーディオ属性のデータフィールドの数が特定される。
下記はビデオ属性(Video)の持つフィールドとそれぞれが持ち得る値の例である。
圧縮方式(Coding):
MPEG1
MPEG2
MPEG4
解像度(Resolution):
1920x1080
1280x720
720x480
720x565
アスペクト比(Aspect):
4:3
16:9
フレームレート(Framerate):
60
59.94
50
30
29.97
25
24
下記はオーディオ属性(Audio)の持つフィールドとそれぞれが持ち得る値の例である。
圧縮方式(Coding):
AC3
MPEG1
MPEG2
LPCM
チャンネル数(Ch):
1〜8
言語属性(Language):
JPN、ENG、・・・
タイムマップ(TMAP)はVOBU毎の情報を持つテーブルであって、当該VOBが有するVOBU数(Number)と各VOBU情報(VOBU#1〜VOBU#n)を持つ。
個々のVOBU情報は、VOBUの再生時間長(Duration)とVOBUのデータサイズ(Size)とを有している。
図14は、VOBU情報の詳細を説明するための図である。
広く知られているように、MPEGストリームは時間的側面とデータサイズとしての側面との2つの物理量についての側面を有している。例えば、音声の圧縮規格であるAudio Code number 3(AC3)は固定ビットレートでの圧縮を行っているため、時間とアドレスとの関係は1次式によって求めることができる。
しかしながらMPEGビデオデータの場合、個々のフレームは固定の表示時間、例えばNTSCの場合、1フレームは1/29.97秒の表示時間を持つが、個々のフレームの圧縮後のデータサイズは絵の特性や圧縮に使ったピクチャタイプ、いわゆるI/P/Bピクチャによってデータサイズは大きく変わってくる。
従って、MPEGビデオの場合は、時間とアドレスとの関係は一般式の形で表現することは不可能である。
当然の事として、MPEGビデオデータを多重化しているMPEGストリーム、即ちVOBについても、時間とデータとを一般式の形で表現することは不可能である。
これに代わって、VOB内での時間とアドレスとの関係を結びつけるのがタイムマップ(TMAP)である。図14に示すように、VOBU毎にVOBU内のフレーム数と、VOBU内のパック数とをそれぞれエントリとして持つテーブルがタイムマップ(TMAP)である。
図15を使って、タイムマップ(TMAP)の使い方を説明する。
図15は、タイムマップを使ったアドレス情報取得方法を説明するための図である。
図15に示すように時刻情報(Time)が与えられた場合、まずは当該時刻がどのVOBUに属するのかを検索する。具体的には、タイムマップのVOBU毎のフレーム数を加算して行き、フレーム数の和が、当該時刻をフレーム数に換算した値を超えるまたは一致するVOBUが当該時刻に対応するVOBUになる。
次に、タイムマップのVOBU毎のサイズを当該VOBUの直前のVOBUまで加算して行き、その値が与えられた時刻を含むフレームを再生するために読み出すべきパックの先頭アドレス(Address)になっている。
このようにして、MPEGストリームにおいて、与えられた時刻情報に対応するアドレスを得ることができる。
次に図16を使って、プレイリスト(“XXX.PL”)の内部構造を説明する。
図16は、プレイリストの構成を示す図である。
プレイリストは、セルリスト(CellList)とイベントリスト(EventList)とから構成されている。
セルリスト(CellList)は、プレイリスト内の再生セルシーケンスを示す情報であり、本リストの記述順でセルが再生される事になる。
セルリスト(CellList)の中身は、セルの数(Number)と各セル情報(Cell#1〜Cell#n)である。
各セル情報(Cell#〜Cell#n)は、VOBファイル名(VOBName)、当該VOB内での有効区間開始時刻(In)及び有効区間終了時刻(Out)と、字幕テーブル(SubtitleTable)を持っている。
有効区間開始時刻(In)及び有効区間終了時刻(Out)は、それぞれ当該VOB内でのフレーム番号で表現され、前述したタイムマップ(TMAP)を使うことによって再生に必要なVOBデータのアドレスを得る事ができる。
字幕テーブル(SubtitleTable)は、当該VOBと同期再生される字幕情報を持つテーブルである。字幕は音声同様に複数の言語を持つことができ、字幕テーブル(SubtitleTable)は言語数(Number)とそれに続く個々の言語ごとのテーブル(Language#1〜Language#k)とから構成されている。
各言語のテーブル(Language#1〜Language#k)は、言語情報(Language)と、表示される字幕の字幕情報数(Number)と、表示される字幕の字幕情報(Speech#1〜Speech#j)とから構成され、各字幕情報(Speech#1〜Speech#j)は対応するイメージデータファイル名(Name)、字幕表示開始時刻(In)及び字幕表示終了時刻(Out)と、字幕の表示位置(Position)とから構成されている。
イベントリスト(EventList)は、当該プレイリスト内で発生するイベントを定義したテーブルである。イベントリストは、イベント数(Number)に続いて個々のイベント(Event#1〜Event#m)とから構成され、各イベント(Event#1〜Event#m)は、イベントの種類(Type)、イベントのID(ID)、イベント生成時刻(Time)と有効期間(Duration)とから構成されている。
図17は、個々のプレイリスト毎のイベントハンドラ(時間イベントと、メニュー選択用のユーザイベント)を持つイベントハンドラテーブル(“XXX.PROG”)の構成を示す図である。
イベントハンドラテーブルは、定義されているイベントハンドラ/プログラム数(Number)と個々のイベントハンドラ/プログラム(Program#1〜Program#n)を有している。
各イベントハンドラ/プログラム(Program#1〜Program#n)内の記述は、イベントハンドラ開始の定義(<event_handler>タグ)と前述したイベントのIDと対になるイベントハンドラのID(event_handler id)を持ち、その後に当該プログラムが“function”に続く括弧“{”と“}”との間に記述される。
次に図18を用いてBD−ROM全体に関する情報(“BD.INFO”)の内部構造について説明をする。
図18は、BD−ROM全体情報であるBD.INFOの構成を示す図である。
BD−ROM全体情報は、タイトルリスト(TitleList)とグローバルイベント用のイベントリスト(EventList)とから構成されている。
タイトルリスト(TitleList)は、ディスク内のタイトル数(Number)と、これに続く各タイトル情報(Title#1〜Title#n)とから構成されている。
各タイトル情報(Title#1〜Title#n)は、タイトルに含まれるプレイリストのテーブル(PLTalble)とタイトル内のチャプターリスト(ChapterList)とを含んでいる。プレイリストのテーブル(PLTable)はタイトル内のプレイリストの数(Number)と、プレイリスト名(Name)即ちプレイリストのファイル名を有している。
チャプターリスト(ChapterList)は、当該タイトルに含まれるチャプター数(Number)と各チャプター情報(Chapter#1〜Chapter#n)とから構成され、各チャプター情報(Chapter#1〜Chapter#n)は当該チャプターが含むセルのテーブル(CellTable)を持ち、セルのテーブル(CellTable)はセル数(Number)と各セルのエントリ情報(CellEntry#1〜CellEntry#k)とから構成されている。
セルのエントリ情報(CellEntry#1〜CellEntry#k)は当該セルを含むプレイリスト名と、プレイリスト内でのセル番号によって記述されている。
イベントリスト(EventList)は、グローバルイベントの数(Number)と各グローバルイベントの情報(Event#1〜Event#m)とを持っている。ここで注意すべきは、最初に定義されるグローバルイベントは、ファーストイベント(FirstEvent)と呼ばれ、BD−ROMがプレーヤに挿入された時、最初に実行されるイベントである。
各グローバルイベントの情報(Event#1〜Event#m)はイベントタイプ(Type)とイベントのID(ID)だけを持っている。
図19は、グローバルイベントハンドラテーブル(“BD.PROG”)の構成を示す図である。本テーブルは、図17で説明したイベントハンドラテーブルと同一内容であり、その説明は省略する。
(イベント発生のメカニズム)
図20から図22を使ってイベント発生のメカニズムについて説明する。
図20は、タイムイベントの例を示す図である。
前述したとおり、タイムイベントはプレイリスト(“XXX.PL”)のイベントリスト(EventList)で定義される。
タイムイベントとして定義されているイベント、即ちイベントタイプ(Type)が“TimeEvent”の場合、イベント生成時刻(“t1”)になった時点で、ID“Ex1”を持つタイムイベントがシナリオプロセッサ305からプログラムプロセッサ302に対して出力される。
プログラムプロセッサ302は、イベントID“Ex1”を持つイベントハンドラを探し、対象のイベントハンドラを実行処理する。例えば、本実施の形態の場合では、2つのボタンイメージの描画を行うことなどが可能である。
図21は、ユーザのメニュー操作によるユーザイベントの例を示す図である。
前述したとおり、メニュー操作によるユーザイベントもプレイリスト(“XXX.PL”)のイベントリスト(EventList)で定義される。
ユーザイベントとして定義されるイベント、即ちイベントタイプ(Type)が“UserEvent”の場合、イベント生成時刻(“t1”)になった時点で、当該ユーザイベントがレディとなる。この時、イベント自身は未だ生成されてはいない。
当該イベントは、有効規格情報(Duration)で記される期間(“T1”)レディ状態にある。
図21に示すように、ユーザによりリモコンキーの「上」「下」「左」「右」キーのいずれかのキー、または「決定」キーが押された場合、まずUOイベントがUOマネージャ303によって生成されプログラムプロセッサ302に出力される。
プログラムプロセッサ302は、シナリオプロセッサ305に対してUOイベントを流し、シナリオプロセッサ305はUOイベントを受け取った時刻に有効なユーザイベントが存在するかを検索する。
シナリオプロセッサ305は、検索の結果、対象となるユーザイベントがあった場合、ユーザイベントを生成し、プログラムプロセッサ302に出力する。
プログラムプロセッサ302では、イベントID、例えば、図21に示す例の場合では“Ev1”を持つイベントハンドラを探し、対象のイベントハンドラを実行処理する。本例の場合、プレイリスト#2の再生を開始する。
生成されるユーザイベントには、どのリモコンキーがユーザによって押されたかの情報は含まれていない。選択されたリモコンキーの情報は、UOイベントによってプログラムプロセッサ302に伝えられ、仮想プレーヤが持つレジスタに記録保持される。
イベントハンドラのプログラムは、このレジスタの値を調べ、分岐処理を実行することが可能である。
図22は、グローバルイベントの例を示す図である。
前述のように、グローバルイベントはBD−ROM全体情報(“BD.INFO”)のイベントリスト(EventList)で定義される。
グローバルイベントとして定義されるイベント、即ちイベントタイプ(Type)が“GlobalEvent”であるイベントは、ユーザのリモコンキー操作があった場合にのみ生成される。
ユーザによりメニューキーが押された場合、先ずUOイベントがUOマネージャ303によって生成されプログラムプロセッサ302に出力される。プログラムプロセッサ302は、シナリオプロセッサ305に対してUOイベントを流す。
シナリオプロセッサ305は、該当するグローバルイベントを生成し、プログラムプロセッサ302に送る。プログラムプロセッサ302は、イベントID“menu”を持つイベントハンドラを探し、対象のイベントハンドラを実行する。例えば、図22に示す例の場合、プレイリスト#3の再生を開始している。
本実施の形態では、単にメニューキーと呼んでいるが、DVDを再生するプレーヤにおけるリモコンのように複数のメニューキーがあってもよい。各メニューキーに対応するIDをそれぞれ定義することで各メニューキーに対応する適切な処理が可能である。
(仮想プレーヤマシン)
図23は、プログラムプロセッサ302の機能的な構成を説明するための図である。
図23を用いてプログラムプロセッサ302の機能的な構成を説明する。
プログラムプロセッサ302は、内部に仮想プレーヤマシンを持つ処理モジュールである。仮想プレーヤマシンはBD−ROMとして定義された機能モデルであって、各BD−ROMプレーヤの実装には依存しないものである。即ち、どのBD−ROMプレーヤにおいても同様の機能を実行できることを保証している。
仮想プレーヤマシンは大きく2つの機能を持っている。プログラミング関数とプレーヤ変数である。プレーヤ変数はレジスタに記憶され保持されている。
プログラミング関数は、Java(登録商標) Scriptをベースとして、以下に記す3つの機能をBD−ROM固有関数として定義している。
リンク関数:現在の再生を停止し、指定するプレイリスト、セル、時刻からの再生を開始する。
Link(PL#,Cell#,time)
PL# : プレイリスト名
Cell# : セル番号
time : セル内での再生開始時刻
PNG描画関数:指定PNGデータをイメージプレーン209に描画する
Draw(File,X,Y)
File : PNGファイル名
X : X座標位置
Y : Y座標位置
イメージプレーンクリア関数:イメージプレーン209の指定領域をクリアする
Clear(X,Y,W,H)
X : X座標位置
Y : Y座標位置
W : X方向幅
H : Y方向幅
また、プレーヤ変数は、プレーヤの設定値等を示すシステムパラメータ(SPRM)と、一般用途として使用可能なゼネラルパラメータ(GPRM)とがある。
図24は、システムパラメータ(SPRM)の一覧を示す図である。
SPRM(0) : 言語コード
SPRM(1) : 音声ストリーム番号
SPRM(2) : 字幕ストリーム番号
SPRM(3) : アングル番号
SPRM(4) : タイトル番号
SPRM(5) : チャプター番号
SPRM(6) : プログラム番号
SPRM(7) : セル番号
SPRM(8) : 選択キー情報
SPRM(9) : ナビゲーションタイマー
SPRM(10) : 再生時刻情報
SPRM(11) : カラオケ用ミキシングモード
SPRM(12) : パレンタル用国情報
SPRM(13) : パレンタルレベル
SPRM(14) : プレーヤ設定値(ビデオ)
SPRM(15) : プレーヤ設定値(オーディオ)
SPRM(16) : 音声ストリーム用言語コード
SPRM(17) : 音声ストリーム用言語コード(拡張)
SPRM(18) : 字幕ストリーム用言語コード
SPRM(19) : 字幕ストリーム用言語コード(拡張)
SPRM(20) : プレーヤリージョンコード
SPRM(21) : 予備
SPRM(22) : 予備
SPRM(23) : 再生状態
SPRM(24) : 予備
SPRM(25) : 予備
SPRM(26) : 予備
SPRM(27) : 予備
SPRM(28) : 予備
SPRM(29) : 予備
SPRM(30) : 予備
SPRM(31) : 予備
なお、本実施の形態では、仮想プレーヤのプログラミング関数をJava(登録商標) Scriptベースとしたが、Java(登録商標) Scriptではなく、UNIX(登録商標) OSなどで使われているB−Shellや、Perl Scriptなど他のプログラミング関数であってもよい。言い換えれば、本発明におけるプログラム言語はJava(登録商標) Scriptに限定されるものでは無い。
(プログラムの例)
図25及び図26は、イベントハンドラにおけるプログラムの例を示す図である。
図25は、2つの選択ボタンを持つメニュー画面の制御に係るイベントハンドラにおけるプログラムの例を示す図である。
セル(PlayList#1.Cell#1)先頭でタイムイベントを使って図25左側のプログラムが実行される。ここでは、最初にゼネラルパラメータの一つGPRM(0)に“1”がセットされている。GPRM(0)は、当該プログラムの中で、選択されているボタンを識別するのに使っている。最初の状態では、左側に配置するボタン[1]が選択されている状態を初期値として持たされている。
次に、PNGの描画を描画関数である“Draw”を使ってボタン[1]、ボタン[2]それぞれについて行っている。ボタン[1]は、座標(10、200)を起点(左上端)としてPNGイメージ“1black.png”を描画している。ボタン[2]は、座標(330,200)を起点(左上端)としてPNGイメージ“2white.png”を描画している。
また、本セル最後ではタイムイベントを使って図25右側のプログラムが実行される。ここでは、Link関数を使って当該セルの先頭から再度再生するように指定している。
図26は、メニュー選択のユーザイベントに係るイベントハンドラにおけるプログラムの例を示す図である。
「左」キー、「右」キー、「決定」キー何れかのリモコンキーが押された場合それぞれに対応するプログラムがイベントハンドラに書かれている。ユーザによりリモコンキーが押された場合、図21を用いて説明したように、ユーザイベントが生成され、図26のイベントハンドラが起動されることになる。
本イベントハンドラでは、選択ボタンを識別しているGPRM(0)の値と、選択されたリモコンキーを識別するSPRM(8)を使って以下のように分岐処理を行っている。
条件1)ボタン[1]が選択されている、かつ、選択キーが「右」キーの場合
GPRM(0)を2に再設定して、選択状態にあるボタンを右のボタン[2]に変更する。
ボタン[1]、ボタン[2]のイメージをそれぞれ書き換える。
条件2)選択キーが「決定(OK)」の場合で、ボタン[1]が選択されている場合
プレイリスト#2の再生を開始する。
条件3)選択キーが「決定(OK)」の場合で、ボタン[2]が選択されている場合
プレイリスト#3の再生を開始する。
図26に示すプログラムは、上記のように解釈され実行される。
(プレーヤ処理フロー)
図27から図30を用いてプレーヤでの処理の流れを説明する。
図27は、BD−ROMプレーヤにおけるAVデータ再生の基本処理の流れを示すフロー図である。
BD−ROMが挿入されると(S101)、BD−ROMプレーヤは“BD.INFO”の読み込みと解析(S102)、および、“BD.PROG”の読み込み(S103)を実行する。“BD.INFO”及び“BD.PROG”は共に管理情報記録メモリ204に一旦格納され、シナリオプロセッサ305によって解析される。
続いて、シナリオプロセッサ305は、“BD.INFO”ファイル内のファーストイベント(FirstEvent)情報に従い、最初のイベントを生成する(S104)。生成されたファーストイベントは、プログラムプロセッサ302で受け取られ、当該イベントに対応するイベントハンドラを実行処理する(S105)。
ファーストイベントに対応するイベントハンドラには、最初に再生するべきプレイリストを指定する情報が記録されていることが期待される。仮に、プレイリスト再生が指示されていない場合には、プレーヤは何も再生することなく、ユーザイベントを受け付けるのを待ち続けるだけになる(S201でNo)。
UOマネージャ303は、ユーザからのリモコン操作を受け付けると(S201でYes)、プログラムプロセッサ302に対するUOイベントを生成する(S202)。
プログラムプロセッサ302は、UOイベントがメニューキーによるものであるかを判別し(S203)、メニューキーの場合(S203でYes)は、シナリオプロセッサ305にUOイベントを流し、シナリオプロセッサ305がユーザイベントを生成する(S204)。プログラムプロセッサ302は生成されたユーザイベントに対応するイベントハンドラを実行処理する(S205)。
図28は、BD−ROMプレーヤにおけるプレイリスト再生開始からVOB再生終了までの処理の流れを示すフロー図である。
前述したように、ファーストイベントハンドラまたはグローバルイベントハンドラによってプレイリスト再生が開始される(S301)。シナリオプロセッサ305は、再生対象のプレイリスト再生に必要な情報として、プレイリスト“XXX.PL”の読み込みと解析(S302)、および、プレイリストに対応するプログラム情報“XXX.PROG”の読み込みを行う(S303)。
続いてシナリオプロセッサ305は、プレイリストに登録されているセル情報に基づいてセルの再生を開始する(S304)。セル再生は、シナリオプロセッサからプレゼンテーションコントローラ306に対して要求が出される事を意味し、プレゼンテーションコントローラ306はAVデータ再生を開始する(S305)。
AVデータの再生が開始されると、プレゼンテーションコントローラ306は、再生するセルに対応するVOBの情報ファイル“XXX.VOBI”を読み込み(S402)、解析する。プレゼンテーションコントローラ306は、タイムマップを使って再生開始するVOBUとそのアドレスを特定し、ドライブコントローラ317に読み出しアドレスを指示する。ドライブコントローラ317は対象となるVOBデータ“YYY.VOB”を読み出す(S403)。
読み出されたVOBデータはデコーダに送られ再生が開始される(S404)。VOB再生は、当該VOBの再生区間が終了するまで続けられ(S405)、終了すると次のセルが存在する場合(S406でYes)、Cellの再生(S304)へ移行する。また、次のセルが無い場合(S406でNo)は、再生に係る処理が終了する。
図29は、AVデータ再生開始後からのイベント処理の流れを示すフロー図である。
図29(A)は、BD−ROMプレーヤにおけるタイムイベントに係る処理の流れを示すフロー図である。
なお、BD−ROMプレーヤはイベントドリブン型のプレーヤモデルである。プレイリストの再生を開始すると、タイムイベント系、ユーザイベント系、字幕表示系のイベント処理プロセスがそれぞれ起動され、平行してイベント処理を実行するようになる。
BD−ROMプレーヤにおいてプレイリスト再生の再生が開始されると(S501)、プレイリスト再生が終了していないことが確認され(S502でNo)、シナリオプロセッサ305は、タイムイベント発生時刻になったかを確認する。
タイムイベント発生時刻になっている場合(S503でYes)には、シナリオプロセッサ305はタイムイベントを生成する(S504)。プログラムプロセッサ302はタイムイベントを受け取り、イベントハンドラを実行処理する(S505)。
また、タイムイベント発生時刻になっていない場合(S503でNo)、および、イベントハンドラの実行処理が終了した場合、プレイリスト再生の終了確認(S502)以降の処理を繰り返す。
また、プレイリスト再生が終了したことが確認されると(S502でYes)、タイムイベント系の処理は強制的に終了する。
図29(B)は、BD−ROMプレーヤにおけるユーザイベントに係る処理の流れを示すフロー図である。
BD−ROMプレーヤにおいてプレイリストの再生が開始されると(S601)、プレイリスト再生が終了していないことが確認され(S602でNo)、UOマネージャ303は、UOの受け付けがあったかを確認する。
UOの受け付けがあった場合(S603でYes)、UOマネージャ303はUOイベントを生成する(S604)。プログラムプロセッサ302はUOイベントを受け取り、そのUOイベントがメニューコールであるかを確認する。
メニューコールであった場合(S605でYes)、プログラムプロセッサ302はシナリオプロセッサ305にイベントを生成させ(S607)、プログラムプロセッサ302はイベントハンドラを実行処理する(S608)。
また、UOイベントがメニューコールで無いと判断された場合(S605でNo)、UOイベントはカーソルキーまたは「決定」キーによるイベントである事を示している。この場合、現在時刻がユーザイベント有効期間内であるかをシナリオプロセッサ305が判断し、有効期間内である場合(S606でYes)には、シナリオプロセッサ305がユーザイベントを生成し(S607)、プログラムプロセッサ302が対象のイベントハンドラを実行処理する(S608)。
また、UO受付が無い場合(S603でNo)、現在時刻がユーザイベント有効期間内にない場合(S606でNo)、および、イベントハンドラの実行処理が終了した場合、プレイリスト再生の終了確認(S602)以降の処理を繰り返す。
また、プレイリスト再生が終了したことが確認されると(S602でYes)、ユーザイベント系の処理は強制的に終了する。
図30は、BD−ROMプレーヤにおける字幕データの処理の流れを示すフロー図である。
BD−ROMプレーヤにおいてプレイリストの再生が開始されると、プレイリスト再生が終了していないことが確認され(S702でNo)、シナリオプロセッサ305は、字幕表示開始時刻になったかを確認する。字幕表示開始時刻になっている場合(S703でYes)、シナリオプロセッサ305はプレゼンテーションコントローラ306に字幕描画を指示し、プレゼンテーションコントローラ306はイメージプロセッサ311に字幕描画を指示する。イメージプロセッサ311は、その指示に従い字幕をイメージプレーン209に字幕を描画する(S704)。
また、字幕表示開始時刻になっていない場合(S703でNo)、字幕表示終了時刻であるかを確認する。字幕表示終了時刻であると判断された場合(S705でYes)、プレゼンテーションコントローラ306がイメージプロセッサ311に字幕消去指示を行う。
イメージプロセッサ311は、その指示に従い描画されている字幕をイメージプレーン209から消去する(S706)。
また、イメージプロセッサ311による字幕描画(S704)が終了した場合、イメージプロセッサ311による字幕消去(S706)が終了した場合、および、字幕表示終了時刻でないと判断(S705でNo)された場合、プレイリスト再生の終了確認(S702)以降の処理を繰り返す。
また、プレイリスト再生が終了したことが確認されると(S702でYes)、字幕表示系の処理は強制的に終了する。
以上の動作により、BD−ROMプレーヤは、ユーザの指示またはBD−ROMに記録されているBD管理情報等に基づき、BD−ROMの再生に係る基本的な処理を行う。
(実施の形態2)
次に本発明の実施の形態2について説明する。
実施の形態2は、BD−ROMプレーヤに記憶されている設定値の1つであるリージョンコードを利用した再生制御に関わる内容である。
実施の形態2におけるBD−ROMプレーヤの基本的な構成および動作は、実施の形態1で説明した構成および動作と同じであり、実施の形態2において特徴的な構成および動作について説明する。
図31は、実施の形態2におけるBD−ROMプレーヤの主要な機能構成を示す機能ブロック図である。
実施の形態2におけるBD−ROMプレーヤ1は、本発明の再生装置の一例であり、図31に示すように、プログラム処理部206と、再生部220と、第1記憶部221と、第2記憶部222とを備え、BD−ROM104に記録されているコンテンツを再生する機能を有している。
なお、実施の形態2におけるBD−ROM104は本発明の情報記録媒体の一例であり、BD−ROM104に記録されているBD再生プログラムは本発明の情報記録媒体におけるプログラムの一例である。
また、図31は、実施の形態2におけるBD−ROMプレーヤ1の特徴的な動作を説明するために必要な構成部を中心に図示しており、図6に示すプログラム記録メモリ203については図示を省略している。
また、再生部220は、BD−ROMの再生を行う構成部であり、図6に示す管理情報記録メモリ204、管理情報処理部207、AV記録メモリ205、プレゼンテーション処理部208、イメージプレーン209、ビデオプレーン210、および合成処理部211を含む構成部である。
プログラム処理部206は、上述のようにBD−ROM104から読み出されたBD再生プログラムを実行する処理部であり、本発明の再生装置における実行手段の一例である。
第1記憶部221は、図24に示すシステムパラメータ(SPRM)を記憶している記憶装置である。つまり、リージョンコードを示すSPRM(20)は、第1記憶部221に記憶されている。
なお、第1記憶部221は、具体的には、例えばプログラム処理部206を構成するプログラムプロセッサ302(図7参照)のレジスタにより実現される。
第2記憶部222は、プログラム処理部206が情報を読み書き可能な不揮発性の記憶装置である。具体的には、例えばハードディスク、またはフラッシュメモリ等の不揮発メモリにより実現される。
なお、第2記憶部222は、図6では図示されていないが、BD−ROMプレーヤには必ず備えられているものである。プログラム処理部206は、BD−ROM104に記録されているBD再生プログラムを処理する際に、第2記憶部222に対し情報の読み書きをすることができる。
また、第2記憶部222は不揮発性であるため、プログラム処理部206によって書き込まれた情報は、ユーザによりBD−ROMプレーヤ1の電源がオフにされた後でも保持されている。
本実施の形態において、プログラム処理部206は、BD−ROM104の再生プログラムに従い、第1記憶部221に記憶されているリージョンコードを読み出して第2記憶部222に記憶させる等の処理を行う。具体的な動作の流れについては、図34を用いて後述する。
リージョンコードは本発明の情報記録媒体における設定値の一例であり、工場出荷時や初期設定時にBD−ROMプレーヤに一度設定されると、原則として以降変更されることがないプレーヤ固有の値を取るものである。また、上述のように当該BD−ROMプレーヤの流通先となるべき地域を識別する情報であり、言い換えると、当該BD−ROMプレーヤがどの地域に属するプレーヤであるかを識別するための情報である。
図32は、リージョンコードの例を示す図である。
各BD−ROMプレーヤ1が有するリージョンコードは図32に示す複数の値のいずれかである。リージョンコードは、地域に応じて値が割り振られており、当該地域に割り振られた値以外の値を持つことは禁止されている。
また、上述のDVDプレーヤの場合と同じく、BD−ROMプレーヤ1のリージョンコードに応じて再生するコンテンツを切り替えることも可能である。
図33は、BD−ROMプレーヤ1のリージョンコードに応じて、再生するコンテンツを切り替えるためのプログラムの概要を示す図である。
BD−ROM104に、BD再生プログラムとして図33に示すような記述箇所を含むプログラムを記録させておく。
これにより、BD−ROM104がBD−ROMプレーヤ1に挿入されると、当該プログラムがプログラム処理部206に読み込まれ処理される。
具体的には、プログラム処理部206から、第1記憶部221に記憶されているSPRM(20)の値、つまり、リージョンコードが参照され、そのリージョンコードに応じたコンテンツを再生するように、再生部220が制御される。
例えば、BD−ROMプレーヤ1が地域A向けのものであれば、有するリージョンコードは“0000 0001b”である。従って、当該プログラムが実行されるとコンテンツ“Title#1”が再生される。
同様に、BD−ROMプレーヤ1が地域B向けのものであれば、有するリージョンコードは“0000 0010b”であり、対応するコンテンツ“Title#2”が再生される。また、BD−ROMプレーヤ1が地域C向けのものであれば、有するリージョンコードは“0000 0100b”であり、対応するコンテンツ“Title#3”が再生される。
このように、図33に示すような、リージョンコードを利用するBD再生プログラムをBD−ROMに記憶させておくことにより、BD−ROMプレーヤの属する地域に応じて再生するコンテンツを切り替えることができる。
また、このように複数のコンテンツの中から再生させるコンテンツを切り替えるのではなく、単純に、BD−ROMプレーヤ1に記録されているコンテンツの再生を制限することもできる。
例えば、コンテンツ供給者が、あるコンテンツ(コンテンツαとする)について、販売戦略上の理由で、地域ごとに供給する時期をずらしたいと考えた場合を想定する。この場合、例えば、コンテンツαが記録されており、かつ、地域Aでのみ再生可能となるBD−ROMを作製することは可能である。
具体的には、BD−ROMプレーヤ1のリージョンコードを参照し、当該リージョンコードが地域Aを示すものであれば、BD−ROMプレーヤ1にコンテンツαを再生させ、地域Aを示すものでなければ、コンテンツαの再生を行わせないBD再生プログラムをBD−ROMに記録しておけばよい。
また、例えば、当該リージョンコードが地域Aを示すものでなければ、コンテンツαの再生を行わせず、かつ、その旨をユーザに通知するためのコンテンツを再生するようBD再生プログラムを記述してもよい。
なお、コンテンツαが再生されないことをユーザに通知するためのコンテンツとは、例えば、「このBD−ROMプレーヤではコンテンツαは再生できません。」等の文字を表示する映像コンテンツである。また、同様の旨を音声でユーザに伝える音声のみのコンテンツであってもよい。
このように、BD−ROMプレーヤ1が有するリージョンコードを利用することで、BD−ROMプレーヤ1が属する地域に応じたコンテンツの再生制御が可能である。
コンテンツ供給者は、このような再生制御をBD−ROMプレーヤ1に実行させるためのプログラムを、販売戦略またはコンテンツの著作権保護等の必要に応じて作成することができる。
ここで、上述のようにBD−ROMプレーヤはリージョンコードとして1つの値のみを有しており、原則として変更されることはない。
しかしながら、ユーザの設定により適宜リージョンコードを切り替えられる不正なBD−ROMプレーヤの作製等は可能でありコンテンツ供給者が防ぐ術はない。
このようなリージョンコードが変更されたBD−ROMプレーヤではコンテンツ供給者の予定していないコンテンツが再生可能となったりするなど、コンテンツ供給者の意図に反する態様でコンテンツの再生が行われる可能性がある。
そこで、本実施の形態では、BD−ROMプレーヤに記憶されているリージョンコードが適正なものであるかを確認するBD再生プログラムをBD−ROM104に記録させておく。
これにより、BD−ROMプレーヤが上述のような不正なものであるか否かに関わらず、BD−ROMプレーヤのリージョンコードが適正であるか否かに応じたコンテンツの再生制御が可能となる。
以下、図34〜図38を用いて、本実施の形態のBD−ROM104に記録されているBD再生プログラムの内容、および、当該BD再生プログラムに基づくBD−ROMプレーヤ1の各種動作について説明する。
まず、本実施の形態のBD−ROMプレーヤ1の動作の概要を図34を用いて説明する。
図34は、実施の形態2におけるBD再生プログラムに基づくBD−ROMプレーヤ1の動作の概要を示す図である。
プログラム処理部206は、第2記憶部222にリージョンコードが記憶されているか否かを確認する(S801)。
第2記憶部222にリージョンコードが記憶されていない場合(S801でNo)、プログラム処理部206は、第1記憶部221記憶装置からリージョンコードを示すSPRM(20)の値を読み出し(S802)、第2記憶部222に書き込む(S803)。
つまり、BD−ROM104が最初にBD−ROMプレーヤ1に挿入された際に、第1記憶部221に記憶されているリージョンコードが第2記憶部222にコピーされることになる。
なお、リージョンコードを第2記憶部222に記憶させる際、リージョンコードとともにリージョンコードを記憶させたことを示すフラグを記憶させてもよい。
この場合、プログラム処理部206は、上記の確認の際、フラグの有無により、第2記憶部222にリージョンコードが記憶されているか否かを確認することができる。
プログラム処理部206は、リージョンコードを第2記憶部222に書き込んだ後、当該BD再生プログラム、または他のBD再生プログラムに従い、再生部220に対し、当該リージョンコードに応じたコンテンツを再生させる等の制御を行う(S920)。
例えば、BD−ROM104に記録されているコンテンツが当該リージョンコードに対応するものである場合、そのコンテンツを再生させるためのメニュー画面の出力を行う。または、自動的にそのコンテンツの再生を開始する。
また、上記確認の結果、第2記憶部222にリージョンコードが記憶されている場合(S801でYes)、第1記憶部221に記憶されているリージョンコードと、第2記憶部222に記憶されているリージョンコードとを比較することで第1記憶部221に記憶されているリージョンコードの不変性を判定する処理を行う(S900)。
プログラム処理部206は、この比較の結果に応じて、コンテンツの再生に関する異なる動作をBD−ROMプレーヤ1に行わせる制御を行う(S920)。
次に、不変性判定処理(S900)と、不変性判定処理の結果に応じた再生制御処理(S920)の流れを図35を用いて具体的に説明する。
図35は、図34に示す不変性判定処理の流れと、不変性判定処理の結果に応じた再生制御処理の流れとを詳細に示すフロー図である。
プログラム処理部206は、第1記憶部221に記憶されているリージョンコードを読み出す。具体的には第1記憶部221に記憶されているSPRM(20)の値を読み出す(S901)。以下、このSPRM(20)の値をR1とする。
また、第2記憶部222に記憶されているリージョンコード、つまり、以前に第1記憶部221から第2記憶部222にコピーされたリージョンコードを読み出す(S902)。以下、このリージョンコードをR2とする。
さらに、R1とR2とを比較する(S905)。ここで比較の結果、R1とR2とが異なる場合(S905でNo)を想定する。この場合、第1記憶部221に記憶されているR1、つまり、SPRM(20)の値が、BD−ROM104が最初にBD−ROMプレーヤ1に挿入されてから当該比較の時点までの間に変更されたことを意味する。
つまり、BD−ROMプレーヤ1はリージョンコードは固定であるという原則に違反するプレーヤであるということが検出されたことになる。
この場合、プログラム処理部206は、R1とR2とが一致しない場合の処理を行う(S921)。具体的には、BD−ROM104に記録されているコンテンツを再生させないよう再生部220を制御する。
また、当該コンテンツを再生できないことをユーザに通知するためのコンテンツを再生するように再生部220を制御する。
なお、コンテンツを再生できないことをユーザに通知するためのコンテンツとは、本発明の情報記録媒体における第2コンテンツの一例であり、例えば、「リージョンコードが変更されているためTitle#1は再生できません。」という文字を表示する画像コンテンツ、または、このような内容を伝える音声コンテンツ等である。
また、BD−ROM104には、当該BD−ROM104において必須でありメインのコンテンツである映画等のコンテンツに加えて、上記のような、単に情報を通知するためのコンテンツ等が記録されていることが一般的である。そのため、これらを区別するために、映画等のメインのコンテンツを、以下「主コンテンツ」という。主コンテンツは、本発明の情報記録媒体における第1コンテンツの一例である。
また、上記比較の結果、R1とR2とが一致する場合(S905でYes)、プログラム処理部206は、R1とR2とが一致する場合の処理を行う(S922)。
具体的には、主コンテンツが当該リージョンコードに対応するものである場合、プログラム処理部206は、その主コンテンツの再生、または、再生のためのメニュー画面の出力等を行わせるよう再生部220を制御する。
または、主コンテンツが複数あれば、図33を用いて説明したように、複数の中から当該リージョンコードに対応する主コンテンツを選択し、選択した主コンテンツの再生、または、再生のためのメニュー画面の出力を行わせるよう再生部220を制御する。
これら、R1とR2とが一致しない場合の処理内容、および、R1とR2とが一致する場合の処理内容は、BD−ROM104に記録されているBD再生プログラムに依存し、コンテンツ供給者が決定することができる。つまり、コンテンツ供給者の意図に基づいた態様でコンテンツの再生がなされることになる。
なお、上述のリージョンコードの不変性判定処理において、第2記憶部222にリージョンコードが書き込まれた後に、ユーザにより、何らかの手段で第2記憶部222が初期化された場合を想定する。この場合、R1とR2との比較(図35参照)を行うことができないことになる。
そこで、第2記憶部222を初期化させないための処理をBD−ROMプレーヤ1に実行させてもよい。
ここで、映画等の主コンテンツが記録されるBD−ROM104には、一般的に他の映画の予告編や、他の商品の広告映像等の、BD−ROM104にとって必須ではないコンテンツ(以下、「付属コンテンツ」という。)が記録される。
また、これら広告映像等の付属コンテンツは、ユーザは一度視聴すれば再度視聴する必要がないと考えるものがほとんどである。
そこで、第2記憶部222にリージョンコードが記録されていない場合、つまり、BD−ROM104が最初にBD−ROMプレーヤ1に挿入された場合には、プログラム処理部206に、リージョンコードを第2記憶部222に書き込ませるとともに、付属コンテンツを再生させた後に、主コンテンツを再生させるための制御を行わせる。
つまり、第2記憶部222にリージョンコードが書き込まれ保持されている間は、主コンテンツの再生の前に付属コンテンツが自動的には再生されないよう制御される。
そのため、第2記憶部222にリージョンコードが書き込まれた後にBD−ROM104を一旦BD−ROMプレーヤ1から取り出し、再度BD−ROMプレーヤ1に挿入したユーザは、第2記憶部222を初期化していない限り、直ちに主コンテンツを視聴することができる。
逆にいうと、第2記憶部222を初期化すると、主コンテンツの再生前に、再度、付属コンテンツが自動的に再生されることになり、ユーザにとっては煩わしい状況となる。
このように、第2記憶部222におけるリージョンコードの存否に応じた付属コンテンツの再生制御を行うことにより、第2記憶部222にリージョンコードが書き込まれた後に、第2記憶部222が初期化されることを抑止することができ、結果としてリージョンコードの不変性判定が実行される可能性を高めることができる。
また、第2記憶部222に、主コンテンツがどこまで再生されたかを示す情報等の、消去されるとユーザにとって不便になる情報を第2記憶部222に記憶させておいても同様の効果を得ることができる。
なお、これら情報の第2記憶部222に対する読み書きおよび付属コンテンツの再生等の制御は、これらの処理をプログラム処理部206に実行させるBD再生プログラムにより実現される。
また、例えば、映画等の主コンテンツに加え、当該映画等のメイキング映像等の、BD−ROM104のユーザに対する特典としての特典コンテンツをBD−ROM104に記録しておき、この特典コンテンツを第2記憶部222が初期化されることを抑止するためのコンテンツとして使用してもよい。
例えば、BD−ROM104が最初にBD−ROMプレーヤ1に挿入された場合、つまり、第2記憶部222にリージョンコードが記憶されていない状態では、特典コンテンツが再生されないよう、メニュー画面等には現れないようにする。具体的にはこのようなメニュー画面を生成するようにBD再生プログラムを記述しておく。
また、第2記憶部222にリージョンコードが記憶されている場合、つまり、第2記憶部222にリージョンコードが書き込まれた後に第2記憶部222が初期化されていない場合には、主コンテンツおよび特典コンテンツを再生させるための制御をプログラム処理部206に行わせる。
例えば、プログラム処理部206に、特典コンテンツを再生させるボタン等を含むメニュー画面を生成させる。
これにより、第2記憶部222にリージョンコードが書き込まれた後にBD−ROM104を一旦BD−ROMプレーヤ1から取り出し、再度BD−ROMプレーヤ1に挿入したユーザは、第2記憶部222を初期化していない限り、特典コンテンツを視聴することができる。
つまり、ユーザからすると、第2記憶部222を初期化しないことで特典を受けることができる。そのため、このように特典コンテンツを利用することによっても、ユーザにより第2記憶部222が初期化されることを抑止することができ、結果としてリージョンコードの不変性判定が実行される可能性を高めることができる。
また、図34および図35を用いて、リージョンコードの不変性判定、つまり、リージョンコードが以前のものと一致するか否かを判定する際の処理について説明した。しかし、リージョンコードの不変性を判定するのではなく、第1記憶部221に記憶されているリージョンコード自体が、規格に定められた正規なものであるか否かを判定し、判定結果に基づいて、その後の処理内容を変更してもよい。
そこで、次に、リージョンコードが正規なものであるか否かを判定(正当性判定)する場合の処理の流れについて説明する。
あるBD−ROMプレーヤにおいて、SPRM(20)に正規ではない値が格納されている場合、つまりリージョンコードが正規ではない値である場合、当該BD−ROMプレーヤの属する地域向けのコンテンツは再生されない。また、当該地域向けではないコンテンツが誤って再生される可能性がある。
以下に、このような状況の発生を防止するために、BD−ROMプレーヤ1に記録されているリージョンコードが正規な値であるか否かを判定するためのBD再生プログラムについて述べる。
図36は、リージョンコードの正当性を判定し、判定結果に基づいてBD−ROMプレーヤ1を制御するためのBD再生プログラムにおける処理フローを示す図である。
BD−ROMプレーヤ1は、BD−ROM104が挿入されると、BD−ROM104に記憶されているBD再生プログラムを読み出す。また当該BD再生プログラムを処理することにより、リージョンコードが正規の値であるか否かに応じて、コンテンツの再生に関する異なる動作を行う。具体的な動作は以下のようになる。
プログラム処理部206は、第1記憶部221に記憶されているSPRM(20)の値を読み出し、予め定められた正規の値と比較する(S910)。
ここで、図32に示すように、“0000 0001b”、“0000 0010b”、および“0000 0100b”が正規な値、つまりリージョンコードとしてとり得る値として定められている場合を想定する。
この場合、BD再生プログラムには例えば図36に示すような記述箇所があり、SPRM(20)の値が、上記の“0000 0001b”等の3つの値のうちのいずれか1つであれば(S910でYes)、当該SPRM(20)の値、つまり当該リージョンコードは正規な値である。
この場合、プログラム処理部206は、当該リージョンコードに対応する主コンテンツの再生等がされるように再生部220を制御する(S912)。
また、当該リージョンコードが、上記3つの正規な値のうちのいずれとも一致しなければ、当該リージョンコードは、不正なリージョンコードである。
この場合、プログラム処理部206は、主コンテンツの再生は行わず、例えば、「リージョンコードが正規なものでないためTitle#1は再生できません。」という文字を表示する画像コンテンツ、または、このような内容を伝える音声コンテンツ等を再生する(S911)。
このように、第1記憶部221に記憶されているリージョンコードが正規の値ではない場合に、当該リージョンコードに基づいて主コンテンツが再生されないようにすることができる。
また、このようなリージョンコードの正当性判定は、BD−ROM104に記録されたBD再生プログラムにより実現されるため、コンテンツ供給者が、このような判定をどのタイミングで行うか、および正規の値としてどのような範囲の値を持たせるか等を決定できる。
なお、図36では、リージョンコードの正当性判定についてのみ説明した。しかし、BD再生プログラムは、図34に示す一連の処理に加えて、この正当性判定処理をBD−ROMプレーヤ1に実行させるものであってもよい。
図37は、リージョンコードの不変性判定処理の前にリージョンコードの正当性判定処理を行う場合のBD再生プログラムにおける処理フローの一例を示す図である。以下に、図37に示す処理フローにおいて特徴的な処理を中心に説明する。
プログラム処理部206は、第1記憶部221に記憶されているリージョンコード、つまりSPRM(20)の値を読み出し、正規の値であるか否かを判定する(S800)。
当該リージョンコードが正規の値であれば(S800でYes)、図34を用いて説明したように、プログラム処理部206により、第2記憶部222にリージョンコードが記憶されている否かの確認(S801)が行われ、以降、図34を用いて説明した処理の流れとなる。
また、第1記憶部221に記憶されているリージョンコードが正規の値でなければ(S800でNo)、上記の確認(S801)は行われず、プログラム処理部206により、コンテンツの再生制御が実行される(S920)。
具体的には、リージョンコードが正規の値でないため、上述のように、主コンテンツの再生は行わないよう再生部220が制御される。また、その旨をユーザに通知する画像コンテンツ等が再生されるよう再生部220が制御される。
このように、リージョンコードの不変性判定のための処理(S801、S900等)を行う前に、リージョンコードの正当性を判定することで、不正なリージョンコードに基づいて不変性判定処理が行われるなどの不要な処理が発生することを防ぐことができる。
また、BD再生プログラムは、不変性判定処理(S900)の中で、リージョンコードの正当性判定を行うものであってもよい。
図38は、リージョンコードの不変性判定処理の中でリージョンコードの正当性判定を行う場合のBD再生プログラムにおける処理フローの一例を示す図である。
つまり、図38は、図35に示す一連の処理フローにリージョンコードの正当性判定処理を取り込んだ場合の処理フローの一例を示している。以下に、図38に示す処理フローにおいて特徴的な処理を中心に説明する。
プログラム処理部206は、第1記憶部221に記憶されているリージョンコード(R1)を読み出し(S901)、読み出したR1が正規の値であるか否かを判定する(S903)。
この判定の結果、R1が正規の値でなければ(S903でNo)、プログラム処理部206は、主コンテンツが再生されないよう再生部220を制御する。また、その旨をユーザに通知する画像コンテンツ等が再生されるよう再生部220を制御する(S923)。
また、上記の判定の結果、R1が正規の値であれば(S903でYes)、第2記憶部222に記憶されているリージョンコード(R2)を読み出す(S904)。
その後、図35の説明で述べたように、R1とR2とが比較され(S905)、一致するか否かに応じてコンテンツの再生に関する処理(S921またはS922)が実行される。
このように、BD再生プログラムを、リージョンコードの不変性判定および正当性判定をBD−ROMプレーヤ1に実行させるよう記述してもよい。
また、その順番は、図37または図38に示す順番でなくてもよい。例えば、不変性判定処理(S900)の後に正当性判定処理をBD−ROMプレーヤ1に実行させてもよい。
いずれの場合であっても、結果として、第1記憶部221のリージョンコード、つまりSPRM(20)の値が変更されておらず、かつ、正規の値である場合にのみ、当該リージョンコードに基づく適切なコンテンツ再生が実行されることになる。
以上述べたように、本実施の形態のBD−ROM104には、BD−ROMプレーヤ1に記録されている設定値が以前のものと一致するか否かに基づいて再生に関する動作を行わせるBD再生プログラムが記録されている。
具体的には、当該BD再生プログラムに従って処理を実行するプログラム処理部206により、システムパラメータの一つであるSPRM(20)の値、つまりリージョンコードが以前のものと一致するか否かが判定される。また、判定結果に基づいて、BD−ROMプレーヤ1に主コンテンツを再生させるか否か等を決定することができる。
つまり、ある時点でのリージョンコードが、以前のリージョンコードから変更されている場合に、変更後のリージョンコードに基づいてコンテンツの再生制御が行われることを防ぐことができる。
すなわち、BD−ROMプレーヤ1に、初期に設定された適正なリージョンコードに基づいてコンテンツの再生制御を行わせることが可能となる。またこのような再生制御を実現するBD再生プログラムは、コンテンツ供給者が作成しBD−ROM104に記録することができるものである。
さらに、この判定に必要な、当該BD再生プログラムを実行する機能(例えばプログラム処理部206)、およびSPRM(20)の値を別途保持しておくための第2記憶部222(例えばハードディスク)は、BD−ROMプレーヤが標準的に備えているものである。つまり、この判定の実行に特別なハードウェアは要求されない。
従って、本実施の形態のBD−ROM104は、本実施の形態のBD−ROMプレーヤ1のみならず、あらゆるBD−ROMプレーヤに、コンテンツ供給者の意図に基づいた適正な態様でのコンテンツの再生を行わせることができる。
また、BD−ROMプレーヤ1のリージョンコードが正規の値であるか否かを判定することもできる。これにより、ある時点でのリージョンコードが正規の値でない場合、その正規の値ではないリージョンコードに基づいてコンテンツの再生制御が行われることを防ぐことができる。
また、リージョンコードの不変性判定および正当性判定は、主コンテンツの再生に関する動作を開始する前に、いずれか一方のみを実行してもよく、双方を実行してもよい。
さらに、リージョンコードの不変性判定および正当性判定の双方を実行する場合は、いずれの判定処理が先であってもよい。
また、リージョンコードの不変性判定または正当性判定の前に、BD−ROM104に記憶されている主コンテンツが、BD−ROMプレーヤ1のリージョンコード、つまり、SPRM(20)の値に対応するものであるか否かを判定してもよい。
例えば、BD−ROM104に複数の主コンテンツが記憶されており、そのいずれもがSPRM(20)の値に対応するものでない場合、再生の対象となる主コンテンツがBD−ROM104に含まれていないことになる。
この場合は、リージョンコードの不変性判定および正当性判定を行わなくてもよい。つまり、再生の対象となる主コンテンツがある場合にのみ、リージョンコードの不変性判定または正当性判定を行えばよい。
これにより、結局は主コンテンツが再生されない場合にも、リージョンコードの不変性判定等が行われるといった不要な処理が発生することがない。
このように、適切な態様でのコンテンツの再生が行われるための各処理は、コンテンツ供給者が作成するBD再生プログラムにより実現されるものであり、各処理をどのように組み合わせてどのような順番で行うかは、コンテンツ供給者が適宜決定することができる。
また、本実施の形態において、第1記憶部221に記憶されているリージョンコードを第2記憶部222に書き込む前に、第2記憶部222にリージョンコードが記憶されているか否かを確認するとした(図34のS801)。
しかしながら、この確認を行わなくてもよい。例えば、第2記憶部222に複数のリージョンコードを記憶可能な領域を確保しておき、BD−ROM104がBD−ROMプレーヤ1に挿入されるたびに、第1記憶部221に記憶されているリージョンコードを当該領域に順次追加していく。
また、リージョンコードの比較(図35のS905)を行う際には、例えば第2記憶部222に最初に書き込まれたリージョンコードと、第1記憶部221に記憶されているリージョンコードとを比較する。
このような動作によっても、第1記憶部221に記憶されているリージョンコード、つまりSPRM(20)の値が以前の値から変更されたか否かを判定することができる。
また、第1記憶部221に記憶されているリージョンコードを第2記憶部222に書き込むタイミングも、BD−ROM104がBD−ROMプレーヤ1に挿入され、主コンテンツの再生に関する動作制御(図34のS920)の開始前の一回のみでなくてもよい。
例えば、不変性判定(図34のS900)の結果、SPRM(20)の値が以前の値から変更されていない場合に、さらに、当該SPRM(20)の値を第2記憶部222に書き込んでもよい。
また、通常は、確認(図34のS801)の結果、第2記憶部222にリージョンコードが記憶されていない場合にのみSPRM(20)の値を第2記憶部222に書き込み、一ヶ月ごと等の所定の期間の経過ごとに、SPRM(20)の値が以前の値から変更されていない場合、さらに当該SPRM(20)の値を第2記憶部222に書き込むとしてもよい。
いずれの動作においても、変更されていない適正なSPRM(20)の値が第2記憶部222に書き込まれるだけであり、その後の不変性判定の結果に影響を与えることはない。
また、複数枚のBD−ROM104が第2記憶部222に記憶されているリージョンコードを共有してもよい。
例えば、BD−ROM104aおよびBD−ROM104bのそれぞれに記録されているBD再生プログラムが、第2記憶部222の同じ領域にSPRM(20)の値を書き込む場合を想定する。
この場合、BD−ROM104aのBD再生プログラムによって第2記憶部222に書き込まれたSPRM(20)の値を、BD−ROM104bのBD再生プログラムが利用することができる。
つまり、BD−ROM104bより先にBD−ROM104aがBD−ROMプレーヤ1に挿入された場合は、BD−ROM104aのBD再生プログラムによって第2記憶部222にリージョンコードを示すSPRM(20)の値が書き込まれることになる。
従って、その後にBD−ROM104bがBD−ROMプレーヤ1に挿入された際に第2記憶部222にSPRM(20)の値を書き込む処理(図34のS803)は不要であり、不変性判定処理(図34のS900)が実行されることになる。
また、SPRM(20)以外のシステムパラメータの不変性等を判定し、その結果に基づいてBD−ROMプレーヤ1の動作を制御してもよい。
また、リージョンコード等の複数種のシステムパラメータの不変性を判定し、いずれのパラメータも以前の値から変更されていない場合のみ、各パラメータに基づく再生制御を行わせるとしてもよい。
つまり、本発明の情報記録媒体における設定値はリージョンコードに限られず、システムパラメータとして再生装置に設定され、本来的には変更されることのない値であればよい。
このような設定値が変更されているということは、当該設定値が本来的には正しい値ではないことを意味し、何の対策もとらなければ、本来的には正しくない設定値に基づいて、主コンテンツの再生の可否、または、再生される主コンテンツの選択等が行われることになる。
しかしながら、本実施の形態のBD−ROM104に記録されているBD再生プログラムは、プログラム処理部206に、設定値の不変性を判定させ、設定値が変更されていれば主コンテンツが再生されないよう再生部220を制御させる。
これにより、変更された後の設定値に基づいて、主コンテンツが再生されることを防ぐことができる。
本発明の情報記録媒体および再生制御方法によれば、映画、ドラマおよび音楽等のコンテンツを供給するコンテンツ供給者は、自己のコンテンツを自己の意図が反映された適切な態様で再生させることが可能となる。そのため、本発明は、これらコンテンツを広く一般に供給するための情報記録媒体、および、これらコンテンツを適切な態様で再生させるための再生制御方法として有用である。
図1は、SD−DVDの構造を示す図である。 図2は、AVデータであるMPEGストリーム中に埋め込まれているナビゲーション情報を説明する概要図である。 図3は、DVDにおけるVOBの構成を示す概要図である。 図4は、BD−ROMのデータ階層を示す図である。 図5は、BD−ROMに記録されている論理データの構造を示す図である。 図6は、BD−ROMを再生するBD−ROMプレーヤの基本的な構成の概要を示す図である。 図7は、図6に示すプレーヤの構成を詳細化したブロック図である。 図8は、BD−ROMのアプリケーション空間を示す図である。 図9は、MPEGストリーム(VOB)の構成を示す図である。 図10は、MPEGストリームにおけるパックの構成を示す図である。 図11は、AVデータとプレーヤ構成との関係を説明するための図である。 図12は、トラックバッファを使ったVOBデータ連続供給モデルを説明するための図である。 図13は、VOB管理情報ファイルの内部構造を示す図である。 図14は、VOBU情報の詳細を説明するための図である。 図15は、タイムマップを使ったアドレス情報取得方法を説明するための図である。 図16は、プレイリストの構成を示す図である。 図17は、イベントハンドラテーブルの構成を示す図である。 図18は、BD−ROM全体情報であるBD.INFOの構成を示す図である。 図19は、グローバルイベントハンドラテーブルの構成を示す図である。 図20は、タイムイベントの例を示す図である。 図21は、ユーザのメニュー操作によるユーザイベントの例を示す図である。 図22は、グローバルイベントの例を示す図である。 図23は、プログラムプロセッサの機能的な構成を説明するための図である。 図24は、システムパラメータ(SPRM)の一覧を示す図である。 図25は、2つの選択ボタンを持つメニュー画面の制御に係るイベントハンドラにおけるプログラムの例を示す図である。 図26は、メニュー選択のユーザイベントに係るイベントハンドラにおけるプログラムの例を示す図である。 図27は、BD−ROMプレーヤにおけるAVデータ再生の基本処理の流れを示すフローチャートである。 図28は、BD−ROMプレーヤにおけるプレイリスト再生開始からVOB再生終了までの処理の流れを示すフローチャートである。 図29(A)は、BD−ROMプレーヤにおけるタイムイベントに係る処理の流れを示すフローチャートであり、図29(B)は、BD−ROMプレーヤにおけるユーザイベントに係る処理の流れを示すフローチャートである。 図30は、BD−ROMプレーヤにおける字幕データの処理の流れを示すフローチャートである。 図31は、実施の形態2におけるBD−ROMプレーヤの主要な機能構成を示す機能ブロック図である。 図32は、リージョンコードの例を示す図である。 図33は、BD−ROMプレーヤのリージョンコードに応じて、再生するコンテンツを切り替えるためのプログラムの概要を示す図である。 図34は、実施の形態2におけるBD再生プログラムに基づくBD−ROMプレーヤ1の動作の概要を示す図である。 図35は、図34に示す不変性判定処理および再生制御処理の流れを示すフロー図である。 図36は、リージョンコードの正当性を判定し、判定結果に基づいてBD−ROMプレーヤを制御するためのBD再生プログラムにおける処理フローを示す図である。 図37は、リージョンコードの不変性判定処理の前にリージョンコードの正当性判定処理を行う場合のBD再生プログラムにおける処理フローの一例を示す図である。 図38は、リージョンコードの不変性判定処理の中でリージョンコードの正当性判定を行う場合のBD再生プログラムにおける処理フローの一例を示す図である。
符号の説明
1 BD−ROMプレーヤ
104 BD−ROM
202 光ピックアップ
203 プログラム記録メモリ
204 管理情報記録メモリ
205 AV記録メモリ
206 プログラム処理部
207 管理情報処理部
208 プレゼンテーション処理部
209 イメージプレーン
210 ビデオプレーン
211 合成処理部
220 再生部
221 第1記憶部
222 第2記憶部
302 プログラムプロセッサ
303 UOマネージャ
305 シナリオプロセッサ
306 プレゼンテーションコントローラ
307 クロック
308 イメージメモリ
309 トラックバッファ
310 デマルチプレクサ
311 イメージプロセッサ
312 ビデオプロセッサ
313 サウンドプロセッサ
317 ドライブコントローラ
S801 確認ステップ
S802 読み出しステップ
S803 書き込みステップ
S900 不変性判定ステップ
S910 正当性判定ステップ
S920 再生制御ステップ

Claims (14)

  1. 再生装置により再生可能な第1コンテンツと、前記再生装置により実行されるプログラムとが記録された情報記録媒体であって、
    前記再生装置には、前記再生装置に設定された設定値を記憶している第1記憶手段と、前記プログラムを実行する実行手段と、前記実行手段が情報を読み書き可能な第2記憶手段とが備えられており、
    前記プログラムは、
    前記第1記憶手段に記憶されている設定値を前記第2記憶手段に書き込む第1記憶ステップと、
    前記第1記憶手段に記憶されている設定値と、前記第2記憶手段に以前に書き込まれた設定値とを比較する比較ステップと、
    前記比較ステップにおける比較の結果、前記第1記憶手段に記憶されている設定値と、前記第2記憶手段に以前に書き込まれた設定値とが異なる場合、前記第1コンテンツの再生を前記再生装置に行わせない制御ステップと
    を前記実行手段に実行させるためのプログラムである
    情報記録媒体。
  2. 前記設定値は、前記再生装置の流通先となるべき地域を識別する情報であるリージョンコードである
    請求項1記載の情報記録媒体。
  3. 前記制御ステップでは、前記比較ステップにおける比較の結果、前記第1記憶手段に記憶されているリージョンコードと、前記第2記憶手段に以前に書き込まれたリージョンコードとが一致し、かつ、前記第1コンテンツが前記第1記憶手段に記憶されているリージョンコードに対応するものである場合、前記再生装置に前記第1コンテンツを再生させるための制御を行う
    請求項2記載の情報記録媒体。
  4. 前記プログラムはさらに、前記第1記憶ステップにおいて前記第2記憶手段に設定値が書き込まれる前に、前記第2記憶手段に設定値が記憶されているか否かを確認する確認ステップを含み、
    前記第1記憶ステップでは、前記確認ステップにおける確認の結果、前記第2記憶手段に設定値が記憶されていない場合、前記第1記憶手段に記憶されている設定値を前記第2記憶手段に書き込み、
    前記比較ステップでは、前記確認ステップにおける確認の結果、前記第2記憶手段に設定値が記憶されている場合、前記以前に書き込まれた設定値である、前記第2記憶手段に記憶されている設定値と、前記第1記憶手段に記憶されている設定値とを比較する
    請求項1記載の情報記録媒体。
  5. 前記第1記憶ステップでは、前記確認ステップにおける確認の結果、前記第2記憶手段に設定値が記憶されている場合、前記第1記憶手段に記憶されている設定値を前記第2記憶手段に書き込まない
    請求項4記載の情報記録媒体。
  6. 前記情報記録媒体にはさらに、前記情報記録媒体のユーザに対する特典としての特典コンテンツが記録されており、
    前記制御ステップでは、前記確認ステップにおける確認の結果、前記第2記憶手段に設定値が記憶されており、かつ、前記比較ステップにおける比較の結果、前記第1記憶手段に記憶されている設定値と、前記第2記憶手段に記憶されている設定値とが一致する場合、前記再生装置に、前記第1コンテンツおよび前記特典のコンテンツの再生を行わせるための制御を行う
    請求項4記載の情報記録媒体。
  7. 前記情報記録媒体にはさらに、付属コンテンツが記録されており、
    前記第1コンテンツは前記情報記録媒体に必須のコンテンツであるのに対し、前記付属コンテンツは前記情報記録媒体に必須のコンテンツではなく、
    前記制御ステップでは、前記確認ステップにおける確認の結果、前記第2記憶手段に設定値が記憶されていない場合、前記再生装置に、前記付属コンテンツの再生を行わせた後に前記第1コンテンツの再生を行わせるための制御を行う
    請求項4記載の情報記録媒体。
  8. 前記第1記憶手段に記憶されている設定値について、前記設定値としてとり得る所定の値が予め定められており、
    前記プログラムはさらに、前記第1記憶手段に記憶されている設定値が所定の値であるか否かの判定を行う判定ステップを含み、
    前記制御ステップではさらに、前記判定ステップにおける判定の結果、前記第1記憶手段に記憶されている設定値が前記所定の値ではない場合、前記第1コンテンツの再生を前記再生装置に行わせない
    請求項1記載の情報記録媒体。
  9. 前記情報記録媒体にはさらに、前記第1コンテンツの再生が行われない場合にその旨を前記再生装置のユーザに通知するための第2コンテンツが記録されており、
    前記制御ステップでは、前記再生装置に前記第1コンテンツの再生を行わせない場合、前記第2コンテンツを前記再生装置に再生させる
    請求項1記載の情報記録媒体。
  10. 前記プログラムはさらに、前記比較ステップにおける比較の結果、前記第1記憶手段に記憶されている設定値と、前記第2記憶手段に以前に記憶された設定値とが一致する場合、前記第1記憶手段に記憶されている設定値を前記第2記憶手段に書き込む第2記憶ステップを含む
    請求項1記載の情報記録媒体。
  11. 前記第2記憶手段は、ハードディスクまたは不揮発メモリである
    請求項1記載の情報記録媒体。
  12. 情報記録媒体に記憶されているコンテンツを再生するための再生装置であって、
    前記情報記録媒体にはさらに、前記再生装置により実行されるプログラムが記録されており、
    前記再生装置は、前記再生装置に設定された設定値を記憶している第1記憶手段と、前記プログラムを実行する実行手段と、前記実行手段が情報を読み書き可能な第2記憶手段とを備え、
    前記実行手段は、前記プログラムを読み込んで処理することにより、
    前記第1記憶手段に記憶されている設定値を前記第2記憶手段に書き込む記憶ステップと、
    前記第1記憶手段に記憶されている設定値と、前記第2記憶手段に以前に書き込まれた設定値とを比較する比較ステップと、
    前記比較ステップにおける比較の結果、前記第1記憶手段に記憶されている設定値と、前記第2記憶手段に以前に書き込まれた設定値とが異なる場合、前記コンテンツの再生を前記再生装置に行わせない制御ステップとを実行する
    再生装置。
  13. 情報記録媒体に記憶されているコンテンツを再生するための再生装置におけるコンテンツの再生を制御する再生制御方法であって、
    前記情報記録媒体にはさらに、前記再生装置により実行されるプログラムが記録されており、
    前記再生装置には、前記再生装置に設定された設定値を記憶している第1記憶手段と、
    前記プログラムを実行する実行手段と、前記実行手段が情報を読み書き可能な第2記憶手段とが備えられており、
    前記再生制御方法は、
    前記実行手段が、前記プログラムに従って、
    前記第1記憶手段に記憶されている設定値を前記第2記憶手段に書き込む第1記憶ステップと、
    前記第1記憶手段に記憶されている設定値と、前記第2記憶手段に以前に書き込まれた設定値とを比較する比較ステップと、
    前記比較ステップにおける比較の結果、前記第1記憶手段に記憶されている設定値と、前記第2記憶手段に以前に書き込まれた設定値とが異なる場合、前記コンテンツの再生を前記再生装置に行わせない制御ステップとを含む
    再生制御方法。
  14. 情報記録媒体に記憶されているコンテンツを再生するための再生装置によって実行されるプログラムであって、
    前記再生装置には、前記再生装置に設定された設定値を記憶している第1記憶手段と、
    前記プログラムを実行する実行手段と、前記実行手段が情報を読み書き可能な第2記憶手段とが備えられており、
    前記プログラムは、
    前記第1記憶手段に記憶されている設定値を前記第2記憶手段に書き込む第1記憶ステップと、
    前記第1記憶手段に記憶されている設定値と、前記第2記憶手段に以前に書き込まれた設定値とを比較する比較ステップと、
    前記比較ステップにおける比較の結果、前記第1記憶手段に記憶されている設定値と、前記第2記憶手段に以前に書き込まれた設定値とが異なる場合、前記コンテンツの再生を前記再生装置に行わせない制御ステップとを
    前記実行手段に実行させるためのプログラム。
JP2007557780A 2006-02-09 2007-01-24 情報記録媒体および情報記録媒体再生システム Expired - Fee Related JP5295572B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007557780A JP5295572B2 (ja) 2006-02-09 2007-01-24 情報記録媒体および情報記録媒体再生システム

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2006032986 2006-02-09
JP2006032986 2006-02-09
JP2007557780A JP5295572B2 (ja) 2006-02-09 2007-01-24 情報記録媒体および情報記録媒体再生システム
PCT/JP2007/051074 WO2007091426A1 (ja) 2006-02-09 2007-01-24 情報記録媒体および再生制御方法

Publications (2)

Publication Number Publication Date
JPWO2007091426A1 true JPWO2007091426A1 (ja) 2009-07-02
JP5295572B2 JP5295572B2 (ja) 2013-09-18

Family

ID=38345031

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007557780A Expired - Fee Related JP5295572B2 (ja) 2006-02-09 2007-01-24 情報記録媒体および情報記録媒体再生システム

Country Status (3)

Country Link
US (1) US20090034942A1 (ja)
JP (1) JP5295572B2 (ja)
WO (1) WO2007091426A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010262717A (ja) * 2009-05-11 2010-11-18 Mitsubishi Electric Corp 記録媒体、再生装置、及び再生方法
KR102515891B1 (ko) * 2018-06-11 2023-03-29 삼성전자주식회사 전자장치, 그 제어방법 및 기록매체

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997007504A1 (fr) * 1995-08-21 1997-02-27 Matsushita Electric Industrial Co., Ltd. Disque optique multimedia capable de creer des situations tout a fait inattendues sur la base de l'interactivite, appareil et procede de reproduction de ce disque
JP2813245B2 (ja) * 1995-08-21 1998-10-22 松下電器産業株式会社 光ディスクの再生装置及び再生方法
TW561471B (en) * 2000-01-07 2003-11-11 Matsushita Electric Ind Co Ltd Information recording disc and information reproducing system
KR100367295B1 (ko) * 2000-03-13 2003-01-09 엘지전자 주식회사 광디스크 구동장치의 지역정보 기록장치 및 기록방법
KR20030007706A (ko) * 2001-04-02 2003-01-23 마츠시타 덴끼 산교 가부시키가이샤 디지털 영상 콘텐츠의 영상재생 장치, 영상재생 방법,영상재생 프로그램, 패키지 미디어
JP4197881B2 (ja) * 2002-03-27 2008-12-17 三洋電機株式会社 記録媒体再生装置
JP3837427B2 (ja) * 2002-09-12 2006-10-25 松下電器産業株式会社 記録媒体、再生装置、プログラム、再生方法、記録方法
KR100957799B1 (ko) * 2003-03-06 2010-05-13 엘지전자 주식회사 대화형 디스크의 재생환경 설정방법
US20050071663A1 (en) * 2003-09-26 2005-03-31 General Instrument Corporation Separation of copy protection rules for digital rights management
US7765158B2 (en) * 2004-01-27 2010-07-27 Panasonic Corporation Playback apparatus and server apparatus
JP2005353192A (ja) * 2004-06-11 2005-12-22 Ricoh Co Ltd 情報再生装置
JP2006004376A (ja) * 2004-06-21 2006-01-05 Ricoh Co Ltd 情報再生装置
WO2006085647A1 (ja) * 2005-02-14 2006-08-17 Matsushita Electric Industrial Co., Ltd. アプリケーション実行装置、管理方法、プログラム
JP4464297B2 (ja) * 2005-03-10 2010-05-19 パナソニック株式会社 再生装置、再生方法、及び再生プログラム
KR20060120396A (ko) * 2005-05-20 2006-11-27 엘지전자 주식회사 기록매체, 데이터 재생방법 및 재생장치
US7646683B2 (en) * 2006-06-27 2010-01-12 Lg Electronics Inc. Adjustment of regional code information

Also Published As

Publication number Publication date
JP5295572B2 (ja) 2013-09-18
US20090034942A1 (en) 2009-02-05
WO2007091426A1 (ja) 2007-08-16

Similar Documents

Publication Publication Date Title
JP6227828B2 (ja) 再生装置および再生方法
JP6487514B2 (ja) 再生装置、および再生方法
JP6466258B2 (ja) 再生装置、再生方法および記録媒体
JP6272534B2 (ja) 再生方法、および再生装置
JP2007036663A (ja) 互換性を考慮した情報記録媒体およびその記録装置、記録方法、記録プログラム
JP5295572B2 (ja) 情報記録媒体および情報記録媒体再生システム
JP2007133938A (ja) オーディオミキシング出力の可否を示すフラグを持った情報記録媒体、および、その再生装置、再生方法
JP2006244654A (ja) ディスクプレーヤからの印刷方法
US20090238545A1 (en) Reproducing device and program
JP2007048383A (ja) 情報記録媒体およびその記録装置、記録方法、記録プログラム
WO2016021120A1 (ja) 再生装置、再生方法および記録媒体
JP2007018623A (ja) 情報記録媒体、およびその再生装置、再生方法。
WO2006090664A1 (ja) 情報記録媒体、再生装置および再生方法
JP2007011899A (ja) 宣言型言語で記述された再生制御環境の起動条件を考慮した情報記録媒体およびその再生装置、再生方法。
JP2007235185A (ja) ランダムアクセスに適した情報記録媒体、およびその記録/再生装置、記録/再生方法
JP6591202B2 (ja) 記録媒体、再生装置およびその方法
JP2006244655A (ja) 再生装置および再生方法
JP2019067481A (ja) 記録媒体
WO2016009606A1 (ja) 記録媒体、再生装置およびその方法
JP2006013726A (ja) 情報記録媒体、およびその記録/再生装置、記録/再生方法
JP2006236453A (ja) 情報記録媒体およびその再生装置、再生方法。
JP2006228339A (ja) 宣言型言語で記述された再生制御環境のリソース管理を考慮した情報記録媒体およびその再生装置、再生方法
JP2006073127A (ja) ランダムアクセスに適した情報記録媒体、およびその記録/再生装置、記録/再生方法
JP2007049461A (ja) 情報記録媒体、情報記録装置およびその方法
JP2007012217A (ja) 情報記録媒体およびその再生装置、再生方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091207

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111115

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120112

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120207

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120306

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20120409

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20120420

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130416

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130612

R150 Certificate of patent or registration of utility model

Ref document number: 5295572

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees