JP2012079090A - 情報処理装置、情報処理方法 - Google Patents

情報処理装置、情報処理方法 Download PDF

Info

Publication number
JP2012079090A
JP2012079090A JP2010223705A JP2010223705A JP2012079090A JP 2012079090 A JP2012079090 A JP 2012079090A JP 2010223705 A JP2010223705 A JP 2010223705A JP 2010223705 A JP2010223705 A JP 2010223705A JP 2012079090 A JP2012079090 A JP 2012079090A
Authority
JP
Japan
Prior art keywords
button
information
stream
data
displayed
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
JP2010223705A
Other languages
English (en)
Other versions
JP5655478B2 (ja
JP2012079090A5 (ja
Inventor
Koichi Uchimura
幸一 内村
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 JP2010223705A priority Critical patent/JP5655478B2/ja
Priority to US13/235,846 priority patent/US20120084650A1/en
Priority to CN201110302318.1A priority patent/CN102446524B/zh
Publication of JP2012079090A publication Critical patent/JP2012079090A/ja
Publication of JP2012079090A5 publication Critical patent/JP2012079090A5/ja
Application granted granted Critical
Publication of JP5655478B2 publication Critical patent/JP5655478B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • 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
    • 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/41Structure of client; Structure of client peripherals
    • H04N21/4104Peripherals receiving signals from specially adapted client devices
    • H04N21/4135Peripherals receiving signals from specially adapted client devices external recorder
    • 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/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • 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/47End-user applications
    • H04N21/485End-user interface for client configuration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8146Monomedia components thereof involving graphical data, e.g. 3D object, 2D graphics
    • H04N21/8153Monomedia components thereof involving graphical data, e.g. 3D object, 2D graphics comprising still images, e.g. texture, background image
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8545Content authoring for generating interactive applications
    • 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)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Indexing, Searching, Synchronizing, And The Amount Of Synchronization Travel Of Record Carriers (AREA)
  • User Interface Of Digital Computer (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

【課題】リモートコントローラによる操作入力を前提としているBD−ROM規格において、タッチパネルなどボタンの直接操作が可能な操作部が用いられた場合に、隠しボタンとしての直接操作が想定されていないボタンが直接操作されてしまうことによる誤動作の発生を防止する。
【解決手段】画面上に表示される各ボタンに関連する情報が上記ボタンごとに対応付けられたボタン関連情報と、上記操作部からの操作入力情報とに基づいて、上記操作により指示されたボタンが直接指示されることの想定されていないボタンであるか否かを判定し、指示されたボタンが上記直接指示されることの想定されていないボタンであった場合は、当該指示されたボタンに対応するコマンドを非実行とする。これにより、直接操作が想定されていないボタンが予期しないタイミングで操作されてしまうことによる誤動作の発生を効果的に防止できる。
【選択図】図29

Description

本発明は、記録媒体から再生した情報についての処理を行う情報処理装置とその方法とに関するものである。
特開2004−304767号公報 特開2008−97691号公報
光の照射により情報の読み出しが行われる光記録媒体として、BD(Blu-ray Disc:登録商標)が広く普及している。
BDのうち、再生専用のいわゆるROMタイプのもの(BD−ROM)では、ディスクに映画などのコンテンツを記録して、パッケージメディアとして販売等を行う場合、コンテンツに伴う様々なプログラムの実行などを制御するためのユーザインターフェースをコンテンツと共にディスクに記録することが行われる。代表的なユーザインターフェースとしては、メニュー画像が挙げられる。一例として、メニュー画像においては、機能を選択するためのボタンがボタン画像として用意され、所定の入力手段によりボタンを選択し決定することで、当該ボタンに割り当てられた機能が実行されるようになっている。
ボタンは、一般的には、そのボタンが選択された状態になっている選択状態と、コマンドが関連付けられ所定の機能の実行が指示された状態の実行状態と、選択状態にも実行状態にもなっていない通常状態の3状態が定義される。例えば、プレーヤに付属のリモートコントローラに設けられた十字キーなどの方向指示キー(方向キー)を用いて、画面に表示されたボタンを選択状態とし、決定キーを操作することで、ボタンの状態が例えば選択状態から実行状態に遷移し、当該ボタンに関連付けられたコマンドが実行され、当該コマンドにより所定の機能が実現される。
このボタンの機能により、例えばシーン選択メニューの操作や字幕の選択、字幕のON/OFF、音声言語の切り換えといった様々な機能を、動画データの再生を止めることなく実現することが可能とされる。
上記特許文献1には、BDにおいて、このようなボタン画像を用いたメニュー表示を実現するための技術が記載されている。
なお、ボタンなどを含むメニュー表示を行うためのデータが格納されるストリームは、主として再生される動画データに対して関連付けられる副ストリームに格納される。副ストリームは、1の動画データに対して複数を対応付けることが可能である。
ボタンに関連付けられるコマンドは、表記上において所定のデリミタで区切って並べられ、指定された順に逐次的に実行される。
ここで、ボタンに対しては、選択状態から自動的に実行状態に遷移するように定義することができる。このように定義されたボタンは、オートアクションボタンと呼ばれる。例えば、オートアクションボタンに定義されたボタンの通常状態に対して、リモートコントローラなどを用いて選択状態に遷移するように操作すると、当該ボタンは、選択状態に遷移した時点で自動的に実行状態に遷移され、当該ボタンに関連付けられたコマンドが実行されることになる。
また、このようなオートアクションボタンとしての機能を利用してより有用な機能を実現するために、いわゆる隠しボタンというものが設定される場合がある。
隠しボタンは、画面上には表示されないが、ボタンの上記の3状態が定義されて、コマンドの関連付けが可能とされたボタンである。このような隠しボタンは、例えばボタンを表示するためのボタン画像に対して不透明度を最小に設定して背景表示を全て透過させることで実現可能である。
例えば、ポップアップメニューにおける或るボタンに対して、オートアクションボタンとして定義された隠しボタンを選択状態にするコマンドを関連付けておく。こうすることで、ポップアップメニューの当該ボタンを実行状態に遷移させた際に、隠しボタンに関連付けられたコマンドを自動的に実行させることができる。これにより、例えばシーンジャンプが行われた後に、ポップアップメニューを自動的にOFFにするなどといった機能を実現できる。
なお、隠しボタンの具体的な用法については、例えば上記特許文献2にも記載されている。
上記のようにBDにおいては、隠しボタンとしての、ユーザによって直接的に操作されることを意図したものでないボタンが存在し得る。
ここで、BDの規格は、リモートコントローラによる操作を前提として策定されたものとなっている。つまり、リモートコントローラに設けられた十字キーや決定キーの操作でボタンの選択・決定を行うといったことを前提としたものである。
このため、上記隠しボタンを用いた機能としても、このことを前提としてその実現が可能とされるものとなる。
しかしながら、近年、ユーザインターフェースとしてはタッチパネルを用いたものが普及している。タッチパネルなど、画面上の任意位置を直接的に指示できるインターフェースが用いられた場合は、ユーザが、隠しボタンなどの直接操作が想定されていないボタンを直接操作することが可能となってしまう。つまりこのことによって、プレイヤ側が意図しないタイミングで隠しボタンに対応付けられたコマンドが実行されてしまう可能性があり、その結果、予期しない誤動作を誘発する虞があった。
本発明では上記の問題点に鑑み、情報処理装置として以下のように構成することとした。
すなわち、画面上に表示される各ボタンに関連する情報が上記ボタンごとに対応付けられて形成された情報であって所要の記録媒体に記録されたボタン関連情報と、上記記録媒体に記録された上記ボタン関連情報に基づいて上記画面上の所定の表示領域に表示されるボタンについて、個々のボタンの表示領域を直接的に指示する操作が可能とされた操作部からの操作入力情報とに基づいて、上記操作により指示されたボタンが、直接指示されることの想定されていないボタンであるか否かを判定し、
当該判定の結果、上記指示されたボタンが上記直接指示されることの想定されていないボタンであるとした場合に、当該指示されたボタンについて上記ボタン関連情報において対応付けられているコマンドを非実行とする情報処理部を備えるようにした。
上記本発明によれば、例えばBD規格における上述の隠しボタンのように、ユーザによる直接操作(直接指示)が想定されていないボタンが存在する場合において、当該ボタンが不意に(予期しないタイミングで)操作されてしまうことによる誤動作の発生を効果的に防止することができる。
本発明により、操作部として、例えばタッチパネルなど画面上のボタンの表示領域を直接的に指示する操作が可能とされた操作部が備えられる場合に、例えばBD規格における上述の隠しボタンのようにユーザによる直接操作が想定されていないボタンが直接操作されてしまうことによる誤動作の発生を効果的に防止することができる。
BD−ROMのデータモデルを概略的に示す略線図である。 インデックステーブルを説明するための略線図である。 クリップAVストリーム、クリップ情報、クリップ、プレイアイテムおよびプレイリストの関係を示すUML図である。 複数のプレイリストから同一のクリップを参照する方法を説明するための略線図である。 サブパスについて説明するための略線図である。 記録媒体に記録されるファイルの管理構造を説明するための略線図である。 BD仮想プレーヤの動作を概略的に示すフローチャートである。 BD仮想プレーヤの動作を概略的に示す略線図である。 この発明の実施の一形態で画像の表示系として用いられるプレーン構造の一例を示す略線図である。 動画プレーン、字幕プレーンおよびグラフィクスプレーンを合成する一例の構成を示すブロック図である。 パレットに格納される一例のパレットテーブルを示す略線図である。 ボタン画像の一例の格納形式を説明するための略線図である。 グラフィクスプレーン上に表示されるボタン表示の一例の状態遷移図である。 メニュー画面およびボタンの構成を概略的に示す略線図である。 ICSのヘッダ情報の一例の構造を表すシンタクスを示す略線図である。 ブロックinteractive_composition_data_fragemnt()の一例の構造を表すシンタクスを示す略線図である。 ブロックpage()の一例の構造を表すシンタクスを示す略線図である。 ブロックbutton_overlap_group()の一例の構造を表すシンタクスを示す略線図である。 ブロックbutton()の一例の構造を表すシンタクスを示す略線図である。 インタラクティブグラフィクスの一例のデコーダモデルを示すブロック図である。 IGストリームにより表示される一例のメニュー画像を示す略線図である。 メインパスのプレイアイテムにより再生された動画データが動画プレーンに表示された様子を示す略線図である。 メニュー画像とメインパスのプレイアイテムにより再生され動画プレーンに表示される動画データとを合成した一例の表示を示す略線図である。 決定キーを操作してプルダウンメニューを表示させる例を説明するための略線図である。 十字キーなどにより下方向を指定する操作を行ってプルダウンメニューを表示させる例を説明するための略線図である。 十字キーなどにより下方向を指定する操作を行ってプルダウンメニューを表示させる例を説明するための略線図である。 実施の形態の情報処理装置の全体的な内部構成について説明するための図である。 タッチパネルに対応したボタンの当たり判定の手法について説明するための図である。 実施の形態としての情報処理方法について説明するためのフローチャートである。
以下、発明を実施するための形態(以下実施の形態とする)について説明していく。
なお、説明は以下の順序で行うものとする。

<1.BDMVフォーマットについて>
[1-1.フォーマットの概要]
[1-2.画像表示系]
[1-3.IGストリームについて]
[1-4.IGデコーダのモデル]
[1-5.メニュー画像のビデオストリームへの合成表示]
[1-6.隠しボタンについて]
<2.再生装置の構成>
<3.ボタンの当たり判定について>
<4.実施の形態としての情報処理方法>
<5.変形例>
<1.BDMVフォーマットについて>
[1-1.フォーマットの概要]

先ずは、BD(Blu-ray Disc:登録商標)に関し、"Blu-ray Disc Read-Only Format Ver1.0 part3 Audio Visual Specifications"で規定されている、読み出し専用タイプのBDであるBD−ROMに記録されたコンテンツすなわちAV(Audio/Video)データの管理構造について説明する。以下では、このBD−ROMにおける管理構造をBDMVフォーマットと称する。
例えばMPEG(Moving Pictures Experts Group)ビデオやMPEGオーディオなどの符号化方式で符号化され、MPEG2システムに従い多重化されたビットストリームは、クリップAVストリーム(またはAVストリーム)と称される。クリップAVストリームは、BDに関する規格の一つである"Blu-ray Disc Read-Only Format part2"で定義されたファイルシステムにより、ファイルとしてディスクに記録される。このファイルを、クリップAVストリームファイル(またはAVストリームファイル)と称する。
クリップAVストリームファイルは、ファイルシステム上での管理単位であり、ユーザにとって必ずしも分かりやすい管理単位であるとは限らない。ユーザの利便性を考えた場合、複数のクリップAVストリームファイルに分割された映像コンテンツを一つにまとめて再生する仕組みや、クリップAVストリームファイルの一部だけを再生する仕組み、さらには、特殊再生や頭出し再生を滑らかに行うための情報などをデータベースとしてディスクに記録しておく必要がある。BDに関する規格の一つである"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)を実現するムービーオブジェクトの実行が開始される。
[1-2.画像表示系]

次に、本発明に適用可能な画像の表示系について説明する。本実施の形態では、画像の表示系について、図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の背景として表示することができる。
[1-3.IGストリームについて]

次に、インタラクティブグラフィクスストリーム(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、・・・が配置されたメニュー画面301を考える。
このメニュー画面301は、図14Bに一例が示されるように、複数枚のメニュー画面によって階層的に構成することができる。各階層のメニュー画面のそれぞれは、ページと呼ばれる。例えば、最前面に表示されたメニュー画面のあるボタン300を、所定の入力手段によって選択状態から実行状態に遷移させると、そのメニュー画面の1枚後ろに位置するメニュー画面が最前面のメニュー画面となるような構成が考えられる。
なお、本明細書では、「所定の入力手段によりボタンの状態を変化させる」ことを、煩雑さを避けるために、「ボタンを操作する」などと、適宜、表記する。
メニュー画面301に表示される1つのボタン300は、複数のボタン302A、302B、・・・が階層化された構成とすることができる(図14Cおよび図14D参照)。これは、換言すれば、1つのボタン表示位置に複数のボタンを選択的に表示することができることを意味する。例えば、複数のボタンのうち所定のボタンを操作した際に、同時に表示されている他の幾つかのボタンの機能および表示が変更されるような場合に、メニュー画面自体を書き換える必要が無いので、用いて好適である。このような、1つのボタン位置に選択的に表示される複数のボタンからなる組を、BOG(Button Overlap Group)と呼ぶ。
1つのBOGを構成するボタンのそれぞれは、通常状態、選択状態および実行状態の3状態を有することができる。すなわち、図14Eに一例が示されるように、BOGを構成するボタンのそれぞれに対して、通常状態、選択状態および実行状態をそれぞれ表すボタン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ビットのデータ長を有し、このページで用いられるBOGの数が示される。換言すれば、当該number_of_BOGsは、ページ内でBOGを表示すべき位置の数を示すものであり、端的に言えばページ内でのボタンの表示数(同時表示数)を表すものとなる。
BOG毎の定義は、ブロックbutton_overlap_group()によりなされる。
図18は、ブロックbutton_overlap_group()の一例の構造を表すシンタクスを示す。フィールドdefault_valid_button_id_refは、16ビットのデータ長を有し、このブロックbutton_overlap_group()で定義されるBOGにおいて最初に表示されるボタンのIDを示す。次のフィールドnumber_of_buttonsは、8ビットのデータ長を有し、このBOGで用いられるボタンの数を示す。そして、このフィールドnumber_of_buttonsで示される回数だけ、次のfor文からのループが繰り返され、ブロックbutton()によりボタンそれぞれの定義がなされる。
すなわち、既に説明したように、BOGは、複数のボタンを持つことができ、BOGが持つ複数のボタンのそれぞれの構造がブロックbutton()で定義される。このブロックbutton()で定義されるボタン構造が、実際に表示されるボタンである。
図19は、ブロックbutton()の一例の構造を表すシンタクスを示す。
図19において、フィールド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つのボタンから複数のコマンドを実行させることができることを意味する。
[1-4.IGデコーダのモデル]

次に、インタラクティブグラフィクス(適宜、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のカラーパレットテーブルが参照されて色情報が付加され、出力画像データが構成されて、この出力画像データが出力される。
[1-5.メニュー画像のビデオストリームへの合成表示]

図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ストリームが選択され、字幕表示が英語による字幕に切り換えられる。

[1-6.隠しボタンについて]

別の例として、ボタン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番目のプレゼンテーショングラフィクスストリームが選択され、字幕表示が英語による字幕に切り換えられる。
<2.再生装置の構成>

次に、本発明の情報処理装置の一実施形態としての、再生装置1の全体的な構成について説明する。
図27は、再生装置1の全体的な内部構成について説明するための図である。
図27において、再生装置1は、ストレージドライブ50、スイッチ部51、AVデコーダ部52、コントローラ53、及びタッチパネル92aを具備するディスプレイ92が備えられる。
ストレージドライブ50は、例えば、上述したBD−ROMを装填し再生可能とされているものとする。
また、本実施の形態の再生装置1は、前述したリモートコントローラを用いた操作入力のみでなく、タッチパネル92aを用いた操作入力が可能とされているが、この点については後に改めて説明する。
コントローラ53は、例えばCPU(Central Processing Unit)と、CPU上で動作されるプログラムが予め格納されたROM(Read Only Memory)、CPUによりプログラムの実行時にワークメモリとして用いられるRAM(Random Access Memory)などからなり、再生装置1の全体的な動作を制御する。
また、再生装置1には、ユーザに対して所定の制御情報を提供すると共に、ユーザの操作に応じた制御信号を出力するようにされたユーザインターフェース部が設けられる。詳細な図示は省略したが、本例の場合、当該ユーザインタフェース部としては、赤外線通信など所定の無線通信手段を介して再生装置1と遠隔的に通信を行うリモートコントローラが用いられる。リモートコントローラ上には、上下左右方向をそれぞれ指示可能な十字キーといった方向キーや、数字キー(いわゆる10キー)、各種機能が予め割り当てられた機能キーなど、複数の入力手段が設けられる。なお、方向キーは、上下左右方向をそれぞれ指定可能であれば、形状は問わない。
リモートコントローラは、これらの入力手段に対してなされた操作に応じた制御信号(操作入力信号)を生成し、生成された制御信号を例えば赤外線信号に変調して送信する。再生装置1は、図示されない赤外線受信部においてこの赤外線信号を受信し、赤外線信号を電気信号に変換して復調し、元の制御信号を復元する。この制御信号がコントローラ53に供給される。
コントローラ53は、この制御信号に応じて、プログラムに従い、再生装置1の動作を制御する。
なお、ユーザインターフェース部は、リモートコントローラに限らず、例えば再生装置1の操作パネルに設けられたスイッチ群により構成することもできる。
また、当該再生装置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)と呼ばれるバッファに格納される。例えば図27におけるプリロードバッファ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の各部を所定に制御する。これにより、そのボタンに対応付けられたコマンドに応じた機能動作が実現される。
ビデオデータ処理部71は、例えば図10を用いて説明したグラフィクス処理部を含み、供給されたビデオプレーン(図10における動画プレーン10)、プレゼンテーショングラフィクスプレーン(図10における字幕プレーン11)およびインタラクティブグラフィクスプレーン(図10におけるグラフィクスプレーン12)を、所定に合成して1枚の画像データとし、ビデオ信号にして出力する。
当該ビデオ信号は、図のようにディスプレイ92に対して供給される。
ディスプレイ92は、上記ビデオ信号に基づく画像を表示画面上に表示する。
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コンポジション部91で所定に処理され、スイッチ部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に記録することも考えられる。なお、コンピュータ装置の構成は、極めて周知であるため、説明は省略する。
<3.ボタンの当たり判定について>

ここで、前述のように、本実施の形態の再生装置1は、タッチパネル92aによる操作入力が可能に構成されている。
このタッチパネル92aは、ディスプレイ92の表示画面上に設けられ、タッチ操作が行われた位置を表す座標情報を、操作入力情報としてコントローラ53に出力する。
本実施の形態のコントローラ53は、このようなタッチパネル92aからの操作入力情報に応じて、以下のようにして画面上に表示されたボタンについての当たり判定(ボタンに対する操作が行われたか否かの判定)を行う。
図28は、タッチパネル92aに対応したボタンの当たり判定の具体的手法について説明するための図である。
この図に示されるように、タッチパネル92aからの操作入力情報に応じたボタンの当たり判定を行うにあたっては、先の図19に示した情報のうちのbutton_horizontal_positionおよびbutton_vertical_positioの情報と、object_widtheおよびobject_heightの情報とを用いる。
先の説明からも理解されるように、button_horizontal_positionおよびbutton_vertical_positioの情報は、そのボタンを表示する画面上の水平方向の位置および垂直方向の位置を示す情報であり、従ってそのボタンの画面上での表示位置を表すための座標情報として機能する。
また、object_widtheおよびobject_heightの情報は、そのボタンのサイズを表す情報であり、それぞれ、そのボタンの水平方向の長さ(幅)、垂直方向の長さ(高さ)を表す。
ここで、これらobject_widtheおよびobject_heightの情報は、ODSによって伝送されている情報である。具体的には、ODS内のobject_data内に格納されている情報である。当該object_dataは、例えば図19に示したnormal_start_object_id_refやnormal_end_object_id_refなど、そのボタンのobjectを指し示す情報を経て参照されることになる。
この場合のコントローラ53は、例えばメニュー画像などのIG画像(IGストリームデータに基づき画面上に表示される画像)を画面上に表示している状態において、インタラクティブグラフィクスデコーダ77より、その画像内に表示される各ボタンについての上記button_horizontal_positionの情報、button_vertical_positioの情報、object_widtheの情報、およびobject_heightの情報を取得する。
そして、これら取得した情報から、画面内に表示される各ボタンについて、それらの表示領域を表す表示領域情報を生成する。
ボタンの当たり判定は、タッチパネル92aからの操作入力情報が示す座標(タッチ操作のあった位置を表す座標)が、このように生成した表示領域情報が示す表示領域の範囲内にあるか否かを判別することで行う。
<4.実施の形態としての情報処理方法>

ここで、これまでの説明からも理解されるように、BD−ROM規格(特にIGに係る部分)は、リモートコントローラ等の方向キーや決定キーを用いた操作を行うユーザインターフェースを用いることを前提として策定されたものとなっている。換言すれば、BD−ROM規格は、タッチパネル92aなどの画面上の任意位置を直接的に指示できるインターフェースには本来非対応の規格とされている。
またこの一方で、BD−ROM規格では、例えば先の図25や図26を参照して説明したような隠しボタンの存在を許容しているが、この隠しボタンとしても、上記のようなBD−ROM規格上で成り立つようにされている以上、これが直接的に操作されることは想定外となる。
前述のように、隠しボタンは、方向キー操作によって選択された際に本来の機能を発揮するようにされているので、当該隠しボタンがタッチパネル92aを用いた操作によって予期しないタイミングで操作されてしまった場合には、誤動作が生じてしまう虞がある。
そこで本実施の形態では、タッチパネル92aなど画面上のボタンを直接的に操作可能なユーザインタフェースが採用される場合におけるこのような誤動作の発生を防止すべく、以下で説明するような回避手法を採る。
図29は、実施の形態としての情報処理方法について説明するためのフローチャートである。
なお、この図29に示すフローチャートは、図27に示したコントローラ53が例えば前述のROM等のメモリに格納されたプログラムに従って実行するものである。
先ず、ステップS10では、画面タッチが行われるまで待機する。すなわち、タッチパネル92aからの操作入力情報の受信があるまで待機するものである。
そして、タッチパネル92aからの操作入力情報が受信され、画面タッチがあったとの肯定結果が得られた場合は、ステップS11に進み、タッチされた座標の計算を行う。
続くステップS12では、ボタンへのタッチか否かを判別する。すなわち、先に説明した当たり判定を行うものである。
具体的には、ステップS11にて算出した座標が、予めインタラクティブグラフィクスデコーダ77から取得した画面内の各ボタンのbutton_horizontal_position、button_vertical_positio、object_widthe、object_heightの各情報に基づき生成した各ボタンの表示領域情報が示す範囲内の何れかにあるか否かを判別する。
ステップS12において、ステップS11で算出した座標が上記各ボタンの表示領域情報が示す範囲内の何れにも無く、ボタンへのタッチではなかったとの否定結果が得られた場合は、図示するようにステップS10に戻り、再度画面へのタッチを待機するようにされる。
一方、ステップS12において、ステップS11で算出した座標が上記各ボタンの表示領域情報が示す範囲内の何れかにあり、ボタンへのタッチがあったとの肯定結果が得られた場合は、ステップS13に進む。
このステップS13を含むステップS13〜S15の処理により、隠しボタンに対する直接操作に伴う誤動作の発生の防止が図られる。
先ず、ステップS13では、ボタンの色が透明であるか否かを判別する。すなわち、ステップS12でタッチされたとしたボタンの色が透明であるか否かを判別するものである。
先に説明したように、ボタンの色情報(不透明度の情報)は、IGストリームによって伝送されるPDS内に格納されている。コントローラ53は、上記タッチされたとしたボタンについての不透明度の情報をインタラクティブグラフィクスデコーダ77を介して取得し、当該不透明度の情報に基づいてボタンの色が透明であるか否かの判別を行う。具体的には、例えば当該不透明度の情報が示す不透明度の値と予め設定された閾値とを比較した結果に基づき、上記タッチされたとしたボタンの色が透明であるか否かを判別する。
ステップS13において、ボタンの色が透明であるとして肯定結果が得られた場合は、図示するようにしてステップS10に戻るようにされる。つまりこれにより、タッチされたボタンの色が透明である場合、換言すれば、タッチされたボタンが隠しボタンとしての直接操作の想定されていないボタンであるとされる場合に対応して、そのボタンに対応するコマンドが実行されないようにできる。
一方、ステップS13において、ボタンの色が透明ではないとの否定結果が得られた場合は、ステップS14に進む。
ステップS14においては、各stateのobjectへの参照が0xFFFFであるか否かを判別する。すなわち、図19に示したnormal_state_info()、selected_state_info()およびactivated_state_info()における各object_id_refによるobjectへの参照が0xFFFFであるか否か(つまり画像参照情報として有効な情報が格納されているか否か)を判別する。
上記各object_id_refのobjectへの参照が0xFFFFであるとして肯定結果が得られた場合は、ステップS10に戻る。これにより、タッチされたボタンに対応する画像参照情報が有効でなく(つまりボタンとしての画像が表示されない状態にあり)、当該タッチされたボタンが隠しボタンとしての直接操作の想定されていないボタンであるとされる場合に対応して、そのボタンに対応するコマンドが実行されないようにできる。
また、ステップS14において、各object_id_refのobjectへの参照が0xFFFFであるとの条件が満たされず否定結果が得られた場合は、ステップS15に進む。
ステップS15では、number_of_BOGs>1で且つneighbor_info()が全て自分(自ボタン)を指すか否かを判別する。ここで、前述もしたようにnumber_of_BOGsは、ページ内でのボタンの表示数を表すものである。また、neighbor_info()は、そのボタンが選択状態のときに方向キーが操作された際に、どのボタンが選択状態に遷移するかを示す情報である。
ステップS15において、number_of_BOGs>1で且つneighbor_info()が全て自分を指すとの肯定結果が得られた場合は、ステップS10に戻る。これによって、タッチされたボタンが隠しボタンとしての直接操作の想定されていないボタンであるとされる場合に対応して、そのボタンに対応するコマンドが実行されないようにできる。
また、ステップS15において、number_of_BOGs>1で且つneighbor_info()が全て自分を指すとの条件が満たされず否定結果が得られた場合は、ステップS16に進み、タッチされたボタンのコマンドを実行する。
このようにして、ステップS13〜S15の各判別処理の全てで否定結果が得られた場合、換言すれば、タッチされたボタンが隠しボタンとしての直接操作の想定されていないボタンではないとされる場合には、タッチされたボタンのコマンドが実行される。
コントローラ53は、上記ステップS16の処理の実行を以て、この図に示される一連の処理動作を終了する。
上記により説明したような本実施の形態としての情報処理方法により、タッチパネル92aのような画面上のボタンの表示領域を直接的に指示する操作が可能とされた操作部が備えられる場合に、隠しボタンとしてのユーザによる直接操作(直接指示)が想定されていないボタンが直接操作されてしまうことによる誤動作の発生を効果的に防止することができる。
<5.変形例>

以上、本発明の実施の形態について説明したが、本発明としてはこれまでで説明した具体例に限定されるべきものではない。
例えば、直接操作が想定されていないボタンであるか否かの判定にあたっては、図29における3つの条件(S13〜S15)を基準とするものとしたが、これらはあくまで一例であって、これらの条件に限定されるべきものではない。
一例として、ステップS13の条件に関しては、必ずしも完全に透明であることを要しない。すなわち、透明と見なすことができる程度の不透明度であれば、それを透明と見なすようにすることもできる。
また、ステップS15に関しては、そのボタンのneighbor_info()が全て自ボタンを指すか否かを見るのではなく、ページ内の各ボタンのneighbor_info()を参照し、それらのneighbor_info()の何れによっても、タッチ操作のあったボタンが指し示されていないか否かを判別するようにしてもよい。
また、これまでの説明では、直接操作が想定されていないボタンであるか否かを判定するための複数の条件の関して、それらのうち何れか1つが満たされることを以て直接操作されることが想定されていないボタンであるとの判定結果を得るものとしたが、それら複数の条件のうち2以上の条件が満たされたときに、直接操作されることが想定されていないボタンであるとの判定結果を得るようにしてもよい。
また、これまでの説明では、画面上に表示されたボタンを直接指示可能な操作部として、タッチパネルを用いる例を挙げたが、マウス等のポインティングデバイスを用いた場合にも本発明は好適に適用できる。
この場合には、画面上でマウスのクリック操作が行われた位置(マウス操作に応じて移動するカーソルがクリック操作時に指し示していた画面上の位置)を表す座標の情報を、実施の形態で説明したタッチパネル92aが出力する操作入力情報に相当する情報として扱うものとすればよい。
また、これまでの説明では、操作部を介して画面上のボタンが指示されたと判定された場合に、当該指示されたボタンが直接操作の想定されていないボタンであるか否かの判定を行うものとしたが、これに代えて、ページ内に表示される各ボタンについて事前にそのボタンが直接操作の想定されていないボタンであるか否かの判定を行っておくようにもできる。
1 再生装置、10 動画プレーン、11 字幕プレーン、12 インタラクティブグラフィクスプレーン、50 ストレージドライブ、51 スイッチ部、52 AVデコーダ部、53 コントローラ、62 サウンド出力部、77 インタラクティブグラフィクスデコーダ、92 ディスプレイ、92a タッチパネル、102 グラフィクスデコーダ、103 グラフィクスプレーン、104 CLUT、111 ストリームグラフィクスプロセッサ、112 DB、113 CB、114 グラフィクスコントローラ、201A,201B,201C ボタン、202 プルダウンメニュー、203A,203B,203C ボタン、204 隠しボタン

Claims (8)

  1. 画面上に表示される各ボタンに関連する情報が上記ボタンごとに対応付けられて形成された情報であって所要の記録媒体に記録されたボタン関連情報と、上記記録媒体に記録された上記ボタン関連情報に基づいて上記画面上の所定の表示領域に表示されるボタンについて、個々のボタンの表示領域を直接的に指示する操作が可能とされた操作部からの操作入力情報とに基づいて、上記操作により指示されたボタンが、直接指示されることの想定されていないボタンであるか否かを判定し、
    当該判定の結果、上記指示されたボタンが上記直接指示されることの想定されていないボタンであるとした場合に、当該指示されたボタンについて上記ボタン関連情報において対応付けられているコマンドを非実行とする情報処理部を備える
    情報処理装置。
  2. 上記情報処理部は、
    上記指示されたボタンについての上記ボタン関連情報として対応付けられているボタンの色情報に基づいて、上記指示されたボタンが上記直接指示されることの想定されていないボタンであるか否かを判定する
    請求項1に記載の情報処理装置。
  3. 上記ボタン関連情報には、そのボタンの非選択状態・選択状態・実行状態の各状態ごとに表示されるべき画像を指し示すための画像参照情報が含まれており、
    上記情報処理部は、
    上記指示されたボタンについての上記非選択状態・選択状態・実行状態の各状態の上記画像参照情報として有効な情報が格納されているか否かを判別した結果に基づいて、上記指示されたボタンが上記直接指示されることの想定されていないボタンであるか否かを判定する
    請求項1に記載の情報処理装置。
  4. 上記ボタン関連情報には、そのボタンが選択状態のときに行われた方向キー操作に応じて次に選択状態とされるべきボタンを指し示す情報である隣接ボタン情報が含まれており、
    上記情報処理部は、
    上記画面内におけるボタンの表示数が2以上であり且つ上記指示されたボタンについての上記隣接ボタン情報が全て上記指示されたボタン自らを指し示すか否かを判別した結果に基づいて、上記指示されたボタンが上記直接指示されることの想定されていないボタンであるか否かを判定する
    請求項1に記載の情報処理装置。
  5. 上記ボタン関連情報には、
    上記ボタンごとに上記画面内でのそのボタンの表示領域を特定するための座標情報と幅情報と高さ情報とが含まれており、
    上記操作部は、
    上記操作入力情報として、上記画面内における指示操作のあった場所を特定するための座標情報を上記情報処理部に供給すると共に、
    上記情報処理部は、
    上記操作部より供給される上記座標情報と、上記ボタン関連情報における上記座標情報及び上記幅情報及び上記高さ情報とに基づき、上記画面内に表示されるボタンを指示する操作があったか否かを判別する
    請求項1に記載の情報処理装置。
  6. 上記操作部はタッチパネルで構成される請求項1に記載の情報処理装置。
  7. 上記記録媒体がBlu-ray Discとされる請求項1に記載の情報処理装置。
  8. 画面上に表示される各ボタンに関連する情報が上記ボタンごとに対応付けられて形成された情報であって所要の記録媒体に記録されたボタン関連情報と、上記記録媒体に記録された上記ボタン関連情報に基づいて上記画面上の所定の表示領域に表示されるボタンについて、個々のボタンの表示領域を直接的に指示する操作が可能とされた操作部からの操作入力情報とに基づいて、上記操作により指示されたボタンが、直接指示されることの想定されていないボタンであるか否かを判定すると共に、
    当該判定の結果、上記指示されたボタンが上記直接指示されることの想定されていないボタンであるとした場合に、当該指示されたボタンについて上記ボタン関連情報において対応付けられているコマンドを非実行とする
    情報処理方法。
JP2010223705A 2010-10-01 2010-10-01 情報処理装置、情報処理方法 Expired - Fee Related JP5655478B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2010223705A JP5655478B2 (ja) 2010-10-01 2010-10-01 情報処理装置、情報処理方法
US13/235,846 US20120084650A1 (en) 2010-10-01 2011-09-19 Information processing device and information processing method
CN201110302318.1A CN102446524B (zh) 2010-10-01 2011-10-08 信息处理设备和信息处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010223705A JP5655478B2 (ja) 2010-10-01 2010-10-01 情報処理装置、情報処理方法

Publications (3)

Publication Number Publication Date
JP2012079090A true JP2012079090A (ja) 2012-04-19
JP2012079090A5 JP2012079090A5 (ja) 2013-11-07
JP5655478B2 JP5655478B2 (ja) 2015-01-21

Family

ID=45890890

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010223705A Expired - Fee Related JP5655478B2 (ja) 2010-10-01 2010-10-01 情報処理装置、情報処理方法

Country Status (3)

Country Link
US (1) US20120084650A1 (ja)
JP (1) JP5655478B2 (ja)
CN (1) CN102446524B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9588649B2 (en) 2012-09-21 2017-03-07 Panasonic Intellectual Property Management Co., Ltd. Data processing device and program thereof

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140031758A (ko) * 2012-09-05 2014-03-13 삼성전자주식회사 포인팅 디바이스를 이용하여 aⅴ 데이터의 메뉴를 제어하기 위한 인터랙티브 그래픽 데이터를 기록한 정보저장매체, 그 재생방법 및 장치
EP2785001B1 (en) * 2013-03-27 2017-09-27 Unify GmbH & Co. KG Method of negotiation of media between a source communication device and a destination communication device for multiplexing multiple media types on an IP transport address, a computer program product for executing the method, and a source communication device for negotiating of the media between the source communication device and a destination communication device
US10965888B1 (en) * 2019-07-08 2021-03-30 Snap Inc. Subtitle presentation based on volume control
CN111859214A (zh) * 2020-06-24 2020-10-30 北京金山云网络技术有限公司 网页浏览器的加载方法、装置、设备及存储介质

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10198545A (ja) * 1997-01-08 1998-07-31 Matsushita Electric Ind Co Ltd 表示制御装置及び表示制御方法
JPH11238367A (ja) * 1998-02-20 1999-08-31 Toshiba Corp 使用可能キー表示システム
JP2002132420A (ja) * 2000-10-27 2002-05-10 Alpine Electronics Inc アドレス入力方式
JP2002269754A (ja) * 2001-03-06 2002-09-20 Kenwood Corp 再生装置及び方法
JP2004140811A (ja) * 2002-09-24 2004-05-13 Fujitsu Ten Ltd デジタル放送受信装置
JP2005096596A (ja) * 2003-09-25 2005-04-14 Sony Corp 車載装置及び車載装置の制御方法
JP2006294139A (ja) * 2005-04-12 2006-10-26 Matsushita Electric Ind Co Ltd Bdフォーマット再生装置、再生方法、及びbdフォーマット記録媒体
JP2007041962A (ja) * 2005-08-04 2007-02-15 Sharp Corp メニュー表示装置、メニュー表示方法、およびメニュー表示プログラム
JP2007141013A (ja) * 2005-11-21 2007-06-07 Fuji Xerox Co Ltd ユーザインタフェースプログラム、コンピュータ、情報提供方法
JP2007279894A (ja) * 2006-04-04 2007-10-25 Ricoh Co Ltd プリンタドライバ及び記録媒体
JP2009048744A (ja) * 2007-08-22 2009-03-05 Konami Digital Entertainment:Kk 映像再生装置、映像再生装置の制御方法及びプログラム
JP2009223995A (ja) * 2008-03-18 2009-10-01 Fujitsu Ten Ltd コンテンツ再生装置
JP2010092082A (ja) * 2008-09-12 2010-04-22 Access Co Ltd コンテンツ情報処理方法、コンテンツ情報処理プログラム、及びコンテンツ情報処理装置
WO2010047123A1 (ja) * 2008-10-24 2010-04-29 パナソニック株式会社 Bd再生システム、bd再生装置、表示装置及びコンピュータプログラム

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5353219A (en) * 1989-06-28 1994-10-04 Management Information Support, Inc. Suggestive selling in a customer self-ordering system
US6903723B1 (en) * 1995-03-27 2005-06-07 Donald K. Forest Data entry method and apparatus
US6154210A (en) * 1998-11-25 2000-11-28 Flashpoint Technology, Inc. Method and system for implementing button interface compatibility in touch-screen equipped digital imaging device
US7805746B2 (en) * 2003-03-14 2010-09-28 Tvworks, Llc Optimized application on-the-wire format for construction, delivery and display of enhanced television content
JP3729417B1 (ja) * 2004-09-07 2005-12-21 ソニー株式会社 情報処理装置および方法、並びにプログラム
CN101308442B (zh) * 2004-10-12 2012-04-04 日本电信电话株式会社 三维指示方法和三维指示装置
US7773864B2 (en) * 2005-08-29 2010-08-10 Sony Corporation Slicing interactive graphic data in disc authoring
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
US20080022231A1 (en) * 2006-07-21 2008-01-24 Cyberlink Corp. Systems and Methods for Downloading Interactive Content to Implement Remote Control Functionality in a Video Playback Device
JP2008052408A (ja) * 2006-08-23 2008-03-06 Sony Corp 電子機器、電子機器の動作制御方法
US8433440B2 (en) * 2007-07-06 2013-04-30 Pascal Felique Method and apparatus for controlling a vending machine
CN101770795B (zh) * 2009-01-05 2013-09-04 联想(北京)有限公司 一种计算设备及视频播放控制方法
TWI378382B (en) * 2009-02-13 2012-12-01 Htc Corp Method, apparatus and computer program product for preventing on-screen buttons from being mistakenly touched

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10198545A (ja) * 1997-01-08 1998-07-31 Matsushita Electric Ind Co Ltd 表示制御装置及び表示制御方法
JPH11238367A (ja) * 1998-02-20 1999-08-31 Toshiba Corp 使用可能キー表示システム
JP2002132420A (ja) * 2000-10-27 2002-05-10 Alpine Electronics Inc アドレス入力方式
JP2002269754A (ja) * 2001-03-06 2002-09-20 Kenwood Corp 再生装置及び方法
JP2004140811A (ja) * 2002-09-24 2004-05-13 Fujitsu Ten Ltd デジタル放送受信装置
JP2005096596A (ja) * 2003-09-25 2005-04-14 Sony Corp 車載装置及び車載装置の制御方法
JP2006294139A (ja) * 2005-04-12 2006-10-26 Matsushita Electric Ind Co Ltd Bdフォーマット再生装置、再生方法、及びbdフォーマット記録媒体
JP2007041962A (ja) * 2005-08-04 2007-02-15 Sharp Corp メニュー表示装置、メニュー表示方法、およびメニュー表示プログラム
JP2007141013A (ja) * 2005-11-21 2007-06-07 Fuji Xerox Co Ltd ユーザインタフェースプログラム、コンピュータ、情報提供方法
JP2007279894A (ja) * 2006-04-04 2007-10-25 Ricoh Co Ltd プリンタドライバ及び記録媒体
JP2009048744A (ja) * 2007-08-22 2009-03-05 Konami Digital Entertainment:Kk 映像再生装置、映像再生装置の制御方法及びプログラム
JP2009223995A (ja) * 2008-03-18 2009-10-01 Fujitsu Ten Ltd コンテンツ再生装置
JP2010092082A (ja) * 2008-09-12 2010-04-22 Access Co Ltd コンテンツ情報処理方法、コンテンツ情報処理プログラム、及びコンテンツ情報処理装置
WO2010047123A1 (ja) * 2008-10-24 2010-04-29 パナソニック株式会社 Bd再生システム、bd再生装置、表示装置及びコンピュータプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9588649B2 (en) 2012-09-21 2017-03-07 Panasonic Intellectual Property Management Co., Ltd. Data processing device and program thereof

Also Published As

Publication number Publication date
JP5655478B2 (ja) 2015-01-21
US20120084650A1 (en) 2012-04-05
CN102446524B (zh) 2016-11-23
CN102446524A (zh) 2012-05-09

Similar Documents

Publication Publication Date Title
JP4228767B2 (ja) 再生装置、再生方法、再生プログラムおよび記録媒体
JP4442564B2 (ja) 再生装置、再生方法、再生プログラムおよび記録媒体
JP4816262B2 (ja) 再生装置、再生方法および再生プログラム
JP2007172716A (ja) 再生装置、再生方法および再生プログラム、記録媒体およびデータ構造、ならびに、オーサリング装置、オーサリング方法およびオーサリングプログラム
JP4858059B2 (ja) 再生装置、表示制御方法および表示制御プログラム
JP4830535B2 (ja) 再生装置、再生方法および再生プログラム
JP5655478B2 (ja) 情報処理装置、情報処理方法
JP4957142B2 (ja) 再生装置、再生方法および再生プログラム
JP5034424B2 (ja) 再生装置および再生方法
JP5209515B2 (ja) 記録媒体
JP5209516B2 (ja) 記録媒体
JP4277863B2 (ja) 再生装置、再生方法、再生プログラムおよび記録媒体
JP5209513B2 (ja) 記録媒体
JP5158225B2 (ja) 再生装置、再生方法および再生プログラム
JP4277865B2 (ja) 再生装置、再生方法、再生プログラムおよび記録媒体
JP4277862B2 (ja) 再生装置、再生方法、再生プログラムおよび記録媒体
JP4277864B2 (ja) 再生装置、再生方法、再生プログラムおよび記録媒体
JP5187454B2 (ja) データ格納方法
JP5494780B2 (ja) データ構造
JP5187453B2 (ja) データ格納方法
JP5187452B2 (ja) データ格納方法
JP5187451B2 (ja) データ格納方法
JP5494779B2 (ja) データ構造
JP5494781B2 (ja) データ構造
JP5494782B2 (ja) データ構造

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130920

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130920

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140319

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140408

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140528

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: 20141028

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141110

R151 Written notification of patent or utility model registration

Ref document number: 5655478

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

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

LAPS Cancellation because of no payment of annual fees