本発明の一実施の形態について図1から図13に基づいて説明すれば、以下のとおりである。なお、本実施の形態では、本発明の再生装置としてビデオディスクプレーヤについて説明するが、本発明はこれに限定されず、デジタルオーディオ出力を搭載したPC(Personal Computer)等にも適用できる。
<システム構成>
図1は、本実施の形態に係るビデオディスクプレーヤ1の構成の概略を示す機能ブロック図である。
ビデオディスクプレーヤ1(再生装置)は、光ディスク2に記録されているAV(Audio Visual)データを再生する装置である。
図1に示すように、ビデオディスクプレーヤ1は、ユーザ入力部3、デジタルオーディオ出力部4、ビデオ出力部(通知手段)5、デコード部(デコード手段)10、プログラム処理部20、オーディオミキシング部30、ビデオミキシング部(ミックス手段)40、切換部(切換手段)50、OSD生成部60、ディスク読み出し部70、全体制御部80を備えて構成されている。ここで、上記ビデオ出力部5および切換部50によって、オーディオデータを出力するデータ出力手段を構成している。
光ディスク(コンテンツ記録媒体)2には、ユーザが選択可能なコンテンツタイトル(以下タイトルと呼ぶ)の管理情報であるタイトル管理テーブルおよび、タイトルを構成するビデオデータおよびプログラムデータが記録されている。この光ディスク2には、タイトル管理テーブル、ビデオデータ、プログラムデータの少なくとも1つのデータが記録されていればよく、他のデータに関しては別の記録媒体、あるいは通信回路を経由して取得するようにしてもよい。
ビデオデータは、多重化AVストリームおよびその再生順情報であるプレイリストのデータで構成される。この多重化AVストリームには、オーディオデータとしてチャンネル数の異なる第1のオーディオデータと第2のオーディオデータとが含まれている。
一方、プログラムデータは、プログラム本体およびプログラムから使用されるグラフィックスデータおよびオーディオデータで構成される。
本実施形態では、以上のデータはそれぞれファイルとして参照できるように、UDF(Universal Disk Format)に準拠したフォーマットで記録している。
ディスク読み出し部70は、光ディスク2からのデータの読み出しを司る機能ブロックであり、全体制御部80、デコード部10およびプログラム処理部20から指定されたファイルを光ディスク2から読み出す。
デコード部10は、指定されたプレイリストから参照されるAVストリームの読み出しおよびデコードを司る機能ブロックである。つまり、デコード部10は、ディスク読み出し部70を通じて読み出されたプレイリストに従って、AVストリームをディスク読み出し部70を通じて読み出し、順次デコードを行っていく。デコード結果である非圧縮のビデオデータおよびオーディオデータ(第3のオーディオデータ)はそれぞれビデオミキシング部40およびオーディオミキシング部30に送られる。なお、デコード結果である非圧縮オーディオデータ(第3のオーディオデータ)は、AVストリーム中のオーディオデータが2チャンネルを超えるチャンネル数を持っていたとしても2チャンネルにダウンミックスして出力する。また、読み出されたAVストリーム中の圧縮オーディオデータ(第1のオーディオデータ)については、そのまま切換部50に送るパスを持つ。
プログラム処理部20は、指定されたプログラムの実行を司る機能ブロックである。プログラムの実行によって出力される非圧縮のグラフィックスデータおよびオーディオデータは内部バッファを通じてそれぞれビデオミキシング部40およびオーディオミキシング部30に送られる。
OSD生成部60は、OSD(On Screen Display)の生成を司る機能ブロックである。内部にOSDプレーンを持ち、その内容をビデオミキシング部40に送る。OSDプレーンの内容は書き換え可能であり、書き換えは全体制御部80などにより為される。このOSD生成部60は、後述するように、オーディオの切り換え時に切換をユーザに通知する通知手段としての機能を有している。
ビデオミキシング部40は、ビデオデータ、グラフィックスデータ、OSDデータの重畳処理を司る機能ブロックである。デコード部10からの非圧縮ビデオデータ、プログラム処理部20からの非圧縮グラフィックスデータおよび、OSD生成部60からのOSDデータを順に重ねて1枚の非圧縮ビデオデータを構成し、ビデオ出力部5に送る。
ビデオ出力部5は、アナログビデオ出力機能を司る機能ブロックであり、非圧縮ビデオデータをNTSC(National Televison System Committee)フォーマットに変換し出力する。
オーディオミキシング部30は、複数のオーディオデータのミキシング処理を司る機能ブロックである。デコード部10およびプログラム処理部20からの非圧縮オーディオデータ(第2のオーディオデータ、第3のオーディオデータ)をデジタル波形でミックスし第4のオーディオデータに変換し、切換部50に送る。
切換部50は、外部からの指示によってデジタルオーディオ出力の形態を切り換える機能を司る機能ブロックである。切り換える対象は、デコード部10からの圧縮オーディオデータ(第1のオーディオデータ)とオーディオミキシング部30からの2チャンネル非圧縮オーディオデータ(第4のオーディオデータ)の2種類である。切り換えた結果は、デジタルオーディオ出力部4に送られる。ここで、外部からの指示としては、オーディオデータの再生処理の手順を示した再生処理プログラムが利用する可能性のあるオーディオデータのリストに基づいて切り換えるための指示である。
デジタルオーディオ出力部4は、デジタルオーディオ出力を司る機能ブロックであり、切換部50から送られるデジタルオーディオ信号をIEC 60958フォーマットに変換しS/PDIF端子(図示なし)に出力する。
ユーザ入力部3は、ユーザからの入力を司る機能ブロックである。ビデオディスクプレーヤ1をユーザが操作するためのもので、リモートコントローラや機器のフロントパネルのボタンが相当する。
ユーザ入力部3からは、ユーザに操作に従って、操作情報(ユーザ入力操作情報、再生制御情報)を生成し、それを全体制御部80に送る。ユーザ操作には、再生制御操作(再生開始や一時停止等)、メニュー操作(メニュー呼び出しやメニューからコンテンツへの復帰)、GUIの操作(カーソルの上下左右移動や決定等)がある。
全体制御部80は、全体の制御を司る機能ブロックである。例えば、全体制御部80は、ディスク読み出し部70を経由して光ディスク2から読み出したタイトル管理テーブルおよびユーザ入力部3からのユーザの操作情報に従ってタイトルの開始および終了を制御する。
<データ構成>
図2は、光ディスク(コンテンツ記録媒体)2におけるファイル・ディレクトリ構成を示す図である。すなわち、上記光ディスク2は、第1のオーディオデータ、第2のオーディオデータ、再生処理プログラム、上記再生処理プログラムが利用する可能性のあるオーディオデータのリストのうちの少なくとも一つが記録されていることを特徴とするコンテンツ記録媒体である。
図2に示すように、光ディスク2内には1個のタイトル管理テーブルファイル、1個以上のJARファイル、0個以上のプレイリストファイル、0個以上の多重化AVストリームファイルを格納しておく。
プレイリストファイルは、多重化AVストリームの再生順情報である。また、多重化ストリームに含まれるビデオデータおよびオーディオデータに関する属性情報も格納する。ビデオデータの属性情報としてはフォーマットの種類・解像度・アスペクト比など、オーディオデータの属性情報としてはフォーマットの種類・チャンネル数・サンプリング周波数などを管理する。
多重化AVストリームファイルは、1個のビデオデータと1個以上のオーディオデータを多重化したものであり、本実施形態では多重化フォーマットとしてMPEG2 Transport Stream(以下MPEG2−TSと呼ぶ)を用いている。さらに本実施形態では、ビデオデータの圧縮フォーマットとしてMPEG2 Video、オーディオデータの圧縮フォーマットとしてAC−3(R)を用いている。
また、オーディオデータには非圧縮フォーマットであるLPCMも選択できるようにしている。オーディオデータのチャンネル数にAC−3、LPCMいずれも2チャンネルおよび5.1チャンネルを選択できるようにしている。
なお、本発明は上述の多重化AVストリーム、ビデオデータおよびオーディオデータのフォーマットに限定されるものではない。また、オーディオデータのチャンネル数についても2チャンネルと5.1チャンネルに限定されるものでなく、2チャンネルを超えるチャンネル数を設定するものであれば適用可能である。
上記タイトル管理テーブルファイルおよびJARファイルのデータ構成については後述する。
<タイトル管理テーブルファイルのデータ構成>
タイトル管理テーブルファイルは、前述のようにユーザが選択可能なコンテンツタイトル(以下タイトルと呼ぶ)の管理情報であるタイトル管理テーブルを格納したファイルである。
タイトル管理テーブルファイルのデータ構造を図3(a)(b)に沿って説明する。
図3(a)にタイトル管理テーブルtitle_management_table()の全体構成を示す。
Title_management_table()は、ディスク中の各タイトルに関する情報であるタイトル管理情報title_management_info()を1個以上含んでいる。
フィールドfirst_title_idは、ディスク挿入時に自動的に再生開始するタイトル(以下ファーストタイトルと呼ぶ)のIDを格納する。
また、フィールドmenu_title_idは、ユーザがメニュー呼び出しを指示した場合に再生を開始するタイトル(以下メニュータイトルと呼ぶ)のIDを格納する。 なお、それぞれのIDは、IDに対応するタイトルに関するtitle_management_info()のtitle_management_table()中での順番で表現する。
図3(b)にタイトル管理情報title_management_info()の構成を示す。
フィールドJAR_file_nameは、このフィールドを含むタイトル管理情報に対応するタイトルが使用するプログラムを格納しているJARファイルのファイル名を格納する。なお、JARファイルについては後述する。
フィールドplaylist_file_nameは、このフィールドを含むタイトル管理情報に対応するタイトルが使用するプレイリストのファイル名を格納する。
<JARファイルのデータ構成>
JARファイルは、複数のファイルを1個のファイルにまとめたものである。本実施形態で用いるJARファイルについて図4に沿って説明する。
図4に示すように、JARファイルには1個のマニフェストファイル、1個以上のクラスファイル、このクラスファイルから呼び出される0個以上のオーディオデータファイルおよび0個以上のグラフィックスデータファイルを格納する。
各ファイルは種類を容易に区別できるように、ファイル名を種類毎に固有のものを用いる。
マニフェストファイルは、JARファイルに格納されているファイルのリストである。ファイル名は"MANIFEST.MF"である。
クラスファイルはJava(登録商標)バーチャルマシン用のバイトコードであり、プログラム本体に相当する。ファイル名は"foo.class"である。ここでfooは任意の文字列をあらわす。
オーディオデータファイルは、2チャンネルのLPCMフォーマットのオーディオデータを格納したものであり、連続して再生する音フレーズ毎に1個のファイルとして格納する。"foo.lpcm"である。
また、再生処理プログラムが、あらかじめ作成したオーディオデータファイルを出力するのではなく、プログラム実行時に再生処理プログラムによってオーディオデータを動的に生成する場合、データの入っていないダミーのオーディオデータファイルを格納しておく。これによって、後述するようにタイトル再生開始時にプログラムからのオーディオ出力があるかどうかを判断することができる。
グラフィックスデータファイルはJPEGフォーマットのグラフィックスデータを格納したものである。"foo.jpeg"である。
<全体制御部>
図5は、上記全体制御部80の詳細な構成を示す機能ブロック図である。
図5に示すように、全体制御部80は、バス80a、RAM80b、ユーザ入力制御部80c、CPU80d、フラッシュメモリ80e、ディスク読み出し制御部80f、デコード制御部80g、プログラム処理制御部80h、切換制御部80i、OSD制御部80jで構成される。
ディスク読み出し制御部80fは、光ディスク2からのデータの読み出しを司る機能ブロックであり、CPU80dから指定されたタイトル管理テーブルを光ディスク2から読み出す。読み出したタイトル管理テーブルは、CPU10cの指示に従ってRAM80bに格納される。
ユーザ入力制御部80cは、ユーザ入力部3からの入力を受信し、CPU80dに通知するためのインタフェースである。
デコード制御部80gは、CPU80dとデコード部10とのインタフェースを司る機能ブロックである。
プログラム処理制御部80hは、CPU80dとプログラム処理部20とのインタフェースを司る機能ブロックである。
切換制御部80iは、CPU80dと切換部50とのインタフェースを司る機能ブロックである。
OSD制御部80jは、CPU80dとOSD生成部60とのインタフェースを司る機能ブロックである。
RAM80bは、RAMで構成され、読み出されたタイトル管理テーブル等を保持するためのメモリである。
フラッシュメモリ80eは、フラッシュメモリで構成され、ビデオディスクプレーヤ1の全般に関する各種設定情報を電源を切っても保持しておけるようにするために用いられる。
CPU80dは、バス80aを通して全体制御部80内の各機能ブロックの制御を行う。
<デコード部>
図6はデコード部10の詳細な構成を示す機能ブロック図である。
上述のようにデコード部10は、指定されたプレイリストから参照されるAVストリームの読み出しおよびデコードを司る機能ブロックである。
図6に示すように、デコード部10は、バス10a、インタフェース部10b、CPU10c、RAM10d、ディスク読み出し制御部10e、バッファメモリ10f、PIDフィルタ10g、オーディオデコード部10h、ビデオでコード部10i、Flash Memory10jで構成される。
ディスク読み出し制御部10eは、光ディスク2からのデータの読み出しを司る機能ブロックであり、CPU10cから指定された多重化AVストリームやプレイリストを光ディスク2から読み出す。読み出したデータのうち、多重化AVストリームはバッファメモリ10fに書き出し、プレイリストはCPU10cの指示に従ってRAM10dに格納する。ここで光ディスク2から読み出されたデータは、多重化AVストリームに含まれる第1のオーディオデータ、第2のオーディオデータ、再生処理プログラム、上記再生処理プログラムが利用する可能性のあるオーディオデータのリストである。
バッファメモリ10fは、ディスク読み出し制御部10eを通じて読み出された多重化AVストリームを一旦蓄えるためのFIFOであり、PIDフィルタ10gによって読み出される。
PIDフィルタ10gは、クロック(図示せず)に従って、バッファメモリ10fからAVストリームを読み出し、多重化AVストリームを構成する固定長パケットの先頭のPIDの値に従って、オーディオデコード部10hあるいはビデオデコード部10iに振り分ける。振り分けの際にはパケットのペイロードのみを取り出して送る。また、オーディオデータが入っていると判断されたパケットについては、そのペイロードを構成するPESパケットのさらにペイロードを抜き出して外部に出力する。
また、上記PIDフィルタ10gは、オーディオデータの再生処理の手順を示した再生処理プログラムが利用する可能生のあるオーディオデータのリストに基づいて、第1のオーディオデータのうちデコードすべきか否かを決定するようになっている。すなわち、PIDフィルタ10gは、第1のオーディオデータをデコードする場合には、オーディオデコード部10hに出力し、非圧縮のオーディオデータ(第3のオーディオデータ)として上記オーディオミキシング部30に出力すると共に、第1のオーディオデータをデコードしない場合には、第1のオーディオデータを、圧縮オーディオデータとして上記出力手段を構成する切換部50にそのまま出力する。
オーディオデコード部10hおよびビデオデコード部10iは、それぞれオーディオデータおよびビデオデータのデコード処理を司る機能ブロックであり、PIDフィルタ10gから送られたPESパケットに含まれるオーディオデータおよびビデオデータをデコードし、それぞれ非圧縮オーディオデータおよび非圧縮ビデオデータの形式で出力する。
インタフェース部10bは、デコード部10と他機能ブロックのブロックのインタフェースを行う機能ブロックであり、他機能ブロックからの命令の受信や他機能ブロックへの状態の通知などを行う。
RAM10dは、RAMで構成され、読み出したプレイリストなどを保持するために用いられる。
フラッシュメモリ10jは、フラッシュメモリで構成され、ビデオディスクプレーヤ1の再生に関する各種設定情報を電源を切っても保持しておけるようにするために用いられる。
CPU10cは、バス10aを経由して、デコード部10中の各種機能ブロックを制御する。
<プログラム処理部>
図7はプログラム処理部20の詳細な構成を示す機能ブロック図である。
上述のようにプログラム処理部20は、指定されたプログラム(例えば、第2のオーディオデータの再生処理の手順を示した再生処理プログラム)の実行を司る機能ブロックである。
図7に示すように、プログラム処理部20は、バス20a、RAM20b、デコーダ制御部20c、プログラム実行部20d、オーディオバッファメモリ20e、ディスク読み出し制御部20f、ミキシング制御部20g、グラフィックスプレーン20h、CPU20iで構成される。
ディスク読み出し制御部20fは、光ディスク2からのデータの読み出しを司る機能ブロックであり、CPU20iから指定されたJARファイルを光ディスク2から読み出し、RAM20bに書き出す。RAM20b上のJARファイルはCPU20iによって、クラスファイル、グラフィックスファイルおよびオーディオファイルに展開されRAM20bに書き出される。
プログラム実行部20dは、Java(登録商標)によるプログラムの実行を司る機能ブロックである。
オーディオバッファメモリ20eおよびグラフィックスプレーン20hは、それぞれプログラム実行部20dで実行されるプログラムの出力であるオーディオデータ(LPCMフォーマット)およびグラフィックスデータを格納するメモリである。それぞれ、オーディオミキシング部30およびビデオミキシング部40に読み出されてデコード部10からの出力とミックスされることになる。
デコーダ制御部20cおよびミキシング制御部20gは、それぞれデコード部10およびオーディオミキシング部30・ビデオミキシング部40を制御するためのインタフェースであり、CPU20iおよびプログラム実行部20dからバス20aを通じて制御される。
なお、本実施形態では、ファイル読み出しのオーバーヘッドを削減するため、プログラムが読み出して利用するグラフィックスファイルおよびオーディオファイルはプログラムが格納されているJARファイル中のものに限定している。
<全体処理>
図8は、全体制御部80の光ディスク2挿入以降の処理を示すフローチャートである。図8を参照しながら、全体制御部80の光ディスク挿入以降の処理手順を説明する。
まず、RAM80bの初期化および各機能ブロックに対して初期化を指示し、また光ディスク2上のファイルシステム情報を読み出す(S10)。
次に、ディスク読み出し部70を通じて、光ディスク2からタイトル管理テーブルを読み出す(S11)。
続いて、再生対象のタイトルを決定する(S12)。ここで、再生対象のタイトルは以下のルールによって決定される;(1)ディスク挿入直後にはファーストタイトルを選択、(2)それ以外の場合、直前に再生されたタイトルを構成するプログラムによって指定されるタイトルを選択、(3)タイトル再生中にユーザによるメニュー呼び出し操作が行われた場合、メニュータイトルを選択。
次に、タイトル管理情報を解釈し(S13)、その結果に基づき、デコード部10に対しplaylist_file_nameで指定されるプレイリストの再生開始を指示し(S14)、プログラム処理部20に対しJAR_file_nameで指定されるJARファイルの実行を指示する(S15)。上記のデコード部10によるプレイリスト再生処理およびプログラム処理部20のプログラム実行処理については後述する。
その後、タイトル再生終了条件が満たされるまで待機する(S16)。ここで、タイトル再生終了の条件とは、プログラム処理部20よりプログラム実行の終了が通知されること、またはユーザ入力部3からユーザ入力制御部80cを通じてタイトル切り換えやメニュータイトル呼び出しなどが指示される場合である。条件が満たされたらS12に戻ることになる。
上記の処理手順はCPU80dで実行されるが、図示しないOSの機能であるスレッド機能あるいは類似機能を用いることで、並行して他の処理を継続可能となっている。
<プレイリスト再生処理>
図9は、デコード部10のプレイリスト再生処理を示すフローチャートである。
図9を参照しながらデコード部10のプレイリスト再生処理を説明する。
まず、指定されたプレイリストファイルを読み出し(S20)、その解釈を行う。
次に、プレイリストファイルに格納されたビデオデータおよびオーディオデータの属性情報(フォーマット、チャンネル数、サンプリング周波数)を全体制御部80に通知し(S21)し、それらに基づきビデオデコード部10i等のパラメータを設定し、デコード開始を指示する(S22)。
続いて、ディスク読み出し制御部10eを通じてディスク読み出し部70に対し、プレイリストで参照する多重化AVデータファイルの読み出し開始を指示する(S23)。読み出しは、プレイリスト再生終了条件を満たすまで続ける(S24)。プレイリスト再生終了の条件とは、プレイリストの最後まで再生が到達した場合あるいは全体制御部80より再生終了が指示された場合である。なお、再生の終了に伴い、全体制御部80およびプログラム処理部20に対し、再生終了を通知する(S25)。
上記の処理手順はCPU10cで実行されるが、図示しないOSの機能であるスレッド機能あるいは類似機能を用いることで、並行して他の処理を継続可能となっている。
<プログラム実行処理>
図10は、プログラム処理部20のプログラム実行処理を示すフローチャートである。
図10を参照しながらプログラム処理部20のプログラム実行処理を説明する。
まず、指定されたJARファイルの読み出しを行う(S30)。
次に、RAM20bに展開されたJARファイル中のマニフェストファイルを参照し、オーディオデータファイルの有無をチェックし(S31)、全体制御部80に対し有無を通知する(S32)。
続いて、プログラム実行部20dにクラスファイルの実行を指示し(S33)、プログラム終了条件を満たすまで待機を行う(S34)。ここで、プログラムの終了条件とは、プログラム実行部20dからプログラム実行の終了が通知される、あるいは全体制御部80からプログラム実行の停止が指示される場合である。
そして、プログラム実行の終了に伴い、全体制御部80に対しプログラム実行終了を通知する(S35)。
このように、マニフェストファイルを参照し、事前にオーディオデータファイルの有無をチェックすることで、後述のようにそのタイトルがプログラムによる効果音をミックスするかどうかをタイトル再生前に知ることができ、そのことによってS/PDIFに対して最適な出力を行うことが可能となっている。
なお、上記の処理手順はCPU20iで実行されるが、図示しないOSの機能であるスレッド機能あるいは類似機能を用いることで、並行して他の処理を継続可能となっている。
<オーディオ出力状態制御処理−1>
図11は、全体制御部80のオーディオ出力制御処理を示すフローチャートである。
図11を参照しながら全体制御部80のオーディオ出力制御処理を説明する。
まず、プログラム処理部20からのオーディオデータファイル有無情報の通知およびデコード部10からのオーディオ属性情報の通知を待つ(S40)。なお、これらの通知は上述のように全体制御部80によるタイトルの再生処理に伴って発生するため、以下の処理はタイトル再生開始とほぼ同時に行われることになる。
次に、通知された情報をRAM80bに格納されている情報と比較し(S41)、変化がなければ待機状態に戻る。変化があれば、以下のS42の処理を実行する。
S42において、オーディオデータファイルの有無の更新があるか否かを判定し、更新があると判定していれば、すなわち変化があれば、切換部50の設定を変更する(S43)。具体的には、無から有の変化の場合、オーディオミキシング部30からの2チャンネル非圧縮オーディオデータをデジタルオーディオ出力部4に出力するように切り換え、有から無への変化の場合、デコード部10からの圧縮オーディオデータをデジタルオーディオ出力部4に出力するよう切り換える。
なお、有から無への変化の場合、オーディオデコード部10hおよび/またはオーディオミキシング部30を停止してもよい。このことによって、オーディオデコードおよびオーディオミキシングによる電力消費の削減が可能という追加の効果が得られる。
一方、S42において、オーディオデータファイルの有無の更新があるか否かを判定し、更新がないと判定していれば、すなわち変化がなければ、OSD生成部60に対してオーディオ状態表示を指示する(S44)。OSDで表示する文字列は図12に従ってオーディオの属性に基づき設定する。表示文字列の設定に関する基本的な考えは、デジタル出力が多重化AVストリーム中のオーディオデータのフォーマットおよびチャンネル数と異なった出力となった場合、そのことを明示するというものである。
その後、RAM80bの内容を更新し(S45)、また待機状態に戻る。
このように、プログラムがオーディオデータファイルを使用するかどうかに応じて、切換え部50を切り換えることによって、S/PDIFへ出力する際に、プログラムからのオーディオ出力が行われないタイトルにおいては5.1チャンネルで出力でき、2チャンネル出力となる期間を一部のタイトルに限定することが可能となる。また、タイトル中のその切り換えはタイトルの再生中などではなく、タイトルの境界で行うことができるため、ユーザの違和感を最小にすることが可能である。
また、上記のオーディオ状態表示には以下の効果がある。本実施形態では、プログラムによって出力されるオーディオをミックスするため、本来5.1チャンネルであるオーディオデータを2chにダウンミックスしている。上記のように切り換えはタイトル境界であり違和感は小さいとはいえ、やはり、それまで5.1チャンネルで再生されていたものがタイトルを切り換えると2チャンネルになるためユーザに違和感を与えるおそれがある。しかしこのようにダウンミックスしたことを画面に表示することで、ユーザの違和感を緩和することが可能となる。
しかも、データ出力手段(切換部50、デジタルオーディオ出力部4)によって出力される再生用のオーディオデータは、エンコードされた第1のオーディオデータ(圧縮オーディオデータ)とデコードされた非圧縮の第4のオーディオデータ(非圧縮オーディオデータ)の何れかであるので、必要最小限のデコードのみで、オーディオデータを再生することができる。これにより、ビデオディスクプレーヤ1におけるオーディオデータの再生処理における処理負荷を軽減することができる。
しかも、再生オーディオデータとして出力されるのは、エンコードされたままの第1のオーディオデータか、デコード処理が1度だけ行なわれた第4のオーディオデータかの何れかであるので、オーディオデータのエンコードの形式は任意のものでよいことになる。
つまり、出力する再生用のオーディオデータは、再度、エンコード、デコードといった処理を施す必要がないので、第1のオーディオデータに対するエンコードは、任意の形式のものでよい。
このように、任意の圧縮フォーマットでエンコードされたオーディオデータを再生可能とすることで、オーディオデータの再生におけるシステムの柔軟性を有する再生装置を提供することが可能となる。
<オーディオ出力状態制御処理−2>
図13は、全体制御部80のオーディオ出力制御処理の別形態を示すフローチャートである。前述のオーディオ出力制御処理との違いは、ユーザに選択を委ねる点である。
図13を参照しながら全体制御部80のオーディオ出力制御処理を説明する。
まず、プログラム処理部20からのオーディオデータファイル有無情報の通知およびデコード部10からのオーディオ属性情報の通知を待つ(S50)。通知があったら、切換部50をデコード部10からの圧縮オーディオデータをデジタルオーディオ出力部4に出力するよう切り換える(S51)。
次に、オーディオデータファイルがあるかどうか通知内容をチェックし(S52)、あればユーザに対し効果音をミックスするかどうかの質問メッセージを、OSD生成部60を通じて表示し、ユーザの入力を待つ(S53)。
そして、ユーザの入力をチェックし(S54)、もし、ミックスが指示された場合、切換部50をオーディオミキシング部30からの2チャンネル非圧縮オーディオデータをデジタルオーディオ出力部4に出力するように切り換える(S55)。
この場合、マルチチャンネル出力を優先するか、効果音付加を優先するかをユーザの好みに合わせて設定することができる。
<バリエーション>
本実施形態では、プログラムが利用するオーディオデータファイルをJARファイル内に限っているため、マニフェストファイルを利用して、JARファイル内のオーディオファイルの有無によって、プログラムがオーディオデータを出力するかどうかを判断しているが、本発明はそれに限定されない。JARファイル外のオーディオデータファイルを参照できるようにして、別途プログラムが利用する可能性のあるオーディオデータファイルのリストをプログラム外に格納し、タイトル再生開始時にそのリストをチェックするようにしてもよい。すなわち、タイトルの再生開始時に、そのタイトルを構成するプログラムが利用するオーディオデータファイルのリストが得られればよい。
また、本実施形態では、プログラムが利用するオーディオデータの形式は非圧縮フォーマットであるが、本発明はそれに限定されない。例えば、オーディオデコーダをプログラム処理部20に追加し、プログラムから圧縮フォーマットのオーディオデータを上記追加オーディオデコーダに送出し、デコード結果である非圧縮フォーマットのオーディオデータをオーディオミキシング部30に送るようにしても同様の効果は得られる。
また、本実施形態では、ダウンミックスによって多重化AVストリーム中のオーディオデータのフォーマットおよびチャンネル数と異なった出力がなされる場合のOSD表示を、オーディオデータファイルの有無によるダウンミックス切り換えと組み合わせて行っているが、本発明はそれに限定されない。例えば、ダウンミックスへの切り換えをプログラムからのオーディオ出力があった場合に行う場合に行ってもよい。その場合でも、OSD表示によりユーザの違和感を軽減するという効果は得られる。
また、本実施形態では、ダウンミックスによって多重化AVストリーム中のオーディオデータのフォーマットおよびチャンネル数と異なった出力がなされる場合に、OSD表示を用いてユーザに知らせているが、本発明はそれに限定されない。例えば、合成音声でもよいし、プレーヤーのフロントパネル表示部を用いてもかまわない。すなわちユーザに切り換わったことを伝えることができればよい。
本発明の再生装置は、以下のような構成であってもよい。
本発明の再生装置は、第1のオーディオデータ、第2のオーディオデータ、該第2のオーディオデータの再生処理の手順を示した再生処理プログラムおよび、上記再生処理プログラムが利用する可能性のあるオーディオデータのリストを取得するデータ取得手段と、上記プログラムと上記第1のオーディオデータを1つのタイトルとして再生するタイトル再生手段と、上記プログラムを実行するプログラム実行手段と、上記第1のオーディオデータをデコードして第3のオーディオデータに変換するデコード手段と、第2のオーディオデータと第3のオーディオデータをミックスして第4のオーディオデータを出力するオーディオミックス手段を備え、上記再生処理プログラムは上記第2のオーディオデータの出力タイミングを制御する再生装置であって、上記第1のオーディオデータと上記第4のオーディオデータを切り換える切換手段を備え、上記切換手段の切り換えは、上記リストに基づいて行うことを特徴とする再生装置であってもよい。
また、上記の再生装置であって、ユーザへの通知手段を備え、上記切り換え時に、上記通知手段を用いて切り換わったことを知らせることを特徴とする再生装置であってもよい。
本発明の再生装置は、第1のオーディオデータ、第2のオーディオデータ、該第2のオーディオデータの再生処理の手順を示した再生処理プログラムを取得するデータ取得手段と、上記再生処理プログラムを実行するプログラム実行手段と、上記第1のオーディオデータをデコードして第3のオーディオデータに変換するデコード手段と、第2のオーディオデータと第3のオーディオデータをミックスして第4のオーディオデータを出力するオーディオミックス手段を備え、上記プログラムは上記第2のオーディオデータの出力タイミングを制御する再生装置であって、上記第1のオーディオデータと上記第4のオーディオデータを切り換える切換手段と、通知手段とを備え、上記切換手段による切り換え時に、上記通知手段を用いて切り換わったことを知らせることを特徴とする再生装置であってもよい。
上述の再生装置は、以下のようなコンテンツ記録媒体からデータを供給可能に構成されている。本発明のコンテンツ記録媒体は、第1のオーディオデータ、第2のオーディオデータ、該第2のオーディオデータの再生処理の手順を示した再生処理プログラム、上記再生処理プログラムが利用する可能性のあるオーディオデータのリストのうちの少なくとも一つが記録されていることを特徴とするコンテンツ記録媒体である。
本発明の再生装置の制御方法は、以下のような制御方法であってもよい。
本発明の再生装置の制御方法は、データ取得手段、タイトル再生手段、デコード手段、プログラム実行手段、オーディオミックス手段、切換手段を備えた再生装置の制御方法であって、上記データ取得手段にて、第1のオーディオデータ、第2のオーディオデータ、オーディオデータの再生処理の手順を示した再生処理プログラムおよび、上記再生処理プログラムが利用する可能性のあるオーディオデータのリストを取得するデータ取得ステップと、タイトル再生手段にて、上記再生処理プログラムと上記第1のオーディオデータを1つのタイトルとして再生する再生ステップと、上記プログラム実行手段にて、上記再生処理プログラムを実行して第2のオーディオデータを出力するステップと、上記デコード手段にて、上記第1のオーディオデータをデコードして第3のオーディオデータに変換するデコードステップと、上記オーディオミックス手段にて、第2のオーディオデータと第3のオーディオデータをミックスして第4のオーディオデータを出力するミックスステップと、を含むことを特徴とする再生装置の制御方法であってもよい。
また、本発明の再生装置の制御方法は、データ取得手段、デコード手段、プログラム実行手段、オーディオミックス手段、切換手段、通知手段を備えた再生装置の制御方法であって、上記データ取得手段にて、第1のオーディオデータ、第2のオーディオデータ、オーディオデータの再生処理の手順を示した再生処理プログラムを取得するデータ取得ステップと、上記プログラム実行手段にて、上記再生処理プログラムを実行して第2のオーディオデータを出力するステップと、上記デコード手段にて、上記第1のオーディオデータをデコードして第3のオーディオデータに変換するデコードステップと、上記オーディオミックス手段にて、第2のオーディオデータと第3のオーディオデータをミックスして第4のオーディオデータを出力するミックスステップと、上記通知手段にて、上記切換手段による切り換え時に切り換わったことを知らせるステップと、を含むことを特徴とする再生装置の制御方法であってもよい。
最後に、ビデオディスクプレーヤ1の各ブロックは、ハードウェアロジックによって構成してもよいし、次のようにCPUを用いてソフトウェアによって実現してもよい。
すなわち、ビデオディスクプレーヤ1は、各機能を実現する制御プログラムの命令を実行するCPU(central processing unit)、上記プログラムを格納したROM(read only memory)、上記プログラムを展開するRAM(random access memory)、上記プログラムおよび各種データを格納するメモリ等の記憶装置(記録媒体)などを備えている。そして、本発明の目的は、上述した機能を実現するソフトウェアであるビデオディスクプレーヤ1の制御プログラムのプログラムコード(実行形式プログラム、中間コードプログラム、ソースプログラム)をコンピュータで読み取り可能に記録した記録媒体を、上記ビデオディスクプレーヤ1に供給し、そのコンピュータ(またはCPUやMPU)が記録媒体に記録されているプログラムコードを読み出し実行することによっても、達成可能である。
上記記録媒体としては、例えば、磁気テープやカセットテープ等のテープ系、フロッピー(登録商標)ディスク/ハードディスク等の磁気ディスクやCD−ROM/MO/MD/DVD/CD−R等の光ディスクを含むディスク系、ICカード(メモリカードを含む)/光カード等のカード系、あるいはマスクROM/EPROM/EEPROM/フラッシュROM等の半導体メモリ系などを用いることができる。
また、ビデオディスクプレーヤ1を通信ネットワークと接続可能に構成し、上記プログラムコードを通信ネットワークを介して供給してもよい。この通信ネットワークとしては、特に限定されず、例えば、インターネット、イントラネット、エキストラネット、LAN、ISDN、VAN、CATV通信網、仮想専用網(virtual private network)、電話回線網、移動体通信網、衛星通信網等が利用可能である。また、通信ネットワークを構成する伝送媒体としては、特に限定されず、例えば、IEEE1394、USB、電力線搬送、ケーブルTV回線、電話線、ADSL回線等の有線でも、IrDAやリモコンのような赤外線、Bluetooth(登録商標)、802.11無線、HDR、携帯電話網、衛星回線、地上波デジタル網等の無線でも利用可能である。なお、本発明は、上記プログラムコードが電子的な伝送で具現化された、搬送波に埋め込まれたコンピュータデータ信号の形態でも実現され得る。
本発明は上述した実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能である。すなわち、請求項に示した範囲で適宜変更した技術的手段を組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。