JP5034424B2 - 再生装置および再生方法 - Google Patents

再生装置および再生方法 Download PDF

Info

Publication number
JP5034424B2
JP5034424B2 JP2006277368A JP2006277368A JP5034424B2 JP 5034424 B2 JP5034424 B2 JP 5034424B2 JP 2006277368 A JP2006277368 A JP 2006277368A JP 2006277368 A JP2006277368 A JP 2006277368A JP 5034424 B2 JP5034424 B2 JP 5034424B2
Authority
JP
Japan
Prior art keywords
command
button
executed
state
stream
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.)
Active
Application number
JP2006277368A
Other languages
English (en)
Other versions
JP2008097691A (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.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2006277368A priority Critical patent/JP5034424B2/ja
Priority to US11/867,490 priority patent/US20080134097A1/en
Priority to TW096137889A priority patent/TWI384396B/zh
Priority to DE602007012630T priority patent/DE602007012630D1/de
Priority to AT07118190T priority patent/ATE499681T1/de
Priority to EP07118190A priority patent/EP1912220B1/en
Priority to CN2007101861756A priority patent/CN101221792B/zh
Publication of JP2008097691A publication Critical patent/JP2008097691A/ja
Application granted granted Critical
Publication of JP5034424B2 publication Critical patent/JP5034424B2/ja
Active 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
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/34Indicating arrangements 
    • 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/32Indexing; 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 separate auxiliary tracks of the same or an auxiliary record carrier
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23614Multiplexing of additional data and video streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4348Demultiplexing of additional data and video streams
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Management Or Editing Of Information On Record Carriers (AREA)
  • Indexing, Searching, Synchronizing, And The Amount Of Synchronization Travel Of Record Carriers (AREA)
  • Optical Recording Or Reproduction (AREA)

Description

この発明は、ブルーレイディスク(Blu-ray Disc)といった大容量の記録媒体に記録されたコンテンツに対する、ユーザによるインタラクティブな操作の操作性を向上させるような再生装置および再生方法に関する。
近年、記録可能で記録再生装置から取り外し可能なディスク型記録媒体の規格として、Blu−ray Disc(ブルーレイディスク:登録商標)規格が実用化されている。Blu−ray Disc規格では、記録媒体として直径12cm、カバー層0.1mmのディスクを用い、光学系として波長405nmの青紫色レーザ、開口数0.85の対物レンズを用いて、最大で27GB(ギガバイト)の記録容量を実現している。これにより、日本のBSディジタルハイビジョン放送を、画質を劣化させることなく2時間以上記録することが可能である。
この記録可能光ディスクに記録するAV(Audio/Video)信号のソース(供給源)としては、従来からの、例えばアナログテレビジョン放送によるアナログ信号によるものと、例えばBSディジタル放送をはじめとするディジタルテレビジョン放送によるディジタル信号によるものとが想定されている。Blu−ray Disc規格では、これらの放送によるAV信号を記録する方法を定めた規格は、既に作られている。
一方で、現状のBlu−ray Discの派生規格として、映画や音楽などが予め記録された、再生専用の記録媒体を開発する動きが進んでいる。映画や音楽を記録するためのディスク状記録媒体としては、既にDVD(Digital Versatile Disc)が広く普及しているが、このBlu−ray Discの規格に基づいた再生専用光ディスクは、Blu−ray Discの大容量および高速な転送速度などを活かし、ハイビジョン映像を高画質なままで2時間以上収録できる点が、既存のDVDとは大きく異なり、優位である。
ところで、ディスクに映画などのコンテンツを記録して、パッケージメディアとして販売等を行う場合、コンテンツに伴う様々なプログラムの実行などを制御するためのユーザインターフェイスをコンテンツと共にディスクに記録することが行われる。代表的なユーザインターフェイスとしては、メニュー表示が挙げられる。一例として、メニュー表示においては、機能を選択するためのボタンがボタン画像として用意され、所定の入力手段によりボタンを選択し決定することで、当該ボタンに割り当てられた機能が実行されるようになっている。
ボタンは、一般的には、そのボタンが選択された状態になっている選択状態と、コマンドが関連付けられ所定の機能の実行が指示された状態の実行状態と、選択状態にも実行状態にもなっていない通常状態の3状態が定義される。例えば、プレーヤに対応したリモートコントロールコマンダに設けられた十字キーなどを用いて、画面に表示されたボタンを選択状態とし、決定キーを操作することで、ボタンの状態が例えば選択状態から実行状態に遷移し、当該ボタンに関連付けられたコマンドが実行され、当該コマンドにより所定の機能が実現される。
このボタンの機能により、例えばシーン選択メニューの操作や字幕の選択、字幕のON/OFF、音声言語の切り換えといった様々な機能を、動画データの再生を止めることなく実現することが可能とされる。
特許文献1には、ブルーレイディスクにおいて、このようなボタン画像を用いたメニュー表示を実現するための技術が記載されている。
特開2004−304767号公報
なお、ボタンなどメニュー表示を行うためのデータが格納されるストリームは、主として再生される動画データに対して関連付けられる副ストリームに格納される。副ストリームは、1の動画データに対して複数を対応付けることが可能である。
ボタンに関連付けられるコマンドは、表記上において所定のデリミタで区切って並べられ、指定された順に逐次的に実行される。条件分岐を用いることもできる。例えば、1の系列において、第1のコマンド以降に記述された第2のコマンドは、時系列的に、第1のコマンドの次に実行される。コマンドには、命令間の矛盾の回避や、機能的な問題など様々な理由により、幾つかの制限が設けられる。メニュー表示におけるボタンに関連付けられるコマンドについては、例えば、下記の各コマンド以降に記述されたコマンドは、実行されないという制限が設けられる。
(a)再生位置を変更するコマンド。
(b)現在メニュー表示を行っている副ストリームを、別の副ストリームへと切り換えるコマンド。
(c)ポップアップメニューをOFFとするコマンド。
(d)デフォルトボタン設定およびページ切り換えが可能なコマンド。
これらのうち、(a)再生位置の変更コマンド、(b)副ストリーム切り換えのコマンド、ならびに、(c)ポップアップメニューOFFのコマンドは、実行後にコマンドが格納されるストリーム自体が切り換えられてしまう可能性があるので、これら3種類のコマンド以降のコマンドを実行しないものとする。
なお、ポップアップメニューは、例えばリモートコントロールコマンダの所定のキーの操作に応じて、表示/非表示(ON/OFF)が制御できるメニュー表示である。
また、メニュー表示は、複数ページを用いて構成することができる。(d)デフォルトボタン設定およびページ切り換えが可能なコマンドは、ページを指示することでページ切り換え可能であると共に、指示されたページにおいてデフォルトで選択状態になっているボタンを定義することができる。一般的には、ページを切り換えるとメニュー項目も切り替わると考えられ、(d)ページ切り換えが可能なコマンド以降のコマンドを、実行しないものとする。
さらに、ボタンに対して、選択状態から自動的に実行状態に遷移するように定義することができる。このように定義されたボタンを、オートアクションボタンと呼ぶ。例えば、オートアクションボタンに定義されたボタンの通常状態に対して、リモートコントロールコマンダなどを用いて選択状態に遷移するように操作すると、当該ボタンは、選択状態に遷移した時点で自動的に実行状態に遷移され、当該ボタンに関連付けられたコマンドが実行されることになる。なお、オートアクションボタンの定義は、単に選択状態から自動的に実行状態に遷移させるだけなので、オートアクションボタンとして定義されたボタンには、実行状態から抜けるためのコマンドを予め関連付けておく必要がある。
ボタンに関連付けられるコマンドには、上述したような制限が設けられるため、比較的頻繁に用いることが想定されるある種の動作を実現できないことがあるという問題点があった。
一例として、チャプタジャンプを行うポップアップメニューを表示させ、チャプタを選択して所望のチャプタにジャンプした後に、当該ポップアップメニューを非表示にするといった、有用且つ単純な動作を実現することが極めて困難であるという問題点があった。
すなわち、この場合には、上述の「(a)再生位置の変更コマンド以降のコマンドは実行されない」という制限により、単にポップアップメニューON、シーン選択および移動、ポップアップメニューOFFという順序でコマンドを並べても、最後のポップアップメニューOFFが実行されず、例えばシーンジャンプ後もポップアップメニューが表示されたままになってしまうことになる。
この問題を回避するために、例えば隠しボタンを用いる方法を考える。隠しボタンは、画面に表示されないが、ボタンの3状態が定義されると共に、コマンドの関連付けが可能とされたボタンである。隠しボタンは、例えばボタンを表示するためのボタン画像に対して不透明度を最小に設定して背景表示を全て透過させることで実現可能である。
例えば、ポップアップメニューにおけるあるボタンに対して、オートアクションボタンとして定義された隠しボタンを選択状態にするコマンドを関連付ける。こうすることで、ポップアップメニューの当該ボタンを実行状態に遷移させた際に、隠しボタンに関連付けられたコマンドが自動的に実行されることになる。これにより、シーンジャンプが行われた後に、ポップアップメニューをOFFできることが期待される。
例えば、プレーヤにおいて制作者側が使用することができるレジスタを利用し、フラグを用いた条件分岐命令により、1回目の条件分岐でシーンジャンプを実行すると共にフラグの値を入れ替え、2回目の条件分岐でポップアップメニューをOFFとするようなコマンドを、隠しボタンに対して関連付けることが考えられる。
しかしながら、上述したように、オートアクションボタンに定義されたボタンは、選択状態から実行状態に遷移した後、何らかのコマンドで実行状態から抜ける必要があるため、この方法では、期待した動作が実現されない。すなわち、実行状態から抜けるためのコマンドは、シーンジャンプのコマンド後に記述する必要があるが、上述した制約により、当該実行状態から抜けるためのコマンドが実行されない。そのため、当該コマンドが実行されずに、恰も当該隠しボタンの実行状態のままハングアップしたかのうような状態となってしまう。
したがって、この発明の目的は、再生されるコンテンツに対する、ユーザによるインタラクティブな操作を可能とするためのメニュー表示において、あるコマンド以降に記述されたコマンドが実行されない制約の下で、当該コマンドによる動作に相当する動作を実現可能とするような再生装置および再生方法を提供することにある。
この発明は、上述した課題を解決するために、表示ボタン、第1の透明領域および第2の透明領域のそれぞれに関連付けられたコマンドを実行する制御部を有する再生装置であって、表示ボタンは、表示される通常状態、表示された状態で選択操作がなされる選択状態および表示ボタンに関連付けられたコマンドが実行される実行状態の3状態を遷移可能とされ、表示ボタンには、少なくとも、第1の透明領域に関連付けられたコマンドを実行させるための第1のコマンドが関連付けられ、第1の透明領域には、少なくとも、有効化コマンドと、該有効化コマンドの次に実行される第2のコマンドとが関連付けられ、該第2のコマンドは、該第2のコマンドの内容が所定の内容である場合には、第1の透明領域に関連付けられたコマンドのうち、該第2のコマンドの次以降に記述されるコマンドが実行されない制約を有し、第2の透明領域には、少なくとも、第2のコマンドより時系列的に後に実行される第3のコマンドが関連付けられ、操作画面の所定領域に表示ボタンが表示されるとともに、第1の透明領域および第2の透明領域は、所定領域と同一の領域とされ、表示ボタンを実行状態にする操作入力がなされると、第1のコマンドが実行され、第1のコマンドが実行されることに応じて、有効化コマンドが実行され、有効化コマンドが実行されることに応じて、第3のコマンドの実行を待機し、有効化コマンドに続いて第2のコマンドが実行され、第2のコマンドに基づく処理が終了するまで、第3のコマンドの実行を待機する再生装置である。
また、この発明は、表示ボタン、第1の透明領域および第2の透明領域のそれぞれに関連付けられたコマンドを実行する制御部を有する再生装置における再生方法であって、表示ボタンは、表示される通常状態、表示された状態で選択操作がなされる選択状態および表示ボタンに関連付けられたコマンドが実行される実行状態の3状態を遷移可能とされ、表示ボタンには、少なくとも、第1の透明領域に関連付けられたコマンドを実行させるための第1のコマンドが関連付けられ、第1の透明領域には、少なくとも、有効化コマンドと、該有効化コマンドの次に実行される第2のコマンドとが関連付けられ、該第2のコマンドは、該第2のコマンドの内容が所定の内容である場合には、第1の透明領域に関連付けられたコマンドのうち、該第2のコマンドの次以降に記述されるコマンドが実行されない制約を有し、第2の透明領域には、少なくとも、第2のコマンドより時系列的に後に実行される第3のコマンドが関連付けられ、操作画面の所定領域に表示ボタンが表示されるとともに、第1の透明領域および第2の透明領域は、所定領域と同一の領域とされ、表示ボタンを実行状態にする操作入力がなされると、第1のコマンドが実行され、第1のコマンドが実行されることに応じて、有効化コマンドが実行されるとともに、第2のコマンドが実行され、有効化コマンドが実行されることに応じて、第3のコマンドの実行を待機し、有効化コマンドに続いて第2のコマンドが実行され、第2のコマンドに基づく処理が終了するまで、第3のコマンドの実行を待機する再生装置における再生方法である
上述したように、この発明は、少なくともコンテンツデータと、通常状態、選択状態および実行状態の3状態が定義可能で、ボタン画像、ボタン画像の表示制御を行うための表示制御情報および実行状態で実行されるコマンドを含む、ユーザに対して操作を促す操作画面に用いるボタンとからなり、ボタンは、1のボタン位置に選択的に表示される複数のボタンからなるグループを構成可能とされたデータ構造であって、第1のボタンと、それぞれ選択状態から自動的に実行状態に遷移するように定義された、第1のボタンと同一のグループに属する第2および第3のボタンとを含み、第1のボタンは、少なくとも第2のボタンを選択状態にさせるコマンドが関連付けられ、第2のボタンは、少なくとも第3のボタンを有効にさせるボタン有効化コマンドと、ボタン有効化コマンドの次に実行される、自身のコマンド以降に記述されたコマンドが実行されない制約を持つ第1のコマンドとが関連付けられ、第3のボタンは、少なくとも第2のボタンに関連付けられる第1のコマンドより時系列的に後に実行させる第2のコマンドが関連付けられ、ボタン有効化コマンドは、ボタン有効化コマンドを関連付けるボタンが含まれるグループの他のボタンを有効にした場合に、ボタン有効化コマンドを関連付けるボタンに関連付けられる他のコマンドを実行可能な最後まで実行させ、ボタン有効化コマンドを関連付けるボタンに関連付けられる他のコマンドを実行可能な最後まで実行した際に選択状態にあるボタンが存在しなければ、有効とされた他のボタンが選択状態とされるようにしたコマンドであるため、第1のボタンを実行状態とすることで、第2のボタンが選択状態とされ、さらに自動的に実行状態とされて第3のボタンが選択状態とされると共に、第2のボタンに関連付けられた第1のコマンドが実行され、第3のボタンは、選択状態から自動的に実行状態に遷移されて第2のコマンドが実行され、第1のコマンドの後で第2のコマンドを実行させることができる。
この発明は、上述したように、少なくともコンテンツデータと、通常状態、選択状態および実行状態の3状態が定義可能で、ボタン画像、ボタン画像の表示制御を行うための表示制御情報および実行状態で実行されるコマンドを含む、ユーザに対して操作を促す操作画面に用いるボタンとからなり、ボタンは、1のボタン位置に選択的に表示される複数のボタンからなるグループを構成可能とされたデータ構造であって、第1のボタンと、それぞれ選択状態から自動的に実行状態に遷移するように定義された、第1のボタンと同一のグループに属する第2および第3のボタンとを含み、第1のボタンは、少なくとも第2のボタンを選択状態にさせるコマンドが関連付けられ、第2のボタンは、少なくとも第3のボタンを有効にさせるボタン有効化コマンドと、ボタン有効化コマンドの次に実行される、自身のコマンド以降に記述されたコマンドが実行されない制約を持つ第1のコマンドとが関連付けられ、第3のボタンは、少なくとも第2のボタンに関連付けられる第1のコマンドより時系列的に後に実行させる第2のコマンドが関連付けられ、ボタン有効化コマンドは、ボタン有効化コマンドを関連付けるボタンが含まれるグループの他のボタンを有効にした場合に、ボタン有効化コマンドを関連付けるボタンに関連付けられる他のコマンドを実行可能な最後まで実行させ、ボタン有効化コマンドを関連付けるボタンに関連付けられる他のコマンドを実行可能な最後まで実行した際に選択状態にあるボタンが存在しなければ、有効とされた他のボタンが選択状態とされるようにしたコマンドであるため、第1のボタンを実行状態とすることで、第2のボタンが選択状態とされ、さらに自動的に実行状態とされて第3のボタンが選択状態とされると共に、第2のボタンに関連付けられた第1のコマンドが実行され、第3のボタンは、選択状態から自動的に実行状態に遷移されて第2のコマンドが実行され、第1のコマンドの後で第2のコマンドを実行させることができる効果がある。
また、これにより、第1のコマンドを再生位置を変更するコマンドとし、第2のコマンドをポップアップメニューをOFFとするコマンドとした場合に、再生位置を変更した後にポップアップメニューをOFFとするアプリケーションを実現できる効果がある。
以下、この発明の実施の一形態を、図面を参照しながら説明する。先ず、理解を容易とするために、Blu−ray Discに関し、"Blu-ray Disc Read-Only Format Ver1.0 part3 Audio Visual Specifications"で規定されている、読み出し専用タイプのBlu−ray DiscであるBD−ROMに記録されたコンテンツすなわちAV(Audio/Video)データの管理構造について説明する。以下では、このBD−ROMにおける管理構造をBDMVフォーマットと称する。
例えばMPEG(Moving Pictures Experts Group)ビデオやMPEGオーディオなどの符号化方式で符号化され、MPEG2システムに従い多重化されたビットストリームは、クリップAVストリーム(またはAVストリーム)と称される。クリップAVストリームは、Blu−ray Discに関する規格の一つである"Blu-ray Disc Read-Only Format part2"で定義されたファイルシステムにより、ファイルとしてディスクに記録される。このファイルを、クリップAVストリームファイル(またはAVストリームファイル)と称する。
クリップAVストリームファイルは、ファイルシステム上での管理単位であり、ユーザにとって必ずしも分かりやすい管理単位であるとは限らない。ユーザの利便性を考えた場合、複数のクリップAVストリームファイルに分割された映像コンテンツを一つにまとめて再生する仕組みや、クリップAVストリームファイルの一部だけを再生する仕組み、さらには、特殊再生や頭出し再生を滑らかに行うための情報などをデータベースとしてディスクに記録しておく必要がある。Blu−ray Discに関する規格の一つである"Blu-ray Disc Read-Only Format part3"で、このデータベースが規定される。
図1は、BD−ROMのデータモデルを概略的に示す。BD−ROMのデータ構造は、図1に示されるように4層のレイヤよりなる。最も最下層のレイヤは、クリップAVストリームが配置されるレイヤである(便宜上、クリップレイヤと呼ぶ)。その上のレイヤは、クリップAVストリームに対する再生箇所を指定するための、ムービープレイリスト(Movie PlayList)と、プレイアイテム(PlayItem)とが配置されるレイヤである(便宜上、プレイリストレイヤと呼ぶ)。さらにその上のレイヤは、ムービープレイリストに対して再生順などを指定するコマンドからなるムービーオブジェクト(Movie Object)などが配置されるレイヤである(便宜上、オブジェクトレイヤと呼ぶ)。最上層のレイヤは、このBD−ROMに格納されるタイトルなどを管理するインデックステーブルが配置される(便宜上、インデックスレイヤと呼ぶ)。
クリップレイヤについて説明する。クリップAVストリームは、ビデオデータやオーディオデータがMPEG2 TS(トランスポートストリーム)の形式などに多重化されたビットストリームである。このクリップAVストリームに関する情報がクリップ情報(Clip Information)としてファイルに記録される。
また、クリップAVストリームには、ビデオデータやオーディオデータによるコンテンツデータに対して付随して表示される字幕やメニュー表示を行うためのストリームも多重化される。字幕を表示するためのグラフィクスストリームは、プレゼンテーショングラフィクス(PG)ストリームと呼ばれる。また、メニュー表示などに用いられるデータをストリームにしたものは、インタラクティブグラフィクス(IG)ストリームと呼ばれる。
クリップAVストリームファイルと、対応するクリップ情報が記録されたクリップ情報ファイルとをひとまとまりのオブジェクトと見なし、クリップ(Clip)と称する。すなわち、クリップは、クリップAVストリームとクリップ情報とから構成される、一つのオブジェクトである。
ファイルは、一般的に、バイト列として扱われる。クリップAVストリームファイルのコンテンツは、時間軸上に展開され、クリップ中のエントリーポイントは、主に時間ベースで指定される。所定のクリップへのアクセスポイントのタイムスタンプが与えられた場合、クリップAVストリームファイルの中でデータの読み出しを開始すべきアドレス情報を見つけるために、クリップ情報ファイルを用いることができる。
プレイリストレイヤについて説明する。ムービープレイリストは、再生するAVストリームファイルの指定と、指定されたAVストリームファイルの再生箇所を指定する再生開始点(IN点)と再生終了点(OUT点)の集まりとから構成される。この再生開始点と再生終了点の情報を一組としたものは、プレイアイテム(PlayItem)と称される。ムービープレイリストは、プレイアイテムの集合で構成される。プレイアイテムを再生するということは、そのプレイアイテムに参照されるAVストリームファイルの一部分を再生するということになる。すなわち、プレイアイテム中のIN点およびOUT点情報に基づき、クリップ中の対応する区間が再生される。
オブジェクトレイヤについて説明する。ムービーオブジェクトは、HDMVナビゲーションコマンドプログラム(HDMVプログラム)と、ムービーオブジェクトとを連携するターミナルインフォメーションを含む。HDMVプログラムは、プレイリストの再生を制御するためのコマンドである。ターミナルインフォメーションは、ユーザのBD−ROMプレーヤに対するインタラクティブな操作を許可するための情報を含んでいる。このターミナルインフォメーションに基づき、メニュー画面の呼び出しや、タイトルサーチといったユーザオペレーションが制御される。
BD−Jオブジェクトは、Javaプログラム(Javaは登録商標)によるオブジェクトからなる。BD−Jオブジェクトは、この発明と関わりが薄いので、詳細な説明を省略する。
インデックスレイヤについて説明する。インデックスレイヤは、インデックステーブルからなる。インデックステーブルは、BD−ROMディスクのタイトルを定義する、トップレベルのテーブルである。インデックステーブルに格納されているタイトル情報に基づき、BD−ROM常駐システムソフトウェア中のモジュールマネージャによりBD−ROMディスクの再生が制御される。
すなわち、図2に概略的に示されるように、インデックステーブル中の任意のエントリは、タイトルと称され、インデックステーブルにエントリされるファーストプレイバック(First Playback)、トップメニュー(Top Menu)およびタイトル(Title)#1、#2、・・・は、全てタイトルである。各タイトルは、ムービーオブジェクトあるいはBD−Jオブジェクトに対するリンクを示し、各タイトルは、HDMVタイトルあるいはBD−Jタイトルの何れかを示す。
例えば、ファーストプレイバックは、当該BD−ROMに格納されるコンテンツが映画であれば、映画本編に先立って映出される映画会社の宣伝用映像(トレーラ)である。トップメニューは、例えばコンテンツが映画である場合、本編再生、チャプタサーチ、字幕や言語設定、特典映像再生などを選択するためのメニュー画面である。また、タイトルは、トップメニューから選択される各映像である。タイトルがさらにメニュー画面であるような構成も可能である。
図3は、上述のようなクリップAVストリーム、クリップ情報(Stream Attributes)、クリップ、プレイアイテムおよびプレイリストの関係を示すUML(Unified Modeling Language)図である。プレイリストは、1または複数のプレイアイテムに対応付けられ、プレイアイテムは、1のクリップに対応付けられる。1のクリップに対して、それぞれ開始点および/または終了点が異なる複数のプレイアイテムを対応付けることができる。1のクリップから1のクリップAVストリームファイルが参照される。同様に、1のクリップから1のクリップ情報ファイルが参照される。また、クリップAVストリームファイルとクリップ情報ファイルとは、1対1の対応関係を有する。このような構造を定義することにより、クリップAVストリームファイルを変更することなく、任意の部分だけを再生する、非破壊の再生順序指定を行うことが可能となる。
また、図4のように、複数のプレイリストから同一のクリップを参照することもできる。また、1のプレイリストから複数のクリップを指定することもできる。クリップは、プレイリスト中のプレイアイテムに示されるIN点およびOUT点により、参照される。図4の例では、クリップ500は、プレイリスト510のプレイアイテム520から参照されると共に、プレイリスト511を構成するプレイアイテム521および522のうちプレイアイテム521から、IN点およびOUT点で示される区間が参照される。また、クリップ501は、プレイリスト511のプレイアイテム522からIN点およびOUT点で示される区間が参照されると共に、プレイリスト512のプレイアイテム523および524のうち、プレイアイテム523のIN点およびOUT点で示される区間が参照される。
なお、プレイリストは、図5に一例が示されるように、主として再生されるプレイアイテムに対応するメインパスに対して、サブプレイアイテムに対応するサブパスを持つことができる。サブプレイアイテムは、異なる複数のクリップと関連付けることができ、サブプレイアイテムは、サブプレイアイテムに関連付けられる複数のクリップのうち1を選択的に参照することができる。詳細は省略するが、プレイリストは、所定の条件を満たす場合にだけ、サブプレイアイテムを持つことができる。
次に、"Blu-ray Disc Read-Only Format part3"で規定された、BD−ROMに記録されるファイルの管理構造について、図6を用いて説明する。ファイルは、ディレクトリ構造により階層的に管理される。記録媒体上には、先ず、1つのディレクトリ(図6の例ではルート(root)ディレクトリ)が作成される。このディレクトリの下が、1つの記録再生システムで管理される範囲とする。
ルートディレクトリの下に、ディレクトリ"BDMV"およびディレクトリ"CERTIFICATE"が置かれる。ディレクトリ"CERTIFICATE"は、著作権に関する情報が格納される。ディレクトリ"BDMV"に、図1を用いて説明したデータ構造が格納される。
ディレクトリ"BDMV"の直下には、ファイルは、ファイル"index.bdmv"およびファイル"MovieObject.bdmv"の2つのみを置くことができる。また、ディレクトリ"BDMV"の下に、ディレクトリ"PLAYLIST"、ディレクトリ"CLIPINF"、ディレクトリ"STREAM"、ディレクトリ"AUXDATA"、ディレクトリ"META"、ディレクトリ"BDJO"、ディレクトリ"JAR"、およびディレクトリ"BACKUP"が置かれる。
ファイル"index.bdmv"は、ディレクトリBDMVの内容について記述される。すなわち、このファイル"index.bdmv"が上述した最上層のレイヤであるインデックスレイヤにおけるインデックステーブルに対応する。また、ファイルMovieObject.bdmvは、1つ以上のムービーオブジェクトの情報が格納される。すなわち、このファイル"MovieObject.bdmv"が上述したオブジェクトレイヤに対応する。
ディレクトリ"PLAYLIST"は、プレイリストのデータベースが置かれるディレクトリである。すなわち、ディレクトリ"PLAYLIST"は、ムービープレイリストに関するファイルであるファイル"xxxxx.mpls"を含む。ファイル"xxxxx.mpls"は、ムービープレイリストのそれぞれに対して作成されるファイルである。ファイル名において、"."(ピリオド)の前の"xxxxx"は、5桁の数字とされ、ピリオドの後ろの"mpls"は、このタイプのファイルに固定的とされた拡張子である。
ディレクトリ"CLIPINF"は、クリップのデータベースが置かれるディレクトリである。すなわち、ディレクトリCLIPINF"は、クリップAVストリームファイルのそれぞれに対するクリップインフォメーションファイルであるファイル"zzzzz.clpi"を含む。ファイル名において、"."(ピリオド)の前の"zzzzz"は、5桁の数字とされ、ピリオドの後ろの"clpi"は、このタイプのファイルに固定的とされた拡張子である。
ディレクトリ"STREAM"は、実体としてのAVストリームファイルが置かれるディレクトリである。すなわち、ディレクトリ"STREAM"は、クリップインフォメーションファイルのそれぞれに対応するクリップAVストリームファイルを含む。クリップAVストリームファイルは、MPEG2(Moving Pictures Experts Group 2)のトランスポートストリーム(以下、MPEG2 TSと略称する)からなり、ファイル名が"zzzzz.m2ts"とされる。ファイル名において、ピリオドの前の"zzzzz"は、対応するクリップインフォメーションファイルと同一することで、クリップインフォメーションファイルとこのクリップAVストリームファイルとの対応関係を容易に把握することができる。
ディレクトリ"AUXDATA"は、メニュー表示などに用いられる、サウンドファイル、フォントファイル、フォントインデックスファイルおよびビットマップファイルなどが置かれる。ファイル"sound.bdmv"は、HDMVのインタラクティブなグラフィクスストリームのアプリケーションに関連したサウンドデータが格納される。ファイル名は、"sound.bdmv"に固定的とされる。ファイル"aaaaa.otf"は、字幕表示や上述したBD−Jアプリケーションなどで用いられるフォントデータが格納される。ファイル名において、ピリオドの前の"aaaaa"は、5桁の数字とされ、ピリオドの後ろの"otf"は、このタイプのファイルに固定的とされた拡張子である。ファイル"bdmv.fontindex"は、フォントのインデックスファイルである。
ディレクトリ"META"は、メタデータファイルが格納される。ディレクトリ"BDJO"およびディレクトリ"JAR"は、上述のBD−Jオブジェクトに関連するファイルが格納される。また、ディレクトリ"BACKUP"は、上述までの各ディレクトリおよびファイルのバックアップが格納される。これらディレクトリ"META"、ディレクトリ"BDJO"、ディレクトリ"JAR"およびディレクトリ"BACKUP"は、この発明の主旨と直接的な関わりがないので、詳細な説明を省略する。
上述したようなデータ構造を有するディスクがプレーヤに装填されると、プレーヤは、ディスクから読み出されたムービーオブジェクトなどに記述されたコマンドを、プレーヤ内部のハードウェアを制御するための固有のコマンドに変換する必要がある。プレーヤは、このような変換を行うためのソフトウェアを、プレーヤに内蔵されるROM(Read Only Memory)にあらかじめ記憶している。このソフトウェアは、ディスクとプレーヤを仲介してプレーヤにBD−ROMの規格に従った動作をさせることから、BD仮想プレーヤと称される。
図7は、このBD仮想プレーヤの動作を概略的に示す。図7Aは、ディスクのローディング時の動作の例を示す。ディスクがプレーヤに装填されディスクに対するイニシャルアクセスがなされると(ステップS30)、1のディスクにおいて共有的に用いられる共有パラメータが記憶されるレジスタが初期化される(ステップS31)。そして、次のステップS32で、プログラムがディスクから読み込まれて実行される。なお、イニシャルアクセスは、ディスク装填時のように、ディスクの再生が初めて行われることをいう。
図7Bは、プレーヤが停止状態からユーザにより例えばプレイキーが押下され再生が指示された場合の動作の例を示す。最初の停止状態(ステップS40)に対して、ユーザにより、例えばリモートコントロールコマンダなどを用いて再生が指示される(UO:User Operation)。再生が指示されると、先ず、レジスタすなわち共通パラメータが初期化され(ステップS41)、次のステップS42で、プレイリストの再生フェイズに移行する。なお、この場合にレジスタがリセットされない実装としてもよい。
ムービーオブジェクトの実行フェイズにおけるプレイリストの再生について、図8を用いて説明する。UOなどにより、タイトル番号#1のコンテンツを再生開始する指示があった場合について考える。プレーヤは、コンテンツの再生開始指示に応じて、上述した図2に示されるインデックステーブル(Index Table)を参照し、タイトル#1のコンテンツ再生に対応するオブジェクトの番号を取得する。例えばタイトル#1のコンテンツ再生を実現するオブジェクトの番号が#1であったとすると、プレーヤは、ムービーオブジェクト#1の実行を開始する。
この図8の例では、ムービーオブジェクト#1に記述されたプログラムは2行からなり、1行目のコマンドが"Play PlayList(1)"であるとすると、プレーヤは、プレイリスト#1の再生を開始する。プレイリスト#1は、1以上のプレイアイテムから構成され、プレイアイテムが順次再生される。プレイリスト#1中のプレイアイテムの再生が終了すると、ムービーオブジェクト#1の実行に戻り、2行目のコマンドが実行される。図8の例では、2行目のコマンドが"jump TopMenu"であって、このコマンドが実行されインデックステーブルに記述されたトップメニュー(Top Menu)を実現するムービーオブジェクトの実行が開始される。
次に、この発明の実施の一形態に適用可能な画像の表示系について説明する。この発明の実施の一形態では、画像の表示系について、図9に一例が示されるようなプレーン構成を取る。動画プレーン10は、最も後ろ側(ボトム)に表示され、プレイリストで指定された画像(主に動画データ)が扱われる。字幕プレーン11は、動画プレーン10の上に表示され、動画再生中に表示される字幕データが扱われる。グラフィクスプレーン12は、最も前面に表示され、メニュー画面を表示するための文字データや、ボタン画像用のビットマップデータなどのグラフィクスデータが扱われる。1つの表示画面は、これら3つのプレーンが合成されて表示される。
なお、グラフィクスプレーン12は、このようにメニュー画面を表示するためのデータが扱われることから、以下では、グラフィクスプレーン12をインタラクティブグラフィクスプレーン12と称する。
動画プレーン10、字幕プレーン11およびインタラクティブグラフィクスプレーン12は、それぞれ独立して表示が可能とされる。動画プレーン10は、解像度が1920画素×1080ラインで1画素当たりに換算したデータ長が16ビットであって、輝度信号Y、色差信号Cb、Crが4:2:2のシステム(以下、YCbCr(4:2:2))とされる。なお、YCbCr(4:2:2)は、各画素当たり輝度信号Yが8ビット、色差信号Cb、Crがそれぞれ8ビットで、色差信号Cb、Crが水平2画素で一つの色データを構成すると見なすカラーシステムである。インタラクティブグラフィクスプレーン12および字幕プレーン11は、1920画素×1080ラインで各画素のサンプリング深さが8ビットとされ、カラーシステムは、256色のパレットを用いた8ビットカラーマップアドレスとされる。
インタラクティブグラフィクスプレーン12および字幕プレーン11は、256段階のアルファブレンディングが可能とされており、他のプレーンとの合成の際に、不透明度を256段階で設定することが可能とされている。不透明度の設定は、画素毎に行うことができる。以下では、不透明度αが(0≦α≦1)の範囲で表され、不透明度α=0で完全に透明、不透明度α=1で完全に不透明であるものとする。
字幕プレーン11では、例えばPNG(Portable Network Graphics)形式の画像データが扱われる。また、インタラクティブグラフィクスプレーン12でも、例えばPNG形式の画像データを扱うことができる。PNG形式は、1画素のサンプリング深さが1ビット〜16ビットとされ、サンプリング深さが8ビットまたは16ビットの場合に、アルファチャンネル、すなわち、それぞれの画素成分の不透明度情報(アルファデータと称する)を付加することができる。サンプリング深さが8ビットの場合には、256段階で不透明度を指定することができる。このアルファチャンネルによる不透明度情報を用いてアルファブレンディングが行われる。また、256色までのパレットイメージを用いることができ、予め用意されたパレットの何番目の要素(インデックス)であるかがインデックス番号により表現される。
なお、字幕プレーン11およびインタラクティブグラフィクスプレーン12で扱われる画像データは、PNG形式に限定されない。JPEG方式など他の圧縮符号化方式で圧縮符号化された画像データや、ランレングス圧縮された画像データ、圧縮符号化がなされていないビットマップデータなどを扱うようにしてもよい。
図10は、上述の図9に示したプレーン構成に従い3つのプレーンを合成するグラフィクス処理部の一例の構成を示す。なお、この図10に示される構成は、ハードウェアおよびソフトウェアの何れでも実現可能なものである。動画プレーン10の動画データが422/444変換回路20に供給される。動画データは、422/444変換回路20でカラーシステムがYCbCr(4:2:2)からYCbCr(4:4:4)に変換され、乗算器21に入力される。
字幕プレーン11の画像データがパレット22Aに入力され、RGB(4:4:4)の画像データとして出力される。この画像データに対してアルファブレンディングによる不透明度が指定されている場合には、指定された不透明度α1(0≦α1≦1)がパレット22Aから出力される。
パレット22Aは、例えばPNG形式のファイルに対応したパレット情報がテーブルとして格納される。パレット22Aは、入力された8ビットの画素データをアドレスとして、インデックス番号が参照される。このインデックス番号に基づき、それぞれ8ビットのデータからなるRGB(4:4:4)のデータが出力される。それと共に、パレット22Aでは、不透明度を表すアルファチャンネルのデータαが取り出される。
図11は、パレット22Aに格納される一例のパレットテーブルを示す。256個のカラーインデックス値〔0x00〕〜〔0xFF〕(〔0x〕は16進表記であることを示す)のそれぞれに対して、各々8ビットで表現される三原色の値R、GおよびBと、不透明度αとが割り当てられる。パレット22Aは、入力されたPNG形式の画像データに基づきパレットテーブルが参照され、画像データにより指定されたインデックス値に対応する、それぞれ8ビットのデータからなるR、GおよびB各色のデータ(RGBデータ)と、不透明度αとを画素毎に出力する。
パレット22Aから出力されたRGBデータは、RGB/YCbCr変換回路22Bに供給され、各データ長が8ビットの輝度信号Yと色信号Cb、Crのデータに変換される(以下、まとめてYCbCrデータと称する)。これは、以降のプレーン間合成を共通のデータ形式で行う必要があるためで、動画データのデータ形式であるYCbCrデータに統一している。
RGB/YCbCr変換回路22Bから出力されたYCbCrデータと不透明度データα1とがそれぞれ乗算器23に入力される。乗算器23では、入力されたYCbCrデータに不透明度データα1が乗ぜられる。乗算結果は、加算器24の一方の入力端に入力される。なお、乗算器23では、YCbCrデータにおける輝度信号Y、色差信号Cb、Crのそれぞれについて、不透明度データα1との乗算が行われる。また、不透明度データα1の補数(1−α1)が乗算器21に供給される。
乗算器21では、422/444変換回路20から入力された動画データに不透明度データα1の補数(1−α1)が乗ぜられる。乗算結果は、加算器24の他方の入力端に入力される。加算器24において、乗算器21および23の乗算結果が加算される。これにより、動画プレーン10と字幕プレーン11とが合成される。加算器24の加算結果が乗算器25に入力される。
インタラクティブグラフィクスプレーン12の画像データがパレット26Aに入力され、RGB(4:4:4)の画像データとして出力される。この画像データに対してアルファブレンディングによる不透明度が指定されている場合には、指定された不透明度α2(0≦α2≦1)がパレット26Aから出力される。パレット26Aから出力されたRGBデータは、RGB/YCbCr変換回路26Bに供給されてYCbCrデータに変換され、動画データのデータ形式であるYCbCrデータに統一される。RGB/YCbCr変換回路26Bから出力されたYCbCrデータが乗算器27に入力される。
インタラクティブグラフィクスプレーン12で用いられる画像データがPNG形式である場合には、画像データ中に、画素毎に不透明度データα2(0≦α2≦1)を設定することができる。不透明度データα2は、乗算器27に供給される。乗算器27では、RGB/YCbCr変換回路26から入力されたYCbCrデータに対し、輝度信号Y、色差信号Cb、Crのそれぞれについて、不透明度データα2との乗算が行われる。乗算器27による乗算結果が加算器28の一方の入力端に入力される。また、不透明度データα2の補数(1−α2)が乗算器25に供給される。
乗算器25では、加算器24の加算結果に対して不透明度データα2の補数(1−α2)が乗ぜられる。乗算器25の乗算結果は、加算器28の他方の入力端に入力され、上述した乗算器27による乗算結果と加算される。これにより、動画プレーン10と字幕プレーン11との合成結果に対して、さらに、インタラクティブグラフィクスプレーン12が合成される。
字幕プレーン11およびインタラクティブグラフィクスプレーン12において、例えば、表示すべき画像の無い領域の不透明度α=0と設定することで、そのプレーンの下に表示されるプレーンを透過表示させることができ、例えば動画プレーン10に表示されている動画データを、字幕プレーン11やインタラクティブグラフィクスプレーン12の背景として表示することができる。
次に、インタラクティブグラフィクスストリーム(IGストリーム)について説明する。ここでは、IGストリームのうち、この発明に関わりの深い部分に注目して説明する。IGストリームは、上述したように、メニュー表示に用いられるデータをストリームにしたものである。例えば、メニュー表示に用いられるボタン画像がIGストリームに格納される。
IGストリームは、クリップAVストリームに多重化される。インタラクティブグラフィクスストリーム(図12A参照)は、図12Bに一例が示されるように、ICS(Interactive Composition Segment)、PDS(Palette Definition Segment)およびODS(Object Definition Segment)の3種類のセグメントからなる。
3種類のセグメントのうち、ICSは、詳細は後述するが、IG(インタラクティブグラフィクス)の基本構造を保持するためのセグメントである。PDSは、ボタン画像の色情報を保持するためのセグメントである。また、ODSは、ボタンの形状を保持するための情報である。より具体的には、ODSは、ボタン画像そのもの、例えばボタン画像を表示するためのビットマップデータが、ランレングス圧縮など所定の圧縮符号化方式で圧縮符号化されて格納される。
ICS、PDSおよびODSは、図12Cに一例が示されるように、それぞれ必要に応じて所定に分割され、PID(Packet Identification)により区別されてPES(Packetized Elementary Stream)パケットのペイロードに格納される。PESパケットは、サイズが64KB(キロバイト)と決められているため、比較的サイズが大きなICSおよびODSは、それぞれ所定に分割されてPESパケットのペイロードに詰め込まれる。一方、PDSは、サイズが64KBに満たないことが多いので、1つのPESパケットに1IG分のPDSが格納可能である。PESパケットのそれぞれには、ペイロードに格納されたデータがICS、PDSおよびODSのうち何れであるかの情報や、パケット毎の順番などを示す識別情報がPIDに格納される。
PESパケットのそれぞれは、さらに所定に分割され、MPEG TS(トランスポートストリーム)によるトランスポートパケットに詰め込まれる(図12D)。トランスポートパケット毎の順序や、トランスポートパケットに格納されたデータを識別する識別情報などがPIDに格納される。
次にインタラクティブグラフィクスのディスプレイセット(DisplaySet)に含まれる、ICSについて説明する。ICSの説明に先んじて、図13および図14を用いてメニュー画面およびボタンの構成を概略的に示す。なお、ディスプレイセットは、IGストリームにおいては、メニュー表示を行うためのデータのセットであって、上述したICS、PDSおよびODSによりIGストリームのディスプレイセットが構成される。
図13は、グラフィクスプレーン12上に表示されるボタン表示の一例の状態遷移図である。ボタンは、大別すると、無効状態と有効状態の2つの状態を有し、無効状態では画面にボタンが表示されず、有効状態でボタン表示がなされる。ボタン無効状態からボタン有効状態に遷移し、ボタン表示が開始される。ボタン有効状態からボタン無効状態に遷移し、ボタン表示が終了される。ボタン有効状態は、さらに、通常状態、選択状態および実行状態の3種類の状態を有する。ボタン表示は、これら3種類の状態間をそれぞれ互いに遷移することができる。遷移方向を一方向に限定することも可能である。また、3種類のボタン表示の状態のそれぞれに、アニメーションを定義することができる。
図14は、メニュー画面およびボタンの構成を概略的に示す。図14Aに一例が示されるような、複数のボタン300、300、・・・が配置されたメニュー画面11を考える。このメニュー画面301は、図14Bに一例が示されるように、複数枚のメニュー画面によって階層的に構成することができる。各階層のメニュー画面のそれぞれは、ページと呼ばれる。例えば、最前面に表示されたメニュー画面のあるボタン300を、所定の入力手段によって選択状態から実行状態に遷移させると、そのメニュー画面の1枚後ろに位置するメニュー画面が最前面のメニュー画面となるような構成が考えられる。なお、以下では、「所定の入力手段によりボタンの状態を変化させる」ことを、煩雑さを避けるために、「ボタンを操作する」などと、適宜、表記する。
メニュー画面301に表示される1つのボタン300は、複数のボタン302A、302B、・・・が階層化された構成とすることができる(図14Cおよび図14D参照)。これは、換言すれば、1つのボタン表示位置に複数のボタンを選択的に表示することができることを意味する。例えば、複数のボタンのうち所定のボタンを操作した際に、同時に表示されている他の幾つかのボタンの機能および表示が変更されるような場合に、メニュー画面自体を書き換える必要が無いので、用いて好適である。このような、1つのボタン位置に選択的に表示される複数のボタンからなる組を、BOGs(Button Overlap Group)と呼ぶ。
BOGsを構成するボタンのそれぞれは、通常状態、選択状態および実行状態の3状態を有することができる。すなわち、図14Eに一例が示されるように、BOGsを構成するボタンのそれぞれに対して、通常状態、選択状態および実行状態をそれぞれ表すボタン303A、303Bおよび303Cを用意することができる。さらに、これら3状態を表すボタン303A、303Bおよび303Cのそれぞれに対して、図14Fに一例が示されるように、アニメーション表示を設定することができる。この場合には、アニメーション表示が設定されたボタンは、アニメーション表示に用いるだけの枚数のボタン画像からなることになる。
なお、以下では、ボタンのアニメーションを構成するための複数枚のボタン画像のそれぞれを適宜、アニメーションフレームと呼ぶことにする。
図15は、ICSのヘッダ情報の一例の構造を表すシンタクスを示す。ICSのヘッダは、ブロックsegment_descriptor()、ブロックvideo_descriptor()、ブロックcomposition_descriptor()、ブロックsequence_descriptor()およびブロックinteractive_composition_data_fragemnt()からなる。ブロックsegment_descriptor()は、このセグメントがICSであることを示す。ブロックvideo_descriptor()は、このメニューと同時に表示されるビデオのフレームレートや画枠サイズを示す。ブロックcomposition_descriptor()は、フィールドcomposition_stateを含み(図示しない)、このICSのステータスを示す。ブロックsequence_descriptor()は、このICSが複数のPESパケットに跨るか否かを示す。
より具体的には、このブロックsequence_descriptor()は、現在のPESパケットに含まれるICSが1つのIGストリームの先頭または最後尾の何れのICSであるか否かを示す。
すなわち、上述したように、データサイズが64KBと固定的とされたPESパケットに対して、ICSのデータサイズが大きい場合には、ICSが所定に分割されてPESパケットにそれぞれ詰め込まれる。このとき、この図15に示されるヘッダ部分は、ICSが分割して詰め込まれたPESパケットのうち先頭および最後尾のPESパケットにだけあればよく、途中のPESパケットにおいては省略することができる。このブロックsequence_descriptor()が先頭および最後尾を示していれば、ICSが1つのPESパケットに収まっていることが分かる。
図16は、ブロックinteractive_composition_data_fragemnt()の一例の構造を表すシンタクスを示す。なお、図16では、自身のブロックがブロックinteractive_composition()として示されている。フィールドintaractive_composition_lengthは、24ビットのデータ長を有し、ブロックinteractive_composition()のこのフィールドintaractive_composition_length以降の長さを示す。フィールドstream_modelは、1ビットのデータ長を有し、このストリームが多重化されているか否かを示す。
フィールドstream_modelの値が"0"であれば、多重化されていることを示し、MPEG2トランスポートストリーム内に、インタラクティブグラフィクスストリームと共に関連する他のエレメンタリストリームが多重化されている可能性があることを示す。フィールドstream_modelの値が"1"で非多重化を示し、MPEG2トランスポートストリーム内にはインタラクティブグラフィクスストリームのみが存在することを示す。すなわち、インタラクティブグラフィクスストリームは、AVストリームに対して多重化することもできるし、単独でクリップAVストリームを構成することもできる。なお、非多重化であるインタラクティブグラフィクスストリームは、非同期のサブパスとしてのみ、定義される。
フィールドuser_interface_modelは、1ビットのデータ長を有し、このストリームが表示するメニューがポップアップメニューか、常時表示メニューの何れであるかを示す。ポップアップメニューは、例えばリモートコントロールコマンダのボタンのON/OFFといった、所定の入力手段で表示の有無を制御できるメニューである。一方、常時表示メニューは、ユーザ操作により表示の有無を制御できない。フィールドuser_interface_modelの値が"0"で、ポップアップメニューを示し、"1"で常時表示メニューを示す。なお、フィールドstream_modelの値が"1"であり、且つ、他のエレメンタリストリームと多重化されていない場合に限り、ポップアップメニューが許可される。
フィールドstream_modelの値が"0"であれば、If文If(stream_model=='0b'以下のフィールドcomposition_time_out_ptsおよびフィールドselection_time_out_ptsが有効になる。フィールドcomposition_time_out_ptsは、33ビットのデータ長を有し、このメニュー表示が消える時刻を示す。また、フィールドselection_time_out_ptsは、33ビットのデータ長を有し、このメニュー表示における選択操作が可能でなくなる時刻を示す。時刻は、それぞれMPEG2に規定されるPTS(Presentation Time Stamp)で記述される。
図17は、ブロックpage()の一例の構造を表すシンタクスを示す。フィールドpage_idは、8ビットのデータ長を有し、このページを識別するためのIDを示し、フィールドpage_version_numberは、8ビットのデータ長を有し、このページのバージョン番号を示す。次のブロックUO_mask_table()は、このページの表示中に禁止される、ユーザの入力手段に対する操作(UO:User Operation)が記述されるテーブルを示す。
ブロックin_effect()は、このページが表示される際に表示されるアニメーションブロックを示す。括弧{}内のブロックeffect_sequence()に、アニメーションのシーケンスが記述される。また、ブロックout_effect()は、このページが終了する際に表示されるアニメーションブロックを示す。括弧{}内のブロックeffect_sequence()に、アニメーションのシーケンスが記述される。これらブロックin_effect()およびブロックout_effect()は、それぞれページを移動した際にこのICSが発見された場合に実行されるアニメーションである。
次のフィールドanimation_frame_rate_codeは、8ビットのデータ長を有し、このページのボタン画像がアニメーションする場合の、アニメーションフレームレートの設定パラメータを示す。例えば、このICSが対応するクリップAVストリームファイルにおけるビデオデータのフレームレートをVfrm、当該アニメーションフレームレートをAfrmとした場合、フィールドanimation_frame_rate_codeの値を、Vfrm/Afrmのように、これらの比で表すことができる。
フィールドdefault_selected_button_id_refは、16ビットのデータ長を有し、このページが表示される際に最初に選択状態とされるボタンを指定するためのIDを示す。また、次のフィールドdefault_activated_button_id_refは、16ビットのデータ長を有し、図16を用いて説明したフィールドselection_time_out_ptsで示される時間に達した際に、自動的に実行状態となるボタンを指定するためのIDを示す。
フィールドpalette_id_refは、8ビットのデータ長を有し、このページが参照するパレットのIDを示す。すなわち、このフィールドpalette_id_refにより、IGストリームにおけるPDS中の色情報が指定される。
次のフィールドnumber_of_BOGsは、8ビットのデータ長を有し、このページで用いられるBOGsの数が示される。このフィールドnumber_of_BOGsで示される回数だけ、次のfor文からのループが繰り返され、ブロックbutton_overlap_group()により、BOGs毎の定義がなされる。
図18は、ブロックbutton_overlap_group()の一例の構造を表すシンタクスを示す。フィールドdefault_valid_button_id_refは、16ビットのデータ長を有し、このブロックbutton_overlap_group()で定義されるBOGsにおいて最初に表示されるボタンのIDを示す。次のフィールドnumber_of_buttonsは、8ビットのデータ長を有し、このBOGsで用いられるボタンの数を示す。そして、このフィールドnumber_of_buttonsで示される回数だけ、次のfor文からのループが繰り返され、ブロックbutton()によりボタンそれぞれの定義がなされる。
すなわち、既に説明したように、BOGsは、複数のボタンを持つことができ、BOGsが持つ複数のボタンのそれぞれの構造がブロックbutton()で定義される。このブロックbutton()で定義されるボタン構造が、実際に表示されるボタンである。
図19は、ブロックbutton()の一例の構造を表すシンタクスを示す。フィールドbutton_idは、16ビットのデータ長を有し、このボタンを識別するIDを示す。フィールドbutton_numeric_select_valueは、16ビットのデータ長を有し、このボタンがリモートコントロールコマンダ上の数字キーの何番に割り当てられているかを示す。フラグauto_action_flagは、1ビットのデータ長を有するフラグであって、このボタンが選択状態になったときに、当該ボタンに割り当てられた機能が自動的に実行されるか否かを示す。
なお、以下では、フラグフラグauto_action_flagにより、選択状態となったときに、割り当てられた機能が自動的に実行されるように定義されたボタンを、適宜、オートアクションボタンと呼ぶ。
次のフィールドbutton_horizontal_positionおよびフィールドbutton_vertical_positioは、それぞれ16ビットのデータ長を有し、このボタンを表示する画面上の水平方向の位置および垂直方向の位置(高さ)を示す。
ブロックneighbor_info()は、このボタンの周辺情報を示す。すなわち、このブロックneighbor_info()内の値により、このボタンが例えば選択状態となっている状態からリモートコントロールコマンダにおける上下左右の方向を指示できる方向キーが操作された際に、どのボタンが選択状態に遷移するかを示す。ブロックneighbor_info()内のフィールドにおいて、それぞれ16ビットのデータ長を有するフィールドupper_button_id_ref、フィールドlower_button_id_ref、フィールドleft_button_id_refおよびフィールドright_button_id_refは、上方向、下方向、左方向および右方向を指示する操作がなされた場合に選択状態に遷移されるボタンのIDをそれぞれ示す。
次からのブロックnormal_state_info()、ブロックselected_state_info()およびブロックactivated_state_info()は、それぞれ、通常状態、選択状態および実行状態時のボタンの情報を示す。
先ず、ブロックnormal_state_info()について説明する。それぞれ16ビットのデータ長を有するフィールドnormal_start_object_id_refおよびフィールドnormal_end_object_id_refは、この通常状態のボタンのアニメーションの先頭および末尾のオブジェクトを指定するIDがそれぞれ示される。すなわち、これらフィールドnormal_start_object_id_refおよびフィールドnormal_end_object_id_refにより、ボタンのアニメーション表示に用いられるボタン画像(すなわちアニメーションフレーム)が、対応するODSに対して指定される。
次のフラグnormal_repeat_flagは、1ビットのデータ長を有するフラグであって、このボタンのアニメーションがリピートするか否かが示される。例えば、フラグnormal_repeat_flagの値が"0"でリピートしないことを示し、値が"1"でリピートすることを示す。次のフラグnormal_complete_flagは、1ビットのデータ長を有するフラグであって、このボタンが通常状態から選択状態に遷移する際のアニメーション動作を制御する。
次に、ブロックselected_state_info()について説明する。このブロックselected_state_info()は、上述のブロックnormal_state_info()に対して、サウンドを指示するためのフィールドselected_state_sound_id_refが付加されている。フィールドselected_state_sound_id_refは、8ビットのデータ長を有し、この選択状態のボタンに対して再生されるサウンドファイルを示す。例えば、サウンドファイルは、ボタンが通常状態から選択状態に遷移した際の効果音として用いられる。
それぞれ16ビットのデータ長を有するフィールドselected_start_object_id_refおよびフィールドselected_end_object_id_refは、この選択状態のボタンのアニメーションの先頭および末尾のオブジェクトを指定するIDがそれぞれ示される。また、次の1ビットのデータ長を有するフラグであるフラグselected_repeat_flagは、このボタンのアニメーションがリピートするか否かが示される。例えば値が"0"でリピートしないことを示し、値が"1"でリピートすることを示す。
次のフラグselected_complete_flagは、1ビットのデータ長を有するフラグである。このフラグselected_complete_flagは、このボタンが選択状態から他の状態に遷移する際のアニメーション動作を制御するフラグである。すなわち、フラグselected_complete_flagは、ボタンが選択状態から実行状態に遷移する場合と、選択状態から通常状態に遷移する場合とに、用いることができる。
上述と同様、フラグselected_complete_flagの値が"1"であれば、このボタンが選択状態から他の状態へと遷移する際に、選択状態に定義されているアニメーションを、全て表示する。より具体的には、フラグselected_complete_flagの値が"1"であったなら、当該ボタンの選択状態のアニメーション表示中に当該ボタンを選択状態から他の状態に遷移させるような入力がなされた場合、その時点で表示されているアニメーションフレームから、上述したフィールドselected_end_object_id_refで示されるアニメーションフレームまで、アニメーション表示を行う。
また、フラグselected_complete_flagの値が"1"であって、且つ、フラグselected_repeat_flagがリピートすることを示している場合(例えば値"1")も、その時点で表示されているアニメーションフレームから、上述したフィールドselected_end_object_id_refで示されるアニメーションフレームまで、アニメーション表示を行う。
この場合、例えばボタンが選択できない状態にされた場合や、ボタンの表示そのものが消されてしまうような場合でも、これらの状態に遷移する時点がアニメーションの表示中であれば、フィールドselected_end_object_id_refで示されるアニメーションフレームまでアニメーション表示を行い、その後、ボタンの状態を遷移させる。
ボタンが選択できない状態は、例えば上述したフィールドselection_time_out_ptsの指定により、ボタンが選択できないような状態になった場合や、フィールドuser_time_out_durationの指定によりメニューが自動的に初期化されるような場合が考えられる。
一方、フラグselected_complete_flagの値が"0"であれば、このボタンが選択状態から他の状態へと遷移する際に、選択状態のボタンに定義されたアニメーションをフィールドselected_end_object_id_refで示されるアニメーションフレームまで表示せずに、状態の遷移が指示された時点でアニメーション表示を停止し、他の状態のボタンを表示する。
ブロックactivated_state_info()において、フィールドactivated_state_sound_id_refは、8ビットのデータ長を有し、この実行状態のボタンに対して再生されるサウンドファイルを示す。それぞれ16ビットのデータ長を有するフィールドactivated_start_object_id_refおよびフィールドactivated_end_object_id_refは、この実行状態のボタンのアニメーションの先頭および末尾のアニメーションフレーム(すなわちボタン画像)を指定するIDがそれぞれ示される。フィールドactivated_start_object_id_refおよびフィールドactivated_end_object_id_refが同一のボタン画像を参照していれば、当該実行状態のボタンに対して、1のボタン画像のみが関連付けられていることを示す。
なお、フィールドactivated_start_object_id_refまたはフィールドactivated_end_object_id_refは、値が〔0xFFFF〕で、ボタン画像が指定されていないことを示す。一例として、フィールドactivated_start_object_id_refの値が〔0xFFFF〕であって、且つ、フィールドactivated_end_object_id_refの値が有効なボタン画像を示していれば、当該実行状態のボタンに対してボタン画像が関連付けられていないとされる。また、フィールドactivated_start_object_id_refの値が有効なボタン画像を示し、且つ、フィールドactivated_end_object_id_refの値が〔0xFFFF〕であれば、無効なボタンとして扱うことが考えられる。
ブロックactivated_state_info()の説明を終わり、次のフィールドnumber_of_navigation_commandsは、16ビットのデータ長を有し、このボタンに埋め込まれるコマンドの数を示す。そして、このフィールドnumber_of_navigation_commandsで示される回数だけ、次のfor文からのループが繰り返され、このボタンにより実行されるコマンドnavigation_command()が定義される。これは、換言すれば、1つのボタンから複数のコマンドを実行させることができることを意味する。
次に、インタラクティブグラフィクス(以下、適宜、IGと略称する)のデコーダモデルについて、図20を用いて説明する。なお、この図20に示す構成は、インタラクティブグラフィクスのデコードを行うと共に、プレゼンテーショングラフィクスのデコードにおいても共通的に用いることができるものである。
先ず、ディスクがプレーヤに装填されると、インデックスファイル"index.bdmv"およびムービーオブジェクトファイル"MovieObject.bdmv"がディスクから読み込まれ、所定にトップメニューが表示される。トップメニューの表示に基づき、再生するタイトルを指示すると、ムービーオブジェクトファイル中の対応するナビゲーションコマンドにより、指示されたタイトルを再生するためのプレイリストファイルが呼び出される。そして、当該プレイリストファイルの記述に従い、プレイリストから再生を要求されたクリップAVストリームファイル、すなわち、MPEG2のトランスポートストリームがディスクから読み出される。
トランスポートストリームは、TSパケットとしてPIDフィルタ100に供給されてPIDが解析される。PIDフィルタ100では、供給されたTSパケットがビデオデータ、オーディオデータ、メニューデータおよびサブタイトル(字幕)データの何れを格納したパケットであるかを分類する。PIDがメニューデータすなわちインタラクティブグラフィクスを表している場合、若しくは、PIDがプレゼンテーショングラフィクスを表している場合に、図20の構成が有効とされる。なお、プレゼンテーショングラフィクスに関しては、この発明と直接的な関連性がないので、説明を省略する。
PIDフィルタ100において、トランスポートストリームからデコーダモデルが対応するデータを格納するTSパケットが選択されて、トランスポートバッファ(以下、TB:Transport Buffer)101に溜め込まれる。そして、TB101上でTSパケットのペイロードに格納されているデータが取り出される。PESパケットを構成可能なだけのデータがTB101に溜め込まれたら、PIDに基づきPESパケットが再構築される。すなわち、この段階で、TSパケットに分割されていた各セグメントがそれぞれ統合されることになる。
各セグメントによるPESパケットは、PESヘッダが取り除かれエレメンタリストリーム形式でデコーダ102にそれぞれ供給され、CDB(コーデッドデータバッファ:Coded Data Buffer)110に一旦溜め込まれる。STCに基づき、CDB110に溜め込まれたエレメンタリストリームのうち、対応するDTSに示される時刻に達したエレメンタリストリームがあれば、当該セグメントは、CDB110から読み出されてストリームグラフィックプロセッサ111に転送され、それぞれデコードされセグメントに展開される。
ストリームグラフィックプロセッサ111は、デコードが完了したセグメントを、DB(デコーデッドオブジェクトバッファ:Decoded Object Buffer)112またはCB(コンポジションバッファ:Composition Buffer)113に所定に格納する。PCS、ICS、WDSおよびODSのようにDTSを持つタイプのセグメントであれば、対応するDTSに示されるタイミングで、DB112またはCB113に格納する。また、PDSのようにDTSを持たないタイプのセグメントは、即座にCB113に格納される。
グラフィクスコントローラ114は、セグメントを制御する。グラフィクスコントローラ114は、CB113からICSを、当該ICSに対応するPTSに示されるタイミングで読み出すと共に、当該ICSにより参照されるPDSを読み出す。また、グラフィクスコントローラ114は、当該ICSから参照されるODSをDB112から読み出す。そして、読み出されたICSおよびODSをそれぞれデコードし、ボタン画像などメニュー画面を表示するためのデータを形成し、グラフィクスプレーン103に書き込む。
また、グラフィクスコントローラ114は、CB113から読み出されたPDSをデコードして、例えば図11を用いて説明したようなカラーパレットテーブルを形成し、CLUT104に書き込む。
グラフィクスプレーン103に書き込まれた画像イメージは、所定のタイミング、例えばフレームタイミングで読み出され、CLUT104のカラーパレットテーブルが参照されて色情報が付加されて出力画像データが構成され、この出力画像データが出力される。
図21〜図23を用いて、IGストリームによるメニュー表示と、メインパスのプレイリストに基づき再生されるビデオストリームとを合成して表示する例について、概略的に説明する。
図21は、IGストリームにより表示される一例のメニュー表示を示す。この例では、IGストリームにより、メニューの背景200が表示されると共に、ボタン201A、ボタン201Bおよびボタン201Cが表示される。ボタン201A、201Bおよび201Cのそれぞれには、通常状態、選択状態および実行状態を示すボタン画像を各々、用意することができる。メニューの背景200は、移動が禁止され、且つ、コマンドが設定されていないボタン(特殊ボタンと称する)により、表示される。なお、各ボタンは重なって表示できないという制約が設けられている。そのため、ボタン201A、201Bおよび201Cそれぞれに挟まれる部分、ボタン201Aの左側の部分、ならびに、ボタン201Cの右側の部分は、それぞれ独立した特殊ボタンが配置される。
これらボタン201A、201Bおよび201Cは、例えばリモートコントロールコマンダの十字キーの操作により右または左が指示されると、操作に応じて通常状態のボタン画像と選択状態のボタン画像とが順次、切り換えて表示される。さらに、この図21の例では、ボタンが選択状態になっているときに、例えば十字キーに対する下方向を指示する操作、または、決定キーの操作などにより、選択状態のボタンに対応するプルダウンメニュー202が表示される。
プルダウンメニュー202は、例えば複数のボタン203A、203Bおよび203Cから構成される。これら複数のボタン203A、203Bおよび203Cも、上述のボタン201A、201Bおよび201Cと同様に、通常状態、選択状態および実行状態を示すボタン画像を各々、用意することができる。プルダウンメニュー202が表示されている状態で例えば十字キーの操作により上または下が指示されると、プルダウンメニュー202の各ボタン203A、203Bおよび203Cが操作に応じて通常状態のボタン画像と選択状態のボタン画像とが順次、切り換えて表示される。例えば決定ボタンの操作により、選択状態のボタン画像が実行状態のボタン画像に切り換えられて表示され、実行状態のボタン画像が、後述するような、この発明の実施の一形態による表示制御に基づき表示され、当該ボタンに割り当てられた機能がプレーヤに実行される。
このようなメニュー表示と、図22に一例が示される、メインパスのプレイアイテムにより再生され動画プレーン10に表示される動画データとを合成する場合について考える。図21の画面中、プルダウンメニュー202部分を含むメニュー表示以外の部分の不透明度αが"0"に設定され、インタラクティブグラフィクスプレーン12と、動画プレーン10とが合成される。これにより、図23に一例が示されるように、図22に例示される動画データに対して図21に例示されるメニュー表示が合成された表示が得られる。
上述したメニュー表示におけるプルダウンメニュー表示を実現するための方法の例について、概略的に説明する。一例として、ボタン201Aが選択状態になっているときに、リモートコントロールコマンダの決定キーを操作してプルダウンメニュー202を表示させる例について、図24を用いて説明する。なお、図24において上述した図21と共通する部分には同一の符号を付し、詳細な説明を省略する。
この図24の例では、背景200、ボタン201A、201Bおよび201C、ならびに、プルダウンメニュー202を含むメニュー表示がページ"0"で示されるメニュー画面に表示されるものとする。ボタン201A、ボタン201Bおよびボタン201Cは、それぞれボタンを識別するためのIDである値button_idが"1"、"2"および"3"で定義されるボタンオーバーラップグループ(BOG)とされる。また、ボタン201Aに対応するプルダウンメニュー202における各ボタン203A、203Bおよび203Cは、値button_idがそれぞれ"3"、"4"および"5"で定義されるボタンオーバーラップグループとされる。
ボタン201Aを例にとると、ボタン201Aを定義するブロックbutton()において、当該ボタン201Aにより実行されるコマンドnavigation_command()の部分に、例えば次のようにコマンドを記述する。なお、以下に説明する各コマンドは、BD−ROM論理フォーマットにより定義されるコマンドである。
EnableButton(3);
EnableButton(4);
EnableButton(5);
SetButtonPage(1,0,3,0,0);
これらのコマンドにおいて、コマンドEnableButton()は、括弧「()」内に示される値を値button_idとして定義されたボタンをイネーブル状態(有効状態)とすることを示す。なお、ボタンを有効状態にするコマンドEnableButton()に対して、ボタンをディぜーブル状態すなわち無効状態にする場合は、コマンドDisableButton()が用いられる。
コマンドSetButtonPage()は、例えばコマンドEnableButton()で有効状態とされたボタンを選択可能とさせるためのコマンドである。コマンドSetButtonPage()は、5個のパラメータbutton_flag、パラメータpage_flag、パラメータbutton_id、パラメータpage_idおよびパラメータout_effect_off_flagを持つ。パラメータbutton_flagは、3番目のパラメータであるパラメータbutton_idの値をプレーヤが持つ、再生状態を管理するためのメモリ(PSR:Player Status Register)に設定することを示す。パラメータpage_flagは、PSRに保持している、ページを識別する値page_idを、4番目のパラメータであるパラメータpage_idに変更するか否かを示す。また、パラメータout_effect_off_flagは、当該ボタン201Aが非選択状態になったときに、当該ボタン201Aに定義されるエフェクトが実行されるか否かが示される。
一方、プルダウンメニュー202を構成するボタン203A、ボタン203Bおよびボタン203Cに対しても、これらのボタンが決定状態となったときに実行されるコマンドnavigation_command()が記述される。図24の例では、ボタン203Bに対して、用いるストリームを設定するコマンドSetStream()が記述される。この例では、コマンドSetStream()により2番目のPGストリームが用いられることが示される。
なお、上述したような、各ボタンに対して記述されるコマンドnavigation_command()は、一例であって、これに限られるものではない。例えば、字幕を選択するためのプルダウンメニュー202のボタン203Aおよび203Cにも、上述のボタン203Bと同様に、コマンドSetStream()が記述されることが考えられる。
図24に例示されるメニュー画面において、ボタン201Aが選択状態のときに決定キーを操作すると、値button_idが"3"、"4"および"5"で定義されるボタン、すなわち、プルダウンメニュー202におけるボタン203A、203Bおよび203Cがそれぞれ有効状態とされ、対応するボタン画像が表示される。このとき、コマンドSetButtonPage(1,0,3,0,0)の記述に基づき、値button_idが"3"で示されるボタン203Aが選択状態とされる。
さらに十字キーなどの操作により下方向が指示されると、ボタンに対するフォーカスが下に移動されてボタン203Aが選択状態から通常状態に遷移され、ボタン203Bが通常状態から選択状態へと遷移される。この状態で決定キーを操作すると、ボタン203Bにおけるコマンドnavigation_command()の記述に従い、2番目のPGストリームが選択され、字幕表示が英語による字幕に切り換えられる。
別の例として、ボタン201Aが選択状態となっているときに、リモートコントロールコマンダの十字キーなどにより下方向を指定する操作を行って、プルダウンメニュー202を表示させる例について、図25および図26を用いて説明する。これら図25および図26では、メニュー表示に対して、メインパスのプレイアイテムにより動画プレーン10に表示される動画データが合成されている。
なお、図25および図26において、上述した図21、図23および図24などと共通する部分には同一の符号を付し、詳細な説明を省略する。例えば、図26に示される、プルダウンメニュー202上のボタン203A、203Bおよび203Cは、それぞれ値button_idが"3"、"4"および"5"で定義され、ボタン203Bに対して、2番目のPGストリームを用いるとされたコマンドSetStream()が記述されるものとする。
ボタンの選択状態に対して、決定キーではなく下方向キーなどでプルダウンメニュー202を表示させる場合、例えば、図25および図26に例示されるように、ユーザに対して見せないようにされた隠しボタン204を用いる方法が考えられる。隠しボタン204は、例えば隠しボタン204に関連付けられたボタン画像データに対して、不透明度α=0を指定することで、実現することができる。図25および図26では、説明のため隠しボタン204を点線の枠で示したいるが、実際には、隠しボタン204は表示されておらず、後ろのプレーン(例えば動画プレーン10)の画像が透過されて表示されている。
図25を参照し、隠しボタン204を定義するブロックbutton()において、隠しボタン204を識別する値button_idを例えば"7"とし、この隠しボタン204を値button_idが"7"で定義されるボタンオーバーラップグループとする。さらに、当該ブロックbutton()において、フラグauto_action_flagの値を例えば"1b"(「b」は、直前の数値がバイナリ値であることを示す)とし、この隠しボタン204を、選択状態から自動的に実行状態に遷移するように定義する。そして、当該隠しボタン204より実行されるコマンドnavigation_command()の部分に、例えば次のようにコマンドを記述する。
EnableButton(3);
EnableButton(4);
EnableButton(5);
SetButtonPage(1,0,3,0,0);
一方、例えば字幕選択を行うボタン201Aに対し、フィールドlower_button_id_refの値を"7"とし、ボタン201Aが選択状態のときに十字キーなどの操作により下方向が指定されると、値button_idが"7"のボタン(この例では上述の隠しボタン204)が選択状態に遷移するように設定される。
図25に例示されるメニュー表示に対し、ボタン201Aが選択状態とされているときに十字キーの操作などにより下方向が指示されると、ボタン201Aにおけるフィールドlower_button_id_refの記述に従い、値button_idが"7"で示される隠しボタン204が選択状態とされる。ここで、この隠しボタン204には、フラグauto_action_flagにより選択状態から自動的に実行状態に遷移するように定義されている。そのため、隠しボタン204におけるコマンドnavigation_command()の部分のコマンドEnableButton()の記述に従い、値button_idが"3"、"4"および"5"で定義されるボタン、すなわちプルダウンメニュー202のボタン203A、203Bおよび203Cがそれぞれ有効状態とされ、対応するボタン画像が表示される(図26参照)。このとき、コマンドSetButtonPage(1,0,3,0,0)の記述に基づき、値button_idが"3"で示されるボタン203Aが選択状態とされる。
さらに十字キーなどの操作により下方向が指示されると、ボタンに対するフォーカスが移動されてボタン203Aが選択状態から通常状態に遷移され、ボタン203Bが通常状態から選択状態へと遷移される。この状態で決定キーを操作すると、ボタン203Bにおけるコマンドnavigation_command()の記述に従い、2番目のプレゼンテーショングラフィクスストリームが選択され、字幕表示が英語による字幕に切り換えられる。
次に、この発明の実施の一形態について説明する。この発明では、複数の隠しボタンと、BD−ROM論理フォーマットにおいて定義されるコマンドEnableButton()の性質を利用して、あるコマンド以降に記述されたコマンドが実行されない制約の下で、当該コマンドによる動作を実現可能とするようにしている。
先ず、コマンドEnableButton()の性質について、図27を用いて説明する。図27において、ページIDが"0"のページ(以下、ページ#0)は、ポップアップメニューとして定義されている。このページ#0に対して、ボタンIDがそれぞれ"#1"、"#2"および"#3"とされたボタン400、ボタン401およびボタン402が配置されているものとする。
図27の例では、ボタン401は、例えば通常状態のボタン画像が説明文などを表示するための画像となっており、選択状態や実行状態に遷移されないものとする。また、ボタン400は、ボタン401の表示および非表示を切り換えるためのボタンである。ボタン401を表示させるためには、コマンドEnableButton(#2)を用いてボタン401を有効状態とし、非表示とするためには、コマンドDisableButton(#2)を用いてボタン401を無効状態とする。
すなわち、ボタン400においてコマンドEnableButton(#2)が実行されると、ボタン401が有効状態とされ、図27Aに一例が示されるように、ボタン401が表示される。また、図27Aのボタン401が表示されている状態で、ボタン400においてコマンドDisableButton(#2)が実行されると、ボタン401が無効状態とされ、図27Bに一例が示されるように、ボタン401が非表示状態とされる。また、コマンドEnableButton()およびコマンドDisableButton()によってボタンIDが指定されていないボタン402は、ボタン400のコマンドによるボタン401の表示および非表示状態に影響されない。
ここで、(1)ボタンに関連付けられたコマンドDisableButton()により当該ボタン自身を無効状態にしたり、(2)当該ボタン自身が含まれるBOG(Button Of Group)の、別のボタンをコマンドEnableButton()で有効状態にした場合の動作について説明する。BD−ROM論理フォーマットにおいては、下記のように定義される。
(1)の、ボタンに関連付けられたコマンドDisableButton()により当該ボタン自身を無効状態にした場合、当該ボタンに関連付けられたコマンドを最後まで実行し、その間に他のボタンが選択されれば、当該他のボタンが選択状態に遷移する。若し、選択状態にあるボタンが存在しなければ、そのときに最も相応しいボタンが選択状態にされる。例えば、ページにおいて、当該ページが表示された際にデフォルトで選択状態になるように設定されたボタンが選択状態とされる。
(2)の、当該ボタン自身が含まれるBOGの、別のボタンをコマンドEnableButton()で有効状態にした場合、当該ボタンに関連付けられるコマンドを最後まで実行し、その間にコマンドによって他のボタンが選択されれば、当該他のボタンが選択状態に遷移される。若し、選択状態にあるボタンが存在しなければ、有効状態とされたボタンが選択状態とされる。
すなわち、コマンドEnableButton()およびコマンドDisableButton()は、これらのコマンドで指定されたボタンに関連付けられたコマンドを全て実行してから、当該ボタンが有効状態または無効状態とされる。また、コマンドEnableButton()およびコマンドDisableButton()は、次に選択状態となるボタンを自動的に指定できる。この発明の実施の一形態では、コマンドEnableButton()およびコマンドDisableButton()のこのような性質を利用して、所期の目的を達成する。
一例として、図28に例示されるようなメニュー画面を考える。このメニュー画面は、ポップアップメニューとして定義され、ページ#0に配置されたボタン405、406および407により、チャプタジャンプを行うようにしたものである。ここで、ボタン406を用いてチャプタジャンプを行った場合に、チャプタジャンプによりストリームの再生位置が変更された後に、このポップアップメニューをOFFとする場合について考える。
ボタン405は、このページ#0においてデフォルトで選択状態とされるボタンであって、シーン#1へのチャプタジャンプを指示する。同様に、ボタン406およびボタン407は、それぞれシーン#2およびシーン#3へのチャプタジャンプを指示する。ボタン405のボタンIDを"#1"とし、ボタン407のボタンIDを"#3"とする。これらボタン405および407は、以下の説明に直接的な関連がないので、詳細な説明を省略する。
なお、ページにおいてデフォルトのボタンは、ICSにおけるブロックpage()のフィールドdefault_selected_button_id_refによって指定される(図17参照)。
ボタン406は、互いに異なるIDを持つ2つのボタン406Aおよびボタン406Bからなる。ボタン406AのボタンIDを"#2"とし、ボタン406BのボタンIDを"#2−2"とする。ボタン406Bは、例えば初期状態で無効状態とされ表示されず、ボタン406としてはボタン406Aのみが表示される。
さらに、ページ#0に対して2つの隠しボタン408および409が配置される。隠しボタン408のボタンIDを"#4"とし、隠しボタン409のボタンIDを"#5"とする。この隠しボタン408および409と、上述のボタン406Aおよび406Bは、同じBOG(ボタンオーバーラップグループ)410に属するようにする。図28では、ボタン406Aおよび406B、ならびに、隠しボタン408および409がそれぞれ異なる位置に配置されるように示されているが、これは説明のためであって、実際には、これら4ボタンは、同一のBOGに属するため同一位置に配置される。これは、以下の説明において同様である。
ボタン406Aより実行されるコマンドnavigation_command()の部分に、例えば次のようにコマンドを記述する。
EnableButton(#2−2);
SetButtonPage(#4);
すなわち、ボタン406Aを実行状態とすると、ボタン406Bが有効状態とされ、隠しボタン408が選択状態とされる。なお、上記では、コマンドSetButtonPage()についてパラメータbutton_idのみを記述し、他のパラメータを省略している。背景技術の項で既に説明したように、このコマンドSetButtonPage()以降に記述されるコマンドは、実行されない。
隠しボタン408は、フラグauto_action_flagの値が"1b"とされ、オートアクションボタンに定義される。また、隠しボタン408により実行されるコマンドnavigation_command()の部分に、例えば次のようにコマンドを記述する。
EnableButton(#5);
LinkPI(目的のシーン);
なお、コマンドLinkPI()は、プレイアイテムIDを指定することで、そのIDを持つプレイアイテムに再生位置を変更させるコマンドである。したがって、背景技術の項で既に説明したように、このコマンドLinkPI()以降に記述されるコマンドは、実行されない。この隠しボタン408が選択状態にされると、自動的に実行状態に遷移し、隠しボタン409を有効状態として、コマンドLinkPI()で指定されたプレイアイテムに再生位置を変更する。
隠しボタン409は、フラグauto_action_flagの値が"1b"とされ、オートアクションボタンに定義される。また、隠しボタン408により実行されるコマンドnavigation_command()の部分に、例えば次のようにコマンドを記述する。
EnableButton(#2);
PopUpMenuOFF;
なお、コマンドPopUpMenuOFFは、ポップアップメニューを終了させるコマンドである。背景技術の項で既に説明したように、このコマンドPopUpMenuOFF以降に記述されるコマンドは、実行されない。この隠しボタン409が選択状態にされると、自動的に実行状態に遷移し、ボタン406Aを有効状態として、ポップアップメニューを終了させる。
この図28に例示されるように構成されたポップアップメニューの一例の動作について、図29〜図31を用いて説明する。図29は、ボタン406Aに対するチャプタジャンプを指示する操作が行われてから、ポップアップメニューがOFFとされるまでの一例の処理を示すフローチャートである。図30および図31は、図29のフローチャートに対応する、ポップアップメニューの状態の変化の例を示す。なお、図30および図31において、上述の図28と共通する部分には同一の符号を付し、詳細な説明を省略する。
図30Aに例示されるように、メニュー表示421は、ポップアップメニューとして定義され、メインパスの動画データによる映像420と合成して表示される。さらに、メニュー表示421に表示されるボタン405、406Aおよび407は、それぞれチャプタジャンプ先における代表的なシーンによるサムネイル画像がボタン画像として用いられている。また、ボタン406Bは、ボタン406Aのボタン画像が多少変更されて用いられ、ボタン406Aのボタン画像に対して恰も選択状態を示すボタン画像の如くされている。図30の例では、ボタン406Aのボタン画像に対して、ボタン406Bのボタン画像において枠が太くされている。
なお、隠しボタン408および409は、実際には表示されないが、図30および図31では、説明のため、点線で囲って示してある。また、ボタン406は、図29ではシーン#2のボタンとして記述され、隠しボタン408および409は、図29では、それぞれ隠しボタン#4および隠しボタン#5として記述されている。
図29のフローチャートにおいて、ステップS10で、シーン#2へのチャプタジャンプを行うために、例えばリモートコントロールコマンダの十字キーや決定キーが操作され、ボタン406Aが通常状態から選択状態に遷移され、さらに選択状態から実行状態に遷移される。
ボタン406Aが実行状態に遷移されると、当該ボタン406Aに関連付けられたコマンドが実行される。すなわち、ステップS11で、コマンドEnableButton(#2−2)により、ボタン406Bが有効状態とされ、ボタン406Bの選択状態のボタン画像が表示される。次に、ステップS12で、コマンドSetButtonPage(#4)により隠しボタン408が選択状態とされる。ステップS11およびステップS12が実行された際の、一例のメニュー表示421を図30Bに示す。
隠しボタン408は、フラグauto_action_flagが値"1b"とされ、オートアクションボタンとして定義されているので、選択状態になると自動的に実行状態に遷移され、隠しボタン408に関連付けられたコマンドが自動的に実行される。すなわち、ステップS13でコマンドEnableButton(#5)により隠しボタン409が有効とされ、ステップS14で、コマンドLinkPI(目的のシーン)により指定されるプレイアイテムに再生位置が変更される。
なお、隠しボタン408および409は、ユーザのリモートコントロールコマンダなどの操作により選択されないように設定される。例えば、ブロックbutton()内のブロックneighbor_info()において、これら隠しボタン408および409のIDを記述しない。
ここで、コマンドEnableButton(#5)により隠しボタン409が有効状態とされると、上述したコマンドEnableButton()の性質により、隠しボタン409が選択状態とされる。すなわち、隠しボタン408および隠しボタン409は、同じBOG410に属し、コマンドLinkPI(目的のシーン)が実行されるまでにコマンドにより他のボタンが選択されない場合、隠しボタン409が選択状態とされる。この様子を図30Cに示す。
ステップS14のコマンドLinkPI(目的のシーン)により実際に再生位置が変更されるのを待って、処理がステップS15に移行される。ステップS15では、上述のステップS13で選択状態とされた隠しボタン409が、オートアクションボタンの定義に従い自動的に実行状態に遷移され、隠しボタン409に関連付けられたコマンドEnableButton(#2)が実行される。これにより、図31Aに例示されるように、ボタン406Aが有効状態とされボタン406Aに対応するボタン画像が表示される。そして、隠しボタン409において、コマンドEnableButton(#2)の次に記述されるコマンドPopUpMenuOFFが実行され、ポップアップメニューであるメニュー表示421の表示が消去され、図31Eに例示されるように、コマンドLinkPI(目的のシーン)により指定されたプレイアイテムによるメインパスの映像420’のみが表示される。
このようにして、コマンドEnableButton()における、上述した(2)の、当該ボタン自身が含まれるBOGの、別のボタンをコマンドEnableButton()で有効状態にした場合の性質を利用して、コマンドLinkPI()の実行後にポップアップメニューをOFFとするアプリケーションが実現できる。
なお、上述の例では、ステップS12で、コマンドSetButtonPage()を用いて隠しボタン408を選択状態としている。コマンドSetButtonPage()は、無効状態のボタンであっても、選択状態に遷移させることができる。一方、プレーヤの実装によっては、前回の実行によって隠しボタン409が有効状態にあり、隠しボタン408が無効状態とされている場合も有り得る。そのため、コマンドSetButtonPage()を用いて、隠しボタン408を一意に有効状態としている。
また、上述の例では、ICSにおいて、ポップアップメニューであるメニュー表示421を表示させるページ#0に対し、ブロックpage()のフィールドdefault_selected_button_id_refにより予めデフォルトで選択状態にあるボタンを指定している。こうすることで、上述の手順でポップアップメニューをOFFとした後、再びこのポップアップメニューがONとされた際に、隠しボタン409が選択状態になっている状態を回避できる。
さらに、上述のステップS14においてコマンドLinkPI()で指定できるプレイアイテムは、現在再生中のプレイリストから参照されるプレイアイテムに限られる。これは、あるプレイリストが再生される際に、当該プレイリストに関連するIGストリームが全てディスクから読み出されてプレーヤにロードされ、再生するプレイリストが変更されると、ロードされたIGストリームをメモリ上から破棄してから、新たなIGストリームをロードするようになっているからである。
さらにまた、上述では、隠しボタン408により、コマンドEnableButton()の後に実行されるコマンドがコマンドLinkPI()として説明したが、これはこの例に限定されず、他のコマンドでもよい。また、上述では、隠しボタン408に対してコマンドEnableButton()とコマンドLinkPI()との2個のコマンドしか関連付けられていないが、これはこの例に限られない。すなわち、BD−ROM論理フォーマットにおいては、1のボタンに対して255個までコマンドを関連付けることができる。この実施の一形態においても同様に、コマンドEnableButton()を含めて最大で255個のコマンドを関連付けることができる。上述したコマンドEnableButton()の性質によれば、隠しボタン408に関連付けられた最大255個のコマンドは、全て実行され、その上で、コマンドEnableButton()により有効状態とされた隠しボタン409に関連付けられたコマンドが実行されることになる。これは、隠しボタン409についても同様である。
なお、上述では、以降に記述されるコマンドが実行されないコマンドとして、コマンドLinkPI()、コマンドPopUpMenuOFFおよびコマンドSetButtonPage()を例示したが、これはの例に限定されない。例えば、ストリームを切り換えるコマンドSetStream()も、以降に記述されるコマンドが実行されないコマンドである。
次に、この発明の実施の一形態に適用可能な再生装置について説明する。図32は、この発明の実施の一形態に適用可能な再生装置1の一例の構成を示す。再生装置1は、ストレージドライブ50、スイッチ回路51、AVデコーダ部52およびコントローラ部53を有する。ストレージドライブ50は、例えば、上述したBD−ROMを装填し再生可能とされているものとする。
コントローラ部53は、例えばCPU(Central Processing Unit)と、CPU上で動作されるプログラムが予め格納されたROM(Read Only Memory)、CPUによりプログラムの実行時にワークメモリとして用いられるRAM(Random Access Memory)などからなり、この再生装置1の全体的な動作を制御する。
また、図示は省略するが、再生装置1には、ユーザに対して所定の制御情報を提供すると共に、ユーザの操作に応じた制御信号を出力するようにされたユーザインターフェイスが設けられる。例えば、赤外線通信など所定の無線通信手段を介して再生装置1と遠隔的に通信を行うリモートコントロールコマンダがユーザインターフェイスとして用いられる。リモートコントロールコマンダ上には、上下左右方向をそれぞれ指示可能な十字キーといった方向キーや、数字キー、各種機能が予め割り当てられた機能キーなど、複数の入力手段が設けられる。なお、十字キーは、上下左右方向をそれぞれ指定可能であれば、形状は問わない。
リモートコントロールコマンダは、これらの入力手段に対してなされた操作に応じた制御信号を生成し、生成された制御信号を例えば赤外線信号に変調して送信する。再生装置1は、図示されない赤外線受信部においてこの赤外線信号を受信し、赤外線信号を電気信号に変換して復調し、元の制御信号を復元する。この制御信号がコントローラ部53に供給される。コントローラ部53は、この制御信号に応じて、プログラムに従い、再生装置1の動作を制御する。
ユーザインターフェイスは、リモートコントロールコマンダに限らず、例えば再生装置1の操作パネルに設けられたスイッチ群により構成することができる。また、再生装置1に、LAN(Local Area Network)などを介して通信を行う通信手段を設け、この通信手段を介して外部のコンピュータ装置などから供給された信号を、ユーザインターフェイスによる制御信号としてコントローラ部53に供給することも可能である。
また、当該再生装置1の言語設定の初期情報が、再生装置1が有する不揮発性メモリなどに記憶される。この言語設定の初期情報は、例えば再生装置1の電源投入時などにメモリから読み出され、コントローラ部53に供給される。
ストレージドライブ50にディスクが装填されると、コントローラ部53は、ストレージドライブ50を介してディスク上のファイルindex.bdmvやファイルMovieObject.bdmvを読み出し、読み出されたファイルの記述に基づきディレクトリ"PLAYLIST"内のプレイリストファイルを読み出す。コントローラ部53は、プレイリストファイルに含まれるプレイアイテムが参照するクリップAVストリームを、ディスクからストレージドライブ50を介して読み出す。また、コントローラ部53は、プレイリストがサブプレイアイテムを含む場合は、サブプレイアイテムにより参照されるクリップAVストリームやサブタイトルデータも、ディスクからストレージドライブ50を介して読み出す。
なお、以下では、サブプレイアイテムに対応するクリップAVストリームを、サブクリップAVストリームと呼び、サブプレイアイテムに対する主たるプレイアイテムに対応するクリップAVストリームを、メインクリップAVストリームと呼ぶ。
ストレージドライブ50から出力されたデータは、図示されない復調部およびエラー訂正部により復調処理およびエラー訂正処理を所定に施され、多重化ストリームが復元される。ここでの多重化ストリームは、PIDによりデータの種類や並び順などが識別され、所定サイズに分割され時分割多重されたトランスポートストリームである。この多重化ストリームは、スイッチ回路51に供給される。コントローラ部53は、例えばPIDに基づきスイッチ回路51を所定に制御してデータを種類毎に分類し、メインクリップAVストリームのパケットをバッファ60に供給し、サブクリップAVストリームのパケットをバッファ61に供給し、サウンドデータのパケットをサウンド出力部62に供給し、テキストデータのパケットをバッファ63に供給する。
バッファ60に溜め込まれたメインクリップAVストリームのパケットは、コントローラ部53の制御に基づきバッファ60からパケット毎に読み出され、PIDフィルタ64に供給される。PIDフィルタ64は、供給されたパケットのPIDに基づき、パケットを、ビデオストリームによるパケット、プレゼンテーショングラフィクスストリーム(以下、PGストリーム)によるパケット、インタラクティブグラフィクスストリーム(以下、IGストリーム)によるパケットおよびオーディオストリームによるパケットに振り分ける。
一方、バッファ61に溜め込まれたサブクリップAVストリームのパケットは、コントローラ部53の制御に基づきバッファ61からパケット毎に読み出され、PIDフィルタ90に供給される。PIDフィルタ90は、供給されたパケットのPIDに基づき、パケットを、ビデオストリームによるパケット、PGストリームによるパケット、IGストリームによるパケットおよびオーディオストリームによるパケットに振り分ける。
PIDフィルタ64により振り分けられたビデオストリームによるパケットと、PIDフィルタ90により振り分けられたビデオストリームによるパケットは、それぞれPIDフィルタ65に供給され、PIDに応じて振り分けられる。すなわち、PIDフィルタ65は、PIDフィルタ64から供給された、メインクリップAVストリームによるパケットを1stビデオデコーダ69に、PIDフィルタ90から供給された、サブクリップAVストリームによるパケットを2ndビデオデコーダ72に、それぞれ供給するように、パケットを振り分ける。
1stビデオデコーダ69は、供給されたパケットのペイロードからビデオストリームを所定に取り出し、取り出されたビデオストリームのMPEG2方式による圧縮符号を復号化する。1stビデオデコーダ69の出力は、1stビデオプレーン生成部70に供給され、ビデオプレーンが生成される。ビデオプレーンの生成は、例えばベースバンドのディジタルビデオデータの1フレームがフレームメモリに書き込まれることで生成される。1stビデオプレーン生成部70で生成されたビデオプレーンは、ビデオデータ処理部71に供給される。
2ndビデオデコーダ72および2ndビデオプレーン生成部73において、上述の1stビデオデコーダ69および1stビデオプレーン生成部70と略同様の処理がなされ、ビデオストリームが復号化されビデオプレーンが生成される。2ndビデオプレーン生成部73で生成されたビデオプレーンは、ビデオデータ処理部71に供給される。
ビデオデータ処理部71は、1stビデオプレーン生成部70で生成されたビデオプレーンと、2ndビデオプレーン生成部73で生成されたビデオプレーンとを、1つのフレームに例えば所定に嵌め込んで1枚のビデオプレーンを生成することができる。1stビデオプレーン生成部70で生成されたビデオプレーンと、2ndビデオプレーン生成部73で生成されたビデオプレーンとを、選択的に用いてビデオプレーンを生成してもよい。このビデオプレーンは、例えば上述の図9に例示した動画プレーン10に対応する。
PIDフィルタ64により振り分けられたPGストリームによるパケットと、PIDフィルタ90により振り分けられたPGストリームによるパケットは、それぞれスイッチ回路66に供給されて一方が所定に選択され、プレゼンテーショングラフィクスデコーダ74に供給される。プレゼンテーショングラフィクスデコーダ74は、供給されたパケットのペイロードからPGストリームを所定に取り出してデコードして字幕を表示するグラフィクスデータを生成し、スイッチ回路75に供給する。
スイッチ回路75は、このグラフィクスデータと、後述するテキストデータによる字幕データとを所定に選択し、プレゼンテーショングラフィクスプレーン生成部76に供給する。プレゼンテーショングラフィクスプレーン生成部76は、供給されたデータに基づきプレゼンテーショングラフィクスプレーンを生成し、ビデオデータ処理部71に供給する。このプレゼンテーショングラフィクスプレーンは、例えば上述の図9に例示した字幕プレーン11に対応する。
PIDフィルタ64により振り分けられたIGストリームによるパケットと、PIDフィルタ90により振り分けられたIGストリームによるパケットは、それぞれスイッチ回路67に供給されて一方が所定に選択され、インタラクティブグラフィクスデコーダ77に供給される。インタラクティブグラフィクスデコーダ77は、供給されたIGストリームによるパケットからIGストリームのICS、PDSおよびODSを所定に取り出してデコードする。例えば、インタラクティブグラフィクスデコーダ77は、供給されたパケットのペイロードからデータを取り出し、PESパケットを再構築する。そして、このPESパケットのヘッダ情報などに基づき、IGストリームのICS、PDSおよびODSをそれぞれ取り出す。デコードされたICSはおよびPDSは、CB(Composition Buffer)と呼ばれるバッファに格納される。また、ODSは、DB(Decoded Buffer)と呼ばれるバッファに格納される。例えば図32におけるプリロードバッファ78が、これらCBおよびDBに相当する。
なお、PESパケットは、再生出力に関する時間管理情報であるPTS(Presentation Time Stamp)と、復号化に関する時間管理情報であるDTS(Decoding Time Stamp)とを有している。IGストリームによるメニュー表示は、対応するPESパケットに格納されるPTSにより時間管理されて表示される。例えば、上述したプリロードバッファに格納されたIGストリームを構成する各データは、PTSに基づき所定の時間に読み出すように制御される。
プリロードバッファ78から読み出されたIGストリームのデータは、インタラクティブグラフィクスプレーン生成部79に供給され、インタラクティブグラフィクスプレーンが生成される。このインタラクティブグラフィクスプレーンは、例えば上述の図9に例示したグラフィクスプレーン12に対応する。
例えば、ユーザインターフェイスに設けられた入力手段に対する所定の操作に応じて、表示するボタンの状態が例えば選択状態から実行状態へと遷移したときには、インタラクティブグラフィクスデコーダ77は、ボタンの実行状態に関連付けられたボタン画像およびサウンドデータに基づき、当該ボタンの実行状態に関連付けられたボタン画像の表示制御を行う。
一例として、リモートコントロールコマンダに対して設けられた所定のキー操作により、ポップアップメニューの表示が指示された場合、再生中のプレイアイテムにポップアップメニューの表示が定義されていれば、関連するIGストリームのデータに基づきポップアップメニューをメインパスの動画データと合成して表示させるように制御する。例えば、インタラクティブグラフィクスデコーダ77は、CBに格納されたデコードされたICSから参照される、デコードされたPDSをCBから読み出すと共に、対応するデコードされたODSをDBから読み出し、ボタン画像を表示するためのデータを形成する。
また、インタラクティブグラフィクスデコーダ77は、CBに格納されたデコードされたICSから、各ボタンに関連付けられたナビゲーションコマンドを抽出する。抽出されたナビゲーションコマンドは、例えばコントローラ部53に渡される。コントローラ部53は、このナビゲーションコマンドに基づきこの再生装置1の各部を所定に制御する。上述した図29のフローチャートによる各処理は、例えばコントローラ部53により、ナビゲーションコマンドに基づきインタラクティブグラフィクスデコーダ77などが制御されて実現される。
ビデオデータ処理部71は、例えば図10を用いて説明したグラフィクス処理部を含み、供給されたビデオプレーン(図10における動画プレーン10)、プレゼンテーショングラフィクスプレーン(図10における字幕プレーン11)およびインタラクティブグラフィクスプレーン(図10におけるグラフィクスプレーン12)を、所定に合成して1枚の画像データとし、ビデオ信号にして出力する。
PIDフィルタ64により振り分けられたオーディオストリームと、PIDフィルタ90により振り分けられたオーディオストリームは、それぞれスイッチ回路68に供給される。スイッチ回路68は、供給された2つのオーディオストリームのうち一方を1stオーディオデコーダ80に、他方を2ndオーディオデコーダ81に供給するように、所定に選択する。1stオーディオデコーダ80および2ndオーディオデコーダ81でそれぞれデコードされたオーディオストリームは、加算器82で合成される。
サウンド出力部62は、バッファメモリを有し、スイッチ回路51から供給されたサウンドデータをバッファメモリに溜め込む。そして、例えばインタラクティブグラフィクスデコーダ77からの指示に基づき、バッファメモリに溜め込まれたサウンドデータをデコードし、出力する。出力されたサウンドデータは、加算器83に供給され、加算器82から出力されたオーディオストリームと合成される。サウンドデータの再生終了時刻は、例えば、サウンド出力部62からインタラクティブグラフィクスデコーダ77に対して通知される。なお、サウンドデータの再生と、ボタン画像の表示との協調的な制御は、より上位のコントローラ53の命令に基づき行うようにしてもよい。
バッファ63から読み出されたテキストデータは、Text−STコンポジション部で所定に処理され、スイッチ回路75に供給される。
上述では、再生装置1の各部がハードウェアで構成されるように説明したが、これはこの例に限られない。例えば、再生装置1をソフトウェア上の処理として実現することも可能である。この場合、再生装置1をコンピュータ装置上で動作させることができる。また、再生装置1をハードウェアおよびソフトウェアが混合された構成で実現することもできる。例えば、再生装置1における各デコーダ、特に、1stビデオデコーダ69、2ndビデオデコーダ72など処理の負荷が他と比べて大きな部分をハードウェアで構成し、その他をソフトウェアで構成することが考えられる。
再生装置1をソフトウェアのみ、または、ハードウェアおよびソフトウェアの混合により構成し、コンピュータ装置で実行させるためのプログラムは、例えばCD−ROM(Compact Disc-Read Only Memory)やDVD−ROM(Digital Versatile Disc Read Only Memory)といった記録媒体に記録されて提供される。この記録媒体をコンピュータ装置のドライブに装填し、記録媒体上に記録されたプログラムを所定にコンピュータ装置にインストールすることで、上述の処理をコンピュータ装置上で実行可能な状態とすることができる。プログラムをBD−ROMに記録することも考えられる。なお、コンピュータ装置の構成は、極めて周知であるため、説明は省略する。
次に、図33および図34を参照して、再生装置1において再生可能なディスクの一例の製造方法について説明する。図33に一例を示すように、例えばガラスなどよりなる原盤が用意され、その上に、例えばフォトレジストなどよりなる記録材料が塗布される。これにより、記録用原盤が製作される。
そして、図34に示すように、ソフト製作処理部において、符号化装置(ビデオエンコーダ)で符号化された、再生装置1において再生可能な形式のビデオデータが一時バッファに記憶され、オーディオエンコーダで符号化されたオーディオデータが一時バッファに記憶される。また、プレゼンテーショングラフィクスデータおよびインタラクティブグラフィクスデータがそれぞれ所定に符号化され、一時バッファに記憶される。さらに、データエンコーダで符号化された、ストリーム以外のデータ(例えば、インデックス、プレイリスト、プレイアイテムなど)が一時バッファに記憶される。
なお、インデックス、プレイリスト、プレイアイテムなどのストリーム以外のデータや、インタラクティブグラフィクスストリームを構成する、ICS、PDS、ODSなどのデータは、図示されないコンピュータ装置などで、例えばビデオデータやオーディオデータの情報を参照しつつ作成および編集され、データエンコーダに供給される。
それぞれのバッファに記憶されたビデオデータ、オーディオデータ、プレゼンテーショングラフィクスデータ、インタラクティブグラフィクスデータ、ならびに、ストリーム以外のデータは、多重化器(MPX)で同期信号と共に多重化され、誤り訂正符号回路(ECC)でエラー訂正用のコードが付加される。そして、変調回路(MOD)で所定の変調がかけられ、所定のフォーマットにしたがって、例えば磁気テープなどに一旦記録され、再生装置1において再生可能な記録媒体21に記録されるソフトウェアが製作される。
なお、ソフト製作処理部は、周知の構成のコンピュータ装置で構成することが可能で(図示しない)、所定のプログラムに従いCPUなどで全体の動作を制御することが可能である。プログラムは、例えばCD−ROMやDVD−ROMといった記録媒体に記録されて提供される。プログラムを記録した記録媒体をコンピュータ装置に所定に装填し、プログラムをコンピュータ装置のシステムに所定にインストールすることで、コンピュータ装置においてソフトウェア製作処理部を構成することができる。
このソフトウェアを必要に応じて編集(プリマスタリング)し、光ディスクに記録すべきフォーマットの信号が生成される。そして、この記録信号に対応して、レーザビームが変調されて、このレーザビームが原盤上のフォトレジスト上に照射される。これにより、原盤上のフォトレジストが記録信号に対応して露光される。
その後、この原盤を現像し、原盤上にピットを出現させる。このようにして用意された原盤に、例えば電鋳等の処理を施し、ガラス原盤上のピットを転写した金属原盤を製作する。この金属原盤から、さらに金属スタンパを製作し、これを成形用金型とする。
この成形用金型に、例えばインジェクションなどによりPMMA(アクリル)またはPC(ポリカーボネート)などの材料を注入し、固定化させる。あるいは、金属スタンパ上に2P(紫外線硬化樹脂)などを塗布した後、紫外線を照射して硬化させる。これにより、金属スタンパ上のピットを、樹脂よりなるレプリカ上に転写することができる。
このようにして生成されたレプリカ上に、反射膜が、蒸着あるいはスパッタリングなどにより形成される。あるいはまた、生成されたレプリカ上に、反射膜が、スピンコートにより形成される。
その後、このディスクに対して内外径の加工が施され、2枚のディスクを張り合わせるなどの必要な処置が施される。さらに、ラベルを貼り付けたり、ハブが取り付けられて、カートリッジに挿入される。このようにして再生装置1などによって再生可能なデータが記録されたディスクが完成する。
BD−ROMのデータモデルを概略的に示す略線図である。 インデックステーブルを説明するための略線図である。 クリップAVストリーム、クリップ情報、クリップ、プレイアイテムおよびプレイリストの関係を示すUML図である。 複数のプレイリストから同一のクリップを参照する方法を説明するための略線図である。 サブパスについて説明するための略線図である。 記録媒体に記録されるファイルの管理構造を説明するための略線図である。 BD仮想プレーヤの動作を概略的に示すフローチャートである。 BD仮想プレーヤの動作を概略的に示す略線図である。 この発明の実施の一形態で画像の表示系として用いられるプレーン構造の一例を示す略線図である。 動画プレーン、字幕プレーンおよびグラフィクスプレーンを合成する一例の構成を示すブロック図である。 パレットに格納される一例のパレットテーブルを示す略線図である。 ボタン画像の一例の格納形式を説明するための略線図である。 グラフィクスプレーン上に表示されるボタン表示の一例の状態遷移図である。 メニュー画面およびボタンの構成を概略的に示す略線図である。 ICSのヘッダ情報の一例の構造を表すシンタクスを示す略線図である。 ブロックinteractive_composition_data_fragemnt()の一例の構造を表すシンタクスを示す略線図である。 ブロックpage()の一例の構造を表すシンタクスを示す略線図である。 ブロックbutton_overlap_group()の一例の構造を表すシンタクスを示す略線図である。 ブロックbutton()の一例の構造を表すシンタクスを示す略線図である。 インタラクティブグラフィクスの一例のデコーダモデルを示すブロック図である。 IGストリームにより表示される一例のメニュー表示を示す略線図である。 メインパスのプレイアイテムにより再生された動画データが動画プレーンに表示された様子を示す略線図である。 メニュー表示とメインパスのプレイアイテムにより再生され動画プレーンに表示される動画データとを合成した一例の表示を示す略線図である。 決定キーを操作してプルダウンメニューを表示させる例を説明するための略線図である。 十字キーなどにより下方向を指定する操作を行ってプルダウンメニューを表示させる例を説明するための略線図である。 十字キーなどにより下方向を指定する操作を行ってプルダウンメニューを表示させる例を説明するための略線図である。 コマンドEnableButton()の性質について説明するための略線図である。 この発明の実施の一形態によるメニュー表示制御を説明するための略線図である。 この発明の実施の一形態によるメニュー表示制御の一例の処理を示すフローチャートである。 この発明の実施の一形態によるメニュー表示制御を説明するための略線図である。 この発明の実施の一形態によるメニュー表示制御を説明するための略線図である。 この発明の実施の一形態に適用可能な再生装置の一例の構成を示すブロック図である。 一例のディスク製造過程を示す略線図である。 ソフト製作処理部の一例の構成を示すブロック図である。
符号の説明
1 再生装置
10 動画プレーン
11 字幕プレーン
12 インタラクティブグラフィクスプレーン
50 ストレージドライブ
51 スイッチ部
52 AVデコーダ部
53 コントローラ
62 サウンド出力部
77 インタラクティブグラフィクスデコーダ
102 グラフィクスデコーダ
103 グラフィクスプレーン
104 CLUT
111 ストリームグラフィクスプロセッサ
112 DB
113 CB
114 グラフィクスコントローラ
201A,201B,201C ボタン
202 プルダウンメニュー
203A,203B,203C ボタン
204 隠しボタン
300 ボタン
301 メニュー画面
303A 通常状態を表すボタン
303B 選択状態を表すボタン
303C 実行状態を表すボタン
405,406A,406B,407 ボタン
408,409 隠しボタン
410 BOG
420 メニュー表示

Claims (5)

  1. 表示ボタン、第1の透明領域および第2の透明領域のそれぞれに関連付けられたコマンドを実行する制御部を有する再生装置であって、
    記表示ボタンは、表示される通常状態、上記表示された状態で選択操作がなされる選択状態および上記表示ボタンに関連付けられたコマンドが実行される実行状態の3状態を遷移可能とされ、
    上記表示ボタンには、少なくとも、上記第1の透明領域に関連付けられたコマンドを実行させるための第1のコマンドが関連付けられ、
    上記第1の透明領域には、少なくとも、有効化コマンドと、該有効化コマンドの次に実行される第2のコマンドとが関連付けられ、
    該第2のコマンドは、該第2のコマンドの内容が所定の内容である場合には、上記第1の透明領域に関連付けられたコマンドのうち、該第2のコマンドの次以降に記述されるコマンドが実行されない制約を有し、
    記第2の透明領域には、少なくとも、上記第2のコマンドより時系列的に後に実行される第3のコマンドが関連付けられ、
    操作画面の所定領域に上記表示ボタンが表示されるとともに、上記第1の透明領域および上記第2の透明領域は、上記所定領域と同一の領域とされ、
    上記表示ボタンを実行状態にする操作入力がなされると、上記第1のコマンドが実行され
    上記第1のコマンドが実行されることに応じて、上記有効化コマンドが実行され、
    上記有効化コマンドが実行されることに応じて、上記第3のコマンドの実行を待機し、
    上記有効化コマンドに続いて上記第2のコマンドが実行され、
    上記第2のコマンドに基づく処理が終了するまで、上記第3のコマンドの実行を待機する再生装置。
  2. 上記第2のコマンドに基づく処理が終了するまでの間に、他の表示ボタンが選択されない場合には、上記第3のコマンドが実行される請求項1に記載の再生装置。
  3. 上記第2のコマンドは、コンテンツデータの再生位置を変更させるコマンドである請求項1または2に記載の再生装置。
  4. 上記操作画面は、操作入力に応じてON/OFFの切り換えが可能なポップアップメニューであり、
    上記第3のコマンドは、該ポップアップメニューをオフさせるコマンドである請求項1乃至のいずれか1に記載の再生装置
  5. 表示ボタン、第1の透明領域および第2の透明領域のそれぞれに関連付けられたコマンドを実行する制御部を有する再生装置における再生方法であって、
    記表示ボタンは、表示される通常状態、上記表示された状態で選択操作がなされる選択状態および上記表示ボタンに関連付けられたコマンドが実行される実行状態の3状態を遷移可能とされ、
    上記表示ボタンには、少なくとも、上記第1の透明領域に関連付けられたコマンドを実行させるための第1のコマンドが関連付けられ、
    上記第1の透明領域には、少なくとも、有効化コマンドと、該有効化コマンドの次に実行される第2のコマンドとが関連付けられ、
    該第2のコマンドは、該第2のコマンドの内容が所定の内容である場合には、上記第1の透明領域に関連付けられたコマンドのうち、該第2のコマンドの次以降に記述されるコマンドが実行されない制約を有し、
    記第2の透明領域には、少なくとも、上記第2のコマンドより時系列的に後に実行される第3のコマンドが関連付けられ、
    操作画面の所定領域に上記表示ボタンが表示されるとともに、上記第1の透明領域および上記第2の透明領域は、上記所定領域と同一の領域とされ、
    上記表示ボタンを実行状態にする操作入力がなされると、上記第1のコマンドが実行され
    上記第1のコマンドが実行されることに応じて、上記有効化コマンドが実行されるとともに、上記第2のコマンドが実行され、
    上記有効化コマンドが実行されることに応じて、上記第3のコマンドの実行を待機し、
    上記有効化コマンドに続いて上記第2のコマンドが実行され、
    上記第2のコマンドに基づく処理が終了するまで、上記第3のコマンドの実行を待機する再生装置における再生方法。
JP2006277368A 2006-10-11 2006-10-11 再生装置および再生方法 Active JP5034424B2 (ja)

Priority Applications (7)

Application Number Priority Date Filing Date Title
JP2006277368A JP5034424B2 (ja) 2006-10-11 2006-10-11 再生装置および再生方法
US11/867,490 US20080134097A1 (en) 2006-10-11 2007-10-04 Data structure, recording media, authoring method, and disc manufacturing method
TW096137889A TWI384396B (zh) 2006-10-11 2007-10-09 The computer can read the storage medium, the regeneration device, the method of displaying the user interface, the method of generating and recording the button data
AT07118190T ATE499681T1 (de) 2006-10-11 2007-10-10 Aufzeichnungsmedium, autorenmethode und herstellungsverfahren für optische discs
DE602007012630T DE602007012630D1 (de) 2006-10-11 2007-10-10 Aufzeichnungsmedium, Autorenmethode und Herstellungsverfahren für optische Discs
EP07118190A EP1912220B1 (en) 2006-10-11 2007-10-10 Recording medium, authoring method, and optical disc manufacturing method
CN2007101861756A CN101221792B (zh) 2006-10-11 2007-10-11 创作方法以及盘制造方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006277368A JP5034424B2 (ja) 2006-10-11 2006-10-11 再生装置および再生方法

Publications (2)

Publication Number Publication Date
JP2008097691A JP2008097691A (ja) 2008-04-24
JP5034424B2 true JP5034424B2 (ja) 2012-09-26

Family

ID=38921738

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006277368A Active JP5034424B2 (ja) 2006-10-11 2006-10-11 再生装置および再生方法

Country Status (7)

Country Link
US (1) US20080134097A1 (ja)
EP (1) EP1912220B1 (ja)
JP (1) JP5034424B2 (ja)
CN (1) CN101221792B (ja)
AT (1) ATE499681T1 (ja)
DE (1) DE602007012630D1 (ja)
TW (1) TWI384396B (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100900293B1 (ko) * 2008-01-10 2009-05-29 엘지전자 주식회사 방송수신장치 및 이를 이용한 외부장치의 데이터 재생방법
JP4985807B2 (ja) * 2009-04-15 2012-07-25 ソニー株式会社 再生装置および再生方法
EP2262230A1 (en) 2009-06-08 2010-12-15 Koninklijke Philips Electronics N.V. Device and method for processing video data
US9423925B1 (en) * 2012-07-11 2016-08-23 Google Inc. Adaptive content control and display for internet media
US10809868B1 (en) * 2014-12-22 2020-10-20 EMC IP Holding Company LLC Simplified feature management
GB2557194A (en) * 2016-11-29 2018-06-20 Sony Corp A decoder, encoder, computer program and method

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3345412B2 (ja) * 1996-03-29 2002-11-18 松下電器産業株式会社 インタラクティブな再生進行の性能を向上させた記録媒体の記録方法、再生装置および再生方法
JP3053576B2 (ja) * 1996-08-07 2000-06-19 オリンパス光学工業株式会社 コードイメージデータ出力装置及び出力方法
US5983190A (en) * 1997-05-19 1999-11-09 Microsoft Corporation Client server animation system for managing interactive user interface characters
US6178358B1 (en) * 1998-10-27 2001-01-23 Hunter Engineering Company Three-dimensional virtual view wheel alignment display system
JP3717880B2 (ja) * 2002-10-01 2005-11-16 パイオニア株式会社 情報記録媒体、情報記録装置及び方法、情報再生装置及び方法、情報記録再生装置及び方法、記録又は再生制御用のコンピュータプログラム、並びに制御信号を含むデータ構造
JP4715094B2 (ja) * 2003-01-30 2011-07-06 ソニー株式会社 再生装置、再生方法、再生プログラムおよび記録媒体
KR100886527B1 (ko) * 2003-02-28 2009-03-02 파나소닉 주식회사 애니메이션을 수반한 대화화면의 표시를 실현할 수 있는 기록매체, 재생장치, 기록방법, 컴퓨터 판독 가능한 기록매체, 재생방법
EP1638328B1 (en) * 2003-06-18 2011-10-05 Panasonic Corporation Playback apparatus, program, and playback method
CN101527863B (zh) * 2003-06-30 2011-09-07 松下电器产业株式会社 再现装置、记录方法和再现方法
KR100782808B1 (ko) * 2004-01-13 2007-12-06 삼성전자주식회사 인터렉티브 그래픽 스트림을 기록한 저장 매체 및 그 재생장치
US20060007963A1 (en) * 2004-06-10 2006-01-12 Samsung Electronics Co., Ltd. Information storage medium containing AV stream including graphic data, and reproducing method and apparatus therefor
FR2880495A1 (fr) * 2005-01-06 2006-07-07 Thomson Licensing Sa Procede de selection d'un element dans une liste par deplacement d'une distinction graphique et appareil mettant en oeuvre le procede
JP2007172716A (ja) * 2005-12-20 2007-07-05 Sony Corp 再生装置、再生方法および再生プログラム、記録媒体およびデータ構造、ならびに、オーサリング装置、オーサリング方法およびオーサリングプログラム
US7937662B2 (en) * 2006-07-21 2011-05-03 Cyberlink Corp. System and method for implementing remote control functions in a mouse in a video playback system
US8104048B2 (en) * 2006-08-04 2012-01-24 Apple Inc. Browsing or searching user interfaces and other aspects
TWI360861B (en) * 2007-08-13 2012-03-21 Fujitsu Ltd Rfid tag and method of manufacturing the same tag

Also Published As

Publication number Publication date
JP2008097691A (ja) 2008-04-24
ATE499681T1 (de) 2011-03-15
EP1912220B1 (en) 2011-02-23
EP1912220A2 (en) 2008-04-16
EP1912220A3 (en) 2008-04-30
CN101221792A (zh) 2008-07-16
TWI384396B (zh) 2013-02-01
TW200836097A (en) 2008-09-01
US20080134097A1 (en) 2008-06-05
DE602007012630D1 (de) 2011-04-07
CN101221792B (zh) 2012-05-02

Similar Documents

Publication Publication Date Title
US20070140667A1 (en) Reproducing apparatus, reproducing method, reproducing program, recording medium, data structure, authoring apparatus, authoring method, and authoring program
JP4816262B2 (ja) 再生装置、再生方法および再生プログラム
JP5001584B2 (ja) オーサリング装置、オーサリング方法、オーサリングプログラム、記録装置、記録方法および記録プログラム、検証装置、検証方法および検証プログラム、ならびに、記録媒体の製造装置および製造方法
JP4858059B2 (ja) 再生装置、表示制御方法および表示制御プログラム
JP5034424B2 (ja) 再生装置および再生方法
JP5655478B2 (ja) 情報処理装置、情報処理方法
WO2004095455A1 (ja) 記録媒体、再生装置、記録方法、再生プログラム、再生方法。
JP5209515B2 (ja) 記録媒体
JP5209513B2 (ja) 記録媒体
JP5209516B2 (ja) 記録媒体
JP4277863B2 (ja) 再生装置、再生方法、再生プログラムおよび記録媒体
JP4277865B2 (ja) 再生装置、再生方法、再生プログラムおよび記録媒体
JP5494780B2 (ja) データ構造
JP5209514B2 (ja) 記録媒体
JP4277864B2 (ja) 再生装置、再生方法、再生プログラムおよび記録媒体
JP5187454B2 (ja) データ格納方法
JP5494779B2 (ja) データ構造
JP5187451B2 (ja) データ格納方法
JP5494781B2 (ja) データ構造
JP5187453B2 (ja) データ格納方法
JP4277862B2 (ja) 再生装置、再生方法、再生プログラムおよび記録媒体
JP5494782B2 (ja) データ構造
JP5187452B2 (ja) データ格納方法
JP2011151851A (ja) 再生装置、再生方法および再生プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090929

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110519

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110823

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111024

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111122

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120120

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120207

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120502

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

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20120517

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120605

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120618

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

Free format text: PAYMENT UNTIL: 20150713

Year of fee payment: 3

R151 Written notification of patent or utility model registration

Ref document number: 5034424

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

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

Free format text: PAYMENT UNTIL: 20150713

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250