図1は、本発明の一実施方法を示したディレクトリ構造とファイル構造の模式図である。
101は、ルートディレクトリであり、少なくともBDAVディレクトリ101を含む。
102はBDAVディレクトリであり、PLAYLISTディレクトリ121、CLIPINFディレクトリ122、STREAMディレクトリ123、BACKUPディレクトリ131を含む。
ルートディレクトリ101は、BDAV1ディレクトリ102、BDAV2ディレクトリ103、BDAVnディレクトリ104といった、外部BDAVディレクトリを含む。ここでBDAVnディレクトリ104のnは、外部BDAVディレクトリの数に応じた、1から連続した自然数である。例えば、4つの外部BDAVディレクトリがルートディレクトリ101以下に存在する場合、nは4となり、それぞれ、BDAV1、BDAV2、BDAV3、BDAV4というディレクトリ名となる。
PLAYLISTディレクトリ121は、リアルプレイリストファイル141および142、バーチャルプレイリスト143などの管理ファイルが含まれる。
CLIPINFディレクトリ122は、クリップ情報ファイル
144、145などの管理ファイルが含まれる。
STREAMディレクトリ123は、ストリームファイル146、147などのストリームファイルが含まれる。
info.bdavファイル111は、一般的な情報を格納したファイルであり、BDAVディレクトリにひとつ格納される。
menu.tidxファイル112は、メニューサムネイルのヘッダ情報が格納される。
menu.tdt1ファイル113は、メニューサムネイルのピクチャデータが格納される。menu.tdt2ファイル114も同様のファイルである。
mark.tidxファイル115は、マークサムネイルのヘッダ情報が格納される。
mark.tdt1ファイル116は、マークサムネイルのピクチャデータが格納される。mark.tdt2ファイル117も同様のファイルである。
01001.rplsファイル141は、リアルプレイリストに関する情報が含まれる。ひとつのリアルプレイリストにつき、ひとつのrplsファイルが生成される。02002.rplsファイル141も同様のファイルである。
99999.vplsファイル143は、バーチャルプレイリストに関する情報が含まれる。ひとつのバーチャルプレイリストにつき、ひとつのvplsファイルが生成される。
01000.clpiファイル144は、クリップ情報ファイルであり、AVストリームファイル(クリップAVストリームファイル、ブリッジクリップAVストリームファイル)に関連したクリップ情報が含まれる。02000.clpiファイル145も同様のファイルである。
01000.m2tsファイル146は、AVストリームファイルであり、MPEG−2トランスポートストリームが含まれる。02000.m2tsファイル147も同様のファイルである。
クリップ情報ファイルzzzzz.clpiと、AVストリームファイルzzzzz.m2tsのファイル名「zzzzz」は5桁の整数であり、関連付けられたクリップ情報ファイルとAVストリームファイルは、同じ5桁の整数が付与される。
なお、クリップ情報ファイルzzzzz.clpiと、AVストリームファイルzzzzz.m2tsを一組にして、クリップと呼ぶ。
このように、プレイリストは、PLAYLISTディレクトリに格納されたファイルである。
以下、リアルプレイリストファイル、バーチャルプレイリストファイルについて、詳細に説明する。
リアルプレイリスト、バーチャルプレイリストいずれも、以下に述べるデータから構成される。
図2は、プレイリストファイルの構造を示した図である。
201は、種別識別子であり、プレイリストファイルであることを示す情報が格納される。例えば、ASCIIコードで"PLST"という値を設定することで、プレイリストファイルであることを識別できる。
202は、バージョン番号であり、プレイリストファイルのバージョンを示す番号である。ASCIIコードで”0100”という値を設定することで、H.264ストリームを参照していないことを示す。
203は、プレイリスト情報開始アドレスであり、プレイリストファイル内での、プレイリスト情報の相対的な開始位置をバイト単位で示す値が設定される。先頭は0からとなる。
204は、プレイリストマーク情報開始アドレスであり、プレイリストファイル内での、プレイリストマーク情報の相対的な開始位置をバイト単位で示す値が設定される。先頭は0からとなる。
205は、メーカ独自データ開始アドレスであり、プレイリストファイル内での、メーカ独自データ情報の相対的な開始位置をバイト単位で示す値が設定される。先頭は0からとなる。この値に0が設定されれば、メーカ独自データ情報は存在しない。
206は、ユーザインターフェースアプリケーション情報であり、図3で示すようなデータ構造である。
207は、プレイリスト情報であり、図5で示すようなデータ構造である。
208は、プレイリストマーク情報である。
209は、メーカ独自データである。
図3は、ユーザインターフェースアプリケーション情報の構造を示した図である。プレイリストのユーザインタフェースアプリのためのパラメータが格納される。
301は、長さであり、本フィールドの直後からユーザインターフェースアプリケーション情報の末尾までの長さを示す。
331は、3Dフラグであり、1が設定されていれば、プレイリストに含まれるコンテンツの中に、3D(立体視)コンテンツが含まれていることを示す。0が設定されていれば、3Dコンテンツが含まれていないことを示す。
302は、文字コードであり、チャンネル名314、プレイリスト名316、プレイリスト詳細318で使用される文字コードを規定する。プレイリストマーク情報の、マーク名の文字コードにも適用される。例えば、1であれば、日本語、16であればASCIIコード、32であればユニコード、のように設定される。
303は、再生保護フラグであり、1が設定されていれば、プレイリスト名やサムネイルなどのプレイリスト情報やプレイリストが再生されユーザに表示されることはない。暗証番号入力による認証が成功すれば、再生される。0が設定されていれば、暗証番号入力がなくとも再生可能である。
304は、記録保護フラグであり、1が設定されていれば、記録保護フラグ以外のプレイリスト情報は変更してはならず削除してもいけない。0が設定されていれば、ユーザによる変更や削除は自由である。1が設定されていれば、ユーザがプレイリスト情報の削除や編集や上書きをする前に、レコーダはユーザに再確認をするべきである。記録保護フラグが0にセットされたリアルプレイリストと、記録保護フラグが1にセットされたバーチャルプレイリストが、クリップの同じ部分を共有している場合がある。この場合、ユーザがリアルプレイリストを削除しようとしたら、レコーダはリアルプレイリストの削除の前にユーザに再確認をするべきである。
305は、再生済みフラグであり、1が設定されていれば、少なくとも1回はこのプレイリストが再生されていることを示す。0が設定されていれば、1度も再生されていないことを示す。
306は、編集済みフラグであり、0が設定されていれば、記録したときのオリジナルのデータが変更されずに保存されていることを示し、1が設定されていれば、変更が加わっていることを示す。
307は、タイムゾーンであり、図4に示すようなデータ構造である。
図4は、タイムゾーンの構造を示した模式図である。
401は、アラインメントのためのパディングである。
402は、夏時間フラグであり、0に設定されていれば、標準時間であることを示し、1に設定されていれば、夏時間であることを示す。
403は、タイムゾーン符号であり、0が設定されていれば、正の数を示し、1が設定されていれば、負の数を示す。
404は、タイムゾーン値であり、UTC(coordinated universal time)からの差分の時間の絶対値を示す。単位は時間(=60分)である。15が設定されていれば、タイムゾーン値は無効であり、夏時間フラグ、タイムゾーン符号、30分フラグも、無効であることを示す。
405は、30分フラグであり、1が設定されていれば、タイムゾーン値はさらに30分の追加の差分時間を絶対値で持つことを示す。0が設定されていれば、タイムゾーン値は追加の時間はないことを示す。
308は、記録日時であり、プレイリストが記録された日時情報が含まれる。ローカル時間で示される。年月日時分秒を、4ビットで一桁のBCD(Binary Coded Decimal)で表現する。最初の4桁が、西暦の4桁である。
309は、プレイリスト長であり、時間単位でプレイリストの長さを示す。これは、プレイリスト中に含まれるプレイアイテムの再生時間の合計で求められる。プレイアイテムの再生時間は、IN時刻からOUT時刻までの時間である。単位は秒に切り上げられる。時分秒を、4ビットで一桁のBCDで表現する。
310は、メーカIDであり、最後にプレイリストを更新したレコーダの製造者を示す。
311は、メーカモデルコードであり、最後にプレイリストを更新したレコーダのモデル番号を示す。
312は、チャンネル番号であり、プレイリストが記録されたときにユーザが選択していた放送チャンネル番号やサービス番号であり、二つ以上のプレイリストが結合されたプレイリストの場合、この値は代表の値を示す。999以下の値となる。0xFFFFが設定された場合は、無効である。
313は、チャンネル名長さであり、チャンネル名のバイト長を示す。20以下の値となる。
314は、チャンネル名であり、ユーザがプレイリストを記録したときに選択していた放送チャンネル名やサービス名を示す。このフィールドの左端からチャンネル名長さ313で示されたバイト長までが有効である。
315は、プレイリスト名長さであり、プレイリスト名のバイト長を示す。255以下の値となる。
316は、プレイリスト名であり、プレイリスト名を含む。このフィールドの左端からプレイリスト名長さ315で示されたバイト長までが有効である。
317は、プレイリスト詳細長さであり、プレイリスト詳細のバイト長を示す。1200以下の値になる。
318は、プレイリスト詳細であり、プレイリストの詳細なテキスト情報を含む。このフィールドの左端からプレイリスト詳細長さ317で示されたバイト長までが有効である。
図5は、プレイリスト情報の構造を示した図である。
501は、長さであり、本フィールドの直後からプレイリスト情報の末尾までの長さを示す。
502は、プレイリストCPI種別であり、プレイアイテム中のIN時刻やOUT時刻から参照されるアクセスポイントの種別であり、プレイリストマーク中のマークタイムスタンプのアクセスポイント種別でもある。1が設定されていれば、プレイリスト情報中の各アクセスポイントが、AVストリームファイル中の表示時刻を示すことを表し、EP_mapタイプのプレイリスト情報と呼ばれる。2が設定されていれば、到着時刻を示すことを表し、TU_mapタイプのプレイリスト情報と呼ばれる。
503は、プレイアイテム数であり、プレイリスト中のプレイアイテムの数を示す。プレイアイテムIDは、0から始まる整数である。プレイリスト中のプレイアイテムのエントリは、表示順番にソートされる。
504は、サブプレイアイテム数であり、プレイリスト中のサブプレイアイテムの数を示す。
図6は、プレイアイテムの構造を示した図である。
601は、長さであり、本フィールドの直後からプレイアイテム情報の末尾までの長さを示す。
602は、クリップ情報ファイル名であり、プレイアイテム情報で使用されているクリップのクリップ情報ファイルの名前を示す。このフィールドは、zzzzz.clpiというファイル名の5桁の番号zzzzzを示す。ACSIIコードの文字列であらわされる。クリップ情報ファイル中の、クリップストリーム種別フィールドは、クリップAVストリームファイル(MPEG−2トランスポートストリーム)を示す。
603は、クリップCODEC情報であり、このフィールドは、ASCIIコードの”M2TS”を示す値を持つ。プレイリスト情報中のすべてのプレイアイテムが、同じ値のクリップCODEC情報”MTS”を持つ。プレイリスト情報中のプレイリストCPI種別が1に設定され、かつ、クリップCODEC情報が”M2TS”に設定されていれば、プレイリストファイルで使われている各クリップは、CPI情報中にEP_mapを持つ。プレイリスト情報中のプレイリストCPI種別が2に設定され、かつ、クリップCODEC情報が”M2TS”に設定されていれば、プレイリストファイルで使われている各クリップは、CPI情報中にTU_mapを持つ。
604は、接続条件であり、現在のプレイアイテムのIN時刻と直前のプレイアイテムのOUT時刻の間の接続条件を示す。1から6までの値のいずれかを示す。もしプレイアイテムがプレイリスト中の最初のプレイアイテムであれば、接続条件フィールドは無効であり、1が設定される。
605は、STC情報であり、クリップ情報ファイルのCPI情報中のCPI種別がEP_mapであれば、現在のプレイアイテムのプレゼンテーションユニットが含まれるSTCシーケンスのSTC_IDを示す。現在のプレイアイテムのクリップ情報ファイル名により参照されているクリップがそのSTCシーケンスを持つ。STC_IDの値はクリップのシーケンス情報中で規定される。
606は、IN時刻であり、現在のプレイアイテムのIN時刻、つまり、現在のプレイアイテムの表示開始時刻を示す。IN時刻の意味合いは、クリップ情報ファイル名により参照されるクリップ情報ファイルのCPI中のCPI種別により異なる。
607は、OUT時刻であり、現在のプレイアイテムのOUT時刻、つまり、現在のプレイアイテムの表示終了時刻を示す。OUT時刻の意味合いは、クリップ情報ファイル名により参照されるクリップ情報ファイルのCPI中のCPI種別により異なる。
EP_mapの場合、IN時刻、OUT時刻は、プレイアイテムに使用されているクリップのSTC時刻に基づいた表示時刻を指す。また、45kHzクロックの単位で測定される。例えば、プレゼンテーションユニットに対して90kHz精度の33ビットPTSの上位32ビットで表現される。さらに、IN時刻からOUT時刻までの間に、システム時刻の不連続点が含まれない。さらに、OUT時刻はIN時刻よりも先の時刻を指す。ただし、ラップアラウンドした場合は、IN時刻がOUT時刻よりも大きくなる。
TU_mapの場合、プレイアイテムのクリップ情報ファイル名で参照されるクリップのATCシーケンスと同じTU_time_baseの時刻を指す。さらに、IN時刻とOUT時刻は45kHzクロックで計測される。さらに、OUT時刻はIN時刻より大きい。
608は、ブリッジシーケンス情報であり、図7で詳細を説明する。
図7は、ブリッジシーケンス情報の構造を示した図である。
701は、ブリッジシーケンス情報ファイル名であり、ブリッジシーケンス情報で使用されているブリッジクリップのクリップ情報ファイルの名前を指す。このフィールドは、ASCIIコードで記述された5桁の数値(ファイル名のzzzzzに相当)が含まれる。クリップ情報ファイルのクリップ情報中のクリップストリーム種別は、ブリッジクリップAVストリーム(MPEG−2トランスポートストリーム)となる。
702は、クリップCODEC情報であり、ASCIIコードで“M2TS”という値を持ち、プレイリストファイルがMPEG−2トランスポートストリームを使用していることを示す。ブリッジシーケンス情報で使用されているブリッジクリップは、EP_mapをCPIに持つ。
図8はサブプレイアイテムの構造を示した図である。
801は、長さであり、このフィールドの直後からサブプレイアイテムの末尾までのバイト長である。
802は、クリップ情報ファイル名であり、サブプレイアイテムで使用されているクリップのクリップ情報ファイルの名前を指す。このフィールドは、クリップの名前のzzzzzに相当する5桁の番号をASCIIコードで持つ。クリップ情報ファイルのクリップ情報中のクリップストリーム種別は、“クリップAVストリーム(MPEG−2トランスポートストリーム)”を指す。
803は、クリップCODEC情報であり、“M2TS”という値をASCIIコードで持ち、プレイリストファイルでMPEG−2トランスポートストリームを使用していることを示す。サブプレイアイテムで使用されているクリップは、CPI中にEP_mapを持つ。
804は、サブプレイアイテム種別であり、サブプレイアイテムで使用されているサブパスの種別を示すが、1という値のみが設定される。アフレコ用音声ストリームのクリップAVストリームが使用される。
805は、STC_IDであり、サブプレイアイテムが参照する、クリップ情報ファイル名で示されたクリップのSTCシーケンスに対応するSTC_IDを示す。サブプレイアイテムの、サブプレイアイテムIN時刻とサブプレイアイテムOUT時刻の両方がSTC_IDによって参照される同じSTCシーケンス内のプレゼンテーションユニットを指す。
806は、サブプレイアイテムIN時刻であり、サブプレイアイテムの表示開始時刻を持つ。サブプレイアイテムIN時刻は、サブプレイアイテムで使用されているクリップのSTCから45kHz精度で計測される表示時刻である。
807は、サブプレイアイテムOUT時刻であり、サブプレイアイテムOUT時刻であり、サブプレイアイテムの表示終了時刻を持つ。サブプレイアイテムOUT時刻は、サブプレイアイテムで使用されているクリップのSTCから45kHz精度で計測される表示時刻である。サブプレイアイテムOUT時刻は、サブプレイアイテムIN時刻より先の時刻を示し、サブプレイアイテムIN時刻とサブプレイアイテムOUT時刻の間でSTCがラップアラウンドした場合は、サブプレイアイテムIN時刻がサブプレイアイテムOUT時刻より大きくなる。サブプレイアイテムIN時刻とサブプレイアイテムOUT時刻の両方が、サブプレイアイテムのSTC_IDで参照されるSTCシーケンスに対応した表示開始時刻と表示終了時刻の間の区間の表示時刻を指す。
808は、同期プレイアイテムIDであり、プレイリスト中のプレイアイテムのプレイアイテムIDを指す。このプレイアイテムは、サブプレイアイテムを含み、そのサブプレイアイテムとは、プレイアイテムの再生時間内で再生が開始するものである。プレイアイテムIDは、プレイリスト中のプレイリストで決められる。
809は、同期プレイアイテム開始PTSであり、同期プレイアイテムIDで指されるプレイアイテム中の表示時刻を示す。サブプレイアイテムは、プレイアイテムの表示時刻が同期プレイアイテム開始PTSに達したときに、自身の表示を開始する。同期プレイアイテム開始PTSは同期プレイアイテムIDで指されるプレイアイテムの45kHzクロックで測定される表示時刻である。
まず、図9と図10を使って、記録装置を説明する。
図9は、MPEG−2トランスポートストリームの構造を示した図である。
AVストリームファイルは、MPEG−2トランスポートストリームの構造を持つ。MPEG−2トランスポートストリームは、自然数の個数のアラインドユニット901からなる。アラインドユニット901は6144バイト(=2048×3バイト)のサイズである。アラインドユニット901はソースパケット902の最初のバイトから開始する。ソースパケット902の長さは192バイトである。ひとつのソースパケットはTPエクストラヘッダ903とトランスポートパケット904からなる。TPエクストラヘッダ903の長さは4倍とであり、トランスポートパケット904の長さは188バイトである。ひとつのアラインドユニット901は32個のソースパケット902からなる。MPEG−2トランスポートストリーム中の最後のアラインドユニット901は、32個のソースパケット902からなる。よって、MPEG−2トランスポートストリームは、アラインドユニット901の末尾で終端される。最後のアラインドユニット901が、入力されたトランスポートストリームですべて埋まらなかった場合は、残りのバイトは、PID=0x1FFFであるトランスポートパケット、すなわちヌルパケットのソースパケットで埋められる。
トランスポートパケット904は、ISO/IEC 13818-1で規定される。
TPエクストラヘッダ903は、コピー許可情報905と、アライバルタイムスタンプ906からなる。コピー許可情報905は、関連するトランスポートパケット904のコンテンツ保護情報を含む。アライバルタイムスタンプ906は、後述するアライバルタイムスタンプの値を設定される。
図10は、本発明の一実施方式を示したレコーダの模式図である。
1001は、アンテナであり、デジタル放送波を入力する。
1002は、チューナであり、アンテナ1001から入力されるデジタル放送波を受信する。
1003は、DEMUXであり、チューナ1002で受信したデジタル放送波(フルTS(Transport Stream))を必要に応じてエレメンタリストリームに分離する。
1004は、データセレクタであり、必要に応じてDEMUX1003で分離されたエレメンタリストリームから必要なストリームを選択する。
1005は、REMUXであり、データセレクタから送られてきたストリームを必要に応じて再度MPEG−2トランスポートストリームに多重化することで、パーシャルTS(Transport Stream)にする。
1006は、トランスコーダであり、REMUX1005から入力されたTSのオーディストリームやビデオストリームのフォーマットを必要に応じて変換する。
1011は、ビデオ入力であり、アナログビデオ信号を入力する。
1012は、A/D変換であり、ビデオ入力1011から入力されたアナログデータを、デジタルデータに変換する。
1021は、オーディオ入力であり、アナログオーディオ信号を入力する。
1022は、A/D変換であり、オーディオ入力1021から入力されたアナログデータを、デジタルデータに変換する。
1013は、エンコーダであり、A/D変換1012および1022でデジタル化されたビデオデータおよびオーディオデータをMPEG−2トランスポートストリームにエンコードする。
1014は、セレクタであり、トランスコーダ1006もしくはエンコーダ1013から送られてくるストリームを、切り替えて入力する。
1031は、T_STDであり、時刻iのMPEG−2トランスポートストリームが入力されるトランスポートシステムターゲットでコーダである。
1032は、PLLであり、27MHzの周波数であり、入力されたMPEG−2トランスポートストリームのPCR(Program Clock Reference)に同期される。
1033は、カウンタであり、27MHzの周波数のパルス信号をカウントするバイナリカウンタである。時刻iにおけるカウント値iを、アライバルタイムクロック(i)として、パケッタイザ1034に渡す。
1034は、パケッタイザであり、全トランスポートパケットにTPエクストラヘッダを付加し、ソースパケットストリームおよびアラインドユニットを生成する。生成されたソースパケットストリームは、ライトバッファ1035へ最大転送レートRMAXで転送される。パケッタイザ1034は内部に小容量のバッファを持ち、ストリームのビットレートを平均化する。デジタル放送のピークレートは、RMAXを超える場合もあるが、内部のバッファにより、ライトバッファ1035への転送レートはRMAX以下に保障される。
アライバルタイムスタンプは、ソースパケットの最初のバイトがT_STD1031とパケッタイザ1034に到着した時刻である。アライバルタイムスタンプ(k)は、アライバルタイムクロック(k)のサンプル値である。(下式参照)
アライバルタイムスタンプ(k)=アライバルタイムクロック(k)%(2の30乗)
2つの連続したパケットのアライバルタイムスタンプ間の差分の最大値は、(230-1)/27000000 秒 (=およそ 40 秒)である。
差分がこの値を超えるような場合は、この最大値になるようにアライバルタイムスタンプを変更する。レコーダはそのようなケースも想定しておく必要がある。後述する、MPEG−2トランスポートストリームプレーヤが、アライバルタイムスタンプに従ってトランスポートストリームを出力するとき、出力するトランスポートストリームのPCR精度は、ISO/IEC13818-9によって規定される。
1035は、バッファであり、パケッタイザ1034から転送されたソースパケットをドライブ1036へ書き込むためのライトバッファである。
AVストリームファイルのクリップ情報中で定義される、TSレコーディングレートが、RMAXの値を決める。このRMAXは以下のように計算される。
RMAX=TSレコーディングレート×192/188
TSレコーディングレートの単位は、バイト/秒である。
ドライブの最大記録レートRUDであり、バッファ1035が空でない場合は、ドライブ1036への記録レートはRUDであり、バッファ1035が殻の場合は、ドライブ1036への記録レートは0である。バッファ1035はオーバーフローしない。
1036は、ドライブであり、ライトバッファ1035から入力されるストリームを光ディスクなどの記録媒体に最大記録レートRUDで書き込む。
1041は、CPUであり、レコーダ全体の記録制御をつかさどる。レコーダ内の各ブロックと、破線で示したCPUバスで接続され、データのやり取りや制御を行う。
1042は、メモリであり、CPU1041のワークメモリやエンコーダのバッファなどとして使用される。
さらに、図37を使って、3Dフラグの記録処理フローを説明する。
放送番組を記録開始すると、アンテナ1001を経由してチューナ1002で受信/選局した番組のストリームデータを、DEMUX1003で分離処理する。(ステップ3701)
そして、データセレクタ1004を介して、SI情報に含まれる3D放送であるかどうかの番組属性情報を、CPU1041が取得する。(ステップ3702)
CPU1041は、取得した3D情報か否かの情報を元に、3Dコンテンツの番組であるかどうかを判定し(ステップ3703)、プレイリストファイル141のユーザインターフェースアプリケーション情報206の3Dフラグ331に設定すべき値を算出する。録画する番組が3D放送であれば1を、さもなければ0を設定し(ステップ3704、ステップ3705)、ドライブ1036にて記録媒体に、AVストリームファイル146やクリップ情報ファイル145とともに、プレイリストファイル141を記録する。(ステップ3706)
次に図11を使って、再生装置を説明する。
図11は、本発明の一実施方式を示したプレーヤの模式図である。
1101は、ドライブであり、光ディスクなどの記録媒体から、MPEG−2トランスポートストリームを読み出して、バッファ1102へ転送する。
1102は、バッファであり、ドライブ1101から読み出されたMPEG−2トランスポートストリームをバッファリングする。
1103は、デパケッタイザであり、バッファ1102から入力されるMPEG−2トランスポートストリームを、TPエクストラヘッダとトランスポートパケットに分離し、カウンタ1104から入力されるアライバルタイムクロックに、アライバルタイムスタンプを同期させて、トランスポートパケットを出力する。カウンタ1104へは、最初にアライバルタイムクロックの初期値を渡す。
1104は、カウンタであり、デパケッタイザ1103から受け取った初期値から開始して、X−tal1105からの27MHzのパルス信号をカウントして、アライバルタイムクロックをデパケッタイザ1103に渡す。
1105は、X−talであり、27MHzのパルス信号を生成する。
1111は、セレクタであり、デパケッタイザ1103から入力されたトランスポートパケットを、種別ごとに切り替えて、対応するデコーダに渡す。
1121は、オーディオデコーダであり、セレクタ1111から入力されるオーディオパケットをデコードし、ミキサ1122へ渡す。
1122は、ミキサであり、必要に応じて、指定された割合で多チャンネルオーディオの音量設定などのミキシングを行う。
1131は、ビデオデコーダであり、セレクタ1111から入力されるビデオパケットをデコードし、ビデオプレーン1132へ渡す。
1132は、ビデオプレーンであり、ビデオデコーダ1131でデコードされたピクチャデータを展開し、表示するためのプレーンバッファである。
1141は、グラフィックデコーダであり、セレクタ1111から入力されるグラフィックパケットをデコードし、グラフィックプレーン1142へ渡す。
1142は、グラフィックプレーンであり、グラフィックデコーダ1141から入力されるグラフィックデータを展開するプレーンバッファである。
1143は、CLUT(Color Look Up Table)であり、グラフィックプレーン1142の各ピクセルに対応したRGBデータおよびアルファブレンドデータを参照するテーブルである。
1151は、出力部であり、入力されたオーディオ/ビデオ/グラフィックデータを多重化し、YCbCrなどのアナログフォーマットもしくはHDMIなどのデジタルフォーマットでプレーヤから外部へ出力する。
1161は、CPUであり、プレーヤ全体の再生制御をつかさどる。レコーダ内の各ブロックと、破線で示したCPUバスで接続され、データのやり取りや制御を行う。
1162は、メモリであり、CPU1161のワークメモリやデコーダのバッファなどとして使用される。
さらに、図38を使って、3Dフラグの再生処理フローを説明する。
レコーダの記録済み番組一覧表から、ユーザが鑑賞したい番組を選択すると、ドライブ1101にて記録媒体から再生番組に該当するプレイリストファイル141を再生する。(ステップ3801)。
CPU1161は、再生されたプレイリストファイル141の中から、ユーザインターフェースアプリケーション情報206の3Dフラグ331を取得し(ステップ3802)、3Dフラグ331が1であるかどうかを判定する。(ステップ3803)
3Dフラグ331が1であれば、OSD(On Screen Display)やレコーダ本体のLEDインジケータ点灯などにより、ユーザに対して3Dコンテンツであることを知らせる。(ステップ3804)
さらに、レコーダに接続されたディスプレイに対して3Dコンテンツが伝送されることを通知すると(ステップ3805)、ディスプレイが3D表示モードへ遷移する。
その後、AVストリームファイルを再生する。(ステップ3806)
図12は、本発明の一実施方法を示したリアルプレイリストとバーチャルプレイリストの模式図である。
1201は、一つ目のリアルプレイリストであり、プレイアイテム1211を参照している。
1202は、二つ目のリアルプレイリストであり、プレイアイテム1212とプレイアイテム1213を参照している。
1211は、一つ目のプレイアイテムであり、クリップ1203を参照している。
1212は、二つ目のプレイアイテムであり、クリップ1204を参照している。
1213は、三つ目のプレイアイテムであり、クリップ1205を参照している。
1203は、一つ目のクリップである。
1204は、二つ目のクリップである。
1205は、三つ目のクリップである。
1231は、四つ目のプレイアイテムであり、クリップ1203の一部を参照している。
1232は、五つ目のプレイアイテムであり、クリップ1204の一部を参照している。
1233は、六つ目のプレイアイテムであり、クリップ1204の一部と、ブリッジクリップ1208の一部を参照している。
1234は、七つ目のプレイアイテムであり、ブリッジクリップ1208の一部と、クリップ1205の一部を参照している。
1206は、一つ目のバーチャルプレイリストであり、プレイアイテム1231とプレイアイテム1232を参照している。
1207は、二つ目のバーチャルプレイリストであり、プレイアイテム1233とプレイアイテム1234を参照している。
1208は、一つ目のブリッジクリップであり、クリップ1204の末尾部分のデータと、クリップ1205の先頭部分のデータから再エンコードされたものである。
プレイリストについて説明する。
プレイリストはユーザが再生させたいクリップの再生時間を簡単に編集できるようにするためのものである。例えば、クリップファイル実体の移動やコピー、削除(部分移動、部分コピー、部分削除含む)を行うことなく、切り貼り編集が可能となる。プレイリストは、プレイアイテムと呼ばれる、クリップ中の一続きの再生区間を、集めたものであり、プレイアイテムは、一組のイン点とアウト点で表される。イン点とアウト点はクリップのもつ時間軸における位置を指し示す時間情報である。よって、プレイリストはプレイアイテムを集めたものといえる。また、イン点は再生区間の再生開始位置を意味し、アウト点は再生区間の再生終了位置を意味する。プレイリストには、2種類あり、リアルプレイリストとバーチャルプレイリストである。
リアルプレイリストについて、説明する。
リアルプレイリストは、クリップAVストリームファイルに使用し、ブリッジクリップAVストリームファイルには使用しない。リアルプレイリストは、クリップのある部分への参照を行う。
リアルプレイリストの参照により、参照先のクリップ(の一部分)のサイズ分だけ、ディスク上のデータ空間が消費され、リアルプレイリストが削除されると参照先のクリップ(の一部)が削除される。
バーチャルプレイリストについて、説明する。
リアルプレイリストは、クリップAVストリームファイルと、ブリッジクリップAVストリームファイルの両方に使用する。バーチャルプレイリストは、クリップAVストリームファイルに使用したときは、データ実体を持たないが、ブリッジクリップAVストリームファイルに使用した場合は、データ実体を持つ。ブリッジクリップAVストリームファイルを使用していないバーチャルプレイリストが削除された場合は、クリップに変化は生じない。
一方、ブリッジクリップAVストリームファイルを使用しているバーチャルプレイリストが削除された場合は、クリップAVストリームファイルとそれに関連するクリップ情報ファイルは変化しないが、ブリッジクリップAVストリームファイルとそれに関連するクリップ情報ファイルは削除される。
クリップは、プレーヤもしくはレコーダの内部的な制御を行ううえでの管理単位であり、ユーザインターフェースには表示されない。ユーザに示されるのは、プレイリストのみである。
プレイリストの操作としては、以下にあげるようなものがある。
リアルプレイリストの操作に関するものとしては、以下のものがあげられる。
(1) リアルプレイリストの生成
最初に放送された番組を録画したときに生成されるリアルプレイリストは、録画されたクリップ全体を参照するようなリアルプレイリストになる。
図13は、リアルプレイリストの生成の一例を示した図である。
1301は、リアルプレイリストであり、プレイアイテム1311を参照する。新規録画時には、1つのプレイリストファイルとして生成される。
1311は、プレイアイテムであり、クリップ1303を参照する。
1303は、クリップであり、新規録画時には、1つのクリップ情報ファイルと1つのAVストリームファイルとして生成される。
図14は、生成されたリアルプレイリストの3Dフラグを示した表である。
1451は、新規記録時のリアルプレイリスト1301中の3Dフラグの設定値を示した表であり、クリップ1303のコンテンツが3Dであれば1、さもなければ0を設定する。
(2) リアルプレイリストの分割
ひとつのリアルプレイリストをふたつに分割し、二つのリアルプレイリストにする場合、クリップ自体には変化を引き起こさない。
図15および図16は、リアルプレイリストの分割の一例を示した図である。
1501は、リアルプレイリストであり、図示していないプレイアイテムを経由しクリップ1503を参照する。
1503は、クリップである。
1521は、分割点であり、リアルプレイリスト1401の中央付近を分割する例を示している。
1611は、リアルプレイリストであり、図示していないプレイアイテムを経由しクリップ1603の一部(分割点1621よりも左に相当する部分)を参照する。
1603は、クリップであり、クリップ1503と同じものである。
1612は、リアルプレイリストであり、図示していないプレイアイテムを経由しクリップ1603の一部(分割点1621よりも右に相当する部分)を参照する。
図17は、リアルプレイリストの分割前後の3Dフラグを示した表である。
1751は、分割前後のリアルプレイリスト1501、1611、1612中の3Dフラグの設定値を示した表であり、クリップ1503のコンテンツが3Dであれば1、さもなければ0を設定する。
(3) リアルプレイリストの連結
二つのリアルプレイリストを連結して一つの新しいリアルプレイリストにする場合、クリップ自体には変化を引き起こさない。
図18および図19は、リアルプレイリストの連結の一例を示した図である。
1811は、リアルプレイリストであり、図示していないプレイアイテムを経由しクリップ1801を参照する。
1801は、クリップである。
1812は、リアルプレイリストであり、図示していないプレイアイテムを経由しクリップ1802を参照する。
1802は、クリップである。
1901は、クリップであり、クリップ1801と同じものである。
1902は、クリップであり、クリップ1802と同じものである。
1921は、リアルプレイリストであり、図示していないプレイアイテムを経由しクリップ1901とクリップ1902を参照する。
図20は、リアルプレイリストの連結前後での3Dフラグを示した表である。
2051は、結合前後のリアルプレイリスト1811、1812、1921中の3Dフラグの設定値を示した表であり、クリップ1801とクリップ1802のコンテンツがいずれも3Dであれば1、いずれも3Dでなければ0を設定し、いずれか一方のみが3Dである場合は連結を禁止する。
また、別の実施例としては、結合を禁止するのではなく、ユーザに対して3Dコンテンツと非3Dコンテンツが混在したプレイリストになることを警告し、その上でユーザが連結実行を選択すれば、3Dフラグに1を設定し、連結したリアルプレイリストを生成する方法でもよい。
図39は、リアルプレイリストの連結処理フローを示した図である。
2つのリアルプレイリストを結合する編集を開始すると、結合対象番組のプレイリストをドライブ1101から再生し(ステップ3901)、3Dフラグを取得する。(ステップ3902)
CPU1161は、3Dフラグが同じ値であるかどうかを判定し(ステップ3903)、いずれも1もしくはいずれも0である場合は、結合処理を行い(ステップ3904)、さもなければユーザに対してこれらのプレイリストの結合処理が禁止されている旨を通知し(ステップ3905)、処理を終了する。
(4) リアルプレイリスト全体の削除。
あるリアルプレイリスト全体を削除する場合、参照先のクリップのうち参照されている範囲が削除される。
図21は、リアルプレイリストの削除の一例を示した図である。
2101は、リアルプレイリストであり、図示していないプレイアイテムを経由しクリップ2103を参照する。
2103は、クリップである。
図22は、リアルプレイリストの削除前後の3Dフラグを示した表である。
2251は、削除前のリアルプレイリスト1601中の3Dフラグの設定値を示した表であり、クリップ2103のコンテンツが3Dであっても3Dでなくても、リアルプレイリスト2101の削除は可能である。
(5) リアルプレイリストの一部分の削除。
リアルプレイリストが参照しているクリップの一部を削除する場合は、プレイアイテムを変更して必要な部分を残すが、クリップ中で参照されなくなった部分は削除される。
図23および図24は、リアルプレイリストの先頭部分の一部削除の一例を示した図である。
2301は、リアルプレイリストであり、プレイアイテム2311を参照する。
2311は、プレイアイテムであり、クリップ2303を参照する。
2303は、クリップである。
2421は、リアルプレイリストであり、プレイアイテム2431を参照する。
2441は、削除範囲であり、リアルプレイリスト2301の左側に相当する部分を一部削除する例を示している。
2431は、プレイアイテムであり、クリップ2423を参照する。
2423は、クリップである。
図25は、リアルプレイリストの先頭部分の一部削除前後の3Dフラグを示した表である。
2551は、一部削除前後のリアルプレイリスト2301、2421中の3Dフラグの設定値を示した表であり、クリップ2303のコンテンツが3Dであれば1、さもなければ0を設定する。
クリップAVストリームの中間部分を編集して削除する場合は、残りの部分は1つのクリップファイルに連結される。
図26および図27は、リアルプレイリストの中間部分の一部削除の一例を示した図である。
2601は、リアルプレイリストであり、図示していないプレイアイテムを経由して、クリップ2621を参照する。
2621は、クリップである。
2641は、削除範囲であり、リアルプレイリスト2601の中間領域に相当する部分を一部削除する例(=中抜き削除)を示している。
2711は、リアルプレイリストであり、図示していないプレイアイテムを経由して、クリップ2731を参照する。
2731は、クリップである。
図28は、リアルプレイリストの中間部分の一部削除の一例での3Dフラグを示した表である。
2851は、一部削除前後のリアルプレイリスト2601、2711中の3Dフラグの設定値を示した表であり、クリップ2621のコンテンツが3Dであれば1、さもなければ0を設定する。
リアルプレイリストと、リアルプレイリストに使用されているクリップに変更が生じる場合は、同じクリップを使用しているバーチャルプレイリストと不整合を起こす可能性がある。このような場合、以下のような動作となる。
・ユーザへの警告と、確認を行う。すなわち、削除操作により、リアルプレイリストとクリップの一部が削除されると、クリップの同じ部分を使用しているバーチャルプレイリストも削除される可能性がある。
・もしくは、バーチャルプレイリストファイルはそのまま残し、バーチャルプレイリストから参照されていたのだが、クリップの一部が削除されてしまったプレイアイテムのみを削除する動作も考えられる。
バーチャルプレイリストの操作に関するものとしては、以下のものがあげられる。
(1) アセンブル編集。
図29から図36に示すように、ユーザが再生させたいプレイアイテムを生成し、バーチャルプレイリストを用いて別のプレイアイテムに連結させることができる。
ブリッジクリップファイルを生成することにより、連結ポイントでの滑らかなつなぎの再生を実現することができる。MPEGビデオストリームをシームレスにつないで再生させるためには、連結点付近のごく少数の枚数のピクチャーを再エンコードし、ブリッジクリップにすることにより、実現するのが一般的である。
この処理により、もともとのクリップAVストリームファイルとそのクリップ情報ファイルを変更する必要がない。
図29および図30は、アセンブル編集の一例(2つのプレイアイテムの非シームレス接続)を示した図である。
2901は、リアルプレイリストであり、図示していないプレイアイテムを経由して、クリップ2903を参照する。
2903は、クリップである。
2902は、リアルプレイリストであり、図示していないプレイアイテムを経由して、クリップ2904を参照する。
2904は、クリップである。
2941は、IN点であり、バーチャルプレイリストに登録する、プレイアイテム3031のIN時刻となる。
2942は、OUT点であり、バーチャルプレイリストに登録する、プレイアイテム3031のOUT時刻となる。
2943は、IN点であり、バーチャルプレイリストに登録する、プレイアイテム3032のIN時刻となる。
2944は、OUT点であり、バーチャルプレイリストに登録する、プレイアイテム3032のOUT時刻となる。
3006は、バーチャルプレイリストであり、プレイアイテム3031とプレイアイテム3032を参照する。
3031は、プレイアイテムであり、リアルプレイリスト3001の一部を参照する。
3032は、プレイアイテムであり、リアルプレイリスト3002の一部を参照する。
3003は、クリップであり、クリップ2903と同じものである。
3004は、クリップであり、クリップ2904と同じものである。
図31は、アセンブル編集の一例(2つのプレイアイテムの非シームレス接続)での編集前の3Dフラグを示した表である。
3151は、バーチャルプレイリスト生成前のリアルプレイリスト2901、2902中の3Dフラグの設定値を示した表であり、クリップ2903、2904のコンテンツが、それぞれ3Dであれば1、さもなければ0を設定する。
図32は、アセンブル編集の一例(2つのプレイアイテムの非シームレス接続)での編集後の3Dフラグを示した表である。
3252は、バーチャルプレイリスト生成後のバーチャルプレイリスト3006中の3Dフラグの設定値を示したものであり、クリップ3003が3Dであり3004のコンテンツが3Dである場合は1、クリップ3003が3Dでなく3004のコンテンツが3Dでない場合は0、クリップ3003か3004のいずれか一方のコンテンツが3Dの場合は、バーチャルプレイリスト生成時にユーザに対して3Dコンテンツとそうでないコンテンツが混在するバーチャルプレイリストが生成される警告を出した上で、ユーザが生成を選択した場合は1を設定する。
また、別の実施例としては、3Dコンテンツとそうでないコンテンツが混在するバーチャルプレイリストの生成を禁止する旨をユーザに通知し、生成を禁止する方法でもよい。
図40は、アセンブル編集(2つのプレイアイテムの非シームレス接続)の処理フローを示した図である。
2つのリアルプレイリストをバーチャルプレイリストで結合する編集を開始すると、結合対象番組のプレイリストをドライブ1101から再生し(ステップ4001)、それぞれの3Dフラグを取得する。(ステップ4002)
CPU1161は、3Dフラグが同じ値であるかどうかを判定し(ステップ4003)、いずれも1もしくはいずれも0である場合は、バーチャルプレイリスト生成処理を行い(ステップ4006)、さもなければユーザに対してこれら2Dと3Dのコンテンツが混在するバーチャルプレイリストが生成される旨を警告し(ステップ4004)、ユーザが生成処理実行を選択すれば(ステップ4005)、バーチャルプレイリスト生成処理を行い(ステップ4006)、ディスクに記録し終了する。ユーザが生成処理実行を選択しなければ、終了する。
図33および図34は、アセンブル編集の一例(2つのプレイアイテムのシームレス接続)を示した図である。
3301は、リアルプレイリストであり、図示していないプレイアイテムを経由して、クリップ3303を参照する。
3303は、クリップである。
3302は、リアルプレイリストであり、図示していないプレイアイテムを経由して、クリップ3304を参照する。
3304は、クリップである。
3341は、IN点であり、バーチャルプレイリストに登録する、プレイアイテム3431のIN時刻となる。
3342は、OUT点であり、バーチャルプレイリストに登録する、プレイアイテム3431のOUT時刻となる。
3343は、IN点であり、バーチャルプレイリストに登録する、プレイアイテム3432のIN時刻となる。
3344は、OUT点であり、バーチャルプレイリストに登録する、プレイアイテム3432のOUT時刻となる。
3406は、バーチャルプレイリストであり、プレイアイテム3431とプレイアイテム3432を参照する。
3431は、プレイアイテムであり、リアルプレイリスト3401の一部を参照する。
3432は、プレイアイテムであり、リアルプレイリスト3402の一部を参照する。
3403は、クリップであり、クリップ3303と同じものである。
3404は、クリップであり、クリップ3304と同じものである。
図35は、アセンブル編集の一例(2つのプレイアイテムのシームレス接続)での編集前の3Dフラグを示した表である。
3551は、バーチャルプレイリスト生成前のリアルプレイリスト3301、3302中の3Dフラグの設定値を示した表であり、クリップ3303、3304のコンテンツが、それぞれ3Dであれば1、さもなければ0を設定する。
図36は、アセンブル編集の一例(2つのプレイアイテムのシームレス接続)での編集後の3Dフラグを示した表である。
3652は、バーチャルプレイリスト生成後のバーチャルプレイリスト3406中の3Dフラグの設定値を示した表であり、クリップ3403が3Dであり3404のコンテンツが3Dである場合は1、クリップ3403が3Dでなく3404のコンテンツが3Dでない場合は0、クリップ3403か3404のいずれか一方のコンテンツが3Dの場合は、バーチャルプレイリスト生成を禁止する。
また、別の実施例としては、3Dコンテンツとそうでないコンテンツが混在するバーチャルプレイリストが生成される旨をユーザに警告したうえで、ユーザが生成を選択すれば、3Dフラグを1に設定したバーチャルプレイリストを生成する方法でもよい。
図41は、アセンブル編集(2つのプレイアイテムの非シームレス接続)の処理フローを示した図である。
2つのリアルプレイリストをバーチャルプレイリストで結合する編集を開始すると、結合対象番組のプレイリストをドライブ1101から再生し(ステップ4101)、それぞれの3Dフラグを取得する。(ステップ4102)。
CPU1161は、3Dフラグが同じ値であるかどうかを判定し(ステップ4103)、いずれも1もしくはいずれも0である場合は、バーチャルプレイリスト生成処理を行い(ステップ4106)、さもなければユーザに対してこれら2Dと3Dのコンテンツが混在するバーチャルプレイリストが生成される旨を警告し(ステップ4104)、ユーザが生成処理実行を選択すれば(ステップ4105)、ブリッジクリップ生成処理を行い(ステップ4107)、バーチャルプレイリスト生成処理を行い(ステップ4106)、ディスクに記録して終了する。ユーザが生成処理実行を選択しなければ、終了する。
(2) バーチャルプレイリストの再編集
プレイアイテムをバーチャルプレイリストに追加したり、挿入したり、バーチャルプレイリスト中のプレイアイテムを削除したりすることで、バーチャルプレイリストのプレイアイテムのIN点、もしくはOUT点を変更するという編集方法が考えられる。
ブリッジクリップを参照しているIN点、OUT点をユーザ操作で変更した場合、既存のブリッジクリップが削除され、新しいブリッジクリップを生成する必要があることを、レコーダはユーザに対して警告し、ユーザの確認を取ったうえで、このような処理を実行するという処理が考えられる。
(3) バーチャルプレイリストの削除
バーチャルプレイリスト全体を削除する
(4)バーチャルプレイリストでのアフレコ編集
バーチャルプレイリストに対して、追加音声を録音すること(=アフレコ)が可能である。追加される音声は、サブパスとして追加できる。
バーチャルプレイリストと、リアルプレイリストに共通の操作としては、以下のものがあげられる。
(1)プレイリストの再生順番を変更。
プレイリストの再生順番を規定したプレイリストテーブルを変更することで、実現される。この操作により、クリップ自体が変更されることはない。
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、または、ICカード、SDカード、DVD等の記録媒体に置くことができる。
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。