專利名稱:編碼設備和方法、以及記錄方法
技術領域:
本發(fā)明涉及一種編碼設備和方法、一種記錄介質和程序。更具體地,涉及一種其中 將記錄在記錄介質上的數據內容的管理信息生成(render)用于記錄的文件的編碼設備和 方法、記錄介質和程序。
背景技術:
近來已經提出了各種類型的光盤,作為能夠從記錄設備中移出的記錄介質。這些 可記錄的光盤已經是作為幾個GB的大容量介質被提出,并且認為有希望作為用于記錄諸 如視頻信號的AV(視聽)信號的介質。在要記錄在該可記錄光盤上的數字AV信號源(供 應源)中,有CS數字衛(wèi)星廣播和BS數字廣播。另外,數字系統(tǒng)的地波電視廣播也已經為今 后使用而提出。從這些源提供的數字視頻信號在MPEG2 (運動圖像專家組)系統(tǒng)下被例行地進行 畫面壓縮。在記錄設備中,設置了適合于該設備的記錄速率。如果數字廣播的數字視頻信 號記錄在國內使用的常規(guī)畫面存儲介質中,數字視頻信號被首先解碼,并且隨后進行帶寬 限制以用于記錄。在當然包括MPEGl視頻、MPEG2視頻和DV系統(tǒng)的數字記錄系統(tǒng)的情況下, 數字視頻信號被首先解碼,并且隨后根據適合于隨后記錄的設備的記錄速率的編碼系統(tǒng)進 行重新編碼。但是,其中所提供的位流在記錄之前一次解碼并隨后進行帶寬限制及重新編碼的 記錄系統(tǒng)有變壞的畫面質量。在記錄畫面壓縮數字信號中,如果輸入數字信號的傳輸速率 小于記錄和/或再現設備的記錄速率,直接記錄所提供的沒有進行解碼或者重新編碼的位 流的方法在畫面質量上僅僅在很少程度上遭受破壞。但是,如果輸入數字信號的傳輸速率 超過記錄和/或再現設備的記錄速率,則重新編碼位流和記錄經過重新編碼的位流確實是 必須的,結果,在記錄和/或再現設備中解碼之后,傳輸速率將不高于盤記錄速率的上限。如果位流在其中輸入數字信號的位速率隨時間增加或者降低的可變速率系統(tǒng)中 傳輸,則適于在緩沖器中暫時存儲數據和突發(fā)方式記錄該數據的盤記錄設備與具有由旋轉 頭的固定rpm(每分鐘轉速)強加的固定記錄速率的帶式記錄系統(tǒng)相比,其記錄介質的容量 浪費要少。因此,可以預計,在不遠的將來,當數字廣播變成主流時,增加對記錄和/或再現 設備的需求,其中廣播信號記錄為數字信號,DataStreamer無需進行解碼或重新編碼,并且 其中盤用作記錄介質。如果記錄介質的容量增加,則可以在記錄介質上記錄大量的數據(這里指與節(jié)目 有關的圖像或語音)。因此,大量的節(jié)目記錄在一個盤上,結果用戶選擇記錄在盤上的許多 節(jié)目中的所期望的節(jié)目的操作很復雜。因此,使用戶能夠在再現盤時確認記錄的數據以便相當容易地選擇所期望的節(jié)目(數據)是必要的。發(fā)明的公開因此,本發(fā)明的目的在于生成記錄在用于記錄的記錄介質上的數據內容的管理信 息,由此記錄在記錄介質上的數據內容和應答信息可以得到適當地管理。 一方面,本發(fā)明提供了一種用于編碼畫面數據的編碼設備,包括用于以可變速率 編碼畫面數據的編碼器,和用于管理控制以便畫面編碼數據的數量與時間流逝基本上成正 比的控制器。本發(fā)明提供的用于編碼畫面數據的編碼設備包括編碼器,用于以可變速率編 碼所述畫面數據;和控制器,具有其中編碼的數據量在預設誤差范圍內與流逝的時間成正 比的編碼模式和其中不保證編碼的畫面數據量與流逝的時間成正比的另一種編碼模式,所 述控制器根據有關的編碼模式控制編碼的畫面數據量。控制器可以管理控制,使得如果每單位時間產生的畫面編碼數據的數量少于預定 值,則將編碼填充(stuffing)字節(jié)??刂破骺梢愿鶕诰幋a各自畫面中產生的數據量校驗填充字節(jié)是否將被編碼。控制器可以管理編碼填充字節(jié)的控制,使得VBV緩沖器將不產生溢出??刂破骺梢怨芾砜刂?,以其中畫面編碼數據的數量基本上與時間流逝成正比的編 碼模式或常規(guī)(routine)編碼模式執(zhí)行編碼??刂破骺梢援a生指示編碼模式是否是其中畫面編碼數據的數量與時間流逝基本 上成正比的編碼模式的附加信息。另一方面,本發(fā)明提供了一種用于編碼畫面數據的編碼方法,包括以可變速率編 碼畫面數據的編碼步驟,和管理控制以便畫面編碼數據的數量與時間流逝基本上成正比的 控制步驟。本發(fā)明提供的用于編碼畫面數據的編碼方法包括編碼步驟,用于以可變速率編 碼所述畫面數據;和控制步驟,具有其中編碼的數據量在預設誤差范圍內與流逝的時間成 正比的編碼模式和其中不保證編碼的畫面數據量與流逝的時間成正比的另一種編碼模式, 所述控制步驟根據有關的編碼模式控制編碼的畫面數據量。再另一方面,本發(fā)明提供了一種其上記錄了用于控制用來編碼畫面數據的編碼設 備的計算機可讀程序的記錄介質,該程序包括以可變速率編碼畫面數據的編碼步驟,和管 理控制以便畫面編碼數據的數量與時間流逝基本上成正比的控制步驟。再另一方面,本發(fā)明提供了一種用于使得計算機控制用來編碼畫面數據的編碼設 備以執(zhí)行下述步驟的程序以可變速率編碼畫面數據的編碼步驟,和管理控制以便畫面編 碼數據的數量與時間流逝基本上成正比的控制步驟。在根據本發(fā)明的編碼方法和設備、記錄介質和程序中,畫面數據以可變速率被編 碼,和控制得到管理,使得畫面編碼數據的數量與時間流逝大約成正比。再另一方面,本發(fā)明提供了其上記錄有畫面數據的記錄介質,該記錄介質上記錄 了包括與該畫面數據相關的畫面數據和音頻數據的AV流文件,和指示AV流文件的記錄模 式的標志。該標志可以是time_controlled_flag(時間_控制_標志)。該標志可以指示該模式是這樣的一個模式,其中進行記錄,使得文件的大小將與 從記錄的時間開始的時間流逝成正比。本發(fā)明還提供了一種在記錄介質記錄畫面數據的方法,該方法包括以下步驟在所述記錄介質上記錄包括所述畫面數據和與所述畫面數據相關的音頻數據的視聽流文件; 和記錄指示是否已經以其中所述視聽流的文件大小與時間的流逝在預設誤差范圍內成正 比的編碼模式進行了編碼的標志。在根據本發(fā)明的記錄介質中,記錄有畫面數據、包含與該畫面數據相關的音頻數 據的AV流文件、和指示AV流文件的記錄模式的標志。從閱讀如附圖所示的本發(fā)明的實施例,本發(fā)明的其它目的、特點和優(yōu)點將更加明顯。
圖1表示根據本發(fā)明記錄和/或再現設備的實施例的結構。圖2表示在記錄介質上通過記錄和/或再現設備1記錄的數據的數據格式。圖 3 表示實 PlayList 和虛 PlayList。圖4A,4B和4C表示實PlayList的創(chuàng)建。圖5A,5B和5C表示實PlayList的刪除。圖6A和6B表示匯編編輯。圖7表示虛PlayList中提供的子路徑。圖8表示PlayList重放序列的改變。圖9表示PlayList上的標記和Clip上的標記(mark)。圖10表示菜單縮略圖(menu thumbnail)。圖11表示加到PlayList的標記。圖12表示加到Clip的標記。圖13表示在PlayList、Clip和縮略圖文件之間的關系。圖14表示目錄結構。圖15表示infr. dvr的句法。圖16表示DVRVolume的句法。圖 17 表示 ResumeVolume 的句法。圖 18 表示 UlAppInfoVolume 的句法。圖19表示字符集值表。圖 20 表示 TableOfPlayList 的句法。圖 21 表示 TableOfPlayList 的另一個句法。圖 22 MakersPrivateData 的句夕去。圖 23 表示 xxxx. rpls 禾口 yyyy. vpls 的句法。圖 24A 到 24C 表示 PlayList。圖25表示PlayList的句法。圖 26 表示 PlayList_type 表。圖 27 表示 UlAppInfoPlayList 的句法。圖28A到28C表示圖27所示的UlAppInfoPlayList句法中的標志(flag)。圖 29 表示 Playltem。圖 30 表示 Playltem。
圖 31 表示 Playltem。圖32表示PlayItem的句法。圖 33 表示 IN_time。圖 34 表示 OUT—time。圖 35 表示 Connection_Condition 表。圖 36A 至Ij 36D 表示 Connection_Condition。 圖 37 表示 BridgeSequenceInfo0圖 38 表示 BridgeSequenceInfo 的句法。圖 39 表示 SubPlayltem。圖 40 表示 SubPlayItem 的句法。圖 41 表示 Mark_type 表。圖 42 表示 PlayListMark 的句法。圖 43 表示 Mark_type 表。圖 44 表示 Mark_time_stamp0圖 45 表示 zzzzz. clip 的句法。圖46表示ClipInfo的句法。圖 47 表示 Clip_stream_type 的表。圖 48 表示 offset_SPN。圖 49 表示 offset_SPN。圖 5OAJOB 表示 STC 域。圖 51 表示 STC—Info。圖52表示STC—Info的句法。圖 53 表示 ProgramInfo0圖 54 表示 ProgramInfo 的句法。圖 55 表示 VideoCondingInfo 的句法。圖 56 表示 Video_format 的表。圖 57 表示 frame_rate 的表。圖 58 表示 display_aspect_ratio 的表。圖 59 表示 AudioCondingInfo 的句法。圖 60 表示 audio—coding 的表。圖 61 表示 audio_component_type 的表。圖 62 表示 sampling_frequency 的表。圖 63 表示 CPI。圖 64 表示 CPI。圖65表示CPI的句法。圖 66 表示 CPI—type 的表。圖67表示視頻EP_map。圖 68 表示 EP_map。圖 69 表示 EP_map。
圖70表示EP_map的句法。圖 71 表示 EP_typevalues 的表。圖 72 表示 EP_map_for_one_stream_PID 的句法。圖 73 表示 TU_map。圖74表示TUjnap的句法。圖75表示ClipMark的句法。 圖 76 表示 Mark_type 的表。圖 77 表示 Mark_type_stamp 的表。圖78說明了圖1的AV編碼器的操作。圖79是用于說明用記錄AV流的可變位速率編碼視頻的操作的流程圖。圖80說明了視頻緩沖校驗器。圖81說明了 VBV(視頻緩沖校驗器)控制。圖82說明了 VBV控制。圖83顯示了控制可變位速率的情況。圖84顯示了可變位速率的控制的情況。圖85是用于說明圖79的步驟S21的細節(jié)的流程圖。圖86是用于說明圖86的步驟S205的細節(jié)的流程圖。圖87說明了 AV流的時間流逝和AV流上的數據字節(jié)數量之間的關系。圖88是說明用可變編碼速率編碼視頻和記錄AV流的操作的流程圖。圖89是用于說明圖88的步驟S400的細節(jié)的流程圖。圖90是用于說明保證時間流逝和AV流的數據字節(jié)數量之間的正比關系的編碼模 式的流程圖。圖91顯示了最小化操作的例子。圖92顯示了在最小化的情況下,擦除在IN_time之前不需要的流數據的例子。圖93顯示了在最大化的情況下,擦除在0UT_time之后不需要的流數據的例子。圖94是用于說明形成EP_map的典型操作的流程圖。圖95說明了一種介質。實施本發(fā)明的最佳方式引用附圖,現在詳細地說明本發(fā)明的實施例。圖1表示體現本發(fā)明的記錄和/或 再現設備1的典型內部結構。首先,說明構造為記錄從外部輸入的信號的記錄單元2的結 構。記錄和/或再現設備1構造為用模擬或者數字數據供給和記錄模擬或數字數據。模擬視頻信號和模擬音頻信號分別提供給端子11,12。輸入到端子11的視頻信號 輸出到分析單元14和AV編碼器15。輸入到端子12的音頻信號輸出到分析單元14和AV 編碼器15。分析單元14從輸入的視頻和音頻信號中提取諸如場景變化的特征點。AV編碼器15編碼輸入的視頻和音頻信號以將諸如編碼視頻流(V)、編碼音頻流 (A)和AV同步的系統(tǒng)信息輸出給多路復用器16。編碼視頻流是例如用MPEG(運動圖像專 家組)2系統(tǒng)編碼的視頻流,而編碼音頻流是根據MPEGl系統(tǒng)編碼的音頻流,編碼音頻流是 在例如MPEGl系統(tǒng)中編碼的音頻流或者根據杜比AC3(商標)系統(tǒng)編碼的音頻流。多路復 用器16基于輸入系統(tǒng)信息多路復用輸入視頻流和音頻流以通過開關17將多路復用流輸出到多路復用的流分析單元18和源打包器(source packetizer) 19。多路復用流例如是MPEG-2傳輸流或者MPEG-2節(jié)目流。根據在其上記錄該流的記錄介質100的應用格式,源打包器19將輸入的多路復用流編碼成由源數據包構成的AV流。 在輸出到寫單元22之前,AV流在ECC (錯誤校正和編碼)單元20和調制單元22中用附帶 的ECC代碼和調制進行處理,其然后基于由控制器23輸出的控制信號寫(記錄)AV流。從數字接口或者數字電視調諧器輸入的諸如數字電視廣播的傳輸流輸入到端子 13。有兩個用于記錄輸入到端子13的傳輸流的記錄系統(tǒng)一個是透明記錄系統(tǒng),另一個是 記錄之前是重新編碼的系統(tǒng),重新編碼的目的在于降低例如記錄位速率。記錄系統(tǒng)命令信 息從作為用戶接口的端子24輸入到控制器23。在輸入的傳輸流的透明記錄中,輸入到端子13的傳輸流通過開關17輸出到多路 復用流分析單元18和源打包器19。如上述,在記錄介質上記錄AV流的隨后處理與編碼和 記錄模擬輸入的音頻和視頻信號的隨后處理相同,因此,為了簡單起見在此不進行說明。如果輸入的傳輸流被重新編碼和隨后記錄,則輸入到端子13的傳輸流饋送到多 路分用器26,它多路分用輸入的傳輸流以提取視頻流(V)、音頻流(A)和系統(tǒng)信息(S)。在通過多路分用器26提取的流(信息)中,視頻流輸出到音頻解碼器27,而音頻 流和系統(tǒng)信息輸出到多路復用器16。音頻解碼器27解碼輸入的傳輸流以將編碼的視頻流 (V)輸出到多路復用器16。從多路分用器26輸出的且輸入到多路復用器16的音頻流和系統(tǒng)信息以及由AV 編碼器15輸出的視頻流基于輸入系統(tǒng)信息被多路復用,并通過開關17作為多路復用流輸 出到多路復用流分析單元18和源打包器19。如上述,在記錄介質上記錄AV流的隨后處理 是與編碼和記錄模擬輸入的音頻和視頻信號的隨后處理相同,因此,為了簡單起見在此不 進行說明。本實施例的記錄和/或再現設備1在記錄介質100上記錄AV流文件,同時也記錄 解釋該文件的應用數據庫信息。對控制器23的輸入信息是來自分析單元14的運動畫面的 特征信息,來自多路復用流分析單元18的AV流的特征信息和從端子24輸入的用戶命令信 肩、ο在AV編碼器15編碼視頻信號時,從分析單元14提供的運動畫面的特征信息是由 分析單元14產生的。分析單元14分析輸入視頻和音頻信號的內容以產生與輸入的運動畫 面信號的畫面特征(Clip標記)有關的信息。該信息是表示諸如節(jié)目開始點、場景變化點、 CM商業(yè)廣告開始和結束點、輸入視頻信號中的標題或者幻燈機(telop)的特征Clip標記點 的畫面的信息,并且還包括與音頻信號的立體音/非立體音轉換點和消音部分有關的畫面 和信息的縮略圖(thumbnail)。上述畫面表示信息通過控制23饋送到多路復用器16。當多路復用由控制器23指 定為Clip標記的編碼畫面時,多路復用器16將用于指定AV流上編碼畫面的信息返回到控 制器23。具體地,該信息是畫面的PTS (顯示時間戳)或者是畫面編碼版本的AV流上的地 址信息??刂破?3存儲特征畫面的分類和用于指定AV流上相互關聯(lián)的編碼畫面的信息。來自多路復用流分析單元18的AV流的特征信息是與要記錄的AV流編碼信息相 關的信息,并且通過分析單元18記錄。例如,特征信息包括AV流中I畫面的時間戳(time stamp)和地址信息、系統(tǒng)時鐘的非連續(xù)點信息、AV流的編碼參數和AV流中編碼參數的改變點信息。當透明地記錄從端子13輸入的傳輸流時,多路復用流分析單元18從輸入傳輸流中檢測前述的Clip標記的畫面,并且產生用于指定由Clip標記和其類型指定的畫面的信 肩、ο來自端子24的用戶指配信息是指定由用戶指定的重放域的信息、用于解釋重放 域內容的字符字母、或者諸如書簽或者由用戶為他或她喜愛場景而設定的重新開始點的信 肩、ο基于前述輸入信息,控制器23創(chuàng)建AV流數據庫(Clip),AV流重放域(PlayItem) 的組(PlayList)的數據庫,記錄介質100記錄內容的管理信息(info, dvr)和關于縮略圖 畫面的信息。類似于AV流,從上述信息構成的應用數據庫信息在ECC單元20和調制單元 21中進行處理且輸入到寫單元22,其然后將數據庫文件記錄在記錄介質100上。隨后將詳細說明上述的應用數據庫信息。當在記錄介質100上記錄的AV流文件(畫面數據和語音數據文件)和因此在記 錄介質100上記錄的應用數據庫信息通過再現單元3再現時,控制器23首先命令讀出單元 28從記錄介質100中讀出應用數據庫信息。讀出單元28從記錄介質100中讀出應用數據 庫信息,然后從記錄介質100中讀出應用數據庫信息以通過由解調單元29和ECC解碼器30 進行的解調和錯誤校正處理來將該應用數據庫信息發(fā)送到控制器23?;趹脭祿煨畔?,控制器23將在記錄介質100上記錄的PlayList表輸出到 端子24的用戶接口。用戶從PlayList表中選擇希望再現的PlayList。指定為要再現的與 PlayList相關的信息輸入到控制器23??刂破?3命令讀出單元28讀出在再現PlayList 中必需的AV流文件。根據該命令,讀出單元28從記錄介質100中讀出對應的AV流以將所 讀出的AV流輸出到解調單元29。因此,輸入到解調單元29的AV流通過預置處理被解調和 通過ECC解碼器30的處理輸出到源解數據包器(cbpacketizer)31。源解數據包器31將從記錄介質100讀出的并以預置方式處理的應用格式的AV流 變換成可由多路分用器26處理的流。多路分用器26將形成由控制器23指定的AV流的重 放域(PlayItem)的諸如視頻流(V)、音頻流(A)或者AV同步的系統(tǒng)信息(S)輸出到音頻解 碼器27,該AV解碼器27解碼視頻流和音頻流以將重放視頻信號和重放音頻信號分別輸出 到相關的端子32、33。如果從作為用戶接口的端子24提供指令進行隨機存儲重放或者指定重放的信 息,則控制器23基于AV流數據庫(Clip)內容確定來自記錄介質100的AV流的讀出位置, 以命令讀出單元28讀出AV流。如果作為用戶選擇的PlayList將作為從預置時間點進行 再現,則控制器23命令讀出單元28從具有最靠近指定的時間點的時間戳的I畫面讀出數 據。當用戶從存儲在Clip信息的ClipMark中的節(jié)目的索引點或者場景變化點已經選 擇了某一 Clip標記,即正如作為用戶接口所顯示的,當用戶從存儲在ClipMark中的索引點 或者場景變化點的縮略圖畫面表中選擇了某一畫面時,則控制器23確定來自記錄介質100 之AV流讀出位置,以命令讀出單元28讀出AV流。S卩,控制器23命令讀出單元28從具有 最靠近已經存儲用戶選擇的畫面的AV流地址的地址的I畫面中讀出數據。讀出單元28從 指定地址讀出數據。讀出的數據通過解調單元29、ECC解碼器30和通過源打包器19處理 以便提供到多路分用器26,并且通過音頻解碼器27解碼以再現由標記點畫面的地址表示的AV數據。如果用戶已經命令快進(fast forward)重放,則控制器23命令讀出單元28基于 AV流數據庫(Clip)依次連續(xù)地讀出AV流中的I畫面數據。讀出單元28從指定的隨機存取點中讀出AV流的數據。如此讀出的數據通過由下 游側的各種元件的處理再現?,F在說明其中用戶編輯記錄在記錄介質100上的AV流的情況。如果希望指定的記 錄在記錄介質100上的AV流的重放域,例如,如果希望創(chuàng)建從歌曲節(jié)目A中再現由歌唱者A 演唱部分并且隨后從另一個歌曲節(jié)目B中再現由同一歌唱者A演唱部分的重放例程,則與 重放域的IN_point(開始點)和0UT_point(結束點)相聯(lián)系的信息從作為用戶接口的端 子輸入到控制器23??刂破?3創(chuàng)建AV流重放域(PlayItem)的組的數據庫(PlayList)。當用戶希望擦除記錄在記錄介質100上的一部分AV流時,與擦除域的IN_point 和0UT_point相關的信息輸入到控制器23,其然后改進PlayList數據庫以便僅僅參照需要 的AV流??刂破?3還命令寫單元22擦除AV流的不需要的流部分。 現在說明這種情況,其中用戶希望指定記錄在記錄介質上的AV流的重放域以創(chuàng) 建新的重放例程(route)和以無縫方式互連對應的重放域。在這種情況下,控制器23創(chuàng)建 AV流重放域(PlayItem)的組的數據庫(PlayList)并進行部分地重新編碼與重新多路復用 在重放域連接點附近的視頻流。在重放域IN_point的畫面信息和0UT_point的畫面信息從端子24輸入到控制器 23??刂破?3命令讀出單元28讀出所需要的在IN_point和在0UT_point上再現的畫面 數據。讀出單元28從記錄介質100上讀出數據。如此讀出的數據通過解調單元29、ECC解 碼器30和源打包器19輸出到多路分用器26??刂破?3分析輸入到多路分用器26的數據以確定對視頻流的重新編碼方法 (picture_coding_type的變化和重新編碼之編碼位數量的分配)和重新多路復用系統(tǒng),以 將該系統(tǒng)送到AV編碼器15和多路復用器16。多路分用器26然后將輸入的流分離成視頻流(V)、音頻流(A)和系統(tǒng)信息(S)。視 頻流可以分類成輸入到音頻解碼器27的數據和輸入到多路復用器16的數據。前者是重新 編碼所需要的數據,并且通過音頻解碼器27解碼,其中具有然后由AV編碼器15重新編碼 和由此變成視頻流的解碼畫面。后者數據是從沒有重新編碼的原始流中拷貝的數據。音頻 流和系統(tǒng)信息直接輸入到多路復用器16。多路復用器16基于從控制器23輸入的信息多路復用輸入流以輸出該多路復用 流,其被ECC單元20和調制單元21處理以便發(fā)送到寫單元22。寫單元22基于從控制器 23提供的控制信號將AV流記錄在記錄介質100上。下面解釋應用數據庫信息和基于該信息的諸如重放和編輯的操作。圖2表示用于 AV流管理的應用格式結構,該結構具有兩層,即PlayList和Clip。卷(volume)信息管理 盤中的所有Clips和PlayList。這里,成對的一個AV流和其輔助信息認為是一個對象,并 叫作Clip。AV流文件叫作Clip AV流文件,具有叫作Clip信息文件的輔助信息。一個Clip AV流文件存儲對應于配置成由應用格式指定的結構的MPEG 2傳輸流 的數據。一般說來,文件作為字節(jié)串進行處理。Clip AV流文件的內容在時間軸上擴展,其 中具有主要以時間基指定的Clip(I畫面)入口點。當給定對預置Clip的存取點的時間戳時,Clip信息文件在找到開始在ClipAV流文件中讀出的數據的地址信息方面是有用的。參照圖3,現在解釋PlayList,其是為用戶從Clip中選擇希望觀看的重放域和方 便地編輯重放域而提供的。一個PlayList是Clip中的一組重放域。預置Clip中的一個重 放域叫作PlayItem并且由時間軸上的一對IN_point和0UT_point表示。這樣,PlayList 是由一組復合PlayItem形成的。PlayList分類成兩個類型,一種是實PlayList,另一種是虛PlayList。實 PlayList共同擁有其引用的Clip流部分。S卩,實PlayList在盤上占據對應于其引用的 Clip流部分之數據容量,并且當擦除實PlayList時,其引用的Clip流部分的數據也被擦除。虛PlayList不是共同擁有Clip數據。因此,如果虛PlayList改變或者被刪除, 而Clip 的內容不會改變。解釋實PlayList的編輯。圖4A表示實PlayList的創(chuàng)建,并且如果AV流作為新 的Clip記錄,則引用整個Clip的實PlayList是新的創(chuàng)建操作。圖4B表示實PlayList的劃分,即在希望點上劃分實PlayList的操作以將實 PlayList分成兩個實PlayList。當兩個節(jié)目在通過單個PlayList管理的一個Clip管理 時,并且當用戶趨于重新寄存或者重新記錄該節(jié)目作為單個獨立節(jié)目時,進行該劃分操作。 該操作不會導致Clip內容的改變,即對Clip本身的劃分。圖4C表示將兩個實PlayList組合成一個新的實PlayList之操作的實PlayList 的組合操作。該組合操作是當諸如用戶希望重新寄存兩個節(jié)目為單個程序時完成的。該操 作不會導致Clip內容的改變,即是將Clip本身組合為一個。圖5A表示整個實PlayList的刪除。如果刪除整個預置的實PlayList的操作,則 由所刪除的實PlayList引用的Clip的相關流部分也被刪除。圖5B表示實PlayList的部分刪除。如果刪除實PlayList的期望部分,則相關 PlayItem改變?yōu)閮H僅引用所需要的Clip流部分。對應的Clip流部分被刪除。圖5C表示實PlayList的最小化。其是使與實PlayList相關的PlayItem僅僅引 用虛PlayList需要的Clip流部分的操作。對應的虛PlayList不需要的Clip流部分被刪除。如果實PlayList通過上述操作改變使得由實PlayList引用的Clip流部分被刪 除,則有這種可能性,即出現采用所刪除的Clip的虛PlayList,使得在虛PlayList中可以 產生因所刪除的Clip導致的問題。為了防止這種情況發(fā)生,則向用戶顯示這種消息“如果存在引用實PlayList 正在引用的Clip流部分的虛PlayList,且實PlayList被刪除,則虛PlayList本身被刪 除——可以否?”,通過證實或者警告響應用戶的刪除操作,此后,執(zhí)行刪除處理,或者取消 用戶命令的對象?;蛘?,完成實PlayList的最小化操作以代替刪除虛PlayList?,F在解釋虛PlayList的操作。如果操作是對虛PlayList進行的,則Clip的內容 不改變。圖6A和6B表示匯編和編輯(IN-0UT編輯)。這是創(chuàng)建用戶希望觀看的重放域的 PlayItem以創(chuàng)建虛PlayList的操作。在PlayItem之間的無縫連接是由應用格式支持的, 如后述。如果存在兩個實PlayListl、2和與對應實PlayList相聯(lián)系的Clipl、2,則用戶指定實PlayListl中的預置域(從1附到OUTl的域=PlayIteml)為重放域,并且作為下一個 要顯示的域,還指定實PlayList2中的預置域(從IN2到0UT2的域PlayItem2)為重放域, 如圖6A所示。準備了由PlayIteml和Playltem2組成的單個虛PlayList,如圖6B所示?,F在解釋虛PlayList的重新編輯。該重新編輯可以通過交替虛PlayList中的 IN-或者OUT點將新PlayItem插入或者附加到虛PlayList以及刪除虛PlayList中的 PlayItem來列舉。虛PlayList本身也可以被刪除。圖7表示對虛PlayList的音頻轉錄(后記錄)。其是將音頻后記錄寄存到虛 PlayList作為子路徑的操作。該音頻后記錄由應用軟件支持。附加音頻流作為子路徑被加 到虛PlayList主路徑的AV流。實PlayList和虛PlayList的共同點是圖8所示的改變(移動)PlayList重放 順序的操作。該操作是盤(卷)中PlayList重放順序的改變并且由在應用格式中定義的 TableOfPlayList所支持, 正如下面引用例如圖20要說明的。該操作不會導致Clip內容的改變?,F在解釋標記(Mark)。標記是為指定Clip和PlayList中的加亮或者特征時間而 提供的,如圖9所示。加到Clip的標記叫做ClipMark。ClipMark是例如節(jié)目索引點或者 場景變化點,用于指定起因于AV流中內容的特征場景。ClipMark是由例如圖1分析單元 14產生的。當PlayList再現時,可以引用和使用由PlayList引用的Cilp的標記。附加到PlayList的標記叫做PlayListMark (播放表標記)。PlayListMark是例 如由用戶設置的書簽點或者恢復點(resume point)。對Clip和對PlayList的標記的設置 是將表示標記時間點的時間戳加到標記表。另一方面,標記刪除就是從標記表中移去標記 的時間戳。結果,AV流不會由標記設置或者標記刪除所改變。作為ClipMark的另一個格式,由ClipMark引用的畫面可以以AV流中的地址基來 指定。Clip上的標記設置就是將表示標記點的畫面的地址基信息加到標記表中。另一方 面,標記刪除就是從標記表中移去表示標記點畫面的地址基信息。結果,AV流不會由標記 設置或者標記刪除所改變。現在解釋縮略圖。縮略圖是加到Volume(卷)、PlayList和Clip的靜止畫面。有 兩種類型的縮略圖,其中之一是作為表示內容的代表畫面的縮略圖。這主要是用在主畫面 中,為的是讓用戶用光標(未示出)選擇他或她希望觀看的內容。另一種縮略圖是表示由 標記點指向的場景的畫面。Volume和對應PlayList需要具有代表畫面。當盤設置在記錄和/或再現設備1 中的位置時,Volume的代表畫面被預先提出用作初始地展示表示盤內容的靜止畫面。注意, 盤的意思是預先提出作為盤形狀的記錄介質100。PlayList的代表畫面被預先提出用作表 示PlayList內容的靜止畫面。作為PlayList的代表畫面,可以考慮使用PlayList的初始畫面作為縮略圖(代 表畫面)。但是,在0重放時間的引導畫面不必要是表示內容的最佳畫面。因此,允許用戶 設置可選擇性畫面作為PlayList的縮略圖。兩種類型的縮略圖,即作為表示Volume之代 表畫面的縮略圖和作為表示PlayList之代表畫面的縮略圖,叫作菜單縮略圖。由于經常顯 示菜單縮略圖,這些縮略圖需要從盤中以升高的速度讀出。因此,以單個文件存儲該全部菜 單縮略圖是有效率的。菜單縮略圖不必是從卷的運動畫面中提取出的畫面,但是可以是從個人計算機或者是數字靜止攝像機獲取的畫面,如圖10所示。另一方面,Clip和PlayList需要用復合標記來做標記,同時標記點的畫面需要被容易地觀看,目的是獲得標記位置的內容。表示這種標記點的畫面叫作標記縮略圖。因此, 作為標記操作的正本的畫面主要是所提取的標記點畫面而不是從外部獲取的畫面。圖11表示附加到PlayList的標記和標記縮略圖之間的關系,同時圖12表示附加 到Clip的標記和標記縮略圖之間的關系。與菜單縮略圖的區(qū)別,標記縮略圖用在例如用于 表示PlayList細節(jié)的子菜單中,而其不要求在短的存取時間中讀出。所以,無論何時要求 縮略圖,記錄和/或再現設備1打開文件和讀出一部分該文件,同時即使由記錄和/或再現 設備1進行的文件打開和讀出一部分文件要占用一些時間,也不會出現任何問題。為了減少在卷中出現的文件數,最好將整個標記縮略圖存儲在一個文件中。盡管 PlayList可以具有一個菜單縮略圖和多個標記縮略圖,但不要求用戶直接地選擇Clip(通 常,Clip是通過PlayList選擇的),因此沒有必要提供菜單縮略圖。圖13表示菜單縮略圖,標記縮略圖,PlayList和Clip之間的關系。在菜單縮略圖 中,文件歸檔為從一個PlayList向另一個提供的菜單縮略圖。在菜單縮略圖中,文件包含 有卷縮略圖,其表示在盤上記錄的數據內容。在菜單縮略圖中,文件歸檔為從一個PlayList 到另一個和從一個Clip到另一個創(chuàng)建的縮略圖。下面說明CPI (特征點信息)。CPI是包含在Clip信息文件中的數據,并且主要用 于發(fā)現Clip AV流文件中的數據地址,在該地址,當提供Clip存取點的時間戳時開始數據 讀出。在本實施例中使用兩種類型的CPI,其中之一是EP_map,另一種是TU_map。EP_map是從基本流和傳輸流中提取的入口點(entry point) (EP)數據的表。其 具有用來發(fā)現在此開始解碼的AV流中入口點地點的地址信息。一個EP數據由顯示時間戳 (PTS)和與PTS相聯(lián)系的存取單元的AV流中的數據地址構成的,該數據地址與PTS配對。EP_map主要用于兩個目的。第一,其用于發(fā)現在由PlayList的PTS引用的存取 單元中的AV流的數據地址。第二,EP_map用于快速前進重放或者快速后退重放。在通過 記錄和/或再現設備1記錄輸入AV流時,如果流的句法能夠被分析,則在盤上創(chuàng)建和記錄 EP_map。TU_map具有從通過數字接口輸入的傳輸數據包的到達時間點得出的時間單元 (TU)數據的表。其提供了基于到達時間的時間arrival_time_based和AV流中數據地址之 間的關系。當記錄和/或再現設備1記錄輸入AV流并且流的句法不能被分析時,則在盤上 創(chuàng)建和記錄TU_map。STCInfo存儲AV流文件中的不連續(xù)點信息,該AV流文件存儲了 MPEG-2傳輸流。當AV流具有STC的不連續(xù)點時,相同的PTS值可以出現在AV流文件中。因此,如 果AV流中的時間點是根據PTS基指定的,則存取點的PTS不足以指定該點。而且,還要求 包含PTS的連續(xù)STC域的索引。在該格式中,連續(xù)STC域和其索引被分別叫做STC序列和 STC_sequence_id(STC序列id)。STC序列信息是由Clip信息文件的STCInfo定義的。STC_sequence_id用在AV流文件中并且在具有TU_map的AV流文件中是可選擇 的。節(jié)目是每個基本流的集合并且共同擁有對這些流進行同步再現的單個系統(tǒng)時間基。
再現設備(圖1的記錄和/或再現設備1)在其解碼之前知道AV流的內容是有用 的。這些內容包括例如傳輸音頻或者視頻基本流的傳輸數據包的PID值,或者諸如HDTV視 頻或者MPEG-2AAC音頻流的視頻或者音頻元件的類型。該信息對創(chuàng)建用于給用戶顯示引用 AV流的PlayList內容的屏幕菜單是有用的。其對于設置對應設備之AV解碼器和多路分用 器的初始狀態(tài)是同樣有用的。由于這個原因,Clip信息文件擁有用于說明節(jié)目內容的ProgramInfo??梢园l(fā)生的是,節(jié)目內容在其中存儲了 MPEG-2傳輸流的AV流文件中應當可以改 變。例如,可以改變傳輸視頻基本流的傳輸數據包的PID,或者可以將視頻流的元件類型從 SDTV改變?yōu)镠DTV。ProgramInfo存儲了關于AV流文件中節(jié)目內容的改變點的信息。其中節(jié)目內容保 持不變 的AV流文件的域叫作program_sequence (節(jié)目序列)。該節(jié)目序列用在具有EP_map的AV流文件中,并且在具有TU_map的AV流文件中 是可選擇的。本實施例定義了自身編碼流格式(SESF)。該SESF用于編碼模擬輸入信號和用于 解碼數字輸入信號,其隨后用于順序地將解碼的信號編碼成MPEG-2傳輸流。SESF定義了與MPEG-2傳輸流和AV流有關的基本流。當記錄和/或再現設備1編 碼和記錄SESF流時,在盤上創(chuàng)建和記錄EP_map。數字廣播流使用用于在記錄介質100進行記錄的下述系統(tǒng)之一第一,數字廣播 流自動解碼成SESF流。在這種情況下,所記錄的流一定要符合SESF并且在盤上一定要準 備和記錄EPjnap。另外,形成數字廣播流的基本流自動解碼成新的基本流,并且重新多路復用成符 合流格式的新的傳輸流,該流格式由用于標準化數字廣播流的組織指定的。在這種情況下, 在盤上一定要創(chuàng)建和記錄EPjnap。例如,假設輸入流是符合ISDB (日本數字BS的標準名稱)的MPEG-2傳輸流,其中 具有包含HDTV視頻流和MPEG AAC音頻流的傳輸流。HDTV視頻流自動解碼成SDTV視頻流, 該SDTV視頻流和原始的AAC音頻流重新多路復用成TS。SDTV流和傳輸流兩者都需要符合 ISDB格式。在記錄介質100上記錄數字廣播流的另一個系統(tǒng)是進行輸入傳輸流的透明記錄, 即記錄不變的輸入傳輸流,在這種情況下,EP_map被列出和記錄在盤上?;蛘?,輸入傳輸流被透明地記錄,即輸入傳輸流被不變地記錄,在這種情況下,TU_ map被創(chuàng)建和記錄在盤上。下面解釋目錄和文件。記錄和/或再現設備1以下描述為DVR(數字視頻記錄)。 圖14表示盤上的典型目錄結構。DVR盤的目錄可以列舉為包括“DVR”目錄的根目錄;和 包括“PLAYLIST”目錄、“CLIPINF”目錄、“M2TS”目錄和“DATA(數據)”目錄的“DVR”目錄, 如圖14所示。盡管在根目錄下可以創(chuàng)建除這些目錄之外的其它目錄,但這些在本實施例的 應用格式中被忽略。在“DATA”目錄之下,存儲有由DVR應用格式指定的所有文件和目錄?!癉VR”目錄 包括四個目錄。在“PLAYLIST”目錄下放置了實PlayList和虛PlayList的數據庫文件。后 面的目錄可以存在于沒有PlayList的狀態(tài)中。
在“CLIPINF”下放置了 Clip數據庫。該目錄也可以存在于沒有AV流文件的狀態(tài)中。在“DATA”目錄中,存儲有諸如數字TV廣播的數據廣播文件?!癉VR”目錄存儲了下述文件。即在DVR目錄下創(chuàng)建的“info, dvr”以存儲應用層的 綜合信息。在DVR目錄下,一定有單個info, dvr。假設該文件名稱對info, dvr是固定的。 “menu, thmb”存儲了與菜單縮略圖有關的信息。在DVR目錄下,一定有0或1的標記縮略 圖。假設該文件名稱對“menu, thmb”是固定的。如果沒有菜單縮略圖,該文件可以不存在。"mark, thmb”文件存儲了與標記縮略圖畫面有關的信息。在DVR目錄下,一定有0 或1的標記縮略圖。假設該文件名稱對“menu, thmb”是固定的。如果沒有菜單縮略圖,該 文件可以不存在。"PLAYLIST"目錄存儲了兩種類型的PlayList文件,它們是實PlayList和虛 PlayList。“xxxxx. rpls,,文件存儲了與一個實PlayList有關的信息。對于每個實PlayList 創(chuàng)建一個文件。文件名稱是“xxxxx. rpls”,這里“xxxxx”表示從0到9的五個數值數字。 文件擴展名一定是“rpls”。"yyyyy. vpls”存儲了與一個虛PlayList有關的信息。具有文件名稱“yyyyy. vpls”的一個文件是從一個虛PlayList到另一個被創(chuàng)建的,這里“yyyyy”表示從0到9的 五個數值數字。文件擴展名一定是“vpls”?!癈LIPINF”目錄存儲了一個與每個AV流文件相聯(lián)系的文件?!皕zzzz. clps”是對 應于一個AV流文件(Clip AV流文件或者Bridge-Clip流文件)的Clip信息文件。文件 名稱是“zzzzz.clpi”,這里“zzzzz”表示從0到9的五個數值數字。文件擴展名一定是 “clpi”。“M2TS”目錄存儲了 AV流文件?!皕zzzz. m2ts”文件是由DVR系統(tǒng)操作的AV流文 件。這是Clip AV流文件或者Bridge-Clip AV流文件。文件名稱是“zzzzz. m2ts”,這里 “zzzzz”表示從0到9的五個數值數字。文件擴展名一定是“m2ts”?!癉ATA”目錄存儲了從數據廣播中傳輸的數據。例如該數據可以是XML或者MPEG 文件?,F在解釋每個目錄(文件)的句法和語義。圖15表示“info, dvr”文件的 句法。"info, dvr”文件是由三個對象構成,即DVRVoume ()、TableOfPlayLists ()禾口 MakersPrivateData()。解釋圖15所示的info, dvr的句法。根據來自“info, dvr”文件的引導字節(jié)的相 對字節(jié)數,TableOfPlayList_Start_address 表示 TableOfPlayListsO 的引導地址。相對 字節(jié)數是從0開始計算的。根據來自“ info, dvr”文件的弓丨導字節(jié)的相對字節(jié)數,MakersPrivateData_Start_ address表示MakersPrivateDataO的引導地址。相對字節(jié)數是從0開始計算的。Padding_ word與“info, dvr”的句法相關地插入。附和N2是可選擇的正整數。每個填充字可以假 設為可選擇的值。DVRVolume ()存儲了指示卷(盤)內容的信息。圖16表示DVRVoume的句法?,F 在解釋圖16所示的DVRVolumeO的句法。Version_number表示指示DVRVolume ()的版本 號的四個字符字母。Version_number編碼成與IS0646相聯(lián)系的“0045”。長度由32位無符號整數表示,其表明從長度字段之后直接到DVRVolumeO尾端的字節(jié)數目。ResumeVolume ()記憶了在 Volume 中最后產生的實 PlayList 或者虛 PlayList 的 文件名稱。但是,當用戶已經中斷了實PlayList或者虛PlayList的重放時的重放位置存 儲在PlayListMarkO定義的恢復標記中(見圖42和43)。圖17表示ResumeVolumeO的句法。解釋圖17所示的ResumeVolume ()的句法。 Valid_flag表示當該1位標志分別設置為1或者O時resume_PlayList_name字段是有效 的或是無效的。resume_PlayList_name的10字節(jié)字段表示要恢復的實PlayList或者虛 PlayList的文件名稱。圖16所示的DVRVolume ()句法中的UlAppInfoVolume存儲了與Volume相關的用 戶接口應用程序的參數。圖18表示UlAppInfoVolume的句法,現在解釋其語義。Character set的8位字段表示在V olume_name字段中編碼的字符字母的編碼方法。該編碼方法對應 于圖19所示的值。Name_length的8位字段表示在Volume_name字段中表示的Volume名稱的字節(jié)長 度。Volumejame字段表示Volume的名稱。從字段左邊開始計數的NameJength數的字 節(jié)數是有效字符數目,并且表示Volume的名稱。在這些有效字符字母后面的值可以是任何值。Volume_protect_flag是表示卷中的內容是否能夠無限制地展示給用戶的標志。 如果該標志設置為1,則僅僅在用戶已經成功地正確輸入PIN號(通過口令)的情況下,卷 中的內容允許被展示(再現)給用戶。如果該標志設置為0,即使在PIN號沒有被用戶輸入 的情況下,卷中的內容也允許展示給用戶。當用戶已經將盤插入播放器時,如果該標志已經設置為0,或者該標志設置為1 但用戶已經成功地正確輸入PIN號的話,記錄和/或再現設備1顯示盤中的PlayList 表。在對應PlayList之再現的限制是與V0lume_pr0tect_f lag不相關的,并且是由 UlAppInfoVolume 中定義的 playback_control_f lag 表不的。PIN是由從O到9的四個數值數字構成的,其中的每一個都是根據IS0/IEC646 編碼的。ref_thumbnai l_index字段表示加到卷中的縮略圖畫面的信息。如果ref_ thumbnail_index字段是除OxFFFF之外的值,則縮略圖畫面被加到卷中。縮略圖畫面存儲 在menu_thumb文件中。該畫面是使用menu, thumb文件中的ref_thumbnail_index的值弓| 用的。如果ref_thumbnail_indeX字段是OxFFFF,則其表示縮略圖畫面已經被加到卷中。解釋圖15 所示的 info, dvr 句法中的 TableOfPlayListO。TableOfPlayListO 存儲了 PlayList (實PlayList和虛PlayList)的文件名稱。記錄在卷中的所有PlayList 文件都包含在TableOfPlayListO中,該TableOfPlayList ()表示卷中PlayList的缺省的 重放序列。圖 20 表示 TableOfPlayList ()的句法,現在解釋之。TableOfPlayList ()的 version—number表示四個字符字母,其表示TableOfPlayList白勺片反本號。version—number 一定要根據IS0646編碼成“0045”。長度是無符號的32位整數,其表明從長度字段之后直接到TableOfPlayList () 尾端的TableOfPlayListO的字節(jié)數目。Number_of_PlayLists的16位字段表示包括PlayLiSt_file_name在內的循環(huán)(for-loop)的循環(huán)數。該數值數字一定要等于記錄在卷 中的PlayList的數目。PlayList_file_name的10字節(jié)數值數字表示PlayList的文件名 稱。圖21表示TableOfPlayListO句法的另一種結構。圖21所示的句法是由圖20 所示的其中包含UIAppInfoPlayList的句法構成的。通過這種包括UIAppInfoPlayList的 結構,在讀出TableOfPlayList時簡單地創(chuàng)建菜單畫面變成有可能。下面的解釋是根據使 用圖20所示的句法進行的。角軍釋圖 15 所示的 info, dvr 中的MakersPrivateData。提供MakersPrivateData是 為了允許記錄和/或再現設備1的制造者將制造者的私有數據插入MakersPrivateDataO 以用于不同公司的特殊應用。每個制造者的私有數據已經被標準化為maker_ID,以識別已 經定義它的制造者。MakersPrivateDataO可以包含一個或者多個maker_ID。如果預置制造者希望插入私有數據,并且不同制造者的私有數據已經包含在 MakersPrivateDataO中,則在不擦除預先存在的舊私有數據的情況下,新私有數據加 到MakersPrivateData ()。因此,在本實施例中,多個制造者的私有數據能夠包含在一個 MakersPrivateData ()巾。圖 22 表示 MakersPrivateData 的句法。解釋圖 22 表示的 MakersPrivateData 的 句法。TableOfPlayList ()的 version_number 表示四個字符字母,其表示 TableOfPlayList 的版本號。versiorunumber —定要根據IS0646編碼成“0045”。長度是無符號32位整數,
其表明從長度字段之后直接到MakersPrivateDataO尾端的TableOfPlayList ()的字節(jié)數目。Mpd_blocks_start_address 表示根據來自 MakersPrivateDataO 弓I導字節(jié)之字 節(jié)數的第一個Mpd_block ()的前端地址。Number_of_maker_entries是16位無代碼整數,其 提供MakersPrivateData ()中包括的制造者私有數據的入口號。在MakersPrivateData () 中一定不會出現具有相同maker_ID值的兩個或多個制造者私有數據。mpd_blocks_size是16位無符號整數,其提供以1024字節(jié)為單位的一個mpd_ block大小。例如,如果Mpd_blocks_size = 1,則其表示一個Mpd_block的大小是1024 字節(jié)。Number_of_mpd_block是16位無符號整數,其提供MakersPrivateData()中包含的 mpd_bl0Ck數。maker_ID是16位無符號整數,其表示已經創(chuàng)建制造者私有數據之DVR系統(tǒng) 的模型數代碼。編碼成maker_ID的值是由發(fā)許可證者指定的。maker_mode_code是16位無符號整數,其表示已經創(chuàng)建制造者私有數據之DVR系 統(tǒng)的模型數代碼。編碼成maker_m0de_C0de的值是由制造者設置的,該制造者已經接收了 格式許可。Start_mpd_bloCk_nUmber是16位無符號整數,其表示開始制造者私有數據的 mpd_block_number號。制造者私有數據的前端一定要與mpd_block的前端對齊。start_ mpd_block_number對應于mpd_block循環(huán)中的變量j。mpd_length是32位無符號整數,其表示制造者私有數據的大小。mpd_bloCk是其 中存儲了制造者的私有數據的區(qū)。MakersPrivateDataO中的所有的mpd_bloCk —定要是 相同大小。解釋實PlayList 文件和虛 PlayList 文件,換言之,即 xxxxx. rpls 和 yyyyy. vpls。 圖 23 表示 xxxxx. rpls (實 PlayList)和 yyyyy. vpls (虛 PlayList)的句法,它們具有相同的句法結構。每一個xxxxx. rpls和yyyyy. vpls都是由三個對象構成,即PlayListO、 PlayListMark ()禾口 M;akersPriv;ateD;at;a ()。根據來自PlayList文件前端的相對字節(jié)數為單位,PlayListMark_start_ address表示PlayListMarkO的引導地址。相對字節(jié)數是從0開始計算的。根據來自PlayList文件前端的相對字節(jié)數為單位,MakersPrivateData_start_ address表示MakersPrivateDataO的引導地址。相對字節(jié)數是從0開始計算的。Padding_WOrd(填充字)是根據PlayList文件的句法被插入的,其中附和N2是 可選擇的正整數。每個填充字可以假設為可選擇的值。盡管其已經簡要地解釋了,下面仍然解釋PlayList。除Bridge-Clip之外的所有 Clips中的重放域一定要由盤中的所有的PlayList引用。而且,兩個或者多個實PlayLists 一定不重疊相同Clip中由它們的PlayItem表示的重放域。 參照圖24A、24B和24C。對于所有的Clips,存在對應的實PlayList,如圖24A所 示。即使在編輯操作已經關閉之后也可看到該規(guī)則,如圖24B所示。因此,所有的Clip — 定通過引用實PlayList之一來看到。參照圖24C,虛PlayList的重放域一定包含在重放域和Bridge-Clip重放域中。 盤中一定不出現不由任何虛PlayList引用的Bridge-Clip。包含PlayItem 表的實 PlayList—定不含有 SubPlayltem。虛 PlayList 包含 PlayItem表,并且如果包含在PlayList ()中的CPI_type是EPjnap類型以及PlayList_ type是0 (含有視頻和音頻的PlayList),則虛PlayList可以包含一個SubPlayltem。在本 實施例的PlayListO中,SubPlayltem僅僅用于音頻后記錄。由一個虛PlayList擁有的 SubPlayltem數一定是0或者1。下面解釋PlayList。圖25表示現在要解釋的PlayList句法。version_number 表示四個字符字母,其表示PlayListO的版本號。version_number根據IS0646編碼 成“0045”。長度是無符號32位整數,其表明從長度字段之后直接到PlayListO尾端的 PlayListO的總字節(jié)數目。PlayList_type是8位字段,其表示PlayList類型,圖26示出 其一個例子。CPI_type 是一位標志,其表示由 PlayItemO 和 SubPlayItemO 引用的 Clip 的 CPI_type之值。在由一個PlayList引用的所有Clips的CPI中定義的CPI_type —定具有 相同值。Number_of_PlayItems是16位字段,其表示出現在PlayList中的PlayItem數。對應于預置PlayItemO的Playltem_id是由其中PlayItemO出現在包含 PlayItemO 之循環(huán)中的序列定義的。Playltem_id 以 0 開始。Number_of_SubPlayItems 是 16位字段,其表示在PlayList中的SubPlayltem數。該值是0或者1。附加音頻流路徑 (音頻流路徑)是一種子路徑類型。解釋圖25 所示的 PlayList 句法的 UIAppInfoPlayList。UlAppInfoPlayList 存儲 了涉及PlayList的用戶接口應用程序的參數。圖27表示現在要解釋的UIAppInfoPlayList 的句法。CharaCter_Set是8位字段,其表示用于編碼在PlayListjame字段中編碼的字符 字母的方法。該編碼方法對應于與圖19所示的表一致的值。Name_length是8位字段,其表示在PlayList_name字段中表示的PlayList名稱 的字節(jié)長度。PlayListjame字段表示PlayList名稱。從字段左邊計數的NameJength數的字節(jié)數是有效字符數并且表示PlayList名稱。在這些有效字符字母后面的值可以是任 何值。Record_time_and_date是56位字段,其存儲了記錄PlayList的日期和時間。該 字段是二進制編碼的十進制(BCD)編碼的年/月/日/小時/分鐘/秒的14個數值數字。 例如,2001/12/23 01 02 03 編碼成 “0x20011223010203”。持續(xù)時間(duration)是24位字段,其表示以小時/分鐘/秒為單位的PlayList 的總重放時間。該字段是二進制編碼的十進制(B⑶)編碼的6個數值數字。例如,01:45:30 編碼成 “0x014530”。ValicLperiod是32位字段,其表示PlayList的有效時間周期。該字段是4位 二進制編碼的十進制(B⑶)編碼的8個數值數字。ValicLperiod用在記錄和/或再現 設備1中,即,當有效周期已經消失的PlayList將自動擦除時,例如,2001/05/07編碼成 “0x20010507”。Maker_ID是16位無符號整數,其表示是最近更新其PlayList的DVR播放器(記 錄和/或再現設備1)的制造者。編碼成Maker_ID的值分配給DVD格式的發(fā)放許可證者。 Maker_code是16位無符號整數,其表示是 最近更新的PlayList的DVR播放器的模型數。 編碼成Maker_COde的值是由制造者確定的,該制造者已經接收DVR格式的許可。如果playbaCk_C0ntr0l_flag的標志設置為1,則其PlayList僅僅當用戶成功地 輸入PIN號時再現。如果該標志設置為0,則用戶在不需要輸入PIN號的情況下可以觀看該 PlayList0如果 write_protect_flag 設置為 1,則除 write_protect_flag 之夕卜,該 PlayList 的內容既不能被擦除也不能改變。如果該標志設置為0,用戶可自由地擦除或者改變該 PlayList。如果該標志設置為1,則在用戶進行擦除、編輯或者重寫PlayList之前記錄和/ 或再現設備1顯示請求用戶進行重新確認的消息。其中write_protect_flag設置為0的實PlayList可以存在,引用實PlayList 之Clip的虛PlayList可以存在,并且虛PlayList的write_protect_flag可以設置為1。 如果用戶希望擦除實PlayList,記錄和/或再現設備1發(fā)出報警給用戶以便出現前述虛 PlayList或者在擦除實PlayList之前“最小化”該實PlayList。如果is_played_flag設置為1,如圖28B所示,則其表示自從其記錄以來該 PlayList至少再現了一次,而如果其設置為0,則其表示自從其記錄以來該PlayList甚至 沒有再現過一次。文檔(Archive)是兩位字段,其表示PlayList是原始的還是拷貝的,如圖28C所 示。ref_thumbnail_index的字段表示代表PlayList之縮略圖畫面的信息。如果ref_ thumbnail_index字段是除OxFFFF之外的值,則代表PlayList之縮略圖畫面被加在 PlayList中,其中PlayList存儲在menu, thmb文件中。該畫面使用在menu, thmb文件中 的 Ref_thumbnail_index 之值來引用。如果 Ref_thumbnail_index 是 OxFFFF,則沒有代表 PlayList之縮略圖畫面被加在PlayList中。下面解釋Playltem。一個PlayItemO基本上包含下述數據用于指定Clip文 件名稱的 Clip_Information_file_name,成對指定 Clip 重放域的 IN_time 和 0UT_time, 在PlayListO中定義的CPI_type是EPjnap類型的情況下由IN_time和0UT_time引用的STC_sequence_id,以及表示在先PlayItem和當前PlayItem之連接條件的Connection_ Condition。如果PlayList是由兩個或者多個PlayItem構成,則在PlayList的全球時間軸上 這些PlayItem成行排列,沒有時間間隙或者重疊。如果在PlayList中定義的CPI_type是 EP_map 類型和當前 PlayList 不具有 BridgeSequence (),則 IN_time 和 0UT_time 對在 STC 連續(xù)域上一定表示與STC_Sequence_id指定時間相同的時間。這種例子示于圖29。圖30表示這種情況,其中由PlayListO定義CPI_type,如果當前PlayItem具 有BridgeSequenceO,則應用現在解釋的規(guī)則。表示成IN_timel的在當前PlayItem之 前的 PlayItem 之 IN_time 表示在當前 PlayItem 之 BridgeSe quenceInfo ()中指定的 Bridge-Clip的時間。該0UT_time —定遵守隨后要解釋的編碼限制。表示成IN_time2的當前PlayItem的IN_time表示在當前PlayItem的 BridgeSequenceInfo ()中指定的Bridge-Clip的時間。該IN_time也一定遵守后面要解釋 的編碼限制。表示成0UT_time2的當前PlayItem的PlayItem之0UT_time表示關于由當 前PlayItem的STC_sequence_id指定的STC連續(xù)域的時間。如果PlayList ()的 CPI_type 是 TUjnap 類型,則成對的 PlayItem 的 IN_time 和 0UT_time表示關于相同Clip AV流的時間,如圖31所示。PlayItem句法示于圖 32。對于圖 32 所示的 PlayItem 的句法,Clip_Information_ filename的字段表示Clip信息的文件名稱。由該Clip信息文件的ClipInfoO定義的 Clip_stream_type 一定表不 Clip AV 流。STC_sequence_id是8位字段和表示由PlayItem引用的連續(xù)STC域的STC_ sequence_id0如果在PlayList ()指定的CPI_type是TU_map類型,則該8位字段沒有意 義和設置為O。IN_time是32位字段并且用于存儲PlayItem的重放開始時間。IN_time的 語義不同于PlayListO中定義的CPI_type,如圖33所示。0UT_time是32位字段并且用于存儲PlayItem的重放結束時間。0UT_time的語 義不同于PlayListO中定義的CPI_type,如圖34所示。Connection_condition 是 2 位字段,其表示在在先 PlayItem 和當前 PlayItem 之 間的連接條件,如圖35所示。圖36A到36D表示圖35所示的Connection_condition的各 種狀態(tài)。參照圖 37 解釋 BridgeSequenceInfo。該 BridgeSequenceInfo 是當前 PlayItem 的輔助信息和包括下述信息。即,BridgeSequencelnfo包括用于指定Bridge_Clip AV流文 件的 Bridge_Clip_Information_file_name 和指定相應的 Clip 信息文件的 Bridge_Clip_ Information_file_name(圖 45)。其也是關于由在先PlayItem引用的Clip AV流的源數據包的地址。該源數據包 之后是連接Bridge-Clip AV流的第一源數據包。該地址叫作RSPN_exit_from_previous_ Clip。其也是關于由當前PlayItem引用的Clip AV流之源數據包的地址。該源數據包之前 是連接Bridge-Clip AV流文件的最后的源數據包。該地址叫作RSPN_enter_to_current_ Clip。圖 37 中,RSPN_arrival_time_discontinuity 表示 Bridge-Clip AV 流的源數據 包地址,其中在到達時間基上沒有連續(xù)點。該地址被定義在ClipInfoO中(圖46)。
圖 38 表示 BridgeSequenceInfo 的句法?;氐綀D 38 所示的BridgeSequenceInfo 的句法,Bridge_Clip_Information_file_name 的字段表示對應于 Bridge_Clip_ Information_file的Clip信息文件的文件名稱。該Clip信息文件的ClipInfoO中定義 白勺 Clip_stream_type 一胃‘Bridge—Clip AV 。RSPN_exit_from_previous_Clip 的 32 位字段是關于由在先 PlayItem 引用的 Clip AV流的源數據包的相對地址。該源數據包之后是連接Bridge-ClipAV流文件的第一 源數據包。RSPN_exit_fr0m_previ0us_Cilp具有基于源數據包數為單位的大小,并且以 ClipInfo ()中定義的offset_SPN值從由在先PlayItem引用的Clip AV流的第一源數據包 開始計數。 RSPN_enter_to_current_Cl ip 的 32 位字段是關于由當前 Play Item 引用的 Cl ip AV流的源數據包的相對地址。該源數據包之前是連接Bridge-ClipAV流文件的最后源數據 包。RSPN_enter_to_current_Clip具有基于源數據包數為單位的大小。RSPN_enter_to_ current_Clip以offset_SPN值作為初始值開始計數,offset_SPN值是由當前PlayItem引 用的Clip AV流的第一源數據包的ClipInfo ()中定義的。參照圖39 解釋 SubPlayltem。僅僅在 PlayList ()的 CPI_type 是 EP_map 類 型時才允許使用SubPlayItemO。在本實施例中,SubPlayItem僅僅用于音頻后記錄。 SubPlayItemO包括下述數據。第一,其包括用于指定PlayList中子路徑引用的Clip的 Clip_Information_fi1e_name。它還包括用于指定Clip中子路徑重放域的SubPath_IN_time和SubPath_0UT_ time。另外,其包括SynC_PlayItem_id和用于指定在主路徑時間軸上開始子路徑再現的時 間的Start_PTS_0f_PlayItem。由子路徑引用的Clip AV流一定不包含STC非連續(xù)點(系 統(tǒng)時間基的非連續(xù)點)。用在子路徑的Clip的音頻采樣的時鐘鎖定在主路徑的音頻采樣的 時鐘。圖40表示SubPlayItem的句法?;氐綀D40所示的SubPlayItem的句法,Clip_ Information_file_name的字段表示Clip信息文件的文件名稱并且由PlayList中的子路 徑使用。該ClipInfoO中定義的Clip_stream_type —定表示Clip AV流。sync_PlayItem_id的8位字段表示子路徑類型。這里,僅僅設置了 ‘0x00’,如圖 41所示,同時其它值被保留為今后使用。sync_PlayItem_id 的 8 位字段表示 PlayItem 的 Playltem_id,PlayItem 包含在 主路徑時間軸上的子路徑的重放開始時間。對應于預置PlayItem的PlayItemjd的值在 PlayListO 中定義(圖 25)。sync_start_PTS_of_PlayItem的32位字段表示在主路徑時間軸上的子路徑的重 放開始時間,并且表示由synC_PlayItem_id引用的PlayItem上的PTS (顯示時間戳)的高 32位。SubPath_IN_time的高32位字段存儲了子路徑的重放開始時間。SubPath_IN_time 表示對應于子路徑中第一表示單元的33位PTS的高32位。SubPath_OUT_time的高32位字段存儲了子路徑的重放結束時間。SubPath_0UT_ time表示由下述方程計算的Presentation_end_TS之值的高32位。Presentation_end_TS = PTS_OUT+AU_dur£ition。這里,PTS_0UT是對應于SubPath最后表示單元的33位長度的PTS,AU_duration是基于SubPath最后表示單元的顯示周期90kHz。下面,角軍釋圖 23 所示的 xxxxx. rpls 禾口 yyyyy. vpls 句法中的 PlayListMark()。 與PlayList有關的標記信息被存儲該PlayListMark中。圖42表示PlayListMark的句 法?;氐綀D42所示的PlayListMark的句法,version_number是四個字符字母,其表示該 PlayListMark()的版本號。version_number—定要根據 IS0646 編碼成“0045”。長度(Length)是無符號32位整數,其表示從長度字段之后直接到 PlayListMark ()尾端的 PlayListMark ()字節(jié)數目。Number_of_PlayListMarks 是表示 16 位無符號整數,其表示存儲在PlayListMark中的標記數目。Number_of_PlayListMarks可 以是0。Mark_type是標記類型的8位字段并且被編碼在圖43表示的表中。Mark_time_stamp的32位文件存儲表示由標記指定的點的時間戳。Mark_time_ stamp的語義不同于在PlayListO中定義的CPI_type,如圖44所示。PlayItemjd是指 定PlayItem的8位字段,其中輸入標記。對應于預置PlayItem的PlayItemjd的值被定 義在PlayListO中(見圖25)。Character_set的8位字段表示在mark_name字段中編碼的字符字母的編碼方 法。編碼方法對應于圖19所示的值。NameJength的8位字段表示在markjame字段所 示的標記名稱的字節(jié)長度。mark_name字段表示在mark_name字段中表明的標記名稱。對 應于Name_length數的從該字段左邊開始的字節(jié)數是有效字符字母和表示該標記名稱。在 mark_name字段中,在這些有效字符字母后面的值可以是任意的。fef_thumbnai l_index的字段表示加到標記的縮略圖畫面的信息。如果ref_ thumbnail_index的字段不是OxFFFF,則縮略圖畫面被加到其標記,同時縮略圖畫面存儲 在mark, thmb文件中。該畫面在mark, thmb文件中被引用,其使用ref_thumbnail_index 的值,如后面的解釋。如果ref_thumbnail_index的字段是OxFFFF,則其表示沒有縮略圖畫 面被加到標記?,F在解釋Clip信息文件。zzzzz.clpUClip信息文件)是由六個對象構成 的,如圖 45 所示。這些是 ClipInfoO、STC_Info ()、ProgramO > CPI ()、ClipMark()禾口 MarkersPrivateDataO。對于 AV 流(Clip AV 流或者 Bridge-Clip AV 流)和對應的 Clip 信息文件,使用相同的“zzzzz”數字串。解釋回到圖45所示的zzzzz.clpi(Clip信息文件)的句法。ClipInfo_Start_ address表示ClipInfo ()的前端地址,其中具有從zzzzz. clpi文件的前端字節(jié)作為單位的 相對字節(jié)數。該相對字節(jié)數是從O計數。STC_Info_Start_address 表示 STC_Info 的前端地址,其中具有從 zzzzz. clpi 文 件的前端字節(jié)作為單位的相對字節(jié)數。ProgramInfo_Start_address表示ProgramInfo () 的前端地址,其中具有從zzzzz. clpi文件之前端字節(jié)作為單位的相對字節(jié)數。該相對字節(jié) 數是從O計數。CPI_Start_addreSS表示CPI ()的前端地址,其中具有從zzzzz. clpi文件 之前端字節(jié)作為單位的相對字節(jié)數。該相對字節(jié)數是從O計數。ClipMark_Start_address 表示 ClipMark ()的前端地址,其中具有從 zzzzz. clpi 文件之前端字節(jié)作為單位的相對字節(jié)數。該相對字節(jié)數是從O計數。MakersPrivateDat^ Start_address MakersPrivateData ()的前端地址,其中具有從zzzzz. clpi
端字節(jié)作為單位的相對字節(jié)數。該相對字節(jié)數是從O計數。Padding_WOrd根據zzzzz. clpi文件的句法被插入。Ni,N2,N3,N4和N5 —定是O或者是可選擇的正整數。對應的填充字 也可以假設為可選擇值?,F在解釋Clip Info。圖46表示ClipInfo的句法。在ClipInfo ()中存儲了對應 的AV流文件的屬性信息(Clip AV流或者Bridge-Clip AV流文件)?;氐綀D46所示的ClipInfo的句法,version_number是四個字符字母,其表示該 ClipInfo ()的版本號。version_number—定要根據IS0646編碼成“0045”。長度是無符 號32位整數,其表明從長度字段之后直接到ClipInfo ()尾端的ClipInfoO的字節(jié)數目。 Clip_stream_type的8位字段表示對應于Clip信息文件的AV流的類型,如圖47所示。下 面解釋對應AV流的流類型。Offset_SPN 的 32 位字段給出 AV 流(Clip AV 流或者 Bridge-Clip AV 流)第一 源數據包的第一源數據包數的源數據包數的偏移值。當AV流文件首先記錄在盤上時,該 Offset_SPN—定為 O。參照圖48,當AV流文件的開始部分是通過編輯被擦除時, 該Offset_SPN可以假定 為除O之外的值。在本實施例中,引用Offset_SPN的相對源數據包數(相對地址)經常以 RSPNxxx形式說明,這里xxx經更新使得RSPN_xxx是RAPN_EP_start。相對源數據包數是 以源數據包數作為單位定大小的并且是從AV流文件第一源數據包數開始計數,其中具有 Offset_SPN值作為初始值。從AV流文件第一源數據包到引用相對源數據包數(SPN_XXX)的源數據包的源數 據包數是通過下述方程計算的SPN_xxx = RSPN_xxx-0ffset_SPN圖48表示其中Offset_SPN為4的例子。TS_recording_rate是24位無符號整數,其為AV流所要求的給DVR驅動(寫 單元22)或者來自DVR驅動(讀出單元28)的輸入/輸出位速率。Record_time_and_ date是56位字段,用于存儲對應于Clip之AV流的記錄日期和時間,并且以4位二進制 編碼的十進制(BCD)進行編碼表示成年/月/日/小時/分鐘的14個數值數字。例如, 2001/2/23 01 02 03 編碼成 “0x20011223010203”。持續(xù)時間(duration)是24位字段,其表示基于到達時鐘的以小時/分鐘/秒的 Clip總重放時間。該字段是4位二進制編碼的十進制(B⑶)編碼的6個數值數字。例如, 01:45:30 編碼成 “0x014530”。標志time_controlled_flag表示AV流文件的記錄模式。如果該time_ controllecLflag是1,則表示記錄模式是這種模式,其中文件大小是正比于自記錄以來過 去的時間,結果由下述方程所示的條件Ts_average_rate*192/188* (t-start_time) - α <= size_clip(t)
< = TS_average_rate*192/188*(t_start_time) + α這里TS_average_rate是用字節(jié)/秒表示的AV流文件傳輸流的平均位速率。上述方程中,t表示以秒為單位的時間,start_time是當AV流文件的第一源數據 包被記錄時的時間點。size_clip(t)是10*192字節(jié),α是依賴于TS_average_rate的常 數。如果t ime_controlled_flag設置為0,則其表示記錄模式沒有受到控制,使得記錄所過去的時間正比于AV流的文件大小。例如,輸入傳輸流以透明方式進行記錄。如果time_controlled_flag 設置為 1,TS_average_rate 的 24 位字段表示用在上 述方程中的TS_average_rate的值。如果time_controlled_f lag設置為0,則該字段沒有 意義和一定要設置為0。例如,可變位速率傳輸流是通過下述順序編碼的首先,傳輸速率 被設置成TS_recording_rate。視頻流用可變位速率編碼。傳輸數據包通過不采用空數據 包被間斷地編碼。RSPN_arrival_time_discontinuity的32位字段是位置的相對地址,在該位 置,到達時間基不連續(xù)性是在Bridge-Clip AV流文件上再現的。RSPN_arrival_time_ discontinuity是以源數據包數作為單位定大小的,并且從在ClipInfoO中定義的作為來 自Bridge-Clip AV流文件之第一源數據包的offset_SPN的值計數。Bridge-Clip AV流文 件中的絕對地址是基于上述方程計算的 SPN_xxx = RSPN_xxx-offset_SPN.Reserver_for_system_use 的 144 位字段是保留給系統(tǒng)的。如果 is_format_ identifier_valid標志是1,則其表示format_identifier的字段是有效的。如果is_ format_identifier_valid標志是 1,則其表示 format_identifier 字段是有效的。如果 is_ original_network_ID_valid 標志是 1,則其表不 is_original_network_ID_valid 的字段 是有效的° 如果標志 is_transport_stream_ID_valid 是 1,貝1J其表不 transport_stream_ ID字節(jié)是有效的。如果is_serVece_ID_Valid標志是1,則其表示SerVece_ID字段是有效 的。如果is_country_code_valid標志是1,則其表示字段country_code是有效的。 Formatjdent if ier的32位字段表示由傳輸流中的注冊說明符(IS0/IEC13818-1中定義 的)擁有的format_identifier的值。original_network_ID_的16位字段表示在傳輸流 巾胃I白勺 original_network_ID 白勺{t。Servece_ID中的16位字段表示在傳輸流中定義的Servece_ID的值。country_ code的24位字段表示由IS03166定義的國家代碼。每個字符代碼被IS08859-1編碼。例 如,日本表示成“JPN”和編碼成“0x4A0x500x4E”。stream_format_name 是 IS0-646 的 15 個 字符代碼,其表示提供傳輸流流定義之格式組織的名稱。該字段中的無效字節(jié)具有“OxFF”值。format」dent if ier、original_network_ID> transport_stream_ID、servece_ID, country_code和stream_format_name表示傳輸流的服務提供者。這允許識別對音頻或者 視頻流的編碼限制和除音視流或者SI (服務信息)之外的私有數據的流定義。這些信息能 夠被用來檢查解碼器是否能夠解碼該流。如果這種解碼是可能的,則該信息可以在開始解 碼之前用來初始化解碼器系統(tǒng)?,F在解釋STC_Info。不包含STC不連續(xù)點(系統(tǒng)時間基的不連續(xù)點)的MPEG-2 傳輸流中的時間域叫作 STC_sequence。在 Clip 中,STC_sequence 由 STC_sequence_id 的 值指定。圖50A和50B表示連續(xù)STC域。相同的STC值決不出現在相同STC_sequence中, 盡管Clip的最大時間長度是有限的,如后面的解釋。因此,相同PTS值也決不出現在相同 STC_sequence中。如果AV流包含N個STC不連續(xù)點,這里N > 0,則Clip系統(tǒng)時間基被分 開成(N+1)個 STC_sequence。
STC_Info存儲了地點的地址,其中產生STC 了不連續(xù)性(系統(tǒng)時間基不連續(xù)性)。 正如參照圖51的說明,RSPN_STC_start表示地址,且在由第k+Ι個RSPN_STC_start引用 的源數據包之到達時間點的開始和在最后源數據包之到達時間點的結束。圖52表示STC_Info的句法?;氐綀D52所示的STC_Info的句法,version_number 是四個字符字母,其表示該STC_Info()的版本號。versiorunumber—定要根據IS0646編 碼成 “0045”。長度是無符號32位整數,其表明從該長度字段正后面到STC_Info尾端的STC_ Info ()字節(jié)數目。如果CPI ()的CPI_type表示TU_map類型,則0可以設置在該長度字段 中。如果CPI ()的CPI_type表示EPjnap類型,則num_of_STC_sequence —定是不小于1 的值。num_of_STC_sequence的8位無符號整數表示Clip中的序列數。該值表示在該 字段后面的循環(huán)數。對應于預置STC_sequence的STC_sequence_id是由次序(order)定 義的,該次序中出現對應于包含RSPN_STC_start之循環(huán)中的STC_sequence的RSPN_STC_ start。STC_sequence_id 由 0 開始。
RSPN_STC_start的32位字段表示在此STC_sequence在AV流文件開始的地址。 RSPN_STC_start表示在AV流文件中產生系統(tǒng)時間基不連續(xù)性的地址。RSPN_STC_start 也可以是源數據包的相對地址,源數據包具有AV流中新系統(tǒng)時間基的第一個PCR。RSPN_ STC_start是基于源數據包數的大小,并且是從具有在ClipInfoO中定義的作為初始值之 offset_SPN的AV流文件第一源數據包計數。在該AV流文件中,絕對地址是通過上述方程 計算的,即SPN_xxx = RSPN_xxx-offset_SPN.現在參照圖53解釋圖45所示的zzzzz. clip句法中的Programlnfo。具有Clip 中下述特征的時間域叫作program_sequence。這些特征是PCR_PID的值不改變,音頻基本 流數也不改變,對應視頻流中的PID值不改變,由其VideoCodinglnfo定義的編碼信息不改 變,音頻基本流數也不改變,對應音頻流中的PID值不改變,以及由其AudioCodinglnfo定 義的編碼信息不改變。Program_sequence在相同時間點上僅僅具有一個系統(tǒng)時間基。Program_sequence 在相同時間點上具有單個PMT。ProgramInfoO存儲Program_sequence開始的地點地址。 RSPN_program_sequence_start 表不地址。圖 54 表示 Programlnfo 的句法。回到圖 54 所示的 Programlnfo, version_number 是四個字符字母,其表示該ProgramInfoO的版本號。version_number—定要根據IS0646 編碼成“0045”。長度是無符號32位整數,其表明從該長度字段正后面到Programlnfo尾端的 Programlnfo ()字節(jié)數目。如果CPI ()的CPI_type表示TU_map類型,則該長度字段可以設 置為O。如果CPI 0的CPI_type表示EPjnap類型,則number_of_program —定是不小于1 的值。number_of_program_sequence 的 8 位無符號整數表示 Clip 中的 program_ sequence數。該值表示在該字段后面的循環(huán)數。如果在Clip中program_sequence不改 變,貝丨J 1 一定被設置在 program_sequence 數中。RSPN_program_sequence_start 的 32 位字段是相對地址,其中在AV流上開始該節(jié)目序列。RSPN_program_sequence_start是以源數據包數作為單位定大小的,并且是從AV 流文件的第一源數據包開始以ClipInfoO中定義的offset_SPN的值計數。在該AV流文 件中,絕對地址是通過下式計算的,即SPN_xxx = RSPN_xxx-offset_SPN.在循環(huán)句法中的RSPN_program_sequence_start的值一定要以升序出現。PCR_PID的16位字段表示傳輸數據包的PID,傳輸數據包包含對program_ sequence有效的有效PCR字段。Number_of_audios的8位字段表示包含audio_stream_PID 和AudioCodingInfoO之循環(huán)數。Video_stream_PID的16位字段表示傳輸數據包的PID, 傳輸數據包包含對program_sequence有效的視頻流。在該字段后面的VideoCodingInfo () 一定解釋由其Vide0_stream_PID引用的視頻流的內容。
Audio_stream_PID的16位字段表示傳輸數據包的PID,傳輸數據包包含對其 program_sequence有效的音頻流。在該字段后面的AudioCodingInfo () —定解釋由其 audio_stream_PID引用的視頻流的內容。其中Video_stream_PID的值出現在循環(huán)句法中的次序一定等于對program_ sequence有效的PMT中視頻流PID編碼的序列。另外,其中audio_stream_PID的值出現在 循環(huán)句法中的次序一定等于對program_sequence有效的在PMT中對音頻流PID編碼的序 列。圖55表示圖54所示的ProgramInfo句法中的VideoCodingInfo的句法?;氐綀D 55 Mg白勺 VideoCodingInfo 白勺@夕去,video—format 白勺 8 ^^g^^XilST· ProgramInfo () 的Video_stream_PID的視頻格式,如圖56所示。 參照圖57,frame_rate的8位字段表示對應于ProgramInfo ()中的video_ stream_PID 白勺中貞■·。Display_£ispect_r£itio 白勺 8 ^^g^^XilST· ProgramInfo () 的video_stream_PID的視頻顯示縱橫比。圖59表示圖54所示的ProgramInfo句法中的AudioCodingInfo的句法?;氐綀D 59 Mg白勺 AudioCodingInfo 白勺@夕去,audio—format 白勺 8 ^^g^^XilST· ProgramInfo () 的audio_stream_PID之音頻編碼方法,如圖60所示。audio—component—type 白勺 8 位字段表示對應于 ProgramInfo ()白勺 audio—stream— PID之音頻元件類型,如圖61所示,同時sampling—frequency的8位字段表示對應于 ProgramInfo ()的audio_stream_PID之音頻采樣頻率,如圖62所示。解釋圖45所示zzzzz. clip句法中的CPI (特征點信息)。CPI用于將AV流中的 時間信息與其文件中的地址相關聯(lián)。CPI有兩種類型,即EP_map和TU_map。圖63中,如果 CPI O 中的 CPI_type 是 EP_map,則其 CPI ()包含 EP_map。圖 64 中,如果 CPI ()中的 CPI_
包含TUjnap。一個AV流具有一個EPjnap或者一個TUjnap。如 果AV流是SESF傳輸流,則對應的Clip —定擁有EP_map。圖65表示CPI的句法?;氐綀D65所示的CPI的句法,version_number是四個字 符字母,其表示該CPI ()的版本號。versiorunumber—定要根據IS0646編碼成“0045”。長 度是無符號32位整數,其表明從該長度字段正后面到CPI ()尾端的字節(jié)數目。CPI_type是 1位標志并且表示Clip的CPI類型,如圖66所示。
解釋圖65所示CPI句法中的EP_map。有兩種類型EP_map,即用于視頻流的EPjnap 和用于音頻流的EP_map。EP_map中的EP_map_type區(qū)分開這些EPjnap類型。如果Clip 包含一個或者多個視頻流,則一定使用用于視頻流的EP_map。如果Clip不包含視頻流但包 含一個或多個音頻流,則一定使用用于音頻流的EP_map。
參照圖67解釋用于視頻流的EP_map。用于視頻流的EP_map具有數據Stream_ PID, PTS_EP_start和RSPN_EP_start。stream_PID表示傳輸視頻流的傳輸數據包的PID。 PTS_EP_start表示從視頻流序列標頭(header)開始的存取單元的PTS。RSPN_EP_start表 示源數據包的地址,該源數據包包括由AV流中的PTS_EP_start引用的存取單元的第一字 節(jié)。叫做EP_map_f0r_0ne_stream_PID ()的子表是從一個視頻流創(chuàng)建的,該視頻流由 具有相互相同PID的傳輸數據包傳輸。如果多個視頻流存在于Clip中,則EP_map可以包 含多個 EP_map_for_one_stream_PID ()。用于音頻流的EP_map 具有數據 stream_PID、PTS_EP_start 和 RSPN_EP_start。 stream_PID表示傳輸音頻流的傳輸數據包的PID。PTS_EP_start表示在音頻流中的存取單 元的PTS。RSPN_EP_start表示源數據包的地址,該源數據包包括由AV流的PTS_EP_start 引用的存取單元的第一字節(jié)。叫做EP_map_f0r_0ne_stream_PID ()的子表是從一個音頻流創(chuàng)建的,該音頻流由 具有相互相同PID的傳輸數據包傳輸。如果多個音頻流存在于Clip中,則EP_map可以包 含多個 EP_map_for_one_stream_PID ()。 回到在 EPjnap 和 STC_Info 之間的關系,一個 EP_map_for_one_stream_PID ()是 在與STC中的不連續(xù)點無關的一個表中創(chuàng)建。將RSPN_EP_start的值與STC_Info ()中定 義的RSPN_STC_start的值進行比較,則顯示出屬于對應STC_sequence的EPjnap的數據邊 界(見圖68)。EPjnap —定具有對由相同PID傳輸的連續(xù)流范圍的一個EP_map_f0r_0ne_ stream_PID。在圖69所示的情況下,節(jié)目#1和節(jié)目#2具有相同的視頻PID,但是,數據范 圍不是連續(xù)的,使得必須對每個程序一定提供EP_map_for_one_stream_PID。圖70表示EPjnap句法。通過對圖70所示EPjnap句法的解釋,EP_type是4位 字段并且顯示EP_map入口點類型,如圖71所示。EP_type表示在該字段后面的數據字段的 語義。如果Clip包括一個或多個視頻流,則EP_type—定被設置成0( ‘視頻’)。另外,如 果Clip不包括視頻流但包含一個或多個音頻流,則EP_type —定被設置成1 ( ‘音頻’)。Number_of_stream_PID 的 16 位字段表示具有在 EP_map 中 Number_of_stream_ PID作為變量的循環(huán)的循環(huán)的次數。Stream_PID(k)的16位字節(jié)表示傳輸數據包的PID,該 傳輸數據包傳輸由EP_map_for_one_stream_PID (num_EP_entries (k))引用的數k基本流 (視頻或者音頻流)。如果EP_type是0( ‘視頻’),其基本流一定是視頻流。如果EP_type 等于1( ‘音頻’),其基本流一定是音頻流。num_EP_entries (k)的 16 位字段表示由 EP_map_entries (k)弓 | 用的 num_EP_ entries (k)。EP_map_for_one_stream_PID_Start_address (k)該 32 位字段表示相對地址 位置,在此,EP_map_for_one_stream_PID (num_EP_entries (k))開始于 EP_map ()。該值是 由從EP_map()第一字節(jié)開始的大小表示的。Padding_word 一定根據EP_map ()句法插入。X和Y —定是可選擇的正整數。對應填充字可以假設任意可選值。圖 72 表示 EP_map_for_one_stream_PID 的句法。通過對圖 72 所示 EP_map_for_ one_stream_PID句法的解釋,PTS_EP_start的32位字段的語義不同于EPjnap ()定義的 EP_type。如果EP_type等于0 ( ‘視頻’),則該字段具有開始于視頻流序列標頭的存取單 元的33位精密PTS的高32位。如果EP_type等于1 ( ‘音頻’),該該字段具有音頻流存取 單元的33位精密PTS的高32位。RSPN_EP_start的32位字段的語義不同于EPjnap ()定義的EP_type。如果EP_ type等于0( ‘視頻’),則該字段表示源數據包的相對地址,源數據包包括由AV流中PTS_ EP_start引用的存取單元序列標頭的第一字節(jié)。另外,如果EP_type等于1 ( ‘音頻’),則 該字段表示源數據包的相對地址,源數據包包括由AV流中PTS_EP_start引用的存取單元 音頻流中的第一字節(jié)。RSPN_EP_start是基于源數據包數作為單位定大小的,并且是從AV流文件的第一源數據包開始以ClipInfoO中定義的offset_SPN的值為初始值計數。在該AV流文件中, 絕對地址是通過下式計算的,即SPN_xxx = RSPN_xxx_ofTset_SPN.注意,句法中的RSPN_EP_start的值一定以升序出現?,F在參照圖73解釋TU_map。TU_map形成基于源數據包到達時鐘(到達時間基的 時計)的時間軸。該時間軸叫做TU_map_time_axis。TU_map_time_axis的原點由TU_map() 中的offset_time表示。TU_map_time_axis從offset_time以預置單位被分割,該單位叫 做 time_unit。在AV流的每個time_imit中,第一完全形式之源數據包AV流文件上的地址存儲 在 TUjnap 中。這些地址叫做 RSPN_time_unit_start。在 TU_map_time_axis 上開始第 k 個 (k彡0)time_unit的時間叫做TU_Start_time (k)。該值是基于下述方程計算的TU_start_time (k) = offset_time+k*time_unit_size.注意,TU_start_time(k)具有 45kHz 的精確度。圖74表示TU_map的句法。通過解釋圖74所示的TU_map的句法,offset_time的 32位字段給出與TU_map_time_axis相關的偏移時間。該值表示與Clip中第一 time_unit 相關的偏移時間。offset_time的大小是以從27MHz精確到達時鐘作為單位得出的45kHz 為基礎的。如果AV流將作為新Clip進行記錄,則offset_time—定設置為O。time_unit_size的32位字段提供time_unit的大小,并且是以從27MHz精確到達 時鐘作為單位得出的45kHz為基礎的。最好是,time_unit_size不長于1秒(time_unit_ size 彡 45000)。number_of_time_unit_entries 的 32 位字段表示存儲在 TU_map ()中的入 口數。RSN_time_unit_start的32位字段表示AV流中每個time_unit開始的位置的相 對地址。RSN_time_imit_Start是基于源數據包數作為單位的大小,并且用從AV流文件第 一源數據包開始的在ClipInfoO中定義的offset_SPN的值作為初始值計數。AV流文件中 的絕對地址是通過下式計算的SPN_xxx = RSPN_xxx-offset_SPN.注意,句法循環(huán)中的RSN_time_imit_Start的值一定要以升序出現。如果在數(k+1)的time_unit中沒有源數據包,則數(k+Ι)的RSN_time_unit_start —定等于數k的 RSN_time_unit_start。通過解釋圖45所示的zzzzz. clip句法中的ClipMark,ClipMark是與Clip有關 的標記信息,并且存儲在ClipMark中。該標記不是通過用戶設置的,但是是通過記錄器(記 錄和/或再現設備1)設置的。圖75表示ClipMark的句法。通過解釋圖75所示的ClipMark的句法,version_ number是四個字符字母,其表示該ClipMark的版本號。version_number—定要根據IS0646 編碼成“0045”。長度是無符號32位整數,其表明從長度字段之后直接到ClipMarkO尾端的 ClipMarkO的字節(jié)數目。Number_of_Clip_marks是16位無符號整數,其表示存儲在 ClipMark中的標記數并且可以等于0。Mark_type是8位字段,其表示標記類型和根據圖 76所示的表被編碼。Mark_time_stamp是32位字段和存儲了表示具有專用標記的指針的時間戳。 Mark_tim e_stamp的語義不同于PlayListO中的CPI_type,如圖77所示。如果CPI ()中的CPI_type表示EP_map類型,則該8位字段表示放置有Mark_time_ stamp 的連續(xù) STC 域的 STC_sequence_id。如果 CPI ()中的 CPI_type 表示 TUjnap 類型,則 該8位字段沒有意義但設置為0。Character_set的8位字段表示在mark_name字段中編 碼的字符字母的表示方法。該編碼方法對應于圖19所示值。Name_length的8位字段表示在mark_name字段中所示的標記名稱的字節(jié)長度。 該mark_name字段表示標記名稱。對應于Name_length數的從該字段左邊開始的字節(jié)數是 有效字符數和表示標記名稱。在mark_name字段中,在這些有效字符字母之后的值可以是 任意的。ref_thumbnail_index的字段表示附加到標記的縮略圖畫面的信息。如果ref_ thumbnailjndex字段是不同于OxFFFF的值,該縮略圖畫面被附加到其標記,縮略圖畫面
mark, thumb 文^f牛中。該Ι ΙΙ !用 mark, thumb 文^f牛中的 ref_thumbnail_index 之 值引用的。如果ref_thumbnai ljndex字段是等于OxFFFF的值,則縮略圖畫面不附加到其 標記。MakerPrivateData (制造者個人數據)已經參照圖22進行了說明,因此這里不再 特別說明。接下來說明thumbnail_information (縮略圖信息)。極小畫面存儲于menu, thmb (菜單)文件或mark, thmb (標記)文件中。這些文件具有相同的句法結構并擁有唯一 的Thumbnail ()。menu, thmb文件存儲表示各自PlatyLists的畫面。菜單縮略圖的整體存 儲于唯一的menu, thmb文件中。mark, thmb文件存儲標記縮略圖畫面,它是表示標記點的畫面。對應于 PlatyLists和Clips的整體的標記縮略圖的整體存儲于唯一的mark, thmb文件中。由于 頻繁地增加或刪除縮略圖,增加和部分刪除的操作必須可以容易并迅速地得到執(zhí)行。為此, ThumbnailO具有塊結構。畫面數據被分為多個部分,每個部分存儲于一個tn_bl0Ck(tn 塊)中。一個畫面數據被存儲于連續(xù)的tn_bloCk中。在tn_bloCk的串中,可能存在未使 用的tn_bloCk塊。唯一縮略圖畫面的字節(jié)長度是可變的。
圖78是用于說明在控制可變位速率以便時間流逝在預設誤差范圍內與AV流的數 據字節(jié)數量成正比的情況下,圖1的記錄和/或再現設備的AV編碼器15的操作的方塊圖。 圖78中用相同標號表示的方框與圖1中的相同。首先,諸如LP或SP模式的記錄模式經由用戶接口 24輸入至控制器23??刂破?23響應于該記錄模式以設置視頻編碼的平均位速率和要記錄的AV流(DVR傳輸流)的多路 復用位速率(圖79的流程圖的步驟20)??刂破?3設置time_C0ntr0lled_flag為1,以將多路復用 流的多路復用位速率和 平均位速率分別設置為TS_recording_rate和TS_average_rate??刂破?3輸出Cliplnfo 中的 Clip 信息文件的數據庫,該 Cliplnfo 的 time-_controlled_flag、TS_recording_rate 和TS_average_rate被設置。Clip信息文件經由圖1中所說明的ECC編碼單元20的處理 被記錄。在編碼模擬視頻輸入中,從終端11輸入視頻。在數字廣播的視頻輸入代碼轉換 中,從AV解碼器27輸入視頻。輸入視頻被輸入到視頻編碼器151??刂破?3計算分配給 每個預設時間的視頻的編碼位的數量,以指定給視頻編碼器。視頻編碼器115編碼每個預 設時間的視頻以將實際產生的位的數量輸入給控制器23。預設時間大小是視頻G0P并等于 0.5秒。根據從編碼自編碼器輸入的實際產生的編碼位的數量的開始的累積值,控制器23 控制視頻編碼的可變位速率,使得AV流的時間流逝將在預設誤差范圍內與AV流的數據字 節(jié)數量成正比,以為下個預設時間的視頻計算編碼的位數量。如果控制器23可以從編碼器 輸入相對視頻編碼難度(諸如運動矢量的預測剩余的量級或DCT系數的量化比例的量級) 而形成,則可以實現可變位速率以得到更高的畫面質量。即進行控制使得相對視頻編碼難 度越高,分配給每個預設時間的視頻的編碼位的數量越大。視頻編碼器115將視頻流輸入給多路復用器16,該多路復用器還被饋送有音頻流 和諸如AV同步的系統(tǒng)信息(S)。音頻輸入或諸如AV同步的系統(tǒng)信息的編碼處理流程與圖 1的說明相同。多路復用器16多路復用視頻和音頻流以傳輸預設多路復用位速率的流。在將 視頻和音頻分包的過程中,必須進行控制以便不破壞MPEG2傳輸流的系統(tǒng)目標解碼器 (T-STD)。如果由于T-STD限制,不可能將視頻訪問單元(編碼的I、P和B畫面的畫面)、也 不可能將音頻訪問單元(音頻幀)分包,則多路復用器16多路復用以不產生空數據包(為 OxlFFF的數據包)。通過這個多路復用控制,相鄰傳輸數據包之間的時間間隔變得不規(guī)則, 使得數據包間斷地產生。從多路復用器16輸出的傳輸數據包被輸入到源分包器19,然后源分包器19將到 達時間戳附加到每個傳輸包以形成源數據包。向前填充(front-padded)源數據包串以產 生AV流文件,該流文件然后經由ECC編碼單元20中的處理被記錄在記錄介質上。圖79是用于說明在保證AV流的時間流逝將在預設的誤差范圍內與AV流的數據 字節(jié)的數量成正比的編碼模式(time_C0ntr0lled_flag= 1)中,以編碼視頻的可變位速率 記錄AV流的操作的流程圖。在步驟20,控制器23設置視頻編碼的平均位速率和傳輸流的多路復用位速率TS_ average_rate0視頻編碼的平均位速率是TS_average_rate,小于音頻編碼的常數位速率,小于多路復用開銷位速率。注意,根據記錄器應用程序(LP或SP模式)將TS_aVerage_rate設置 為預定值。TS_recording_rate大于以可變位速率的視頻編碼的最大位速率加上音頻編碼的 常數位速率加上多路復用開銷位速率。在步驟21,控制器23控制視頻編碼器151,使得視頻流以可變位速率按如下方式 被編碼,即從一個預設時間域到另一個預設時間域保證預設的平均位速率。在步驟22,控制器23控制多路復用器16,以便在基本流不生成傳輸數據包的情況 下,不產生空數據包。通過這個多路復用控制,相鄰傳輸數據包之間的時間間隔變得不規(guī) 則,使得數據包間斷地產生。在步驟23,控制器23將到達時間戳附加到每個傳輸包以通過控制源分包器19形 成源數據包。向前填充源數據包串以產生AV流文件,該流文件然后被記錄。下面說明在可變位速率編碼視頻的情況下,控制MPEG的VBV(視頻緩沖校驗器) 的方法。注意,VBV是MPEG (見圖80)規(guī)定的理論上的解碼器模型。是MPEG解碼器解碼視 頻流使得VBV將正確地操作。這限制了編碼方法(主要是量化控制和對畫面的位數量的限 制)。VBV所擁有的緩沖器稱為VBV緩沖器。這代表真實解碼器的理論上必要的最小的緩 沖器大小。在MPEG2主簡檔(profile)主級別的情況下,VBV緩沖器大小是1. 75Mbits (兆 位)。至于對MPEG的VBV的可變位速率,圖81中所示的方法是廣泛公知的。即,圖81說 明了 VBV控制,其情況是如果VBV緩沖器中的可變位速率不滿,到緩沖器的輸入位速率變 為最大,如果VBV緩沖器中的可變位速率為滿,到緩沖器的輸入位速率變?yōu)榱?。在圖81中, 右側上升線的傾斜度代表VBV的最大位速率。如果VBV緩沖器未滿,緩沖器占用(takeup) 量以VBV的最大位速率上升。另一方面,如果VBV緩沖器中的位占用(occupying)量已滿, 則到緩沖器的輸入位速率為0,緩沖器占用量保持不變。橫坐標表示時間軸,T1表示解碼時 間點。在時間T1,時間點T1的畫面被立即解碼,而緩沖器占用量減少。接著,畫面在每個預 設時間間隔被解碼以減少緩沖器占用量。在圖81中所示的方法中,沒有視頻解碼器在視頻 流中填充字節(jié)的可能性。另一方面,根據本發(fā)明,如圖82中所示控制VBV。即,在以可變位速率改變每個預 設時間間隔的位速率的過程中,在預設時間內以CBR(常數位速率)執(zhí)行VBV控制。圖82 顯示了在G0P (諸如0.5秒視頻序列)內的CBR控制的情況下的VBV控制。S卩,圖82說明 了在到VBV緩沖器的輸入位速率是當前G0P的編碼位速率的情況下和在插入填充字節(jié)以便 不產生VBV緩沖器的溢出的情況下的VBV控制。下面的序列用于校驗是否插入填充字節(jié)和在插入填充字節(jié)的情況下計算填充字 節(jié)的數量。在下列說明中,假設VBV_BUFFER_SIZE = 1. 75*1024*1024 位gop_bit_rate 每個 G0P 的位速率(位 / 秒)。(1)正在被編碼的畫面的最小位數量的計算取圖82的時間dl處的畫面為例。首先,獲得緊接在通過時間tl處的畫面的VBV 解碼之前的VBV緩沖器的位占用量vbv_b。然后計算對應于位占用量vbv_d加上以位速率 gop_bit_rate從時間dl到下一個畫面的解碼時間d2 (tau)輸入的位數量的和數tmp。當前被編碼的畫面的最小位數量可以從tmp和VBV_BUFFER_SIZE得出如下tmp = vbv_b+gop_bit_rate氺taumin_picture_bit = tmp_VBV_BUFFER_SIZE(2)檢查接著畫面編碼是否需要字節(jié)填充如果當前畫面的實際編碼位gen_picture_bit小于min_picture_bit,則產生 由下列公式指示大小的填充字節(jié)。在畫面被當前編碼后,視頻編碼器編碼多個等于num_ stuffing_byte的數的填充字節(jié)。一個填充字節(jié)是8位代碼“00000000”。If (如果)(gen_picture_bit < min_picture_bit)num_stuffing_byte = (min_picture_bit_gen_picture_bit+4)/8。在圖82中所示的方法中,目的是進行控制使得視頻編碼器使用分配給預設時間 的視頻的位數量。到VBV緩沖器的輸入位速率是當前G0P的編碼位速率,然后視頻編碼器 產生填充字節(jié)以便不在VBV緩沖器中產生溢出。根據本發(fā)明的概念,如圖83所示,VBV控制器在這個目的上是有效的,即AV流的 時間流逝和AV流的字節(jié)數量之間的關系將在預設的誤差范圍內呈線性。如果使用圖81中 所示的VBV控制,則在輸入視頻中持續(xù)很長時間的靜態(tài)畫面的顯示中不能保證圖83中所示 的關系。即,靜態(tài)畫面具有較少數量的信息,使得如果將用于編碼所分配的位數量做得大于 信息的數量,則將使實際編碼中產生的位數量以較小的值飽和。因此,在這種情況下,AV流 的時間流逝和AV流的數據字節(jié)量之間的關系不是線性的,如圖84所示。如果在這種情況 下,使用圖82中所示的VBV控制,則AV流的時間流逝和AV流的數據字節(jié)量之間的關系在 預設的誤差范圍內可以肯定是線性的,因為目標在于管理控制以使用分配給預設時間的視 頻的位數量的視頻編碼器產生填充字節(jié),使得到VBV緩沖器的輸入位速率將是當前G0P的 編碼速率并使得將不在VBV緩沖器中出現溢出。在圖84的情況下,如果擦除靜態(tài)畫面的部分時間的AV流,則不可能在盤上產生可 記錄對應于具有的TS_average_rate指示的位速率的已擦除的部分時間的時間的未占用 區(qū)域,因為該部分時間的數據字節(jié)數量比對應于平均位速率乘以擦除時間的數據字節(jié)小。 另一方面,如果該流被部分地擦除該AV流的一定時間,則在盤上可能產生可記錄等于以由 所述的流的TS_average_rate指示的位速率的擦除時間的時間的未占用區(qū)域。圖85顯示了用于說明在上述圖79的步驟S21的處理中的視頻的可變位速率控制 的詳細處理的流程圖。在步驟S200,在VBV的公差值sv_n0W中設置初始值SV1。根據本發(fā)明,為了保證 AV流的時間流逝和AV流的數據字節(jié)數量之間的關系在預設誤差范圍內將呈線性,管理可 變位速率控制,使得VBV的公差值SV_n0W將處于0和最大值SVMAX的范圍內。如果在上面的方程(1)中,a = 300秒,SV1和SVMAX是下面的值SV1 =(視頻的平均位速率)*300SVMAX = SV1*2這里視頻的平均位速率是在圖79的步驟S20確定的值(見圖87)。在步驟S201,計算當前G0P的編碼所分配的位數量。在步驟S202,檢查下列不等式是否成立sv_now+b_av_b_alloc < = 0。
執(zhí)行這個檢查以校驗VBR的公差值是否為負(_)。在上面的不等式中,b_av是從視頻的平均編碼位速率得出的為每個G0P所分配的 編碼位的數量的平均值。如果G0P的時間期間是0. 5秒,b_av是下面的值b_av =(視頻的平均位速率)*0. 5如果步驟S202的檢查結果是YES (是),處理轉移到步驟S203。如果步驟S202的 檢查結果是NO (否),則處理轉移到步驟S204,在那里將b_al loc的值設置為b_av。然后處 理轉移到步驟S205。在步驟S203,檢查下列不等式是否成立sv_now+b_av-b_alloc <= SVMAX如果步驟S203的檢查結果是YES (是),處理轉移到步驟S205。如果步驟S203的 檢查結果是NO (否),則處理轉移到步驟S204,以將b_alloc的值設置為b_av。然后處理轉 移到步驟S205。在步驟S205,編碼當前的G0P。管理控制使得用分配的位數量b_alloc編碼當前 的G0P和使得將不在VBV緩沖器中產生溢出。將參照圖86詳細說明這個處理。在步驟S206,根據下列方程更新VBR的公差值sv_n0W sv_now+ = b_av_b_gen這里b_gen是作為編碼當前G0P的結果而獲得的當前G0P的編碼位的數量。在步驟S207,檢查當前G0P是否是最后的G0P。如果步驟S207的檢查結果為是, 處理結束。如果步驟S207的檢查結果是否,則處理返回到步驟S201。圖86是用于說明在圖85的步驟S205的處理中的VBV控制的詳細處理的流程圖。在步驟S300,根據下列方程將分配給當前G0P的編碼位的數量轉換為編碼位速率 gop_bit_rategop_bit_rate = b_alloc/(15/29. 97)。在步驟S301,正在當前G0P中編碼的畫面的最小位數量min_picture_bit通過下 列方程得出tmp = vbv_b+gop_bit_rate氺taumin_picture_bit = tmp_VBV_BUFFER_SIZE。在上面的方程中,vbv_b是緊接在當前由VBV編碼的畫面的解碼的前面的VBV緩 沖器的位占用數量(見圖82)。注意,tau是當前被編碼的畫面的解碼時間和下一個畫面的解碼時間之間的差 (見圖82)。注意,VBV_BUFFER_SIZE是VBV緩沖器的大小,并且在MPEG2 MPiML的情況下是 1.75Mbits。在步驟S302,編碼當前的畫面以產生生成的位數量gen_piCture_bit。在步驟S303,檢查下列不等式.gen_picture_bit < min_picture_bit如果步驟S303的檢查結果是YES (是),處理轉移到步驟S304。如果步驟S303的 檢查結果是NO (否),則處理轉移到步驟S305。在步驟S304,視頻編碼器在當前編碼的畫面之后編碼多個對應于num_stuff ing_byte的數量的填充字節(jié),并將編碼的填充字節(jié)附加在編碼的畫面的后部(見圖82)num_stuffing_byte = (min_p i cture_b i t-gen_p i cture_b i t+4)/8在步驟S305,檢查畫面是否是GOP的最后的畫面。如果步驟S305的檢查結果是 YES (是),處理結束。如果步驟S305的檢查結果是NO (否),則處理返回到步驟S301。通過如上所述控制視頻流的可變位速率編碼來生成AV流文件,可以保證AV流的 時間流逝和AV流的數據字節(jié)數量之間的關系在預設的誤差范圍內為線性。如果在這種方 式中,部分地擦除了流的一定時間部分,則可能產生在數量上對應于所擦除的時間區(qū)域的 未占用區(qū)域,該未占用區(qū)域可以用由所述的流的TS_average_rate指示的位速率可記錄。為了比較,現在顯示不保證AV流的時間流逝和AV流的數據字節(jié)數量之間的正比 關系(time_C0ntr0lled_flag = 0)的編碼模式中的AV流的兩個示例性記錄方法。time_controlled_flag = 0的第一種情況是透明的記錄數字廣播的AV流(節(jié)目) 的傳輸流的情況。如果數字廣播使用統(tǒng)計多路復用,那里的AV流常常是可變位速率。AV流 的時間流逝和AV流的數據字節(jié)數量之間的關系通常不必是線性的,使得如果在這個AV流 的透明的記錄上制備Clip,則將time_C0ntr0lled_flag設置為0。time_controlled_flag = 0的第二種情況是以可變位速率編碼視頻使得該位速 率將不高于預設平均位速率的情況。這種情況是,在其中執(zhí)行視頻編碼的VBV控制,使得如 果VBV緩沖器不滿或已滿,到緩沖器的輸入位速率將分別是最大位速率或零?,F在參照圖 88至109說明這種情況中的AV流記錄方法。圖88顯示了用于說明在不保證AV流的時間流逝和AV流的數據字節(jié)數量之間的 正比關系的編碼模式中以可變位速率編碼視頻以記錄AV流的操作的流程圖。除步驟S400外,該流程圖與圖79的流程圖相同。在步驟S400,控制視頻編碼器151使得視頻流將以可變位速率用如下方式進行編 碼,該方式為該位速率將低于從一個預設時間域到另一個預設時間域的預設平均位速率。圖89是用于說明圖在圖88的步驟S400的處理中的視頻的可變位速率控制的詳 細處理的流程圖。在步驟S500,在VBR的公差值sv_n0W中設置初始值SV1。在這種情況下進行可變 位速率控制使得公差值SV_n0W將不為負(_)。在步驟S501,得出當前G0P的編碼所分配的位b_alloc。在步驟S502,檢查下列不等式是否成立sv_now+b_av-b_alloc > = 0這個步驟S502是用于校驗VBV的公差值是否不為負(_)的檢查步驟。在上面的不等式中,b_av是編碼每個G0P的編碼位的數量的平均值。如果所述的 G0P的時間期間是0. 5秒,b_av具有下面的值b_av =(視頻的平均位速率)*0. 5如果步驟S502的檢查結果是YES (是),處理轉移到步驟S504。如果步驟S502的 檢查結果是NO (否),則處理轉移到步驟S503,以將b_alloc設置為b_av。然后處理轉移到 步驟S504。在步驟S504,編碼當前的G0P。用分配的位數量b_alloc編碼當前的G0P。這種情 況下的VBV管理控制是這樣的,如果VBV緩沖器中的位占用值不滿或已滿,到緩沖器的輸入位速率將分別是VBR的最大位速率(可變位速率)或零(見圖81)。在這個步驟中,不在視 頻流中編碼填充字節(jié)。在步驟S505,根據下列方程更新VBR的公差值sv_n0W sv_now+ = b_av_b_gen這里b_gen是作為在步驟S504編碼當前G0P的結果而獲得的當前G0P的編碼位
的數量。在步驟S506,檢查當前G0P是否是最后的G0P。如果步驟S506的檢查結果為是, 則處理結束。如果步驟S506的檢查結果是否,則處理返回到步驟S501。圖88和109的記錄方法不能保證AV流的時間流逝和AV流的數據字節(jié)數量之間 在預設誤差范圍內的正比關系。例如,如果有一個靜態(tài)畫面在輸入視頻中持續(xù)很長時間,則 AV流的時間流逝和AV流的數據字節(jié)數量之間的關系如圖84所示。S卩,由于靜態(tài)畫面具有 較小的信息量,即使用于編碼所分配的位數量大于該信息量,實際編碼中產生的位數量也 以較小的值飽和。因此,在這種情況下,AV流的時間流逝和AV流的數據字節(jié)數量之間的關 系不是線性。另一方面,如果考慮到管理控制使得視頻編碼器將使用預設時間分配的位數量, 執(zhí)行控制使得到VBV緩沖器的輸入位速率是當前G0P的編碼位速率,并使得將由視頻編碼 器產生填充字節(jié)以便不產生VBV緩沖器溢出,可以保證AV流的時間流逝和AV流的數據字 節(jié)數量之間的關系在預設誤差范圍內基本上為線性。作為實現保證AV流的時間流逝和AV流的數據字節(jié)數量之間的正比關系的編碼模 式的方法,可以考慮在多路復用傳輸數據包中插入空數據包,以記錄常數位速率的傳輸流。 這是主要用于記錄諸如D-VHS的傳輸數據包的編碼方法。同時,空數據包意味著其數據包 ID(PID)被設置為OxlFFF并且不具有信息意義的傳輸數據包。為比較該方法與圖79中的方法起見,圖90顯示了編碼模式的流程圖,其中通過編 碼預設位速率的傳輸流,保證了 AV流的時間流逝和AV流的數據字節(jié)數量之間的正比關系。在步驟S600,設置傳輸流的多路復用位速率和視頻編碼的位速率。在步驟S601, 以預設常數位速率或以低于預設位速率的位速率編碼視頻流。在步驟S602,在缺少用于生成傳輸數據包的基本流的情況下,生成并多路復用空 數據包(沒有信息意義的傳輸數據包),以編碼預設常數多路復用位速率的傳輸流。在步驟S603,將到達時間戳附加于每個傳輸數據包,以形成源數據包,然后將該源 數據包記錄在記錄介質上。如果通過上述記錄方法將AV流記錄為Clip,將Clip的time_controlled_flag設 置為1??墒?,使用空數據包并且因此不能使用用于有效視頻編碼的編碼位的這種方法招 致了畫面質量低于用圖79的編碼方法所取得的畫面質量的問題(這已經在例如Japanese Laying-Open Patent Publication(日本待審專利)H_11-220727號的現有技術的說明中進 行了討論)。因此,本發(fā)明中不推薦使用圖91的記錄方法。下面說明僅部分刪除AV流文件的一定時間部分的方法。圖91顯示了原始AV流文件和用于擦除AV流文件的部分再現部分接續(xù)編輯的AV 流文件的示例。假設,在編輯之前,Vritual PlayList (虛擬播放列表)指向原始AV流文 件上的IN_time和0UT_time。如果執(zhí)行未被VritualPlayList使用的擦除流部分的編輯(最小化編輯),它將原始AV流文件改變?yōu)閳D91中所示的經編輯(as-edited)的流文件。 擦除了從原始AV流文件的前端到點X的數據和從點Y到尾端的數據。下面說明確定這些 點X和Y的一般方法。圖92說明了不用分析AV流內容而擦除點IN之前的無用數據的方法。PlayList 表示原始AV流文件上的點IN,并表示AV流的EP_map。為了解碼由點IN表示的畫面,需要 從地址ISA2開始的I畫面。在點X 的后部,需要 PAT、PMT 和 PCR 數據包。RSPN_EP_start = ISA1 的 PTS 是 ptsl,而RSPN_EP_start = ISA2的PTS是pts2。如果ptsl的系統(tǒng)時間基準和pts2的系統(tǒng) 時間基準的時間差不小于100毫秒,則在地址ISA1和ISA2之間存在PAT、PMT和PCR(這至 少對 SESF、DVS、ATSC、和 ISDB 有效)。因此,在地址ISA1的前面確定點X。點X必須在聯(lián)合單元的邊界上。使用EP_map, 而不用分析AV流的內容,記錄器通過下列步驟也能確定點X (S1)發(fā)現具有與系統(tǒng)時間基準上的IN_time的PTS最近的過去顯示時間的PTS值 的SPN_EP_start的步驟;和(S2)發(fā)現具有比在步驟S1發(fā)現的SPN_EP_start的PTS值再過去至少100毫秒的 顯示時間的PTS值的SPN_EP_start的步驟;(S3)在步驟S2發(fā)現的SPN_EP_start的前面確定點X,點X必要地位于聯(lián)合單元 的邊界上。這種方法簡單,因為不需要讀出AV流的數據以分析它的內容??墒?,在再現所編 輯的AV流的PlayList時,有遺留無用數據的情況。如果為了確定點X讀出AV流數據并分 析數據內容,則用于再現PlayList的無用數據可以被有效地擦除。圖93說明了不用分析AV流內容而在OUT點的后部擦除無用數據的方法。 PlayList指向原始AV流上的OUT點,并顯示AV流的EP_map。預先假定從SPN_EP_start = ISA4開始的視頻序列是12 BO B1 P5這里I、P和B分別表示I-、P_和B-畫面。并且后綴號碼表示顯示次序。如果在 這個處理中,記錄器不能分析AV流內容,則它就不知道諸如畫面編碼類型或參照0UT_time 的PTS的畫面的時間基準的信息。0UT_time的PTS可能正在由畫面B0或B1參照(這不能 被知道,除非記錄器分析AV流內容)。在這種情況下,12是必要的,以便解碼畫面B0和B1。 12 的 PTS 大于 0UT_time 的 PTS。12 的 PTS 大于 0UT_time 的 PTS(0UT_time < pts4,這里 pts4是12的PTS)。盡管12的PTS大于0UT_time的PTS,12對于B0和B1是必要的。因此,確定點Y位于所示的地址ISA5的后部。ISA5是直接位于EP_map中的ISA4 后部的SPN_EP_start的值。點Y也必須位于聯(lián)合單元的邊界上。使用EP_map,而不用分析AV流的內容,記錄器通過下列步驟可以確定點Y (S1)發(fā)現具有與系統(tǒng)時間基準上的0UT_time的PTS最近并且比其更超前的顯示 時間的PTS值的SPN_EP_start的步驟;和(S2)發(fā)現具有直接位于在系統(tǒng)時間基準上發(fā)現的SPN_EP_start后部的SPN_EP_ start的步驟;(S3)設置點Y以便其比在步驟S2發(fā)現的SPN_EP_start更靠后。點Y必須位于聯(lián)合單元的邊界上。這種方法簡單,因為不需要讀出AV流的數據以分析它的內容來確定點Y。可是,在 再現所編輯的AV流的PlayList時,有遺留無用數據的情況。如果為了確定點Y讀出AV流 數據并分析數據內容,用于再現PlayList的無用數據可以被更加有效地擦除。參照圖94的流程圖說明PlayList的一般操作。在圖1所示的記錄和/或再現設 備的多路復用流分析單元18上執(zhí)行這個處理。在步驟S11,流分析單元18設置記錄的AV節(jié)目的視頻的PID。如果傳輸流中包括 多個視頻流,則設置各自的視頻PID。在步驟S12,流分析單元18接收視頻傳輸數據包。在步驟S13,流分析單元分析傳輸數據包的有效載荷(緊接數據包標頭的數據部 分)是否以PES數據包(PES數據包是MPEG2中規(guī)定的數據包并分包基本流)的第一個字 節(jié)開始。這可以通過檢查傳輸數據包標頭中的“payl0ad_unit_Start_indicat0r(有效載 荷開始指示符)”而得知。如果這個值是1,傳輸數據包的有效載荷以PES數據包的第一個 字節(jié)開始。如果步驟S13的檢查結果為否,則處理返回到步驟S12。如果步驟S13的檢查結 果為是,則處理轉換到步驟S14。在步驟S14,流分析單元檢查PES數據包的有效載荷是否開始于MPEG視頻的 sequence_header_code (序列標頭編碼)的第一個字節(jié)(32位的“0x000001B3”)。如果步 驟S14的檢查結果為否,則處理返回到步驟S12。如果步驟S13的檢查結果為是,則處理前 進到步驟S15。在步驟S15,當前傳輸數據包是入口點。在步驟S16,流分析單元獲得開始于 sequence_header_code的I畫面的PTS所屬的視頻的PID及其入口點以及上述數據包的數 據包號碼,以將視頻PID輸入控制器23??刂破?3形成EP_map。在步驟S17,檢查當前數據包是否是最后輸入的傳輸數據包。如果當前數據包不是 最后的數據包,處理回到步驟S12。如果當前數據包是最后的數據包,則處理結束。上述操作序列不僅可以在硬件上、也可以在軟件上執(zhí)行。如果操作序列在軟件上 執(zhí)行,形成軟件的程序或多個程序安裝在計算機的專用硬件上,使得各程序從諸如通用個 人計算機的記錄介質上進行安裝。參照圖95,這個記錄介質除了計算機外,可以由向用戶提供程序的包介質構成。包 介質可以是例如磁盤221 (包括軟盤)、光盤222 (包括CD-R0M(致密盤-只讀存儲器)和 DVD (數字通用盤))、磁光盤223(包括MD(小型盤))或半導體存儲器224。另外,記錄介 質可以由裝備給用戶的硬盤構成,該硬盤預裝載于計算機上并包括其中存儲了程序的ROM 202或存儲器208。在本申請文件中,說明由介質提供的程序的序列的各個步驟不僅包括按照說明的 順序執(zhí)行的處理,也包括并行或成批執(zhí)行的處理。本申請文件中的系統(tǒng)表示由多個裝置構成的整個設備。工業(yè)應用性在編碼和記錄AV 流期間,time_controlled_flag 和 TS_average_rate 被記錄為 AV流的屬性信息。如果將time_C0ntr0lled_flag設置為1,則保證在AV流的時間流逝和 AV流的數據字節(jié)數量之間的關系在預設誤差范圍內是線性的。用字節(jié)/秒為單位的話,TS_averagejate表示AV流文件(傳輸流)的平均位速率,并由記錄器的應用程序在預設值 處進行確定。例如,為各個模式設置TS_average_rate,即長播放(LP)模式、標準播放(SP) 模式、或高質量(HQ)模式。如果將AV流文件的time_C0ntr0lled_flag設置為1,并部分地將流擦除一預設時 間流部分,則例如可以在盤上創(chuàng)建對應于SP模式的AV流文件時間部分的未占用區(qū)域。如果將time_controlled_flag設置為1,則如下編碼AV流(1)設置傳輸流的多路復用位速率和視頻編碼的平均位速率。(2)以可變位速率編碼視頻流,以便保證每個預設時間域的預設平均位速率。應該注意,MPEG視頻編碼的VBV(視頻緩沖校驗器)以如下方式受到控制,即為 了管理控制使得視頻編碼器將使用分配給預設時間的視頻的位數量,到VBV緩沖器的輸入 位速率將是當前編碼位速率,并且使得視頻編碼器將生成限制VBV緩沖器的溢出的填充字 節(jié)。(3)控制多路復用,使得在沒有用于生成傳輸流的基本流的情況下,不生成空數據 包。(4)將到達時間戳附加到每個傳輸流以將它生成源數據包,并且向前填充源數據 包,用于記錄成AV流文件。通過以這種方式編碼和記錄AV流文件,可以保證,如果部分地擦除了一定時間部 分的流,則可以在盤上創(chuàng)建對應于所擦除時間部分的未占用區(qū)域,并且該未占用區(qū)域以由 TS_average_rate所示的位速率可記錄。
權利要求
一種用于編碼畫面數據的編碼設備,包括編碼器,用于以可變速率編碼所述畫面數據;和控制器,具有其中編碼的數據量在預設誤差范圍內與流逝的時間成正比的編碼模式和其中不保證編碼的畫面數據量與流逝的時間成正比的另一種編碼模式,所述控制器根據有關的編碼模式控制編碼的畫面數據量。
2.根據權利要求1所述的編碼設備,其中所述控制器管理控制,使得如果每個單位時 間產生的所述畫面編碼數據的數量小于預設值,則將編碼填充字節(jié)。
3.根據權利要求2所述的編碼設備,其中所述控制器根據在編碼各個畫面中產生的數 據量校驗是否編碼填充字節(jié)。
4.根據權利要求2所述的編碼設備,其中所述控制器管理編碼填充字節(jié)的控制,使得 將不在視頻緩沖校驗器緩沖器中產生溢出。
5.根據權利要求1所述的編碼設備,其中所述控制器管理控制,以其中所述生成的畫 面編碼數據的數量在預設誤差范圍內與時間的流逝成正比的編碼模式執(zhí)行編碼。
6.根據權利要求5所述的編碼設備,其中所述控制器生成指示編碼模式是否是其中所 述畫面編碼數據的數量在預設誤差范圍內與時間流逝成正比的這種編碼模式的附加信息。
7.一種用于編碼畫面數據的編碼方法,包括編碼步驟,用于以可變速率編碼所述畫面數據;和控制步驟,具有其中編碼的數據量在預設誤差范圍內與流逝的時間成正比的編碼模式 和其中不保證編碼的畫面數據量與流逝的時間成正比的另一種編碼模式,所述控制步驟根 據有關的編碼模式控制編碼的畫面數據量。
8.—種在記錄介質記錄畫面數據的方法,,該方法包括以下步驟在所述記錄介質上記錄包括所述畫面數據和與所述畫面數據相關的音頻數據的視聽 流文件;和記錄指示是否已經以其中所述視聽流的文件大小與時間的流逝在預設誤差范圍內成 正比的編碼模式進行了編碼的標志。
9.根據權利要求8的方法,其中所述標志是時間控制標志。
全文摘要
當作為AV流上的屬性信息將時間控制標志設置為1以便編碼和記錄AV流時,AV流的流逝時間在預定誤差范圍內正比于AV流的數據字節(jié)數。如果將AV流文件的時間控制標志設置為1,并且如果部分地刪除流的對應于一時間的部分,則在盤上創(chuàng)建對應于該刪除時間的空區(qū)域,在該空區(qū)域上可以以由流的TS平均速率指示的位速率記錄數據。
文檔編號G11B27/10GK101867835SQ200910128270
公開日2010年10月20日 申請日期2001年4月20日 優(yōu)先權日2000年4月21日
發(fā)明者加藤元樹, 浜田俊也 申請人:索尼公司