以下、図面を参照して本発明による情報記録媒体の実施の形態を説明する。本明細書中で用いられる“および/または”という表現は、英語における“and/or”と同義であり、“〜および〜”の場合もしくは“〜または〜”の場合を示す意図で用いている。
デジタルTV放送やインターネットなど有線を使用した放送では、圧縮動画を放送(配信)している。その共通の基本フォーマットであるトランスポートストリーム(TS)は、パケットの管理データ部分とペイロードに分かれる。ペイロードには、再生されるべき対象のデータがスクランブルの掛かった状態で含まれている。一方、デジタル放送方式の1つであるARIB(Association of Radio Industries and Businesses)によると、プログラム関連テーブルPAT(Program Association Table)やプログラムマップテーブルPMT(Program Map Table)やサービス情報SI(Service Information)に関しては、スクランブルされていない。ここでは、PMTやSIの内容(SDT:Service Description Table、EIT:Event Information Table、BAT:Bouquet association Table)を利用して、さまざまな管理情報を作成できるようになっている。
デジタル放送された内容の再生対象としては、MPEGビデオデータやDolby・AC3(R)オーディオデータやMPEGオーディオデータ、データ放送データなどがある。また、直接の再生対象には関係ないが、再生する上で必要なPAT、PMT、SIなどの情報(番組情報等)がデジタル放送された内容中にある。PATには、番組毎のPMTのパケット識別情報PID(Packet Identification)が含まれており、さらにPMTにはビデオデータやオーディオデータのPIDが記録されている。
セットトップボックスSTB(Set Top Box)等における通常の再生手順としては、例えば次のようなものがある。すなわち、例えば電子番組ガイドEPG(Electronic Program Guide)情報によりユーザが番組を決定すると、目的の番組の開始時間に、PATを読み込み、そのデータを元に、希望の番組に属するPMTのPIDを決定し、そのPIDに従って、目的のPMTを読み出し、そこに含まれる再生すべきビデオ、オーディオパケットのPIDを決定する。そして、PMTやSIによりビデオおよび/またはオーディオの属性を読み出してそれらを各デコーダへセットし、前記ビデオおよび/またはオーディオデータをPIDに従って切り出して、再生を行う。ここで、PAT、PMT、SI等は途中再生にも使用するために、数100ms毎に送信されてくる。
これらのデータに対し、DVD−RAMなどのディスクメディアに記録する場合には、放送されたデータをそのままデジタルデータとして記録する方が有利である。そこで、既存のVR(ビデオレコーディング)フォーマットとは違う、ストリームをそのまま記録するフォーマットとして、この発明では、ESR(エクステンド・ストリーム・レコーディング)を提案している。このESRは、従前のSR(ストリームレコーディング)をVR(ビデオレコーディング)にマージしたもので、既存のVR資産を生かしつつ、デジタル放送のストリームレコーディングに対応したものとなる。
以下、上記のESRに基づくこの発明の実施の形態について、図面を参照して詳細に説明する。
図1は、この発明の一実施の形態に係るデータ構造を説明する図である。ディスク状の情報記憶媒体100(図1(a))としては、DVD−RAM、DVD−RW、DVD−R等の記録可能光ディスクや、ハードディスク等の記録可能磁気ディスクがある。以下では、DVD−RAM等の光ディスクを例にとって説明を続ける。
光ディスク100は、その内周側から外周側に向かって、リードイン領域110、ボリューム/ファイル構造情報領域111、データ領域112、およびリードアウト領域113を持っている(図1(b))。ボリューム/ファイル構造情報領域111内にはファイルシステムが格納されている。ファイルシステムは、どのファイルがどこに記録されているかを示す情報で構成されている。記録コンテンツはデータ領域112に格納される(図1(c))。
データ領域112は、一般のコンピュータ情報が記録される領域120と、AVデータを記録する領域121に分けられる。AVデータ記録領域121は、AVデータの管理をするためのファイル(VMG/ESMGファイル)があるAVデータ管理情報領域130と、ビデオレコーディング規格のオブジェクトデータ(VOBS)ファイル(VROファイル)が記録されるVRオブジェクト群記録領域122と、デジタル放送に対応したエクステンドストリームオブジェクトセット(ESOBS:Extend Stream Object Set)が記録されるエクステンドストリーム(EStream)オブジェクト群記録領域131で構成されている(図1(d))。つまり、この実施の形態では、デジタル放送のストリームオブジェクトは、VRオブジェクトとは別のファイルであるEStreamオブジェクトセットESOBSとして記録される(図1(e))。
ESOBSは1以上のEStreamオブジェクト(ESOB)132で構成される。各EStreamオブジェクト(ESOB)132は、ディスク100へのアクセス単位となるデータユニット(ESOBU:Extend Stream Object Unit)134が1つ以上集まって構成される(図1(f))。各データユニット(ESOBU)134は、複数TSパケットの集まりで構成されるパケットグループ(Packet_Group)140が1つ以上集まって構成される(図1(g))。
この実施の形態では、各パケットグループ140は8個のLB(Logical Block)の集まりで構成される。1個のLBサイズが2kバイトとすると、各パケットグループ140のサイズは16kバイトとなり、この単位でディスクに記録される。
各パケットグループ140は、この発明が提供するエクステンドストリームレコーディング(ESR)におけるパケット記録領域(DVD−TSパケット記録領域)160を構成している(図1(h))。このDVD−TSパケット記録領域160は、パケットグループヘッダ161、複数(例えば85個)のMPEG−TSパケット162、および複数(例えば84個)のパケット到着時間差分情報(IAPAT: Incremental Packet Arrival Time)で構成することができる(図1(i))。このパケットグループ140の内容については、図16を参照して後に詳述する。
ここで、DVD−Video(ROM Video)はVIDEO−TS、DVD−RTR(録再DVD)はDVD−RTAVと、フォーマット毎に記録ファイルのディレクトリを分けている。デジタル放送対応の新ストリームレコーディング(ESR)においても、同様に、記録ファイルは、例えばDVD_HDRというディレクトリ(図示せず)に記録される。 つまり、デジタル放送のオブジェクトは、VRオブジェクトとは別のファイルで記録される。さらに、図3の(a)に示すようにデジタル放送の方式毎に別ファイルとして記録される場合と、図3の(b)に示すようにデジタル放送の全方式に対して1つのオブジェクトファイルで対応する(デジタル放送の方式毎にオブジェクトファイルを分けない)場合の二つの方式が考えられる。
図2は、この発明の一実施の形態に係るデータ構造における再生管理情報層10とオブジェクト管理情報層20とオブジェクト層30との関係を説明する図である。図1のAVデータ管理情報記録領域130に記録される管理情報(VMG/ESMGファイル)は、ビデオレコーディング規格に基づく記録コンテンツ、およびこの発明に基づくストリーム記録コンテンツの双方の再生手順を管理する再生管理情報層10を持っている。
すなわち、ストリーム記録されたオブジェクトの再生単位であるセル13が1以上集まってプログラム12が構成され、ビデオレコーディング記録されたオブジェクトの再生単位であるセル13*が1以上集まってプログラム12*が構成され、これらのプログラム12、12*の並び(再生手順)が、プログラムチェーン(PGC)11の管理情報(PGCI)で管理される。
ここでは、ストリーム記録側のセル13の途中から再生を開始する場合でも、ビデオレコーディング側のセル13*の途中から再生を開始する場合でも、ユーザは再生時間(PTS)で再生場所を指定することができるようになっている。
すなわち、ストリーム記録側のセル13の途中から再生時間(PTS)で再生を開始する場合では、ストリームオブジェクト管理情報層20内のエクステンドストリームオブジェクト情報(ESOBI)21を介してストリームオブジェクト層30内のエクステンドストリームオブジェクト(ESOB)132を指定し、ストリームオブジェクト管理情報層20内のエクステンドストリームオブジェクトユニット情報(ESOBUI)22を介してストリームオブジェクト層30内のエクステンドストリームオブジェクトユニット(ESOBU)134を指定する。エクステンドストリームオブジェクト(ESOB)132、およびそのエクステンドストリームオブジェクトユニット(ESOBU)134が指定されると、再生開始場所が特定される。エクステンドストリームオブジェクトユニット情報(ESOBUI)22はグローバル情報22と言い換えてもよい。
エクステンドストリームオブジェクトユニット(ESOBU)134は、1以上のパケットグループ140により構成される。エクステンドストリームオブジェクトユニット(ESOBU)134は、例えば1つまたは2つのGOPに対応するものである。または、Iピクチャの先頭から整数個先のIピクチャの先頭の前までの間である。但し、GOPの区切りが見付からない場合は、再生時間にして、例えば最大1秒分のデータ量に相当する単位で区切られる。これにより、各情報フィールドのオーバーフローが防止される。
各パケットグループ140は、8LB(16384バイト)で構成され、先頭にパケットグループヘッダ161を持ち、その後に、複数のトランスポートストリームパケット(TS_Packet)162と複数のパケット到着時間差分情報(IAPAT)163が配置される。これらのTSパケット162内にストリームレコーディングの記録コンテンツが格納される。
一方、ビデオレコーディング側のセル13*の途中から再生時間(PTS)で再生を開始する場合では、ビデオオブジェクト(VOB)管理情報層23内のビデオオブジェクト情報(VOBI)24を介してビデオオブジェクト層35内のビデオオブジェクト(VOB)36を指定し、ビデオオブジェクト管理情報層23内のビデオオブジェクトユニット情報(VOBUI)25を介してビデオオブジェクト層35内のビデオオブジェクトユニット(VOBU)37を指定する。ビデオオブジェクト(VOB)36およびそのビデオオブジェクトユニット(VOBU)37が指定されると、再生開始場所が特定される。ビデオオブジェクトユニット(VOBU)37は複数のパック38により構成され、これらのパック内にビデオレコーディングの記録コンテンツが格納される。
詳細は後述するが、ストリーム記録側のセル13の途中から再生を開始する場合では、ESOBU_PB_TM(図示せず)により、フィールド数単位の時間で、再生開始場所を指定できるようになっている。また、ビデオレコーディング側のセル13*の途中から再生を開始する場合では、ビデオレコーディング規格で規定されているタイムマップ情報(TMAPI)内のVOBU_PB_TM(図示せず)により、再生開始場所を指定できるようになっている。
図2の示すところを纏めると、次のようになる。すなわち、ストリームレコーディングの管理データ(PGCI)はビデオレコーディングと共通のファイルに記録でき、ストリームレコーディングはビデオレコーディングと共通に制御でき、ストリームレコーディングとビデオレコーディングはセル単位でリンクでき、ストリームレコーディングおよびビデオレコーディングにおける再生場所の指定は再生時間単位で指定できる。
記録方法がストリームレコーディングであってもビデオレコーディング(VR)であっても、ある放送番組(プログラム)を光ディスク100に記録したあとは、ユーザが希望する番組において、希望の時間より再生を開始したい(タイムサーチ)とか、早送り(FF)/早戻し(FR)を行いたいなどの特殊再生の要求がたびたび生じる。このような要求を満たすためには、記録したデータを管理するための特別な管理情報が必要になってくる。
つまり、デジタル放送のオブジェクトは、VRオブジェクトとは別ファイルのエクステンドストリームオブジェクトセット(ESOBS:Extend Stream Object Set)132のストリームとして記録される。そして、図2に示すようにエクステンドストリームオブジェトセットESOBSの管理データはVRと共通のVMGファイルに記録され、VRと共通に制御され、セル単位でリンクされ、再生場所の指定は再生時間単位で指定される。
エクステンドストリームオブジェクトセットESOBSの構造は、1以上のエクステンドストリームオブジェクト(ESOB)132で構成され、エクステンドストリームオブジェクト(ESOB)132は、例えば一番組に相当する。エクステンドストリームオブジェクト(ESOB)132は1以上のデータユニットESOBU(Extend stream object unit)134で構成され、データユニット(ESOBU)134は、1s(1秒)分のオブジェクトデータもしくは、1または2個分のGOPデータもしくは、一以上のIピクチャの分に相当する。ただし、転送レートが低い場合は、1s以内に1GOPが送られない場合が考えられる(VRでは内部エンコードであるため自由にデータユニットを設定できるがデジタル放送の場合エンコードが放送局であるため、どんなデータが来るか不明な可能性がある)。
一方、転送レートが高く、Iピクチャが頻繁に送られる場合なども考えられる。その場合、データユニット(ESOBU)134が頻繁に区切られ、それに伴いデータユニット(ESOBU)134の管理情報が増え、全体の管理情報が肥大化する恐れがある。そこで、データユニット(ESOBU)は、例えば0.4s〜1s(最小の制限0.4秒はエクステンドストリームオブジェクトESOB最後のデータユニットESOBU以外に適用)で区切るか、または1GOPで区切るもしくは、一個以上のIピクチャで区切るのが適当となる。
1データユニット(ESOBU)134は、1以上のパケットグループ140で構成され、パケットグループ140は、8LB(1LB=1セクタ:2048バイト)とする。パケットグループ140はパケットグループヘッダ161とTSパケット162(85個)及びIAPAT(Incremental Packet Arrival Time)163(84個)で構成されている。
各TSパケットの到着時間は、パケットグループ内の最初のTSパケットについてはパケットグループヘッダ内のATS(Arrival Time Stamp)が到着時間となる。2番目のTSパケットについては、このATSにIAPATを足した値で到着時間を表わす。さらに、3番目以降からは、1つ前の到着時間にIAPATを足した値で表わす。このように、2番目以降のTSパケット到着時間については一種の差分情報であるIAPATの累算で表すことにより、IAPATを比較的小さなデータ量(3バイト)で表せ、(全てのTSパケットの到着時間をATSで表す場合と比べると)全体的なデータ量が節約できる。
なお、図16を参照して後述するが、パケットグループヘッダ161は、パケットグループの先頭のTSパケットの到着時間ATS151X、表示制御情報DCI(Display Control Information)153X、コピー世代管理情報CCI(Copy Control Information)154X、DCI/CCIの有効性情報152X、製造者情報MNFI(Manufacturer’s information)、再生タイムスタンプPTS(Presentation time stamp)等を含んで構成されている。 ナビゲーション管理情報ファイル(VMGファイル)は、図3の(a)に示すように放送方式毎にエクステンドストリームオブジェクト(ESOB)ファイルを分ける(ARIB.SROファイル、ATSC.SROファイル、DVB.SROファイル)方法と、(b)に示すように1つのオブジェクトファイル***.SROで管理する方法の二つが考えられる。(b)の場合、管理情報は各方式毎に管理するように分けて処理する。
ここで、管理情報について、図4ないし図17を参照して以下に説明する。
図4は、図1に示したAVデータ管理情報記録領域130に記録される管理情報の1つ(RTR_VMG)の一部(RTR_VMGI)がどのように構成されるかの一例を説明する図である。
ここで、この実施の形態におけるストリームレコーディングをESR(Extend Stream Recording)と略記し、ビデオレコーディングをVR(Video Recording)と略記する。すると、ESRのデータの管理情報は、図4に示すように、RTR_VMG130内に保存され、VRデータと同列に管理される。
RTR_VMG130は、ビデオマネージャ情報(RTR_VMGI)1310と、ストリームファイル情報テーブル(ESFIT:Extend Stream File Information Table)1320と、(オリジナルの)プログラムチェーン情報(ORG_PGCI)1330と、プレイリスト情報(PL_SRPT;またはユーザ定義プログラムチェーン情報テーブル:UD_PGCIT)1340を含んで構成されている。
なお、プレイリストおよびユーザ定義プログラムチェーンは、呼称が異なるが実質的には対等の意味を持ち、ビデオレコーディング規格で用いられているプレイリストおよびユーザ定義プログラムチェーンと同義である。このことから、以下の説明ではプレイリスト関連の情報(PL_SRP等)およびユーザ定義プログラムチェーン関連の情報(UD_PGCIT_SRP等)が、適宜、併記されている。
RTR_VMGI1310は、ディスク管理識別情報(VMG_ID/ESMG_ID)1311と、バージョン情報(VERN)1312と、Eストリームオブジェクト管理情報開始アドレス(ESFIT_SA)1313と、プログラムチェーン情報開始アドレス(ORG_PGCI_SA)1315と、プレイリスト情報開始アドレス(UD_PGCIT_SA)1316を含んで構成されている。ESRストリームの管理情報は、ESFIT1320に保存される。
図5は、図4のESFIT1320がどのように構成されるかの一例を説明する図である。このESFIT1320は、ストリームファイル情報テーブル情報一般情報(ESFITI_GI)1321と、1以上のESOBストリーム情報・ビデオステータス情報(ESOBI_VSTI#1〜#m)1322と、1以上のESOBストリーム情報・オーディオステータス情報(ESOBI_ASTI#1〜#L)1323と、1以上のストリームファイル情報・サーチポインタ(ESFI_SRP)1324と、ストリームファイル情報ESFI(Extend Stream File Information)1325を含んで構成される。ESFIT_GI1321はストリームオブジェクト(ESOB)の数、VSTIの数、ASTIの数、ESFITのエンドアドレスなどで構成することもできる。
ビデオステータス情報VSTIおよびオーディオステータス情報ASTIは、ストリームオブジェクト(ESOB)内のストリームの属性情報であり、ビデオ属性情報はVSTIで表すことができ、オーディオ属性情報はASTIで表すことができる。VR規格では、ストリーム情報STIはビデオとオーディオを一組として1つのSTIを構成していたが、デジタル放送の場合、放送信号内に複数のビデオおよび/またはオーディオが入る可能性がある。このため、VR規格のように必ずしも同じビデオ/オーディオの組でSTIが表されるとは限らない。このことから、ビデオとオーディオは別々の属性情報にして管理した方が全体的なSTIの情報量が少なくて済む。これらビデオの属性情報(V_ATR)およびオーディオの属性情報(A_ATR)の詳細については、図7を参照して後述する。
なお、この発明の一実施の形態においては、VRの管理情報VMGとESRの管理情報ESMGとを合体させたデータ構造も可能である。ここでは、図示しないが、ムービーAVファイル情報テーブル(M_AVFIT)の次にストリームファイル情報テーブル(ESFIT)を配置し、ESFITの後にオリジナルプログラムチェーン情報(ORG_PGCI)とユーザ定義PGC情報テーブル(UD_PGCIT)とテキストデータマネージャ(TXTDT_MG)と製造者情報テーブル(MNFIT)を配置することができる。このような(ビデオレコーディングVR規格に近い)管理情報のデータ構造を採用すると、既存のVR規格に基づくレコーダのために開発された既存の制御ソフトウエア資産を(一部の手直しで)有効活用しやすくなる。
図6は、図5のESFITI_GI1321およびESFI1325がどのように構成できるかの一例を説明する図である。
ESFI1325は放送方式毎に別テーブルを形成し、各ESFI1325はESFI_GI13251とESOBIのサーチポインタ13252、ESOBI13253で構成され、ESFI_GIには図8に示すようにアプリケーション名を示す情報APP_NAME(図51)が設定されている。
ESFITI_GI1321は、ストリームオブジェクト(ESOB)の数を示す情報13211と、ESOB_VSTIの数を示す情報13212と、ESOB_ASTIの数を示す情報13213と、ESFI_SRPの数を示す情報132134と、ESFITの終了アドレスを示す情報13215を含んで構成されている。
ESFI1325は、一般情報ESFI_GI13251と、1以上のストリームオブジェクト情報(ESOBI#1〜#k)13253と、これら(ESOBI#1〜#k)に対する1以上のサーチポインタ(ESOBI_SRP#1〜#k)13252を含んで構成されている。
図7は、図6に示したストリーム情報ESOBI_VSTI1322に含まれるビデオ属性情報(V_ATR)13221の中身、ストリーム情報ESOBI_ASTI1323に含まれるオーディオ属性情報(A_ATR)13231の中身がどのように構成できるかの一例を説明する図である。
ESOBUI_VSTI1322の属性情報V_ATR13221には2種類考えられ、例1では、基本的にはVR規格と同じビット構成であるが、HD(High Definition)対応として、I/P(Interlace/Progressive)の識別フラグと、1280×720および1920×1080の解像度情報が追加になっている。一方、例2では、SI(Service Information)を利用するように構成されている。すなわち、SI上のデータを加工せずにV_ATRに設定するもので、ストリームコンテントとコンポーネントタイプの設定に、コンポーネント記述子の値をそのまま利用したものである。
ESOBI_ASTI1323の属性情報A_ATR13231も、V_ATRと同様に、例1では、基本的にはVRと同じビット構成であるが、HD対応としてサンプリング周波数96kHzが設定され、圧縮モードとしてAAC(Advanced Audio Coding)およびDTS(Digital Theater Systems;商標)等が追加になり、例2ではコンポーネント記述子の値がそのままA_ATRに設定されている。V_ATR13221は、ビデオ圧縮モードを示す情報(MPEG−1かMPEG−2かMPEG−4か等)と、TV方式を示す情報(NTSCかPALか、あるいはSDかHDか等)と、アスペクト比を示す情報と、ビデオ解像度を示す情報と、インターレース/プログレッシブのスキャン識別情報I/Pを含んで構成されている。
ここで、ビデオ圧縮モードを示す情報が“0”であればMPEG−1が示され、“1”であればMPEG−2が示され、“2”であればMPEG−4(H264)1が示される。TV方式を示す情報が“0”であれば走査線525本/毎秒60フレームのNTSC方式が示され、“1”であれば走査線625本/毎秒50フレームのPAL方式が示される。アスペクト比を示す情報が“0”であればアスペクト比=4:3が示され、“1”であればアスペクト比=16:9が示される。識別情報I/Pについては、“0”であればプログレッシブが示され、“1”であればインターレースが示される。ビデオ解像度を示す情報が“0”であれば水平×垂直解像度が720×480本であることが示され、“1”であれば水平×垂直解像度が704×480本であることが示され、“2”であれば水平×垂直解像度が352×480本であることが示され、“3”であれば水平×垂直解像度が352×240本であることが示され、“4”であれば水平×垂直解像度が544×480本であることが示され、“5”であれば水平×垂直解像度が480×480本であることが示され、“6”であれば水平×垂直解像度が1280×720本であることが示され、“7”であれば水平×垂直解像度が1920×1080本であることが示される。ここでは、720×480本のプログレッシブか、1920×1080本のインターレースまたはプログレッシブがハイビジョン相当のHD解像度に対応する。それ以外はSD解像度相当である。
また、ESOBI_ASTI1323もビデオと同じように、A_ATR13221は、オーディオ圧縮モードを示す情報(AC−3かMPEG−1または拡張ビットストリーム無しのMPEG−2か普通のMPEG−2かLPCMかAACかDTSか等)と、量子化/DRC方式を示す情報と、オーディオチャンネルの数を示す情報を含んで構成されている。
ここで、オーディオ圧縮モードを示す情報が“0”であればAC−3が示され、“1”であればMPEG−1または拡張ビットストリーム無しのMPEG−2が示され、“2”であればMPEG−2が示され、“3”であればLPCMが示され、“4”であればAACが示され、“5”であればDTSが示される。量子化/DRC方式を示す情報が“0”であればサンプリング周波数fs=48KHzが示され、“1”であればサンプリング周波数fs=96KHzが示される。オーディオチャンネルの数は“0”〜“7”であれば1ch〜8chが示され、“8”であればデュアル/モノラルの2chが示される。
図8は、図6のESFI_GI13251およびESOBI13253がどのように構成できるかの一例を説明する図である。
ESFI_GI13251は、ストリームオブジェクト情報・サーチポインタ(ESOBI_SRP)の数を示す情報132511と、アプリケーション名APP_NAMEを示す情報132512と、ESOBファイル名を示す情報132513と、ESFIの終了アドレスを示す情報132514を含んで構成されている。
ESOBI13253は、ストリームオブジェクト一般情報(ESOB_GI)132531と、1以上のESOBエレメンタリストリーム情報(#1〜#n)132532と、シームレス情報SMLIを示す情報132533と、オーディオギャップ情報AGAPIを示す情報132534と、タイムマップ一般情報TMAP_GIを示す情報132535と、エレメンタリストリームマップ情報ES_MAPI(#1〜#n)を示す情報132536と、ESグループ数を表す情報132537と、ESグループ情報(#1〜#n)を示す情報132538とを含んで構成されている。
ここで、アプリケーション名APP_NAME132511の格納位置は、ESFI_GI13251に限定されない。ディスク全体でAPP_NAMEを1種類に統一する場合、ESFI_GIおよび/またはVMGI_MAT(図4のRTR_VMGI1310中の一部の管理情報)に格納されてもよい。
図9は、図8に示したESOBI132531の中身(特にESOB_GI132531)がどのように構成できるかの一例を説明する図である。
ストリームオブジェクト一般情報(ESOBI_GI)132531は、ESOBIタイプ(ESOBI_TY)13243100と、 ストリームオブジェクト(ESOB)の録画開始時間(ESOB_REC_TM)13243101と、ストリームオブジェクト(ESOB)の録画時間サブユニット(ESOB_REC_TM_SUB)13243102と、ストリームオブジェクト(ESOB)開始のPTS(再生時間)またはATS(到着時間)と、 ストリームオブジェクト(ESOB)終了のPTSまたはATSを含んでいる。
ESOBI_GI132531はさらに、PCRパケットシフトPCR_PKT_SHIFT13243105と、パケットサイズAP_PKT_SZ(現在TSパケットであれば188バイト)13243106と、パケットグループサイズPKT_GRP_SZ(現在TSパケットであれば85パケット相当のサイズ)13243107と、トランスポートストリーム識別子TS_ID13243109と、ネットワークのパケット識別子NETWORK_PID13243110と、PMTのパケット識別子PMT_PID13243111と、サービスのパケット識別子SERVICE_PID13243112と、フォーマット識別子Format Identifier13243113と、Version(外部入力の場合にデータの種類を示すレジステーション・ディスクリプタの値、内部チューナの場合は、チューナ固有のデータ種別を設定)13243114と、SOBの代表パケット識別子SOB_REP_PID(再生するSOBの代表のストリームのPID、またはコンポーネントグループの番号;代表PIDの場合、ESOBI_GIの録画開始時間、ストリームオブジェクト(ESOB)開始/終了のPTSまたはATSを作る上で使用する)13243115と、PCRのパケット識別子PCR_PID13243115と、ESOBエレメンタリストリームの数ESOB_ES_Ns13243116とを含んでいる。
なお、アプリケーション名APP_NAMEがストリームオブジェクト(ESOB)毎に違う場合(アプリケーション名APP_NAMEが複数存在する場合、すなわち複数の放送方式を記録する場合)、ストリームオブジェクト(ESOB)毎に、ESOBI構成の一部(トランスポートストリーム識別子TS_ID13243109と、ネットワークのパケット識別子NETWORK_PID13243110と、PMTのパケット識別子PMT_PID13243111と、サービスのパケット識別子SERVICE_PID13243112と、フォーマット識別子Format Identifier13243113と、Version13243114と、SOBの代表パケット識別子SOB_REP_PID13243115と、PCRのパケット識別子PCR_PID13243115と、ESOBエレメンタリストリームの数ESOB_ES_Ns13243116)の構成要素が変わることが考えられる。
アプリケーション名APP_NAMEはCounty ID(国を判別するコード:例:電話の国コード01=米国、81=日本…)、Authority ID(放送方式:01=ARIB、02=ATSC、03=DVB)、Packet Format(ストリームのパケット形式:01=MPEG_TS…)、Network種別(ネットワークの種別01=地上波デジタル、02=CS、03=BSデジタル…)、放送方式Version(10=1.0、11=1.1…)で構成される。このうち、County ID、Authority ID、Packet Formatは機器(STB等)でデフォルトで持っている必要があるが、それ以外の場合は、受信データよりCounty ID、Authority ID、Packet Formatを構成することも可能である。放送方式は、デジタル入力(1394I/F)で他の機器から入力される場合、放送時の方式より、その機器独自の方式に変更が加えられて(独自のパーシャルTSに変更される場合)、記録されて送信される可能性もある。その場合の方式は、NETWORK種別にその機器の識別子を付けて対応する事も考えられる。
ストリームオブジェクト(ESOB)のオブジェクトデータも、使用可能な放送方式分あることが考えられる。そのときは、ESFIを方式毎に複数設け、それぞれのESFI中のESFI_GIにオブジェクトのファイルネームを入れることによって、複数方式に対応する場合と、デフォルトで放送方式毎にファイル名を決め、方式名(APP_NAME)のみを記録する方式が考えられる。複数方式を識別する情報(Authority ID)を内包できるAPP_NAMEの中味の具体例については、図51を参照して後述する。
図10は、図8に示したESOB_GI132531の中身(特にESOBエレメンタリストリーム(ES)I132532とESグループI132538とMAP_GI132535とES_MAPI132536)がどのように構成できるかの一例を説明する図である。
図10において、ESOB_ESI132532には、ストリームのタイプ(STREAM_TYPE)1324321、そのストリームのPID(ESOB_ES_PID)1324322、およびストリーム情報数1324323が含まれる。ストリーム情報数1324323としては、Videoの場合はVSTI番号(ESOB_ES_VSTIN)、Audioの場合はASTI番号(ESOB_ES_ASTIN)、その他の場合は0xffffが設定される。ここで、ストリームタイプ1324321としてはPMT内に書いてあるタイプを採用できる。
エレメンタリストリームのグループ情報(ES_グループI)132538は、エレメンタリストリーム数(ES_Ns)1324381と、ESOB_ESのPID(ESOB_ES_PID)1324382を含んで構成されている。最初のES_グループI#1にはメイングループが入るように構成される。
MAP_GI132535は、SOBの先頭の開始アドレスを示すアドレスオフセットADR_OFS(Logcal Block精度のLB単位)132241、ESOB_S_PKT_POS(ESOBのLB内の開始パケット番号)132242、ESOB_E_PKT_POS(ストリームオブジェクト(ESOB)のLB内の終了パケット番号)132243、およびES_MAP数(ES_MAP_Ns)132244を含んで構成される。ESOB_S_PKT_POSおよびESOB_E_PKT_POSは、該当ストリームオブジェクト(ESOB)のパケット数情報として扱うことができる。
ES_MAPI132536は、エレメンタリストリームのマップ情報の一般情報ES_MAP_GI132261と、ESOBUエントリ情報(ESOB_ENT)132262を含んで構成されている。
図11は、図10に示したES_MAP_GI132261の中身がどのように構成できるかの一例を説明する図である。
ES_MAP_GI132261は、ES_PID(該当エレメンタリストリームのPID)1322611、ESOBUエントリ数13223612、1ST_ESOBU_S_PKT_POS(LB内の最初のESOBUの最初のTSパケットのPacket Group内の先頭からのTSパケット番号)1322613、ESOBUの種別1322614、ESOBU内で示されるPCRの間隔1322615を含んで構成されている。
ESOBUはビデオデータがある場合と、ビデオデータがなくオーディオデータのある場合と、その他の情報のみの場合の3つが考えられ、図11の例では、ESOBUの種別はそれぞれ“00”、“01”、“10”としている。
なお、PCR間隔については、それが“00”のときはリファレンスピクチャREF−PIC(Iピクチャ)の直前(1PCR前)のPCR位置をESOB_ENT内で示すことが示され、それが“01”のときはREF−PICの2PCR前のPCR位置をESOB_ENT内で示すことが示され、それが“10”のときはREF−PICの3PCR前のPCR位置をESOB_ENT内で示すことが示され、それが“11”のときはその他の指示状態が示されるようになっている。
図12は、図11に示したESOBU_ENT132262の中身がどのように構成できるかの一例を説明する図である。
ESOBUエントリ情報(ESOBU_ENT)132262は、図11に示したESOBUの種別(00、01、10)に従い、3種類がある。
ESOBU_ENT132261は、ビデオデータのある場合は、エントリ内の最初のリファレンスピクチャ(Iピクチャ等)のESOBU先頭からの最終アドレス情報である1st_Ref_PIC_SZ(LB単位)132231と、ESOBUの再生時間(フィールド数)ESOBU_PB_TM132232と、ESOBUのサイズ(LB単位)ESOBU_SZ132233と、PCRの位置(PCR_POS)132234を含んで構成できる。ここで、PCR_POSは、PCR間隔で示される位置でのPCR位置をESOBU先頭からのアドレス数で表したもので、PCRが存在しない場合は0xffffとされる。
PCRが存在する場合は、このPCR位置の論理ブロック数(LB数)は、
PCR_POS×2^PCR_POS_SHIFT、または
PCR_POS×2exp(PCR_POS_SHIFT) …(1)
で表すことができる。ここで、PCRはリファレンスピクチャのある位置よりも前のものでPCR間隔で示されるPCR数個分前のPCRの位置である。
式(1)のようにPCR位置の表現に2の“指数”を併用することで、比較的小さなビット数の情報“PCR_POS_SHIFT”で大きなアドレス表現が可能となっている。
ビデオデータがなくオーディオデータがある場合は、ESOBU_ENT132262は、エントリ内の最初の音声フレームのESOBU先頭からの最終アドレス情報(上記に同じ)1st_Ref_PIC_SZと、ESOBUの再生時間(フィールド数)ESOBU_PB_TMとESOBUのサイズ(上記に同じ)ESOBU_SZと、PCR_POSとを含んで構成できる。 その他の情報のみの場合は、エントリ情報が構成されないため、ESOBU_ENT132262は、例えば全てFFで埋める。
上記を整理すると、以下のとおりである。
<1>ビデオデータがある場合:
ESOBUは、(a)ランダムアクセス可能な所(GOPの先頭、もしくはIピクチャの先頭)で区切るか、(b)(該当SOB内の)最終ESOBU以外を最小0.4秒の再生時間で区切るか、(c)最大1秒の再生時間で区切る。
1st_Ref_PIC_SZは、上記ESOBUの先頭からREF_PIC(Iピクチャ)の終了までの論理ブロック数(LB数)となる。該当ESOBU内にRef_PICがないとき(またはRef_PICが見つからないとき)は、例えば1st_Ref_PIC_SZ=0xffffffffとされる。
PCR_POSは、PCR間隔で示される位置でのPCR位置をESOBU先頭からのアドレス数で表したもので、前記式(1)で論理ブロック数(LB数)単位で表現される。該当ESOBU内にPCRがないときは、例えばPCR_POS=0xffffとされる。
<2>ビデオデータがなく、オーディオデータがある場合:
ESOBUは、例えば1秒の再生時間で区切る。
1st_Ref_PIC_SZは、例えば上記ESOBUの先頭の音声フレームの最終TSパケット数で表現できる。
PCR_POSは、PCR間隔で示される位置でのPCR位置をESOBU先頭からのアドレス数で表したもので、前記式(1)で論理ブロック数(BL数)単位で表現される。該当ESOBU内にPCRがないときは、例えばPCR_POS=0xffffとされる。
<3>ビデオデータもオーディオデータもないがデータ放送がある場合:
ESOBUは、例えば1秒の再生時間で区切る。
1st_Ref_PIC_SZは、例えば0xffffffffに固定する。
PCR_POSは、例えば0xffffffffに固定する。
図13は、図1に示したAVデータ管理情報記録領域130に記録される管理情報の別の1つ(ストリームデータ管理情報RTR_ESMG)がどのように構成できるかの一例を説明する図である。すなわち、AVデータ管理情報記録領域130の一部であるストリームデータ管理情報記録領域130は、ディスク管理情報(ESMGI_MAT)1310と、ストリームオブジェクト管理情報(ESFIT;グローバル情報)1320と、プログラムチェーン情報(ORG_PGCI)1330と、プレイリスト情報(UD_PGCIT/PL_SRPT)1340を含んで構成されている。
再生情報はPGC情報で、通常のVRフォーマットと同じで、オリジナルORG_PGC情報は録画時に機器が自動で作成し、録画順に設定し、ユーザ定義UD_PGC情報は、ユーザが自由に追加する再生順番に従って作成され、プレイリストと呼ばれる。この2つのフォーマットはPGCレベルで共通で、そのPGCレベルで共通で、そのPGCフォーマットは図13に示される。
プログラムチェーン情報(ORG_PGCI)1330は、PGCレベルで混在を許可し、共通のORG_PGCを持つ場合は、プログラムチェーン情報(ORG_PGCI)1331からなる。混在を禁止し、複数のORG_PGCを持つ場合は、プログラムチェーンテーブル情報(ORG_PGCT)1332と、1以上のプログラムチェーン情報(ORG_PGC Infor#1〜#s)1335と、1以上のプログラムチェーンサーチポインタ(ORG_PGCサーチポインタ#1〜#r)1333を含んで構成されている。ORG_PGCI1330のデータ構造はビデオレコーディング規格と同様な形態を持つが、その内容(セル情報CI)に違いがある(この点は図15を参照して後述する)。
図14は、図13に示したプレイリスト情報(またはユーザ定義PGC情報テーブル)1340の中身がどのように構成できるかの一例を説明する図である。
ユーザ定義PGC情報テーブル(UD_PGCIT)1340は、ユーザ定義PGC情報テーブルUD_PGCITI1341と、1以上のユーザ定義PGCサーチポインタ1342と、1以上のユーザ定義PGC情報1343を含んで構成されている。
図15は、図13に示したプログラムチェーン情報ORG_PGCI1330の各構成要素の中身がどのように構成できるかの一例を説明する図である。
放送方式が異なる場合、デコーダの設定を変える必要があり、接続できない可能性があるため、プレイリストでは、複数種類のストリームオブジェクト(ESOB)の共存を禁止する可能性がある。この場合(プレイリスト単位では混在を禁止し、プレイリスト間の混在は許可する場合)、各方式毎にプログラムチェーン情報ORG_PGCが必要となり、複数のORG_PGCが存在し、再生装置は対応可能な方式のORG_PGCを再生することになる。その場合には、プログラムチェーン一般情報PGCI_GI1331にESFI番号もしくはAPP_NAMEを設定する必要がある。一方、プログラムチェーン内で混在を許可する場合は、許可するレベルに応じた箇所に設定する。プログラム単位、プレイリスト単位で混在を許可する場合は、プログラム情報PGI1332に、セル単位で混在を許可する場合には、セル情報CI1334にESFI番号もしくはAPP_NAMEを設定する必要がある。設定するESFI番号もしくはAPP_NAMEは、そのESOBSのファイルネームなどを追加することも考えられる。
プログラムチェーン一般情報PGCI_GI1331は、プログラム数(PG_Ns)13311と、ストリームファイルインフォメーション(ESFI)番号、あるいはAPP_NAME(混在禁止の場合)13312と、プログラムチェーン内セル数(Cell_SRP_Ns)13313を含んで構成されている。
各プログラム情報PGI1332は、プログラムタイプ(PG_TY)13321と、ストリームファイルインフォメーション(ESFI)番号、あるいはAPP_NAME(プログラムあるいはプレイリスト単位で混在許可の場合)13322と、プログラム内セル数(C_Ns)13323と、プログラムコンテンツ情報(プライマリテキスト情報PRM_TXIT13324、アイテムテキストサーチポインタ番号IT_TXT_SRPN13325、代表画像情報REP_PICTI13326、編集者ID13327、プログラムインデックス(PG_INDEX)13328、製造者情報MNFI13329)を含んで構成されている。
各セル情報CI1334は、セルタイプ(C_TY)13341と、ストリームファイルインフォメーション(ESFI)番号、あるいはAPP_NAME(セル単位で混在を許可する場合)13342と、対応ESOB番号13343と、参照するID13344と、セルEPI数13345と、セル開始PTS/ATS(再生タイムスタンプ/ESOBU到着時間)13346と、セル終了PTS/ATS13347と、EPI13348を含んで構成されている。
セル情報では、CELLタイプにESOBの種別が加わっており、ESOB番号を指定し、再生開始時間、終了時間を指定する。ここで、再生開始時間、終了時間は、PTSまたはATSの2種類で表せる場合が考えられる。さらに、参照するIDは、再生するストリームの代表するストリームのPID(またはコンポーネントタグの値)を設定する方法と、マルチビューTVなどの場合などで、コンポーネントグループのIDを設定する方法が考えられる。また、0xffffの場合、子画面でマルチ表示する方法と事前に設定したグループ(もしくはデフォルトのメイングループ)を優先的に表示し、後(再生中)で切り換える方法が考えられる。
また、PGI1332に編集を行った機器のメーカーIDを入れることにより、どのメーカーの機器が編集を行ったかを示す情報が追加されている。これにより、各メーカーで使用しているMNIの情報の使用状況がわかり、各機器はその領域の書き換えが他社で行われた場合、そのMNI内の情報の信頼性が無いことがわかり、他社で編集後はMNIは新たに構築する必要があることを示す。
また、PGI1332に特有のID番号(プログラムインデックス13328)を付け、途中のプログラムを削除しても変わらない番号でプログラムを指定できるようにしている。 ここで、セルタイプ13341としては、例えば次のものがある:
C_TY=“0”…VR動画(M_VOB);
C_TY=“1”…VR静止画(S_VOB);
C_TY=“2”…ストリーマ(ESOB)。
参照するIDとしては、例えば次のものがある:
(a)再生するビデオのPIDまたはコンポーネントタグ(ビデオが無い場合はオーディオのPID);
(b)Component_Group_idを記述(ARIB)、全てのビューを指す場合は、0xffff。
ESFI番号/APP_NAMEは混在を許可するレベルにより場所が異なる可能性がある。
PGC内で混在を禁止する場合:PGCI_GI;
PL、PG内で混在を許可する場合:PGI;
セル内で混在を許可する場合:CI。
図16は、図1または図2に示したストリームオブジェクト用のデータユニット(ESOBU)134がどのように構成できるかの一例を説明する図である。
1個のESOBU134は1以上のパケットグループ140で構成され、各パケットグループ140は、例えば8パケット(1パケット=1セクタ:2048バイト)で構成される。
各パケットグループ140は、パケットグループヘッダ(152バイト)161と、1以上(ここでは85個)のMPEG−TSパケット(188バイト)162と、1以上(ここでは84個)のIAPAT(Incremental Packet Arrival Time;3バイト)163を含んで構成されている。
パケットグループヘッダ161は、パケット到着時間(ATS)151Xと、下記のDCIおよびCCIの有効性を示す情報(DCI_CCI_SS)152Xと、表示コントロール情報(DCI;Display Control Information)153Xと、コピー世代管理情報(またはコピー制御情報CCI;Copy Control Information)154Xと、PCRの位置情報(PCRI;Program Clock Reference Information)155Xと、製造者情報(MNI(またはMNFI);Manufacturer‘s information)156Xとを含んで構成されている。なお、パケットグループヘッダ161は、再生時間情報(PTS;Presentation time stamp)をさらに含む実施の形態もあり得る。
また、各MPEG−TSパケット162は、4バイトのヘッダ170とアダプテーションフィールドおよび/またはペイロード180を含んで構成されている。ヘッダ170は、同期バイト171と、トランスポート・エラー・インジケータ172と、ペイロードユニット開始インジケータ173と、トランスポート優先度174と、パケット識別子(PID)175と、トランスポート・スクランブル制御176と、アダプテーションフィールド制御177と、連続性指標178を含んで構成されている。
ところで、デジタルTV放送などやインターネットなどの有線を使用した放送などの圧縮動画の放送(配信)を行うための方式において、共通の基本フォーマットであるTSストリーム(図16)は、パケットの管理データ部分(170)とペイロード(180)に分かれる。
ペイロードには、再生されるべき対象のデータがスクランブルの掛かった状態で含まれている。デジタル放送規格ARIBによると、その他にPAT(Program Association Table)やPMT(Program Map Table)やSI(Service Information)に関しては、スクランブルされていない。また、PMTやSI(Service Description Table, Event Information Table, Bouquet Association Table)を利用して、さまざまな管理情報を作成することが可能になっている。
再生対象としては、MPEGビデオデータやDolby・AC3(R)オーディオデータやMPEGオーディオデータ、データ放送データなどがある。また、再生対象に直接の関係はないが、再生する上で必要な情報として、PAT、PMT、SIなどの情報(番組情報等)などがある。
PATには、番組毎のPMTのPID(Packet Identification)が含まれており、さらにPMTにはビデオデータやオーディオデータのPIDが記録されている。
これにより、STB(Set Top Box)の通常の再生手順としては、次のようなことが可能になる。すなわち、EPG(Electronic Program Guide)情報によりユーザが番組を決定すると、目的の番組の開始時にPATを読み込み、そのデータを元に希望の番組に属するPMTのPIDを決定する。そして、そのPIDに従って、目的のPMTを読み出し、そこに含まれる再生すべきビデオ、オーディオパケットのPIDを決定する。そして、PMTやSIにより、ビデオ、オーディオの属性を読み出し、各デコーダへセットし、前記ビデオ、オーディオデータをPIDに従って切り出して、再生を行う。ここで、PAT、PMT、SI等は途中再生にも使用するために、数100ms毎に送信されてくる。
これらのデータに対し、DVD−RAMなどのディスクメディアに記録する場合には、放送されたデータをそのままデジタルデータとして記録する方が有利である。
もし、複数ストリームを同時に記録する場合は、SOBIに記録されるストリーム数を持たせ、各ストリームに対応したPMTを保存し、特殊再生用のマップ情報(マップグループ情報)を各ストリーム毎に持たせ、セル情報に再生すべきストリームの番号(チャンネル番号又はPMTのPID)を記録すればよい。
図17は、図16に示したパケットグループヘッダに含まれるパケットの到着時間(ATS)がどのように構成できるかの一例を説明する図である。ここでは、ATS151Xに例えば6バイトを割り当て、その38〜0ビットでPATベース(例えば90kHzのカウンタ値)を表現し、その8〜0ビットでPATエクステント(例えば27MHzのカウンタ値)を表現している。
実際の到着時間PATはPAT_base/90000Hz+PAT_exten/27、000、000Hzで表される。これにより、ATS151Xを、例えばビデオフレーム単位で細かく表現できるようになる。
図17は、図16に示したパケットグループヘッダに含まれる有効性情報(DCI_CCI_SS)152Xがどのように構成できるかの一例も説明する。ここでは、1ビットのDCI_SSは、“0”で無効を示し、“1”で有効を示している。3ビットのCCI_SSは、“0”で無効を示し、“1”でAPSのみが有効であることを示し、“2”でEPNのみが有効であることを示し、“3”でAPSおよびEPNが有効であることを示し、“4”でCGMSのみが有効であることを示し、“5”でCGMSとAPSが有効であることを示し、“6”でCGMSとEPNが有効であることを示し、“7”でAPS、EPNおよびCGMSが3つとも有効であることを示している。
図17は、図16に示したパケットグループヘッダに含まれる表示制御情報(DCI)153Xがどのように構成できるかの一例も説明する。ここでは、DCI153Xに11バイト割り当てている。その内訳は、先頭にリザーブビット(3ビット)を設け、その後に、アスペクト情報(1ビット)を85回繰り返して配置している。ここで、アスペクト情報は、例えば、“0”でアスペクト比4:3を示し、“1”でアスペクト比16:9を示している。
図17は、図16に示したパケットグループヘッダに含まれるコピー世代管理情報(またはコピー制御情報CCI)がどのように構成できるかの一例も説明する。CCI154Xの内訳は、先頭にリザーブビット(7ビット)を設け、その後に、デジタルコピー制御情報(2ビット)とアナログコピー制御情報(2ビット)とEPN(1ビット)の組を85回繰り返して配置している。
ここで、デジタルコピー制御情報は、例えば、“00”のときはコピー禁止を示し、“01”のときは1回だけコピー許可を示し、“11”のときはコピーフリーを示している。また、アナログコピー制御情報は、例えば、“0”のときはコピーフリー(アナログプロテクションシステムAPSなし)を示し、“1”のときはコピー禁止(APSタイプ1付加)を示し、“2”のときはコピー禁止(APSタイプ2付加)を示し、“3”のときはコピー禁止(APSタイプ3付加)を示している。このコピー制御情報の値は、ストリーム(コンテンツ)内のサービス情報SIに記録されている値に基づいて設定できる。
また、1ビットのEPNは、“0”でEPNオフを示し、“1”でEPNオンを示している。
図17は、図16に示したパケットグループにおいて、パケットグループヘッダの後に含まれるパケット到着時間の増分(IAPAT)163がどのように構成されるかの一例も説明する。ここでは、IAPAT163に例えば3バイト割り当て、そのうちの14〜0ビットでPATベース(例えば90kHzのカウンタ値)を表現し、そのうちの8〜0ビットでPATエクステント(例えば27MHzのカウンタ値)を表現している。IAPAT163は、絶対時間ではなく、ATS151Xからの増分(変化分)を表せばよいので、IAPATのデータ量はATSのデータ量より少なくて済む。
IAPAT163における実施の到着時間PATは、ATS+PAT_base/90000Hz+PAT_exten/27、000、000Hzで表される。これにより、IAPAT163を、例えばビデオフレーム単位で細かく表現できるようになる。なお、別の形態として、1つ前のTSパケットの到着時間との差分を用いること(1つ前のPATにPAT_base/90000Hz+PAT_exten/27、000、000Hzを足したものを新たなPATとすること)も可能である。
なお、上記の「PAT_baseおよびPAT_exten」における“PAT”は“Program Association Table”のことではなく、“Packet Arrival Time(パケット到着時間)”を意味している。
図17は、図16に示したパケットグループヘッダに含まれるPCR位置情報(PCR_LB数番号等)155Xがどのように構成できるかの一例も説明する。ここでは、PCR(Program Clock Reference)の位置情報155XをPCR情報(PCRI)としている。
このPCR位置情報155Xは、例えば2バイトで表現される。この2バイトで、PCRパケット番号を表現できる。このPCRパケット番号は、先頭の基準ピクチャ(例えば先頭のIピクチャ)1st_Ref_PICに一番近いESOBUの先頭から、PCRのある論理ブロックLBまでのLB数で表すことができる。その先頭1ビットは±のフラグとする(例えば“0”で“+方向”を表し、“1”で“−方向”を表す)。PCRが存在しない場合は、PCR_LB数番号は、例えば“0xffff”となる。
図18は、この発明の一実施の形態に係るデータ構造を利用して、情報記録媒体(光ディスク、ハードディスク等)にAV情報(デジタルTV放送プログラム等)を記録し再生する装置の一例を説明するブロック図である。
この装置(デジタルビデオレコーダ/ストリーマ)は、図18に示すように、MPU部80、キー入力部103、リモコン103aからのユーザ操作情報を受け取るリモコン受信部103b、表示部104、デコーダ部59、エンコーダ部79、システムタイムカウンタ(STC)部102、データプロセサ(D−PRO)部52、一時記憶部53、DVD−RAM等の記録可能光ディスク100に対して情報の記録/再生を行うディスクドライブ部51、ハードディスクドライブ(HDD)100a、ビデオミキシング(Vミキシング)部66、フレームメモリ部73、アナログTV用D/A変換部67、アナログTVチューナ部82、地上波デジタルチューナ部89、および、衛星アンテナ83aに接続されるSTB(Set Top Box)部83により構成されている。さらに、この装置は、ストリーマとしてデジタル入出力に対応するため、IEEE1394などのデジタルI/F74を備えている。
なお、STC部102は、図17のPAT_extenに合わせて、27MHzベースでクロックカウントを行うように構成されている。
STB部83は、受信したデジタル放送データのデコードを行なってAV信号(デジタル)を発生させ、そのAV信号をストリーマ内のエンコーダ部79、デコーダ部59およびD/A変換器67を介してTVモニタ68に送り、受信したデジタル放送の内容を表示させることが可能に構成されている。あるいは、STB部83は、デコード後のAV信号(デジタル)を直接Vミキシング部66に送り、そこからD/A変換器67を介してアナログAV信号をTVモニタ68に送ることも可能に構成されている。
ところで、図18の装置はビデオレコーディングとストリームレコーディングの両機能を備えたレコーダを構成しているので、ビデオレコーディングでは不要な構成(IEEE1394I/Fなど)やストリームレコーディングでは不要な構成(AV入力用のA/D変換器84、オーディオエンコード部86、ビデオエンコード部87など)を備えている。
エンコーダ部79内は、A/D変換器84、ビデオエンコード部87、ビデオエンコード部87への入力切換セレクタ85、オーディオエンコード部86、(図示しないが必要に応じて)副映像エンコード部、フォーマット部90、バッファメモリ部91を含んで構成されている。
また、デコード部59は、メモリ60aを内蔵する分離部60、メモリ61aおよび縮小画像(サムネールなど)の生成部62を内蔵するビデオデコード部61、副映像(SP)デコード部63、メモリ64aを内蔵するオーディオデコード部64、TSパケット転送部101、ビデオプロセサ(V−PRO)部65、オーディオ用D/A変換器70より構成されている。このD/A変換器70からのアナログ出力(モノラル、ステレオ、あるいはAAC5.1CHサラウンド)は、図示しないAVアンプ等に入力され、必要本数のスピーカ72が駆動される。
ところで、録画中のコンテンツをTVモニタ68に表示するために、記録するストリームデータを、D−PRO部52に送るのと同時に、デコーダ部59へも同時に送り、その再生を行うことができる。この場合、MPU部80はデコーダ部59へ再生時の設定を行い、その後はデコーダ部59が自動的に再生処理を行う。
D−PRO部52は、例えば16パック毎にまとめてECCグループとし、ECCをつけてドライブ部51へ送る。ただし、ドライブ部51がディスク100への記録準備が出来ていない場合には、一時記憶部53へ転送し、データを記録する準備が出来るまで待ち、用意が出来た段階で記録を開始する。ここで、一時記憶部53は高速アクセスで数分以上の記録データを保持するため、大容量メモリが想定される。この一時記憶部53は、HDD100aの一部を利用して構築することも可能である。
なお、MPU部80は、ファイルの管理領域などを読み書きするために、D−PRO部52へ専用のマイコンバスを通して読み書きできるように構成されている。
図18の装置では、記録媒体として第1にDVD−RAM/−RW/−R/Blueメディア(ブルーレーザを用いる録再可能メディア)等の光ディスク100を想定し、その補助記憶装置としてハードディスクドライブ(HDD)100a(および/または図示しない大容量メモリカード等)を想定している。
これら複数媒体の使い方としては、例えば次のようなものがある。すなわち、HDD100aに図1〜図17のデータ構造(フォーマット)を利用してストリームレコーディングを行う。そして、HDD100aに記録されたストリームレコーディングコンテンツのうち、ユーザが保存したいと希望するプログラムについては、ディスク100にそのままストリームレコーディング(ダイレクトコピーあるいはデジタルダビング)する(コピー制御情報CCIでコピーが禁止されていない場合)。こうすれば、デジタル放送のオリジナルと同等のクォリティを持つ所望プログラムだけをディスク100に纏めることができる。さらに、ディスク100にコピーされたストリームレコーディングコンテンツはこの発明のデータ構造を利用しているので、ストリームレコーディングであるにも拘わらず、タイムサーチ等の特殊再生(図50を参照して後述)が容易なものとなる。
以上のような特徴を持つデジタルレコーダ(DVD−RAM/−RW/−R/BlueメディアとHDDとの組み合わせで構成されたストリーマ/ビデオレコーダ)の具体例が、図18の装置である。図18のデジタルレコーダは、大きくいって、チューナ部(82、83、89)と、ディスク部(100、100a)と、エンコーダ部79と、デコーダ部59と、制御部(80)を含んで構成されている。
衛星デジタルTV放送は、放送局より通信衛星を通して放送される。放送されたデジタルデータは、STB部83で受信され再生される。このSTB83は、放送局から配給されるキーコードを元に、スクランブルされたデータを伸張し再生を行う装置である。このとき、放送局からのスクランブルが解除される。ここで、データがスクランブルされているのは、放送局と受信契約を行っていないユーザが放送番組を不正に視聴することを防ぐ意味で行っている。
STB部83内では、図示しないが、放送されたデジタルデータは、チューナシステムにより受信される。受信されたデータは、そのまま再生される場合には、デジタル伸張部でスクランブルが解除され、MPEGデコーダ部で受信データがデコードされ、ビデオエンコーダ部でTV信号に変換され、このTV信号がD/A変換器67を介して外部に送出される。これにより、STB部83で受信されたデジタル放送番組をアナログTVモニタ68で表示できるようになる。
地上波デジタル放送は、通信衛星を経由しない(および無料放送ではスクランブルが掛けられない)点を除き、衛星放送と同様に受信され処理される。すなわち、地上波デジタル放送は地上波デジタルチューナ部89で受信され、そのまま再生される場合はデコード後のTV信号がD/A変換器67を介して外部に送出される。これにより、地上波デジタルチューナ部89で受信されたデジタル放送番組をアナログTVモニタ68で表示できる。
地上波アナログ放送は、地上波チューナ部82で受信され、そのまま再生される場合は受信されたアナログTV信号が外部に送出される。これにより、地上波チューナ部82で受信されたアナログ放送番組をTVモニタ68で表示できる。
外部AV入力81からアナログ入力されたアナログビデオ信号は、そのままストレートにTVモニタ68に送出することも可能であるが、A/D変換器84で一旦A/D変換し、その後D/A変換器67でアナログビデオ信号に戻してから、外部TVモニタ68側へ送出するように構成することもできる。このように構成すると、ジッタの多いアナログVCR再生信号が外部AV入力81から入力された場合でも、ジッタのない(デジタルタイムベースコレクションされた)アナログビデオ信号をTVモニタ68側に出力できる。
デジタルI/F(IEEE1394インターフェイス)74からデジタル入力されたデジタルビデオ信号は、D/A変換器67を介して外部TVモニタ68側へ送出される。これにより、デジタルI/F74に入力されたデジタルビデオ信号をTVモニタ68で表示できる。
衛星デジタル放送、地上波デジタル放送、あるいはデジタルI/F74から入力されたビットストリーム(MPEG−TS)は、図1(e)のストリームオブジェクト132として、ディスク100(および/またはHDD100a)のストリームオブジェクト群記録領域131(図1(d))にストリームレコーディングできる。
また、地上波アナログ放送あるいはA/V入力81からのアナログビデオ信号は、ディスク100(および/またはHDD100a)のVRオブジェクト群記録領域122(図1(d))にビデオレコーディングできる。
なお、地上波アナログ放送あるいはA/V入力81からのアナログビデオ信号は、一旦A/D変換したあと、ビデオレコーディングでなくてストリームレコーディングするように装置を構成することもできる。逆に、衛星デジタル放送、地上波デジタル放送、あるいはデジタルI/F74から入力されたビットストリーム(MPEG−TS)は、(必要なフォーマットコンバートをしてから)ストリームレコーディングでなくてビデオレコーディングするように装置を構成することも可能である。
ストリームレコーディングまたはビデオレコーディングの記録/再生制御は、メインMPU部80のROM80Cに書き込まれたファームウエア(後述する図19〜図52の動作に対応した制御プログラム等)により行われる。MPU部80はストリームレコーディングおよびビデオレコーディングの管理データ作成部80Bを持ち、ワークRAM部80Aを作業エリアとして種々な管理情報を作成し、作成した管理情報を、図1(d)のAVデータ管理情報記録領域130に適宜記録する。また、MPU部80は、AVデータ管理情報記録領域130に記録された管理情報を再生し、再生した管理情報に基づき種々な制御(図19〜図52)を行う。なお、MPU部80のROM80Cには、図18の装置のメーカID情報等を書き込んでおくことができる。
図18の装置で用いる媒体100(100a)の特徴を簡単に纏めると、次のようになる。すなわち、この媒体は、管理領域130とデータ領域131で構成され、データ領域にはデータが複数のオブジェクトデータ(ストリームオブジェクト(ESOB))に分かれて記録され、それぞれのオブジェクトデータはデータユニット(ESOBU)の集まりで構成される。そして、1つのデータユニット(ESOBU)は、MPEG−TSに準じたデジタル放送信号をTSパケット毎に複数パケットでパケットグループ化したパケットグループにより構成される(図1、図16参照)。一方、前記管理領域130は再生手順を管理する情報としてPGC情報(PGCI)を持ち、このPGC情報はセル情報(CI)を含んで構成される。さらに、管理領域130内にオブジェクトデータ(ストリームオブジェクト(ESOB))を管理する情報を持つ。
図18の装置は、上記のようなデータ構造を持つ媒体100(100a)に対して、ビデオレコーディングの他にストリームレコーディングを行うことができる。その際、TSパケットのストリーム内からプログラムマップテーブルPMTやサービス情報SIを取り出すために、MPU部80はサービス情報取り出し部(図示せず;管理データ作成部80Bの一部を構成するファームウエア)を持つように構成される。またこのサービス情報取り出し部で取り出した情報を元に、属性情報(PCR_LB数番号など)を作成する属性情報作成部(図示せず;管理データ作成部80Bの一部を構成するファームウエア)を持つように構成される。
図18の装置において、記録時の信号の流れは、例えば次のようになる。すなわち、STB部83(または地上波デジタルチューナ89)で受け取ったTSパケットデータは、フォーマッタ部90でパケットグループ化されワーク(バッファメモリ部91)へ保存し、一定量たまった時点(1またはその整数倍のCDA分がたまった段階で)でディスク100に記録される。この時の動作は、TSパケットを受信すると85パケットづつグルーピング化し、パケットグループヘッダを作成しする。
また、地上波チューナ82やライン入力から入力されたアナログ信号は、A/D部84でデジタル変換される。そのデジタル信号は、各エンコーダ部86、87へ入力される。ビデオ信号はビデオエンコード部87へ、オーディオ信号はオーディオエンコード部86へ、文字放送などの文字データはSPエンコード部(図示せず)へ入力され、ビデオ信号はMPEG圧縮され、オーディオ信号はAC3圧縮またはMPEGオーディオ圧縮がなされ、文字データはランレングス圧縮される。
各エンコーダ部から、圧縮データがブロック化された場合に2048バイトになるようにブロック化されて、フォーマッタ部90へ入力される。フォーマッタ部90では、各パケットがブロック化され、さらに、多重化され、D−PRO部52へ送られる。D−PRO部52では、16(又は32)ブロック毎にECCブロックを形成し、エラー訂正データを付け、ディスクドライブ部51によりディスク100に記録する。
ここで、ドライブ部51がシーク中やトラックジャンプなどの場合のため、ビジー状態の場合には、HDDバッファ部53へ入れられ、RAMドライブ部の準備ができるまで待つこととなる。さらに、フォーマッタ部51では、録画中、各切り分け情報を作成し、定期的にMPU部80へ送る(GOP先頭割り込みなど)。切り分け情報としては、VOBU(ESOBU)のLB数、VOBU(ESOBU)先頭からのIピクチャのエンドアドレス、VOBU(ESOBU)の再生時間などがある。
また、再生時の記録の流れは、ディスク100からドライブ部51よりデータを読み出し、D−PRO部52でエラー訂正を行い、デコード部61、63、64へ入力される。MPU部80は入力されるデータがVRデータか、ESRデータかの種別を判定し(Cell TYPEより判定する)、デコーダ部に再生前にその種別を設定する。ESRデータの場合、MPU部80は再生するセル情報CIより、再生するPMT_IDを決め、該当するPMTより、再生する各アイテム(ビデオ、オーディオ等)のPIDを決め、デコーダ部へ設定する。デコーダ部は、そのPIDを元に、分離部60で各TSパケットを各デコード部へ送る。さらに、TSパケット転送部101へ送り、到着時間に従って、STB部83(1394I/F部74)へTSパケットの形で送信する。各デコード部は、デコードを行い、D/A部67でアナログ信号に変換し、TVモニタ68で表示する。
VRデータの場合、分離部60は、固定のIDに従い、各デコード部へ送る。各デコード部は、デコードを行い、D/A部67でアナログ信号に変換し、TVモニタ68で表示する。
図19は、図18の装置の全体の動作の一例を説明するフローチャート(全体動作処理フロー)である。例えば図18の装置の電源がオンされると、MPU部80は、(工場出荷時またはユーザが設定した後の)初期設定を行い(ステップST10)、表示設定を行って(ステップST12)、ユーザ操作を待つ。ユーザがキー入力部103またはリモコン103aからキー入力を行うと(ステップST14)、MPU部80はそのキー入力の内容を解釈する(ステップST16)。この入力キー解釈の結果に応じて、以下の5つのデータ処理が、適宜実行される。
すなわち、キー入力が例えばタイマ予約録画設定のキー操作であれば、番組設定処理に入る(ステップST20)。キー入力が録画開始のキー操作であれば、録画処理に入る(ステップST22)。キー入力が再生開始のキー操作であれば、再生処理に入る(ステップST24)。キー入力がSTB部83へデジタル出力させるキー操作であれば、デジタル出力処理に入る(ステップST26)。編集処理のキー操作であれば、編集処理に入る(ステップST28)。
ステップST20〜ST28の処理は、そのタスク毎に適宜並列処理される。例えば、再生処理中(ST24)にSTB部83へデジタル出力する処理(ST26)が並列に実行される。あるいは、タイマ予約録画でない録画処理中(ST22)に新たな番組設定処理(ST20)を並列に処理するように構成することができる。あるいは、高速アクセス可能なディスク記録の特徴を生かし、録画処理(ST22)中に再生処理(ST24)とデジタル出力処理(ST26)を並列処理するように構成することもできる。HDD100aへの録画中にディスクの編集処理(ステップST28)を行うように構成することも可能である。
図20は、図19に示した編集処理(ST28)の中身の一例を説明するフローチャート(編集動作処理フロー)である。編集処理に入ると、編集内容に応じて、4つの処理(A〜Dのいずれか)に入ることができる(ステップST280)。エントリポイント編集処理(ステップST282A)、コピー/移動処理(ステップST282B)、削除処理(ステップST282C)、あるいはプレイリスト作成処理(ステップST282D)が済むと、これらの操作を行った機器のメーカIDが、図15のプログラム情報PGI1332内の編集者ID(LAST_MNF_ID)13327に設定される(ステップST284)。この編集者IDは、プログラム情報PGI、セル情報CI、ストリームオブジェクト(ESOB)(またはVOB)のどれかが変更されると、その都度、その時に用いた機器のID情報により、設定(または更新)される。
図21および図22は、図18の装置の録画動作(ST22)の一例を説明するフローチャート(録画フロー)である。図19の番組設定処理(ST20)でEPG(Electronic Program Guide)を使用して録画する番組を決めておき、受信を開始し、その決めた番組の録画を行う。
<01>MPU部80がキー入力部103より録画命令受けると、ドライブ部51から管理データを読み込み(ステップST100)、書き込む領域を決定する。このとき、ファイルシステムをチェックし、録画可能かどうか(ディスク100またはHDD100aに録画可能容量が残っているか)を判断する。録画可能でない場合は(ステップST102のノー)、その旨(「録画スペースがありません」)をユーザに示して(ステップST104)、録画処理を中止する。
録画可能の場合は(ステップST102のイエス)、デジタル放送のストリームレコーディングを行うのか、アナログ放送のビデオレコーディング(またはデジタル放送信号をD/A変換したアナログ信号のビデオレコーディング)を行うのかの判定が行われる。デジタル放送のストリームレコーディングでないときは(ステップST106のノー)、ビデオレコーディング規格に基づく録画処理に移行する。デジタル放送のストリームレコーディングであれば(ステップST106のイエス)、ステップST100で読み取った管理データに基づいて、記録開始位置を決定する。
<02>決定された領域に書き込むように管理領域を設定し、ビデオデータの書き込みスタートアドレスをドライブ部51に設定し、データを記録する準備を行う(ステップST110)。
管理情報(VMG)の作成時にエラーが生じれば(ステップST111のイエス)、処理は終了する。エラーなしで管理情報(VMG)の作成が済めば(ステップST111のノー)、次の録画用初期設定(ステップST112)に移る。
<03>録画用初期設定の一環として、STC部102に対して、時間のリセットを行う(ステップST112)。ここで、STC部102はシステムタイマであり、このタイマのカウント値を基準にして、(フレーム単位の細かさで)録画/再生を行う。
<04>録画する番組のPAT(STB部83からのMPEG−TSに含まれている)を読み込み、目的の番組のPMTを取り込むためのPIDを決定し、目的のPMTを読み込み、デコードすべき(録画すべき)各データ(ビデオ、オーディオ)のPIDを決定する。このとき、MPU部80のワークRAM部80Aに録画開始時のPAT、PMTを保存し、それらを管理情報に書き込む(ステップST116)。また、ファイルシステムに、VMGファイルのデータを書き込み、VMGIに必要な情報(図4)を書き込む。
ここで、PATはTS_ID、NETWORK_PID、PMT_ID等の情報を含むことができ、PMTにはSERVICE_ID、REG_DES_VALUE(Registration_Descriptorの値)、PCR_PID、ESOB_ES_Ns等の情報を含むことができる。
<05>録画用初期設定の一環として、各部へ録画設定を行う(ステップST112)。このとき、フォーマッタ部90へ、各データの切り分けの設定(セル、ESOBU、プログラム、パケットグループなどの区切り設定)や、TSパケットの受け取り設定を行う。また、このとき、記録すべきデータのPIDを設定し、目的のビデオストリームのみ記録するようにする。また、バッファメモリ部91へTSパケットの保持を開始するように設定する。
録画開始設定の一環として、フォーマッタ部90へ、バッファメモリ部91からのバッファデータ取り込み開始処理を設定する(ステップST114)。すると、フォーマッタ部90は、バッファ取り込み処理(図24を参照して後述)を開始する。
<06>PTMよりビデオ/オーディオのSTI(図7のESOBI_VSTIとESOBI_ASTI)を作成する(図22のステップST120;その詳細は図27)。次に、バッファメモリ部91への取り込み処理を開始する(ステップST130)。
<07>バッファメモリ部91内のデータが一定量(1個の連続データエリアCDA分)たまった場合は(ステップST140のイエス)、D−PRO部52を通して所定のECC処理(例えば8セクタ16kバイト単位ないし32セクタ64kバイト単位でECCブロックを作成する)を行い、ディスクに記録する(ステップST142)。
<08>録画中、定期的に(フォーマッタ部90のバッファRAM91が一杯になる前;ステップST144のイエス)、切り分け情報をMPU部80のワークRAM部80Aに保存する(ステップST146)。ここでの切り分け情報は、ESOBUの切り分け情報であり、ESOBUの先頭のアドレス、ESOBUのパック長、もしくはIピクチャの終了アドレス、ESOBUの到着時間(ATS)等である。
<09>録画中のディスク100(またはHDD100a)の残量をチェックし、残量が一定値(例えば150Mバイト)以下に少なくなった場合には、図示しないが、残り容量少処理を行うように構成することができる。この残り容量少処理としては、ディスク上に消去可能な未消去データ(ごみ箱ファイルに捨てられた仮消去ファイル)があればそれを消去して残り容量を増やす処理がある。あるいは、残り容量少処理としては、記録レートを落として(あるいはMPEG−2記録をMPEG−1記録に切り替えて)物理的な残り容量が同じでも録画可能時間を増やす処理もある。あるいは、ディスク100上にアフレコ等に利用するダミーパックを記録している場合において、このダミーパックの記録を中止する処理を、この残り容量少処理の一部として行うことも可能である。あるいは、ディスク100の残り容量が少なくなったときに、HDD100aの未記録エリアへリレー録画を継続する処理を、この残り容量少処理の一環として行うことも可能である。
<10>録画終了かどうかをチェックし(録画終了キーを入力したかどうか、または、残り容量が無くなったかどうか)、終了時には(ステップST148のイエス)、フォーマッタ部90より残りの切り分け情報を取り込み、ワークRAM部80Aへ追加し、それらのデータを管理データ(VMGI)に記録し、さらに、ファイルシステムに、残りの情報を記録する(ステップST150)。このST150において、図28を参照して後述するストリームファイル情報(SFIまたはESFI)の作成も行われる。
<11>終了で無い場合(ステップST148のノー)は、ステップST140に戻り、データの取り込み(ステップST130)及び書き込み(ステップST142)を続けて行うようにする。
ここで、TVモニタ68に表示するために、デコーダ部59へD−PRO部52と同時に送り、再生を行う。ただし、この場合、MPU部80はデコーダ部59へ再生時の設定を行い、その後はデコーダ部59が自動的に再生を行う。
D−PRO部52は16パック毎にまとめてECCグループとして、ECCをつけてドライブ部51へ送る。ただし、ドライブ部51がディスクへの記録準備が出来ていない場合には、一時記憶部53へ転送し、データを記録する準備が出来るまで待ち、用意が出来た段階で記録を開始する。ここで、一時記憶部53は高速アクセスで数分以上の記録データを保持するため、大容量メモリが使用されることが好ましい。ただし、MPU部80は、ファイルの管理領域などを読み書きするために、D−PRO部52へMPUバスを通して、読み書きすることが出来る。
図23は、図18の装置の動作における割り込み処理の一例を説明するフローチャート(割り込み処理フロー)である。MPU部80の制御動作における割り込み処理では、まず割り込み要因がチェックされる(ステップST30)。割り込み要因が「D−PRO部52へ1パック分(あるいは1パケット分)の転送が終了したことによるもの」であれば、録画論理ブロック数LBNが1つインクリメントされる(ステップST301)。割り込み要因が「フォーマッタ部90からの切り分け情報取り込みによるもの」であれば、切り分け情報1の取り込み割り込みフラグ(図示せず)がセットされる(ステップST302)。
図24は、図22に示したバッファ取り込み処理(ST130)の中身の一例を説明するフローチャート(バッファ取り込み処理フロー)である。
<01>STB部83(または地上波デジタルチューナ部89)でTSパケットを受信する(ステップST1300)。
<02>取り込んだTSパケットにPCRが有る場合は(ステップST1302のイエス)、STC部102の修正を行う(ステップST1304)。
<03>パケットグループの先頭の場合は(ステップST1306のイエス)、その到着時間をSTC部102より取り込み、ATSとする(ステップST1308)。先頭でない場合は(ステップST1306のノー)、先頭のATSの値と到着時間の差分(又は、1つ前に到着したTSパケットの到着時間との差分)をIAPATとして、そのTSパケットの前(つまり前回のTSパケットの後)に配置する(ステップST1310)。
<04>最初に取り込んでおいた本ストリームの属するPMT内にコピー記述子が有るかどうか調べ、有る場合は(ステップST1312のイエス)、その情報を全てのパケットグループヘッダに書くため、その情報を元にコピー制御情報CCIを構成し、パケットグループヘッダに保存する(ステップST1313)。
<05>PMT内にコピー情報がなく(ステップST1312のノー)、受信したTSパケット内にコピー記述子がない場合は(ステップST1314のノー)、前回のパケットと同じ情報を元にコピー情報を構成する(ステップST1315)。有る場合は(ステップST1314のイエス)、その情報を元にコピー制御情報CCIを構成し、パケットグループヘッダに保存する(ステップST1316)。
<06>次に、TSパケット内にコンポーネントの記述子があるかどうかを調べ、ない場合は(ステップST1318のノー)、前回のパケットと同じ情報をパケットグループヘッダに保存する(ステップST1319)。有る場合は(ステップST1318のイエス)、その情報を元に解像度情報を構成し、パケットグループヘッダに保存する(ステップST1320)。
<07>次に、パケットグループが終わったかどうかを判定(具体的には、85個のTSパケットをグルーピングしたかどうかを判定)し、終わってない場合は(ステップST1322のノー)、バッファ取り込み処理ST130の先頭へ移行する。終わった場合は(ステップST1322のイエス)、グループデータをバッファRAM91内に一時保存する(ステップST1323)。
ここで、PTSはピクチャ先頭がグループ内に含まれている場合に、TSパケットの中をみて保存する。また、ビデオデータが無く、オーディオデータのみの場合は、オーディオ用のコピー情報にしたがって、CCIを構成する。さらに、各情報の有無を検知し、ワークRAM部80Aに保存し、記録終了時に、管理情報として、管理情報記録領域130に記録する(図22のST150)。
再生時は、ディスク100(またはHDD100a)から読み出されたパケットデータは分離部60で解析され、TSパケットが入っているパケットの場合には、TSパケット転送部101へ送られる。さらに、その後、読み出されたパケットデータは各デコーダ(61、63、64)へ送られ、対応する再生(ビデオ再生、副映像再生、音声再生)が行なわれる。
TSパケットをSTB部83へ転送する場合(あるいはIEEE1394I/F74を介して外部のデジタルTV等へ送信する場合など)は、TSパケット転送部101は、そのデータを、到着時と同じ時間間隔で、TSパケットのみを転送する。
図24の処理を別の言い方で簡単に述べると、次のようになる。すなわち、
<01>記録時の信号の流れについていうと、STB部83(または地上波デジタルチューナ89)で受け取ったTSパケットデータは、フォーマッタ部90でパケットグループ化されワークメモリ(バッファメモリ部91)へ保存し、一定量たまった時点(1またはその整数倍のCDA分がたまった段階で)でディスク100に記録する。その際、TSパケットを受信すると、85パケットづつグルーピング化し、パケットグループヘッダを作成する。
<02>取り込んだTSパケットにPCRが有る場合は、STC部102の修正を行う。
<03>パケットグループの先頭の場合は、その到着時間をSTC部102より取り込み、ATSとする。先頭でない場合は、先頭のATSの値と到着時間の差分(または1つ前のTSパケットのATSとの差分)をIAPATとしてそのTSパケットの前に配置する。
<04>最初に取り込んでおいた本ストリームの属するPMT内にコピー情報が有るかどうか調べ、有る場合は、その情報を全てのパケットグループヘッダに書くため、その情報(図37〜図39)を元にコピー情報(図17)を構成し、<06>へ移行する。
<05>受信したTSパケット内にコピー情報がない場合は、前回のパケットと同じ情報を保持し、受信したTSパケット内にコピー情報が有る場合は、その情報を元にコピー情報を構成する。
<06>解像度情報が有るかどうかを調べ、ない場合は前回のパケットと同じ情報を保持し、解像度情報が有る場合は、その情報(図42、図43)を元に解像度情報を構成する。
<07>パケットグループが終わったかどうかを判定し(85個のTSパケットをグルーピングしたかどうかを判定し)、終わってない場合は、<01>へ移行し、グルーピングが終わった場合は、グループデータをバッファRAM(バッファメモリ部91)内に一時保存する。
ここで、PTSはピクチャ先頭がグループ内に含まれている場合に、TSパケットの中をみて保存する。また、ビデオデータが無く、オーディオデータのみの場合は、オーディオ用のコピー情報に従ってコピー制御情報CCIを構成する。
また、再生時は、<11>ディスク100から読み出したパケットデータを分離部60で解析し、<12>TSパケットが入っているパケットの場合には、TSパケット転送部101へ送る。<13>その後、このパケットデータは各デコーダへ送られ、再生を行う。<14>STB部83へ転送する場合(あるいはデジタルTV等の外部機器へ送信する場合)は、TSパケット転送部101は、そのデータを到着時と同じ時間間隔で、TSパケットのみを転送する。また、<15>STB部83は、デコードを行い、AV信号を発生させ、そのAV信号をストリーマ内ビデオエンコーダ部を通して、TVモニタ68へ表示する。
図25、図26は、図19に示した録画処理ST22(図1に示したディスク状情報記憶媒体に録画を開始する前の処理)を説明するフローチャート(録画前処理フロー)である。この録画の前処理の一例を以下に説明する。
(A)DVD_HDRのディレクトリ(新たなHD対応のビデオレコーディングを入れるディレクトリであり、新たなVR(HD対応)とESRの入るディレクトリ)を探し(ステップST1100)、無い場合はそのディレクトリを作成し(ステップST1102)、ある場合は次のステップに移行する。
(B)ディレクトリ内にデータが録画されているかどうかを調べ、その際にエラーが発生すれば(ステップST1104のイエス)その旨(「ファイルシステムでエラーが発生しました」)を表示して(ステップST1106)、エラー終了する。エラーがなければ(ステップST1104のノー)、録画データの管理情報(VMGI)の有無がチェックされる(ステップST1108)。データが録画されており、かつVMGIがある場合は(ステップST1108のイエス)、そのVMGIをワークRAM部80Aに読み込み(ステップST1110)、その中に記録されている放送方式(図8等のAPP_NAME)から本機器(図18の装置)がサポートしている方式かどうかを判定(ステップST1112)する。サポートしていない場合は(ステップST1112のノー)、その旨(「放送方式が違います」)を表示して(ステップST1114)、エラー終了する。
(C)録画データの管理情報VMGIが無い場合(ステップST1108のノー)、ワークRAM部80A内にVMGIを作成する。
(D)これから録画するデータの放送方式を調べる(ステップST1116)。この調査において、録画する信号が内部チューナからの場合は、機器内でデフォルトの方式とする。また、録画する信号が外部デジタル入力の場合は、デジタル入力より送られてくる記述子Registration_Descriptorの値を調べ、録画する方式を決定する(ステップST1116)。
(E)録画するデータの放送方式が、本機器(図18の装置)がサポートしている方式かどうかを判定する。サポートしていない場合は(ステップST1122のノー)、その旨(「放送方式が違います」)を表示して(ステップST1124)、エラー終了する。
(F)サポートしている場合は(ステップST1122のイエス)、
ステップST1126で録画するデータの放送方式がディスクに記録している放送方式と一致するESOBファイルが存在するか否か判断する。この場合ディスク内に記録方式が複数あることを許している場合は、APP_NAMEは各ESOBI_GIに必要であるが、複数の存在を禁止している場合は、APP_NAMEは、ESFI_GIおよび/またはVMG_MATに設定してもよい(図9の説明参照)。APP_NAMEは機器によって固定の場合と、ESOB毎に変更する場合が考えられる。設定値はARIB等の名前が文字コードで入力される場合と、IDコード(ARIB=“01”、DVB=“02”、等)の場合がある。
存在する場合は、ステップST1128で新たなEFSIを作成し、APP_NAMEに受信しているデジタル方法方式コードを設定(CountryID、authorityID、Packet formatはチューナ部のデフォルト値、Network種別、放送方式VersionはSIより設定)する。ステップST1130で新たに該当フォーマットのESOBファイルを作成し、そのファイルにこれから録画するオブジェクトデータを記録するよう設定する。存在しない場合は、新たにVMGを作成する(ステップST1132)。すなわち、APP_NAMEの同じEFSIに今回録画するためのSOBIを追加する。ステップST1134で記録してある同じAPP_NAMEのESOBファイルの後にこれから録画するオブジェクトデータを追加記録するよう設定する。 図27は、図22に示したストリーム情報(VSTIとASTI)作成処理(ST120)の中身の一例を説明するフローチャート(STI設定処理フロー)である。
まず、ESOBI内のVSTIおよびASTIを調べ(ステップST1200)、次にPMT内のストリームタイプを調べ(ステップST1201)、続いて、ディスク100に記録してあるVSTIを読み出す(ステップST1201)。MPEG−TSを記録するストリームレコーディングでは、記録しようとするストリーム内にPMTが含まれており、このPMT内に、ストリームタイプが記述されている(図36を参照して後述)。
そこで、先に調べたストリームタイプから、4種類のストリームタイプ別に処理を行なう(ステップST1203)。すなわち、ストリームタイプが“0x01”のときは、該当PIDのMPEG−1ビデオパケットを読み出し、そのシーケンスヘッダより解像度、アスペクト比等のデータを取り出す(ステップST1204)。ストリームタイプが“0x02”のときは、該当PIDのMPEG−2ビデオパケットを読み出し、そのシーケンスヘッダより解像度、アスペクト比等のデータを取り出す(ステップST1206)。また、ストリームタイプが“0x03”のときは、該当PIDのMPEG−1オーディオパケットを読み出し、そのシーケンスヘッダよりサンプリング周波数、量子化ビット数、チャネル数等のデータを取り出す(ステップST1208)。ストリームタイプが“0x04”のときは、該当PIDのMPEG−2オーディオパケットを読み出し、そのシーケンスヘッダよりサンプリング周波数、量子化ビット数、チャネル数等のデータを取り出す(ステップST1210)。
ストリームタイプが“0x01”または“0x02”のときに該当ビデオの解像度、アスペクト比等のデータを取り出したあと、同じ内容のVSTIがST1200で調べたVSTI内にあるかどうか調べる(ステップST1212)。同じ内容が無ければ(ステップST1212のノー)、先に読み出したデータを元に新たなVSTIを作成する(ステップST1214)。同じ内容があれば(ステップST1212のイエス)、その番号を該当するESOB_ES_VSTINあるいはASTIN1324323(図10)に設定し、VSTIは現状のままとする。こうして得られたVSTIの番号は、ストリーム番号(コンポーネントグループ番号)に関連づけられて(リンクされて)、ワークRAM部80Aに保存される(ステップST1216)。
一方、ストリームタイプが“0x03”または“0x04”のときに該当オーディオのサンプリング周波数、チャネル数等のデータを取り出したあと、同じ内容のASTIがST1200で調べたASTI内にあるかどうか調べる(ステップST1222)。同じ内容が無ければ(ステップST1222のノー)、先に読み出したデータを元に新たなASTIを作成する(ステップST1224)。同じ内容があれば(ステップST1222のイエス)、その番号を該当するESOB_ES_VSTINあるいはASTIN1324323(図10)に設定し、ASTIは現状のままとする。こうして得られたASTIの番号は、ストリーム番号(コンポーネントグループ番号)に関連づけられて(リンクされて)、ワークRAM部80Aに保存される(ステップST1216)。
以上の処理は、VTSIおよび/またはATSIを作成していないストリームがその他にある場合は(ステップST1230のイエス)、反復される。
VTSIおよび/またはATSIを作成していないストリームがもう無いときは(ステップST1230のノー)、図27の処理は終了し、図22の処理にリターンする。
図27の処理を別の言い方で簡単に述べると、次のようになる。すなわち、
(a)ディスクに記録されているVSTI、ASTIをワークRAM部80Aに読み込む。
(b)PMT(図36)を調べ、設定されているストリーム数を調べる。
(c)PMTよりストリームタイプを調べ、ビデオ、オーディオのストリームかどうかを判定し、それ以外の場合は、次のストリームチェックに移行する。
(d)ストリームタイプをMPEG−1ビデオ、MPEG−2ビデオ、MPEG−1オーディオ、MPEG−2オーディオ、…の種別に分け、それぞれの種別応じて、内部のデータをチェックし、各属性情報を読み出す。
(e)属性情報を、VSTI、ASTIと比較し、同じ属性情報がある場合は、その番号を該当するESOB_ESIに設定し、次のストリームチェックに移行する。
(f)属性情報を元に新たにVSTIおよび/またはASTIを設定し、その番号を該当するESOB_ESIに設定し、次のストリームチェックに移行する。
(g)設定されているストリーム数の数だけ処理を繰り返す。
図28は、図22に示した録画終了処理(ST150)におけるストリームファイル情報(SFIまたはESFI)作成処理の中身の一例を説明するフローチャート(ストリームファイル情報作成処理フロー)である。
(a)まず、SOBIを一つ増やすため、そのサーチポインタSOBI_SRPを増やし、増やした管理情報(SOBI、SOBI_SRP)のディスクでの記録領域を確保する(ステップST1500)。
(b)録画時間をSOB_REC_TM、 SOB_REC_TM_SUBに設定する(ステップST1502)。ここで、機器内部の時計(図18のSTC部102)は、TDT(Time Data Table)により設定/補正が行なわれ、常に正確な時間が得られる。
(c)スタートPTM、エンドPTMを設定する(ステップST1502)。
(d)記録レートに従ってPCR_POS_SHIFTを設定する(ステップST1504)。
(e)ストリームの種類がトランスポートストリーム(TSストリーム:放送方式で言えばARIBまたはDVB)の場合は(ステップST1506のイエス)、APP_PKT_SZに“188”を設定し、PKT_GRP_SZに“8”を設定する(ステップST1508)。そうでない場合は(ステップST1506のノー)、APP_PKT_SZおよびPKT_GRP_SZを放送方式に合った値に設定する(ステップST1510)。具体的には、ステップST1510において、APP_PKT_SZを転送パケット長の値に設定し、PKT_GRP_SZを転送パケット長に対応した値に設定する。
(f)ステップST1509で放送方式がARIB方式か否か判定する。ARIB方式で無い場合は、ステップST1511で各方式に適応した構造に設定し記録し、終了する。ARIB方式である場合は、ステップST1514で記録開始時のPATをワークメモリより読出し、TS_ID、NETWORK_PID、PMT_ID(本ストリームオブジェクト(ESOB)で使用しているPMTのPID)を設定する。
(g)PMTより、SERVICE_ID(PMT内のProgram_Number)、PCR_PID、を設定する(ステップST1516)。さらに、FORMAT_ID、VERSIONについては、内部チューナの場合は、機器内でデフォルトの方式とする。外部デジタル入力の場合は、FORMAT_ID、VERSIONについては、デジタル入力より送られてくる記述子Registration_Descriptor(略してREG_DES)の値を設定する(ステップST1516)。
(h)さらに、録画したESの数を設定する。(PMTには放送している全てのESの情報:数が設定されているが、録画時に全てのESを記録しているとは限らないため、記録したESの数を設定する(ステップST1516)。
(i)イベント情報テーブルEIT内のコンポーネントグループ記述子には、どのESとどのESをセットで再生するかの情報が入っているため、その組になるESの情報をグループとする(ステップST1518)。さらに、そのグループのコンポーネントタグ情報をPMT内のストリーム記述子でPIDに変換し、その情報をグループ情報として保存する。(このEITの情報は放送方式により変わる可能性がある。)
(j)録画を開始した論理ブロックアドレス(LBアドレス)をADR_OFSに設定し、各切り分け情報を元に、ストリーム毎にMAPIを作成する(ステップST1520)。但し、不要ストリームに関してはMAPIは作成しないか、SOBU_ENT_Nsを“0”に設定する。
図29は、図15に示したセル情報(CI)中のセルタイプ13341がストリーム記録を示す(C_TYまたはCELL_TYが“2”)場合において、再生時に参照するIDを設定する処理(ST1710)を含むプログラム作成がどのように行われるかの一例を説明するフローチャート(プログラム作成処理フロー)である。
ここで、1枚の媒体に複数の放送方式のデータを混在して記録する場合、上述したように、種々のレベルで混在を許可/禁止する場合があり、図29はプログラムチェーン単位で混在を許可する場合である。プログラム、プレイリスト単位で混在を許可する場合を図30、セル単位で混在を許可する場合を図31に示す。
図15のプログラム情報PGI1332に含まれるプログラムタイプPG_TY13321に例えば消去許可のフラグ(=“0”)を設定し、このPGI1332に含まれるセル数C_Ns13323にセルの数を設定する(ステップST1706)。
ここで、放送方式がARIBの場合、EIT内の短形式イベント記述子のLanguage_codeが“jpn“の場合は、VMG_MATのCHRに0x12を設定し、PRM_TXTIの第二領域にイベント記述子event_name(番組名)を設定し、REP_PICTIに代表画像の情報を設定する(ステップST1706)。
次に、図15のプログラム情報PGI1332内の編集者ID(LAST_MNF_ID)13327に本機器のメーカIDを設定する。この設定値には、PGI、CI、SOB(および/またはVOB)の変更があった場合に、その変更を行った機器のメーカIDが設定される(ステップST1708)。
このLAST_MNF_IDへの設定は、各ディスクに対して最後に編集あるいは記録を行った機器がどのメーカのものであるか分かるようにするために行なわれる。この設定により、あるメーカの機器で録画したあるディスクを後に違うメーカの機器で編集などした場合、何らかのトラブル(一部あるいは全ての情報が再生できないなど)が起きた際に、対応が取りやすくなる。
ここ(ステップST1708)では、プログラムインデックスPG_INDEXにプログラムの絶対番号を設定し、他のアプリソフトなどから参照する場合にPG単位での参照が可能にしている。さらに、MNFIに各メーカ独自の情報を設定する。
次に、セルタイプにストリーマ(記録オブジェクトがストリームオブジェクト(ESOB))であることを示す情報(C_TY=“2”)を設定する(ステップST1710)。ここ(ステップST1710)では、さらに、参照するストリーム情報ファイル情報(ESFI)番号、参照するストリームオブジェクト(ESOB)番号を設定し、再生するIDとして(ビデオの)代表PIDまたはComponent_Group_Idを設定し、EPIの数、再生開始PTM、再生終了PTM、エントリポイントEPをそれぞれ設定する。
図30は、PGC単位で混在を禁止する場合の、再生時に参照するIDを設定する処理(ST1710)を含むプログラム作成がどのように行われるかの一例を説明するフローチャート(プログラム作成処理フロー)である。
図29とはステップST1706のみが異なる。図30のステップST1706Aでは、プログラム情報PGI1332に含まれるプログラムタイプPG_TY13321に例えば消去許可のフラグ(=“0”)を設定し、このPGI1332に含まれるセル数C_Ns13323にセルの数を設定し、EIT内の短形式イベント記述子のLanguage_codeが“jpn“の場合は、VMG_MATのCHRに0x12を設定し、PRM_TXTIの第二領域にイベント記述子event_name(番組名)を設定し、REP_PICTIに代表画像の情報を設定することに加えて、PGIにSFI番号/APP_NAMEを設定する。他のステップは図29と同じである。
図31は、セル単位で混在を許可する場合の、再生時に参照するIDを設定する処理(ST1710A)を含むプログラム作成がどのように行われるかの一例を説明するフローチャート(プログラム作成処理フロー)である。
図29とはステップST1710のみが異なる。図31のステップST1710Aでは、セルタイプにストリーマ(記録オブジェクトがストリームオブジェクト(ESOB))であることを示す情報(C_TY=“2”)を設定し、参照するストリーム情報ファイル情報(ESFI)番号、参照するストリームオブジェクト(ESOB)番号を設定し、再生するIDとして(ビデオの)代表PIDまたはComponent_Group_Idを設定し、EPIの数、再生開始PTM、再生終了PTM、エントリポイントEPをそれぞれ設定することに加えて、セル情報CIにSFI番号/APP_NAMEを設定する。他のステップは図29と同じである。
録画時の処理(図21、図22、図24〜図31)を別の言い方で簡単に述べると、次のようになる。すなわち、
<01>まず、番組設定処理でEPG(Electronic Program Guide)を使用して録画する番組を決めておき、受信を開始し、その決めた番組の録画を行う。
<02>MPU部がキー入力部より録画命令受けると、ドライブ部から管理データを読み込み、書き込む領域を決定する(図21のステップST100)。このとき、ファイルシステムをチェックし、録画可能かどうかを判断し、録画可能の場合は、記録する位置を決定し、録画可能でない場合は、その旨をユーザに示して,処理を中止する。
<03>決定された領域を書き込むように管理領域に設定し、ビデオデータの書き込みスタートアドレスをドライブ部に設定し、データを記録する準備を行う(図21のステップST110)。
<04>STC部で時間のリセットを行う(図21のステップST112)。ここで、STC部はシステムのタイマであり、このSTC部のクロックカウント値を基準に録画、再生を行う。
<05>録画する番組のPATを読み込み(図21のステップST116)、目的の番組のPMTを取り込むためのPIDを決定し、目的のPMTを読み込み、デコードすべき(録画すべき)各データ(ビデオ、オーディオ)のPIDを決定する。このとき、MPUのワークRAM部80AにPAT、PMTを保存し、管理情報に書き込む。また、ファイルシステムにVMGファイルのデータを書き込み、VMGIに必要な情報を書き込む。
<06>各部へ録画設定を行う(図21のステップST114)。このとき、フォーマッタ部へ、各データの切り分けの設定や、TSパケットの受け取り設定を行う。また、このとき、記録すべきデータのPIDを設定し、目的のビデオストリームのみが記録されるようにする。また、バッファへTSパケットの保持を開始するように設定する。フォーマッタ部は、図24に示すようなバッファ取り込み処理動作を開始する。
<07>PTMよりVSTI、ASTIを作成する(図22のステップST120;図27の処理)。
<08>バッファ内のデータが一定量(1CDA分)たまった場合は(図22のステップST140イエス)、D−PRO部を通して、ECC処理を行い、ディスクに記録する(図22のステップST142)。
<09>録画中、定期的に(フォーマッタ部のバッファRAMがいっぱいになる前に)、切り分け情報をMPUのワークRAM部80Aに保存する(図22のステップST146)。ここでの切り分け情報は、ESOBUの切り分け情報で、ESOBUの先頭のアドレス、SOBUのLB長、もしくはI−ピクチャの終了アドレス、ESOBUの到着時間(ATS)等である。
<10>残量をチェックし、一定以上少なくなった場合には、適宜、図22の説明箇所で前述した残り容量少処理を行なう。
<11>録画終了かどうかをチェックし(録画終了キーを入力したかどうか、または、残り容量が無くなったかどうか)、終了時には(図22のステップST148イエス)、フォーマッタ部より残りの切り分け情報を取り込み、ワークRAM部80Aへ追加し、それらのデータを管理データ(VMGI)に記録し、さらに、ファイルシステムに、残りの情報を記録する(図22のステップST150;図28の処理)。
<12>終了で無い場合は(図22のステップST148ノー)、<008>に戻り、データの取り込み(及び再生)を続けて行うようにする。
ここで、録画中の内容(または再生内容)をTVに表示するために、D−PRO部と同時にデコーダ部へもデータを送り、表示(再生)を行う。ただし、この場合、MPU部はデコーダ部へ再生時の設定を行い、その後はデコーダが自動的に再生を行う。
D−PRO部は、16LBあるいは32LB毎にまとめてECCグループとして、ECCをつけてドライブ部へ送る。ただし、ドライブ部がディスクへの記録準備が出来ていない場合には、一時記憶部へ転送し、データを記録する準備が出来るまで待ち、用意が出来た段階で記録を開始する。ここで、一時記憶部は高速アクセスで数分以上の記録データを保持するため、大容量メモリが想定される。また、MPUは、ファイルの管理領域などを読み書きするために、D−PRO部へ専用のマイコンバスを通して、高速読み書きできるようになっている。
図32および図33は、図18の装置の再生動作の一例を説明するフローチャート(APP_NAMEを参照した全体の再生動作フロー)である。
<01>ディスクチェックし(ステップST200)、書換可能なディスク(R,RW,RAM)であるかかどうかをチェックする。書換可能なディスクで無い場合には(ステップST200のノー)、その旨を返して(ステップST202)、終了する。
<02>書換可能なディスクである場合には(ステップST200のイエス)、ディスクのファイルシステムを読み出し、録画されたデータが有るかどうかチェックする(ステップST204)。何も録画されていない場合には(ステップST204のノー)、“録画されていません”と表示して(ステップST206)、終了する。
<03>録画されている場合には(ステップST204のイエス)、管理情報(VMGファイル)130を読み込み(ステップST207)、各ORG_PGC_GIの方式情報を取り出す。再生可能なORG_PGC、UD_PGCを選択し、画面に表示する(ステップST205;PGC_GIに方式情報がある場合)。再生するプログラム、セルを決定し(ユーザに選ばせ)、再生開始するファイルポインタ(論理アドレス)を決定する(ステップST208)。ここで、記録順の再生選択した場合には、ORG_PGCIに従って再生を行う。番組毎の再生を(ユーザが設定した手順で)行う場合には、再生したい番組に相当する番号のUD_PGCI(またはプレイリスト)に従って再生を行う。
<04>ここで、ワークRAM部80Aに格納された管理情報(例えば図6のESOBI13523)から、記録する放送方式に対応した値が設定される特定情報として、APP_NAMEが読み出される(ステップST209)。このAPP_NAMEに設定された値が、再生機器(図18)で対応可能な方式でなければ(ステップST210のノー)、その旨の警告(「対応している方式ではありません」)をモニタにオンスクリーン表示する等してから(ステップST211)、処理を終了する。
一方、このAPP_NAMEに設定された値が再生機器(図18)で対応可能な方式であれば(ステップST210のイエス)、再生開始時の処理を行う(ステップST212)。
<05>各デコーダの初期設定を行う(ステップST214)。
<06>セルの再生処理を行なう(ステップST220)。再生終了かどうかをチェックし(ステップST230)、終了の場合には(ステップST230のイエス)、エラーチェックを行なう(ステップST240)。エラーの場合には(ステップST240のイエス)、その旨(「読出しエラー」)を表示し(ステップST242)、再生終了処理を行なう(ステップST244)。エラーでない場合には(ステップST240のノー)、再生終了処理を行い(ステップST246)、本動作を終了する。
<07>再生終了でない場合には(ステップST230のノー)、PGCIより次のセルを決定し(ステップST232)、デコーダ(61、64等)の設定が変更されたかどうかをチェックする(ステップST234)。変更された場合には(ステップST234のイエス)、次のシーケンスエンドコードにデコーダの設定が変更されるように、デコーダに変更属性を設定する(ステップST236)。その後、前のセル再生から次のセル再生への繋ぎがシームレス接続かどうかチェックする。シームレス接続でない場合は(ステップST238のノー)、MPEGデコーダ(61等)をフリーランモードに設定し、シームレス接続フラグをセットし(ステップST239)、ステップST220に戻る。シームレス接続の場合は(ステップST238のイエス)、そのままステップST220に戻る。
<08>セル再生処理中(ステップST220)、再生が終了したかどうかをチェックし(ステップST230)、再生終了しない場合は、ステップST220の処理を継続する。
図34および図35は、図18の装置におけるセル再生時の処理(図33のステップST220)の一例を説明するフローチャート(論理ブロック単位のADR_OFSとパケット単位を併用したセル再生時の処理フロー)である。
<01>ESFI番号より再生するESFI、ESOBファイル、放送方式を決定する。MAPIの内容よりセルの開始ファイルポインタFP(論理ブロック番号LBNで表現)、終了FPを決定し、さらに、セル情報内の開始時間、終了時間より開始のESOBU_ENTRY、終了のESOBU_ENTRYを決定し、ADR_OFSに目的のESOBU_ENTRYまでのENTRYのデータ長を累積し、開始アドレス(LB=FP)、終了アドレスを求める(ステップST2200)。残りセル長は終了アドレスより開始アドレスを引いた値とし、再生開始時間をSTCへセットする。
<02>参照するIDが0xffffの場合(ステップST2201のイエス)、マルチアングルの表示方法を子画面同時表示の場合と事前に設定したグループを表示する場合の2種類が考えられる。前者の場合(ステップST2203のイエス)、全ビデオのPIDとメインのオーディオのPIDをデコーダに設定し、子画面同時表示モードになるようにデコーダに設定する(ステップST2205)。一方、後者の場合(ステップST2203のノー)、デコーダに事前に設定されたグループのPIDをデコーダに設定する(ステップST2204)。もし、事前の設定が無い場合は、デフォルトの値もしくはメイングループの値を設定する(ステップST2204)。
<03>参照するIDが0xffffでなく(ステップST2201のノー)、参照するID=PIDの場合は(ステップST2202前半)、コンポーネントグループ記述子より、参照するESの属しているグループを特定し、再生する各PIDを決定し、デコーダに設定する(ステップST2202)。
一方、参照するID=グループIDの場合は(ステップST2202後半)、コンポーネントグループ記述子より、グループ内のPIDを特定し、再生する各PIDを決定し、デコーダに設定する(ステップST2202)。
<04>デコーダ部内部でデコード処理を行うように設定する(ステップST2202)。
<05>再生中の読み出し処理を実行し、開始ファイルポインタより読み出しアドレス、読み出しサイズを決定する(ステップST2206)。
<06>読み出す読み出し単位サイズと残りセル長を比べ、残りセル長が大きい場合には(ステップST2207のイエス)、残りセル長に残りセル長より読み出す読み出し単位サイズを引いた値を設定する(ステップST2208)。小さい場合には(ステップST2207のノー)、読み出し長を残りセル長にセットし、残りセル長を0にセットする(ステップST2209)。
<07>読み出し長を読み出し単位の長さに設定し、ドライブ部へ読み出しアドレス、読み出し長、読み出し命令を設定する(ステップST2210)。
<08>転送開始後(ステップST2212のイエス)、1ESOBU分たまるのを待つ(ステップST2214)。たまったら(ステップST2214のイエス)、次のステップST2216に移行する。
<09>デコーダ部59内部では、読み出したパケットグループデータを分離部60が受け取り(ステップST2216)、パケット化する。そして、ストリームID、サブストリームIDに従って、ビデオパケットデータ(MPEGビデオデータ)はビデオデコード部61へ転送し、オーディオパケットデータはオーディオデコード部64へ転送し、副映像パケットデータはSPデコード部63へ転送する。また、TSパケット転送部101は、読み出されたパケットグループデータをエレメンタリストリームへと変換した後、内部バスで各デコーダ(61、64)へ送り、デコード処理を行う。
<10>上記転送処理中にシームレス接続フラグがセットされておれば(ステップST2222のイエス)、読み出しファイルポインタ(FP)+読み出し長を読み出しファイルポインタに設定し、MPEGデコーダ61を通常モードに設定(SCRの読み込みおよび設定)し、シームレス接続フラグをリセットする(ステップST2224)。ここでは、読み出しFPに、読み出しFPと先に設定した読み出し長を足したもの代入する。
<11>再生中、STC部102の内容を再生時間として表示する。ただし、STB部83の方で、ビデオデータ内のPTSを元に、再生時間を表示できる場合には、そちらを使用する。
<12>転送が終了したかどうかをチェックし、転送が終了しない場合には(ステップST2226ノー)、ステップST2230へ移行する。
<13>転送が終了したかどうかをチェックし、終了した場合には(ステップST2226のイエス)、残りセル長をチェックする(ステップST2228)。“00”でない場合には(ステップST2228のノー)、ステップST2206へ戻り、“00”の場合には(ステップST2228のイエス)、本処理を終了する。
<14>転送が終了していない場合には(ステップST2226のノー)、キー入力をチェックする(ステップST2230)。マルチアングルなどのアングル再生が許可され(ステップST2231のイエス)、アングル変更を行なう時は(ステップST2233のイエス)、コンポーネントグループ記述子の指定されたグループのPIDを、デコーダに設定する(ステップST2235)。その後、STC部102のカウント値はそのままにデコーダ内のバッファをクリアして(ステップST2237)、ステップST2212に戻る。
図36は、図18の装置で用いることができるプログラムマップテーブル(PMT)のデータ構造例を説明する図である。このPMTにおいて、8ビットのストリームタイプ3421により、種々なストリームを識別できる。例えば、ストリームタイプが“0x01”であればMPEG−1ビデオのストリームであることが示され、ストリームタイプが“0x02”であればMPEG−2ビデオのストリーム(ハイビジョンはこちら)であることが示され、ストリームタイプが“0x03”であればMPEG−1オーディオのストリームであることが示され、ストリームタイプが“0x04”であればMPEG−2オーディオのストリーム(AACマルチチャネルオーディオはこちら)であることが示される。
図37は、図36のPMT、その他(サービスディスクリプションテーブルSDT、イベント情報テーブルEIT等)で利用できるデジタルコピー制御ディスクリプタの内容を例示する図である。
このディスクリプタにおいて、「ディスクリプタ・タグ」フィールドは例えば“0xC1”とされ、「ディスクリプタ長」フィールドで記述子長が示される。「デジタルレコーディングコントロール」フィールドには“コピー世代制御データ”が記述される。「マキシマムビットレートフラグ」フィールドには“当該サービスの最大転送レートを記述するか否か”が記述される。記述しない場合のフラグは例えば“0”とされ、記述する場合のフラグは例えば“1”とされる。「コンポーネントコントロールフラグ」フィールドに“0”が記述されるときは、例えば番組全体を規定する(PMTの場合)。このフィールドに“1”が記述されるときは、その他の状態が記述される。「コピーコントロールタイプ」フィールドには“コピー世代制御データ”が記述される(図37、図38、図39参照)。「APSコントロールデータ」フィールドには“アナログ出力制御データ”が記述される。「マキシマムビットレート」フィールドには(マキシマムビットレートフラグが“1”の場合に)“最大転送レート”が記述される。
図38は、デジタルコピー制御がビデオデータに対してどのように運用されるかの一例を説明する図である。ビデオデータのコピー制御は、大きく分けて「制限無しコピー可(コピーフリー)」と、「コピー禁止(コピーネバーまたはノーモアコピー)」と、「1世代のみコピー可(コピーワンス)」の3種類がある。
「制限無しコピー可」の場合、アナログコピー制御は「制限無しコピー可」となり、デジタルレコーディングコントロールは例えば“01”となり、コントロールタイプは例えば“00”となり、APSコントロールデータは例えば“Don’t care(無視)”となる。
「コピー禁止」の場合、(1)アナログコピー制御は「コピー禁止(デジタルコピーはできないがマクロビジョン(R)方式のコピー防止パルスは付かずアナログコピーは可能)」となり、デジタルレコーディングコントロールは例えば“01”となり、コントロールタイプは例えば“11”となり、APSコントロールデータは例えば00”となる。
あるいは「コピー禁止」の場合、(2)アナログコピー制御は「コピー禁止(アナログコピーもデジタルコピーも不可)」となり、デジタルレコーディングコントロールは例えば“01”となり、コントロールタイプは例えば“11”となり、APSコントロールデータは例えば00以外”となる。
「1世代のみコピー可」の場合、(3)アナログコピー制御は「1世代のみコピー可(但しコピー防止パルスは付かずアナログコピーは可能)」となり、デジタルレコーディングコントロールは例えば“01”となり、コントロールタイプは例えば“10”となり、APSコントロールデータは例えば00”となる。
あるいは「1世代のみコピー可」の場合、(4)アナログコピー制御は「1世代のみコピー可(それ以後の世代のコピーはアナログコピーもデジタルコピーも不可)」となり、デジタルレコーディングコントロールは例えば“01”となり、コントロールタイプは例えば“10”となり、APSコントロールデータは例えば00”となる。
図39は、デジタルコピー制御がオーディオデータに対してどのように運用されるかの一例を説明する図である。オーディオデータのコピー制御も、大きく分けて「制限無しコピー可(コピーフリー)」と、「1世代のみコピー可(コピーワンス)」と、「コピー禁止(コピーネバーまたはノーモアコピー)」の3種類がある。
「制限無しコピー可」の場合、デジタルレコーディングコントロールは例えば“01/11”となり、コントロールタイプは例えば“00”となる。
「1世代のみコピー可」の場合、デジタルレコーディングコントロールは例えば“01/11”となり、コントロールタイプは例えば“10”となる。
「コピー禁止」の場合、デジタルレコーディングコントロールは例えば“01/11”となり、コントロールタイプは例えば“11”となる。
図40は、図18の装置で用いることができるイベント情報テーブル(EIT)のデータ構造例を説明する図である。このEITは、ディスクリプタ3426aの記録フィールドを持ち、ここに「コンポーネントグループディスクリプタ」等のディスクリプタを格納できるようになっている。
図41は、コンポーネントグループディスクリプタの内容の一例を説明する図である。このディスクリプタにおいて、「ディスクリプタ・タグ」フィールドは例えば“0xD9”とされ、「ディスクリプタ長」フィールドで記述子長が示される。「コンポーネントグループタイプ」フィールドには、例えばマルチビューTVを示す“000”、あるいはその他の目的のため未定義状態にある“001”〜“111”が記述される。また、「トータルビットレートフラグ」フィールドには、例えばイベント内に総ビットレートフィールドが存在しないことを示す“0”か、イベント内に総ビットレートフィールドが存在することを示す“1”が記述される。さらに、「グループ数」フィールドには、コンポーネントグループディスクリプタのグループ数が記述されるようになっている。
上記グループ数分のコンポーネントグループディスクリプタの中には、「コンポーネントグループID」フィールドと「CAユニット数」フィールドが存在する。「コンポーネントグループID」フィールドでは、ID=“0”でメイングループが示され、ID=0x1〜0xfでサブグループが示される。
「CAユニット数」フィールドには、課金単位を識別する「CAユニットID」フィールドと、コンポーネント数を示す「コンポーネント数」フィールドが存在し、「コンポーネント数」フィールドの中には、コンポーネント数分繰り返される「コンポーネントタグ」フィールドが存在する。この「コンポーネントタグ」フィールドを内包する「コンポーネントグループID」フィールドと「CAユニット数」フィールドは、CAユニット数分繰り返される。
さらに、「コンポーネントタグ」フィールドは「トータルビットレートフラグ」が“1”のときにだけ存在し(それが“0”のときは存在しない)、それが存在するときは「テキスト長」フィールドでその後のテキストの長さが示される。その下の「テキスト」フィールドでは、「テキスト長」フィールドで示された長さテキストが、テキスト長分繰り返される。
以上の「コンポーネントグループID」フィールドないし「テキスト長」フィールドの纏まりは、「グループ数」フィールドで記述された「グループ数」分繰り返されるようになっている。
図42は、図36のPMT、その他(図40のイベント情報テーブルEIT等)で利用できるコンポーネントディスクリプタの内容を例示する図である。
このディスクリプタにおいて、「ディスクリプタ・タグ」フィールドは例えば“0x50”とされ、「ディスクリプタ長」フィールドで記述子長が示される。「ストリームコンテンツ」フィールドには、例えば映像を示す“0x01”が記述される。「コンポーネントタイプ」フィールドには、例えば“コンポーネントの種別”が記述される。「コンポーネントタグ」フィールドには、例えば“番組内で共通のタグ”が記述される。「ISO_639ランゲージコード」フィールドには、例えば日本語の言語コードを示す“jpn”が記述される。「Text_Char」フィールドには、「映像」とか「音声」などの文字列を入れることができる。
図43は、図42に示したコンポーネントタイプの内容の一例を説明する図である。コンポーネントタイプが“0x01”であるときは、例えば「映像が480インターレース(または525インターレース)でありアスペクト比が4:3である」ことが示される。コンポーネントタイプが“0x03”であるときは、例えば「映像が480インターレース(または525インターレース)でありアスペクト比が16:9であり、パンベクトルがない」ことが示される。コンポーネントタイプが“0x04”であるときは、例えば「映像が480インターレース(または525インターレース)でありアスペクト比が16:9よりも大きい(シネマスコープのワイド画面など)である」ことが示される。
コンポーネントタイプが“0xA1”であるときは、例えば「映像が480プログレッシブ(または525プログレッシブ)でありアスペクト比が4:3である」ことが示される。コンポーネントタイプが“0xA3”であるときは、例えば「映像が480プログレッシブ(または525プログレッシブ)でありアスペクト比が16:9であり、パンベクトルがない」ことが示される。コンポーネントタイプが“0xA4”であるときは、例えば「映像が480プログレッシブ(または525プログレッシブ)でありアスペクト比が16:9よりも大きい(シネマスコープのワイド画面など)である」ことが示される。
コンポーネントタイプが“0xB1”であるときは、例えば「映像が1080インターレース(または1125インターレース)でありアスペクト比が4:3である」ことが示される。コンポーネントタイプが“0xB3”であるときは、例えば「映像が1080インターレース(または1125インターレース)でありアスペクト比が16:9であり、パンベクトルがない」ことが示される。コンポーネントタイプが“0xB4”であるときは、例えば「映像が1080インターレース(または1125インターレース)でありアスペクト比が16:9よりも大きい(シネマスコープのワイド画面など)である」ことが示される。
図44は、登録ディスクリプタ(Registration descriptor)(記述子)の内容の一例を説明する図である。
このディスクリプタにおいて、「ディスクリプタ・タグ」フィールドは例えば“0x5”とされ、「ディスクリプタ長」フィールドで記述子長が示される。「ストリームコンテンツ」フィールドには、例えば映像を示す“0x01”が記述される。「フォーマットID」フィールドには、フォーマットの種類、例えばMTRMを示す“0x4d54524d”が記述される。ここで、MTRMはMPEG Transport stream for Recording Mediaの略で、“0x4d54524d”はデジタルビデオ(DVHS)で設定されている値である。「フォーマットバージョン」フィールドには、フォーマットのバージョンとして、例えば“0x10”が記述される。
図45は、短形式イベントディスクリプタの内容の一例を説明する図である。
このディスクリプタにおいて、「ディスクリプタ・タグ」フィールドは例えば“0x4d”とされ、「ディスクリプタ長」フィールドで記述子長が示される。「0x4dISO_639_LANGUAGE_CODE」フィールドには、例えば日本で採用される放送方式“ARIB:jpn”が記述される。また、「event_name length」フィールドには、例えば“番組名長”が記述される。
上記「event_name length」フィールド内では、番組名を示す「event_name char」が番組名長分繰り返されるようになっている。
図46および図47は、図18の装置における全体的なデータ転送動作の一例を説明するフローチャート(APP_NAMEを参照した全体の転送動作フロー)である。
図46のステップST300〜ST312は、前述した図32(全体的な再生動作)のステップST200〜ST212と同様な処理となっている。図46のステップST314では、PMTより、再生するPIDを決定してデコーダ部59に設定し、STC部102をリセットし、デコーダ部59に転送設定を行う。そのあと、セル転送時の処理に入る(ステップST320)。図47のステップST320〜ST346は、前述した図33(全体的な再生動作)のステップST220〜ST246と同様な処理となっている。ただし、図47では、図33のステップST234〜ST239に対応する処理を行っていない。
図32〜図33と図46〜図47を比較すれば分かるように、データを外部へ転送する処理は通常の再生処理とほとんど同じあるが、内容的には次のような違いがある。すなわち、図46〜図47の処理では、セル再生処理内において、TSパケット転送部101は、パケットグループ内のATSを元に転送時間を計算し、その転送時間に合った時間にTSパケットを送出する。また、PCR位置情報よりPCRを読み出し、STC部102の時間調整を行う(ステップST314のSTCリセット)ことで、内部クロック(STC)と外部クロック(PCR)との同期を図っている。これにより、ストリームレコーディングされたデータのセル再生において、ユーザは時間ベースで再生ポイントを指定できるようになる。
再生時のデータ処理(図46〜図47)を別の言い方で簡単に述べると、次のようになる。すなわち、
<01>ディスクチェックし、書き換え型ディスク(R,RW,RAM)かどうかをチェックし(ステップST300)、書き換え型ディスクで無い場合には(ステップST300のノー)、その旨を返して(ステップST302)、終了する。
<02>ディスクのファイルシステムを読み出し、録画されたデータが有るかどうかチェックし、無い場合には、“録画されていません”と表示して(ステップST306)、終了する。
<03>VMGファイルを読み込み(ステップST307)、各ORG_PGC_GIの方式情報を取り出す。再生可能なORG_PGC、UD_PGCを選択し、画面に表示する(ステップST305)(PGC_GIに方式情報がある場合)。再生するプログラム、セルを決定し(ユーザに選ばせ)、再生開始するファイルポインタ(論理アドレス)を決定する(ステップST308)。ここで、記録順の再生選択した場合には、ORG_PGCIに従って再生をおこない、番組毎の再生を行う場合には、再生したい番組に相当する番号のUD_PGCに従って再生を行う。
<04>APP_NAMEの値を読み出し(ステップST309)、対応可能な放送方式かどうかチェックし(ステップST310)、対応可能で無い場合は(ステップST310のノー)、その旨(「対応している方式ではありません」)を表示して(ステップST311)、処理を終了する(もしくは次のセルへ移行する)。
<05>再生開始時の処理を行う(ステップST312)。
<06>各デコーダの初期設定を行う(ステップST314)。
<07>セルの再生処理(後述)を行い、再生終了かどうかをチェックする(ステップST330)。終了の場合には(ステップST330のイエス)、エラーチェックを行い(ステップST340)、エラーの場合には(ステップST340のイエス)、その旨を表示し(ステップST342)、エラーでない場合には(ステップST340のノー)、再生終了処理を行い(ステップST346)、本動作を終了する。
<08>再生終了でないときは(ステップST330のノー)、PGCIより次のセルを決定する(ステップST332)。その際、デコーダの設定が変更されたかどうかをチェックし、変更された場合には、次のシーケンスエンドコードにデコーダの設定が変更されるようにデコーダに変更属性を設定する。
<09>再生が終了したかどうかをチェックし、再生終了しない場合は、ステップST320へ戻る。
図48および図49は、図47に示したセル転送時の処理(ST320)の具体例を説明するフローチャート(論理ブロック単位のADR_OFSとパケット単位を併用したセル転送時の処理フロー)である。
図48のステップST3200〜ST3214は、前述した図34(セル再生時の処理)のステップST2200〜ST2214と同様な処理となっている。また、図49の処理は、ステップST3217〜ST3221とST3231〜ST3235を除き、前述した図35(セル再生時の処理)と同様な処理となっている。
図49のステップST3216〜ST3221は、図18のデコーダ部59で処理される。まず、パケットグループヘッダ161のPCR情報によりPCRの位置を知り、そのPCRを図示しないレジスタ2に読み出す。そしてレジスタ2内のPCRとSTC102のカウント値を比較し、違いがあればSTC部102のカウント値(再生時間に対応)を修正する。次に、パケットグループヘッダ161内のATS151Xを図示しないレジスタ1に読み出す。そしてレジスタ1内のATSとSTC102のカウント値を比較し、両者が一致したら、最初のTSパケットを転送する(ステップST3217)。その後、次のIAPATを読み出してレジスタ1(図示せず)に加算し、その加算結果とSTC部102のカウント値を比較し、両者が一致したら、次のTSパケットを転送する(ステップST3221)。
以上を纏めると、TSパケット送出に関する計算は、次のような方法で行うことができる。すなわち、パケットグループの最初のTSパケットは、ヘッダ内のATSとSTCの値が一致した時に出力する。そして、2番目以降のTSパケットについては、ATSと、このTSパケットの直前のIAPATとを足したものを、STC部102の値と比べ、両者が一致した時に送出する。
以上の処理(ステップST3217〜ST3221)は、図24のパケットグループ140の場合では、85回反復される(ステップST3223のノー)。85個のTSパケット転送が終了すれば(ステップST3223のイエス)、次の処理ステップST3224(図35のステップST2224と同様な処理)に移る。あとは、(図49ではST3231〜ST3233がアングル移動に関する処理であることを除き)図35の処理と同様である。
セル転送時(データを外部へ転送する場合)の処理(図46〜図49)を別の言い方で簡単に述べると、次のようになる。すなわち、データを外部へ転送する場合は、通常の再生処理とほとんど同じあるが、セル再生処理内で、TS転送部は、パケットグループ内のATSを元に、転送時間を計算し、その転送時間に合った時間にTSパケットを送出する。
ここで、その計算方法は、パケットグループの最初のTSパケットはヘッダ内のATSとSTC部102の値が一致した時に出力し、2番目以降は、1つ前のATSとTSパケットの直前のIAPATを足したものとSTC部102の値を比べ、一致した時に送出する。 図50は、図18の装置において、デジタルTV放送番組等の記録済みストリーム情報に対して、タイムサーチがどのように行われるかの他例を説明するフローチャート(タイムサーチ時の処理フロー)である。
<01>まず、ユーザに目的のタイトル、再生開始時間、ストリーム番号(1ストリームの場合は1)を選択させ、決定する(ステップST400)。
<02>ユーザの選択した情報(タイトルなど)により、再生するプログラムチェーンPGC、プログラムPG、セルCELLを決め(ステップST402〜ST404)、それに対応するプログラムチェーン情報PGCI、プログラム情報PGI、セル情報CIなどを含むVMG情報VMGIを管理情報PGCIから読み出す。
<03>セル情報CI内のストリームファイル情報(ESFI)番号より再生するストリームファイル情報ESFIと、ストリームオブジェクト(ESOB)ファイルと、放送方式を決定し、ESOB番号で再生するESOBIを決定する(ステップST406)。
<04>再生時間を各ESOBUの再生時間の累積と比較し、再生時間に一番近く、再生時間より小さい値のESOBエントリの情報を読み出す(ステップST409)。
その際、ESOBU再生時間(フレーム数)をタイムオフセットTM_OFSに累積加算していき、目的の再生時間に一番近く、目的の再生時間より小さい値のESOBUエントリを求める。
<05>次に、ストリームオブジェクト(ESOB)のアドレスオフセットADR_OFSより、目的のESOBエントリまでのESOBUサイズを累積加算し、ESOBUのアドレスを求める(ステップST411)。
<06>続いて、目的のESOBUエントリ情報内のレファレンスピクチャのアドレスと目的のESOBUのアドレスより、再生開始すべきアドレスを求める。
<07>PCR情報よりPCRのアドレスを求る(これはPCR_POS×2^PCR_POS_SHIFTで表される)(ステップST413)ただし、PCR情報がPacket Group Headerにある場合は、Packet Group Headerを読み出す。PCRを読み込み、STCに設定する(ステップST418)。
<08>デコーダ部59にデコード初期設定(放送方式に従ってデコードするように設定)を行い(ステップST420)、表示開始時間を目的の再生時間に設定する。
<09> <06>で求めたアドレスより記録データが読み出されるようにドライブ部51に指示し、データの読み出しを開始する(ステップST422)。
再生を開始するとその後は、通常の再生処理(セル再生処理等)に移行する。
図51は、後述する図52(ディスクの初期化処理)のVMG作成処理(ST1026)で利用されるものであって、図8に示したAPP_NAMEの中身の一例を説明する図である。APP_NAMEは、例えばCounty ID(国を判別するコード:例:電話の国コード01=米国、81=日本…)、Authority ID(放送方式:01=ARIB、02=ATSC、03=DVB)、Packet Format(ストリームのパケット形式:01=MPEG_TS…)、NETWORK種別(ネットワークの種別01=地上波デジタル、02=CS、03=BSデジタル…)、放送方式Version(10=1.0、11=1.1…)で構成することができる。このうち、County ID、Authority ID、Packet Formatは機器でデフォルトで持っている必要があるが、それ以外は受信データ(サービス情報SIなど)より構成することもできる。
ここで、APP_NAMEがストリームオブジェクト(ESOB)毎に違う場合、ストリームオブジェクト(ESOB)毎にESOBIの構成が一部(図9のTS_ID以降)変わることも考えられる。
図52は、図1に示したディスク状情報記憶媒体を初期化する処理を説明するフローチャート(初期化処理フロー)である。この初期化処理に入ると、まず媒体100(RAMディスク等)のフォーマッティングが行なわれ(ステップST1000)、それが済むと、HD対応のSRオブジェクトをファイル管理するために、図示しないファイルシステムにおいてDVD_HDRディレクトリが作成される(ステップST1002)。その後、管理情報(RTR_VMG)が作成される(ステップST1026)。この管理情報は図8のAPP_NAME132512を記録するエリアをもち、このAPP_NAME内に、録画を予定しているデジタル放送方式などを入れる。
以上述べたような種々な実施の形態により、デジタル放送に対応した木目細かい制御動作が実現できるようになる。
<実施の形態に応じたポイント>
<01>PCR_POS_SHIFTによりPCR_POSシフト量を変えて、PCRの位置が遠い場合に備える(図12の(2)に記載された“PCR_POS×2^PCR_POS_SHIFT”または“PCR_POS×2exp(PCR_POS_SHIFT)”)。このPCR_POS_SHIFTは記録レートに応じて可変とする(図28のST1504)。
この指数表示方法をPCR位置表示に用いると、PCR_POS_SHIFTのビット数が少なくても2exp(PCR_POS_SHIFT)の数値を大きくできるので、大きなシフト量を表現できる。
<02>MPEG−TS(トランスポートストリーム)の場合に、AP_PKT_SZを0xbc(188バイト)に設定し、PKT_GRP_SZを8(8パケット分;1パケットが2kバイトなら16kバイト相当)に設定する(図28のST1508;図16のデータ構造参照)。
これにより、デコードするストリーム構成の切り分けが容易になる。
<03>PAT、PMTのうち必要最小限の情報(図51等)を管理情報(VMG)内に持つようにする(図52のST1026)。具体的には、PATのうちTS_IDとNETWORK_PIDとPMT_ID(本ストリームオブジェクト(ESOB)で使用するPMTのID)をVMG内に保存し、PMTのうちSERVICE_ID(PMT内のProgram_number)と各エレメンタリストリーム(ES)のPIDをVMG内に保存し、そのESのうちビデオとオーディオについてだけ更に詳しいストリーム情報(STI)を作成してVMG内に設定する。
これにより、VMG内に最小限の情報があるので、再生を開始する場所にPATおよび/またはPMTが存在しなくても、再生を開始できるようになる。
<04>イベント情報テーブル(図40のEIT)より各グループを構成するPIDを設定してメイングループを管理情報(ストリームファイル情報SFIまたはESFI)内に設定する(図28のST1518)。その際、再生順の情報(プログラムPG)にグループ番号(図29のST1710のComponent_Group_Idなど)を指定可能にしておくとよい。
このSFIがあるので、例えば記録されたコンテンツがマルチビュー情報を含んでいる場合、このマルチビューの再生開始場所にEITが存在しなくても、マルチビューに対応した再生が可能になる。
<05>ストリーム情報STIをビデオとオーディオで分け、VSTIおよびASTIを用意する(図27のST1214、ST1224)。デジタル放送ではビデオおよびオーディオの種類が多くなるのでSTIも増えることが予想される。
1種類のSTIでビデオおよびオーディオの全種類をカバーしようとすると、STIがかなり増える(ビデオの種類とオーディオの種類の組み合わせ数が膨大になる)恐れがあるが、ビデオのSTIとオーディオのSTIを分ければ、VSTIおよびASTIそれぞれの種類だけカバーすればよいので、結果的に少ないSTIで種々なビデオとオーディオの組み合わせに対応できる。
<06>LAST_MNF_ID(図15の編集者ID13327)を管理情報内に設定する(図20のST284)。
例えば最初にT社のレコーダで録画したディスクを後にM社のレコーダで編集(あるいは追加録画)した場合において、編集(あるいは追加録画)がどのメーカのどの機種でなされたのかが、管理情報に記録されたLAST_MNF_IDから分かる。
<07>セル情報(CI)に代表PID/グループIDを保存する(図29のST1710)。
再生時に、保存された代表PID/グループIDの値とサービス情報(SI)を元に再生するストリームのPIDを決定することで、マルチビューに対応した再生が可能になる。
<08>PCR位置のアドレス表現を、論理ブロック精度(LB単位)のADR_OFS132241(図10)とパケット精度(パケット単位)に分ける。そして目標アドレスを、PCR_POSと、これに2の“PCR_POS_SHIFT”乗の値を掛けたもので表す(図12)。
これにより、(アドレス管理に多くのビット数を割かなくても)効率よくアドレス管理できる。
<09>種々なデジタル放送方式の情報(図51)を管理情報(RTR_VMG)内のAPP_NAME132512(図8)に設定する(図52のST1026)。
こうすると、APP_NAMEに設定された方式の記録内容(対応可能なストリーム)だけを再生(図32のST210のイエス)できる。
<実施の形態に応じた発明の別表現>
(A)管理領域とデータ領域で構成され、前記データ領域には、データが1以上のオブジェクトに分かれて記録されており、1つのオブジェクトは、1以上のデータユニットからなり、データユニットは、0.4秒から1秒内に再生されるべき映像及び音声が複数のパケットにパケット化して記録され、前記管理領域には再生順番を管理するPGC情報が含まれ、前記PGC情報にはプログラムを管理する管理情報とCELLを管理する管理情報が含まれており、さらにオブジェクトを管理する管理情報が含まれて存在する記録可能な情報記録媒体において、CELL管理情報(図15のCI1334/参照するID13344)に、再生するストリームの代表するストリームのPID(図29のST1710の代表PID)が含まれていることを特徴とする情報記録媒体。
(B)管理領域とデータ領域で構成され、前記データ領域には、データが1以上のオブジェクトに分かれて記録されており、1つのオブジェクトは、1以上のデータユニットからなり、データユニットは、0.4秒から1秒内に再生されるべき映像及び音声が複数のパケットにパケット化して記録され、前記管理領域には再生順番を管理するPGC情報が含まれ、前記PGC情報にはプログラムを管理する管理情報とCELLを管理する管理情報が含まれており、さらにオブジェクトを管理する管理情報が含まれて存在する記録可能な情報記録媒体において、CELL管理情報(図15のCI1334/参照するID13344)に、再生するストリームのグループのID(図29のST1710のComponent_Group_Id)が含まれていることを特徴とする情報記録媒体。
(C)上記(A)または(B)において、さらに、オブジェクト管理情報に再生の組み合わせを決めるグループ情報(図41)が含まれることを特徴とする情報記録媒体。
(D)管理領域とデータ領域で構成され、前記データ領域には、データが1以上のオブジェクトに分かれて記録されており、1つのオブジェクトは、1以上のデータユニットからなり、データユニットは、0.4秒から1秒内に再生されるべき映像及び音声が複数のパケットにパケット化して記録され、前記管理領域には再生順番を管理するPGC情報が含まれ、前記PGC情報にはプログラムを管理する管理情報とCELLを管理する管理情報が含まれており、さらにオブジェクトを管理する管理情報が含まれて存在する記録可能な情報記録媒体において、データユニットの先頭からPCRのアドレス表す情報の2の指数部分(PCR_POS_SHIFT)の情報を一般情報(図9のESOB_GI132531)に含み、各データユニット情報(図12のESOBU_ENT132262)にPCR位置の値(PCR_POS)情報132234が含まれていることを特徴とする情報記録媒体。
(E)管理領域とデータ領域で構成され、前記データ領域には、データが1以上のオブジェクトに分かれて記録されており、1つのオブジェクトは、1以上のデータユニットからなり、データユニットは、0.4秒から1秒内に再生されるべき映像及び音声が複数のパケットにパケット化して記録され、前記管理領域には再生順番を管理するPGC情報が含まれ、前記PGC情報にはプログラムを管理する管理情報とCELLを管理する管理情報が含まれており、さらにオブジェクトを管理する管理情報が含まれて存在する記録可能な情報記録媒体において、データユニットの先頭からPCRのアドレス表す情報のうち2の指数部分(PCR_POS_SHIFT)の情報を一般情報(図9のESOB_GI132531)に含み、各データユニット(図16のESOBU134)のユニットヘッダ(図16のPacket_Group_Header161)に値(PCRの位置情報)情報155Xが含まれていることを特徴とする情報記録媒体。
(F)管理領域とデータ領域で構成され、前記データ領域には、データが1以上のオブジェクトに分かれて記録されており、1つのオブジェクトは、1以上のデータユニットからなり、データユニットは、0.4秒から1秒内に再生されるべき映像及び音声が複数のパケットにパケット化して記録され、前記管理領域には再生順番を管理するPGC情報が含まれ、前記PGC情報にはプログラムを管理する管理情報とCELLを管理する管理情報が含まれており、さらにオブジェクトを管理する管理情報が含まれて存在する記録可能な情報記録媒体において、
オブジェクト管理情報(図9、図10のESOB_GI)に、データユニット(図1、図2、図16のESOBU)内に含まれるパケットのデータ長(図9のAP_PKT_SZ)13243106およびパケットの数情報(図10のESOB_S_PTK_POS132242/ESOB_E_PTK_POS132243)が含まれていることを特徴とする情報記録媒体。
(G)管理領域とデータ領域で構成され、前記データ領域には、データが1以上のオブジェクトに分かれて記録されており、1つのオブジェクトは、1以上のデータユニットからなり、データユニットは、0.4秒から1秒内に再生されるべき映像及び音声が複数のパケットにパケット化して記録され、前記管理領域には再生順番を管理するPGC情報が含まれ、前記PGC情報にはプログラムを管理する管理情報とCELLを管理する管理情報が含まれており、さらにオブジェクトを管理する管理情報が含まれて存在する記録可能な情報記録媒体において、オブジェクト管理情報(図10のESOB_GI)に放送方式(図51のAuthority ID)に対応した情報(図8のAPP_NAME)が含まれていることを特徴とする情報記録媒体。
(H)上記(G)の媒体を用いる装置において、外部より入力されたデータの方式を調べる方式検出部(図18のメインMPU;図25のST1116)と、前記方式が対応可能かどうかを判定する判定部(図18のメインMPU;図25のST1122)とを備え、対応できない場合(図25のST1122のノー)、その旨を表示させて終了する(図25のST1124)ように構成されたことを特徴とする装置。
(I)上記(G)の媒体を用いる装置において、媒体内のデータの方式を調べる方式検出部(図18のメインMPU;図32のST209または図46のST309)と、前記方式が再生対応可能かどうかを判定する再生可能判定部(図18のメインMPU;図32のST210または図46のST310)とを備え、対応できない場合(図32のST210のノーまたは図46のST310のノー)、その旨を表示させて終了する(図32のST211または図46のST311)ように構成されたことを特徴とする装置。
なお、この発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組み合せてもよい。また、本発明は、コンピュータに所定の手段を実行させるための(あるいはコンピュータを所定の手段として機能させるための、あるいはコンピュータに所定の機能を実現させるための)プログラムを記録したコンピュータ読取り可能な情報記録媒体としても実施することもできる。
100…情報記録媒体(DVD−RAMディスク等);121…AVデータ記録領域;122…VRオブジェクト群記録領域;130…AVデータ管理情報記録領域;131…エクステンド・ストリームオブジェクト群記録領域;132…エクステンド・ストリームオブジェクト(ESOB);134…エクステンド・ストリームオブジェクトユニット(ESOBU);140…パケットグループ;160…DVDトランスポートストリームパケット記録領域;161…パケットグループヘッダ;162…MPEGトランスポートストリーム(MPEG−TS);163…インクリメンタル・アプリケーションパケット到着時間(IAPAT);10…再生情報管理層;11…プログラムチェーン(PGC);12…プログラム(PG);13…セル;20…ストリームオブジェクト管理情報層;21…エクステンド・ストリームオブジェクト情報(ESOBI);22…エクステンド・ストリームオブジェクトユニット情報(あるいはグローバル情報)(ESOBUI);23…ビデオオブジェクト管理情報層;24…ビデオオブジェクト情報(VOBI);25…ビデオオブジェクトユニット・エントリ(VOBUE);30…ストリームオブジェクト(SOB)層;35…ビデオオブジェクト(VOB)層;36…ビデオオブジェクト(VOB);37…ビデオオブジェクトユニット(VOBU);38…パック;51…ディスクドライブ部;59…デコーダ部;74…デジタルインターフェイス(IEEE1394等);79…エンコーダ部;80…メインMPU部(制御部);83…セットトップボックス部(衛星デジタルチューナ);89…地上波デジタルチューナ;100…情報記録媒体;100a…ハードディスクドライブ。