JP3569248B2 - Stream information processing system - Google Patents

Stream information processing system Download PDF

Info

Publication number
JP3569248B2
JP3569248B2 JP2001305753A JP2001305753A JP3569248B2 JP 3569248 B2 JP3569248 B2 JP 3569248B2 JP 2001305753 A JP2001305753 A JP 2001305753A JP 2001305753 A JP2001305753 A JP 2001305753A JP 3569248 B2 JP3569248 B2 JP 3569248B2
Authority
JP
Japan
Prior art keywords
data
stream
information
packet
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2001305753A
Other languages
Japanese (ja)
Other versions
JP2002191026A (en
Inventor
秀夫 安東
和之 宇山
雄司 伊藤
伸一 菊地
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Toshiba Development and Engineering Corp
Original Assignee
Toshiba Corp
Toshiba Digital Media Engineering Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp, Toshiba Digital Media Engineering Corp filed Critical Toshiba Corp
Priority to JP2001305753A priority Critical patent/JP3569248B2/en
Publication of JP2002191026A publication Critical patent/JP2002191026A/en
Application granted granted Critical
Publication of JP3569248B2 publication Critical patent/JP3569248B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
この発明は、デジタル放送などのビットストリーム情報あるいはパケット構造をもって伝送されるストリームデータを生成(エンコード)し、エンコードされたストリームデータを情報媒体に記録し、エンコードされたストリームデータをデコードし、あるいは記録されたストリームデータを部分的に消去(仮消去/本消去)する方法に関する。
【0002】
【従来の技術】
近年、TV放送はデジタル放送の時代に突入してきた。それに伴い、デジタルTV放送のデジタルデータをその内容を問わずデジタルデータのままで保存する装置、いわゆるストリーマが要望されるようになってきた。
【0003】
現在放送されているデジタルTV放送では、MPEGのトランスポートストリームが採用されている。今後も、動画を使用したデジタル放送の分野では、MPEGトランスポートストリームが標準的に用いられると考えられる。
【0004】
このデジタル放送データを記録するストリーマとして、現在市販されているものとしては、D−VHS(デジタルVHS)などの家庭用デジタルVCRがある。このD−VHSを利用したストリーマでは、放送されたビットストリームがそのままテープに記録される。そのため、ビデオテープには、複数の番組が多重されて記録されることになる。
【0005】
再生時には、最初から再生する場合、あるいは途中から再生する場合にも、そのまま全てのデータが、VCRからセットトップボックス(デジタルTVの受信装置:以下STBと略記する)に送り出される。このSTBにおいて、ユーザ操作等により、送り出されたデータ内から所望の番組が選択される。選択された番組情報は、STBからデジタルTV受像機等に転送されて、再生(ビデオ+オーディオ等の再生)がなされる。
【0006】
このD−VHSストリーマでは、記録媒体にテープが用いられるため、素早いランダムアクセスが実現できず、所望の番組の希望位置に素早くジャンプして再生することが困難となる。
【0007】
このようなテープの欠点(ランダムアクセスの困難性)を解消できる有力な候補として、DVD−RAMなどの大容量ディスクメディアを利用したストリーマが考えられる。その場合、ランダムアクセスおよび特殊再生などを考えると、必然的に、管理データを放送データとともに記録する必要性が出てくる。
【0008】
【発明が解決しようとする課題】
一般に、情報記憶媒体としてDVD−RAMディスクを用いた場合には16セクタ毎にECCブロックを構成し、そのECCブロック内ではデータのインターリーブ(並び替え)とエラー訂正用コードが付加されている。そのため、ECCブロック内の特定のセクタのみを消去しあるいは書き換え、さらに追記するためには、次のような複雑な処理が必要になる。
【0009】
すなわち、一旦ECCブロック内の全データを読み取り(リード)、バッファメモリ内で再び並べ替え(デインターリーブ)を行った後、特定セクタ分のデータを消去しあるいは書き換え、そこに追記を行い(モディファイ)、再度インターリーブ(並び替え)とエラー訂正用コードを付加して記録する「リード・モディファイ・ライト」と言う処理が必要となる。
【0010】
この処理は非常に時間が掛かる処理であり、ストリームデータの記録や部分消去がリアルタイムで行えないと言う問題がある。
【0011】
この発明は上記事情に鑑みなされたもので、その目的は、ストリーム情報記録の処理に関する改善を図ることである。
【0012】
【課題を解決するための手段】
上記目的を達成するために、この発明の実施の形態では、ストリームデータを記録するデータエリアおよびこのストリームデータの管理情報を記録する管理エリアを持つ光ディスクにおいて、トランスポートパケットあるいはアプリケーションパケットというデータパケットを第1データ単位として表現し、ストリームブロックあるいはストリームオブジェクトユニットというデータ単位を第2データ単位として表現し、ストリームオブジェクトというオブジェクトデータを第3データ単位として表現したときに、1以上の前記第1データ単位を含む前記第2データ単位を1以上含んで構成される前記第3データ単位の前記ストリームオブジェクトにより、前記データエリアに記録される前記ストリームデータが形成される。また、前記第2データ単位はヘッダ情報を含み、このヘッダ情報が、前記第1データ単位の時間に関する情報を含むようになっている。この時間に関する情報を含むヘッダ情報が、前記管理エリアとは異なる前記データエリアに記録される。
【0013】
【発明の実施の形態】
以下、図面を参照して、この発明の一実施の形態に係るストリームデータの生成方法、その記録方法、および記録されたストリームデータの部分消去処理方法その他を説明する。
【0014】
図1は、この発明の一実施の形態に係るストリームデータのデータ構造を説明する図である。
【0015】
DVD−RAMディスク等の情報記憶媒体上に記録されるストリームデータは、ストリームデータ内の映像情報のコンテンツ毎にストリームオブジェクト(以下、適宜SOBと略記する)としてまとめられている。各SOBは、1つのリアルタイムな連続記録により得られたストリームデータにより形成される。
【0016】
図1(f)は、1以上あるストリームオブジェクトのうち1個のSOB#A・298について示している。DVD−RAMディスクにこのストリームデータが記録される場合には、各々が2048kバイトのセクタを最小単位として記録される。さらに、16個のセクタをまとめて1個のECCブロックとし、同一ECCブロック内でインターリーブ(データ配列順序の並び替え)とエラー訂正用の訂正コードの付加が行われる。
【0017】
この実施の形態では、1個または複数のECCブロックを単位としてストリームブロックが構成され、このストリームブロック単位でストリーム情報の記録あるいは部分消去が行われる。ここにこの発明の特徴がある。
【0018】
この実施の形態では、何個のECCブロックでストリームブロックが構成されるかは、転送されるストリームデータの転送レートに応じて決めることができる。たとえば、図1(e)の例では、ストリームブロック#1は2つのECCブロック#α、#βで構成され、ストリームブロック#2は3つのECCブロック#γ、#δ、#εで構成されている。DVDストリーマでは、2個のECCブロック(32セクタ)で1つのストリームブロック(ストリームオブジェクトユニットSOBU)が構成される。
【0019】
各ECCブロックは、図1(d)に示すように、16セクタで構成される。したがって、図1(d)(e)から分かるように、2ECCブロックで構成されるストリームブロック(あるいはSOBU)#1は、32セクタ(セクタNo.0〜セクタNo.31)に相当する。
【0020】
つまり、1セクタ=2kバイトとすれば、ストリームブロック(SOBU)は、64kバイト(32セクタ)の固定サイズとして、この発明を実施することができる。
【0021】
各セクタの内容はストリームパック(詳細は図9等を参照して後述)に対応している。そして、たとえばセクタNo.0(図1(d))に対応するストリームパックは、図1(c)に示すように、パックヘッダ1と、PESヘッダ6と、ストリームブロックヘッダ(図11を参照して後述)11と、データエリア21とを含んでいる。また、セクタNo.1(図(d))に対応するストリームパックは、図1(c)に示すように、パックヘッダ2と、PESヘッダ7と、セクタデータヘッダ(図12を参照して後述)12と、データエリア22とを含んでいる。
【0022】
なお、図1(c)のPESヘッダ6、7の内部構成例は、図10を参照して後述する。
【0023】
図1(c)のデータエリア21は、図1(b)に示すように、タイムスタンプとトランスポートパケットとのペアの配列(タイムスタンプa、トランスポートパケットa、タイムスタンプb、………トランスポートパケットd)を含んでいる。同様に、データエリア22は、タイムスタンプとトランスポートパケットとのペアの別配列を含んでいる。一方、後方のデータエリア23は、図1(b)に示すように、トランスポートパケットf、エンドコード31、およびパディングエリア36を含んでいる。
【0024】
図1(b)のタイムスタンプとトランスポートパケットの複数ペアは、図1(a)に示すような配列のビットストリームとなる。
【0025】
SOB#A・298(図1(f))の前方のストリームブロック#1(図1(e))のデータ構造は図1(d)〜(b)のようになるが、SOB#A・298の後方のストリームブロック#2(図1(g))のデータ構造は、次のようになる。
【0026】
すなわち、ストリームブロック#2の末尾ECCブロック#εの後方セクタNo.78(図1(h))は、図1(i)に示すように、パックヘッダ3と、PESヘッダ8と、セクタデータヘッダ13と、データエリア24とを含んでいる。また、ECCブロック#εの最終セクタNo.79(図1(h))は、図1(i)に示すように、パックヘッダ4とパディングパケット40を含んでいる。
【0027】
セクタNo.78のデータエリア24は、図1(j)に示すように、トランスポートパケットzと、エンドコード32と、パディングエリア37とを含んでいる。また、最終セクタNo.79のパディングパケット40は、図1(j)に示すように、PESヘッダ9とパディングエリア38を含んでいる。
【0028】
なお、パディングエリア38の内容については、図26を参照して後述する。
【0029】
図2は、この発明の一実施の形態に係るデータファイルのディレクトリ構造を説明する図である。
【0030】
DVDーRAMディスク等の情報記憶媒体に記録される情報は、各情報毎に階層ファイル構造を持っている。この実施の形態において説明される映像情報とストリームデータ情報は、DVD_RTRディレクトリ(またはDVD_RTAV)102と言う名のサブディレクトリ101内に入っている。
【0031】
DVD_RTR(DVD_RTAV)ディレクトリ102内には、以下の内容のデータファイル103が格納される。
【0032】
すなわち、管理情報(ナビゲーションデータ)のグループとして、RTR.IFO(またはVR_MANGR.IFO)104と、STREAM.IFO(SR_MANGR.IFO/SR_MANGR.BUP)105と、SR_PRIVT.DAT/SR_PRIVT.BUP105aとが格納される。
【0033】
また、データ本体(コンテンツ情報)として、STREAM.VRO(またはSR_TRANS.SRO)106と、RTR_MOV.VRO(VR_MOVIE.VRO)107と、RTR_STO.VRO(またはVR_STILL.VRO)108と、RTR_STA.VRO(またはVR_AUDIO.VRO)109とが格納される。
【0034】
上記データファイル103を含むサブディレクトリ101の上位階層にあるルートディレクトリ100には、その他の情報を格納するサブディレクトリ110を設けることができる。
【0035】
このサブディレクトリの内容としては、ビデオプログラムを収めたビデオタイトルセットVIDEO_TS111、オーディオプログラムを収めたオーディオタイトルセットAUDIO_TS112、コンピュータデータ保存用のサブディレクトリ113等がある。
【0036】
有線または無線のデータ通信経路上をパケット構造の形で伝送されたデータに対して、パケット構造を保持したまま情報記憶媒体に記録したデータを、「ストリームデータ」と呼ぶ。
【0037】
そのストリームデータそのものはSTREAM.VRO(またはSR_TRANS.SRO)106と言うファイル名でまとめて記録される。そのストリームデータに対する管理情報が記録されているファイルが、STREAM.IFO(またはSR_MANGR.IFOとそのバックアップファイルSR_MANGR.BUP)105である。
【0038】
また、VCR(VTR)あるいは従来TVなどで扱われるアナログ映像情報をMPEG2規格に基づきデジタル圧縮して記録されたファイルが、RTR_MOV.VRO(またはVR_MOVIE.VRO)107であり、アフターレコーディング音声あるいはバックグランド音声等を含む静止画像情報を集めたファイルがRTR_STO.VRO(またはVR_STILL.VRO)108であり、そのアフレコ音声情報ファイルがRTR_STA.VRO(またはVR_AUDIO.VRO)109である。
【0039】
図3は、この発明の一実施の形態に係る情報媒体、たとえばDVDーRAMディスク等の録再可能光ディスク201上の記録データ構造を説明する図である。
【0040】
図3(a)の情報記憶媒体201の内周方向202の端部と外周方向203の端部とで挟まれた領域には、図3(b)に示すように、リードインエリア204と、ファイルシステム情報が記録されているボリューム&ファイル構造情報206と、データエリア207と、リードアウトエリア205が存在する。リードインエリア204はエンボスおよび書替可能データゾーンで構成され、リードアウトエリア205は書替可能データゾーンで構成されている。データエリア207も書替可能データゾーンで構成されている。
【0041】
データエリア207内は、図3(c)に示すように、コンピュータデータとオーディオ&ビデオデータとが混在記録可能となっている。この例では、コンピュータデータエリア208およびコンピュータデータエリア209の間に、オーディオ&ビデオデータエリア210が、挟まれる形態となっている。
【0042】
オーディオ&ビデオデータエリア210内は、図3(d)に示すように、リアルタイムビデオ記録エリア221およびストリーム記録エリア222の混在記録が可能となっている。(リアルタイムビデオ記録エリア221あるいはストリーム記録エリア222の一方だけを使用することも可能である。)
図3(e)に示すように、リアルタイムビデオ記録エリア221には、図2に示された、RTRのナビゲーションデータRTR.IFO(VR_MANGR.IFO)104と、ムービーリアルタイムビデオオブジェクトRTR_MOV.VRO(VR_MOVIE.VRO)107と、スチルピクチャリアルタイムビデオオブジェクトRTR_STO.VRO(VR_STILL.VRO)108と、アフターレコーディング等のオーディオオブジェクトRTR_STA.VRO(VR_AUDIO.VRO)109とが記録される。
【0043】
同じく図3(e)に示すように、ストリーム記録エリア222には、図2に示された、ストリーマのナビゲーションデータSTREAM.IFO(SR_MANGR.IFO/SR_MANGR.BUP)105と、トランスポートビットストリームデータSTREAM.VRO(SR_TRANS.VRO)106とが記録される。
【0044】
なお、図3(d)(e)では図示しないが、ストリーム記録エリア222には、図2に示したアプリケーション固有のナビゲーションデータSR_PRIVT,DAT/SR_PRIVT.BUP105aを記録することもできる。
【0045】
このSR_PRIVT,DAT105aは、ストリーマに接続(供給)された個々のアプリケーションに固有のナビゲーションデータであり、ストリーマにより認識される必要のないデータである。
【0046】
ストリームデータに関する管理情報であるSTREAM.IFO(またはSR_MANGR.IFO)105は、図3(f)〜(i)に示すようなデータ構造を有している。
【0047】
すなわち、図3(f)に示すように、STREAM.IFO(またはSR_MANGR.IFO)105は、ビデオマネージャ(VMGIまたはSTR_VMGI)231と、ストリームファイル情報テーブル(SFIT)232と、オリジナルPGC情報(ORG_PGCI)233と、ユーザ定義PGC情報テーブル(UD_PGCIT)234と、テキストデータマネージャ(TXTDT_MG)235と、製造者情報テーブル(MNFIT)またはアプリケーション固有のナビゲーションデータSR_PRIVT.DAT105aを管理するアプリケーションプライベートデータマネージャ(APDT_MG)236とで構成されている。
【0048】
図3(f)のストリームファイル情報テーブル(SFIT)232は、図3(g)に示すように、ストリームファイル情報テーブル情報(SFITI)241と、1以上のストリームオブジェクト情報(SOBI)#A・242、#B・243、………と、オリジナルPGC情報一般情報271と、1以上のオリジナルセル情報#1・272、#2・273………とを含むことができるようになっている。
【0049】
図3(f)の各ストリームオブジェクト情報(たとえばSOBI#A・242)は、図3(h)に示すように、ストリームオブジェクト一般情報(SOBI_GI)251、タイムマップ情報252、その他を含むことができる。
【0050】
また、図3(f)の各オリジナルセル情報(たとえば#1・272;後述するが図28で示されるSCIに対応)は、図3(h)に示すように、セルタイプ281(後述するが図28で示されるC_TYに対応)と、セルID282と、該当セル開始時間(後述する図15(l)、図28その他で示されるSC_S_APATに対応)283と、該当セル終了時間(後述する図15(l)、図28その他で示されるSC_E_APATに対応)284とを含むことができる。
【0051】
なお、図3(f)の情報内容については、図27を参照して後述する。
【0052】
図3(g)のSOBI#Aに含まれる図3(h)のタイムマップ情報252は、図3(i)に示すように、ストリームブロック番号261、第1ストリームブロックサイズ262、第1ストリームブロック時間差263、第2ストリームブロックサイズ264、第2ストリームブロック時間差265、………を含むことができる。タイムマップ情報252を構成する各ストリームブロック時間差の内容については、図5を参照して後述する。
【0053】
図4は、この発明におけるストリームオブジェクト(SOB)、セル、プログラムチェーン(PGC)等の間の関係を説明する図である。以下、図4の例示を用いてこの発明におけるSOBとPGCの関係について説明する。
【0054】
ストリームデータ(STREAM.VROまたはSR_TRANS.SRO)106内に記録されたストリームデータは、1個以上のECCブロックの集まりとしてストリームブロックを構成し、このストリームブロック単位で記録、部分消去処理がなされる。このストリームデータは、記録する情報の内容毎(たとえばデジタル放送での番組毎)にストリームオブジェクトと言うまとまりを作る。
【0055】
このSTREAM.VRO(SR_TRANS.SRO)106内に記録されたストリームオブジェクト(SOB#A、SOB#B)毎の管理情報(オリジナルPGC情報233、ユーザ定義PGC情報テーブル234等)は、ナビゲーションデータSTREAM.IFO(SR_MANGR.IFO)105(図4の最下部および図3(e)(f)参照)内に記録されている。
【0056】
図4の各ストリームオブジェクト#A・298、#B・299毎の管理情報(STREAM.IFO105)は、図3(f)(g)に示すように、ストリームファイル情報テーブル(SFIT)232内のストリームオブジェクト情報(SOBI)#A・242、#B・243として記録されている。
【0057】
ストリームオブジェクト情報(SOBI)#A・242、(SOBI)#B・243それぞれの内部は、主にストリームブロック毎のデータサイズおよび時間情報等が記載されているタイムマップ情報252を含んでいる。
【0058】
ストリームデータの再生時には、1個以上のセルの連続で構成されるプログラムチェーン(PGC)の情報(後述する図28のPGCI#iに対応)が利用される。このPGCを構成するセルの設定順にしたがって、ストリームデータを再生することができる。
【0059】
PGCには、STREAM.VRO(SR_TRANS.SRO)106に記録された全ストリームデータを連続して再生することのできるオリジナルPGC290(図3(f)ではORG_PGCI・233)と、ユーザが再生したいと希望する場所と順番を任意に設定できるユーザ定義PGC#a・293、#b・296(図3(f)ではUD_PGCIT・234の中身に対応)の2種類が存在する。
【0060】
オリジナルPGC290を構成するオリジナルセル#1・291、#2・292は、基本的にストリームオブジェクト#A・298、#B・299と一対一に対応して存在する。
【0061】
それに対して、ユーザ定義PGCを構成するユーザ定義セル#11・294、#12・295、#31・297は、1個のストリームオブジェクト#A・298または#B・299の範囲内では任意の位置を設定することができる。
【0062】
なお、各ストリームブロックのセクタサイズは種々に設定可能であるが、好ましい実施の形態としては、図4のストリームブロック#1のように、2ECCブロック(32セクタ)で一定サイズ(64kバイト)のストリームオブジェクトユニット(SOBU)を、ストリームブロックとして採用するとよい。
【0063】
このようにストリームブロックを一定サイズ(たとえば2ECCブロック=32セクタ=64kバイト)のSOBUに固定すれば、次の利点が得られる:
(01)SOBU単位でストリームデータの消去あるいは書替を行っても、そのSOBUのECCブロックが、消去あるいは書替対象以外のSOBUのECCブロックに影響しない。そのため、消去あるいは書替に伴う(消去あるいは書替の対象でないSOBUに対する)ECCのデインターリーブ/インターリーブのやり直しが、生じない;
(02)任意のSOBU内部の記録情報に対するアクセス位置を、セクタ数(あるいはセクタ数に対応した他のパラメータ;たとえば後述する図9のストリームパックおよびその内部のアプリケーションパケット群の情報)で特定できる。たとえば、あるSOBU#kの中間位置にアクセスする場合は、SOBU#kー1とSOBU#kとの境界から16セクタ目(あるいは16セクタ目に対応するアプリケーションパケットの位置)を指定すればよい。
【0064】
図5は、タイムマップ情報におけるストリームブロックサイズ、ストリームブロック時間差の内容を説明する図である。以下、図5を用いてタイムマップ情報252内の各データの内容について説明する。
【0065】
図5(f)(g)(h)に例示するように、ストリームオブジェクト(SOB)#A・298は2つのストリームブロック#1、#2で構成されている。
【0066】
図5(f)(h)の例では、SOB#A・298を構成するストリームブロック#1のデータサイズは2ECCブロック(#α、#β)で構成され、32セクタ分(図5(e)(i))のサイズを持っている。すなわち、タイムマップ情報252(図5(a)(k))内の第1ストリームブロックサイズ262(図5(j))は、32セクタ(64kバイト)となる。
【0067】
SOB#A・298(図5(g))の先頭にあるストリームブロック#1(図5(f))はその先頭にセクタNo.0(図5(e))を持ち、セクタNo.0に含まれるデータエリア21(図5(d))の先頭にはタイムスタンプaが記録されている。
【0068】
また、SOB#A・298(図5(g))の後続ストリームブロック#2(図5(f))はその先頭にセクタNo.32(図5(e))を持ち、セクタNo.32に含まれるデータエリア311(図5(d))の先頭にはタイムスタンプpが記録されている。
【0069】
図5(c)に示すように、ストリームブロック#1の最初のストリームデータのタイムスタンプ値はタイムスタンプaであり、次のストリームブロック#2の最初のストリームデータのタイムスタンプ値はタイムスタンプpとなっている。
【0070】
図5(b)(図3(i)のストリームブロック時間差263に対応)の第1ストリームブロック時間差263の値は、上記タイムスタンプpとタイムスタンプaとの差分値([タイムスタンプp]−[タイムスタンプa])で与えられる。
【0071】
なお、図5(a)のタイムマップ情報252は、図29を参照して後述するストリームオブジェクト情報SOBI内のアクセスデータユニットAUDも含むものとして、取り扱うことができる。このAUDに含まれる情報(アクセスユニット開始マップAUSM等)により、アクセスしたい情報を含むSOBUを特定できる。
【0072】
図6は、オリジナルセルおよびユーザ定義セルにおけるセルの範囲指定方法を説明する図である。
【0073】
それぞれのセルの範囲指定は、開始時刻と終了時刻の時間指定により行なうことができる。
【0074】
具体的には、図15以降を参照して後述する部分消去の実行前(ストリームデータの録画直後)のオリジナルセルにおける該当セルの開始時間283および該当セルの終了時間284(図6(b))の時間として、該当するストリームオブジェクト#A・298(図6(f))内の最初のタイムスタンプaの値および最後のタイムスタンプz(図6(c))の値が使用される。
【0075】
それに対して、ユーザ定義セル#12・295(図6(k))での時間範囲指定は、任意時刻を指定できる。たとえば、図6(i)(j)に示すように指定されたトランスポートパケットd、nに対応したタイムスタンプd、nの値を、該当セルの開始時間331と該当セルの終了時間332の値として設定することができる。
【0076】
図6(f)は、ストリームオブジェクト(SOB)#A・298は2つのストリームブロック#1および#2で構成されている場合を例示している。
【0077】
図6(e)(g)の例では、ストリームブロック#1は32セクタ(セクタNo.0〜No.31)で構成され、ストリームブロック#2は48セクタ(セクタNo.32〜No.79)で構成されている。
【0078】
ストリームブロック#1の先頭セクタNo.0は、図6(e)(d)に示すように、パックヘッダ1、PESヘッダ6、ストリームブロックヘッダ11、データエリア21等で構成されている。
【0079】
また、ストリームブロック#2の後方セクタNo.78は、図6(e)(d)に示すように、パックヘッダ3、PESヘッダ8、セクタデータヘッダ13、データエリア24等で構成されている。
【0080】
さらに、図6(g)のセクタNo.1には図6(h)に示すようにパックヘッダ2、セクタデータヘッダ12、データエリア22その他が記録され、図6(g)のセクタNo.33には図6(h)に示すようにセクタデータヘッダ321、データエリア312その他が記録されている。
【0081】
図6(d)(h)のデータエリア21には、図6(c)(i)に示すように、タイムスタンプaとトランスポートパケットaとのペアないしタイムスタンプdとトランスポートパケットdとのペアが記録されている。
【0082】
また、図6(d)のデータエリア24の領域には、複数のタイムスタンプおよびトランスポートパケットのペアと、最後のタイムスタンプz+トランスポートパケットzのペアの後に続くエンドコード32と、パディングエリア37(図1(j)のパディングエリア37に対応)が記録されている。
【0083】
また、図6(h)のデータエリア22には、図6(i)に示すように、データエリア21のトランスポートパケットdの後続内容を含むトランスポートパケットdが含まれている。つまり、この例では、トランスポートパケットdの内容が、データエリア21とデータエリア22とで分断されて記録されている。
【0084】
図6(i)のトランスポートパケットdの前半部分(データエリア21側)は、後述する図8(f)の末尾側部分パケットに対応し、図6(i)のトランスポートパケットdの後半部分(データエリア22側)は、後述する図8(g)の先頭側部分パケットに対応している。
【0085】
さらに、図6(h)のデータエリア312には、図6(i)に示すように、タイムスタンプnとトランスポートパケットnとのペアおよびその他の同様なペアが記録されている。
【0086】
ここで、ユーザ等が再生開始時間を指定した箇所に該当するセルの開始時間331(図6(j))は、データエリア21および22に分断された2つのトランスポートパケットd全体に対するタイムスタンプd(図6(i))により指定される。
【0087】
トランスポートパケットをアプリケーションパケットと読み替え、アプリケーションパケット到着時間をAPATとした場合に、上記セル開始時間331は、セル開始APATとして表現できる。
【0088】
また、ユーザ等が再生終了時間を指定した箇所に該当するセルの終了時間332(図6(j))は、データエリア312のトランスポートパケットnに対するタイムスタンプn(図6(i))により指定される。このセル終了時間332は、セル終了APATとして表現できる。
【0089】
以上のセル開始時間(セル開始APAT)331およびセル終了時間(セル終了APAT)332は、図6(k)に示すように、ユーザ定義セル情報#12・295内部に記録される。
【0090】
このユーザ定義セル情報#12・295は、図3(f)または図4下段に示すユーザ定義PGC情報テーブル234内に記録することができる。
【0091】
以上はユーザ定義セル情報(ユーザ定義PGCの情報)に関するセル開始/終了時間情報についてであるが、オリジナルセル情報(オリジナルセルの情報)に関するセル開始/終了時間情報については、次のような例示ができる。
【0092】
すなわち、図6(c)の先頭側タイムスタンプaにより図6(b)の該当セルの開始時間283を示すことができ、末尾側タイムスタンプzにより該当セルの終了時間284を示すことができる。
【0093】
図6(b)の該当セルの開始時間283は、セル開始APAT(後述するストリームセル開始APAT(SC_S_APAT)または消去開始APAT(ERA_S_APAT)も含む)に対応させることができる。
【0094】
また、図6(b)の該当セルの終了時間284は、セル終了APAT(後述するストリームセル終了APAT(SC_E_APAT)または消去終了APAT(ERA_E_APAT)も含む)に対応させることができる。
【0095】
以上のセル開始時間(セル開始APAT)283およびセル終了時間(セル終了APAT)284は、図6(a)に示すように、オリジナルセル情報#1・272内部に記録される。
【0096】
このオリジナルセル情報#1・272は、図3(f)または図4下段に示すオリジナルPGC情報233内に記録することができる。
【0097】
なお、上記セル開始APATおよびセル終了APATについては、後述する図18〜図21、図30〜図33の説明において具体例を示す。
【0098】
図7は、この発明の一実施の形態に係るストリームデータ記録再生装置(ストリーマ)の構成を説明する図である。
【0099】
以下、図7を用いて、この発明の好ましい実施形態としてのストリームデータ記録再生装置(ストリーマ)の内部構造の説明を行う。
【0100】
この実施の形態におけるストリームデータ記録再生装置は、エンコーダ部401、デコーダ部402、STB部403、主MPU部404、V(ビデオ)ミキシング部405、フレームメモリ部406、キー入力部407、表示部408、DVD−RAMディスク201に対して情報記録あるいは情報再生を行なうディスクドライブ部409、データプロセサ(D−PRO)部410、一時記憶部411、A/V(オーディオ・ビデオ)入力部412、TVチューナ部413を備えている。
【0101】
このストリームデータ記録再生装置はさらに、STB部403に接続された衛星アンテナ421、システムタイムカウンタ(STC)部424、Vミキシング部405からパーソナルコンピュータ(PC)435へデジタルビデオ信号を送るインターフェイス(I/F)434、アナログTV437用D/A変換部436を備えている。
【0102】
ここで、Vミキシング部405は、デコード部402のV−PRO部438からのデジタルビデオ信号と、STB部403からのデジタルビデオ信号423とを、適宜ミキシングする機能を持っている。このミキシング機能により、たとえばTV437の表示画面の左側にSTB部403からの放送画像を表示し、TV437の表示画面の右側にディスク201から再生した画像を表示することができる。
【0103】
あるいは、STB部403からの放送画像とディスク201からの再生画像とを、PC435のモニタ画面において、オーバーラッピングウインドウに重ねて表示することもできる。
【0104】
以上の構成において、エンコーダ部401内は、ビデオおよびオーディオ用のA/D変換部414、A/D変換部414からのデジタルビデオ信号またはSTB分03からのデジタルビデオ信号423を選択してビデオエンコード部416に送るセレクタ415、セレクタ415からのビデオ信号をエンコードするビデオエンコード部416、A/D変換部414からのオーディオ信号をエンコードするオーディオエンコード部417、TVチューナ部413からのクローズドキャプション(cc)信号あるいは文字放送信号等を副映像(SP)にエンコードするSPエンコード部418、フォーマッタ部419、バッファメモリ部420より構成される。
【0105】
一方、デコード部402内は、メモリ426を内蔵する分離部425、縮小画像(サムネールピクチャ)生成部439を内蔵するビデオデコード部428、SPデコード部429、オーディオデコード部430、TSパケット転送部427、ビデオプロセサ(V−PRO)部438、オーディオ用D/A変換部432より構成されている。
【0106】
デコード部430でデコードされたデジタルオーディオ信号は、インターフェイス(I/F)431を介して外部出力可能となっている。また、このデジタルオーディオ信号をD/A変換部432でアナログ化したアナログオーディオ信号により、外部のオーディオアンプ(図示せず)を介してスピーカ433が駆動されるようになっている。
【0107】
なお、D/A変換部432は、オーディオデコード部430からのデジタルオーディオ信号のみならず、STB部403からのデジタルオーディオ信号422のD/A変換もできるように構成される。
【0108】
なお、ディスク201からの再生データをSTB部403に転送する場合は、TSパケット転送部427において分離部425からの再生データ(ビットストリーム)をトランスポートパケット(TSパケット)に変更し、STC424からの時間情報に転送時間を合わせて、TSパケットをSTB部403に送ればよい。
【0109】
図7の主MPU部404は、作業用メモリとしてのワークRAM404aと、ストリームデータ作成制御部404bという名の制御プログラムと、ストリームデータ再生制御部404cという名の制御プログラムと、ストリームデータの部分消去/仮消去制御部404dという名の制御プログラム等を含んでいる。
【0110】
ここで、ファイルの管理領域(図2あるいは図3(e)のナビゲーションRTR.IFO104、STREAM.IFO105)などを読み書きするために、主MPU部404は、D−PRO部410に、専用のマイクロコンピュータバスを介して接続されている。
【0111】
ストリームデータ記録再生装置における録画時の制御は、上記制御プログラム(シーケンシャルな制御プログラム)を用い主MPU部404により行われる。
【0112】
まず、図7の装置における録画時のビデオ信号の流れについて説明をする。録画時には、主MPU部404内のストリームデータ作成制御部404bという名のシーケンシャルプログラムにしたがって、一連の処理が行われる。
【0113】
すなわち、IEEE1394規格に準拠した伝送経路経由してSTB部403からエンコード部401へ送出されたストリームデータは、まずフォーマッタ部419に転送される。
【0114】
フォーマッタ部419のIEEE1394受信側は、STC424のタイムカウント値に基づいて、ストリームデータ転送開始からの時間を読み込む。読み込んだ時間情報は、管理情報として主MPU部404へ送られ、ワークRAM部404aに保存される。
【0115】
主MPU部404は、上記時間情報に基づいて、ストリームデータをストリームブロック毎(リアルタイムRTRレコーダではVOBU毎、ストリーマではSOBU毎)に切り分ける区切れ情報を作成するとともに、この区切れ情報に対応したセルの切り分け情報およびプログラムの切り分け情報、さらにはPGCの切り分け情報を作成し、主MPU部404内のワークRAM部404aに逐次記録する。
【0116】
フォーマッタ部419は、主MPU部404のストリームデータ作成制御部404bからの指示にしたがって、図1(a)の形でSTB部403から送られてきたストリームデータを図1(c)(i)の形(後述する図8(h)のストリームパックの列)に変換し、変換されたストリームパック列をD−PRO部410へ入力する。入力されたストリームパックはセクタと同じ2048バイトの一定サイズを持っている。D−PRO部410は、入力されたストリームパックを16セクタ毎にまとめてECCブロックにして、ディスクドライブ部409へ送る。
【0117】
ここで、ディスクドライブ部409においてRAMディスク(情報記憶媒体)201への記録準備ができていない場合には、D−PRO部410は、記録データを一時記憶部411に転送して一時保存し、ディスクドライブ部409においてデータ記録準備ができるまで待つ。
【0118】
ディスクドライブ部409において記録準備ができた段階で、D−PRO部410は一時記憶部411に保存されたデータをディスクドライブ部409に転送する。これにより、ディスク201への記録が開始される。一時記憶部411に保存されたデータの記録が済むと、その続きのデータはフォーマッタ部419からD−PRO部410へシームレスに転送されるようになっている。
【0119】
ここで、一時記憶部411は、高速アクセス可能で数分以上の記録データを保持できるようにするため、大容量メモリを想定している。
【0120】
次に、再生時のデータ処理について説明する。ストリームデータ記録再生装置における再生時の制御は、ストリームデータ再生制御部404cという名のシーケンシャルプログラムにしたがい、主MPU部404によって、一連の処理が行われる。
【0121】
まず、ディスクドライブ部409により、RAMディスク(情報記憶媒体)201からストリームデータが再生される。再生されたストリームデータは、D−PRO部409を経由してデコーダ部402に転送される。
【0122】
デコーダ部402内部では、再生されたストリームデータ中のトランスポートパケットを分離部425が受け取る。
【0123】
分離部425は、図10を参照して後述するストリームID603およびサブストリームIDに従って、ビデオパケットデータ(MPEGビデオデータ)はビデオデコード部428へ転送し、オーディオパケットデータはオーディオデコード部430へ転送し、副映像パケットデータはSPデコード部429へ転送する。
【0124】
ビデオデコード部428でデコードされたビデオデータは、Vミキシング部405およびD/A変換部436を介してアナログTV信号に変換され、TV437に転送されて画像表示される。
【0125】
同時に、オーディオデコード部430でデコードされたオーディオ信号もD/A変換部432へ送られ、デジタル音声データに変換される。変換されたデジタル音声データは、I/F431を介して外部オーディオ機器(図示せず)のデジタル入力に転送される。あるいは、変換されたデジタル音声データは、D/A変換部432によりアナログ音声信号に変換され、図示しないオーディオアンプを介して、スピーカ433に送られる。
【0126】
以上この発明の実施の形態におけるストリームデータ記録再生装置(ストリーマ)内での信号の流れを説明した。
【0127】
以上説明したように、DVD−RAMディスク(情報記憶媒体)201へ記録するストリームデータは、フォーマッタ部419内で図1(c)(i)の構造に変換される。この変換プロセスを中心にしたストリームデータ録画手順は、図13のフローチャートを参照して後述する。
【0128】
また、ストリームデータの再生手順については、図14のフローチャートを参照して後述する。
【0129】
図8は、デジタル放送のコンテンツとIEEE1394における映像データ転送形態とストリーマにおけるストリームパックとの対応関係を説明する図である。
【0130】
デジタル放送では、MPEG2規格に従って圧縮された映像情報がトランスポートパケットに乗って転送されてくる。このトランスポートパケット内は、図8(b)に示すように、トランスポートパケットヘッダ511と、記録情報のデータ本体が記録されているペイロード512とで構成されている。
【0131】
トランスポートパケットヘッダ511は、図8(a)に示すように、ペイロードユニット開始インジケータ501、パケットID(PID)502、ランダムアクセスインジケータ503、プログラムクロックリファレンス504等で構成されている。
【0132】
MPEG圧縮された映像情報は、Iピクチャ情報、Bピクチャ情報、およびPピクチャ情報を含んでいる。Iピクチャ情報(後述する図9の571)が記録されている最初のトランスポートパケットには、図8(a)のランダムアクセスインジケータ503に”1”のフラグが立つ。また、各B、Pピクチャ情報(後述する図9の573、574、572)の最初のトランスポートパケットには、図8(a)のペイロードユニット開始インジケータ501に”1”のフラグが立つ。
【0133】
これらのランダムアクセスインジケータ503およびペイロードユニット開始インジケータ501の情報を利用して、I−ピクチャマッピングテーブル(後述する図11の641)およびB、P−ピクチャ開始位置マッピングテーブル(後述する図11の642)の情報が作成される。
【0134】
たとえば、図8(a)に示したペイロードユニット開始インジケータ501に”1”のフラグが立ったトランスポートパケットに対して、B、P−ピクチャ開始位置マッピングテーブル(図11の642)内の該当個所のビットが”1”になる。
【0135】
デジタル放送では、ビデオ情報とオーディオ情報がそれぞれ異なるトランスポートパケットに入って転送される。そして、それぞれの情報の区別が、図8(a)のパケットID(PID)502で識別される。このPID502の情報を用いて、ビデオパケットマッピングテーブル(後述する図11の643)とオーディオパケットマッピングテーブル(後述する図11の644)が作成される。
【0136】
図8(c)に示すように、デジタル放送では、1個のトランスポンダに複数の番組(この例では番組1〜番組3)がパケット化された形で時分割されて転送されてくる。
【0137】
たとえば、図8(b)のトランスポートパケットヘッダ511およびペイロード(記録情報)512の情報は、図8(c)に示される番組2のトランスポートパケットb・522、e・525により転送される。
【0138】
いま、たとえばデジタル放送受信者(図7のSTBのユーザ等)の操作により、図8(c)に示される番組2が、図3または図7の情報記憶媒体201に記録される場合を想定してみる。この場合、図7のSTB部403において、図8(c)の番組2のトランスポートパケットb、eのみが抽出される。
【0139】
そのとき、STB部403では、図8(d)に示すように、各トランスポートパケットb・522、e・525を受信した時刻情報がタイムスタンプ531、532の形で付加される。
【0140】
その後、IEEE1394の転送方式によって図7のSTB部403からフォーマッタ部419へデータを転送する場合には、図8(e)に示すように、上記タイムスタンプ531とトランスポートパケット522との組が細かく分割されて転送されることになる。
【0141】
図7のフォーマッタ部419では、STB部403からIEEE1394で転送されてきたストリームデータが、図8(d)の形(図1(a)の形あるいは図8(f)(g)(h)の形に相当)に一旦戻される。そして、図1(a)あるいは図8(f)(g)(h)の形式のビットストリーム(図8(h)のストリームパック列)が、情報記憶媒体201に記録される。
【0142】
具体的には、この発明の一実施の形態においては、各セクタ(図1(d)(h))の先頭には、システムクロック情報などが記録されたパックヘッダ1、2、3、4とPESヘッダ6、7、8、9が配置される(図1(c)(i)、図6(d)参照)。その直後には、セクタデータヘッダ12、13(図1(c)(i)、図6(d))が記録されるが、各ストリームブロック先頭のセクタのみ、セクタデータヘッダではなく、ストリームブロックヘッダ11が記録される(図1(c)、図6(d))。
【0143】
データエリア21、22、23、24(図1(c)(i))には複数のタイムスタンプおよびトランスポートパケット(図1(a))が逐次詰め込まれるが、1個のトランスポートパケット(図1(b)ではパケットd;図8(e)ではパケットb)が複数のセクタ(図1(d)ではNo.0とNo.1;図8(f)(g)では部分パケット)に跨って記録される。ここに、この発明の特徴の1つがある。
【0144】
この特徴を生かしたデータ構造を用いることにより、セクタサイズ(例えば2048バイト)よりも大きなサイズを持つパケットを記録することができる。この点について、さらに説明する。
【0145】
デジタル放送では図8(c)に示すようにトランスポートストリームと呼ばれるマルチプログラム対応の多重・分離方式を採用しており、1個のトランスポートパケットb・522のサイズが188バイト(または183バイト)の場合が多い。
【0146】
前述したように1セクタサイズは2048バイトであり、各種ヘッダサイズを差し引いても1個のデータエリア21、22、23、24(図1(c)(i))内にはデジタル放送用のトランスポートパケットが10個前後記録できる。
【0147】
それに対して、ISDNなどのデジタル通信網では1パケットサイズが4096バイトある大きなロングパケットが転送される場合がある。
【0148】
デジタル放送などのように1個のデータエリア21、22、23、24(図1(c)(i))内に複数個のトランスポートパケットを記録するだけでなく、ロングパケットのようにパケットサイズの大きなパケットの場合でも記録できるよう、前記特徴を生かしたデータ構造(1パケットのデータを複数パケットに跨って記録できる特徴)を用いることにより、1個のパケットを複数のデータエリア21、22、23、24に連続して跨るように記録する。
【0149】
そうすれば、デジタル放送用のトランスポートパケットやデジタル通信用のロングパケットなどは、パケットサイズに依ることなく、全てのパケットをストリームブロック内に端数なく記録することができる。
【0150】
また、通常のパケットにはタイムスタンプが付いているが、図8(g)に示すように、部分パケットではタイムスタンプを省略することができる。
【0151】
このようにすると、2つの隣接ストリームパック(図8(h))の境界で分断された部分パケット(パケット1つあたり188バイトとすれば部分パケットのサイズは1〜187バイト;平均して100バイト弱)を情報記録に有効利用できる。のみならず、部分パケットに対して省略されたタイムスタンプの分(タイムスタンプ1つあたり例えば4バイト)、媒体201に対する記憶容量を増やすことができる。
【0152】
なお、図8(g)の先頭部分パケットの直後にくるタイムスタンプの位置は、後述する図12(b)のファーストアクセスポイント625あるいは図12(c)のFIRST_AP_OFFSETにより、特定することができる。
【0153】
ところで、ストリームブロック内に余り部分が生じた場合には、パディングデータ(データが未記録である領域と認識できる情報)が記録される。たとえば、図1(b)のようにストリームブロック#1内の最後のトランスポートパケットfの後ろにはエンドコード31が配置され、残りの部分はパディングエリア36としている。図1(j)のパディングエリア37、38も同様なパディングデータ用のエリアである。
【0154】
なお、パディングエリアの具体的な内部データ構造については、図26を参照して後述する。
【0155】
図9は、MPEGにおける映像情報圧縮方法とトランスポートパケットとの関係、およびMPEGにおけるトランスポートパケットとストリーマにおけるアプリケーションパケットとの関係を説明する図である。
【0156】
前述したように、デジタル放送では、映像情報はMPEG2の規格に従って圧縮された情報が転送されてくる。
【0157】
図9に示すように、Iピクチャ551の圧縮情報561はIピクチャ情報571としてトランスポートパケットa、b、…に記録される。Bピクチャ553の差分情報563、564はBピクチャ情報573としてトランスポートパケットd、…に記録される。また、Bピクチャ554の差分情報565、566はBピクチャ情報573、574としてトランスポートパケットd、f、…に記録される。そして、Pピクチャ552の差分情報562がPピクチャ情報572としてトランスポートパケットh、…に記録される。
【0158】
このように各I、B、Pピクチャ情報は異なるトランスポートパケットに記録されている。
【0159】
このようなトランスポートパケットがストリーマに記録されるときは、トランスポートパケットの内容はアプリケーションタイムスタンプ(ATS)というタイムスタンプ付きのパケット(アプリケーションパケット)に移し替えられる。
【0160】
そして、ATS付きアプリケーションパケットの一群(通常10パケット前後)がストリームPESパケット内のアプリケーションパケットエリアに格納される。
【0161】
このストリームPESパケットにパックヘッダを付したものが図8(h)で例示した1つのストリームパックになる。
【0162】
ストリームPESパケットは、PESヘッダと、サブストリームIDと、アプリケーションヘッダと、アプリケーションヘッダエクステンション(オプション)と、スタッフィングバイト(オプション)と、上記ATS付きアプリケーションパケット群を格納するアプリケーションパケットエリアとで、構成される。
【0163】
なお、PESヘッダ(ストリームPESパケットヘッダ)の内容については、図10を参照して後述する。また、アプリケーションヘッダ(ストリームブロックヘッダ11またはセクタデータヘッダ12に対応)については、図11および図12を参照して、後述する。
【0164】
図10は、図1、図8、図9等に示されたPESヘッダの内部構造を説明する図である。
【0165】
図10(a)のPESヘッダ601は、図10(b)に示すように、パケット開始コードプリフィックス602、ストリームID603、再生タイムスタンプ604等を含んでいる。このPESヘッダ601は、図1(c)(i)(j)のPESヘッダ6〜9、図8(h)のPESヘッダ6〜7、図9のPESヘッダ6等に対応している。
【0166】
また、図10(d)のストリームPESヘッダは、パケット開始コードプリフィックス、ストリームID(プライベートストリーム2)、PESパケット長、サブストリームID等を含んでいる。このストリームPESヘッダは、図9のストリームPESヘッダと同じもので、図10(a)のPESヘッダ601に対応する内容を持つ。
【0167】
図1(j)のPESヘッダ9が図10(a)に示すPESヘッダ601の内部構造を持つときは、MPEGの規格では、このPESヘッダのストリームID603(図10(b))が”10111110”のときに、このPESヘッダを持つパケットを、パディングパケット40(図1(i)にすると定義されている。
【0168】
一方、ストリームID603(図10(c)のサブストリームID)が”00000010”のときは、そのPESパケットの付いたパケットは、ストリーム記録データを含むことになる。
【0169】
図1(e)のストリームブロック#1では、最後のトランスポートパケットf(図1(a))が最後のセクタNo.31(図1(d))内に存在している。しかし、ストリームブロック#2(図1(e)(g))では、ユーザ等により途中で録画が終了されたために、最後のトランスポートパケットz(図1(j))がセクタNo.78(図1(h))に配置され、セクタNo.79(図1(h))内はストリームデータが記録されいない空き領域となっている。このため、セクタNo.79は、パディングパケット40(図1(i))として記録されている。
【0170】
図11は、図1(c)に示されたストリームブロックヘッダの内部構造を説明する図である。
【0171】
ストリームブロックヘッダ11は、図11(a)に示すように、図9下段のサブストリームID、アプリケーションヘッダ、スタッフィングバイト等に対応した内容を持つ。
【0172】
ストリームブロックヘッダ11は、図11(b)に示すように、トランスポートパケット情報611、ストリームブロック情報612、セクタデータヘッダ情報613等を含んでいる。
【0173】
図11(b)のトランスポートパケット情報611は図11(c)のトランスポートパケット情報611とおなじものを指す。
【0174】
ストリームブロック全体に関する情報が記録されている図11(b)のストリームブロック情報612は、図11(c)の記録時間622(情報記憶媒体201に記録した年月日と時刻情報)、トランスポートパケット属性623(トランスポートパケットに関する属性情報)、ストリームブロックサイズ624(該当するストリームブロックのデータサイズ(たとえばECCブロック数で記載できる))、ストリームブロック時間差625等に対応する。
【0175】
ここで、図1(b)を例にとれば、該当ストリームブロック内の時間範囲情報は、[ストリームブロック時間差]=[ストリームブロック#2内の最初にくるタイムスタンプ値]−[タイムスタンプaの値]として計算される。この[ストリームブロック時間差]が、ストリームブロック時間差625となる。
【0176】
また、図11(b)のセクタデータヘッダ情報613は、図11(c)のファーストアクセスポイント626およびトランスポートパケット接続フラグ627に対応する。このセクタデータヘッダ情報613は、後述する図12のセクタデータヘッダ12と同様な情報を含んでいる。
【0177】
図11(c)のトランスポートパケット情報611は、図11(d)に示すように、トランスポートパケットの数(アプリケーションパケットの数)631、トランスポートパケットマッピングテーブル632等を含んでいる(図11(dのアプリケーションパケットの数は、後述する図12(c)のAP_Nsに対応する)。
【0178】
図11(d)のトランスポートパケット(アプリケーションパケット)の数631は、図11(e)に示すように、Iピクチャマッピングテーブル641、B,Pピクチャマッピングテーブル642等を含むことができる。
【0179】
また、図11(d)のトランスポートパケットマッピングテーブル632は、ビデオパケットマッピングテーブル643、オーディオパケットマッピングテーブル644、プログラム固有情報マッピングテーブル645等を含むことができる。
【0180】
トランスポートパケットマッピングテーブル632内の各マッピングテーブル(図11(e))は、ビットマップ形式で構成されている。
【0181】
たとえば、1個のストリームブロック内にn個のトランスポートパケット(アプリケーションパケット)が記録されている場合には、図11(d)のトランスポートパケット数(アプリケーションパケット数)631の値は”n”となる。
【0182】
さらに、各マッピングテーブル643〜645は”nビットデータ”からなり、ストリームブロック内に前から並んでいる個々のトランスポートパケット(アプリケーションパケット)に対してそれぞれ1ビットずつが割り当てられている。
【0183】
図12は、図1に示されたセクタデータヘッダの内部構造を説明する図である。
【0184】
図1(c)(i)のセクタデータヘッダ12、13は、データエリア21、22、23、24内のデータ配列情報を示し、図12に示すように、ファーストアクセスポイント651およびトランスポートパケット接続フラグ652を含む内部構造を持っている。
【0185】
ところで、図12(d)(および図9下段)に示すように、1セクタと同じく2048バイトのサイズを持つ1つのストリームパックは、パックヘッダおよびストリームPESヘッダで構成されている。そして、このストリームPESパケット内に、図12(a)のセクタデータヘッダ12あるいは図11(a)のストリームブロックヘッダ11の一部に対応した、アプリケーションパケットヘッダが含まれている。
【0186】
このアプリケーションパケットヘッダは、図12(c)に示すように、以下のものを含んでいる:
*アプリケーションパケットヘッダ形式のバージョン記載;
*該当ストリームパック内で開始するアプリケーションパケット(トランスポートパケット)の数AP_Ns;
*該当ストリームパック内で開始する先頭アプリケーションパケットのタイムスタンプの位置をそのストリームパックの最初のバイトからの相対値で記述した、先頭アプリケーションパケット・タイムスタンプ位置FIRST_AP_OFFSET;
*ヘッダエクステンションおよび/またはスタッフィングバイトが存在するか否かを示すエクステンションヘッダ情報EXTENSION_HEADER_IFO;
*該当ストリームを生成したサービスの識別子SERVICE_ID。
【0187】
上記図12(d)のアプリケーションパケットに含まれるFIRST_AP_OFFSETは、図12(a)のセクタデータヘッダ12に含まれるファーストアクセスポイント651に対応する。
【0188】
図1(b)に示すように、トランスポートパケットdは2個のセクタに跨って記録されている。ここで、セクタ内の最後のタイムスタンプ、またはトランスポートパケットが次のセクタへ跨った場合には、トランスポートパケット接続フラグ652が”1”に設定される。また図1(b)の例では、次のセクタへ跨ったトランスポートパケットdの次にくるタイムスタンプ先頭位置のデータエリア22内のアドレスが、ファーストアクセスポイント651内に記録(ビット単位の表現)されている。
【0189】
図1(d)に示すセクタNo.1(またはその対応ストリームパック)のファーストアクセスポイント値を、セクタNo.1のデータエリア22(図1(c))のサイズよりも大きな値に設定することができる。そうすることにより、セクタNo.1内に記録されたパケットの次にくるパケットに対応するタイムスタンプの位置が、次以降のセクタに存在することが示される。
【0190】
この発明の一実施の形態では、ファーストアクセスポイント651の値としてデータエリア21、22、23、24のサイズよりも大きな値を指定可能にすることで、セクタサイズ(あるいはストリームパックサイズ=2048バイト)よりも大きなサイズを有するパケットに対しても、タイムスタンプ先頭位置を指定することができる。
【0191】
たとえば、図1(d)のデータ構造において、1個のパケットがセクタNo.0からセクタNo.2まで跨って記録されているとする。さらに、そのパケットに対するタイムスタンプはセクタNo.0のデータエリア21内の最初の位置に記録されるとともに、その次のパケットに対するタイムスタンプがセクタNo.2のデータエリア内のTビット目に配置されている場合を考える。
【0192】
この場合、セクタNo.0のファーストアクセスポイントの値は”0”、セクタNo.1のファーストアクセスポイントの値は”セクタNo.1のデータエリア22サイズ+T”、セクタNo.2のファーストアクセスポイントの値は”T”となる。
【0193】
図13は、この発明の一実施の形態に係るストリームデータのエンコード手順および録画手順を説明するフローチャートである。
【0194】
まず、図7のエンコード部401において、パケット化されたデータが、タイムスタンプ(図1(b)、図8(f)等のタイムスタンプ、あるいは図9のATS)と一緒に、バッファメモリ部420に一時記憶される(ステップS01)。
【0195】
別の言い方をすると、ステップS01において、図7の装置(ストリーマ)により、連続するストリームブロック(SOBU)のセクタに格納される再生データのエリアが、タイムスタンプ(ATS)付きトランスポートパケット(アプリケーションパケット)により埋められる。ここで付加されるタイムスタンプには、図7のSTC部424から得たローカルクロック値が用いられる。
【0196】
次に、バッファメモリ部420に一時記憶されたタイムスタンプとパケットデータとのビット列が、ストリームブロック(あるいはSOBU)毎に切り分けられる(ステップS02)。
【0197】
この実施の形態では、図1(b)に示すように同一のトランスポートパケット(d)が異なるストリームブロック(#1、#2)に跨って記録されることを禁止できる。この場合、図7のバッファメモリ部420に一時記録されたタイムスタンプとパケットデータをストリームブロック毎に切り分けるS02のステップでは、タイムスタンプとトランスポートパケットの組が完全に1個のストリームブロック内に収まるように切り分けを行なう必要がある。
【0198】
切り分けられた各ストリームブロック(SOBU)内のデータ末尾には、エンドコード(図1(j))と、必要に応じてパディングエリアが追記される(ステップS03)。
【0199】
こうしてバッファメモリ部420内でストリームブロック(SOBU)毎に切り分けられたタイムスタンプとパケットデータのビット列の内部が、さらに、セクタ毎(あるいは2048バイトのストリームパック毎)に分割される(ステップS04)。
【0200】
この実施の形態では、同一のトランスポートパケット(d)を、異なるセクタ(図1(d)のNo.0とNo.1)に跨って記録させることもできる。この場合は、セクタ毎に分割するS04のステップでは、各データエリア21、22、23、24に割り当てられた所定サイズに従って、無造作に分割が行われる。
【0201】
その後、バッファメモリ部420内で各セクタ(ストリームパック)の先頭位置に、図1(c)、図9その他に示すような、パックヘッダおよびPESヘッダの情報が挿入される(ステップS05)。
【0202】
なお、ステップS05において挿入されるパックヘッダおよびPESヘッダの情報は、トランスポートパケット(アプリケーションパケット)を生成したデバイス(アプリケーションデバイス)が任意に出力するシーケンスヘッダの情報でもある。
【0203】
次に、ストリームブロック(SOBU)内の最後にあるパディングエリアサイズがセクタ記録サイズ(ストリームパックサイズ2048バイト)より大きいかどうかチェックされる(ステップS06)。
【0204】
たとえば図1(f)のストリームオブジェクト#A・298の最後のストリームブロック#2では、ユーザ等により任意の位置での録画終了処理が行われる可能性がある。そのため、ストリームブロック#2内の記録可能領域のサイズに対して記録すべきストリームデータのサイズの方が大幅に小さい場合が生じる。
【0205】
この場合には、ステップS06の判定結果として、トータルのパディングエリアサイズがセクタ記録サイズより大きい状況になる。(図1(f)〜(j)の例では、ストリームデータはセクタNo.78の途中まで記録され、セクタNo.79内は実質的に記録されない状態になっている。この場合、図1(j)のパディングエリア37、38のトータルサイズがセクタNo.79内サイズより大きくなる。)
この場合(ステップS06イエス)には、図10(b)のストリームID603の値が前述したように”10111110”に設定され、セクタNo.79(全てがパディングエリアで埋められるセクタ)がパディングパケット40に変換される(ステップS07)。
【0206】
ステップS06においてパディングエリアサイズがセクタ記録サイズ以下と判定されれば(ステップST06ノー)、あるいはステップS07においてパディングパケットへの変換処理が済めば、バッファメモリ部420に記録されているストリームブロック(SOBU)内のパケットデータ列が解析される。この解析結果から、トランスポートパケット情報の関連情報(図11(b)〜(e)、図12(b)〜(d))が作成される。そして、ストリームブロック内で最初のセクタのPESヘッダの直後に図11(a)のストリームブロック11が挿入される(ステップS08)。
【0207】
あるいは、ストリームブロック(SOBU)内で最初のセクタ(最初のストリームパック)のPESヘッダの後に図9、図11その他で示したアプリケーションヘッダが挿入される(ステップS08)。
【0208】
さらに、ストリームブロック内の先頭セクタとパディングパケットを除いた全てのセクタに対して、そのPESヘッダの直後に図12(a)のセクタデータヘッダ12が挿入される(ステップS09)。
【0209】
あるいは、ストリームブロック(SOBU)内の先頭セクタ(最初のストリームパック)とパディングエリアを除いた全てのセクタ(ストリームパック)に対して、そのPESヘッダの後に図9、図12その他で示したアプリケーションヘッダが挿入される(ステップS09)。
【0210】
上記ステップS08およびステップS09でのヘッダ挿入は、バッファメモリ部420内で行われる。
【0211】
以上の工程(ステップS01〜ステップS09)によりエンコードされたビットストリーム(バッファメモリ部420上で作成したデータ構造を持つストリーム情報)が、図7の装置により、DVD−RAMディスク等の情報記憶媒体(図3または図7の201)に記録される。
【0212】
なお、ステップS08では、ストリームブロック(SOBU)内の全トランスポートパケットヘッダ511(図8(b))を検索し、図8(a)のペイロードユニット開始インジケータ501、PID502、ランダムアクセスインジケータ503の値を利用して、図11(e)のトランスポートパケットマッピングテーブル632内の各データを作成することができる。
【0213】
また、次のストリームブロック(SOBU)内の最初にくるタイムスタンプの値と現行のストリームブロック(SOBU)内の最初にくるタイムスタンプの値との差を計算して、図8(c)のストリームブロック時間差625の値を求めることもできる。
【0214】
図14は、この発明の一実施の形態に係るストリームデータのデコード手順および再生手順を説明するフローチャートである。
【0215】
以下、図1(c)(i)あるいは図8(h)の構造で情報記憶媒体(DVD−RAMディスク)201上に記録されたストリーム情報から、図7の分離部425内部でトランスポートパケットを抽出するプロセスを中心に、ストリームデータの再生手順を説明する。
【0216】
ユーザ等からは再生すべき範囲が時間情報で指定される。この場合の再生時には、指定された時間情報に対応する、再生すべきストリームブロック(またはSOBU)を探す処理が必要となる。
【0217】
まず、図13で例示した方法で情報記録がなされたRAMディスク(図3あるいは図7の情報記憶媒体)201が、図7のディスクドライブ部409に装填される。その後、例えば装置ユーザが、希望する再生範囲を、「再生開始時間」と「再生終了時間」で指定したとする。この指定がなされたあと図7のキー入力部407(あるいは図示しないリモートコントローラ)のプレイキー(再生ボタン)が押されたとする。
【0218】
すると、図7の主MPU部404は、制御プログラム「ストリームデータ再生制御部404c」に従い図3(f)のストリームファイル情報テーブル(SFIT)232にアクセスして、図3(h)のタイムマップ情報252の内容を読み取る。読み取られた情報内容から、主MPU部404は、指定された「再生開始時間」の位置(再生開始時刻位置)が含まれるストリームブロック(SOBU)の番号とそのストリームブロック(SOBU)の先頭位置アドレスを割り出す(ステップS11)。
【0219】
ここで、図3(i)の実施の形態では、タイムマップ情報252内には各ストリームブロック毎の差分時間情報しか記録されていない。この場合、主MPU部404内のストリームデータ再生制御部(再生制御プログラム)では、各ストリームオブジェクト情報(SOBI)242、243(図3(g))毎にタイムマップ情報252内の各ストリームブロックの時間差(図5(b)参照)263、265の値を逐次加算し、ユーザが指定した時刻に到達するか比較する。その比較結果を元に、ユーザが指定した時刻はどのストリームオブジェクト(SOB)内の何番目のストリームブロック(SOBU)の中に含まれるタイムスタンプ値と一致するかを割り出す。これにより、アクセスしようとするストリームブロック(SOBU)の先頭位置アドレスを割り出すことができる。
【0220】
あるいは、後述する図29に示すようなデータ構造を持つストリームオブジェクト情報(SOBI)が用いられるときは、このSOBIに含まれる情報(タイムマップ情報MAPL、MAPLのエントリ数MAPL_ENT_Ns等)を用いて、アクセスしようとするストリームブロック(SOBU)の先頭位置アドレスを割り出すことができる。
【0221】
ステップS11で割り出された先頭位置アドレスは、ディスクドライブ部409に通知される。こうしてアクセス先のアドレス情報を得たデスクドライブ部409は、このアドレス情報に対応する所定のストリームブロック(SOBU)の先頭位置にアクセスする。そして、このストリームブロック(SOBU)の先頭を起点として、ディスクドライブ部409は、装填されたディスク201から、ストリームブロック(SOBU)単位で、記録済みのストリームデータを読み込む(ステップS12)。
【0222】
ステップS12の処理により、パケット到着時間(またはアプリケーションパケット到着時間APAT)を伴う個別のトランスポートパケット(またはアプリケーションパケット)が検索され、検索されたパケットの回収(その記録内容の再生)が可能になる。
【0223】
こうして読み込まれたストリームデータは、D−PRO部410を介して、ディスクドライブ部409からデコード部402内の分離部425へ転送される。転送されたストリームデータは、分離部425の内部メモリ426に一時的に保管される(ステップS13)。
【0224】
分離部425の内部メモリ426に保管されたストリームデータが一定量を越えると、そこからパディングエリア(図1(j)の37、38等)のパケットが自動的に検索される。パディングパケットであるかどうかは、図10(c)のサブストリームIDをチェックすることで分かる。
【0225】
分離部425の内部メモリ426上でパディングパケットが見つかると、パディングパケットが含まれるパディングエリアが、分離部425の内部メモリ426上で消去される(ステップS14)。
【0226】
こうしてパディングパケットが除かれたストリームデータから、分離部425の内部メモリ426上で、各種ヘッダ(パックヘッダ、PESヘッダ、ストリームブロックヘッダ、セクタデータヘッダ、その他)が消去される。こうして、分離部425の内部メモリ426上のストリームデータが、タイムスタンプ(ATS)およびパケットデータだけの列情報(ビットストリーム)に変換される(ステップS15)。
【0227】
次に、変換されたビットストリームデータを、通信回線(IEEE1394シリアルバス等)を用いて外部装置(図7のSTB部403等)に転送する必要があるかどうか、チェックされる(ステップS16)。
【0228】
ステップS16のチェックは、例えば次のような方法で行なうことができる。すなわち、図7の装置ユーザが装置の初期設定において「再生したビットストリームを外部装置に転送しますか?…イエス/ノー」という設定画面(図示せず)でイエスを選択している場合に、そのイエスのフラグが立っているかどうかで判定できる。
【0229】
情報記憶媒体201から再生したストリームデータを図7のSTB部403に送る必要がある場合には(ステップS16イエス)、各トランスポートストリームに付いているタイムスタンプのタイミングに同期させて、再生したストリームデータをSTB部403へ逐次転送する(ステップS17)。このSTB部403への転送手段としてIEEE1394が利用される場合は、再生したストリームデータは図8(e)に示すようなデータ構造に変換されて転送される。
【0230】
上記IEEE1394転送が不要なら(ステップS16ノー)、あるいは上記IEEE1394転送が実施されたあと、分離部425の内部メモリ426上で、ステップS15で変換されたビットストリームからタイムスタンプ(ATS)が消去され、パケットデータのみのデータ列に変換される(ステップS18)。
【0231】
こうして変換されたデータ列中のパケットデータには、記録時の内容に応じて、ビデオパケット、副映像(SP)パケット、オーディオパケット等が含まれている。これらのパケットを含むデータパックはパックヘッダを持ち、そのパックヘッダ内のストリームID(図示せず)により、データの種類(ビデオか副映像かオーディオか等)が区別できるようになっている。
【0232】
このストリームIDの内容を参照することで、ビデオパケットは図7のビデオデコード部428に転送され、副映像パケットはSPデコード部429に転送され、オーディオパケットはオーディオデコード部430に転送される。こうして、各デコード部(428〜430)において、該当する記録内容が、それぞれ個別にデコードされる(ステップS19)。
【0233】
以上のようにして記録された各種情報(ビデオ、副映像、オーディオ等)のデコードが個別に開始されると、図7のSTC(システムタイムカウンタ)424にセットされた再生タイムスタンプに基づいて、ビデオ情報、副映像情報、および/またはオーディオ情報等が、所定のタイミングで再生される(モニタTVに画面表示されあるいはスピーカから音声再生される)(ステップS20)。
【0234】
ここで、ステップS20の再生タイムスタンプは、図1、図10その他に例示されたPESヘッダに格納されたもの(図10(b)では604)を用いることができる。
【0235】
あるいは、ステップS20の再生タイムスタンプとして、図8(h)その他に例示されたパックヘッダ内のSCR(システムクロックリファレンス)ベース(図示せず)を用いることも可能である。
【0236】
図15および図16は、この発明の一実施の形態に係るストリームデータの部分消去方法を説明する図である。
【0237】
図15は部分消去後の見かけ上の前半残存領域743について詳細を示しており、図16は部分消去後の見かけ上の後半残存領域744について詳細を示している。
【0238】
また、図22および図24は、この発明の他実施の形態に係るストリームデータの部分消去方法を説明するもので、各ストリームブロックが一定サイズ(32セクタ64kバイト)のストリームオブジェクトユニットSOBUで構成される場合を示している。
【0239】
図22は部分消去後の見かけ上の前半残存領域743について詳細を示しており、図24は部分消去後の見かけ上の後半残存領域744について詳細を示している。
【0240】
さらに、図23および図25は、この発明の他実施の形態に係るストリームデータの仮消去方法を説明するもので、各ストリームブロックが一定サイズ(32セクタ64kバイト)のストリームオブジェクトユニットSOBUで構成される場合を示している。
【0241】
図23は、図22(g)(h)の消去領域(741、742)が仮消去領域(747、748)である場合のデータ構造を例示している。また、図25は、図24(g)(h)の消去領域(741、742)が仮消去領域(747、748)である場合のデータ構造を例示している。
【0242】
以下では、図3または図7の情報記憶媒体201上に既に記録してあるストリームデータの一部を部分的に消去する場合(あるいは仮消去する場合)について説明を行う。
【0243】
ストリームデータの記録再生装置(ストリーマ)では、部分消去処理(仮消去処理)は、図7の主MPU部404の制御プログラム「ストリームデータ部分消去/仮消去制御部」404dにより実行される。
【0244】
この発明の一実施の形態では、データ消去(あるいは仮消去)は常にストリームブロック単位(あるいはSOBU単位)で行なわれる。さらに、オリジナルセル範囲を指定した時間情報(セル開始APAT(SC_S_APAT/ERA_S_APAT);セル終了APAT(SC_E_APAT/ERA_E_APAT))を利用して、細かい部分消去範囲(あるいは仮消去範囲)をユーザが指定できるようにしている。ここにもこの発明の特徴がある。
【0245】
この発明の一実施の形態では、図1(b)(j)に示すようにストリームブロック(あるいはSOBU)の最後をパディングエリア36、38とし、同一のトランスポートパケットが異なるストリームブロック(SOBU)を跨って記録できないような構造になっている。
【0246】
このようにすると、常にトランスポートパケットの切れ目とストリームブロック(SOBU)の切れ目が一致するため、ストリームブロック(SOBU)単位での部分消去が容易に実行可能になる。
【0247】
図17は、この発明の一実施の形態に係るストリームデータの部分消去の手順(記録情報の一部を完全消去する手順)を説明するフローチャートである。このフローチャートを利用して仮消去の手順(記録情報の一部があたかも消去されたかの如く管理情報を変更するが、情報本体そのものは消去されずに残す手順)についても説明する。
【0248】
図17では図示を省いているが、図7の主MPU部404により「ストリームデータ部分消去/仮消去制御部」404dという制御プログラムがスタートすると、まず、図7のディスクドライブ部409に装填された情報記憶媒体201から、ストリームデータに関する管理情報が記載されているSTREAM.IFO105(図2、図3(e)等参照)の情報が読み込まれる。読み込まれた管理情報は、主MPU部404内のワークRAM部404aに一時保管される。
【0249】
図7のディスクドライブ部409に装填された情報記憶媒体201には、消去前(あるいは仮消去前)の状態として、ストリームオブジェクト(SOB)#B・299が記録されている。このSOB#Bは、ストリームブロック(またはSOBU)#3〜#5から構成され、その中に記録されている全トランスポートパケット(あるいはアプリケーションパケット)が再生可能な状態になっている場合を考える。
【0250】
この場合の消去処理では、SOB#B・299に対応するオリジナルセル情報#2・273(図3(g);このオリジナルセル情報は、ワークRAM部404aに一時保管された管理情報STREAM.IFO105の一部に含まれる)の指定範囲として、以下の指定がなされる:
(1a)該当セルの開始時間751(図15(l)または図22(l))の時刻をトランスポートパケットr(図15(k)または図22(k))に対応したタイムスタンプrの時刻(トランスポートパケットrの到着時刻を表す)に指定し、
(2a)該当セルの終了時間756(図16(l)または図24(l))の時刻をトランスポートパケットw(図16(k)または図24(k))に対応したタイムスタンプwの時刻(トランスポートパケットwの到着時刻を表す)に指定する。
【0251】
一方、仮消去処理の場合には、SOB#B・299に対応するオリジナルセル情報#2・273(図3(g);STREAM.IFO105の一部)の指定範囲として、以下の指定がなされる:
(1b)該当セルの開始時間752(図23(l))の時刻をトランスポートパケットrr(図23(k))に対応したタイムスタンプrrの時刻(トランスポートパケットrrの到着時刻を表す)に指定し、
(2b)該当セルの終了時間758(図25(l))の時刻をトランスポートパケットj(図25(k))に対応したタイムスタンプjの時刻(トランスポートパケットjの到着時刻を表す)に指定する。
【0252】
以下の部分消去手順(または仮消去手順)の説明において、部分消去前後(仮消去前後)で図2のSTREAM.IFO105およびSTREAM.VRO106の内容がどのように変化するかを、図15、図16および図22〜図25を適宜参照しながら説明する。
【0253】
初めは、部分消去の場合を説明し、その後に仮消去の場合を説明する。
【0254】
[部分消去の場合]
いま、図15(f)、図16(f)、図22(f)あるいは図24(f)に示すストリームオブジェクト(SOB)#B・299の中央部を部分消去するものとし、図15(g)、図16(g)、図22(g)あるいは図24(g)に示すように見かけ上の消去領域741が設定される場合を想定して、図17のフローチャートの説明に入る。
【0255】
まず、ユーザ等により、部分消去範囲が、時間情報(部分消去の開始時刻と部分消去の終了時刻)等により指定される(ステップS21)。
【0256】
この指定により、図15(g)等に示した「見かけ上の消去領域741」の範囲が特定される。この消去範囲指定操作後は、図15(f)等のSOB#B・299内に、見かけ上の前半残存領域743および見かけ上の後半残存領域744が残る(図15(g)、図16(g)、図22(g)あるいは図24(g)参照)。
【0257】
上記ステップS21により「見かけ上の消去領域741」の範囲が特定されると、図7のストリームデータ部分消去/仮消去制御部404dを実行する主MPU部404により、タイムマップ情報(図3(h)の252あるいは後述する図29のSOBI)が読み出される。読み出されたタイムマップ情報の内容に基づいて、ユーザが指定した部分消去の範囲に完全に含まれるストリームブロック(1または複数のSOBUあるいは1以上のSOBUを含んだSOB;代表的にはストリームブロック=SOBU)が、検索される。そして、検索されたストリームブロック(換言すると該当SOBに含まれるトランスポートパケットあるいはアプリケーションパケットのうち消去終了位置より前の全てのパケット)が消去される(ステップS22)。
【0258】
こうして消去されたストリームブロック(あるいはSOBU)は、図2の管理情報(STREAM.IFO/SR_MANGR.IFO)105により、ファイルSTREAM.VRO106にないものとして扱われる(つまり、ファイルシステムは、消去されたストリームブロック/SOBUを無視する)。
【0259】
なお、消去されたストリームブロック/SOBUの情報が記録されていた情報記憶媒体201上の物理アドレス位置には、図2のDVD_RTRディレクトリ102以外のディレクトリ(管理情報105が関与できないところ、たとえば図2のコンピュータデータ保存用サブディレクトリ113)の下に存在する別ファイルを記録することもできる。この場合も、サブディレクトリ113の下に存在する別ファイルを記録した情報記憶媒体201上の物理的な記録場所は、ファイルシステム上は、ファイルSTREAM.VRO106から外される。
【0260】
次に、図15(g)等に示す部分消去範囲に対する前半残存領域743と後半残存領域744とでストリームオブジェクト(SOB)を分割する。続いて、この分割により生じた新たなストリームオブジェクト(図15(h)等のSOB#B*745、SOB#C・746)に対するSOB情報(SOBI)が作成され、作成されたSOBIが図7の主MPU部404内のワークRAM部404aに一時記憶される。その際、分割前のSOB#Bに対して記録されていたタイムマップ情報252内の該当個所を転記する形で、新たなSOB#B*745およびSOB#C・746に対するタイムマップ情報も作成される(ステップS23)。
【0261】
上記タイムマップ情報の内容変更(転記・作成)の具体的な対象は、たとえば図3(i)に示す各種情報(261〜265)、あるいは図29に示すストリームオブジェクト情報(SOBI)の内容(MAPL、MAPL_ENT_Ns等)である。
【0262】
なお、部分消去によりタイムマップ情報(MAPL)が短くなったときは、短くなったタイムマップ情報(MAPL)を含むSOBIの後にくる「1以上の後続SOBIおよび全ての後続情報テーブル」は、変更された(短くなった)SOBIにアラインされる。こうすることで、隣接SOBI間にギャップが生じることを防止できる。
【0263】
その場合、図29のSOBI_SRP#、SFITの一部、図3(f)または図27のSTR_VMGI(SFIT以降の情報テーブルの開始アドレス全て)等も、上記SOBIアラインに対応して修正される。
【0264】
上記ステップS23の処理内容について、さらに説明する。
【0265】
図7の主MPU部404は、ストリームデータ部分消去/仮消去制御部404dに関するシーケンシャルプログラムに従って処理を実行し、ディスクドライブ部409に対してデータ読み出しの指示を出す。これにより、情報記憶媒体201上でストリームデータが記録されているファイルSTREAM.VRO(またはSR_TRANS.SRO)106(図2)内から、ストリームブロック#5のデータ(図16または図24の(i)〜(l))が再生され、そのデータが主MPU部404内のワークRAM部404aに一時保管される。
【0266】
次に、主MPU部404は、その一時保管したデータ内を検索し、図16(g)または図24(g)で示す見かけ上の後半残存エリア744の開始時刻に最も近い値を持つタイムスタンプの値を、検索する。
【0267】
その検索結果が図16(i)〜(k)で示すようにセクタNo.112内にあるタイムスタンプk(あるいは図24(i)〜(k)で示すようにセクタNo.144内にあるタイムスタンプk)の値と一致しあるいは近似していた場合には、このタイムスタンプkの値が、オリジナルセル情報#3・762の該当セルの開始時間752の値に設定される。
【0268】
こうして設定された該当セルの開始時間(SC_S_ATAP等)752が、主MPU部404内のワークRAM部404aに一時保管された、ストリームデータの管理情報STREAM.IFO(またはSR_MANGR.IFO)105内に追記される。
【0269】
同様に、オリジナルセル情報#3・762の該当セルの終了時間(SC_E_ATAP等)756の値としては、部分消去前のオリジナルセル情報#2・273の該当セルの終了時間756の値が転記される。
【0270】
ところで、図15、図16、図22あるいは図24の実施の形態では、ストリームブロック#4が部分消去の範囲内に完全に含まれるので、その部分が実質上の消去領域742として実質的に消去される。
【0271】
このとき、ストリームブロック#3とストリームブロック#5は実質的には消去されずにそのまま残存するが、図15、図16、図22あるいは図24の(e)〜(g)に示すように、ストリームブロック#3の末尾側およびストリームブロック#5の先頭側の一部は、ユーザ等により指定された見かけ上の消去領域741に含まれている。
【0272】
この発明の一実施の形態では、部分消去の範囲741に対する前半残存エリア743および後半残存エリア744において、ストリームオブジェクト(SOB#B)が分割・分離されるとともに、それに対応してオリジナルセル範囲も分割・分離される。
【0273】
この分割・分離に対応して、図15、図16、図22あるいは図24の実施の形態では、ストリームブロック#5の位置を新たにストリームオブジェクト#C・746と定義される。
【0274】
一方、消去前のストリームオブジェクト(SOB)#B・299に対応するストリームオブジェクト情報(SOBI)#B・243(図3(g))内に記載されたタイムマップ情報(その内容は図3(i)と同様であり、図29のSOBIの内容に対応する)の中で、ストリームブロック#5に対するストリームブロックサイズおよびストリームブロック時間差の値は、部分消去前後で変化しない。
【0275】
そこで、図17のステップS23に示すように、このタイムマップ情報がそっくりそのまま、STREAM.IFO105内に新規に作成されるストリームオブジェクト#C・746(図16(h)、図24(h)等)に対応するストリームオブジェクト情報#C内のタイムマップ情報情報として、転記される。
【0276】
この新たに定義されたストリームオブジェクト#C・746に対応した部分消去後のオリジナルセル情報#3・762(図16(m)または図24(m))が指定する表示範囲は、ユーザが指定した見かけ上の後半残存エリア744の範囲と一致する。
【0277】
ステップS23の処理によりタイムマップ情報の作成が済むと、新たに定義されたSOB(SOB##B*、SOB#C)に対するオリジナルセル情報が作成される(ステップS24)。
【0278】
このオリジナルセル情報の作成において、対応オリジナルセル#3・762(図16(m)、図24(m))の指定範囲が設定される。
【0279】
この設定は、ユーザ等により指定された部分消去終了時刻に該当セルの開始時刻を合わせることで、(あるいはユーザ等により指定された部分消去開始時刻に該当セルの終了時刻を合わせることで)行われる。
【0280】
具体的には、後述する図31下段の図解を例に採れば、完全消去後(部分消去が完全に実行された後)の新たなSOBのセル#k+1(完全消去前はセル#k+2)の開始時刻(SC_S_APATk+1)を、ユーザ等により指定された消去終了時刻(完全消去前のセル#k+1のSC_E_APATk+1)に合わせることになる。
【0281】
あるいは、完全消去後のSOBのセル#k(完全消去前もセル#k)の終了時刻(SC_E_APATk)を、ユーザ等により指定された消去開始時刻(完全消去前のセル#k+1のSC_S_APATk+1)に合わせてもよい。
【0282】
なお、図31下段の図解例において、完全消去の前後で変更のないセル#kについては、その開始時刻(SC_S_APATk)および終了時刻(SC_E_APATk)に変更はない。
【0283】
上記ステップS24の処理により、前述した「SOBIアライン」がなされる(これにより隣接SOBI間にギャップが生じることを防止できる)。
【0284】
次に、元の(消去前の)ストリームオブジェクト情報(SOBI)#B・243(図3(g))に関する情報(タイムマップ情報等)が書き替えられる(ステップS25)。
【0285】
具体的には、実質上の消去領域742(図16(h)、図24(h))の部分および新たに定義されたSOB領域746(図16(h)、図24(h))の部分を元のタイムマップ情報から除去した内容に、タイムマップ情報が書き替えられる。
【0286】
そうする理由は、部分消去後にはSOB#B*745(図15(h)、図22(h))を構成するストリームブロックは#3のみとなったので、部分消去前のSOBI#B・243内のタイムマップ情報から、実質的に消去されたストリームブロック#4の部分、および別のストリームオブジェクト(SOB#C)の所属になったストリームブロック#5の情報を削除する必要があるからである。
【0287】
この情報削除がステップS25の情報書替処理である。この削除処理は、図7の主MPU部404内のワークRAM部404aに一時保管された管理情報(STREAM.IFO/SR_MANGR.IFO)105に対してなされる。
【0288】
このステップS25における情報(タイムマップ情報等)の書き替えにおいても、前述した「SOBIアライン」がなされる(これにより隣接SOBI間にギャップが生じることを防止できる)。
【0289】
次に消去前のオリジナルセル情報#2・273に関する情報内容の変更処理が行なわれる。ここでは、ステップS24におけるオリジナルセル情報#3・762の作成と同様な処理が実行される。
【0290】
まず、タイムマップ情報が書き替えられたSOBに対応したオリジナルセルの時刻範囲が変更される(ステップS26)。
【0291】
この変更は、ユーザ等により指定された部分消去開始時刻に該当セルの終了時刻を合わせることで、(あるいはユーザ等により指定された部分消去終了時刻に該当セルの開始時刻を合わせることで)行われる。
【0292】
具体的には、後述する図31下段の図解を例に採れば、セル#k(完全消去前もセル#k)の終了時刻(SC_E_APATk)を、ユーザ等により指定された消去開始時刻(完全消去前のセル#k+1のSC_S_APATk+1)に合わせることになる。
【0293】
あるいは、完全消去後のセル#k+1(完全消去前はセル#k+2)の開始時刻(SC_S_APATk+1)を、ユーザ等により指定された消去終了時刻(完全消去前のセル#k+1のSC_E_APATk+1)に合わせてもよい。
【0294】
次に、図7の主MPU部404は、ストリームデータ部分消去/仮消去制御部404dに関するシーケンシャルプログラムに従って処理を実行し、ディスクドライブ部409に対してデータ読み出しの指示を出す。これにより、情報記憶媒体201上でストリームデータが記録されているファイルSTREAM.VRO(またはSR_TRANS.SRO)106(図2)内から、ストリームブロック#3のデータ(図15または図22の(i)〜(l))が再生され、そのデータが主MPU部404内のワークRAM部404aに一時保管される。
【0295】
主MPU部404は、その一時保管したデータ内を検索し、図15(g)または図22(g)で示される見かけ上の前半残存エリア743の終了時刻にもっとも近い値を持つタイムスタンプの値を、検索する。
【0296】
その検索結果が図15または図22の(i)〜(k)で示すようにセクタNo.90内にあるタイムスタンプvの値と一致しあるいは近似していた場合には、このタイムスタンプvの値が、部分消去後のオリジナルセル情報#2・761(図15(m)、図22(m))の該当セルの終了時間757(図15(l)、図22(l))の値として設定される。
【0297】
こうして設定された値が、主MPU部404内のワークRAM部404a内に一時保管された管理情報(STREAM.IFO/SR_MANGR.IFO)105に追記される。
【0298】
なお、部分消去後のオリジナルセル情報#2・761の該当セルの開始時間751の値(SC_S_APAT)は、部分消去前のオリジナルセル情報#2・273の該当セルの開始時間751の値(SC_S_APAT)と同じなので、変更されずにそのままの値が管理情報(STREAM.IFO/SR_MANGR.IFO)105内に残される。
【0299】
以上一連の処理が終了すると、図7のワークRAM部404a内で変更されたストリームデータの管理情報(STREAM.IFO/SR_MANGR.IFO)105の情報を元に、主MPU部404からディスクドライブ部409へ指示が出される。
【0300】
これにより、情報記憶媒体201上のSTREAM.IFO/SR_MANGR.IFO105の情報が書き替えられる(ステップS27)。
【0301】
この情報書き替えの結果、削除されたストリームブロック(SOBU)は図2のファイルシステム(DVD_RTAVのファイルシステム)から無視されるようになる。
【0302】
最後に、S28で情報記憶媒体201上に記録されたボリューム&ファイル構造情報206(図3(b))の情報が書き替えられて、ファイルシステム情報が更新される(ステップS28)。
【0303】
ストリームブロック毎のデータサイズと時間情報(時間差)が記録されているストリームオブジェクト情報(SOBI)による指定範囲に対して、この指定範囲に対応した再生範囲を示すオリジナルセル情報の指定範囲を、等しいかあるいは狭くすることができる(図15、図16、図22あるいは図24の(f)〜(h)参照)。このようにすれば、ユーザは、見かけ上、ストリームブロックよりも細かな任意の範囲で、記録済みSOB情報の部分消去が可能となる。
【0304】
なお、各ストリームブロック毎のデータサイズを加算することで、特定のストリームブロックが記録されている位置(=アドレス情報)を算出することができる。
【0305】
上記のように部分消去処理を行った後に情報記憶媒体201から再生が行われると、図4に示すように1個のオリジナルPGC290ではオリジナルセル#2とオリジナルセル#3が連続して再生される。
【0306】
つまり、部分消去処理が実行された情報記憶媒体201からユーザ等により再生が行われる場合には、オリジナルセル情報#2・761(図15(m)等)内の該当セルの開始時間751から該当セルの終了時間757の時刻まで再生された直後に、オリジナルセル情報#3・762(図16(m)等)内の該当セルの開始時間752の位置から、続けて(通常はシームレスに)再生が始まる。
【0307】
[仮消去の場合]
DVDストリーマでは、2種類の消去が可能となっている。第1は上述したストリームの一部を完全に消去するものであり、第2は以下に述べるストリームの一部を仮に消去する(仮消去またはテンポラリ・イレーズ;これを適宜TEと略記する)ものである。
【0308】
仮消去に関しては:
(11)ストリームの仮消去部分は完全に構成し直すことができる;
(12)仮消去部分の開始位置および終了位置は、アプリケーションパケット到着時間(APAT)の精度で、時間情報によりマークできる(ストリーマのユーザは、SOB、SOBU、SOBI/MAPL等の内部情報を認識できないが、記録時間は認識できる。そこで、仮消去の範囲、すなわち仮消去部分の開始位置および終了位置を、ユーザが時間ベースでマークできるようにしている。);
(13)記録中、ストリーマのフォーマットは、ストリーム内に配慮せず、仮消去部分を完全消去状態にすることができる(これにより、仮消去部分をリアルタイムでリサイクル利用できるようになる)。
【0309】
上記(11)〜(13)は、図3(f)、図4、図27または図32に示すオリジナルPGC(ユーザ定義PGCに非ず)内のストリームセル情報SCI(図28)に含まれるプロテクトフラグTE(図28)を利用して、実現できる。このTEフラグは仮消去されたセルを示すものである。
【0310】
次に、図23(f)あるいは図25(f)に示すストリームオブジェクト(SOB)#B・299の中央部を仮消去するものとし、図23(g)あるいは図25(g)に示すように見かけ上の仮消去領域747が設定される場合を想定して、図17のフローチャートの説明に入る。
【0311】
仮消去の処理においては、図17のステップS21〜S23の「部分消去範囲」あるいは「消去範囲」を「仮消去範囲」と読み替えれば、処理内容の手順は同様である。また、図17のステップS27〜S28も、処理手順としては、部分消去の場合も仮消去の場合も変わらない。
【0312】
以下では、図17のステップS24〜S26に関して、仮消去の場合の手順を、図23および図25を参照しながら、説明する。
【0313】
ステップS23の処理によりタイムマップ情報の作成が済むと、新たに定義されたSOB(SOB##B*、SOB#C)に対するオリジナルセル情報が作成される(ステップS24)。
【0314】
このオリジナルセル情報の作成において、対応オリジナルセルの指定範囲が設定される。
【0315】
具体的には、後述する図30(b)の図解を例に採れば、仮消去フラグTEが”10b”に設定されたセル#k+1の開始時刻は、ユーザ等により指定された仮消去開始時刻(ERA_S_APAT;仮消去の開始マーク)となる。また、仮消去フラグTEが”10b”に設定されたセル#k+1の終了時刻は、ユーザ等により指定された仮消去終了時刻(ERA_E_APAT;仮消去の終了マーク)となる。
【0316】
あるいは、後述する図31上段の図解を例に採れば、仮消去フラグTEが”10b”に設定されたセル#k+1の開始時刻はSC_S_APATk+1となり、このセル#k+1の終了時刻はSC_E_APATk+1となる。
【0317】
次に、元の(仮消去前の)ストリームオブジェクト情報(SOBI)に関する情報(タイムマップ情報等)が、前述した部分消去と同様な方法で書き替えられる(ステップS25)。
【0318】
この仮消去では、仮消去対象のデータ自体が消去されるのではなく、消去対象のデータの管理情報が「仮消去」状態に書き替えられるだけである。しかし、仮消去対象のデータ(図30(b)あるいは図31上段の例ではセル#k+1のデータ)が完全消去されると、以下の処理がなされる。
【0319】
まず、タイムマップ情報が書き替えられたSOBに対応したオリジナルセルの時刻範囲が変更される(ステップS26)。
【0320】
具体的には、後述する図30の図解を例に採れば、図30(b)の仮消去セル#k+1の開始時刻(ERA_S_APAT)が図30(c)の完全消去後のセル#kの終了時刻(SC_E_APAT)に合わせられ、図30(b)の仮消去セル#k+1の終了時刻(ERA_E_APAT)が図30(c)の完全消去後のセル#k+1(完全消去前はセル#K+2)の開始時刻(SC_S_APAT)に合わせられることになる。
【0321】
以上の仮消去処理の要点を纏めると、次のようになる。
【0322】
(a)仮消去の開始時刻(ERA_S_APAT)および仮消去の終了時刻(ERA_E_APAT)によって、ストリームオブジェクト(SOB)に含まれるビットストリーム情報の一部(図23または図25の仮消去領域747)に対する仮の消去範囲が指定される(ステップS21において、「部分消去範囲」を「仮消去範囲」に読み替える)。
【0323】
開始時刻(SC_S_APAT)がストリームブロック(SOBU)内で開始するトランスポートパケット(アプリケーションパケット)の先頭に一致するときに、開始時刻(SC_S_APAT)を伴うトランスポートパケット(アプリケーションパケット)を含むところのストリームブロック(SOBU)内で開始するトランスポートパケット(アプリケーションパケット)のうちの最初のものの開始時刻(SC_S_APAT)に、仮消去の開始時刻(ERA_S_APAT)を合わせる(ステップS26において、「部分消去」を「仮消去」に読み替える)。そして、ストリーマ情報(STREAM.IFO/STRI)を書き替える(ステップS27)。
【0324】
(b)あるいは、仮消去の開始時刻(ERA_S_APAT)および仮消去の終了時刻(ERA_E_APAT)によって、ストリームオブジェクト(SOB)に含まれるビットストリーム情報の一部(図23または図25の仮消去領域747)に対する仮の消去範囲が指定される(ステップS21において、「部分消去範囲」を「仮消去範囲」に読み替える)。
【0325】
仮の消去範囲が指定された部分に相当するセル(TEセル)がストリームオブジェクト(SOB)の先頭を含むときに、開始時刻(SC_S_APAT)を伴うトランスポートパケット(アプリケーションパケット)を含むところのストリームブロック(SOBU)内で開始するトランスポートパケット(アプリケーションパケット)のうちの最初のものの開始時刻(SC_S_APAT)に、仮消去の開始時刻(ERA_S_APAT)を合わせる(ステップS26において、「部分消去」を「仮消去」に読み替える)。そして、ストリーマ情報(STREAM.IFO/STRI)を書き替える(ステップS27)。
【0326】
(c)あるいは、仮消去の開始時刻(ERA_S_APAT)および仮消去の終了時刻(ERA_E_APAT)によって、ストリームオブジェクト(SOB)に含まれるビットストリーム情報の一部(図23または図25の仮消去領域747)に対する仮の消去範囲が指定される(ステップS21において、「部分消去範囲」を「仮消去範囲」に読み替える)。
【0327】
開始時刻(SC_S_APAT)を伴うトランスポートパケット(アプリケーションパケット)を含むところのストリームブロック(図30(b)のSOBU#3)が直後に続く他のストリームブロック(図30(b)のSOBU#2)内で開始するトランスポートパケット(アプリケーションパケット)のうちの最初のものの開始時刻(SC_S_APAT)に、仮消去の開始時刻(ERA_S_APAT)を合わせる(ステップS26において、「部分消去」を「仮消去」に読み替える)。そして、ストリーマ情報(STREAM.IFO/STRI)を書き替える(ステップS27)。
【0328】
(d)あるいは、仮消去の開始時刻(ERA_S_APAT)および仮消去の終了時刻(ERA_E_APAT)によって、ストリームオブジェクト(SOB)に含まれるビットストリーム情報の一部(図23または図25の仮消去領域747)に対する仮の消去範囲が指定される(ステップS21において、「部分消去範囲」を「仮消去範囲」に読み替える)。
【0329】
仮の消去範囲が指定された部分に相当するセル(TEセル)の直後に続くトランスポートパケット(アプリケーションパケット)を含むところのストリームブロック(図30(c)のセル#k+1のSOBU#1)内で開始するトランスポートパケット(アプリケーションパケット)のうちの最初のものの開始時刻(SC_S_APAT)に、仮消去の終了時刻(ERA_E_APAT)を合わせる(ステップS26において、「部分消去」を「仮消去」に読み替える)。そして、ストリーマ情報(STREAM.IFO/STRI)を書き替える(ステップS27)。
【0330】
図18は、MPEGエンコードされた映像データ(部分消去前あるいは仮消去前)に対する時間管理情報設定方法を説明する図である。
【0331】
また、図19は、図18の映像データに対応したオリジナルセル情報(部分消去前あるいは仮消去前)における時間情報とフィールド情報との関係を説明する図である。
【0332】
前述した実施の形態では、特定のデータサイズ(たとえば32セクタ/64kバイト)毎に分割したストリームブロック(SOBU)毎に実質的な部分消去を行い、詳細な見かけ上の部分消去範囲を、オリジナルセル範囲で定義できるようになっている。
【0333】
しかし、この発明はそれだけに限られない。映像データなどの特定のデータをユニットもしくはブロックに分割管理し、そのユニットもしくはブロック単位で消去を行なうとともに、再生情報(セルなど)の範囲指定により「ユーザによる詳細な再生範囲を指定できる」あらゆる方法に対して、この発明を適用することができる。
【0334】
たとえば、MPEG2により記録された映像情報を管理する管理情報ファイルであるRTR.IFO104(図2)では、図18に示すようにMPEG2の動画圧縮に特有なIピクチャから次のIピクチャの手前までがユニット化されて取り扱われる。このユニットは、ビデオオブジェクトユニット(VOBU)と呼ばれる。このVOBUは、ストリームオブジェクトユニット(SOBU)に対応させて考えることができる。
【0335】
NTSCのTV規格では、1秒間に約30枚の画像(フレーム)を表示している。各画像をピクチャと呼び、インターレース方式では1枚のピクチャ(フレーム)を2回のフィールド走査(奇数フィールド走査と偶数フィールド走査)で表現している。
【0336】
ストリーマでは、ストリームデータが受信機に到達した時刻情報が記録されているタイムスタンプ情報を、時間(時刻)情報として利用している。しかし、この発明の一実施の形態においては、映像情報に対しては、図18に示す最初のIピクチャaから数えたフィールド数で、時間(時刻)情報を表わすことも可能としている。
【0337】
この実施の形態でのタイムマップ情報は、VOBU(あるいはSOBU)毎のユニットとして管理される。たとえば、図3(i)のストリームブロックサイズ262に対しては、1個のVOBU(あるいはSOBU)のデータサイズが対応する。また、ストリームブロック時間差263に対応する時間情報としては、1個の対応するVOBU(あるいはSOBU)内に含まれるフィールド数が当てはまる。
【0338】
このとき、オリジナルセル#1の情報(図28のSCI)763(図19)における該当セルの開始時間(SC_S_APATあるいはERA_S_APAT)753および該当セルの終了時間(SC_E_APATあるいはERA_E_APAT)758の情報は、図18の先頭Iピクチャaから数えたフィールド数で表現できる。
【0339】
たとえば、図18のn枚目のピクチャの時間情報は、2n番目のフィールドとして表現できる。
【0340】
図20は、MPEGエンコードされた映像データ(部分消去後あるいは仮消去後)に対する時間管理情報設定方法を説明する図である。
【0341】
また、図21は、図20の映像データに対応したオリジナルセル情報(部分消去後あるいは仮消去後)における時間情報とフィールド情報との関係を説明する図である。
【0342】
図18の映像情報に対して部分消去の処理を行った場合には、図20に示すように、VOBU#2(SOBU#2)のみが実質的に部分消去される。ユーザ等が指定した細かい部分消去の範囲は、図15その他を参照して説明したストリームデータの部分消去の場合と同様、セルの範囲設定で規定できる。
【0343】
すなわち、図20において、ユーザ等がBピクチャfからBピクチャsまで部分消去を指定した場合、部分消去指定範囲に完全に含まれるVOBU#2(SOBU#2)は完全に消去される。このとき、一部のみ部分消去の指定範囲に含まれるVOBU#1(SOBU#1)およびVOBU#3(SOBU#3)は、VOBU単位(SOBU単位)で実質的に残存する。
【0344】
ストリームデータの場合と同様に、部分消去した部分の前後でVOB(あるいはSOB)が分割されてVOB#1(SOB#1)とVOB#2(SOB#2)になる。これに対応して、部分消去前のセルは、オリジナルセル#1とオリジナルセル#2に分かれる。
【0345】
このとき、図21に示すように、オリジナルセル#1の情報(SCI)764の該当セルの終了時間(SC_E_APATあるいはERA_E_APAT)759としてBピクチャfに対応した2f番目のフィールドを指定し、オリジナルセル#2の情報(SCI)765の該当セルの開始時間(SC_S_APATあるいはERA_S_APAT)754としてBピクチャsに対応した2(s―q)番目のフィールドを指定することができる。
【0346】
たとえば、図20のf枚目のピクチャの時間情報は、2f番目のフィールドとして表現できる。
【0347】
図20、図21の実施の形態では、フィールド数は、必ずVOB(SOB)毎にVOBの先頭ピクチャから数えたフィールド数で表わしている。さらに、セル情報(SCI)内で、フィールド数により、対応するVOB(SOB)を指定できるようにしている。ここにこの実施の形態の特徴がある。
【0348】
図26は、ストリームブロック(SOBU)を構成するセクタの内部構成(アプリケーションパケットを含むストリームパックおよびスタッフィングパケットを含むストリームパック)の一例を説明する図である。
【0349】
図26(d)のストリームオブジェクト(SOB)#A・298は、図26(c)(e)に示すように、複数のストリームブロック#1、#2、…で構成されている。
【0350】
各ストリームブロック#1、#2、…は全て、2ECCブロックサイズ(=32セクタ=64kバイト)のストリームオブジェクトユニット(SOBU)で構成される。
【0351】
このようにすると、たとえばストリームブロック(SOBU)#2を削除しても、ストリームブロック(SOBU)#1のECCブロックはこの削除に影響されない。
【0352】
SOB#A・298の先頭ストリームブロック(SOBU)#1は、図26(b)に示すように、セクタNo.0〜セクタNo.31(32セクタ/64kバイト)で構成されている。
【0353】
ストリームブロック(SOBU)#1の各セクタは、同様なデータ構造を持っている。、たとえばセクタNo.0についていうと、図26(a)に示すようになっている。
【0354】
すなわち、セクタNo.0は2048バイト(2kバイト)のストリームパックにより構成される。このストリームパックは、14バイトのパックヘッダと、2034バイトのストリームPESパケットとで構成される。
【0355】
ストリームPESパケットは、6バイトのPESヘッダと、1バイトのサブストリームIDと、2027バイトのストリームデータエリアとで構成される。
【0356】
ストリームデータエリアは、9バイトのアプリケーションヘッダと、アプリケーションヘッダエクステンション(オプション)と、スタッフィングバイト(オプション)と、アプリケーションパケットエリアとで構成される。
【0357】
アプリケーションパケットエリアは、おのおのがアプリケーションタイムスタンプ(ATS)を先頭に持つアプリケーションパケット群で構成される。
【0358】
たとえば188バイトサイズのトランスポートパケットがアプリケーションパケットとしてアプリケーションパケットエリアに格納されるときは、10個程度のアプリケーションパケットがアプリケーションパケットエリアに格納できる。
【0359】
ストリーム記録においては、記録内容を生成するアプリケーションは、パック長の調整を別途行なう必要がないように、自身でスタッフィングを行なう。このため、ストリーム記録においては、ストリームパックが常に必要な長さ(たとえば2048バイト)を持つものとして扱うことができる。
【0360】
図26(a)のスタッフィングバイトは、ストリームパックを常に所定長(2048バイト)に保つために利用できる。
【0361】
ストリームの記録時において、最初のアプリケーションパケットのアプリケーションタイムスタンプATSの先頭バイトは、ストリームオブジェクトSOBの始まりにおける最初のストリームパケット内のアプリケーションパケットエリアの開始位置に、アラインされている必要がある。
【0362】
一方、SOB内のその後のストリームパケットについては、隣接ストリームパケット境界で、アプリケーションパケットが分割(スプリット)されてもよい。図9の下段に例示した部分パケットは、この分割(スプリット)により生じたアプリケーションパケットを示している。
【0363】
ストリームパケット内で開始される最初のアプリケーションタイムスタンプのバイトオフセット、およびそのストリームパケット内で開始されるアプリケーションパケットの数は、そのアプリケーションヘッダに記述される。
【0364】
こうすることにより、あるストリームパケット内において、最初のアプリケーションタイムスタンプの前および最後のアプリケーションパケットの後におけるスタッフィングが、自動的に行われる。この自動スタッフィングにより、ストリームパケットは常に必要な長さを持つことになる。
【0365】
図26(a)のパックヘッダは、図示しないが、パック開始コードの情報、SCRベースの情報、SCRエクステンションの情報、プログラム最大レートの情報、マーカビット、パックスタッフィング長の情報等を含んでいる。
【0366】
SCRベースは32ビットで構成され、その32ビット目はゼロとされる。また、プログラム最大レートとしては、10.08Mbpsが採用される。
【0367】
図26(a)のPESヘッダおよびサブストリームIDは、図10(c)に示したような内容を持っている。
【0368】
図26(a)のアプリケーションヘッダは、図12(c)に示したように、バージョン情報、アプリケーションパケット数AP_Ns、先頭アプリケーションパケットのタイムスタンプ位置FIRST_AP_OFFSET、エクステンションヘッダ情報EXTENSION_HEADER_IFO、サービスID等を含んでいる。
【0369】
ここで、バージョンには、アプリケーションヘッダフォーマットのバージョン番号が記述される。
【0370】
アプリケーションヘッダのAP_Nsは、該当ストリームパック内で開始するアプリケーションパケットの数を記述したものである。該当ストリームパック内にATSの先頭バイトが格納されているときは、このストリームパック内でアプリケーションパケットが開始すると見なすことができる。
【0371】
FIRST_AP_OFFSETには、該当ストリームパケット内で開始される最初のアプリケーションパケットのタイムスタンプ位置が、このストリームパケットの最初のバイトからの相対値として、バイト単位で、記述される。もしストリームパケット内で開始するアプリケーションパケットがないときは、FIRST_AP_OFFSETには「0」が記述される。
【0372】
EXTENSION_HEADER_INFOには、該当ストリームパケット内にアプリケーションヘッダエクステンションおよび/またはスタッフィングバイトが存在するか否かが、記述される。
【0373】
EXTENSION_HEADER_INFOの内容が00bの場合は、アプリケーションヘッダの後にアプリケーションヘッダエクステンションもスタッフィングバイトも存在しないことが示される。
【0374】
EXTENSION_HEADER_INFOの内容が10bの場合は、アプリケーションヘッダの後にアプリケーションヘッダエクステンションがあるが、スタッフィングバイトは存在しないことが示される。
【0375】
EXTENSION_HEADER_INFOの内容が11bの場合は、アプリケーションヘッダの後にアプリケーションヘッダエクステンションが存在し、かつアプリケーションヘッダエクステンションの後にスタッフィングバイトも存在することが示される。
【0376】
EXTENSION_HEADER_INFOの内容が01bとなることは禁止されている。
【0377】
アプリケーションパケットエリアの前のスタッフィングバイト(オプション)は、「EXTENSION_HEADER_INFO=11b」によりアクティブになる。こうすることで、アプリケーションヘッダエクステンション内のバイト数と、アプリケーションパケットエリア内に格納できるアプリケーションパケット数との間に矛盾が生じた場合に「パッキングパラドクス」が起きるのを防止できる。
【0378】
SERVICE_IDには、ストリームを生成するサービスのIDが記述される。このサービスが未知のものであれば、SERVICE_IDに0x0000が記述される。
【0379】
図26(a)のアプリケーションパケットエリアは、図9の下段に示したと同様に構成できる(図9のパケットを図26ではアプリケーションパケットに読み替える)。
【0380】
すなわち、アプリケーションパケットエリアの先頭に部分アプリケーションパケットが記録され、その後に、アプリケーションタイムスタンプATSとアプリケーションパケットとのペアが複数ペア、シーケンシャルに記録され、末尾に部分アプリケーションパケットが記録される。
【0381】
別の言い方をすると、アプリケーションパケットエリアの開始位置には、部分アプリケーションパケットが存在できる。アプリケーションパケットエリアの終了位置には、部分アプリケーションパケットあるいは予約されたバイト数のスタッフィングエリアが存在できる。
【0382】
各アプリケーションパケットの前に配置されたアプリケーションタイムスタンプ(ATS)は32ビット(4バイト)で構成される。このATSは、2つの部分、すなわち基本部分と拡張部分に分けられる。基本部分は90kHzユニット値と呼ばれる部分であり、拡張部分は27MHzで測った細かい値(less significant value)を示す。
【0383】
図26(a)において、アプリケーションヘッダエクステンションは、アプリケーションパケット〜アプリケーションパケット間で異なり得る情報を格納するのに用いることができる。このような情報は、必ずしも全てのアプリケーションに必要なものではない。
【0384】
それゆえ、アプリケーションヘッダのデータフィールドは、ストリームデータエリア内にオプションのアプリケーションヘッダエクステンションが存在することを(前述したEXTENSION_HEADER_INFOにおいて)記述できるように定義されいる。
【0385】
ストリームの記録時において、最初のアプリケーションパケットのアプリケーションタイムスタンプATSの先頭バイトは、ストリームオブジェクトSOBの始まりにおける最初のストリームパケット内のアプリケーションパケットエリアの開始位置に、アラインされている必要がある。
【0386】
一方、SOB内のその後のストリームパケットについては、隣接ストリームパケット境界で、アプリケーションパケットが分割(スプリット)されてもよい。図8(f)(g)あるいは図9に示した部分アプリケーションパケットは、この分割(スプリット)により生じたアプリケーションパケットを示している。
【0387】
ストリームパケット内で開始される最初のアプリケーションタイムスタンプのバイトオフセット、およびそのストリームパケット内で開始されるアプリケーションパケットの数は、そのアプリケーションヘッダに記述される。
【0388】
こうすることにより、あるストリームパケット内において、最初のアプリケーションタイムスタンプの前および最後のアプリケーションパケットの後におけるスタッフィングが、自動的に行われる。
【0389】
すなわち、上記自動化メカニズムにより、「アプリケーションが自分でスタッフィングを行なう」ことが実現される。この自動スタッフィングにより、ストリームパケットは常に必要な長さを持つことになる。
【0390】
アプリケーションヘッダエクステンション(オプション)はエントリのリストからなる。ここには、該当ストリームパケット内で開始する各アプリケーションパケットに対する1バイト長の1エントリがある。これらエントリのバイトは、アプリケーションパケット毎に異なり得る情報を格納するのに利用できる。
【0391】
なお、1バイトのアプリケーションヘッダエクステンション(オプション)には、1ビットのAU_STARTと、1ビットのAU_ENDと、2ビットのCOPYRIGHTとが、記述される。
【0392】
AU_STARTが”1”にセットされると、関連アプリケーションパケットが、ストリーム内にランダムアクセスエントリポイント(ランダムアクセスユニットの開始)を含むことが示される。
【0393】
AU_ENDが”1”にセットされると、関連アプリケーションパケットがランダムアクセスユニットの最終パケットであることが示される。
【0394】
COPYRIGHTには、関連アプリケーションパケットの著作権の状態が記述される。
【0395】
図26(a)のパケット構造は、SOB#A・298の最終セクタ以外に適用できるが、最終セクタには必ずしも適用されない。
【0396】
たとえば、SOB#A・298の末尾が図26(f)のセクタNo.63であり、このセクタが図26(g)に示すようにパディングパケット40(図1(i)参照)で構成されるときは、そのパディングエリア38(図26(h))の内容が、図26(a)と違ったものになる。
【0397】
すなわち、図26(i)に示すように、パディングパケット40としてのスタッフィングパケットは、14バイトのパックヘッダと、6バイトのPESヘッダと、1バイトのサブストリームIDと、9バイトのアプリケーションヘッダと、2018バイトのアプリケーションパケットエリアとで構成される。
【0398】
スタッフィングパケットの先頭を含むパックでは、このアプリケーションパケットエリアは、4バイトのアプリケーションタイムスタンプATSおよび2014バイト分のゼロバイトデータ(実質的な記録内容を持たないデータ)で構成される。
【0399】
一方、その後続スタッフィングパケットを含むパックでは、このアプリケーションパケットエリアは、2018バイト分のゼロバイトデータ(ATSなし)で構成される。
【0400】
ビットレートが極めて低い記録がなされる場合、タイムマップ情報(図3(h)の252;あるいは図29のSOBI内MAPL)の回復(再生)を確実にするためにスタッフィングが必要になる。図26(i)のスタッフィングパケットは、そのための概念的な単位として定義されている。このスタッフィングパケットの目的は、スタッフィングエリアを含め夫々のSOBUが少なくとも1つのATS値を含むようにすることで、達成される。
【0401】
スタッフィングパケットには、以下の条件が付く:
*1または複数のスタッフィングパケットは、常に、実際のアプリケーションパケットデータを含むパックの後のパックのアプリケーションパケットエリアから開始する;
*1または複数のスタッフィングパケットは、1つの4バイトATSと、該当SOBUの残りパックのアプリケーションデータエリアを埋め尽くすのに必要なだけのゼロバイトデータ(ATSの後に続く)とで構成される。いま、SOBU1個あたりのセクタ数をSOBU_SIZとしたときに、0≦n≦SOBU_SIZー1とすれば、スタッフィングパケットの全長は、「4+2014+n×2018」バイトとなる。
【0402】
スタッフィングパケットのATSは、次のように設定される:
*少なくとも1個のパックが実際のアプリケーションパケットデータを含んでいるSOBU内では、スタッフィングパケットのATSは、スタッフィングパケットに先行するアプリケーションパケットのATSに設定される;
*実際のアプリケーションパケットデータを含まないSOBU内では、スタッフィングパケットのATSはタイムマップ情報等の内容に応じて決定される。
【0403】
スタッフィングパケットあるいはスタッフィングパケットの一部を含む全てのパックは、次のように構成される:
*パックヘッダのSCRは、先行パックのSCRに「2048×8ビット÷10.08Mbps」を加えたものとする;
*PESパケットヘッダおよびサブストリームIDは、他の全てのPESパケットに対するものと同じにする;
*アプリケーションヘッダ(図12(c)(d)参照)内において、AP_Ns=0、FIRST_AP_OFFSET=0、EXTENSION_HEADER_IFO=00b、SERVICE_ID=0(アプリケーションヘッダ内のその他のパラメータも0)とする。
【0404】
図27は、ストリーマの管理情報(図2のSTREAM.IFOまたはSR_MANGR.IFOに対応)の内部データ構造を説明する図である。
【0405】
図2あるいは図3(e)に示した管理情報(ナビゲーションデータ)であるSTREAM.IFO(SR_MANGR.IFO)105は、図27に示すように、ストリーマ情報STRIを含んでいる。
【0406】
このストリーマ情報STRIは、図3(f)あるいは図27に示すように、ストリーマビデオマネージャ情報STR_VMGIと、ストリームファイル情報テーブルSFITと、オリジナルPGC情報ORG_PGCI(より一般的に表現すればPGC情報PGCI#i)と、ユーザ定義PGC情報テーブルUD_PGCITと、テキストデータマネージャTXTDT_MGと、アプリケーションプライベートデータマネージャAPDT_MGとで、構成されている。
【0407】
ストリーマビデオマネージャ情報STR_VMGIは、図27に示すように、STRI、STR_VMGIに関する管理情報等が記述されたビデオマネージャ情報管理情報VTSI_MATと、ストリーム内のプレイリストをサーチするためのサーチポインタが記述されたプレイリストサーチポインタテーブル(PL_SRPT)とを含んでいる。
【0408】
ここで、プレイリストとは、プログラムの一部のリストである。このプレイリストにより、(プログラムの内容に対して)任意の再生シーケンスをユーザが定義できる。
【0409】
ストリームファイル情報テーブルSFITは、ストリーマ動作に直接関係する全てのナビゲーションデータを含むものである。ストリームファイル情報テーブルSFITの詳細については、図29を参照して後述する。
【0410】
オリジナルPGC情報ORG_PGCIは、オリジナルPGC(ORG_PGC)に関する情報を記述した部分である。ORG_PGCはプログラムセットを記述したナビゲーションデータを示す。ORG_PGCはプログラムの連なり(チェーン)であり、図2または図32の「.SRO」ファイル(図2ではSR_TRANS.SRO106)内に記録されたストリームデータを含む。
【0411】
ここで、プログラムセットとは、情報記憶媒体201の記録内容全体(全てのプログラム)を示すものである。プログラムセットの再生においては、任意のプログラムが編集されオリジナル記録に対してその再生順序が変更されている場合を除き、再生順序としてはそのプログラムの記録順序と同じ再生順序が用いられる。このプログラムセットは、オリジナルPGC(ORG_PGC)と呼ばれるデータ構造に対応している。
【0412】
また、プログラムは、ユーザにより認識されあるいはユーザにより定義されるところの、記録内容の論理単位である。プログラムセット中のプログラムは、1以上のオリジナルセルにより構成される。プログラムはオリジナルPGC内でのみ定義されるものである。
【0413】
さらに、セルは、プログラムの一部を示すデータ構造である。オリジナルPGC内のセルは「オリジナルセル」と呼ばれ、後述するユーザ定義PGC内のセルは「ユーザ定義セル」と呼ばれる。
【0414】
プログラムセット内の各々のプログラムは、少なくとも1個のオリジナルセルで構成される。また、各々のプレイリスト中のプログラムの一部それぞれは、少なくとも1個のユーザ定義セルで構成される。
【0415】
一方、ストリーマでは、ストリームセル(SC)だけが定義される。各ストリームセルは、記録されたビットストリームの一部を参照するものである。この発明の実施の形態においては、特に断り無く「セル」と述べた場合は、「ストリームセル」のことを意味している。
【0416】
なお、プログラムチェーン(PGC)とは、上位概念的な単位を示す。オリジナルPGCでは、PGCはプログラムセットに対応したプログラムの連なり(チェーン)を指す。また、ユーザ定義PGCでは、PGCはプレイリストに対応するプログラムの一部の連なり(チェーン)を指す。
【0417】
また、プログラムの一部のチェーンを指すユーザ定義PGCは、ナビゲーションデータだけを含む。そして、各プログラムの一部が、オリジナルPGCに属するストリームデータを参照するようになっている。
【0418】
図27のユーザ定義PGC情報テーブルUD_PGCITは、ユーザ定義PGC情報テーブル情報UD_PGCITIと、1以上のユーザ定義PGCサーチポインタUD_PGC_SRP#nと、1以上のユーザ定義PGC情報UD_PGCI#nとを含むことができる。
【0419】
ユーザ定義PGC情報テーブル情報UD_PGCITIは、ユーザ定義PGCサーチポインタUD_PGC_SRPの数を示すUD_PGC_SRP_Nsと、ユーザ定義PGC情報テーブルUD_PGCITの終了アドレスを示すUD_PGCIT_EAとを含む。
【0420】
UD_PGC_SRP_Nsが示すUD_PGC_SRPの数は、ユーザ定義PGC情報(UD_PGCI)の数と同じであり、ユーザ定義PGC(UD_PGC)の数とも同じである。この数は、最大「99」まで許されている。
【0421】
UD_PGCIT_EAは、該当UD_PGCITの終了アドレスを、そのUD_PGCITの先頭バイトからの相対バイト数(F_RBN)で記述したものである。
【0422】
ここで、F_RBNとは、ファイル内において、定義されたフィールドの先頭バイトからの相対バイト数を示すもので、ゼロから始まる。
【0423】
オリジナルPGC情報ORG_PGCIあるいはユーザ定義PGC情報テーブルUD_PGCIT内のユーザ定義PGC情報UD_PGCIを一般的に表現したPGCI#iについては、図28を参照して後述する。
【0424】
図27のテキストデータマネージャTXTDT_MGは、補足的なテキスト情報である。このTXTDT_MGは、図28のプライマリテキスト情報PRM_TXTIとともに、プレイリストおよびプログラム内に格納できる。
【0425】
図27のアプリケーションプライベートデータマネージャAPDT_Mは、図示しないが、アプリケーションプライベートデータマネージャ一般情報APDT_GIと、1以上のAPDTサーチポインタAPDT_SRP#nと、1以上のAPDTエリアAPADTA#nとを含むことができる。
【0426】
ここで、アプリケーションプライベートデータAPDTとは、ストリーマに接続されたアプリケーションデバイスが任意の非リアルタイム情報(リアルタイムストリームデータに加えさらに望まれる情報)を格納できるような概念上のエリアである。
【0427】
図28は、PGC情報(図3のORG_PGCI/UD_PGCITまたは図27のPGCI#i)の内部データ構造を説明する図である。
【0428】
図28のPGC情報PGCI#iは、図27のオリジナルPGC情報ORG_PGCIあるいはユーザ定義PGC情報テーブルUD_PGCIT内のユーザ定義PGC情報UD_PGCIを一般的に表現したものである。
【0429】
図28に示すように、PGC情報PGCI#iは、PGC一般情報PGC_GIと、1以上のプログラム情報PGI#mと、1以上のストリームセル情報サーチポインタSCI_SRP#nと、1以上のストリームセル情報SCI#nとで構成されている。
【0430】
PGC一般情報PGC_GIは、プログラムの数PG_Nsと、ストリームセル情報サーチポインタSCI_SRPの数SCI_SRP_Nsとを含んでいる。
【0431】
各プログラム情報PGI(たとえばPGI#1)は、プログラムタイプPG_TYと、該当プログラム内のセルの数C_Nsと、該当プログラムのプライマリテキスト情報PRM_TXTIと、アイテムテキストのサーチポインタ番号IT_TXT_SRPNとを含んでいる。
【0432】
ここで、プログラムタイプPG_TYは、該当プログラムの状態を示す情報を含む。とくに、そのプログラムが誤消去などから保護された状態にあるかどうかを示すフラグ、すなわちプロテクトフラグを含む。
【0433】
このプロテクトフラグが「0b」のときは該当プログラムは保護されておらず、「1b」のときは保護された状態にある。
【0434】
セルの数C_Nsは、該当プログラム内のセルの数を示す。PGCの全プログラムおよび全セルの全体に渡り、セルは、その昇順に従い、プログラムに(暗黙のうちに)付随している。
【0435】
たとえば、PGC内でプログラム#1がC_Ns=1を持ち、プログラム#2がC_Ns=2を持つとすれば、そのPGCの最初のストリームセル情報SCIはプログラム#1に付随するものとなり、第2、第3のSCIはプログラム#2に付随するものとなる。
【0436】
プライマリテキスト情報PRM_TXTIは、情報記憶媒体(DVD−RAMディスク)201を世界中で利用可能とするために、1つの共通キャラクタセット(ISO/IEC646:1983(ASCIIコード))を持ったテキスト情報を記述したものである。
【0437】
アイテムテキストのサーチポインタ番号IT_TXT_SRPNは、アイテムテキスト(該当プログラムに対応するテキストデータ)IT_TXTに対するサーチポインタ番号を記述したものである。該当プログラムがアイテムテキストを持たないときは、IT_TXT_SRPNは「0000h」にセットされる。
【0438】
各ストリームセル情報サーチポインタSCI_SRP(たとえばSCI_SRP#1)は、対応ストリームセル情報SCIの開始アドレスを示すSCI_SAを含んでいる。このSCI_SAは、PGCIの先頭バイトからの相対バイト数(F_RBN)で記述される。
【0439】
各ストリームセル情報SCI(たとえばSCI#1)は、ストリームセル一般情報SC_GIと、1以上のストリームセルエントリポイント情報SC_EPI#nとで構成される。
【0440】
ストリームセル一般情報SC_GIは、仮消去(テンポラリイレーズ;TE)状態を示すフラグTEを含むセルタイプC_TYと、ストリームセルのエントリポイント情報の数SC_EPI_Nsと、ストリームオブジェクト番号SOB_Nと、ストリームセル開始APAT(図6他で示したSC_S_APAT)と、ストリームセル終了APAT(図6他で示したSC_E_APAT)と、セルが仮消去状態(TE=01b)にあるときにその仮消去セルの開始APATを示す消去開始APAT(図6他で示したERA_S_APAT)と、セルが仮消去状態(TE=10b)にあるときにその仮消去セルの終了APATを示す消去終了APAT(図6他で示したERA_E_APAT)とを含んでいる。
【0441】
セルタイプC_TYは、該当ストリームセルの形式およびその仮消去状態を記述するものである。
【0442】
すなわち、セルの形式C_TY1=「010b」は全てのストリームセルの形式に記述される(このC_TY1=「010b」によりストリームセルとそれ以外のセルの区別ができる)。
【0443】
一方、フラグTEが「00b」であれば該当セルは通常の状態にあることが示され、フラグTEが「01b」あるいは「10b」であれば該当セルは仮消去の状態にあることが示される。
【0444】
フラグTE=「01b」は、該当セル(仮消去状態にあるセル)が、SOBU内で開始する最初のアプリケーションパケットの後から開始し、同じSOBU内の最終アプリケーションパケットの前で終了する場合を示す。
【0445】
また、フラグTE=「10b」は、該当セル(仮消去状態にあるセル)が、少なくとも1つのSOBU境界(先頭アプリケーションパケットあるいは最終アプリケーションパケットがそのSOBU内で開始する)を含む場合を示す。
【0446】
なお、プログラムのプロテクトフラグと、そのプログラム内のセルのTEフラグとは、同時に設定できないようになっている。それゆえ、
(a)プロテクト状態にあるプログラム内のセルは何れも仮消去状態に設定できず;
(b)仮消去状態にあるセルを1以上含むプログラムはプロテクト状態に設定できない。
【0447】
ストリームセルのエントリポイント情報の数SC_EPI_Nsは、該当ストリームセル情報SCI内に含まれるストリームセルエントリポイント情報の数を記述したものである。
【0448】
図28の各ストリームセルエントリポイント情報SC_EPI(たとえばSC_EPI#1)は、2種類(タイプAとタイプB)存在する。
【0449】
タイプAのSC_EPIは、エントリポイントタイプEP_TYとエントリポイントのアプリケーションパケット到着時間EP_APATとを含む。タイプAは、エントリポイントタイプEP_TY1=「00b」により示される。
【0450】
タイプBのSC_EPIは、タイプAのEP_TYおよびEP_APATの他に、プライマリテキスト情報PRM_TXTIを含む。タイプBは、エントリポイントタイプEP_TY1=「01b」により示される。
【0451】
任意のストリームセルにおいて、記録内容の一部をスキップする道具として、エントリポイントを利用することができる。全てのエントリポイントはアプリケーションパケット到着時間(APAT)により特定できる。このAPATにより、どこからデータ出力が開始されるのかを特定できる。
【0452】
ストリームオブジェクト番号SOB_Nは、該当セルが参照するSOBの番号を記述したものである。
【0453】
ストリームセル開始APAT(SC_S_APAT)は、該当セルの開始APATを記述したものである。
【0454】
ストリームセル終了APAT(SC_E_APAT)は、該当セルの終了APATを記述したものである。
【0455】
消去開始APAT(ERA_S_APAT)は、少なくとも1個のSOBU境界を含む仮消去セル(そのC_TYのTEフィールドが「10b」)において、この仮消去セルに先頭が含まれる最初のSOBU内で開始する最初のアプリケーションパケットの到着時間(APAT)を記述したものである。
【0456】
消去終了APAT(ERA_E_APAT)は、少なくとも1個のSOBU境界を含む仮消去セル(そのC_TYのTEフィールドが「10b」)において、仮消去セルのすぐ後に続くアプリケーションパケットを含むSOBU内で開始する最初のアプリケーションパケットの到着時間(APAT)を記述したものである。
【0457】
図29は、ストリームファイル情報テーブル(図3(f)または図27のSFIT)の内部データ構造を説明する図である。
【0458】
図29に示すように、ストリームファイル情報テーブルSFITは、ストリームファイル情報テーブル情報SFITIと、1以上のストリームオブジェクトストリーム情報SOB_STI#nと、ストリームファイル情報SFIとで構成される。
【0459】
ストリームファイル情報テーブル情報SFITIは、情報記憶媒体(DVD−RAMディスク)201上のストリームファイル情報の数SFI_Nsと、SFITIに続くストリームオブジェクトストリーム情報の数SOB_STI_Nsと、SFITの終了アドレスSFIT_EAと、SFIの開始アドレスSFI_SAとで構成される。
【0460】
SFIT_EAは、SFITの先頭バイトからの相対バイト数(F_RBN)でSFITの終了アドレスを記述したものである。
【0461】
また、SFI_SAは、SFITの先頭バイトからの相対バイト数(F_RBN)でSFIの開始アドレスを記述したものである。
【0462】
ストリームオブジェクトストリーム情報SOB_STIは、3種類のパラメータを含む。各パラメータは箇々のビットストリーム記録に対して固有な値を持つことができる。しかしながら、通常は、多くのビットストリーム記録においてこれらのパラメータセットは等しいものにできる。それゆえ、SOB_STIは、ストリームオブジェクト情報(SOBI)のテーブルとは別のテーブルに格納され、幾つかのストリームオブジェクト(SOB)が同じSOB_STIを共有する(つまり同じSOB_STIをポイントする)ことが認められている。したがって、通常は、SOBの数よりもそB_STIの数の方が少なくなる。
【0463】
図27の各ストリームオブジェクトストリーム情報SOB_STI(たとえばSOB_STI#1)は、アプリケーションパケットサイズAP_SIZと、サービスIDの数SERV_ID_Nsと、サービスID(SERV_IDs)と、アプリケーションパケットデバイスユニークID(AP_DEV_UID)とを含んでいる。
【0464】
AP_SIZは、アプリケーションデバイスからストリーマへ転送されたビットストリーム内のパケットのバイト長で、アプリケーションパケットサイズを記述したものである。
【0465】
なお、DVDストリーマではアプリケーションパケットサイズは、各ビットストリーム記録において、一定とされている。そのため各々の中断のない記録中においてアプリケーションパケットサイズが変化するようなことがあれば、現在のストリームオブジェクト(現SOB)はそこで終了され、新たなストリームオブジェクト(新SOB)が、新たなAP_SIZを伴って開始される。その際、現SOBおよび新SOBの双方は、オリジナルPGC情報(ORG_PGCI)内の同じプログラムに属するものとなる。
【0466】
SERV_ID_Nsは、後続パラメータに含まれるサービスIDの数を記述したものである。
【0467】
SERV_IDsは、サービスIDのリストを任意の順序で記述したものである。
【0468】
AP_DEV_UIDは、記録されたビットストリームを供給したアプリケーションデバイスに固有の、ユニークなデバイスIDを記述したものである。
【0469】
ストリームファイル情報SFIは、図29に示すように、ストリームファイル一般情報SF_GIと、1以上のストリームオブジェクト情報(SOB情報)サーチポインタ(SOBI_SRP)#nと、1以上のSOB情報(SOBI)#nとで構成されている。
【0470】
ストリームファイル一般情報SF_GIは、SOBIの数SOBI_Nsと、SOBU1個あたりのセクタ数SOBU_SIZと、タイムマップ情報の一種であるMTU_SHFTとを含んでいる。
【0471】
ここで、SOBU_SIZは、SOBUのサイズをセクタ数で記述したもので、このサイズは32(32セクタ=64kバイト)で一定となっている。このことは、各タイムマップ情報(MAPL)内において、最初のエントリが、SOBの最初の32セクタ内に含まれるアプリケーションパケットに関係していることを意味する。同様に、2番目のエントリは、次の32セクタに含まれるアプリケーションパケットに関係する。3番目以降のエントリについても以下同様である。
【0472】
各SOB情報サーチポインタ(たとえばSOBI_SRP#1)は、SOBIの開始アドレスSOBI_SAを含んでいる。このSOBI_SAは、ストリームファイル情報SFIの先頭バイトから相対バイト数(F_RBN)でもって関連SOBIの開始アドレスを記述したものである。
【0473】
各SOB情報(たとえばSOBI#1)は、ストリームオブジェクト一般情報SOB_GIと、タイムマップ情報MAPLと、アクセスユニットデータAUD(オプション)とで構成される。
【0474】
ストリームオブジェクト一般情報SOB_GIは、ストリームオブジェクトのタイプSOB_TYと、ストリームオブジェクト記録時間SOB_REC_TMと、ストリームオブジェクトのストリーム情報番号SOB_STI_Nと、アクセスユニットデータフラグAUD_FLAGSと、ストリームオブジェクトの開始アプリケーションパケット到着時間SOB_S_APATと、ストリームオブジェクトの終了アプリケーションパケット到着時間SOB_E_APATと、該当ストリームオブジェクトの先頭ストリームオブジェクトユニットSOB_S_SOBUと、タイムマップ情報のエントリ数MAPL_ENT_Nsとを含んでいる。
【0475】
ストリームオブジェクトのタイプSOB_TYは、仮消去状態(TE状態)を示すビットおよび/またはコピー世代管理システムのビットを記述できる部分である。
【0476】
ストリームオブジェクト記録時間SOB_REC_TMは、関連ストリームオブジェクト(SOB)の記録時間を記述したものである。
【0477】
ストリームオブジェクトのストリーム情報番号SOB_STI_Nは、該当ストリームオブジェクトに対して有効なSOB_STIのインデックスを記述したものである。
【0478】
アクセスユニットデータフラグAUD_FLAGSは、該当ストリームオブジェクトにたいしてアクセスユニットデータ(AUD)が存在するか否か、また存在するならどんな種類のアクセスユニットデータなのかを記述したものである。
【0479】
アクセスユニットデータ(AUD)が存在する場合は、AUD_FLAGSにより、AUDの幾つかの特性が記述される。
【0480】
アクセスユニットデータ(AUD)自体は、図29に示すように、アクセスユニット一般情報AU_GIと、アクセスユニットエンドマップAUEMと、再生タイムスタンプリストPTSLとで構成される。
【0481】
アクセスユニット一般情報AU_GIは、該当SOBに対して記述されたアクセスユニットの数を示すAU_Nsと、該当SOBに属するSOBUのどれがアクセスユニットを含むのかを示すアクセスユニット開始マップAUSMとを含んでいる。
【0482】
アクセスユニットエンドマップAUEMは、(もし存在するときは)AUSMと同じ長さのビットアレイであり、該当SOBのアクセスユニットに付随するビットストリームセグメントの終端をどのSOBUが含むのかを示す。
【0483】
再生タイムスタンプリストPTSLは、該当SOBに属する全てのアクセスユニットの再生タイムスタンプのリストである。このリストに含まれる1つのPTSLエレメントは、対応アクセスユニットの再生タイムスタンプ(PTS)を含む。
【0484】
なお、アクセスユニット(AU)とは、記録されたビットストリームのうちの任意の単一連続部分を指し、個別の再生に適するように構成されている。たとえばオーディオ・ビデオのビットストリームにおいては、アクセスユニットは、通常は、MPEGのIピクチャに対応する部分となる。
【0485】
ここで再びSOB_GIの内容説明に戻る。
【0486】
AUD_FLAGSは、フラグRTAU_FLGと、フラグAUD_FLGと、フラグAUEM_FLGと、フラグPTSL_FLGとを含んでいる。
【0487】
フラグRTAU_FLGが0bのときは、該当SOBのリアルタイムデータ内にアクセスユニットフラグはないことが示される。
【0488】
フラグRTAU_FLGが1bのときは、図26(a)のアプリケーションヘッダエクステンション内に記述されるAUフラグ(AU_START、AU_END)が、該当SOBのリアルタイムデータ内に存在可能なことが示される。この状態は、下記AUD_FLGが0bの場合にも許される。
【0489】
フラグAUD_FLGが0bのときは、該当SOBに対してアクセスユニットデータ(AUD)がないことが示される。
【0490】
フラグAUD_FLGが1bのときは、該当SOBに対してアクセスユニットデータ(AUD)が存在し得ることが示される。
【0491】
フラグAUEM_FLGが0bのときは、該当SOBにAUEMが存在しないことが示される。
【0492】
フラグAUEM_FLGが1bのときは、該当SOBにAUEMが存在することが示される。
【0493】
フラグPTSL_FLGが0bのときは、該当SOBにPTSLが存在しないことが示される。
【0494】
フラグPTSL_FLGが1bのときは、該当SOBにPTSLが存在することが示される。
【0495】
SOB_S_APATは、ストリームオブジェクトの開始アプリケーションパケット到着時間を記述したものである。つまり、SOB_S_APATにより、該当SOBに属する最初のアプリケーションパケット到着時間が示される。
【0496】
このパケット到着時間(PAT)は、2つの部分、すなわち基本部分と拡張部分に分けられる。基本部分は90kHzユニット値と呼ばれる部分であり、拡張部分は27MHzで測った細かい値(less significant value)を示す。
【0497】
SOB_E_APATは、ストリームオブジェクトの終了アプリケーションパケット到着時間を記述したものである。つまり、SOB_E_APATにより、該当SOBに属する最後のアプリケーションパケット到着時間が示される。
【0498】
SOB_S_SOBUは、該当ストリームオブジェクトの先頭ストリームオブジェクトユニットを記述したものである。つまり、SOB_S_SOBUにより、ストリームオブジェクトの先頭アプリケーションパケットの開始部分を含むSOBUが示される。
【0499】
MAPL_ENT_Nsは、SOBI_GIの後に続くタイムマップ情報(MAPL)のエントリ数を記述したものである。
【0500】
タイムマップ情報MAPLは、図3(h)のタイムマップ情報252に対応する内容を持つ。
【0501】
図30は、あるプログラム#jの一部が部分的に消去(仮消去および本消去)された場合における、セルと対応時間情報(SC_S_APAT/SC_E_APAT;ERA_S_APAT/ERA_E_APAT)との関係例(その1)を説明する図である。
【0502】
この発明の一実施の形態に係るストリーマは、図17のところで前述したように、ストリームの一部を完全に消去する部分消去と、ストリームの一部を仮に消去(テンポラリイレーズ;TE)する仮消去とを扱うことができる。
【0503】
いま、図30(a)に示すようにオリジナルプログラム(SOB#nに対応)のプログラム#jがセル#kで構成され、このセル#kがSOBU#1〜SOBU#6で構成されているとする。このとき、セル#kの開始時間がSC_S_APATで示され、その終了時間がSC_E_APATで示されている。
【0504】
このようなプログラム#jにおいて、ストリーマのユーザが、図30(b)に示すように、SOBU#3〜SOBU#4を完全に含むエリア(SC_S_APATから始まりSC_E_APATで終わる)を仮消去セル#k+1として設定したとする。このとき、セル#k+1の仮消去フラグTEは「10b」となる。
【0505】
この場合、仮消去前(図30(a))のセル#kのSOBU#1〜SOBU#2に対応する部分は、仮消去後(図30(b))も変わらずセル#kとなる。また、仮消去セル(TEセル)#k+1に含まれるSOBU#3〜SOBU#4の後のSOBU#5〜SOBU#6に対応する部分は、仮消去後(図30(b))のセル#k+2となる。
【0506】
図30(b)に示すように、仮消去セル(TEセル)#k+1は、SOBU#3とSOBU#4との間にできるSOBU境界を含んでいる。この場合、SOBU#3内で開始する先頭アプリケーションパケットのアプリケーションパケット到着時間が、TEセル#k+1のERA_S_APATで示される。また、TEセル#k+1の直ぐ後に続くアプリケーションパケットを含むSOBU#5内で開始する先頭アプリケーションパケットのアプリケーションパケット到着時間が、TEセル#k+1のERA_E_APATで示されている。
【0507】
図30(b)のプログラム#jからTEセル#k+1が本当に消去(完全消去)されると、オリジナルプログラム(図30(a))ではSOB#nに属していたプログラム#jは、図30(c)に示すように、SOB#nとSOB#n+1とに分かれる。
【0508】
この場合、完全消去後のセル#kのSC_E_APATを、TEセル#k+1のERA_S_APATに合わせることができる。また、完全消去後のセル#k+1のSC_S_APATは、TEセル#k+1のERA_E_APATに合わせることができる。
【0509】
このようにSC_S_APATおよびSC_E_APATだけでなくERA_S_APATおよびERA_E_APATも用いる理由を以下に述べる。
【0510】
TEセルは、2種類の特別なAPAT、すなわちSC_S_APAT/SC_E_APATとERA_S_APAT/ERA_E_APATを持つことができる。それは、TEセル内のSOBU(図30(b)ではSOBU#3〜SOBU#4)を、記録中に再利用できるようにするためである。
【0511】
換言すれば、記録中に媒体(DVD−RAMディスク)201が満杯になってしまったとき、ストリーマは、TEセルを完全消去することにより新たな未記録状態のSOBU(図30(b)ではSOBU#3〜SOBU#4)を獲得し、このSOBUを用いて記録を中断なく継続する。
【0512】
この「新たな未記録状態のSOBUの獲得」という目的に対しては、TEセルのSC_S_APATおよびSC_E_APATだけでは不十分である。というのも、タイムマップ情報(MAPL)を介した検索において、割り当てられたSOBUには2つの可能な検索位置ができてしまうためである。しかし、ERA_S_APATおよびERA_E_APATを用いれば、ストリームに何ら関与することなく正確なSOBU位置を特定できるようになる。
【0513】
図31は、あるプログラム#jの一部が部分的に消去(仮消去および本消去)された場合における、セルと対応時間情報(SC_S_APAT/SC_E_APAT)との関係例(その2)を説明する図である。
【0514】
図31において、オリジナル記録のプログラム#jは、TEフラグが「00b」のセル#k(開始時間はSC_S_APAT;終了時間はSC_E_APAT)で構成されている。
【0515】
ここでは、仮消去セルがSOBU境界を含まない場合(ERA_S_APAT/ERA_E_APATを)を想定している。
【0516】
このプログラム#jの途中の一部(APAT=AからAPAT=Bまでの範囲)に対して仮消去が実行されると、オリジナル記録のセル#kは、セル#k(TEフラグが「00b」;開始時間はSC_S_APATk;終了時間はSC_E_APATk)と、セル#k+1(TEフラグが「10b」;開始時間はSC_S_APATk+1;終了時間はSC_E_APATk+1)と、セル#k+2(TEフラグが「00b」;開始時間はSC_S_APATk+2;終了時間はSC_E_APATk+2)に3分割される。
【0517】
仮消去(TE)実行後、オリジナルセルを再編成すると、図31の中段に示すように、プログラム#jは再びTEフラグが「00b」のセル#k(開始時間はSC_S_APAT;終了時間はSC_E_APAT)となる。
【0518】
ここで、仮消去(TE)動作はオリジナルPGC情報の内容には影響せず、ストリームファイル情報SFIの内容は変更されず残される。
【0519】
一方、ユーザ定義PGC情報は、変更されないか、あるいはユーザ定義セルがTEセルを参照しないように修正できる。
【0520】
仮消去の主な動作は、プログラム#j内で実行される。仮消去は、プログラム#jのセルを、通常のストリーム部(消去されていない部分)および仮消去部をカバーする部分に分割することで実行される。
【0521】
ユーザ定義PGC情報の内容を変更せずにそのままにしておく場合は、TE動作の再構成後も、ナビゲーションデータは仮消去前の状態と全く変わらない。
【0522】
情報記憶媒体201の未記録領域を使いきり記録スペースが不足すると、仮消去セル#k+1は完全消去される。すると、図31の下段に示すように、仮消去時のセル#kは完全消去後にも変更されずセル#kとなるが、仮消去時のセル#k+2は完全消去後にセル#k+1となる。
【0523】
図32は、オリジナルPGCあるいはユーザ定義PGCで指定されるセルと、これらのセルに対応するSOBUとが、タイムマップ情報によってどのように関係付けられるかを例示する図である。
【0524】
ユーザ定義PGCは自身のSOBを含まないが、オリジナルPGC内のSOBを参照する。それゆえ、ユーザ定義PGCはPGC情報を用いることのみで記述できる。このことは、SOBデータを何らいじることなく任意の再生シーケンスが実現可能なことを意味する。
【0525】
ユーザ定義PGCはまた、プログラムを含まず、オリジナルPGC内のプログラムの一部に対応したセルの連なり(チェーン)で構成される。
【0526】
このようなユーザ定義PGCの一例が、図32に示されている。この例は、PGC内のセルがオリジナルPGC内のSOBを参照するようにユーザ定義PGC#nが作成されている場合を示す。
【0527】
図32において、PGC#nは4つのセル#1〜#4を持っている。そのうち2つはSOB#1を参照し、残りの2つがSOB#2を参照している。
【0528】
ユーザ定義PGC内のセルからオリジナルPGCへ(SOBIのタイムマップ情報へ)の実線矢印は、該当セルに対する再生期間を示している。ユーザ定義PGC内のセル再生順序は、オリジナルPGCにおける再生順序と全く異なってもよい。
【0529】
任意のSOBおよびそのSOBUの再生は、図32の開始APAT(S_APAT)および終了APAT(E_APAT)により特定される。
【0530】
SOBあるいはSOBUのS_APATは、該当SOBのストリームパックのペイロード(図8(b)参照)内に記録されたタイムスタンプに関係して定義される。SOBの記録中、各到来アプリケーションパケットには、ストリーマ内のローカルクロックリファレンスによりタイムスタンプが付される。これが、アプリケーションパケット到着時間(APAT)である。
【0531】
SOBの先頭アプリケーションパケットのAPATはSOB_S_APATとして記憶される。全てのAPATの4最下位バイト(4 least significant bytes)は、〜.SROファイル内の対応アプリケーションパケット用に予め固定されている。
【0532】
SOBあるいはSOBUのデータを再生するために、ストリーマ内部のリファレンスクロックはSCR値にセットされ、その後クロックが自動的にカウントされる。このSCR値は、再生が始まる最初のストリームパック内(パックヘッダ内)に記述されている。このクロックに基づいて、SOBあるいはSOBUからの全ての後続アプリケーションパケットの再生・出力が、実行される。
【0533】
任意のストリームセル(SC)が、そのSCがポイントするSOBのSOB_S_APATとSOB_E_APATとの間の任意の値を持つストリームセル開始APAT(SC_S_APAT)を規定しているときは、所望のAPATを伴うアプリケーションパケットを含んだSOBUを見つけるためのアドレスが必要となる。
【0534】
SOBU1個あたりのストリームパックの数は一定であるが、各SOBUにより捕らえられた到着時間の間隔はフレキシブルである。それゆえ、各SOBは、該当SOBのSOBUの到着時間間隔が記述されたタイムマップ情報(MAPL)を持つ。つまり、タイムマップ情報(MAPL)により実現されるアドレス方式は、任意のAPATをファイル内の相対論理ブロックアドレスに変換して、所望のアプリケーションパケットを見つけることができるSOBUをポイントする。
【0535】
図33は、各ストリームオブジェクト(SOB)を構成するSOBUの内容が、図3のデータエリア207(図1ではデータエリア21〜23)にどのように記録されるかを例示する図である。ここでは、SOBが記録されるときにSOBをどのようにアロケートするかを説明する。
【0536】
情報記憶媒体(DVD−RAMディスク)201のフリースペースを有効活用するため、図33に示すように、媒体(ディスク)全体に分散したデータエリア内にSOBをアロケートすることができる。
【0537】
このようなSOBを媒体(ディスク)から読み取るときは、あるデータエリアから次のデータエリアにジャンプする間、媒体(ディスク)からのデータ供給が中断する。このような場合でもSOBデータの連続供給を保証するためには、SOBデータのアロケーションは次のような条件で行なう。
【0538】
すなわち、SOBは連続データエリア(以下適宜CDAと略記する)のチェーン内にアロケートする。CDAは基本的には媒体(ディスク)内の連続物理セクタのシーケンスとなる。
【0539】
DCAの最小長およびCDA内のデータアロケーションは、各SOBを連続再生できるような再生装置モデルにより制限を受ける。
【0540】
連続データエリア(CDA)は媒体(ディスク)内の連続物理セクタである。CDAは複数のECCブロックからなる。CDA内では、CDA内で幾つかの物理セクタが記録時にスキップするような場合を除き、SOBデータが連続的にアロケートされる。
【0541】
SOBデータがCDA内に記録される際の制限としては、以下のものがある:(21)SOBデータとその他のデータは、同じECCブロック内に記録しない;
(22)SOBデータの記録中に欠陥セクタに出くわしたとしても、交替処理(リニアリプレイスメント)は用いない。
【0542】
ここで、複数アプリケーションパケットを含むあるSOBU内にセル開始APATがある場合の再生について、説明を補足しておく。
【0543】
セルは、SOBU境界に一致しないセル開始APATあるいはセル終了APATを持つことができる。いま、2つの連続SOBU#K−1およびSOBU#kがあり、SOBU#k内の中間部分にセル開始APATがある場合を考えてみる。
【0544】
上記セル開始APATにより特定されるアプリケーションパケットから一連のアプリケーションパケットの再生を開始する場合には、まず、目的のアプリケーションパケット(所望のAPATに対応)を含むSOBU#kにアクセスする必要がある。いきなり目的のアプリケーションパケットにアクセスしないのは、タイムマップ情報(MAPL)によるアドレス方式がSOBUの開始アドレスしか与えない場合を想定しているからである。
【0545】
所望のAPATを見つけるためには、上記SOBU#k内の全てのアプリケーションパケットを初め(SOBU#k−1とSOBU#kとの境界)からスキャンしなければならない。このスキャンにより所望のAPATが見つかれば、見つかった位置から以後のアプリケーションパケットの再生出力が、それらのアプリケーションパケットのタイムスタンプ(ATS)にしたがって開始される。
【0546】
以上説明したように、この発明の実施の形態における効果をまとめると、以下のようになる。
【0547】
1.情報記憶媒体上に記録するストリームデータを所定サイズのストリームブロック単位(あるいはSOBU単位)で構成し、そのストリームブロック単位で記録・消去するため、ストリームブロック先頭位置のアドレス割り出しが非常に容易となり、再生時のアクセス制御がしやすくなる。(図14のS12に示すように再生時には、ストリームブロック先頭位置から再生を開始する。)
2.情報記憶媒体上に記録するストリームデータを所定サイズ(たとえば32セクタ64kバイト)のストリームブロックで構成し、同一ストリームブロック内ではタイムスタンプやデータパケット(トランスポートパケット)が異なるセクタを跨いで記録できるため、セクタサイズ(2048kバイト)よりも大きなサイズのデータパケット(トランスポートパケット)を記録することができる。
【0548】
3.情報記憶媒体としてDVD−RAMディスクが用いられる場合には、16セクタ毎にECCブロックが構成され、そのECCブロック内ではデータのインターリーブ(並び替え)とエラー訂正用コードが付加されている。そのため、ECCブロック内の特定のセクタのみを消去し、あるいは書き換え、もしくは追記するためには、一度ECCブロック内の全データを読み取り(リード)、バッファメモリ内で再並び替え(デインターリーブ)を行った後、特定セクタ分のデータを消去あるいは書き換え、追記を行い(モディファイ)、再度インターリーブ(並び替え)とエラー訂正用コードを付加して記録する(リード・モディファイ・ライト)と言う処理が必要となる。この処理は非常に時間が掛かりストリームデータの記録や部分消去が実時間で行えないと言う問題がある。
【0549】
それに対してストリームブロックサイズをECCブロックサイズの整数倍(たとえばSOBU=2ECCブロックサイズ)にして、ストリームブロック単位(SOBU単位)で記録、部分消去を行う。このため、リード・モディファイ・ライト処理が不要となり、直接ECCブロック単位で情報記憶媒体上に上書きが可能となる。その結果、ストリームデータの記録あるいは部分消去の処理が高速で行え、実時間処理(リアルタイム処理)が可能となる。
【0550】
4.ストリームブロック毎に独自のヘッダ情報(ストリームブロックヘッダあるいはアプリケーションヘッダ)を持たせることにより、ストリームデータ再生時にはストリームブロック先頭位置から再生を開始することが可能となる。そのため、ストリームデータ記録再生装置(ストリーマ)では早い時期にストリームブロックヘッダを読み取ることで再生したストリームデータ処理を容易にすることができる。
【0551】
5.上述したように基本的にストリームブロック先頭位置から再生を開始するが、希なケースとしてストリームブロック内の2番目以降のECCブロック先頭位置から再生を開始する場合があり得る。
【0552】
図1において同一のトランスポートパケットdが2個のセクタ(セクタNo.0とセクタNo.1)に跨って記録されている例に示すように、2番目以降のECCブロック先頭位置から再生を開始した場合には、何処に次のタイムスタンプ情報が記録されているかを知る必要がある。
【0553】
各セクタの先頭位置に独自のヘッダ情報(セクタデータヘッダあるいはアプリケーションヘッダ)を配置させ、その中にファーストアクセスポイント651(あるいは図12(c)のFIRST_AP_OFFSET)を記録することで、ストリームブロック内の2番目以降のECCブロックの先頭位置から再生開始を容易にすることができる。
【0554】
6.図1(j)に示すように、ストリームブロック#2内に記録するストリームデータの最後にはエンドコード32が付けられている。しかし、情報記憶媒体からのデータ再生時にECCブロック毎のエラー訂正ミスあるいはストリームデータ記録再生装置内でのデータ転送エラーによりエンドコード32が読めない場合、パディングエリア38内にもストリームデータが記録されていると誤解釈されて間違った映像が表示される危険性がある。
【0555】
図10のPESヘッダ601(あるいはストリームPESパケットヘッダ)のストリームID603(あるいはサブストリームID)を”10111110”にしてセクタNo.79をパディングパケット40とした場合には、パディングエリア38内にもストリームデータが記録されていると誤解釈されてデータ転送された場合でもエンコード部(ビデオエンコード部416、オーディオエンコード部417、SPエンコード部418)でパディングパケット40と理解され、読み飛ばしてくれる。
【0556】
以上のようにパディングパケット40(あるいは図26(i)のスタッフィングパケット)を設定することで、エンドコード32が読めずにパディングエリア38を誤認識した場合でも間違った映像を表示する危険性を大幅に低下させることができる。
【0557】
7.オリジナルセルで指定される領域範囲を、ストリームオブジェクトで指定される領域範囲と等しいか、それより小さくする。このように部分消去後の残存したストリームオブジェクト内の再生範囲を指定することで、ユーザは、見かけ上、任意の範囲を、精度良く、部分消去の範囲として設定できる。
【0558】
なお、この発明は上記各実施の形態に限定されるものではなく、その実施の段階ではその要旨を逸脱しない範囲で種々な変形・変更が可能である。また、各実施の形態は可能な限り適宜組み合わせて実施されてもよく、その場合組み合わせによる効果が得られる。
【0559】
さらに、上記実施の形態には種々な段階の発明が含まれており、この出願で開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出され得る。たとえば、実施の形態に示される全構成要件から1または複数の構成要件が削除されても、この発明の効果あるいはこの発明の実施に伴う効果のうち少なくとも1つが得られるときは、この構成要件が削除された構成が発明として抽出され得るものである。
【0560】
【発明の効果】
以上述べたように、この発明によれば、ストリーム情報記録の処理に関する改善を図ることができる。
【図面の簡単な説明】
【図1】この発明の一実施の形態に係るストリームデータのデータ構造を説明する図。
【図2】この発明の一実施の形態に係るデータファイルのディレクトリ構造を説明する図。
【図3】この発明の一実施の形態に係る情報媒体(DVD録再ディスク)上の記録データ構造を説明する図。
【図4】この発明におけるストリームオブジェクト(SOB)、セル、プログラムチェーン(PGC)等の間の関係を説明する図。
【図5】タイムマップ情報におけるストリームブロックサイズ、ストリームブロック時間差の内容を説明する図。
【図6】オリジナルセルおよびユーザ定義セルにおけるセル範囲指定方法を説明する図。
【図7】この発明の一実施の形態に係るストリームデータ記録再生装置(ストリーマ)の構成を説明する図。
【図8】デジタル放送のコンテンツとIEEE1394における映像データ転送形態とストリーマにおけるストリームパックとの対応関係を説明する図。
【図9】MPEGにおける映像情報圧縮方法とトランスポートパケットとの関係、およびMPEGにおけるトランスポートパケットとストリーマにおけるアプリケーションパケットとの関係を説明する図。
【図10】図1、図8、図9等に示されたPESヘッダの内部構造を説明する図。
【図11】図1に示されたストリームブロックヘッダの内部構造を説明する図。
【図12】図1に示されたセクタデータヘッダの内部構造を説明する図。
【図13】この発明の一実施の形態に係るストリームデータのエンコード手順および録画手順を説明するフローチャート図。
【図14】この発明の一実施の形態に係るストリームデータのデコード手順および再生手順を説明するフローチャート図。
【図15】この発明の一実施の形態に係るストリームデータの部分消去方法を説明する図(例1)。
【図16】この発明の他の実施の形態に係るストリームデータの部分消去方法説明図を説明する図(例2)。
【図17】この発明の一実施の形態に係るストリームデータの部分消去手順を説明するフローチャート図。
【図18】MPEGエンコードされた映像データ(部分消去前あるいは仮消去前)に対する時間管理情報設定方法を説明する図。
【図19】図18の映像データに対応したオリジナルセル情報(部分消去前あるいは仮消去前)における時間情報とフィールド情報との関係を説明する図。
【図20】MPEGエンコードされた映像データ(部分消去後あるいは仮消去後)に対する時間管理情報設定方法を説明する図。
【図21】図20の映像データに対応したオリジナルセル情報(部分消去後あるいは仮消去後)における時間情報とフィールド情報との関係を説明する図。
【図22】図15の変形例であって、全ストリームブロックが一定サイズ(32セクタ=2ECCブロック)のSOBUで構成される場合におけるストリームデータの部分消去方法の一例を説明する図。
【図23】図22の変形例であって、全ストリームブロックが一定サイズ(32セクタ=2ECCブロック)のSOBUで構成される場合におけるストリームデータの仮消去方法の一例を説明する図。
【図24】図16の変形例であって、全ストリームブロックが一定サイズ(32セクタ=2ECCブロック)のSOBUで構成される場合におけるストリームデータの部分消去方法の他例を説明する図。
【図25】図24の変形例であって、全ストリームブロックが一定サイズ(32セクタ=2ECCブロック)のSOBUで構成される場合におけるストリームデータの仮消去方法の他例を説明する図。
【図26】ストリームブロック(SOBU)を構成するセクタの内部構成(アプリケーションパケットを含むストリームパックおよびスタッフィングパケットを含むストリームパック)の一例を説明する図。
【図27】ストリーマの管理情報(図2のSTREAM.IFOまたはSR_MANGR.IFOに対応)の内部データ構造を説明する図。
【図28】PGC情報(図3のORG_PGCI/UD_PGCITまたは図27のPGCI#i)の内部データ構造を説明する図。
【図29】ストリームファイル情報テーブル(図3または図27のSFIT)の内部データ構造を説明する図。
【図30】あるプログラム#jの一部が部分的に消去(仮消去および本消去)された場合における、セルと対応時間情報(SC_S_APAT/SC_E_APAT;ERA_S_APAT/ERA_E_APAT)との関係例(その1)を説明する図。
【図31】あるプログラム#jの一部が部分的に消去(仮消去および本消去)された場合における、セルと対応時間情報(SC_S_APAT/SC_E_APAT)との関係例(その2)を説明する図。
【図32】オリジナルPGCあるいはユーザ定義PGCで指定されるセルと、これらのセルに対応するSOBUとが、タイムマップ情報によってどのように関係付けられるかを例示する図。
【図33】各ストリームオブジェクト(SOB)を構成するSOBUの内容が、図3のデータエリア207(図1ではデータエリア21〜23)にどのように記録されるかを例示する図。
【符号の説明】
201…情報媒体、401…エンコード部、402…デコード部、404…メインMPU、409…ディスクドライブ部。
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention generates (encodes) bit stream information such as digital broadcasting or stream data transmitted with a packet structure, records the encoded stream data on an information medium, and decodes or records the encoded stream data. The present invention relates to a method of partially erasing (provisionally erasing / mainly erasing) stream data that has been erased.
[0002]
[Prior art]
In recent years, TV broadcasting has entered the age of digital broadcasting. Accordingly, there has been a demand for a device for storing digital data of digital TV broadcasting as digital data regardless of its content, that is, a so-called streamer.
[0003]
In digital TV broadcasting currently being broadcast, an MPEG transport stream is employed. In the field of digital broadcasting using moving images, the MPEG transport stream will be used as a standard in the future.
[0004]
As a streamer for recording the digital broadcast data, a home digital VCR such as a D-VHS (digital VHS) is currently on the market. In the streamer using the D-VHS, the broadcasted bit stream is directly recorded on a tape. Therefore, a plurality of programs are multiplexed and recorded on the video tape.
[0005]
At the time of playback, all data is sent from the VCR to a set-top box (digital TV receiving apparatus: abbreviated as STB hereinafter) as it is when playing from the beginning or from the middle. In this STB, a desired program is selected from the transmitted data by a user operation or the like. The selected program information is transferred from the STB to a digital TV receiver or the like, and is played (playback of video + audio or the like).
[0006]
In this D-VHS streamer, since a tape is used as a recording medium, quick random access cannot be realized, and it is difficult to quickly jump to a desired position of a desired program and reproduce it.
[0007]
A streamer using a large-capacity disk medium such as a DVD-RAM can be considered as a promising candidate that can solve such a disadvantage of a tape (difficulty of random access). In this case, considering random access and trick play, it is necessary to record management data together with broadcast data.
[0008]
[Problems to be solved by the invention]
In general, when a DVD-RAM disk is used as an information storage medium, an ECC block is configured for every 16 sectors, and data interleaving (rearrangement) and an error correction code are added in the ECC block. Therefore, in order to erase or rewrite only a specific sector in an ECC block, and to additionally write data, the following complicated processing is required.
[0009]
That is, once all data in the ECC block is read (read) and rearranged (deinterleaved) in the buffer memory, data for a specific sector is erased or rewritten, and additional writing is performed (modify). In this case, a process called "read-modify-write" is required in which an interleave (rearrangement) and an error correction code are added and recorded again.
[0010]
This process is very time-consuming, and has a problem that recording and partial erasure of stream data cannot be performed in real time.
[0011]
The present invention has been made in view of the above circumstances, and an object of the present invention is to improve stream information recording processing.
[0012]
[Means for Solving the Problems]
In order to achieve the above object, in an embodiment of the present invention, an optical disc having a data area for recording stream data and a management area for recording management information of the stream data, When a data packet called a transport packet or an application packet is expressed as a first data unit, a data unit called a stream block or a stream object unit is expressed as a second data unit, and object data called a stream object is expressed as a third data unit Wherein the third data unit includes one or more second data units including one or more first data units. The stream object forms the stream data recorded in the data area. Further, the second data unit includes header information, and the header information includes information on the time of the first data unit. Header information including information on the time is recorded in the data area different from the management area.
[0013]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, a method for generating stream data, a method for recording the stream data, a method for partially deleting recorded stream data, and the like according to an embodiment of the present invention will be described with reference to the drawings.
[0014]
FIG. 1 is a diagram illustrating a data structure of stream data according to an embodiment of the present invention.
[0015]
Stream data recorded on an information storage medium such as a DVD-RAM disk is organized as a stream object (hereinafter abbreviated as SOB as appropriate) for each content of video information in the stream data. Each SOB is formed by stream data obtained by one real-time continuous recording.
[0016]
FIG. 1F shows one SOB # A · 298 among one or more stream objects. When this stream data is recorded on a DVD-RAM disk, each is recorded with a sector of 2048 kbytes as a minimum unit. Further, 16 sectors are combined into one ECC block, and interleaving (reordering of the data arrangement order) and addition of a correction code for error correction are performed in the same ECC block.
[0017]
In this embodiment, a stream block is configured in units of one or a plurality of ECC blocks, and recording or partial erasure of stream information is performed in units of this stream block. Here are the features of the present invention.
[0018]
In this embodiment, how many ECC blocks constitute a stream block can be determined according to the transfer rate of the stream data to be transferred. For example, in the example of FIG. 1E, the stream block # 1 is composed of two ECC blocks # α and # β, and the stream block # 2 is composed of three ECC blocks # γ, # δ and # ε. I have. In the DVD streamer, one stream block (stream object unit SOBU) is composed of two ECC blocks (32 sectors).
[0019]
Each ECC block is composed of 16 sectors as shown in FIG. Therefore, as can be seen from FIGS. 1D and 1E, a stream block (or SOBU) # 1 composed of two ECC blocks corresponds to 32 sectors (sector No. 0 to sector No. 31).
[0020]
That is, if 1 sector = 2 kbytes, the present invention can be implemented with a stream block (SOBU) having a fixed size of 64 kbytes (32 sectors).
[0021]
The content of each sector corresponds to a stream pack (details will be described later with reference to FIG. 9 and the like). Then, for example, the sector No. As shown in FIG. 1C, the stream pack corresponding to 0 (FIG. 1D) includes a pack header 1, a PES header 6, a stream block header (described later with reference to FIG. 11) 11, and And a data area 21. Also, the sector No. As shown in FIG. 1C, the stream pack corresponding to 1 (FIG. 1D) includes a pack header 2, a PES header 7, a sector data header (described later with reference to FIG. 12) 12, a data And an area 22.
[0022]
An example of the internal configuration of the PES headers 6 and 7 in FIG. 1C will be described later with reference to FIG.
[0023]
As shown in FIG. 1 (b), the data area 21 of FIG. 1 (c) is an array of pairs of a time stamp and a transport packet (time stamp a, transport packet a, time stamp b,. Port packet d). Similarly, the data area 22 includes another arrangement of pairs of time stamps and transport packets. On the other hand, the rear data area 23 includes a transport packet f, an end code 31, and a padding area 36, as shown in FIG.
[0024]
A plurality of pairs of a time stamp and a transport packet in FIG. 1B become a bit stream having an arrangement as shown in FIG.
[0025]
The data structure of stream block # 1 (FIG. 1 (e)) in front of SOB # A · 298 (FIG. 1 (f)) is as shown in FIGS. 1 (d) and 1 (b). The data structure of stream block # 2 (FIG. 1 (g)) subsequent to is as follows.
[0026]
That is, the backward sector No. of the last ECC block # ε of the stream block # 2. 78 (FIG. 1 (h)) includes a pack header 3, a PES header 8, a sector data header 13, and a data area 24, as shown in FIG. 1 (i). In addition, the last sector No. of the ECC block # ε. 79 (FIG. 1 (h)) includes the pack header 4 and the padding packet 40 as shown in FIG. 1 (i).
[0027]
Sector No. The data area 24 includes a transport packet z, an end code 32, and a padding area 37, as shown in FIG. In addition, the last sector No. The padding packet 79 includes the PES header 9 and the padding area 38 as shown in FIG.
[0028]
The contents of the padding area 38 will be described later with reference to FIG.
[0029]
FIG. 2 is a diagram illustrating a directory structure of a data file according to an embodiment of the present invention.
[0030]
Information recorded on an information storage medium such as a DVD-RAM disk has a hierarchical file structure for each piece of information. The video information and stream data information described in this embodiment are contained in a subdirectory 101 named DVD_RTR directory (or DVD_RTAV) 102.
[0031]
A data file 103 having the following contents is stored in the DVD_RTR (DVD_RTAV) directory 102.
[0032]
That is, as a group of management information (navigation data), RTR. IFO (or VR_MANGR.IFO) 104 and STREAM. IFO (SR_MANGR.IFO / SR_MANGR.BUP) 105 and SR_PRIVT. DAT / SR_PRIVT. BUP 105a is stored.
[0033]
Also, as the data body (content information), STREAM. VRO (or SR_TRANS.SRO) 106 and RTR_MOV. VRO (VR_MOVIE.VRO) 107 and RTR_STO. VRO (or VR_STILL.VRO) 108 and RTR_STA. VRO (or VR_AUDIO.VRO) 109 is stored.
[0034]
A sub-directory 110 for storing other information can be provided in the root directory 100 at a higher level than the sub-directory 101 including the data file 103.
[0035]
The contents of this subdirectory include a video title set VIDEO_TS111 containing a video program, an audio title set AUDIO_TS112 containing an audio program, and a subdirectory 113 for storing computer data.
[0036]
For data transmitted in a packet structure on a wired or wireless data communication path, data recorded on an information storage medium while retaining the packet structure is referred to as “stream data”.
[0037]
The stream data itself is STREAM. VRO (or SR_TRANS.SRO) 106 is collectively recorded with a file name. The file in which the management information for the stream data is recorded is STREAM. IFO (or SR_MANGR.IFO and its backup file SR_MANGR.BUP) 105.
[0038]
A file in which analog video information handled by a VCR (VTR) or a conventional TV is digitally compressed based on the MPEG2 standard and recorded is RTR_MOV. VRO (or VR_MOVIE.VRO) 107, which is a file in which still image information including after-recorded audio or background audio is collected is RTR_STO. VRO (or VR_STILL.VRO) 108 whose dubbing audio information file is RTR_STA. VRO (or VR_AUDIO.VRO) 109.
[0039]
FIG. 3 is a diagram for explaining a recording data structure on an information medium according to an embodiment of the present invention, for example, a rewritable optical disk 201 such as a DVD-RAM disk.
[0040]
As shown in FIG. 3B, a lead-in area 204 includes a lead-in area 204, which is located between an end in the inner circumferential direction 202 and an end in the outer circumferential direction 203 of the information storage medium 201 in FIG. There are volume & file structure information 206 in which file system information is recorded, a data area 207, and a lead-out area 205. The lead-in area 204 includes an embossable and rewritable data zone, and the lead-out area 205 includes a rewritable data zone. The data area 207 is also composed of a rewritable data zone.
[0041]
In the data area 207, as shown in FIG. 3C, computer data and audio & video data can be mixedly recorded. In this example, an audio & video data area 210 is sandwiched between the computer data area 208 and the computer data area 209.
[0042]
In the audio & video data area 210, as shown in FIG. 3D, mixed recording of a real-time video recording area 221 and a stream recording area 222 is possible. (It is also possible to use only one of the real-time video recording area 221 and the stream recording area 222.)
As shown in FIG. 3E, in the real-time video recording area 221, the navigation data RTR. IFO (VR_MANGR.IFO) 104 and a movie real-time video object RTR_MOV. VRO (VR_MOVIE.VRO) 107 and a still picture real-time video object RTR_STO. VRO (VR_STILL. VRO) 108 and an audio object RTR_STA. VRO (VR_AUDIO.VRO) 109 is recorded.
[0043]
Similarly, as shown in FIG. 3 (e), the stream recording area 222 includes the streamer navigation data STREAM. IFO (SR_MANGR.IFO / SR_MANGR.BUP) 105 and transport bit stream data STREAM. VRO (SR_TRANS.VRO) 106 is recorded.
[0044]
Although not shown in FIGS. 3D and 3E, in the stream recording area 222, the application-specific navigation data SR_PRIVT, DAT / SR_PRIVT. The BUP 105a can also be recorded.
[0045]
The SR_PRIVT and DAT 105a are navigation data unique to each application connected (supplied) to the streamer, and need not be recognized by the streamer.
[0046]
STREAM. The IFO (or SR_MANGR.IFO) 105 has a data structure as shown in FIGS.
[0047]
That is, as shown in FIG. The IFO (or SR_MANGR.IFO) 105 includes a video manager (VMGI or STR_VMGI) 231, a stream file information table (SFIT) 232, an original PGC information (ORG_PGCI) 233, a user-defined PGC information table (UD_PGCIT) 234, A text data manager (TXTDT_MG) 235 and a manufacturer information table (MNFIT) or application-specific navigation data SR_PRIVT. An application private data manager (APDT_MG) 236 that manages the DAT 105a.
[0048]
The stream file information table (SFIT) 232 in FIG. 3F includes, as shown in FIG. 3G, the stream file information table information (SFITI) 241 and one or more stream object information (SOBI) # A · 242. , # B · 243,..., Original PGC information general information 271, and one or more original cell information # 1,272, # 2,273.
[0049]
Each stream object information (for example, SOBI # A · 242) in FIG. 3F can include stream object general information (SOBI_GI) 251, time map information 252, and the like as shown in FIG. .
[0050]
Also, as shown in FIG. 3 (h), each original cell information (for example, # 1 · 272; described below, which corresponds to the SCI shown in FIG. 28) of the original cell information shown in FIG. 28, a cell ID 282, a corresponding cell start time (corresponding to SC_S_APAT described later in FIG. 15 (l), FIG. 28 and others), and a corresponding cell end time (corresponding to FIG. 15 described later). (L), corresponding to SC_E_APAT shown in FIG. 28 and the like) 284.
[0051]
The information content of FIG. 3F will be described later with reference to FIG.
[0052]
The time map information 252 of FIG. 3H included in the SOBI # A of FIG. 3G includes a stream block number 261, a first stream block size 262, and a first stream block, as shown in FIG. The time difference 263, the second stream block size 264, the second stream block time difference 265,... The content of each stream block time difference constituting the time map information 252 will be described later with reference to FIG.
[0053]
FIG. 4 is a diagram for explaining the relationship between a stream object (SOB), a cell, a program chain (PGC) and the like in the present invention. Hereinafter, the relationship between SOB and PGC in the present invention will be described using the example of FIG.
[0054]
The stream data recorded in the stream data (STREAM.VRO or SR_TRANS.SRO) 106 constitutes a stream block as a group of one or more ECC blocks, and recording and partial erasure processing are performed in units of this stream block. The stream data forms a unit called a stream object for each content of information to be recorded (for example, for each program in digital broadcasting).
[0055]
This STREAM. The management information (original PGC information 233, user-defined PGC information table 234, etc.) for each stream object (SOB # A, SOB # B) recorded in the VRO (SR_TRANS.SRO) 106 includes navigation data STREAM. IFO (SR_MANGR.IFO) 105 (see the bottom of FIG. 4 and FIGS. 3E and 3F).
[0056]
As shown in FIGS. 3F and 3G, the management information (STREAM.IFO 105) for each stream object # A • 298 and # B • 299 in FIG. It is recorded as object information (SOBI) # A · 242 and # B · 243.
[0057]
The inside of each of the stream object information (SOBI) # A · 242 and (SOBI) # B · 243 includes time map information 252 mainly describing data size, time information, and the like for each stream block.
[0058]
At the time of reproducing stream data, information of a program chain (PGC) composed of a series of one or more cells (corresponding to PGCI # i in FIG. 28 described later) is used. Stream data can be reproduced according to the setting order of the cells constituting the PGC.
[0059]
PGC includes STREAM. An original PGC 290 (ORG_PGCI · 233 in FIG. 3 (f)) capable of continuously reproducing all stream data recorded in the VRO (SR_TRANS.SRO) 106, and a place and an order desired by the user to be reproduced are arbitrary. There are two types of user-defined PGCs # a • 293 and # b • 296 (corresponding to the contents of UD_PGCIT • 234 in FIG. 3F).
[0060]
The original cells # 1, 291 and # 2, 292 constituting the original PGC 290 basically exist in one-to-one correspondence with the stream objects #A, 298 and #B, 299.
[0061]
On the other hand, user-defined cells # 11-294, # 12-295, and # 31-297 constituting the user-defined PGC are located at arbitrary positions within the range of one stream object # A-298 or # B-299. Can be set.
[0062]
Although the sector size of each stream block can be variously set, a preferred embodiment is a stream block of 2 ECC blocks (32 sectors) and a fixed size (64 kbytes) as in stream block # 1 in FIG. An object unit (SOBU) may be adopted as a stream block.
[0063]
Fixing the stream block to a fixed-size (for example, 2 ECC blocks = 32 sectors = 64 kbytes) SOBU has the following advantages:
(01) Even if stream data is erased or rewritten in SOBU units, the ECC block of the SOBU does not affect the ECC blocks of SOBUs other than those to be erased or rewritten. Therefore, de-interleaving / re-interleaving of ECC (for SOBUs not subject to erasing or rewriting) due to erasing or rewriting does not occur;
(02) The access position to the recording information in an arbitrary SOBU can be specified by the number of sectors (or another parameter corresponding to the number of sectors; for example, information of a stream pack and an application packet group in FIG. 9 described later). For example, when accessing the intermediate position of a certain SOBU #k, the 16th sector from the boundary between SOBU # k-1 and SOBU #k (or the position of the application packet corresponding to the 16th sector) may be specified.
[0064]
FIG. 5 is a diagram illustrating the contents of the stream block size and the stream block time difference in the time map information. Hereinafter, the contents of each data in the time map information 252 will be described with reference to FIG.
[0065]
As exemplified in FIGS. 5F, 5G, and 5H, the stream object (SOB) # A · 298 is composed of two stream blocks # 1 and # 2.
[0066]
In the example of FIGS. 5F and 5H, the data size of the stream block # 1 constituting the SOB # A · 298 is composed of 2 ECC blocks (# α, # β) and corresponds to 32 sectors (FIG. 5E). (I)). That is, the first stream block size 262 (FIG. 5 (j)) in the time map information 252 (FIGS. 5 (a) (k)) is 32 sectors (64 kbytes).
[0067]
The stream block # 1 (FIG. 5 (f)) at the head of SOB # A • 298 (FIG. 5 (g)) has a sector No. 0 (FIG. 5 (e)) and the sector No. A time stamp a is recorded at the head of the data area 21 (FIG. 5D) included in 0.
[0068]
Further, the stream block # 2 (FIG. 5 (f)) subsequent to the SOB #A 298 (FIG. 5 (g)) has a sector number. 32 (FIG. 5 (e)), and has a sector No. A time stamp p is recorded at the head of the data area 311 (FIG. 5D) included in the P.32.
[0069]
As shown in FIG. 5C, the time stamp value of the first stream data of stream block # 1 is time stamp a, and the time stamp value of the first stream data of next stream block # 2 is time stamp p. Has become.
[0070]
The value of the first stream block time difference 263 in FIG. 5B (corresponding to the stream block time difference 263 in FIG. 3I) is a difference value between the above time stamp p and time stamp a ([time stamp p]-[ Time stamp a]).
[0071]
The time map information 252 in FIG. 5A can be handled as including the access data unit AUD in the stream object information SOBI described later with reference to FIG. The information (such as the access unit start map AUSM) included in the AUD can specify the SOBU including the information to be accessed.
[0072]
FIG. 6 is a diagram illustrating a method of specifying a cell range in an original cell and a user-defined cell.
[0073]
The range of each cell can be specified by specifying the start time and end time.
[0074]
Specifically, the start time 283 of the corresponding cell and the end time 284 of the corresponding cell in the original cell before the execution of the partial erasure (just after the recording of the stream data) described later with reference to FIG. The value of the first time stamp a and the value of the last time stamp z (FIG. 6 (c)) in the corresponding stream object # A · 298 (FIG. 6 (f)) are used as the time.
[0075]
On the other hand, in the time range specification in the user-defined cell # 12.295 (FIG. 6 (k)), an arbitrary time can be specified. For example, as shown in FIGS. 6 (i) and 6 (j), the values of the time stamps d and n corresponding to the specified transport packets d and n are changed to the values of the start time 331 of the corresponding cell and the end time 332 of the corresponding cell. Can be set as
[0076]
FIG. 6F illustrates a case where the stream object (SOB) # A · 298 is composed of two stream blocks # 1 and # 2.
[0077]
In the examples of FIGS. 6E and 6G, the stream block # 1 is composed of 32 sectors (sectors No. 0 to No. 31), and the stream block # 2 is 48 sectors (sectors No. 32 to No. 79). It is composed of
[0078]
The head sector No. of the stream block # 1. 0 includes a pack header 1, a PES header 6, a stream block header 11, a data area 21, and the like as shown in FIGS.
[0079]
Also, the backward sector No. of the stream block # 2. Reference numeral 78 includes a pack header 3, a PES header 8, a sector data header 13, a data area 24, and the like, as shown in FIGS.
[0080]
Further, the sector No. shown in FIG. 6 includes a pack header 2, a sector data header 12, a data area 22, and the like as shown in FIG. 6 (h). 33, a sector data header 321, a data area 312 and the like are recorded as shown in FIG.
[0081]
As shown in FIGS. 6C and 6I, the data area 21 shown in FIGS. 6D and 6H has a pair of a time stamp a and a transport packet a or a time stamp d and a transport packet d. Pairs are recorded.
[0082]
In the area of the data area 24 shown in FIG. 6D, a plurality of pairs of a time stamp and a transport packet, an end code 32 following a pair of the last time stamp z and the transport packet z, and a padding area 37 (Corresponding to the padding area 37 in FIG. 1 (j)).
[0083]
The data area 22 in FIG. 6H includes a transport packet d including the contents subsequent to the transport packet d in the data area 21 as shown in FIG. 6I. That is, in this example, the contents of the transport packet d are recorded separately from the data area 21 and the data area 22.
[0084]
The first half (the data area 21 side) of the transport packet d in FIG. 6 (i) corresponds to the last partial packet in FIG. 8 (f) described later, and the second half of the transport packet d in FIG. 6 (i). The (data area 22 side) corresponds to a leading partial packet in FIG.
[0085]
Further, as shown in FIG. 6I, a pair of a time stamp n and a transport packet n and other similar pairs are recorded in the data area 312 of FIG. 6H.
[0086]
Here, the start time 331 (FIG. 6 (j)) of the cell corresponding to the place where the user or the like has designated the reproduction start time is a time stamp d for the entire two transport packets d divided into the data areas 21 and 22. (FIG. 6 (i)).
[0087]
When the transport packet is read as an application packet and the application packet arrival time is APAT, the cell start time 331 can be expressed as a cell start APAT.
[0088]
The end time 332 (FIG. 6 (j)) of the cell corresponding to the place where the user or the like has designated the reproduction end time is specified by the time stamp n (FIG. 6 (i)) for the transport packet n in the data area 312. Is done. This cell end time 332 can be expressed as a cell end APAT.
[0089]
The above-described cell start time (cell start APAT) 331 and cell end time (cell end APAT) 332 are recorded in the user-defined cell information # 12.295 as shown in FIG.
[0090]
This user-defined cell information # 12 • 295 can be recorded in the user-defined PGC information table 234 shown in FIG.
[0091]
The above is the cell start / end time information relating to the user-defined cell information (information of the user-defined PGC). it can.
[0092]
That is, the start time 283 of the corresponding cell in FIG. 6B can be indicated by the head time stamp a in FIG. 6C, and the end time 284 of the cell can be indicated by the tail time stamp z in FIG.
[0093]
The start time 283 of the corresponding cell in FIG. 6B can correspond to a cell start APAT (including a stream cell start APAT (SC_S_APAT) or an erasure start APAT (ERA_S_APAT) described later).
[0094]
The end time 284 of the corresponding cell in FIG. 6B can correspond to a cell end APAT (including a stream cell end APAT (SC_E_APAT) or an erasure end APAT (ERA_E_APAT) described later).
[0095]
The cell start time (cell start APAT) 283 and cell end time (cell end APAT) 284 are recorded in the original cell information # 1, 272 as shown in FIG. 6A.
[0096]
This original cell information # 1 272 can be recorded in the original PGC information 233 shown in FIG.
[0097]
The cell start APAT and the cell end APAT will be described in detail later with reference to FIGS. 18 to 21 and FIGS. 30 to 33.
[0098]
FIG. 7 is a diagram illustrating a configuration of a stream data recording / reproducing apparatus (streamer) according to an embodiment of the present invention.
[0099]
Hereinafter, the internal structure of a stream data recording / reproducing apparatus (streamer) as a preferred embodiment of the present invention will be described with reference to FIG.
[0100]
The stream data recording / reproducing apparatus according to this embodiment includes an encoder unit 401, a decoder unit 402, an STB unit 403, a main MPU unit 404, a V (video) mixing unit 405, a frame memory unit 406, a key input unit 407, and a display unit 408. 409, a data processor (D-PRO) unit 410, a temporary storage unit 411, an A / V (audio / video) input unit 412, a TV tuner A section 413 is provided.
[0101]
The stream data recording / reproducing apparatus further includes an interface (I / I / I) for transmitting a digital video signal from the satellite antenna 421 connected to the STB unit 403, the system time counter (STC) unit 424, and the V mixing unit 405 to the personal computer (PC) 435. F) 434, and a D / A converter 436 for an analog TV 437.
[0102]
Here, the V mixing unit 405 has a function of appropriately mixing the digital video signal from the V-PRO unit 438 of the decoding unit 402 and the digital video signal 423 from the STB unit 403. With this mixing function, for example, a broadcast image from the STB unit 403 can be displayed on the left side of the display screen of the TV 437, and an image reproduced from the disc 201 can be displayed on the right side of the display screen of the TV 437.
[0103]
Alternatively, the broadcast image from the STB unit 403 and the reproduced image from the disc 201 can be displayed on the monitor screen of the PC 435 so as to overlap the overlapping window.
[0104]
In the above configuration, the encoder unit 401 selects the video / audio A / D converter 414, the digital video signal from the A / D converter 414 or the digital video signal 423 from the STB part 03, and performs video encoding. Selector 415 to be sent to the section 416, a video encoding section 416 for encoding a video signal from the selector 415, an audio encoding section 417 for encoding an audio signal from the A / D conversion section 414, and a closed caption (cc) from the TV tuner section 413. It comprises an SP encoder 418 for encoding a signal or a teletext signal into a sub-picture (SP), a formatter 419, and a buffer memory 420.
[0105]
On the other hand, in the decoding unit 402, a separating unit 425 including a memory 426, a video decoding unit 428 including a reduced image (thumbnail picture) generating unit 439, an SP decoding unit 429, an audio decoding unit 430, a TS packet transfer unit 427, It comprises a video processor (V-PRO) unit 438 and an audio D / A conversion unit 432.
[0106]
The digital audio signal decoded by the decoding unit 430 can be externally output via an interface (I / F) 431. A speaker 433 is driven by an analog audio signal obtained by converting the digital audio signal into an analog signal by the D / A converter 432 via an external audio amplifier (not shown).
[0107]
The D / A conversion section 432 is configured to be able to perform D / A conversion of the digital audio signal 422 from the STB section 403 as well as the digital audio signal from the audio decoding section 430.
[0108]
When transferring the reproduction data from the disc 201 to the STB unit 403, the TS packet transfer unit 427 changes the reproduction data (bit stream) from the separation unit 425 into a transport packet (TS packet), and transmits the data from the STC 424. The TS packet may be sent to the STB unit 403 by adjusting the transfer time to the time information.
[0109]
The main MPU unit 404 in FIG. 7 includes a work RAM 404a as a working memory, a control program named stream data creation control unit 404b, a control program named stream data reproduction control unit 404c, and a partial erase / It includes a control program named temporary erase control unit 404d.
[0110]
Here, in order to read and write the file management area (navigation RTR.IFO 104, STREAM.IFO 105 in FIG. 2 or FIG. 3 (e)), the main MPU unit 404 provides a dedicated microcomputer to the D-PRO unit 410. Connected via a bus.
[0111]
The control at the time of recording in the stream data recording / reproducing apparatus is performed by the main MPU unit 404 using the control program (sequential control program).
[0112]
First, the flow of a video signal during recording in the apparatus shown in FIG. 7 will be described. At the time of recording, a series of processing is performed according to a sequential program named a stream data creation control unit 404b in the main MPU unit 404.
[0113]
That is, the stream data transmitted from the STB unit 403 to the encoding unit 401 via the transmission path conforming to the IEEE 1394 standard is first transferred to the formatter unit 419.
[0114]
The IEEE 1394 receiving side of the formatter unit 419 reads the time from the start of the stream data transfer based on the time count value of the STC 424. The read time information is sent to the main MPU unit 404 as management information and stored in the work RAM unit 404a.
[0115]
The main MPU unit 404 creates delimiter information for separating stream data into stream blocks (each VOBU in a real-time RTR recorder, and each SOBU in a streamer) based on the time information, and generates a cell corresponding to the delimiter information. And the PGC separation information are created and sequentially recorded in the work RAM unit 404a in the main MPU unit 404.
[0116]
The formatter unit 419 converts the stream data sent from the STB unit 403 in the form of FIG. 1A according to the instruction from the stream data creation control unit 404b of the main MPU unit 404, as shown in FIGS. The stream is converted into a shape (a stream pack sequence shown in FIG. 8H described later), and the converted stream pack sequence is input to the D-PRO unit 410. The input stream pack has the same fixed size of 2048 bytes as the sector. The D-PRO unit 410 collects the input stream packs in units of 16 sectors into ECC blocks and sends the ECC blocks to the disk drive unit 409.
[0117]
Here, when the disk drive unit 409 is not ready for recording on the RAM disk (information storage medium) 201, the D-PRO unit 410 transfers the recording data to the temporary storage unit 411 and temporarily stores the data. It waits until the disk drive unit 409 is ready for data recording.
[0118]
When the disk drive unit 409 is ready for recording, the D-PRO unit 410 transfers the data stored in the temporary storage unit 411 to the disk drive unit 409. Thus, recording on the disk 201 is started. When the data stored in the temporary storage unit 411 is recorded, the subsequent data is seamlessly transferred from the formatter unit 419 to the D-PRO unit 410.
[0119]
Here, the temporary storage unit 411 is assumed to be a large-capacity memory in order to enable high-speed access and hold recording data for several minutes or more.
[0120]
Next, data processing during reproduction will be described. The control at the time of reproduction in the stream data recording / reproducing apparatus is performed by the main MPU unit 404 in accordance with a sequential program named stream data reproduction control unit 404c.
[0121]
First, stream data is reproduced from the RAM disk (information storage medium) 201 by the disk drive unit 409. The reproduced stream data is transferred to the decoder unit 402 via the D-PRO unit 409.
[0122]
Inside the decoder unit 402, the separation unit 425 receives the transport packet in the reproduced stream data.
[0123]
The separation unit 425 transfers video packet data (MPEG video data) to the video decoding unit 428 and transfers audio packet data to the audio decoding unit 430 according to a stream ID 603 and a sub-stream ID described later with reference to FIG. The sub-picture packet data is transferred to the SP decoding unit 429.
[0124]
The video data decoded by the video decoding unit 428 is converted into an analog TV signal via the V mixing unit 405 and the D / A conversion unit 436, and is transferred to the TV 437 for image display.
[0125]
At the same time, the audio signal decoded by the audio decoding unit 430 is also sent to the D / A conversion unit 432, where it is converted into digital audio data. The converted digital audio data is transferred to a digital input of an external audio device (not shown) via the I / F 431. Alternatively, the converted digital audio data is converted into an analog audio signal by the D / A converter 432, and sent to the speaker 433 via an audio amplifier (not shown).
[0126]
The signal flow in the stream data recording / reproducing apparatus (streamer) according to the embodiment of the present invention has been described above.
[0127]
As described above, the stream data to be recorded on the DVD-RAM disk (information storage medium) 201 is converted into the structure shown in FIGS. The stream data recording procedure focusing on this conversion process will be described later with reference to the flowchart of FIG.
[0128]
The procedure for reproducing the stream data will be described later with reference to the flowchart in FIG.
[0129]
FIG. 8 is a diagram for explaining the correspondence between digital broadcast contents, video data transfer modes in IEEE 1394, and stream packs in the streamer.
[0130]
In digital broadcasting, video information compressed according to the MPEG2 standard is transferred in transport packets. As shown in FIG. 8B, the transport packet includes a transport packet header 511 and a payload 512 in which a data body of recording information is recorded.
[0131]
As shown in FIG. 8A, the transport packet header 511 includes a payload unit start indicator 501, a packet ID (PID) 502, a random access indicator 503, a program clock reference 504, and the like.
[0132]
MPEG-compressed video information includes I picture information, B picture information, and P picture information. In the first transport packet in which I picture information (571 in FIG. 9 described later) is recorded, a flag of “1” is set in the random access indicator 503 in FIG. 8A. Also, in the first transport packet of each of the B and P picture information (573, 574, 572 in FIG. 9 described later), a flag of “1” is set in the payload unit start indicator 501 in FIG. 8A.
[0133]
Using the information of the random access indicator 503 and the payload unit start indicator 501, an I-picture mapping table (641 in FIG. 11 described later) and a B, P-picture start position mapping table (642 in FIG. 11 described later) Information is created.
[0134]
For example, for a transport packet in which the flag of "1" is set in the payload unit start indicator 501 shown in FIG. 8A, a corresponding location in the B, P-picture start position mapping table (642 in FIG. 11) is used. Becomes "1".
[0135]
In digital broadcasting, video information and audio information are transferred in different transport packets. Then, the distinction of each information is identified by the packet ID (PID) 502 in FIG. Using the information of the PID 502, a video packet mapping table (643 in FIG. 11 described later) and an audio packet mapping table (644 in FIG. 11 described later) are created.
[0136]
As shown in FIG. 8C, in digital broadcasting, a plurality of programs (program 1 to program 3 in this example) are packet-divided and transmitted to one transponder in the form of packets.
[0137]
For example, the information of the transport packet header 511 and the payload (recording information) 512 of FIG. 8B are transferred by the transport packets b · 522 and e · 525 of the program 2 shown in FIG. 8C.
[0138]
Now, it is assumed that the program 2 shown in FIG. 8C is recorded on the information storage medium 201 shown in FIG. 3 or FIG. 7 by, for example, an operation of a digital broadcast receiver (a user of the STB in FIG. 7). Try. In this case, the STB unit 403 in FIG. 7 extracts only the transport packets b and e of the program 2 in FIG. 8C.
[0139]
At this time, in the STB unit 403, as shown in FIG. 8D, the time information when the transport packets b 522 and e 525 are received is added in the form of time stamps 531 and 532.
[0140]
Thereafter, when data is transferred from the STB unit 403 of FIG. 7 to the formatter unit 419 according to the IEEE 1394 transfer method, the set of the time stamp 531 and the transport packet 522 is fine as shown in FIG. It will be split and transferred.
[0141]
The formatter unit 419 of FIG. 7 converts the stream data transferred from the STB unit 403 by IEEE1394 into the format of FIG. 8D (the shape of FIG. 1A or the format of FIGS. 8F, 8G, and 8H). (Corresponds to the shape) once. Then, a bit stream in the format of FIG. 1A or FIG. 8F, FIG. 8G, or FIG. 8H (the stream pack sequence of FIG. 8H) is recorded on the information storage medium 201.
[0142]
Specifically, in one embodiment of the present invention, at the beginning of each sector (FIGS. 1 (d) and (h)), pack headers 1, 2, 3, and 4 in which system clock information and the like are recorded PES headers 6, 7, 8, and 9 are arranged (see FIGS. 1 (c) (i) and 6 (d)). Immediately after that, sector data headers 12 and 13 (FIGS. 1 (c) (i) and 6 (d)) are recorded, but only the first sector of each stream block is not a sector data header but a stream block header. 11 is recorded (FIGS. 1C and 6D).
[0143]
A plurality of time stamps and transport packets (FIG. 1A) are sequentially packed in the data areas 21, 22, 23, and 24 (FIGS. 1C and 1I). 1 (b); packet d; packet b in FIG. 8 (e) spans a plurality of sectors (No. 0 and No. 1 in FIG. 1 (d); partial packets in FIG. 8 (f) (g)). Recorded. Here, there is one of the features of the present invention.
[0144]
By using a data structure taking advantage of this feature, a packet having a size larger than a sector size (for example, 2048 bytes) can be recorded. This will be further described.
[0145]
In digital broadcasting, as shown in FIG. 8C, a multiplexing / demultiplexing method corresponding to a multiprogram called a transport stream is adopted, and the size of one transport packet b.522 is 188 bytes (or 183 bytes). Often.
[0146]
As described above, one sector size is 2048 bytes, and even if various header sizes are subtracted, a digital broadcasting transformer is included in one data area 21, 22, 23, 24 (FIG. 1 (c) (i)). About 10 port packets can be recorded.
[0147]
On the other hand, in a digital communication network such as ISDN, a large long packet having a packet size of 4096 bytes may be transferred.
[0148]
In addition to recording a plurality of transport packets in one data area 21, 22, 23, 24 (FIGS. 1 (c) (i)) as in digital broadcasting, the packet size is not limited to long packets. In order to record even a packet having a large size, a data structure utilizing the above-mentioned feature (a feature that can record one packet of data over a plurality of packets) is used, so that one packet can be divided into a plurality of data areas 21, 22,. 23 and 24 are continuously recorded.
[0149]
Then, all packets such as transport packets for digital broadcasting and long packets for digital communication can be recorded in the stream block without depending on the packet size.
[0150]
Although a normal packet has a time stamp, the time stamp can be omitted from a partial packet as shown in FIG.
[0151]
In this manner, the partial packet divided at the boundary between two adjacent stream packs (FIG. 8 (h)) (the size of the partial packet is 1 to 187 bytes if each packet is 188 bytes; the average is 100 bytes) Can be used effectively for information recording. In addition, the storage capacity of the medium 201 can be increased by the time stamp omitted for the partial packet (for example, 4 bytes per time stamp).
[0152]
Note that the position of the time stamp immediately after the head part packet in FIG. 8G can be specified by a first access point 625 in FIG. 12B or a FIRST_AP_OFFSET in FIG. 12C described later.
[0153]
By the way, when a surplus portion occurs in the stream block, padding data (information that can be recognized as an area where data is not recorded) is recorded. For example, as shown in FIG. 1B, the end code 31 is arranged after the last transport packet f in the stream block # 1, and the remaining part is a padding area. The padding areas 37 and 38 in FIG. 1 (j) are similar padding data areas.
[0154]
The specific internal data structure of the padding area will be described later with reference to FIG.
[0155]
FIG. 9 is a diagram for explaining the relationship between the video information compression method in MPEG and the transport packets, and the relationship between the transport packets in MPEG and the application packets in the streamer.
[0156]
As described above, in digital broadcasting, video information is compressed and transferred according to the MPEG2 standard.
[0157]
As shown in FIG. 9, the compressed information 561 of the I picture 551 is recorded as I picture information 571 in transport packets a, b,. The difference information 563 and 564 of the B picture 553 are recorded as B picture information 573 in the transport packets d,. The difference information 565, 566 of the B picture 554 is recorded as B picture information 573, 574 in the transport packets d, f,. Then, the difference information 562 of the P picture 552 is recorded as P picture information 572 in the transport packets h,.
[0158]
As described above, each of the I, B, and P picture information is recorded in different transport packets.
[0159]
When such a transport packet is recorded in the streamer, the contents of the transport packet are transferred to a packet with a time stamp called an application time stamp (ATS) (application packet).
[0160]
Then, a group of ATS-attached application packets (usually around 10 packets) is stored in the application packet area in the stream PES packet.
[0161]
One obtained by adding a pack header to this stream PES packet is one stream pack illustrated in FIG.
[0162]
The stream PES packet is composed of a PES header, a substream ID, an application header, an application header extension (optional), a stuffing byte (optional), and an application packet area for storing the ATS-attached application packet group. You.
[0163]
The contents of the PES header (stream PES packet header) will be described later with reference to FIG. The application header (corresponding to the stream block header 11 or the sector data header 12) will be described later with reference to FIGS.
[0164]
FIG. 10 is a diagram for explaining the internal structure of the PES header shown in FIG. 1, FIG. 8, FIG. 9, and the like.
[0165]
As shown in FIG. 10B, the PES header 601 in FIG. 10A includes a packet start code prefix 602, a stream ID 603, a reproduction time stamp 604, and the like. The PES header 601 corresponds to the PES headers 6 to 9 in FIGS. 1C, 1I, and 1J, the PES headers 6 to 7 in FIG. 8H, the PES header 6 in FIG.
[0166]
The stream PES header in FIG. 10D includes a packet start code prefix, a stream ID (private stream 2), a PES packet length, a substream ID, and the like. This stream PES header is the same as the stream PES header in FIG. 9 and has contents corresponding to the PES header 601 in FIG.
[0167]
When the PES header 9 in FIG. 1J has the internal structure of the PES header 601 shown in FIG. 10A, according to the MPEG standard, the stream ID 603 (FIG. 10B) of the PES header is “10111110”. , The packet having the PES header is defined as a padding packet 40 (FIG. 1 (i)).
[0168]
On the other hand, when the stream ID 603 (substream ID in FIG. 10C) is “00000010”, the packet with the PES packet includes stream recording data.
[0169]
In the stream block # 1 of FIG. 1E, the last transport packet f (FIG. 1A) is the last sector No. 31 (FIG. 1D). However, in stream block # 2 (FIGS. 1 (e) and (g)), the last transport packet z (FIG. 1 (j)) has the sector No. 1 because the recording has been stopped halfway by the user or the like. 78 (FIG. 1 (h)). 79 (FIG. 1 (h)) is an empty area where no stream data is recorded. Therefore, the sector No. 79 is recorded as the padding packet 40 (FIG. 1 (i)).
[0170]
FIG. 11 is a view for explaining the internal structure of the stream block header shown in FIG.
[0171]
As shown in FIG. 11A, the stream block header 11 has contents corresponding to the substream ID, application header, stuffing byte, and the like in the lower part of FIG.
[0172]
As shown in FIG. 11B, the stream block header 11 includes transport packet information 611, stream block information 612, sector data header information 613, and the like.
[0173]
The transport packet information 611 in FIG. 11B indicates the same as the transport packet information 611 in FIG.
[0174]
The stream block information 612 in FIG. 11B in which information on the entire stream block is recorded includes a recording time 622 (date and time information recorded in the information storage medium 201) and a transport packet in FIG. Attributes 623 (attribute information on transport packets), stream block size 624 (data size of the corresponding stream block (for example, can be described by the number of ECC blocks)), stream block time difference 625, and the like.
[0175]
Here, taking FIG. 1B as an example, the time range information in the corresponding stream block is [stream block time difference] = [first time stamp value in stream block # 2] − [time stamp a Value]. This [stream block time difference] is the stream block time difference 625.
[0176]
Further, the sector data header information 613 in FIG. 11B corresponds to the first access point 626 and the transport packet connection flag 627 in FIG. 11C. The sector data header information 613 includes information similar to the sector data header 12 in FIG. 12 described later.
[0177]
As shown in FIG. 11D, the transport packet information 611 in FIG. 11C includes the number of transport packets (the number of application packets) 631, the transport packet mapping table 632, and the like (FIG. 11). (The number of application packets in d corresponds to AP_Ns in FIG. 12C described later).
[0178]
The number 631 of transport packets (application packets) in FIG. 11D can include an I picture mapping table 641, a B and P picture mapping table 642, and the like, as shown in FIG. 11E.
[0179]
Also, the transport packet mapping table 632 in FIG. 11D can include a video packet mapping table 643, an audio packet mapping table 644, a program specific information mapping table 645, and the like.
[0180]
Each mapping table (FIG. 11E) in the transport packet mapping table 632 is configured in a bitmap format.
[0181]
For example, when n transport packets (application packets) are recorded in one stream block, the value of the number of transport packets (number of application packets) 631 in FIG. 11D is “n”. It becomes.
[0182]
Further, each of the mapping tables 643 to 645 is composed of “n-bit data”, and one bit is assigned to each transport packet (application packet) arranged in the stream block from the front.
[0183]
FIG. 12 is a view for explaining the internal structure of the sector data header shown in FIG.
[0184]
The sector data headers 12 and 13 shown in FIGS. 1C and 1I indicate data arrangement information in the data areas 21, 22, 23 and 24. As shown in FIG. 12, the first access point 651 and the transport packet connection It has an internal structure including a flag 652.
[0185]
As shown in FIG. 12D (and the lower part of FIG. 9), one stream pack having the same size of 2048 bytes as one sector is composed of a pack header and a stream PES header. The stream PES packet includes an application packet header corresponding to the sector data header 12 in FIG. 12A or a part of the stream block header 11 in FIG. 11A.
[0186]
This application packet header includes, as shown in FIG. 12 (c):
* Application packet header format version description;
* The number AP_Ns of application packets (transport packets) starting in the corresponding stream pack;
* First application packet time stamp position FIRST_AP_OFFSET in which the time stamp position of the first application packet starting in the corresponding stream pack is described by a relative value from the first byte of the stream pack;
* Extension header information EXTENSION_HEADER_IFO indicating whether a header extension and / or a stuffing byte exists;
* Identifier SERVICE_ID of the service that generated the stream.
[0187]
FIRST_AP_OFFSET included in the application packet of FIG. 12D corresponds to the first access point 651 included in the sector data header 12 of FIG.
[0188]
As shown in FIG. 1B, the transport packet d is recorded over two sectors. Here, when the last time stamp in the sector or the transport packet crosses over to the next sector, the transport packet connection flag 652 is set to “1”. Further, in the example of FIG. 1B, the address in the data area 22 at the head position of the time stamp that comes next to the transport packet d straddling the next sector is recorded in the first access point 651 (expressed in units of bits). Have been.
[0189]
The sector No. shown in FIG. 1 (or its corresponding stream pack), the sector number of the first access point. The value can be set to a value larger than the size of one data area 22 (FIG. 1C). By doing so, the sector No. This indicates that the position of the time stamp corresponding to the packet following the packet recorded in 1 exists in the next and subsequent sectors.
[0190]
In one embodiment of the present invention, a value larger than the size of the data areas 21, 22, 23, and 24 can be specified as the value of the first access point 651, so that the sector size (or stream pack size = 2048 bytes) Even for a packet having a larger size, the time stamp start position can be specified.
[0191]
For example, in the data structure of FIG. 0 to sector No. It is assumed that the information is recorded over two. Further, the time stamp for the packet is the sector number. 0 is recorded at the first position in the data area 21 and the time stamp for the next packet is set to the sector number. Consider a case where it is located at the T-th bit in the data area No. 2.
[0192]
In this case, the sector No. The value of the first access point of “0” is “0”, The value of the first access point of the sector No. 1 is “data area 22 size of sector No. 1 + T”, The value of the first access point of “2” is “T”.
[0193]
FIG. 13 is a flowchart illustrating a stream data encoding procedure and a recording procedure according to an embodiment of the present invention.
[0194]
First, in the encoding unit 401 of FIG. 7, the packetized data is transferred to the buffer memory unit 420 together with the time stamp (the time stamp of FIG. 1B and FIG. 8F or the ATS of FIG. 9). (Step S01).
[0195]
In other words, in step S01, the area of the reproduction data stored in the sector of the continuous stream block (SOBU) by the apparatus (streamer) in FIG. 7 is a transport packet with a time stamp (ATS) (application packet). ). The local clock value obtained from the STC unit 424 in FIG. 7 is used for the time stamp added here.
[0196]
Next, the bit string of the time stamp and the packet data temporarily stored in the buffer memory unit 420 is separated for each stream block (or SOBU) (step S02).
[0197]
In this embodiment, as shown in FIG. 1B, the same transport packet (d) can be prohibited from being recorded over different stream blocks (# 1, # 2). In this case, in the step of S02 in which the time stamp and the packet data temporarily recorded in the buffer memory unit 420 of FIG. 7 are separated for each stream block, the set of the time stamp and the transport packet completely fits in one stream block. It is necessary to perform the division as follows.
[0198]
At the end of the data in each of the divided stream blocks (SOBU), an end code (FIG. 1 (j)) and, if necessary, a padding area are added (step S03).
[0199]
In the buffer memory unit 420, the time stamp and the bit string of the packet data divided for each stream block (SOBU) are further divided for each sector (or for each stream pack of 2048 bytes) (step S04).
[0200]
In this embodiment, the same transport packet (d) can be recorded over different sectors (No. 0 and No. 1 in FIG. 1D). In this case, in the step of S04 in which the data area is divided for each sector, the data areas 21, 22, 23, and 24 are randomly divided in accordance with a predetermined size.
[0201]
Thereafter, information of the pack header and the PES header as shown in FIG. 1C, FIG. 9 and others are inserted into the head position of each sector (stream pack) in the buffer memory unit 420 (step S05).
[0202]
The information of the pack header and the PES header inserted in step S05 is also information of a sequence header arbitrarily output by the device (application device) that has generated the transport packet (application packet).
[0203]
Next, it is checked whether the last padding area size in the stream block (SOBU) is larger than the sector recording size (stream pack size of 2048 bytes) (step S06).
[0204]
For example, in the last stream block # 2 of the stream object #A 298 in FIG. 1F, there is a possibility that the recording end processing is performed at an arbitrary position by the user or the like. Therefore, the size of the stream data to be recorded may be significantly smaller than the size of the recordable area in the stream block # 2.
[0205]
In this case, as a result of the determination in step S06, the situation is such that the total padding area size is larger than the sector recording size. (In the examples of FIGS. 1F to 1J, the stream data is recorded up to the middle of the sector No. 78 and is not substantially recorded in the sector No. 79. In this case, FIG. (The total size of the padding areas 37 and 38 in j) becomes larger than the size in sector No. 79.)
In this case (step S06 YES), the value of the stream ID 603 in FIG. 10B is set to “10111110” as described above, and the sector No. 79 (sectors entirely filled with padding areas) are converted into padding packets 40 (step S07).
[0206]
If it is determined in step S06 that the padding area size is equal to or smaller than the sector recording size (NO in step ST06), or if conversion processing into padding packets is completed in step S07, a stream block (SOBU) recorded in the buffer memory unit 420 Is analyzed. From this analysis result, related information of the transport packet information (FIGS. 11B to 11E and FIGS. 12B to 12D) is created. Then, the stream block 11 of FIG. 11A is inserted immediately after the PES header of the first sector in the stream block (step S08).
[0207]
Alternatively, the application header shown in FIG. 9, FIG. 11, etc. is inserted after the PES header of the first sector (first stream pack) in the stream block (SOBU) (step S08).
[0208]
Further, the sector data header 12 shown in FIG. 12A is inserted immediately after the PES header into all the sectors except the head sector and the padding packet in the stream block (step S09).
[0209]
Alternatively, for the first sector (first stream pack) in the stream block (SOBU) and all the sectors (stream packs) except for the padding area, the application header shown in FIGS. Is inserted (step S09).
[0210]
The header insertion in steps S08 and S09 is performed in the buffer memory unit 420.
[0211]
The bit stream (stream information having a data structure created on the buffer memory unit 420) encoded by the above steps (steps S01 to S09) is converted into an information storage medium (DVD-RAM disk or the like) by the apparatus shown in FIG. This is recorded in 201) of FIG. 3 or FIG.
[0212]
In step S08, the entire transport packet header 511 (FIG. 8B) in the stream block (SOBU) is searched, and the values of the payload unit start indicator 501, PID 502, and random access indicator 503 in FIG. , Each data in the transport packet mapping table 632 of FIG. 11E can be created.
[0213]
Further, the difference between the value of the first time stamp in the next stream block (SOBU) and the value of the first time stamp in the current stream block (SOBU) is calculated, and the stream shown in FIG. The value of the block time difference 625 can also be determined.
[0214]
FIG. 14 is a flowchart illustrating a stream data decoding procedure and a playback procedure according to an embodiment of the present invention.
[0215]
Hereinafter, from the stream information recorded on the information storage medium (DVD-RAM disk) 201 in the structure shown in FIG. 1 (c) (i) or FIG. A description will be given of a procedure for reproducing the stream data with a focus on the extraction process.
[0216]
The range to be reproduced is specified by the user or the like by the time information. At the time of reproduction in this case, processing for searching for a stream block (or SOBU) to be reproduced corresponding to the designated time information is required.
[0219]
First, the RAM disk (information storage medium in FIG. 3 or FIG. 7) 201 on which information is recorded by the method illustrated in FIG. 13 is loaded into the disk drive unit 409 in FIG. After that, for example, it is assumed that the device user has designated a desired reproduction range by “reproduction start time” and “reproduction end time”. It is assumed that the play key (play button) of the key input unit 407 (or a remote controller not shown) in FIG. 7 is pressed after this designation is made.
[0218]
Then, the main MPU unit 404 of FIG. 7 accesses the stream file information table (SFIT) 232 of FIG. 3F according to the control program “stream data reproduction control unit 404c”, and obtains the time map information of FIG. 252 is read. From the read information content, the main MPU unit 404 determines the number of the stream block (SOBU) including the position of the specified “reproduction start time” (reproduction start time position) and the start position address of the stream block (SOBU). Is determined (step S11).
[0219]
Here, in the embodiment of FIG. 3I, only the difference time information for each stream block is recorded in the time map information 252. In this case, the stream data reproduction control unit (reproduction control program) in the main MPU unit 404 outputs the stream object information (SOBI) 242 and 243 (FIG. 3 (g)) for each stream block in the time map information 252. The values of the time differences (see FIG. 5B) 263 and 265 are sequentially added, and a comparison is made as to whether the time reaches the time designated by the user. Based on the comparison result, it is determined which stream object (SOB) and which stream block (SOBU) in the stream object (SOB) match the time stamp value included in the time specified by the user. As a result, the start position address of the stream block (SOBU) to be accessed can be determined.
[0220]
Alternatively, when stream object information (SOBI) having a data structure as shown in FIG. 29 described later is used, access is performed using information (time map information MAPL, the number of MAPL entries MAPL_ENT_Ns, etc.) included in the SOBI. The start position address of the stream block (SOBU) to be obtained can be determined.
[0221]
The head position address determined in step S11 is notified to the disk drive unit 409. The desk drive unit 409 having obtained the address information of the access destination accesses the head position of a predetermined stream block (SOBU) corresponding to the address information. Then, starting from the beginning of the stream block (SOBU), the disk drive unit 409 reads recorded stream data from the loaded disk 201 in stream block (SOBU) units (step S12).
[0222]
By the processing in step S12, individual transport packets (or application packets) with a packet arrival time (or an application packet arrival time APAT) are searched, and the searched packets can be collected (the recorded contents can be reproduced). .
[0223]
The stream data thus read is transferred from the disk drive unit 409 to the separation unit 425 in the decoding unit 402 via the D-PRO unit 410. The transferred stream data is temporarily stored in the internal memory 426 of the separation unit 425 (Step S13).
[0224]
When the amount of stream data stored in the internal memory 426 of the separation unit 425 exceeds a certain amount, packets in the padding area (37, 38, etc. in FIG. 1 (j)) are automatically searched therefrom. Whether the packet is a padding packet can be determined by checking the substream ID in FIG.
[0225]
When a padding packet is found on the internal memory 426 of the separation unit 425, the padding area including the padding packet is deleted on the internal memory 426 of the separation unit 425 (Step S14).
[0226]
Various headers (pack header, PES header, stream block header, sector data header, etc.) are deleted from the stream data from which the padding packet has been removed on the internal memory 426 of the separation unit 425. Thus, the stream data on the internal memory 426 of the separation unit 425 is converted into column information (bit stream) consisting of only a time stamp (ATS) and packet data (step S15).
[0227]
Next, it is checked whether it is necessary to transfer the converted bit stream data to an external device (such as the STB unit 403 in FIG. 7) using a communication line (such as an IEEE 1394 serial bus) (step S16).
[0228]
The check in step S16 can be performed by, for example, the following method. That is, when the device user of FIG. 7 selects “Yes” on the setting screen (not shown) of “Transfer the reproduced bit stream to an external device? ... Yes / No” in the initial setting of the device, It can be determined based on whether the yes flag is set.
[0229]
If it is necessary to send the stream data reproduced from the information storage medium 201 to the STB unit 403 in FIG. 7 (step S16: Yes), the reproduced stream is synchronized with the time stamp attached to each transport stream. The data is sequentially transferred to the STB unit 403 (step S17). When IEEE1394 is used as a transfer unit to the STB unit 403, the reproduced stream data is converted into a data structure as shown in FIG. 8E and transferred.
[0230]
If the IEEE 1394 transfer is unnecessary (No in step S16), or after the IEEE 1394 transfer is performed, the time stamp (ATS) is deleted from the bit stream converted in step S15 on the internal memory 426 of the separation unit 425, It is converted into a data string of only packet data (step S18).
[0231]
The packet data in the data string thus converted includes video packets, sub-picture (SP) packets, audio packets, and the like according to the contents at the time of recording. A data pack containing these packets has a pack header, and the type of data (video, sub-picture, audio, etc.) can be distinguished by the stream ID (not shown) in the pack header.
[0232]
By referring to the contents of the stream ID, the video packet is transferred to the video decoding unit 428 in FIG. 7, the sub-picture packet is transferred to the SP decoding unit 429, and the audio packet is transferred to the audio decoding unit 430. Thus, the corresponding recorded contents are individually decoded in the respective decoding units (428 to 430) (step S19).
[0233]
When the decoding of the various information (video, sub-picture, audio, etc.) recorded as described above is individually started, based on the reproduction time stamp set in the STC (system time counter) 424 in FIG. The video information, the sub-picture information, and / or the audio information are reproduced at a predetermined timing (displayed on a monitor TV or reproduced from a speaker by sound) (step S20).
[0234]
Here, as the reproduction time stamp in step S20, the one stored in the PES header illustrated in FIGS. 1, 10, and the like (604 in FIG. 10B) can be used.
[0235]
Alternatively, an SCR (system clock reference) base (not shown) in the pack header illustrated in FIG. 8H and the like can be used as the reproduction time stamp in step S20.
[0236]
FIGS. 15 and 16 are diagrams illustrating a method of partially deleting stream data according to an embodiment of the present invention.
[0237]
FIG. 15 shows details of the apparent first-half remaining area 743 after partial erasing, and FIG. 16 shows details of the apparent second-half remaining area 744 after partial erasing.
[0238]
FIGS. 22 and 24 illustrate a method of partially erasing stream data according to another embodiment of the present invention. Each stream block is composed of a stream object unit SOBU having a fixed size (32 sectors, 64 kbytes). Is shown.
[0239]
FIG. 22 shows details of the apparent first-half remaining area 743 after partial erasing, and FIG. 24 shows details of the apparent second-half remaining area 744 after partial erasing.
[0240]
FIGS. 23 and 25 illustrate a method of temporarily erasing stream data according to another embodiment of the present invention. Each stream block is composed of a stream object unit SOBU having a fixed size (32 sectors, 64 kbytes). Is shown.
[0241]
FIG. 23 illustrates a data structure in a case where the erasure areas (741, 742) in FIGS. 22 (g), (h) are temporary erasure areas (747, 748). FIG. 25 exemplifies a data structure in a case where the erasure areas (741, 742) in FIGS. 24 (g), (h) are temporary erasure areas (747, 748).
[0242]
Hereinafter, a case where a part of the stream data already recorded on the information storage medium 201 in FIG. 3 or FIG. 7 is partially erased (or temporarily erased) will be described.
[0243]
In the stream data recording / reproducing device (streamer), the partial erasure process (temporary erasure process) is executed by the control program “stream data partial erasure / temporary erasure control unit” 404d of the main MPU unit 404 in FIG.
[0244]
In one embodiment of the present invention, data erasure (or temporary erasure) is always performed in stream block units (or SOBU units). Further, using the time information (cell start APAT (SC_S_APAT / ERA_S_APAT); cell end APAT (SC_E_APAT / ERA_E_APAT)) specifying the original cell range, the user can specify a fine partial erase range (or a temporary erase range). I have to. This is another feature of the present invention.
[0245]
In one embodiment of the present invention, as shown in FIGS. 1B and 1J, the end of a stream block (or SOBU) is defined as padding areas 36 and 38, and the same transport packet is used for different stream blocks (SOBU). The structure is such that recording cannot be performed over the straddle.
[0246]
In this case, since the break of the transport packet always matches the break of the stream block (SOBU), partial erasure in units of stream blocks (SOBU) can be easily performed.
[0247]
FIG. 17 is a flowchart illustrating a procedure for partially erasing stream data (a procedure for completely erasing part of recording information) according to an embodiment of the present invention. The procedure of temporary erasure (the procedure of changing the management information as if part of the recorded information has been erased, but leaving the information itself without erasing) will also be described using this flowchart.
[0248]
Although not shown in FIG. 17, when a control program called “stream data partial erasure / temporary erasure control unit” 404d is started by the main MPU unit 404 in FIG. From the information storage medium 201, STREAM. Information of the IFO 105 (see FIGS. 2 and 3E) is read. The read management information is temporarily stored in the work RAM unit 404a in the main MPU unit 404.
[0249]
On the information storage medium 201 loaded in the disk drive unit 409 in FIG. 7, a stream object (SOB) #B 299 is recorded as a state before erasure (or before temporary erasure). This SOB #B is composed of stream blocks (or SOBUs) # 3 to # 5, and it is assumed that all transport packets (or application packets) recorded therein are in a reproducible state.
[0250]
In the erasing process in this case, the original cell information # 2.273 (FIG. 3G) corresponding to SOB # B.299 is stored in the management information STREAM.IFO105 temporarily stored in the work RAM unit 404a. The following specifications are made as the specification range of (partly included):
(1a) The time of the start time 751 (FIG. 15 (l) or FIG. 22 (l)) of the corresponding cell is set to the time of the time stamp r corresponding to the transport packet r (FIG. 15 (k) or FIG. 22 (k)). (Representing the arrival time of the transport packet r),
(2a) The time of the end time 756 (FIG. 16 (l) or FIG. 24 (l)) of the corresponding cell is changed to the time of the time stamp w corresponding to the transport packet w (FIG. 16 (k) or FIG. 24 (k)). (Representing the arrival time of the transport packet w).
[0251]
On the other hand, in the case of the temporary erasure processing, the following specification is made as the specification range of the original cell information # 2.273 (FIG. 3G; a part of the STREAM.IFO 105) corresponding to SOB # B.299. :
(1b) The time of the start time 752 (FIG. 23 (l)) of the corresponding cell is set to the time of the time stamp rr corresponding to the transport packet rr (FIG. 23 (k)) (representing the arrival time of the transport packet rr). Specify,
(2b) The time of the end time 758 (FIG. 25 (l)) of the corresponding cell is set to the time of the time stamp j (representing the arrival time of the transport packet j) corresponding to the transport packet j (FIG. 25 (k)). specify.
[0252]
In the following description of the partial erase procedure (or the temporary erase procedure), the STREAM. IFO 105 and STREAM. How the contents of the VRO 106 change will be described with reference to FIGS. 15 and 16 and FIGS.
[0253]
First, the case of partial erasure will be described, and then the case of temporary erasure will be described.
[0254]
[Partial erase]
Now, assume that the central part of the stream object (SOB) #B 299 shown in FIG. 15 (f), FIG. 16 (f), FIG. 22 (f) or FIG. 17) on the assumption that an apparent erase area 741 is set as shown in FIG. 16 (g), FIG. 22 (g) or FIG. 24 (g).
[0255]
First, a partial erasure range is designated by a user or the like based on time information (partial erasure start time and partial erasure end time) (step S21).
[0256]
By this designation, the range of “apparent erased area 741” shown in FIG. After the erasure range designation operation, the apparent first-half remaining area 743 and the apparent second-half remaining area 744 remain in the SOB # B 299 in FIG. 15F or the like (FIG. 15G, FIG. g), FIG. 22 (g) or FIG. 24 (g)).
[0257]
When the range of the “apparent erase area 741” is specified in step S21, the main MPU unit 404 executing the stream data partial erase / temporary erase control unit 404d of FIG. ) Or SOBI in FIG. 29 described later) is read out. On the basis of the contents of the read time map information, a stream block (one or more SOBUs or an SOB including one or more SOBUs; a stream block that is completely included in the range of partial erasure specified by the user; typically, a stream block = SOBU) is retrieved. Then, the searched stream block (in other words, all the transport packets or application packets included in the corresponding SOB before the erase end position) are erased (step S22).
[0258]
The stream block (or SOBU) thus erased is stored in the file STREAM.IFO according to the management information (STREAM.IFO / SR_MANGR.IFO) 105 shown in FIG. Treated as not in VRO 106 (ie, file system ignores erased stream block / SOBU).
[0259]
A directory other than the DVD_RTR directory 102 in FIG. 2 (where the management information 105 cannot participate, for example, in FIG. 2) is located at the physical address position on the information storage medium 201 where the information of the erased stream block / SOBU is recorded. Another file existing under the computer data storage subdirectory 113) can be recorded. Also in this case, the physical recording location on the information storage medium 201 on which another file existing under the subdirectory 113 is recorded is the file STREAM. Removed from VRO 106.
[0260]
Next, the stream object (SOB) is divided into the first half remaining area 743 and the second half remaining area 744 for the partial deletion range shown in FIG. Subsequently, SOB information (SOBI) for a new stream object (SOB # B * 745, SOB # C · 746 in FIG. 15 (h) or the like) generated by this division is created, and the created SOBI is shown in FIG. It is temporarily stored in the work RAM unit 404a in the main MPU unit 404. At this time, time map information for new SOB # B * 745 and SOB # C · 746 is also created by transcribing the corresponding location in time map information 252 recorded for SOB # B before division. (Step S23).
[0261]
A specific object of the content change (transfer / create) of the time map information is, for example, the various information (261 to 265) shown in FIG. 3 (i) or the content (MAPL) of the stream object information (SOBI) shown in FIG. , MAPL_ENT_Ns, etc.).
[0262]
When the time map information (MAPL) is shortened by the partial erasure, the “one or more subsequent SOBIs and all subsequent information tables” following the SOBI including the shortened time map information (MAPL) are changed. (Shortened) SOBI. This can prevent a gap from occurring between adjacent SOBIs.
[0263]
In this case, the SOBI_SRP # and a part of the SFIT in FIG. 29, and the STR_VMGI (all the start addresses of the information table after the SFIT) in FIG. 3F or FIG. 27 are also modified in accordance with the SOBI alignment.
[0264]
The processing content of step S23 will be further described.
[0265]
The main MPU unit 404 in FIG. 7 executes processing according to the sequential program related to the stream data partial erasure / temporary erasure control unit 404d, and issues a data read instruction to the disk drive unit 409. As a result, the file STREAM. From the VRO (or SR_TRANS.SRO) 106 (FIG. 2), the data of the stream block # 5 ((i) to (l) in FIG. 16 or FIG. 24) is reproduced, and the data is transferred to the work in the main MPU unit 404. It is temporarily stored in the RAM unit 404a.
[0266]
Next, the main MPU unit 404 searches the temporarily stored data, and obtains a time stamp having a value closest to the start time of the apparent second half remaining area 744 shown in FIG. 16 (g) or FIG. 24 (g). Find the value of
[0267]
As shown in FIGS. 16 (i) to 16 (k), the search result indicates the sector No. If the value matches or approximates the value of the time stamp k in the cell 112 (or the time stamp k in the sector No. 144 as shown in FIGS. 24 (i) to (k)), The value of k is set to the value of the start time 752 of the corresponding cell in the original cell information # 3 · 762.
[0268]
The start time (such as SC_S_ATAP) 752 of the corresponding cell set in this way is temporarily stored in the work RAM unit 404a in the main MPU unit 404, and the stream data management information STREAM. IFO (or SR_MANGR.IFO) 105 is added.
[0269]
Similarly, as the value of the end time (SC_E_ATAP etc.) 756 of the corresponding cell of the original cell information # 3 · 762, the value of the end time 756 of the corresponding cell of the original cell information # 2 · 273 before partial erasure is transcribed. .
[0270]
By the way, in the embodiment of FIG. 15, FIG. 16, FIG. 22, or FIG. 24, since stream block # 4 is completely included in the range of partial erasure, that part is substantially erased as substantial erase area 742. Is done.
[0271]
At this time, the stream block # 3 and the stream block # 5 remain as they are without being substantially erased, but as shown in FIG. 15, FIG. 16, FIG. 22, or FIG. A part on the tail side of the stream block # 3 and a part on the head side of the stream block # 5 are included in an apparent erasure area 741 specified by a user or the like.
[0272]
In one embodiment of the present invention, the stream object (SOB # B) is divided / separated in the first half remaining area 743 and the second half remaining area 744 for the partial erasure range 741, and the original cell range is also correspondingly divided.・ Is separated.
[0273]
In correspondence with this division / separation, in the embodiment of FIG. 15, FIG. 16, FIG. 22, or FIG. 24, the position of stream block # 5 is newly defined as stream object #C 746.
[0274]
On the other hand, the time map information described in the stream object information (SOBI) #B 243 (FIG. 3 (g)) corresponding to the stream object (SOB) #B 299 before the erasure (the content is shown in FIG. ), Corresponding to the contents of SOBI in FIG. 29), the values of the stream block size and the stream block time difference for stream block # 5 do not change before and after partial erasure.
[0275]
Therefore, as shown in step S23 in FIG. It is transcribed as time map information information in stream object information #C corresponding to stream object #C 746 (FIG. 16 (h), FIG. 24 (h), etc.) newly created in IFO 105.
[0276]
The display range specified by the partially deleted original cell information # 3.762 (FIG. 16 (m) or FIG. 24 (m)) corresponding to the newly defined stream object # C.746 is specified by the user. It matches the range of the apparent second half remaining area 744.
[0277]
When the creation of the time map information is completed by the processing of step S23, the original cell information for the newly defined SOB (SOB ## B *, SOB # C) is created (step S24).
[0278]
In creating the original cell information, the designated range of the corresponding original cell # 3.762 (FIG. 16 (m), FIG. 24 (m)) is set.
[0279]
This setting is performed by adjusting the start time of the cell to the partial erase end time specified by the user or the like (or by adjusting the end time of the cell to the partial erase start time specified by the user or the like). .
[0280]
Specifically, taking the illustration in the lower part of FIG. 31 described later as an example, a cell # k + 1 of a new SOB after complete erasure (after partial erasure is completely executed) (cell # k + 2 before complete erasure) The start time (SC_S_APATk + 1) is adjusted to the erase end time (SC_E_APATk + 1 of cell # k + 1 before complete erasure) specified by the user or the like.
[0281]
Alternatively, the end time (SC_E_APATk) of the cell #k of the SOB after complete erasure (the cell #k before complete erasure) is set to the erase start time (SC_S_APATk + 1 of the cell # k + 1 before complete erasure) specified by the user or the like. May be.
[0282]
In the illustrated example in the lower part of FIG. 31, the start time (SC_S_APATk) and the end time (SC_E_APATk) of the cell #k which is not changed before and after complete erasure are not changed.
[0283]
By the processing in step S24, the above-mentioned “SOBI alignment” is performed (this makes it possible to prevent a gap from occurring between adjacent SOBIs).
[0284]
Next, the information (time map information and the like) relating to the original (before erasure) stream object information (SOBI) # B · 243 (FIG. 3 (g)) is rewritten (step S25).
[0285]
Specifically, a portion of the substantial erase area 742 (FIGS. 16 (h) and 24 (h)) and a portion of the newly defined SOB area 746 (FIGS. 16 (h) and 24 (h)) The time map information is rewritten to the content obtained by removing from the original time map information.
[0286]
The reason for this is that after the partial erasure, the only stream block constituting SOB # B * 745 (FIG. 15 (h), FIG. 22 (h)) is # 3, so that SOBI # B · 243 before the partial erasure is used. This is because it is necessary to delete the part of the stream block # 4 that has been substantially erased and the information of the stream block # 5 to which another stream object (SOB # C) belongs from the time map information in. .
[0287]
This information deletion is the information rewriting process in step S25. This deletion process is performed on the management information (STREAM.IFO / SR_MANGR.IFO) 105 temporarily stored in the work RAM unit 404a in the main MPU unit 404 in FIG.
[0288]
Also in the rewriting of information (time map information and the like) in step S25, the above-described “SOBI alignment” is performed (this can prevent a gap from occurring between adjacent SOBIs).
[0289]
Next, a process of changing the information content regarding the original cell information # 2 · 273 before erasure is performed. Here, the same processing as the creation of the original cell information # 3.762 in step S24 is executed.
[0290]
First, the time range of the original cell corresponding to the SOB whose time map information has been rewritten is changed (step S26).
[0291]
This change is made by adjusting the end time of the cell to the partial erase start time specified by the user or the like (or by adjusting the start time of the cell to the partial erase end time specified by the user or the like). .
[0292]
Specifically, taking the illustration in the lower part of FIG. 31 described later as an example, the end time (SC_E_APATk) of cell #k (cell #k before complete erasure) is changed to the erase start time (complete erasure) specified by the user or the like. (SC_S_APATk + 1 of the previous cell # k + 1).
[0293]
Alternatively, the start time (SC_S_APATk + 1) of cell # k + 1 after complete erasure (cell # k + 2 before complete erasure) may be set to the erase end time (SC_E_APATk + 1 of cell # k + 1 before complete erasure) specified by a user or the like. Good.
[0294]
Next, the main MPU unit 404 in FIG. 7 executes processing according to the sequential program related to the stream data partial erasure / temporary erasure control unit 404d, and issues a data read instruction to the disk drive unit 409. As a result, the file STREAM. From the VRO (or SR_TRANS.SRO) 106 (FIG. 2), the data of the stream block # 3 ((i) to (l) in FIG. 15 or FIG. 22) is reproduced, and the data is transferred to the work in the main MPU unit 404. It is temporarily stored in the RAM unit 404a.
[0295]
The main MPU unit 404 searches the temporarily stored data, and obtains a time stamp value having a value closest to the end time of the apparent first-half remaining area 743 shown in FIG. 15 (g) or FIG. 22 (g). To search.
[0296]
As shown in FIG. 15 or (i) to (k) of FIG. If the value of the time stamp v matches or approximates the value of the time stamp v in the original cell information # 2 761 (FIG. 15 (m), FIG. 22 ( m)) is set as the value of the end time 757 (FIG. 15 (l), FIG. 22 (l)) of the corresponding cell.
[0297]
The value thus set is added to the management information (STREAM.IFO / SR_MANGR.IFO) 105 temporarily stored in the work RAM unit 404a in the main MPU unit 404.
[0298]
The value (SC_S_APAT) of the start time 751 of the corresponding cell of the original cell information # 2 · 761 after the partial erasure is the value (SC_S_APAT) of the start time 751 of the corresponding cell of the original cell information # 2 · 273 before the partial erasure. Therefore, the value is left unchanged in the management information (STREAM.IFO / SR_MANGR.IFO) 105 without being changed.
[0299]
When a series of processes described above is completed, the main MPU 404 sends the disk drive 409 based on the information of the stream data management information (STREAM.IFO / SR_MANGR.IFO) 105 changed in the work RAM 404a of FIG. Is instructed.
[0300]
Thereby, the STREAM. IFO / SR_MANGR. The information in the IFO 105 is rewritten (step S27).
[0301]
As a result of this information rewriting, the deleted stream block (SOBU) is ignored from the file system (DVD_RTAV file system) in FIG.
[0302]
Finally, the information of the volume & file structure information 206 (FIG. 3B) recorded on the information storage medium 201 in S28 is rewritten, and the file system information is updated (Step S28).
[0303]
The specified range of the original cell information indicating the reproduction range corresponding to the specified range by the stream object information (SOBI) in which the data size and the time information (time difference) of each stream block are recorded is equal to or smaller than the specified range. Alternatively, it can be narrowed (see FIGS. 15, 16, 22, and 24 (f) to (h)). In this manner, the user can partially erase the recorded SOB information in an arbitrary range that is apparently smaller than the stream block.
[0304]
By adding the data size of each stream block, the position (= address information) where a specific stream block is recorded can be calculated.
[0305]
When reproduction is performed from the information storage medium 201 after performing the partial erasure processing as described above, the original cell # 2 and the original cell # 3 are continuously reproduced in one original PGC 290 as shown in FIG. .
[0306]
That is, when a user or the like reproduces the information from the information storage medium 201 on which the partial erasure process has been performed, the start time 751 of the corresponding cell in the original cell information # 2 · 761 (FIG. 15 (m) or the like) starts. Immediately after the cell is reproduced up to the end time 757, the cell is continuously (usually seamlessly) reproduced from the position of the start time 752 of the corresponding cell in the original cell information # 3.762 (FIG. 16 (m) or the like). Begins.
[0307]
[In case of temporary deletion]
In the DVD streamer, two types of erasing are possible. The first is to completely erase a part of the stream described above, and the second is to temporarily erase a part of the stream described below (temporary erase or temporary erase; this is abbreviated as TE as appropriate). is there.
[0308]
For temporary erasure:
(11) The temporary erase portion of the stream can be completely reconfigured;
(12) The start position and the end position of the temporarily erased portion can be marked with time information with the accuracy of the application packet arrival time (APAT) (the streamer user cannot recognize internal information such as SOB, SOBU, SOBI / MAPL, etc.) However, the recording time can be recognized, so that the user can mark the range of the temporary erasure, that is, the start position and the end position of the temporary erasure portion on a time basis.);
(13) During recording, the temporary erased portion can be completely erased without regard to the format of the streamer in the stream (this enables the temporary erased portion to be recycled in real time).
[0309]
The above (11) to (13) correspond to the protection included in the stream cell information SCI (FIG. 28) in the original PGC (not the user-defined PGC) shown in FIG. 3 (f), FIG. 4, FIG. 27 or FIG. This can be realized by using the flag TE (FIG. 28). This TE flag indicates a temporarily erased cell.
[0310]
Next, it is assumed that the central part of the stream object (SOB) #B 299 shown in FIG. 23 (f) or FIG. 25 (f) is temporarily erased, as shown in FIG. 23 (g) or FIG. 25 (g). The description of the flowchart of FIG. 17 will be started on the assumption that the apparent temporary erasure area 747 is set.
[0311]
In the temporary erasure process, the procedure of the processing content is the same as that of the “partial erasure range” or “erasure range” in steps S21 to S23 of FIG. Also, in steps S27 to S28 in FIG. 17, the processing procedure is the same for partial erasure and temporary erasure.
[0312]
Hereinafter, with respect to steps S24 to S26 in FIG. 17, a procedure in the case of temporary erasure will be described with reference to FIG. 23 and FIG.
[0313]
When the creation of the time map information is completed by the processing of step S23, the original cell information for the newly defined SOB (SOB ## B *, SOB # C) is created (step S24).
[0314]
In creating the original cell information, a designated range of the corresponding original cell is set.
[0315]
Specifically, taking the illustration of FIG. 30B described below as an example, the start time of the cell # k + 1 in which the temporary erase flag TE is set to “10b” is the temporary erase start time specified by the user or the like. (ERA_S_APAT; temporary erase start mark). The end time of the cell # k + 1 for which the temporary erase flag TE is set to "10b" is the temporary erase end time (ERA_E_APAT; temporary erase end mark) specified by the user or the like.
[0316]
Alternatively, taking the illustration in the upper part of FIG. 31 described later as an example, the start time of the cell # k + 1 in which the temporary erasure flag TE is set to “10b” is SC_S_APATk + 1, and the end time of the cell # k + 1 is SC_E_APATk + 1.
[0317]
Next, the information (time map information and the like) relating to the original (before temporary erasure) stream object information (SOBI) is rewritten in the same manner as the partial erasure described above (step S25).
[0318]
In this temporary erasing, the data to be temporarily erased is not erased, but only the management information of the data to be erased is rewritten to the “temporarily erased” state. However, when the data to be temporarily erased (the data of cell # k + 1 in the example of FIG. 30B or the upper part of FIG. 31) is completely erased, the following processing is performed.
[0319]
First, the time range of the original cell corresponding to the SOB whose time map information has been rewritten is changed (step S26).
[0320]
Specifically, taking the illustration of FIG. 30 described later as an example, the start time (ERA_S_APAT) of the temporarily erased cell # k + 1 in FIG. 30B is the end of the cell #k after the complete erase in FIG. The end time (ERA_E_APAT) of the temporarily erased cell # k + 1 in FIG. 30B is adjusted to the time (SC_E_APAT), and the cell # k + 1 after complete erase (cell # K + 2 before complete erase) in FIG. 30C is started. It will be adjusted to the time (SC_S_APAT).
[0321]
The summary of the above-described provisional erasure process is as follows.
[0322]
(A) The temporary erase start time (ERA_S_APAT) and the temporary erase end time (ERA_E_APAT) are used to temporarily determine a part of the bit stream information (the temporary erase area 747 in FIG. 23 or 25) included in the stream object (SOB). (In step S21, "partial erasure range" is replaced with "temporary erasure range").
[0323]
A stream block containing a transport packet (application packet) with a start time (SC_S_APAT) when the start time (SC_S_APAT) matches the beginning of a transport packet (application packet) starting in the stream block (SOBU). The start time (ERA_S_APAT) of the temporary erasure is adjusted to the start time (SC_S_APAT) of the first one of the transport packets (application packets) starting in (SOBU) (in step S26, the “partial erasure” is replaced with the “temporary erasure”). To "). Then, the streamer information (STREAM.IFO / STRI) is rewritten (step S27).
[0324]
(B) Alternatively, a part of the bit stream information included in the stream object (SOB) (the temporary erasure area 747 in FIG. 23 or 25) according to the temporary erase start time (ERA_S_APAT) and the temporary erase end time (ERA_E_APAT). (In step S21, "partial erasure range" is replaced with "temporary erasure range").
[0325]
A stream block containing a transport packet (application packet) accompanied by a start time (SC_S_APAT) when a cell (TE cell) corresponding to a portion where a temporary erasure range is specified includes the head of a stream object (SOB) The start time (ERA_S_APAT) of the temporary erasure is adjusted to the start time (SC_S_APAT) of the first one of the transport packets (application packets) starting in (SOBU) (in step S26, the “partial erasure” is replaced with the “temporary erasure”). To "). Then, the streamer information (STREAM.IFO / STRI) is rewritten (step S27).
[0326]
(C) Alternatively, part of the bit stream information included in the stream object (SOB) (the temporary erasure area 747 in FIG. 23 or 25) according to the temporary erase start time (ERA_S_APAT) and the temporary erase end time (ERA_E_APAT). (In step S21, "partial erasure range" is replaced with "temporary erasure range").
[0327]
Another stream block (SOBU # 2 in FIG. 30 (b)) immediately followed by a stream block (SOBU # 3 in FIG. 30 (b)) containing a transport packet (application packet) with a start time (SC_S_APAT) The temporary erase start time (ERA_S_APAT) is matched with the start time (SC_S_APAT) of the first one of the transport packets (application packets) that start in (S26). In step S26, “partial erase” is replaced with “temporary erase”. ). Then, the streamer information (STREAM.IFO / STRI) is rewritten (step S27).
[0328]
(D) Alternatively, a part of the bit stream information included in the stream object (SOB) (the temporary erasure area 747 in FIG. 23 or 25) according to the temporary erase start time (ERA_S_APAT) and the temporary erase end time (ERA_E_APAT). (In step S21, "partial erasure range" is replaced with "temporary erasure range").
[0329]
In a stream block (SOBU # 1 of cell # k + 1 in FIG. 30 (c)) that includes a transport packet (application packet) immediately following a cell (TE cell) corresponding to the portion where the provisional erasure range is specified. The temporary erase end time (ERA_E_APAT) is matched with the start time (SC_S_APAT) of the first one of the transport packets (application packets) starting at step (in step S26, "partial erase" is replaced with "temporary erase") . Then, the streamer information (STREAM.IFO / STRI) is rewritten (step S27).
[0330]
FIG. 18 is a diagram illustrating a method of setting time management information for MPEG-encoded video data (before partial erasure or temporary erasure).
[0331]
FIG. 19 is a view for explaining the relationship between time information and field information in original cell information (before partial erasure or before temporary erasure) corresponding to the video data in FIG.
[0332]
In the above-described embodiment, substantial partial erasure is performed for each stream block (SOBU) divided for each specific data size (for example, 32 sectors / 64 kbytes), and the detailed apparent partial erasure range is changed to the original cell size. It can be defined by a range.
[0333]
However, the present invention is not limited to this. Any method that divides and manages specific data such as video data into units or blocks, erases the data in units or blocks, and specifies the range of playback information (cells, etc.) so that the user can specify a detailed playback range The present invention can be applied to
[0334]
For example, the management information file RTR. In the IFO 104 (FIG. 2), as shown in FIG. 18, a portion from an I picture peculiar to MPEG2 moving image compression to a portion immediately before the next I picture is handled as a unit. This unit is called a video object unit (VOBU). This VOBU can be considered in association with a stream object unit (SOBU).
[0335]
According to the NTSC TV standard, about 30 images (frames) are displayed per second. Each image is called a picture, and in the interlace method, one picture (frame) is represented by two field scans (odd field scan and even field scan).
[0336]
In a streamer, time stamp information in which time information when stream data reaches a receiver is used as time (time) information. However, in one embodiment of the present invention, for video information, time (time) information can be represented by the number of fields counted from the first I picture a shown in FIG.
[0337]
The time map information in this embodiment is managed as a unit for each VOBU (or SOBU). For example, the data size of one VOBU (or SOBU) corresponds to the stream block size 262 in FIG. Further, as the time information corresponding to the stream block time difference 263, the number of fields included in one corresponding VOBU (or SOBU) applies.
[0338]
At this time, the information of the start time (SC_S_APAT or ERA_S_APAT) 753 of the corresponding cell and the information of the end time (SC_E_APAT or ERA_E_APAT) 758 of the corresponding cell in the information (SCI in FIG. 28) 763 (FIG. 19) of the original cell # 1 are as shown in FIG. Can be represented by the number of fields counted from the first I-picture a of.
[0339]
For example, the time information of the n-th picture in FIG. 18 can be expressed as a 2n-th field.
[0340]
FIG. 20 is a diagram illustrating a method of setting time management information for MPEG-encoded video data (after partial erasure or temporary erasure).
[0341]
FIG. 21 is a view for explaining the relationship between time information and field information in original cell information (after partial erasure or after temporary erasure) corresponding to the video data in FIG.
[0342]
When the partial erasure process is performed on the video information of FIG. 18, only VOBU # 2 (SOBU # 2) is substantially partially erased as shown in FIG. The range of the fine partial erasure specified by the user or the like can be defined by the cell range setting as in the case of the partial erasure of the stream data described with reference to FIG. 15 and others.
[0343]
That is, in FIG. 20, when the user or the like designates partial erasure from B picture f to B picture s, VOBU # 2 (SOBU # 2) completely included in the partial erasure designation range is completely erased. At this time, VOBU # 1 (SOBU # 1) and VOBU # 3 (SOBU # 3), which are partially included in the designated range of partial erasure, substantially remain in VOBU units (SOBU units).
[0344]
As in the case of the stream data, the VOB (or SOB) is divided before and after the partially erased portion to become VOB # 1 (SOB # 1) and VOB # 2 (SOB # 2). Correspondingly, the cell before partial erasure is divided into original cell # 1 and original cell # 2.
[0345]
At this time, as shown in FIG. 21, the 2f-th field corresponding to the B picture f is specified as the end time (SC_E_APAT or ERA_E_APAT) 759 of the corresponding cell of the information (SCI) 764 of the original cell # 1, The second (sq) field corresponding to the B picture s can be designated as the start time (SC_S_APAT or ERA_S_APAT) 754 of the corresponding cell of the second information (SCI) 765.
[0346]
For example, the time information of the f-th picture in FIG. 20 can be expressed as a 2f-th field.
[0347]
In the embodiments of FIGS. 20 and 21, the number of fields is always represented by the number of fields counted from the first picture of the VOB for each VOB (SOB). Further, the corresponding VOB (SOB) can be designated by the number of fields in the cell information (SCI). Here is a feature of this embodiment.
[0348]
FIG. 26 is a diagram illustrating an example of an internal configuration of a sector that forms a stream block (SOBU) (a stream pack including an application packet and a stream pack including a stuffing packet).
[0349]
The stream object (SOB) # A · 298 in FIG. 26D is composed of a plurality of stream blocks # 1, # 2,... As shown in FIGS.
[0350]
Each of the stream blocks # 1, # 2,... Is composed of a stream object unit (SOBU) having a size of 2 ECC blocks (= 32 sectors = 64 kbytes).
[0351]
In this way, for example, even if stream block (SOBU) # 2 is deleted, the ECC block of stream block (SOBU) # 1 is not affected by this deletion.
[0352]
The first stream block (SOBU) # 1 of SOB # A • 298 has a sector No. as shown in FIG. 0 to sector No. 31 (32 sectors / 64 kbytes).
[0353]
Each sector of the stream block (SOBU) # 1 has a similar data structure. , For example, sector No. Regarding 0, it is as shown in FIG.
[0354]
That is, the sector No. 0 is constituted by a stream pack of 2048 bytes (2 kbytes). This stream pack is composed of a pack header of 14 bytes and a stream PES packet of 2034 bytes.
[0355]
The stream PES packet includes a 6-byte PES header, a 1-byte substream ID, and a 2027-byte stream data area.
[0356]
The stream data area includes a 9-byte application header, an application header extension (optional), a stuffing byte (optional), and an application packet area.
[0357]
The application packet area is composed of a group of application packets each having an application time stamp (ATS) at the top.
[0358]
For example, when a transport packet having a size of 188 bytes is stored in the application packet area as an application packet, about 10 application packets can be stored in the application packet area.
[0359]
In stream recording, the application that generates the recorded content performs stuffing by itself so that it is not necessary to separately adjust the pack length. For this reason, in stream recording, a stream pack can always be treated as having a required length (for example, 2048 bytes).
[0360]
The stuffing bytes in FIG. 26A can be used to always keep the stream pack at a predetermined length (2048 bytes).
[0361]
When recording the stream, the first byte of the application time stamp ATS of the first application packet needs to be aligned with the start position of the application packet area in the first stream packet at the beginning of the stream object SOB.
[0362]
On the other hand, for a subsequent stream packet in the SOB, the application packet may be split (split) at an adjacent stream packet boundary. The partial packet illustrated in the lower part of FIG. 9 indicates an application packet generated by this division (split).
[0363]
The byte offset of the first application timestamp starting in the stream packet and the number of application packets starting in the stream packet are described in the application header.
[0364]
In this way, in a certain stream packet, stuffing before the first application time stamp and after the last application packet is automatically performed. Due to this automatic stuffing, the stream packet always has the required length.
[0365]
Although not shown, the pack header in FIG. 26A includes pack start code information, SCR base information, SCR extension information, program maximum rate information, marker bits, pack stuffing length information, and the like.
[0366]
The SCR base is composed of 32 bits, and the 32nd bit is set to zero. As the program maximum rate, 10.08 Mbps is adopted.
[0367]
The PES header and the substream ID in FIG. 26A have the contents as shown in FIG.
[0368]
As shown in FIG. 12C, the application header of FIG. 26A includes version information, the number of application packets AP_Ns, the time stamp position FIRST_AP_OFFSET of the first application packet, extension header information EXTENSION_HEADER_IFO, service ID, and the like. .
[0369]
Here, the version describes the version number of the application header format.
[0370]
AP_Ns in the application header describes the number of application packets starting in the corresponding stream pack. When the first byte of the ATS is stored in the corresponding stream pack, it can be considered that the application packet starts in this stream pack.
[0371]
In FIRST_AP_OFFSET, the time stamp position of the first application packet started in the corresponding stream packet is described in byte units as a relative value from the first byte of this stream packet. If there is no application packet to start in the stream packet, “0” is described in FIRST_AP_OFFSET.
[0372]
EXTENSION_HEADER_INFO describes whether an application header extension and / or stuffing byte exists in the corresponding stream packet.
[0373]
If the content of the EXTENSION_HEADER_INFO is 00b, it indicates that neither the application header extension nor the stuffing byte exists after the application header.
[0374]
When the content of the EXTENSION_HEADER_INFO is 10b, it indicates that the application header extension is present after the application header, but no stuffing byte is present.
[0375]
If the content of EXTENSION_HEADER_INFO is 11b, it indicates that an application header extension exists after the application header, and that a stuffing byte also exists after the application header extension.
[0376]
It is forbidden that the content of the EXTENSION_HEADER_INFO becomes 01b.
[0377]
The stuffing byte (optional) before the application packet area is activated by “EXTENSION_HEADER_INFO = 11b”. By doing so, it is possible to prevent "packing paradox" from occurring when there is a contradiction between the number of bytes in the application header extension and the number of application packets that can be stored in the application packet area.
[0378]
SERVICE_ID describes the ID of a service that generates a stream. If this service is unknown, 0x0000 is described in SERVICE_ID.
[0379]
The application packet area in FIG. 26A can be configured in the same manner as shown in the lower part of FIG. 9 (the packet in FIG. 9 is replaced with an application packet in FIG. 26).
[0380]
That is, a partial application packet is recorded at the head of the application packet area, and thereafter, a plurality of pairs of the application time stamp ATS and the application packet are sequentially recorded, and the partial application packet is recorded at the end.
[0381]
Stated another way, a partial application packet can be present at the start of the application packet area. At the end position of the application packet area, a partial application packet or a stuffing area of a reserved number of bytes can exist.
[0382]
The application time stamp (ATS) arranged before each application packet is composed of 32 bits (4 bytes). This ATS is divided into two parts, a basic part and an extended part. The basic part is a part called a 90 kHz unit value, and the extended part shows a small value measured at 27 MHz (less significant value).
[0383]
In FIG. 26A, the application header extension can be used to store information that may differ between application packets. Such information is not necessary for all applications.
[0384]
Therefore, the data field of the application header is defined so that the presence of the optional application header extension in the stream data area can be described (in the above described EXTENSION_HEADER_INFO).
[0385]
When recording the stream, the first byte of the application time stamp ATS of the first application packet needs to be aligned with the start position of the application packet area in the first stream packet at the beginning of the stream object SOB.
[0386]
On the other hand, for a subsequent stream packet in the SOB, the application packet may be split (split) at an adjacent stream packet boundary. The partial application packet shown in FIG. 8 (f) (g) or FIG. 9 indicates an application packet generated by this division (split).
[0387]
The byte offset of the first application timestamp starting in the stream packet and the number of application packets starting in the stream packet are described in the application header.
[0388]
In this way, in a certain stream packet, stuffing before the first application time stamp and after the last application packet is automatically performed.
[0389]
That is, "the application performs stuffing by itself" is realized by the automation mechanism. Due to this automatic stuffing, the stream packet always has the required length.
[0390]
The application header extension (optional) consists of a list of entries. Here, there is one entry of one byte length for each application packet starting in the corresponding stream packet. The bytes of these entries can be used to store information that can vary from application packet to application packet.
[0391]
In the 1-byte application header extension (option), 1-bit AU_START, 1-bit AU_END, and 2-bit COPYRIGHT are described.
[0392]
If AU_START is set to "1", it indicates that the associated application packet includes a random access entry point (start of random access unit) in the stream.
[0393]
When AU_END is set to “1”, it indicates that the associated application packet is the last packet of the random access unit.
[0394]
COPYRIGHT describes the copyright status of the related application packet.
[0395]
The packet structure in FIG. 26A can be applied to other than the last sector of SOB # A · 298, but is not necessarily applied to the last sector.
[0396]
For example, the end of SOB # A · 298 is the sector No. in FIG. When the sector is composed of padding packets 40 (see FIG. 1 (i)) as shown in FIG. 26 (g), the contents of the padding area 38 (FIG. 26 (h)) are 26 (a).
[0397]
That is, as shown in FIG. 26 (i), the stuffing packet as the padding packet 40 includes a pack header of 14 bytes, a PES header of 6 bytes, a substream ID of 1 byte, an application header of 9 bytes, It consists of an application packet area of 2018 bytes.
[0398]
In the pack including the head of the stuffing packet, this application packet area is composed of a 4-byte application time stamp ATS and 2014 bytes of zero-byte data (data having substantially no recorded content).
[0399]
On the other hand, in the pack including the subsequent stuffing packet, the application packet area is configured with 2018 bytes of zero-byte data (no ATS).
[0400]
When recording at a very low bit rate is performed, stuffing is required to ensure recovery (reproduction) of time map information (252 in FIG. 3H; MAPL in SOBI in FIG. 29). The stuffing packet in FIG. 26 (i) is defined as a conceptual unit for that. The purpose of this stuffing packet is achieved by ensuring that each SOBU, including the stuffing area, contains at least one ATS value.
[0401]
A stuffing packet has the following conditions:
* One or more stuffing packets always start in the pack's application packet area after the pack containing the actual application packet data;
* One or more stuffing packets are composed of one 4-byte ATS and zero byte data (following the ATS) necessary to fill the application data area of the remaining pack of the SOBU. Now, assuming that the number of sectors per SOBU is SOBU_SIZ and 0 ≦ n ≦ SOBU_SIZ−1, the total length of the stuffing packet is “4 + 2014 + n × 2018” bytes.
[0402]
The ATS of the stuffing packet is set as follows:
* In a SOBU where at least one pack contains the actual application packet data, the ATS of the stuffing packet is set to the ATS of the application packet preceding the stuffing packet;
* Within an SOBU that does not include actual application packet data, the ATS of a stuffing packet is determined according to the contents of time map information and the like.
[0403]
All packs containing stuffing packets or parts of stuffing packets are structured as follows:
* The SCR of the pack header is obtained by adding “2048 × 8 bits ÷ 10.08 Mbps” to the SCR of the preceding pack;
* PES packet header and substream ID are the same as for all other PES packets;
* AP_Ns = 0, FIRST_AP_OFFSET = 0, EXTENSION_HEADER_IFO = 00b, and SERVICE_ID = 0 in the application header (see FIGS. 12C and 12D) (other parameters in the application header are also 0).
[0404]
FIG. 27 is a view for explaining the internal data structure of streamer management information (corresponding to STREAM.IFO or SR_MANGR.IFO in FIG. 2).
[0405]
STREAM.COM which is the management information (navigation data) shown in FIG. The IFO (SR_MANGR.IFO) 105 includes streamer information STRI, as shown in FIG.
[0406]
As shown in FIG. 3 (f) or FIG. 27, the streamer information STRI includes streamer video manager information STR_VMGI, stream file information table SFIT, original PGC information ORG_PGCI (more generally, PGC information PGCI # i ), A user-defined PGC information table UD_PGCIT, a text data manager TXTDT_MG, and an application private data manager APDT_MG.
[0407]
As shown in FIG. 27, the streamer video manager information STR_VMGI includes video manager information management information VTSI_MAT in which management information related to STR and STR_VMGI is described, and a play pointer in which a search pointer for searching a playlist in a stream is described. And a list search pointer table (PL_SRPT).
[0408]
Here, the playlist is a partial list of the program. The playlist allows the user to define an arbitrary playback sequence (with respect to the contents of the program).
[0409]
The stream file information table SFIT includes all navigation data directly related to the streamer operation. Details of the stream file information table SFIT will be described later with reference to FIG.
[0410]
The original PGC information ORG_PGCI is a portion in which information on the original PGC (ORG_PGC) is described. ORG_PGC indicates navigation data describing a program set. ORG_PGC is a chain of programs, and includes stream data recorded in the “.SRO” file in FIG. 2 or FIG. 32 (SR_TRANS.SRO 106 in FIG. 2).
[0411]
Here, the program set indicates the entire recorded content (all programs) of the information storage medium 201. In the reproduction of the program set, the same reproduction order as the recording order of the program is used as the reproduction order unless an arbitrary program is edited and its reproduction order is changed with respect to the original recording. This program set corresponds to a data structure called an original PGC (ORG_PGC).
[0412]
A program is a logical unit of recorded content that is recognized or defined by a user. The program in the program set is composed of one or more original cells. The program is defined only in the original PGC.
[0413]
Further, a cell is a data structure indicating a part of a program. A cell in the original PGC is called an “original cell”, and a cell in a user-defined PGC described later is called a “user-defined cell”.
[0414]
Each program in the program set is composed of at least one original cell. In addition, each part of the program in each playlist is composed of at least one user-defined cell.
[0415]
On the other hand, in a streamer, only a stream cell (SC) is defined. Each stream cell refers to a part of the recorded bit stream. In the embodiment of the present invention, a “cell”, if not otherwise specified, means a “stream cell”.
[0416]
Note that the program chain (PGC) indicates a higher-level conceptual unit. In the original PGC, the PGC indicates a chain of programs corresponding to the program set. In the user-defined PGC, the PGC indicates a part (chain) of a program corresponding to the playlist.
[0417]
A user-defined PGC indicating a part of a chain of a program includes only navigation data. Then, a part of each program refers to stream data belonging to the original PGC.
[0418]
The user-defined PGC information table UD_PGCIT in FIG. 27 can include user-defined PGC information table information UD_PGCITI, one or more user-defined PGC search pointers UD_PGC_SRP # n, and one or more user-defined PGC information UD_PGCI # n.
[0419]
The user-defined PGC information table information UD_PGCITI includes UD_PGC_SRP_Ns indicating the number of user-defined PGC search pointers UD_PGC_SRP, and UD_PGCIT_EA indicating the end address of the user-defined PGC information table UD_PGCIT.
[0420]
The number of UD_PGC_SRPs indicated by UD_PGC_SRP_Ns is the same as the number of user-defined PGC information (UD_PGCI) and the same as the number of user-defined PGCs (UD_PGC). This number is allowed up to "99".
[0421]
UD_PGCIT_EA describes the end address of the UD_PGCIT in terms of the relative number of bytes (F_RBN) from the first byte of the UD_PGCIT.
[0422]
Here, F_RBN indicates the relative number of bytes from the first byte of the defined field in the file, and starts from zero.
[0423]
PGCI # i that generally represents the original PGC information ORG_PGCI or the user-defined PGC information UD_PGCI in the user-defined PGC information table UD_PGCIT will be described later with reference to FIG.
[0424]
The text data manager TXTDT_MG in FIG. 27 is supplementary text information. This TXTDT_MG can be stored in a playlist and a program together with the primary text information PRM_TXTI of FIG.
[0425]
Although not shown, the application private data manager APDT_M in FIG. 27 can include application private data manager general information APDT_GI, one or more APDT search pointers APDT_SRP # n, and one or more APDT areas APADTA # n.
[0426]
Here, the application private data APDT is a conceptual area in which an application device connected to the streamer can store any non-real-time information (more desired information in addition to real-time stream data).
[0427]
FIG. 28 is a view for explaining the internal data structure of PGC information (ORG_PGCI / UD_PGCIT in FIG. 3 or PGCI # i in FIG. 27).
[0428]
The PGC information PGCI # i in FIG. 28 generally represents the original PGC information ORG_PGCI in FIG. 27 or the user-defined PGC information UD_PGCI in the user-defined PGC information table UD_PGCIT.
[0429]
As shown in FIG. 28, PGC information PGCI # i includes PGC general information PGC_GI, one or more program information PGI # m, one or more stream cell information search pointer SCI_SRP # n, and one or more stream cell information SCI #N.
[0430]
The PGC general information PGC_GI includes the number PG_Ns of programs and the number SCI_SRP_Ns of stream cell information search pointers SCI_SRP.
[0431]
Each program information PGI (for example, PGI # 1) includes a program type PG_TY, the number C_Ns of cells in the program, primary text information PRM_TXTI of the program, and a search pointer number IT_TXT_SRPN of the item text.
[0432]
Here, the program type PG_TY includes information indicating the state of the corresponding program. In particular, it includes a flag indicating whether the program is protected from erroneous erasure or the like, that is, a protect flag.
[0433]
When the protect flag is "0b", the corresponding program is not protected. When the protect flag is "1b", the program is protected.
[0434]
The number of cells C_Ns indicates the number of cells in the corresponding program. Throughout the entire program and all cells of the PGC, cells are (implicitly) associated with the program in their ascending order.
[0435]
For example, if the program # 1 has C_Ns = 1 and the program # 2 has C_Ns = 2 in the PGC, the first stream cell information SCI of the PGC is attached to the program # 1, and the second, The third SCI is associated with program # 2.
[0436]
The primary text information PRM_TXTI describes text information having one common character set (ISO / IEC646: 1983 (ASCII code)) so that the information storage medium (DVD-RAM disc) 201 can be used worldwide. It was done.
[0437]
The item text search pointer number IT_TXT_SRPN describes the search pointer number for the item text (text data corresponding to the program) IT_TXT. If the corresponding program has no item text, IT_TXT_SRPN is set to “0000h”.
[0438]
Each stream cell information search pointer SCI_SRP (for example, SCI_SRP # 1) includes SCI_SA indicating the start address of the corresponding stream cell information SCI. This SCI_SA is described by the relative number of bytes (F_RBN) from the first byte of the PGCI.
[0439]
Each stream cell information SCI (for example, SCI # 1) includes stream cell general information SC_GI and one or more stream cell entry point information SC_EPI # n.
[0440]
The stream cell general information SC_GI includes a cell type C_TY including a flag TE indicating a temporary erase (temporary erase; TE) state, the number SC_EPI_Ns of stream cell entry point information, a stream object number SOB_N, and a stream cell start APAT (FIG. 6 and others, SC_S_APAT shown in FIG. 6 and others, stream cell end APAT (SC_E_APAT shown in FIG. 6 and others), and erase start APAT indicating the start APAT of the temporarily erased cell when the cell is in the temporary erase state (TE = 01b). (ERA_S_APAT shown in FIG. 6 and others) and an erase end APAT (ERA_E_APAT shown in FIG. 6 and others) indicating the end APAT of the temporarily erased cell when the cell is in the temporary erase state (TE = 10b). I have.
[0441]
The cell type C_TY describes the format of the corresponding stream cell and its temporary erasure state.
[0442]
That is, the cell format C_TY1 = "010b" is described in all stream cell formats (the stream cell and the other cells can be distinguished by the C_TY1 = "010b").
[0443]
On the other hand, if the flag TE is “00b”, it indicates that the corresponding cell is in a normal state, and if the flag TE is “01b” or “10b”, it indicates that the corresponding cell is in a temporary erase state. .
[0444]
The flag TE = "01b" indicates a case where the corresponding cell (cell in the temporary erase state) starts after the first application packet starting in the SOBU and ends before the last application packet in the same SOBU. .
[0445]
Further, the flag TE = “10b” indicates a case where the corresponding cell (cell in the temporarily erased state) includes at least one SOBU boundary (the first application packet or the last application packet starts in the SOBU).
[0446]
The program protect flag and the TE flag of a cell in the program cannot be set at the same time. therefore,
(A) none of the cells in the program in the protected state can be set to the temporary erase state;
(B) A program including one or more cells in a temporarily erased state cannot be set to a protected state.
[0447]
The number SC_EPI_Ns of stream cell entry point information describes the number of stream cell entry point information included in the corresponding stream cell information SCI.
[0448]
Each stream cell entry point information SC_EPI (for example, SC_EPI # 1) in FIG. 28 has two types (type A and type B).
[0449]
The type A SC_EPI includes an entry point type EP_TY and an entry point application packet arrival time EP_APAT. Type A is indicated by the entry point type EP_TY1 = "00b".
[0450]
The type B SC_EPI includes primary text information PRM_TXTI in addition to the type A EP_TY and EP_APAT. Type B is indicated by the entry point type EP_TY1 = "01b".
[0451]
In any stream cell, an entry point can be used as a tool for skipping a part of the recorded content. All entry points can be specified by the application packet arrival time (APAT). With this APAT, it is possible to specify where data output starts.
[0452]
The stream object number SOB_N describes the number of the SOB referenced by the corresponding cell.
[0453]
The stream cell start APAT (SC_S_APAT) describes the start APAT of the corresponding cell.
[0454]
The stream cell end APAT (SC_E_APAT) describes the end APAT of the corresponding cell.
[0455]
The erase start APAT (ERA_S_APAT) is the first erase start in the first SOBU including the head of the temporary erase cell in the temporary erase cell including at least one SOBU boundary (the TE field of the C_TY is “10b”). It describes the arrival time (APAT) of the application packet.
[0456]
The erasure end APAT (ERA_E_APAT) is the first erasure cell that includes at least one SOBU boundary (the TE field of its C_TY is “10b”) and starts in the SOBU that includes the application packet immediately following the erasure cell. It describes the arrival time (APAT) of the application packet.
[0457]
FIG. 29 is a view for explaining the internal data structure of the stream file information table (FIG. 3F or SFIT in FIG. 27).
[0458]
As shown in FIG. 29, the stream file information table SFIT includes stream file information table information SFITI, one or more stream object stream information SOB_STI # n, and stream file information SFI.
[0459]
The stream file information table information SFITI includes the number SFI_Ns of stream file information on the information storage medium (DVD-RAM disc) 201, the number SOB_STI_Ns of stream object stream information following the SFITI, the end address SFIT_EA of the SFIT, and the start of the SFI. It is composed of an address SFI_SA.
[0460]
SFIT_EA describes the end address of SFIT by the relative number of bytes (F_RBN) from the first byte of SFIT.
[0461]
The SFI_SA describes the start address of the SFI with the number of bytes relative to the first byte of the SFIT (F_RBN).
[0462]
The stream object stream information SOB_STI includes three types of parameters. Each parameter can have a unique value for each bitstream record. However, these parameter sets can usually be equal in many bitstream recordings. Therefore, the SOB_STI is stored in a separate table from the table of stream object information (SOBI), and it is recognized that some stream objects (SOB) share the same SOB_STI (that is, point to the same SOB_STI). I have. Therefore, the number of B_STIs is usually smaller than the number of SOBs.
[0463]
Each stream object stream information SOB_STI (eg, SOB_STI # 1) in FIG. 27 includes an application packet size AP_SIZ, the number of service IDs SERV_ID_Ns, a service ID (SERV_IDs), and an application packet device unique ID (AP_DEV_UID). .
[0464]
AP_SIZ is the byte length of the packet in the bit stream transferred from the application device to the streamer, and describes the application packet size.
[0465]
In the DVD streamer, the application packet size is fixed in each bit stream recording. Therefore, if the application packet size changes during each uninterrupted recording, the current stream object (current SOB) is terminated there and a new stream object (new SOB) is added with a new AP_SIZ. Started. At that time, both the current SOB and the new SOB belong to the same program in the original PGC information (ORG_PGCI).
[0466]
SERV_ID_Ns describes the number of service IDs included in the subsequent parameters.
[0467]
SERV_IDs describes a list of service IDs in an arbitrary order.
[0468]
AP_DEV_UID describes a unique device ID unique to the application device that has supplied the recorded bit stream.
[0469]
As shown in FIG. 29, stream file information SFI includes stream file general information SF_GI, one or more stream object information (SOB information) search pointer (SOBI_SRP) #n, and one or more SOB information (SOBI) #n. It is composed of
[0470]
The stream file general information SF_GI includes the number of SOBIs SOBI_Ns, the number of sectors per SOBU SOBU_SIZ, and MTU_SHFT, which is a type of time map information.
[0471]
Here, SOBU_SIZ describes the size of the SOBU in terms of the number of sectors, and this size is constant at 32 (32 sectors = 64 kbytes). This means that in each time map information (MAPL), the first entry relates to an application packet included in the first 32 sectors of the SOB. Similarly, the second entry relates to the application packet contained in the next 32 sectors. The same applies to the third and subsequent entries.
[0472]
Each SOB information search pointer (for example, SOBI_SRP # 1) includes a start address SOBI_SA of SOBI. This SOBI_SA describes the start address of the related SOBI by the relative byte number (F_RBN) from the first byte of the stream file information SFI.
[0473]
Each SOB information (for example, SOBI # 1) includes stream object general information SOB_GI, time map information MAPL, and access unit data AUD (optional).
[0474]
The stream object general information SOB_GI includes a stream object type SOB_TY, a stream object recording time SOB_REC_TM, a stream object stream information number SOB_STI_N, an access unit data flag AUD_FLAGS, a stream object start application packet arrival time SOB_S_APAT, and a stream object. Of the end application packet SOB_E_APAT, the head stream object unit SOB_S_SOBU of the corresponding stream object, and the number of entries MAPL_ENT_Ns of the time map information.
[0475]
The stream object type SOB_TY is a portion in which a bit indicating a temporary erasure state (TE state) and / or a bit of the copy generation management system can be described.
[0476]
The stream object recording time SOB_REC_TM describes the recording time of the related stream object (SOB).
[0477]
The stream information number SOB_STI_N of the stream object describes an index of the SOB_STI valid for the stream object.
[0478]
The access unit data flag AUD_FLAGS describes whether or not access unit data (AUD) exists for the stream object, and if so, what kind of access unit data.
[0479]
If the access unit data (AUD) exists, AUD_FLAGS describes some characteristics of the AUD.
[0480]
As shown in FIG. 29, the access unit data (AUD) itself includes access unit general information AU_GI, an access unit end map AUEM, and a reproduction time stamp list PTSL.
[0481]
The access unit general information AU_GI includes AU_Ns indicating the number of access units described for the SOB, and an access unit start map AUSM indicating which of the SOBUs belonging to the SOB includes the access unit.
[0482]
The access unit end map AUEM (if present) is a bit array of the same length as AUSM, and indicates which SOBU includes the end of the bit stream segment associated with the access unit of the corresponding SOB.
[0483]
The reproduction time stamp list PTSL is a list of reproduction time stamps of all access units belonging to the corresponding SOB. One PTSL element included in this list includes a reproduction time stamp (PTS) of the corresponding access unit.
[0484]
Note that an access unit (AU) refers to an arbitrary single continuous part of a recorded bit stream, and is configured to be suitable for individual reproduction. For example, in an audio / video bit stream, an access unit is usually a portion corresponding to an MPEG I picture.
[0485]
Here, the description returns to SOB_GI.
[0486]
AUD_FLAGS includes a flag RTAU_FLG, a flag AUD_FLG, a flag AUEM_FLG, and a flag PTSL_FLG.
[0487]
When the flag RTAU_FLG is 0b, it indicates that there is no access unit flag in the real-time data of the SOB.
[0488]
When the flag RTAU_FLG is 1b, it indicates that the AU flags (AU_START, AU_END) described in the application header extension of FIG. 26A can exist in the real-time data of the SOB. This state is also allowed when AUD_FLG below is 0b.
[0489]
When the flag AUD_FLG is 0b, it indicates that there is no access unit data (AUD) for the corresponding SOB.
[0490]
When the flag AUD_FLG is 1b, it indicates that access unit data (AUD) may exist for the corresponding SOB.
[0490]
When the flag AUEM_FLG is 0b, it indicates that there is no AUEM in the corresponding SOB.
[0492]
When the flag AUEM_FLG is 1b, it indicates that AUEM exists in the corresponding SOB.
[0493]
When the flag PTSL_FLG is 0b, it indicates that no PTSL exists in the corresponding SOB.
[0494]
When the flag PTSL_FLG is 1b, it indicates that PTSL exists in the corresponding SOB.
[0495]
SOB_S_APAT describes the arrival time of the start application packet of the stream object. That is, SOB_S_APAT indicates the arrival time of the first application packet belonging to the SOB.
[0496]
This packet arrival time (PAT) is divided into two parts, a basic part and an extended part. The basic part is a part called a 90 kHz unit value, and the extended part shows a small value measured at 27 MHz (less significant value).
[0497]
SOB_E_APAT describes the arrival time of the end application packet of the stream object. That is, SOB_E_APAT indicates the arrival time of the last application packet belonging to the relevant SOB.
[0498]
SOB_S_SOBU describes the head stream object unit of the corresponding stream object. That is, SOBU_S_SOBU indicates the SOBU including the start portion of the head application packet of the stream object.
[0499]
MAPL_ENT_Ns describes the number of entries of time map information (MAPL) following SOBI_GI.
[0500]
The time map information MAPL has contents corresponding to the time map information 252 in FIG.
[0501]
FIG. 30 shows an example of the relationship between cells and corresponding time information (SC_S_APAT / SC_E_APAT; ERA_S_APAT / ERA_E_APAT) when part of a certain program #j is partially erased (temporary erase and main erase) (part 1). FIG.
[0502]
As described above with reference to FIG. 17, the streamer according to one embodiment of the present invention partially erases a part of a stream completely and temporarily erases a part of a stream (temporary erase; TE). And can be handled.
[0503]
Now, as shown in FIG. 30A, it is assumed that a program #j of an original program (corresponding to SOB #n) is composed of a cell #k, and this cell #k is composed of SOBU # 1 to SOBU # 6. I do. At this time, the start time of cell #k is indicated by SC_S_APAT, and its end time is indicated by SC_E_APAT.
[0504]
In such a program #j, as shown in FIG. 30B, the streamer user sets an area (starting from SC_S_APAT and ending with SC_E_APAT) completely including SOBU # 3 to SOBU # 4 as a temporary erased cell # k + 1. Suppose you set it. At this time, the temporary erasure flag TE of the cell # k + 1 becomes “10b”.
[0505]
In this case, the portion corresponding to SOBU # 1 to SOBU # 2 of the cell #k before the temporary erasure (FIG. 30A) remains the cell #k even after the temporary erasure (FIG. 30B). The portion corresponding to SOBU # 5 to SOBU # 6 after SOBU # 3 to SOBU # 4 included in the temporary erase cell (TE cell) # k + 1 is the cell # after the temporary erase (FIG. 30B). k + 2.
[0506]
As shown in FIG. 30B, the temporary erased cell (TE cell) # k + 1 includes an SOBU boundary formed between SOBU # 3 and SOBU # 4. In this case, the application packet arrival time of the first application packet starting in SOBU # 3 is indicated by ERA_S_APAT of TE cell # k + 1. Further, the application packet arrival time of the first application packet starting in SOBU # 5 including the application packet immediately following TE cell # k + 1 is indicated by ERA_E_APAT of TE cell # k + 1.
[0507]
When TE cell # k + 1 is truly erased (completely erased) from program #j in FIG. 30B, program #j belonging to SOB # n in the original program (FIG. 30A) becomes As shown in c), it is divided into SOB # n and SOB # n + 1.
[0508]
In this case, SC_E_APAT of cell #k after complete erasure can be matched with ERA_S_APAT of TE cell # k + 1. Also, SC_S_APAT of cell # k + 1 after complete erasure can be matched to ERA_E_APAT of TE cell # k + 1.
[0509]
The reason why not only SC_S_APAT and SC_E_APAT but also ERA_S_APAT and ERA_E_APAT are used will be described below.
[0510]
A TE cell can have two special APATs: SC_S_APAT / SC_E_APAT and ERA_S_APAT / ERA_E_APAT. This is because the SOBU (SOBU # 3 to SOBU # 4 in FIG. 30B) in the TE cell can be reused during recording.
[0511]
In other words, when the medium (DVD-RAM disk) 201 becomes full during recording, the streamer completely erases the TE cell to newly record an unrecorded SOBU (SOBU in FIG. 30B). # 3 to SOBU # 4), and the recording is continued without interruption using this SOBU.
[0512]
For the purpose of "acquisition of a new unrecorded SOBU", the TE cells SC_S_APAT and SC_E_APAT alone are not enough. This is because in the search via the time map information (MAPL), there are two possible search positions in the assigned SOBU. However, if ERA_S_APAT and ERA_E_APAT are used, the exact SOBU position can be specified without any involvement in the stream.
[0513]
FIG. 31 is a view for explaining a relationship example (part 2) between cells and corresponding time information (SC_S_APAT / SC_E_APAT) when a part of a certain program #j is partially erased (temporarily erased and main erased). It is.
[0514]
In FIG. 31, the program #j of the original recording is composed of the cell #k (the start time is SC_S_APAT; the end time is SC_E_APAT) with the TE flag of “00b”.
[0515]
Here, it is assumed that the temporarily erased cell does not include the SOBU boundary (ERA_S_APAT / ERA_E_APAT).
[0516]
When provisional erasure is performed on a part of this program #j (range from APAT = A to APAT = B), cell #k of the original recording becomes cell #k (TE flag is "00b"). Start time is SC_S_APATk; end time is SC_E_APATk); cell # k + 1 (TE flag is “10b”; start time is SC_S_APATk + 1; end time is SC_E_APATk + 1); and cell # k + 2 (TE flag is “00b”; start time is SC_S_APATk + 2; the end time is divided into three: SC_E_APATk + 2).
[0517]
After the temporary erasure (TE) is performed, when the original cell is rearranged, as shown in the middle part of FIG. 31, the program #j again returns to the cell #k whose TE flag is “00b” (start time is SC_S_APAT; end time is SC_E_APAT). It becomes.
[0518]
Here, the temporary erasure (TE) operation does not affect the content of the original PGC information, and the content of the stream file information SFI is left unchanged.
[0519]
On the other hand, the user-defined PGC information is not changed or can be modified so that the user-defined cell does not refer to the TE cell.
[0520]
The main operation of the temporary erase is executed in the program #j. The temporary erasure is performed by dividing the cell of the program #j into a normal stream part (a part that has not been erased) and a part that covers the temporary erasure part.
[0521]
If the contents of the user-defined PGC information are left unchanged without any change, the navigation data does not change from the state before the temporary deletion even after the reconfiguration of the TE operation.
[0522]
When the unrecorded area of the information storage medium 201 has been used up and the recording space is insufficient, the temporarily erased cell # k + 1 is completely erased. Then, as shown in the lower part of FIG. 31, the cell #k at the time of temporary erasure remains as a cell #k even after complete erasure, but the cell # k + 2 at the time of temporary erasure becomes cell # k + 1 after complete erasure.
[0523]
FIG. 32 is a diagram illustrating how cells specified by an original PGC or user-defined PGC and SOBUs corresponding to these cells are related by time map information.
[0524]
The user-defined PGC does not include its own SOB, but refers to the SOB in the original PGC. Therefore, a user-defined PGC can be described only by using PGC information. This means that an arbitrary reproduction sequence can be realized without any manipulation of the SOB data.
[0525]
The user-defined PGC does not include a program and is composed of a chain of cells corresponding to a part of the program in the original PGC.
[0526]
An example of such a user-defined PGC is shown in FIG. This example shows a case where a user-defined PGC # n is created so that cells in the PGC refer to SOBs in the original PGC.
[0527]
In FIG. 32, PGC #n has four cells # 1 to # 4. Two of them refer to SOB # 1, and the other two refer to SOB # 2.
[0528]
A solid arrow from a cell in the user-defined PGC to the original PGC (to the SOBI time map information) indicates a playback period for the cell. The cell playback order in the user-defined PGC may be completely different from the playback order in the original PGC.
[0529]
The reproduction of an arbitrary SOB and its SOBU is specified by the start APAT (S_APAT) and the end APAT (E_APAT) in FIG.
[0530]
S_APAT of SOB or SOBU is defined in relation to a time stamp recorded in the payload (see FIG. 8B) of the stream pack of the SOB. During SOB recording, each incoming application packet is time stamped by a local clock reference in the streamer. This is the application packet arrival time (APAT).
[0531]
The APAT of the first application packet of the SOB is stored as SOB_S_APAT. The 4 least significant bytes of all APATs are ~. Pre-fixed for the corresponding application packet in the SRO file.
[0532]
In order to reproduce SOB or SOBU data, the reference clock inside the streamer is set to the SCR value, and then the clock is automatically counted. This SCR value is described in the first stream pack (in the pack header) at which reproduction starts. Based on this clock, reproduction and output of all subsequent application packets from the SOB or SOBU are executed.
[0533]
If any stream cell (SC) specifies a stream cell start APAT (SC_S_APAT) with any value between SOB_S_APAT and SOB_E_APAT of the SOB to which the SC points, the application packet with the desired APAT Is needed to find the SOBU that contains.
[0534]
The number of stream packs per SOBU is constant, but the interval between arrival times captured by each SOBU is flexible. Therefore, each SOB has time map information (MAPL) in which the arrival time interval of the SOBU of the SOB is described. In other words, the address method realized by the time map information (MAPL) converts an arbitrary APAT into a relative logical block address in a file and points to a SOBU where a desired application packet can be found.
[0535]
FIG. 33 is a diagram exemplifying how the contents of the SOBU constituting each stream object (SOB) are recorded in the data area 207 in FIG. 3 (the data areas 21 to 23 in FIG. 1). Here, how the SOB is allocated when the SOB is recorded will be described.
[0536]
In order to effectively utilize the free space of the information storage medium (DVD-RAM disk) 201, as shown in FIG. 33, the SOB can be allocated in a data area dispersed throughout the medium (disk).
[0537]
When such an SOB is read from a medium (disk), the data supply from the medium (disk) is interrupted while jumping from one data area to the next data area. Even in such a case, in order to guarantee continuous supply of SOB data, SOB data is allocated under the following conditions.
[0538]
That is, the SOB is allocated in a chain of continuous data areas (hereinafter abbreviated as CDA as appropriate). A CDA is basically a sequence of consecutive physical sectors in a medium (disk).
[0539]
The minimum length of the DCA and the data allocation in the CDA are limited by a playback device model that can continuously play each SOB.
[0540]
A continuous data area (CDA) is a continuous physical sector in a medium (disk). The CDA is composed of a plurality of ECC blocks. In the CDA, SOB data is continuously allocated unless some physical sectors are skipped during recording in the CDA.
[0541]
The limitations when SOB data is recorded in CDA are as follows: (21) SOB data and other data are not recorded in the same ECC block;
(22) Even if a defective sector is encountered during the recording of SOB data, replacement processing (linear replacement) is not used.
[0542]
Here, a supplementary description will be given of reproduction in the case where a cell start APAT is included in a certain SOBU including a plurality of application packets.
[0543]
A cell may have a cell start APAT or cell end APAT that does not match the SOBU boundary. Now, consider a case where there are two consecutive SOBU # K-1 and SOBU # k, and there is a cell start APAT in an intermediate part in SOBU # k.
[0544]
When starting the reproduction of a series of application packets from the application packet specified by the cell start APAT, first, it is necessary to access SOBU # k including the target application packet (corresponding to the desired APAT). The reason why the target application packet is not immediately accessed is that it is assumed that the address method based on the time map information (MAPL) gives only the start address of the SOBU.
[0545]
In order to find a desired APAT, all application packets in the SOBU # k must be scanned from the beginning (the boundary between SOBU # k-1 and SOBU # k). If a desired APAT is found by this scan, reproduction and output of application packets from the found position are started according to the time stamp (ATS) of those application packets.
[0546]
As described above, the effects of the embodiment of the present invention are summarized as follows.
[0547]
1. Stream data to be recorded on the information storage medium is composed of a stream block of a predetermined size (or SOBU) and recorded / erased in units of the stream block. Access control at the time becomes easier. (At the time of reproduction, as shown in S12 of FIG. 14, reproduction is started from the stream block head position.)
2. Stream data to be recorded on the information storage medium is composed of stream blocks of a predetermined size (for example, 32 kbytes, 64 kbytes), and time stamps and data packets (transport packets) can be recorded across different sectors in the same stream block. , A data packet (transport packet) larger than the sector size (2048 kbytes) can be recorded.
[0548]
3. When a DVD-RAM disk is used as an information storage medium, an ECC block is configured for every 16 sectors, and data interleaving (rearrangement) and an error correction code are added in the ECC block. Therefore, in order to erase, rewrite, or additionally write only a specific sector in the ECC block, all data in the ECC block is once read (read) and rearranged (deinterleaved) in the buffer memory. After that, it is necessary to perform a process of erasing or rewriting data for a specific sector, performing additional writing (modify), recording again with interleaving (rearranging) and adding an error correction code (read-modify-write). Become. This process is very time-consuming, and there is a problem that recording and partial erasure of stream data cannot be performed in real time.
[0549]
On the other hand, the stream block size is set to an integral multiple of the ECC block size (for example, SOBU = 2 ECC block size), and recording and partial erasure are performed in stream block units (SOBU units). For this reason, the read-modify-write process is not required, and it is possible to directly overwrite the information storage medium in ECC block units. As a result, processing of recording or partial erasure of stream data can be performed at high speed, and real-time processing (real-time processing) can be performed.
[0550]
4. By providing unique header information (stream block header or application header) for each stream block, it becomes possible to start reproduction from the head position of the stream block when reproducing stream data. Therefore, the stream data recording / reproducing apparatus (streamer) can easily process the reproduced stream data by reading the stream block header at an early stage.
[0551]
5. As described above, the reproduction is basically started from the head position of the stream block. In rare cases, the reproduction may be started from the head position of the second and subsequent ECC blocks in the stream block.
[0552]
As shown in the example in FIG. 1 where the same transport packet d is recorded over two sectors (sector No. 0 and sector No. 1), reproduction is started from the head position of the second and subsequent ECC blocks. In such a case, it is necessary to know where the next time stamp information is recorded.
[0553]
Unique header information (sector data header or application header) is arranged at the head position of each sector, and the first access point 651 (or FIRST_AP_OFFSET in FIG. 12C) is recorded in the header information. The reproduction can be easily started from the head position of the ECC block after the third.
[0554]
6. As shown in FIG. 1 (j), an end code 32 is attached to the end of the stream data recorded in the stream block # 2. However, when the end code 32 cannot be read due to an error correction error for each ECC block or a data transfer error in the stream data recording / reproducing apparatus when reproducing data from the information storage medium, the stream data is also recorded in the padding area 38. There is a danger that the wrong image will be displayed because it is misinterpreted.
[0555]
The stream ID 603 (or sub-stream ID) of the PES header 601 (or stream PES packet header) in FIG. If 79 is used as the padding packet 40, the encoding unit (video encoding unit 416, audio encoding unit 417, SP encoding The unit 418) understands the padding packet 40 and skips it.
[0556]
By setting the padding packet 40 (or the stuffing packet in FIG. 26 (i)) as described above, even if the padding area 38 is erroneously recognized without being able to read the end code 32, the risk of displaying an incorrect image is greatly increased. Can be reduced.
[0557]
7. The area range specified by the original cell is equal to or smaller than the area range specified by the stream object. By specifying the reproduction range in the remaining stream object after partial erasure in this way, the user can apparently set an arbitrary range as the partial erasure range with high accuracy.
[0558]
The present invention is not limited to the above embodiments, and various modifications and changes can be made at the stage of implementation without departing from the scope of the invention. In addition, the embodiments may be implemented in appropriate combinations as much as possible, and in that case, the effect of the combination is obtained.
[0559]
Further, the embodiments include inventions at various stages, and various inventions can be extracted by appropriately combining a plurality of constituent elements disclosed in this application. For example, even if one or more components are deleted from all the components described in the embodiment, if at least one of the effects of the present invention or the effects accompanying the implementation of the present invention is obtained, this component is required. The deleted configuration can be extracted as an invention.
[0560]
【The invention's effect】
As described above, according to the present invention, it is possible to improve the stream information recording process.
[Brief description of the drawings]
FIG. 1 is an exemplary view for explaining a data structure of stream data according to an embodiment of the present invention;
FIG. 2 is an exemplary view for explaining a directory structure of a data file according to the embodiment of the present invention;
FIG. 3 is an exemplary view for explaining a recording data structure on an information medium (DVD recording / reproducing disk) according to one embodiment of the present invention;
FIG. 4 is a view for explaining a relationship between a stream object (SOB), a cell, a program chain (PGC) and the like in the present invention.
FIG. 5 is a view for explaining the contents of a stream block size and a stream block time difference in the time map information.
FIG. 6 is a view for explaining a method of specifying a cell range in an original cell and a user-defined cell.
FIG. 7 is an exemplary view for explaining the configuration of a stream data recording / reproducing apparatus (streamer) according to one embodiment of the present invention;
FIG. 8 is a view for explaining the correspondence between digital broadcast contents, video data transfer modes in IEEE 1394, and stream packs in a streamer.
FIG. 9 is a view for explaining a relationship between a video information compression method and a transport packet in MPEG, and a relationship between a transport packet in MPEG and an application packet in a streamer.
FIG. 10 is a view for explaining the internal structure of the PES header shown in FIGS. 1, 8, and 9;
FIG. 11 is a view for explaining the internal structure of the stream block header shown in FIG. 1;
FIG. 12 is a view for explaining the internal structure of a sector data header shown in FIG. 1;
FIG. 13 is a flowchart for explaining a stream data encoding procedure and a recording procedure according to the embodiment of the present invention.
FIG. 14 is a flowchart illustrating a procedure for decoding and reproducing stream data according to an embodiment of the present invention.
FIG. 15 is a diagram (example 1) for explaining a method of partially deleting stream data according to an embodiment of the present invention;
FIG. 16 is a diagram (Example 2) illustrating an explanatory diagram of a method of partially deleting stream data according to another embodiment of the present invention.
FIG. 17 is a flowchart for explaining a procedure for partially deleting stream data according to an embodiment of the present invention;
FIG. 18 is a view for explaining a method of setting time management information for MPEG-encoded video data (before partial erasure or temporary erasure).
FIG. 19 is a view for explaining the relationship between time information and field information in original cell information (before partial erasure or before temporary erasure) corresponding to the video data of FIG. 18;
FIG. 20 is a view for explaining a method of setting time management information for MPEG-encoded video data (after partial erasure or temporary erasure).
FIG. 21 is a view for explaining a relationship between time information and field information in original cell information (after partial erasure or after temporary erasure) corresponding to the video data in FIG. 20;
FIG. 22 is a modified example of FIG. 15, and illustrates an example of a method of partially erasing stream data in a case where all stream blocks are composed of SOBUs of a fixed size (32 sectors = 2 ECC blocks).
FIG. 23 is a modified example of FIG. 22 and illustrates an example of a method of temporarily erasing stream data in a case where all stream blocks are composed of SOBUs of a fixed size (32 sectors = 2 ECC blocks).
FIG. 24 is a diagram illustrating a modification of FIG. 16, illustrating another example of a method of partially erasing stream data in a case where all stream blocks are formed of SOBUs of a fixed size (32 sectors = 2 ECC blocks).
FIG. 25 is a modified example of FIG. 24, illustrating another example of a method of temporarily erasing stream data in a case where all stream blocks are composed of SOBUs of a fixed size (32 sectors = 2 ECC blocks).
FIG. 26 is a view for explaining an example of an internal configuration of a sector forming a stream block (SOBU) (a stream pack including an application packet and a stream pack including a stuffing packet).
27 is a view for explaining the internal data structure of streamer management information (corresponding to STREAM.IFO or SR_MANGR.IFO in FIG. 2).
28 is a view for explaining the internal data structure of PGC information (ORG_PGCI / UD_PGCIT in FIG. 3 or PGCI # i in FIG. 27).
FIG. 29 is a view for explaining the internal data structure of a stream file information table (SFIT in FIG. 3 or FIG. 27).
FIG. 30 shows an example of the relationship between cells and corresponding time information (SC_S_APAT / SC_E_APAT; ERA_S_APAT / ERA_E_APAT) when a part of a certain program #j is partially erased (temporarily erased and main erased) (part 1) FIG.
FIG. 31 is a view for explaining an example (part 2) of a relationship between cells and corresponding time information (SC_S_APAT / SC_E_APAT) when a part of a certain program #j is partially erased (temporarily erased and main erased). .
FIG. 32 is a view exemplifying how cells specified by an original PGC or a user-defined PGC and SOBUs corresponding to these cells are related by time map information.
FIG. 33 is a view showing an example of how the contents of an SOBU constituting each stream object (SOB) are recorded in a data area 207 in FIG. 3 (data areas 21 to 23 in FIG. 1).
[Explanation of symbols]
201: Information medium, 401: Encoding unit, 402: Decoding unit, 404: Main MPU, 409: Disk drive unit

Claims (5)

ストリームデータを記録するデータエリアおよびこのストリームデータの管理情報を記録する管理エリアを持つ光ディスクにおいて、トランスポートパケットあるいはアプリケーションパケットというデータパケットを第1データ単位として表現し、ストリームブロックあるいはストリームオブジェクトユニットというデータ単位を第2データ単位として表現し、ストリームオブジェクトというオブジェクトデータを第3データ単位として表現したときに、
1以上の前記第1データ単位を含む前記第2データ単位を1以上含んで構成される前記第3データ単位の前記ストリームオブジェクトにより、前記データエリアに記録される前記ストリームデータが形成され、
前記第2データ単位がヘッダ情報を含み、
前記ヘッダ情報が、前記第1データ単位の時間に関する情報を含み、
前記時間に関する情報を含む前記ヘッダ情報が、前記管理エリアとは異なる前記データエリアに記録されるように構成された光ディスク。
In an optical disc having a data area for recording stream data and a management area for recording management information of the stream data, a data packet called a transport packet or an application packet is expressed as a first data unit, and a data block called a stream block or a stream object unit. When a unit is expressed as a second data unit and object data called a stream object is expressed as a third data unit,
The stream data recorded in the data area is formed by the stream object of the third data unit including one or more of the second data units including one or more of the first data units ,
The second data unit includes header information;
The header information includes information on a time of the first data unit,
An optical disc configured to record the header information including the information on the time in the data area different from the management area.
ストリームデータを記録するデータエリアおよびこのストリームデータの管理情報を記録する管理エリアを持つ光ディスクを用いた記録方法において、トランスポートパケットあるいはアプリケーションパケットというデータパケットを第1データ単位として表現し、ストリームブロックあるいはストリームオブジェクトユニットというデータ単位を第2データ単位として表現し、ストリームオブジェクトというオブジェクトデータを第3データ単位として表現したときに、
1以上の前記第1データ単位を含む前記第2データ単位を1以上含んで構成される前記第3データ単位の前記ストリームオブジェクトにより前記データエリアに記録される前記ストリームデータを形成し、
前記第2データ単位内に、前記第1データ単位の時間に関する情報を含むヘッダ情報を格納し、
前記時間に関する情報を含む前記ヘッダ情報を含めて、前記ストリームデータを前記光ディスクに記録するように構成された記録方法。
In a recording method using an optical disk having a data area for recording stream data and a management area for recording management information of the stream data, a data packet called a transport packet or an application packet is expressed as a first data unit, When a data unit called a stream object unit is expressed as a second data unit, and object data called a stream object is expressed as a third data unit,
Forming the stream data recorded in the data area by the stream object of the third data unit including one or more of the second data units including one or more of the first data units ;
In the second data unit, header information including information on the time of the first data unit is stored,
A recording method configured to record the stream data on the optical disc including the header information including the information on the time.
ストリームデータが記録されたデータエリアおよびこのストリームデータの管理情報が記録された管理エリアを持つ光ディスクであって、トランスポートパケットあるいはアプリケーションパケットというデータパケットを第1データ単位として表現し、ストリームブロックあるいはストリームオブジェクトユニットというデータ単位を第2データ単位として表現し、ストリームオブジェクトというオブジェクトデータを第3データ単位として表現したときに、1以上の前記第1データ単位を含む前記第2データ単位を1以上含んで構成される前記第3データ単位の前記ストリームオブジェクトにより前記データエリアに記録された前記ストリームデータが形成され、前記第2データ単位内に、前記第1データ単位の時間に関する情報を含むヘッダ情報が格納され、前記時間に関する情報を含む前記ヘッダ情報を含めて、前記ストリームデータが記録された前記光ディスクから記録情報を再生する方法において、
前記管理エリアから前記管理情報を読み取り、
前記データエリアから前記第2データ単位で前記ストリームデータを読み取るように構成された再生方法。
An optical disc having a data area in which stream data is recorded and a management area in which management information of the stream data is recorded, wherein a data packet called a transport packet or an application packet is expressed as a first data unit, and a stream block or a stream When a data unit called an object unit is expressed as a second data unit, and object data called a stream object is expressed as a third data unit, the data unit includes one or more second data units including one or more first data units. It formed the stream data recorded in the data area by the stream object constituted the third data unit, the second data units, including information about the time of the first data unit Header information is stored, including the header information including information on the time, a method of reproducing recorded information from the optical disc in which the stream data is recorded,
Reading the management information from the management area,
A reproduction method configured to read the stream data from the data area in units of the second data.
ストリームデータを記録するデータエリアおよびこのストリームデータの管理情報を記録する管理エリアを持つ光ディスクを用いる記録装置であって、トランスポートパケットあるいはアプリケーションパケットというデータパケットを第1データ単位として表現し、ストリームブロックあるいはストリームオブジェクトユニットというデータ単位を第2データ単位として表現し、ストリームオブジェクトというオブジェクトデータを第3データ単位として表現したときに、
1以上の前記第1データ単位を含む前記第2データ単位を1以上含んで構成される前記第3データ単位の前記ストリームオブジェクトにより前記データエリアに記録される前記ストリームデータを形成し、前記第2データ単位内に前記第1データ単位の時間に関する情報を含むヘッダ情報を格納する手段と、
前記時間に関する情報を含む前記ヘッダ情報を含めて、前記ストリームデータを前記光ディスクに記録する手段と
を具備した記録装置。
A recording apparatus using an optical disc having a data area for recording stream data and a management area for recording management information of the stream data, wherein a data packet called a transport packet or an application packet is expressed as a first data unit, Alternatively, when a data unit called a stream object unit is expressed as a second data unit, and object data called a stream object is expressed as a third data unit,
Forming the stream data recorded in the data area by the stream object of the third data unit including one or more of the second data units including one or more of the first data units ; Means for storing header information including information on the time of the first data unit in a data unit;
Means for recording the stream data on the optical disk including the header information including the information on the time.
ストリームデータが記録されたデータエリアおよびこのストリームデータの管理情報が記録された管理エリアを持つ光ディスクを用いる再生装置であって、トランスポートパケットあるいはアプリケーションパケットというデータパケットを第1データ単位として表現し、ストリームブロックあるいはストリームオブジェクトユニットというデータ単位を第2データ単位として表現し、ストリームオブジェクトというオブジェクトデータを第3データ単位として表現したときに、1以上の前記第1データ単位を含む前記第2データ単位を1以上含んで構成される前記第3データ単位の前記ストリームオブジェクトにより前記データエリアに記録された前記ストリームデータが形成され、前記第2データ単位内に前記第1データ単位の時間に関する情報を含むヘッダ情報が格納され、前記時間に関する情報を含む前記ヘッダ情報を含めて前記ストリームデータが記録された前記光ディスクから記録情報を再生する装置において、
前記管理エリアから前記管理情報を読み取る手段と、
前記データエリアから前記第2データ単位で前記ストリームデータを読み取る手段と
を具備した再生装置。
A reproducing apparatus using an optical disk having a data area in which stream data is recorded and a management area in which management information of the stream data is recorded, wherein a data packet called a transport packet or an application packet is expressed as a first data unit, When expressing a data unit called a stream block or a stream object unit as a second data unit, and expressing object data called a stream object as a third data unit, the second data unit including one or more of the first data units 1 above include the stream data recorded in the data area by the stream object constituted the third data unit is are formed, about the time of the first data unit in the second data units That the header information including the information is stored, in the apparatus for reproducing recorded information from the optical disc in which the stream data including the header information is recorded, including information on the time,
Means for reading the management information from the management area,
Means for reading the stream data from the data area in units of the second data.
JP2001305753A 1999-02-05 2001-10-01 Stream information processing system Expired - Fee Related JP3569248B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001305753A JP3569248B2 (en) 1999-02-05 2001-10-01 Stream information processing system

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2869799 1999-02-05
JP11-28697 1999-02-05
JP2001305753A JP3569248B2 (en) 1999-02-05 2001-10-01 Stream information processing system

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2000597801A Division JP3715533B2 (en) 1999-02-05 2000-02-07 Information storage medium for stream information, recording method, reproducing method, recording apparatus, and reproducing apparatus

Publications (2)

Publication Number Publication Date
JP2002191026A JP2002191026A (en) 2002-07-05
JP3569248B2 true JP3569248B2 (en) 2004-09-22

Family

ID=26366838

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001305753A Expired - Fee Related JP3569248B2 (en) 1999-02-05 2001-10-01 Stream information processing system

Country Status (1)

Country Link
JP (1) JP3569248B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000046803A1 (en) 1999-02-05 2000-08-10 Kabushiki Kaisha Toshiba Method for creating stream data and method for partial deletion
JP3805985B2 (en) 1999-02-18 2006-08-09 株式会社東芝 Stream data information storage medium, recording method, reproducing method, recording apparatus, and reproducing apparatus
JP2005012256A (en) 2003-06-16 2005-01-13 Canon Inc Data processing apparatus
CN113890789B (en) * 2021-09-29 2023-03-21 华云数据控股集团有限公司 UDP tunnel traffic shunting method and traffic forwarding method suitable for data center

Also Published As

Publication number Publication date
JP2002191026A (en) 2002-07-05

Similar Documents

Publication Publication Date Title
JP5306526B2 (en) Information storage medium used for stream information recording, information recording method, information reproducing method, and information reproducing apparatus
JP5159969B2 (en) Information storage medium for recording stream data, recording method, reproducing method, and reproducing apparatus
JP3805985B2 (en) Stream data information storage medium, recording method, reproducing method, recording apparatus, and reproducing apparatus
JP3569248B2 (en) Stream information processing system
JP3806020B2 (en) Stream data information storage medium, recording method, reproducing method, recording apparatus, and reproducing apparatus
JP3615174B2 (en) Information medium used for stream information recording, information recording method, information reproducing method, and information reproducing apparatus
JP4138774B2 (en) Stream data information storage medium, recording method, reproducing method, recording apparatus, and reproducing apparatus
JP3806017B2 (en) Stream data information storage medium, recording method, reproducing method, recording apparatus, and reproducing apparatus
JP3806019B2 (en) Stream data information storage medium, recording method, reproducing method, recording apparatus, and reproducing apparatus
JP3806018B2 (en) Stream data information storage medium, recording method, reproducing method, recording apparatus, and reproducing apparatus
JP3896130B2 (en) Information medium for recording stream data of MPEG transport stream and management information thereof, and recording method, playback method, recording apparatus, and playback apparatus using MPEG transport stream stream data and management information thereof
JP3930503B2 (en) Information medium for recording stream data of MPEG transport stream and management information thereof, and recording method, playback method, recording apparatus, and playback apparatus using MPEG transport stream stream data and management information thereof
JP4528749B2 (en) Information medium used for stream information recording, information recording method, information reproducing method, and information reproducing apparatus
JP3927010B2 (en) Stream data recording method, reproducing method, recording apparatus and reproducing apparatus
JP4138775B2 (en) Stream data information storage medium, recording method, reproducing method, recording apparatus, and reproducing apparatus
JP4138776B2 (en) Stream data information storage medium, recording method, reproducing method, recording apparatus, and reproducing apparatus
JP4203042B2 (en) Stream data information storage medium, recording method, reproducing method, recording apparatus, and reproducing apparatus

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040323

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040524

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040615

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040617

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20080625

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090625

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20090625

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100625

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20100625

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110625

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20120625

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20120625

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20130625

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees