專利名稱:轉換數(shù)據(jù)流格式的方法和裝置及記錄數(shù)據(jù)流的方法和裝置的制作方法
技術領域:
按照本發(fā)明的方法和裝置涉及一種用于轉換數(shù)據(jù)流格式的方法和裝置,具體而言,涉及一種用于將程序流(PS)轉換成傳輸流(TS)的方法和裝置,以及利用所述方法和裝置記錄數(shù)據(jù)流的方法和裝置。
背景技術:
將根據(jù)諸如運動圖像專家組(MPEG)標準的數(shù)據(jù)壓縮標準生成的視頻數(shù)據(jù)和音頻數(shù)據(jù)劃分成用于傳輸或儲存的預定大小的數(shù)據(jù)以后分別多路復用。MPEG系統(tǒng)里的多路復用包括接收由媒體編碼器壓縮的位流獲得的基本流(ES),并產(chǎn)生被打包的基本流(PES)分組。一旦生成PES分組,就通過多路復用所述生成的PES分組來生成程序流(PS)或傳輸流(TS)。對于所述PS,分組多個PES分組來形成包。對于所述TS,再次劃分PES分組來形成多個TS分組。PS具有通過多路復用PES分組獲得的可變長度,并通常用于在諸如數(shù)字化視頻光盤(DVD)或高清晰度(HD-)DVD的存儲介質(zhì)的無錯誤環(huán)境里記錄數(shù)據(jù)。所述TS分組具有188字節(jié)的固定長度。TS分組用來在諸如廣播的易于出錯環(huán)境里多路復用多個程序。
目前,利用PS將數(shù)據(jù)存儲在諸如DVD或HD-DVD的存儲介質(zhì)里。最近,對于接收和存儲數(shù)字廣播的釋放裝置在例如硬盤驅(qū)動器(HDD)或藍光盤(BD)的預定存儲介質(zhì)里記錄和存儲TS。因此,為了使以TS格式再現(xiàn)數(shù)據(jù)的裝置以處理以PS格式記錄的內(nèi)容,諸如DVD或HD-DVD的內(nèi)容,首先應該將PS轉換為TS。
圖1是將PS轉換成為TS的相關數(shù)據(jù)流格式轉換器100的框圖。
參見圖1,所述數(shù)據(jù)流格式轉換器100包括PS去多路復用器(demultiplexer)110和TS多路復用器120。
所述PS去多路復用器110包括PES提取器111和ES發(fā)生器112。所述PES提取器111生成包括通過去多路復用輸入的PS而獲得的PES分組的序列的PES流。ES發(fā)生器112通過分組拆卸(depacktizing)生成的PES流而生成ES。
TS多路復用器120包括PES分組器(packetizer)121、TS分組器122和系統(tǒng)時間時鐘123。所述PES分組器121接收由PS去多路復用器110生成的ES,并通過執(zhí)行與由ES發(fā)生器112執(zhí)行的相反的處理來建立PES標題和對應于PES標題信息的有效負載,從而生成PES分組。所述TS分組器122再次劃分所述PES分組來生成188字節(jié)的TS分組。所述PES分組器121在生成PES分組的時候,將顯示時間戳(PTS)和解碼時間戳(DTS)添加到PES標題里。這時,根據(jù)相同時間基準,即基于系統(tǒng)時間時鐘(STC)123,表示由所述PTS和DTS指示的值。對于在MPEG系統(tǒng)里同步編碼器和解碼器的基準時鐘,所述TS分組器122在生成的TS分組的標題里記錄程序時鐘參考(PCR)。
因此,根據(jù)現(xiàn)有技術,為了將PS轉換成為TS,在PS上執(zhí)行去多路復用。此外,除了利用在PS中包括的時間信息,在重新多路復用的期間也生成用于同步的時間信息并添加到TS分組的標題里。
發(fā)明內(nèi)容
本發(fā)明提供一種用于轉換數(shù)據(jù)流格式的方法和裝置,在其中將MPEG-2PS轉換為MPEG-2TS,以及利用所述方法和裝置記錄數(shù)據(jù)流的方法和裝置。
本發(fā)明還提供一種用于轉換數(shù)據(jù)流格式的方法和裝置,其中通過在PS到TS的變換期間跳過PES分組和ES生成,并通過利用使用PS中包括的時間信息計算的TS需要的時間基準降低用于數(shù)據(jù)流格式的變換的計算總量,以及一種利用所述方法和裝置記錄數(shù)據(jù)流的方法和裝置。
根據(jù)本發(fā)明的一個方面,提供了一種轉換數(shù)據(jù)流格式的方法,在其中將程序流(PS)轉換為傳輸流(TS)。所述方法包括從包括在PS包中的包標題提取系統(tǒng)時鐘參考(SCR)和程序多路復用速率,從分組的基本流(PES)中提取流標識符(ID);利用所述流ID識別包括在所述包中的PES分組的數(shù)據(jù)類型,如果識別的數(shù)據(jù)類型是視頻或音頻數(shù)據(jù),則根據(jù)TS分組的有效負載大小劃分所述PES分組,通過將TS分組標題添加到每個劃分的PES分組來生成連續(xù)的TS分組;以及在連續(xù)的TS分組之中,設定包括在首先生成的TS分組的TS分組標題中的適應字段的程序時鐘參考(PCR)等于所述提取的SCR。
依照本發(fā)明的另一方面,提供了一種用于轉換數(shù)據(jù)流格式的裝置,其中將程序流(PS)轉換為傳輸流(TS)。所述裝置包括PS分析單元、分組的基本流(PES)分組類型識別單元、PES分組劃分單元、以及TS分組生成單元。所述PS分析單元從包括在PS包中的包標題提取系統(tǒng)時鐘參考(SCR)和程序多路復用速率。所述PES分組類型識別單元利用從包括在所述包中的PES分組標題中提取的流標識符(ID)識別包括在包中的PES分組的數(shù)據(jù)類型。如果所述標識的數(shù)據(jù)類型是視頻或音頻數(shù)據(jù),則所述PES分組劃分單元根據(jù)TS分組的有效負載大小劃分所述PES分組。所述TS分組生成單元通過將TS分組標題添加到每個劃分的PES分組,并在連續(xù)的TS分組之中設定包括在首先生成的TS分組的TS分組標題中的程序時鐘參考(PCR)等于所述提取的SCR。
依照本發(fā)明的另一方面,提供了一種轉換數(shù)據(jù)流格式的方法,在其中將程序流(PS)轉換為傳輸流(TS)。所述方法包括從包括在PS包的包標題中提取程序多路復用速率,利用包大小和提取的程序多路復用速率計算指示TS分組之間的時差的TS到達時間戳(ATS)偏移,根據(jù)TS分組的有效負載大小劃分包括在所述包中的PES分組;通過將TS分組標題添加到每個劃分的PES分組生成連續(xù)的TS分組;以及插入包括固定程序時鐘參考(PCR)分組標識符(PID)和利用所述TS ATS偏移計算的PCR的TS分組,而不是為了在包和連續(xù)的TS分組之間的同步而插入的空分組。
依照本發(fā)明的另一方面,提供了一種用于轉換數(shù)據(jù)流格式的裝置,其中程序流(PS)轉換為傳輸流(TS)。所述裝置包括PS分析單元、TS到達時間戳(ATS)偏移計算單元、以及TS分組生成單元。所述PS分析單元從包括在PS包中的包標題提取程序多路復用速率。所述TS ATS偏移計算單元利用包大小和提取的程序多路復用速率計算指示TS分組之間的時差的TS ATS偏移。所述TS分組生成單元根據(jù)TS分組的有效負載大小劃分包括在所述包中的PES分組;通過將TS分組標題添加到每個劃分的PES分組生成連續(xù)的TS分組;以及插入TS分組,而不是為了在包和連續(xù)的TS分組之間的同步而插入的空分組,其中所述TS分組包括固定了程序時鐘參考(PCR)分組識別符(PID)和利用所述TS ATS偏移計算的PCR。
通過參照附圖詳細說明本發(fā)明的示例性實施例,將使本發(fā)明的上述及其他方面變得更加明顯,其中圖1是將PS轉換成為TS的相關技術數(shù)據(jù)流格式轉換器的框圖。
圖2舉例說明了MPEG-2PS的數(shù)據(jù)結構;圖3舉例說明了MPEG-2TS的數(shù)據(jù)結構;圖4是根據(jù)本發(fā)明的示例性實施例,舉例說明轉換數(shù)據(jù)流格式的方法的流程圖;
圖5是根據(jù)本發(fā)明的示例性實施例,用于轉換數(shù)據(jù)流格式的裝置的框圖;圖6-8是根據(jù)本發(fā)明的示例性實施例,舉例說明了PS包到TS分組的變換的實例;圖9是根據(jù)本發(fā)明的另一個示例性實施例,舉例說明轉換數(shù)據(jù)流格式的方法的流程圖;圖10是根據(jù)本發(fā)明的另一個示例性實施例,用于轉換數(shù)據(jù)流格式的裝置的框圖;圖11-13是根據(jù)本發(fā)明的另一個示例性實施例,舉例說明了PS包到TS分組的變換的實例;具體實施方式
以下,將參考附圖詳細說明本發(fā)明的概念的示例性實施例。
為了方便理解本發(fā)明,將參考圖2和3描述MPEG-2程序流(PS)和MPEG-2傳輸流(TS)的數(shù)據(jù)結構。
圖2舉例說明了MPEG-2PS的數(shù)據(jù)結構。所述PS由多個包200組成,并具有可變長度。每個包200都包括包標題210和多個PES分組220。通常,在以PS格式存儲諸如DVD或HD-DVD數(shù)據(jù)的存儲介質(zhì)里,每個包具有例如2KB的大小。所述包大小通常取決于扇區(qū)大小。所述包標題210包括包起始碼字段、“01”字段、系統(tǒng)時鐘參考(SCR)字段211、程序多路復用(mux)速率字段212、包填充長度字段、包填充字節(jié)字段、和系統(tǒng)標題字段。所述系統(tǒng)標題字段包括系統(tǒng)標題起始碼字段、標題長度字段、速率捆綁字段、音頻捆綁字段、固定標志字段、CSRS字段,音頻鎖定標志字段、視頻鎖定標志字段、視頻捆綁字段、和N回路字段。所述N回路字段包括流標識符(ID)字段213、“11”字段、P-STD緩沖器捆綁比例字段、P-STD緩沖區(qū)大小捆綁字段以及其它字段。每個包括在所述包中的多個PES分組220都包括報頭部分和數(shù)據(jù)部分。如下所述,根據(jù)本發(fā)明的示例性實施例,利用包括在包標題210中的各種字段中的所述SCR字段211,所述程序多路復用速率字段212和所述流ID字段213將PS轉換成為TS。
圖3說明了MPEG-2TS的數(shù)據(jù)結構。在圖3里,示出了TS分組300的數(shù)據(jù)結構和包括在TS分組300中的標題310及有效負載320的數(shù)據(jù)結構。所述MPEG-2TS包括多個188字節(jié)的TS分組,每個包都包括標題310和有效負載320。所述標題310包括同步字節(jié)字段、傳送錯誤指示符字段、有效負載單元開始指示符字段、傳送優(yōu)先權字段、分組ID(PID)字段311、傳送爭奪控制字段、適應字段控制字段、連續(xù)計數(shù)器字段和適應字段312。所述適應字段312包括適應字段長度字段、中斷指示符字段、隨機訪問指示符字段、基本流優(yōu)先權指示符字段、指示可選字段的5-標志字段、和填充字節(jié)字段313。所述可選字段包括程序時鐘參考(PCR)字段314、舊程序時鐘參考(OPCR)字段、接合倒數(shù)計時(splice countdown)字段、傳送專用數(shù)據(jù)長度字段、傳送專用數(shù)據(jù)字段、適應字段擴展長度字段、和指示可選字段的3-標志字段。如下所述,利用從PS中提取的信息計算的值記錄在PID字段311和PCR字段314中,其包括在TS分組300的標題310的各種字段中,以及如果PES分組的尺寸小于TS分組的有效負載,所述填充字節(jié)字段313就用來通過補充不完全的PES分組來生成完整的TS分組。
圖4是根據(jù)本發(fā)明的示例性實施例,舉例說明了轉換數(shù)據(jù)流格式的方法的流程圖,和圖5是根據(jù)本發(fā)明的示例性實施例的用于轉換數(shù)據(jù)流格式的裝置500的框圖。
在本發(fā)明的示例性的實施例中,對于具有PCR的包(在下文中稱為PCR分組)的PID不是指定為特定值的這種情況時,將PS轉換為TS。參見圖5,裝置500包括PS分析單元510、PES分組類型識別單元520、PES分組劃分單元530、TS分組生成單元540、以及用于支持SESF TS格式的自編碼流格式(self encode streamformat,SESF)TS分組生成單元550。
所述PS分析單元510在操作410從PS包的包標題提取用于多路復用PS的信息。所述提取的信息包括如圖2中所示的SCR和程序多路復用速率。所述提取的SCR用作第一源分組的最初到達時間戳(ATS)。如果PCR分組的PID不是指定的確定值,則所述提取的PCR可直接用作為所述包的第一TS分組的適應字段的PCR。所述提取的程序多路復用速率用來計算指示包括在PS中的包的SCR之間差值的SCR偏移。
所述PES分組類型識別單元520在操作420利用從包括在包中的PES分組的標題中提取的流ID識別包括在包中的PES分組的數(shù)據(jù)類型。在操作430確定所述PES分組的數(shù)據(jù)類型是否是導航數(shù)據(jù)。如果確定所述PES分組的數(shù)據(jù)類型不是導航數(shù)據(jù),即不是視頻數(shù)據(jù)或音頻數(shù)據(jù),則PES分組劃分單元530在操作440根據(jù)TS分組的有效負載大小劃分所述PES分組。因為TS分組的有效負載大小通常是184字節(jié),所述PES分組劃分單元530可以將包括在所述PS中的PES分組劃分成為184字節(jié)單元。
TS分組生成單元540在操作450根據(jù)TS格式將TS分組標題添加到每個劃分的PES分組,由此生成連續(xù)的TS分組。所述TS分組生成單元540直接使用從PS的包標題中提取的SCR作為第一個生成的TS分組的標題的適應字段的PCR。當TS分組生成單元540生成TS分組的標題的時候,利用識別的PES分組的數(shù)據(jù)類型確定PID。換句話說,如果提取的流ID指示視頻流,則所述TS分組生成單元540將指示視頻流的PID插入到TS分組的標題中。如果提取的流ID指示為音頻流,則所述TS分組生成單元540將指示音頻流的PID插入到TS分組的標題中。如果所述提取的流ID指示為導航數(shù)據(jù),則所述TS分組生成單元540將指示程序特定信息(PSI)/系統(tǒng)信息(SI)的PID插入到TS分組的標題中。所述導航數(shù)據(jù)可以是一般的控制信息(GCI)、表示控制信息(PCI)、或數(shù)據(jù)搜索信息(DSI)。如果所述PES分組的數(shù)據(jù)類型標識為導航數(shù)據(jù),則所述TS分組生成單元540在操作460插入PSI/SI分組以檢查相對于當前包的處理是否完成,而不是處理當前PES分組,并將空分組插入到其余空間中,以在PS的包和生成的TS分組之間同步。
所述TS分組生成單元540利用從PS的包標題中提取的程序多路復用速率如下計算指示在包括在所述PS中的包的SCR之間差值的SCR偏移 其中包大小表示單個包大小,并在諸如DVD或HD-DVD的存儲介質(zhì)里通常是2K字節(jié)(=2048字節(jié))。然而,這個大小可以改變。例如當從包標題中提取的程序多路復用速率是10.08Mbps并且系統(tǒng)時鐘是27MHz的時候,指示PS的相鄰包的SCR之間的差值的SCR偏移大約為43885.7秒。在等式(1)中,乘以8來將字節(jié)單元轉換為位單元。
TS分組生成單元540利用包括在PES分組標題中的PES分組長度字段來計算PES分組大小。所述PES分組大小指示除了包標題之外的包的剩余部分的大小,并分配給TS分組的有效負載。所述PES分組大小如下計算PES分組大?。絇ES分組長度+2+4(字節(jié))…………(2),其中2字節(jié)是PES分組長度字段的大小,而4字節(jié)是包起始碼首字段的大小和流指示符字段的大小的總和。在MPEG-2PES分組里,PES分組長度字段指示包括在所述PES分組中的下面的數(shù)據(jù)的大小。因此,為了獲得將要處理的PES分組大小,應該如同在等式(2)一樣加上PES分組長度字段的大小、分組起始碼首字段的大小和流指示符字段的大小。
所述TS分組生成單元540將PES分組大小除以TS分組的有效負載大小來獲得PS的PES分組的變換所需的TS分組的數(shù)目。換句話說,獲得將一個包轉換成為TS分組所需要的TS分組的數(shù)目,即在一個包里的TS分組的計數(shù)。例如,如果PES分組大小是2034字節(jié)而且TS分組的有效負載大小是184字節(jié),則用于分配包括在包中的PES分組到TS分組的有效負載所需的在一個包內(nèi)的TS分組計數(shù)是2034/184=11.05。因此,在這個示例的情況中,至少需要12個TS分組來分配PS的PES分組。所述TS分組生成單元540在操作470中比較包括在一個包里的TS分組計數(shù)與已經(jīng)處理的TS分組的數(shù)量,來檢查包括在所述PS中的所有PES分組是否已經(jīng)轉換為TS分組。如果這里仍然有PES分組將要處理,則重復以前的處理。
每當TS分組生成單元540生成TS分組,它就從要處理的PES分組大小中減去TS分組的有效負載大小。如果在重復TS分組生成以后,要處理的所述PES分組尺寸小于TS分組的最大有效負載大小(184字節(jié)),則TS分組生成單元540通過將適應字段的填充字節(jié)應用到TS分組的不足負載空間來生成188字節(jié)的TS分組。
如果生成的連續(xù)的T個分組的格式轉換為SESF TS格式,則所述TS分組生成單元540計算指示所述TS分組之間的時差的TS ATS偏移。所述TS ATS偏移可以利用利用公式1獲得的SCR偏移和在一個包里的TS分組來下計算 例如,如果所述SCR偏移是43885.7以及所述在一個包中的TS分組計數(shù)是12,則所述TS ATS偏移是43885.7/12=3657.14。
SESF用來編碼模擬信號或解碼數(shù)字信號以及編碼所述已編碼的模擬信號或已解碼的數(shù)字信號成為MPEG TS,并通常用于在藍光盤里的數(shù)據(jù)記錄。為了支持SESFTS格式,通過在一般的188字節(jié)的TS分組的前面的添加4字節(jié)TS分組額外標題,產(chǎn)生192字節(jié)的源數(shù)據(jù)包。所述4個字節(jié)TS分組額外標題包括2位副本許可指示符和30位ATS字段。
所述SESF TS分組生成單元550利用TS ATS偏移將4字節(jié)TS分組額外標題添加到從TS分組生成單元540輸出的每個TS分組。如果k(k是整數(shù))個TS分組已經(jīng)在當前處理的TS分組之前生成,則所述SESF TS分組生成單元550將kxTSATS偏移的值插入到當前處理的TS分組TS分組額外標題的ATS字段。換句話說,所述SESF TS分組生成單元550將ATS應用到所述TS分組的TS分組額外標題,其中所述ATS通過將TS ATS偏移添加到現(xiàn)有的TS分組的ATS里更新,由此生成支持藍光盤里使用的SESF TS格式的源分組。
圖6-8根據(jù)本發(fā)明的示例性實施例,舉例說明了PS包到TS分組的變換的實例。在圖6里只有數(shù)據(jù)分組包括在一個包里。在圖7中,只有數(shù)據(jù)分組和填充分組包括在一個包里。在圖8里,只有導航數(shù)據(jù)包括在一個包里。
參見圖6,從PS的包標題中提取的SCR記錄在對應的TS分組的TS分組標題的適應字段611的PCR字段中。PS的PES分組標題620插入TS分組的有效負載621中,以及PES有效負載的部分630插入第一TS分組的有效負載621的剩余空間631中。包括在PS中的PES有效負載數(shù)據(jù)的剩余部分除以TS分組的有效負載大小并插入TS分組的有效負載中。如上所述,對應于從PS的流ID中提取的數(shù)據(jù)類型的PID插入TS分組的PID字段中。通過重復以前的處理,劃分包括在PS中的所有PES分組并插入TS分組的有效負載中。如果PES有效負載數(shù)據(jù)的剩余部分,即PES有效負載#n 670小于184字節(jié),也就是小于TS分組的有效負載大小,則所述剩余部分被插入TS分組的有效負載671,并將適應的填充字節(jié)應用到TS分組的不足有效負載空間中。
參見圖7,如果填充分組710被包括來保留特定的大小,則插入一個空分組,例如空分組#m+1 711來與包同步。從指示將一個包轉換成為TS分組所需要的TS分組數(shù)量的一個包中的TS分組計數(shù)中減去除空分組之外的由PES分組生成的TS分組的數(shù)目來計算插入的空分組的數(shù)目。
參見圖8,如果當前處理的PS的包是包括GCI分組標題810、PCI分組標題820、和DSI分組標題830的導航包,則插入PSI/SI分組而不是處理當前PES分組來檢查相對于當前包的處理是否完成,并將空分組,例如空分組#m+l 870插入到剩余空間里來使PS包和生成的TS分組之間同步。
在本發(fā)明的示例性的實施例中,當將PS轉換為TS格式的時候,最小TS多路復用速率(mux rate)如下計算 例如,如果TS ATS偏移是3657.14,TS分組大小是188字節(jié),以及系統(tǒng)時鐘是27MHz,那么最小TS多路復用速率是(188*8)*27000000/3657.14.=11.1(Mbps)。因為TS對于相同周期運送數(shù)據(jù)的總量大于PS,因此TS多路復用速率高于程序多路復用速率。
圖9是根據(jù)本發(fā)明的另一個示例性實施例舉例說明了轉換數(shù)據(jù)流格式的方法的流程圖,而圖10是根據(jù)本發(fā)明的另一個示例性實施例的用于轉換數(shù)據(jù)流格式的裝置1000的框圖。
在本發(fā)明的另一個示例性實施例中,在PCR分組的PID指定為TS的格式的這樣一種情況下,將PS轉換為TS。例如,在利用SESF TS格式的藍光盤中,PCR分組的PID指定為“0x1001”。當指定PCR分組的PID時,表示PCR不能插入隨機的TS分組中,并且只有具有特定的PID的TS分組可以具有PCR。根據(jù)本發(fā)明的示例性實施例,PCR可以插入包括視頻或音頻數(shù)據(jù)的TS分組的適應字段中,但根據(jù)本發(fā)明的另一個示例性實施例,它不能插入隨機的TS分組中,從而使用獨立的處理。在本發(fā)明的另一個示例性實施例中,利用TS分組代替插入的空分組來插入PCR,以用來使PS包和TS分組之間同步。
參見圖10,所述裝置1000包括PS分析單元1010,TS分組生成單元1020,和TS ATS偏移計算單元1030。
在操作910,所述PS分析單元1010從包括在PS包中的包標題中提取程序多路復用速率,并從PES分組中提取PES長度。
為計算插入PCR分組中的PCR,在操作920,TS ATS偏移計算單元1030利用提取的程序多路復用速率和包大小計算指示連續(xù)的TS分組之間時差的TS ATS偏移。更具體地說,TS ATS偏移計算單元1030利用公式1計算SCR偏移,該SCR偏移是包括在PS中的包的SCR之間的差值。通過將提取的PES分組長度應用到公式2,TS ATS偏移計算單元1030計算對應于一個包的PES分組大小,并通過將計算的PES分組大小除以TS分組的有效負載大小來獲得包括在一個包中的TS分組計數(shù)。TS ATS偏移計算單元1030將SCR偏移除以一個包中的TS分組計數(shù),從而計算TS ATS偏移。
在操作930,TS分組生成單元1020根據(jù)TS分組的有效負載大小劃分包括在包中的PES分組,并將TS分組標題添加到每個劃分的PES分組,由此生成連續(xù)的TS分組。將對應于利用從PES分組標題中提取的流ID標識的每個PES分組的數(shù)據(jù)類型的PID分配給TS PID字段。
根據(jù)本發(fā)明的另一個示例性實施例,因為指定了具有PCR的PID,因此從包標題中提取的SCR不能直接應用于TS分組標題的PCR字段。反而使用具有利用TSATS偏移計算的PCR以及具有固定PCRPID的TS分組。特別的是,插入PCR分組而不是用于導航包或包和TS分組之間同步的至少一個插入的空分組。插入PCR分組而不是空分組的是具有指示TS分組具有PCR的固定PCR PID和具有根據(jù)其適應字段里的TS ATS偏移計算的PCR的TS分組。當在空分組而不是PCR分組插入之前處理的TS分組的數(shù)目是k(k是整數(shù))的時候,在PCR分組的適應字段里PCR分組的PCR是(k×TS ATS偏移)。
為了使生成的TS支持SESF TS格式,如同本發(fā)明的另一個示例性實施例,在裝置1000里還可以包括用于將4字節(jié)的額外標題添加到每個TS分組的SESF TS分組生成單元(未圖示)。
圖11-13是根據(jù)本發(fā)明的另一個示例性實施例,舉例說明了PS包到TS分組的變換的實例。在圖11中,一個包只僅包括數(shù)據(jù)分組。在圖12中,一個包只包括數(shù)據(jù)分組和填充分組。在圖13中,導航數(shù)據(jù)包括一個包中。
參見圖11,根據(jù)本發(fā)明的另一個示例性實施例,由于具有PCR的PID是固定的,因此沒有使用從PS的包標題1110中提取的SCR,并且也沒有使用在TS分組標題1140里的適應字段的PCR字段。將PS的PES分組標題1120插入到TS分組的有效負載部分1150,和將PES有效負載數(shù)據(jù)的部分,即PES有效負載#0 1130,插入第一TS分組的的剩余有效負載部分1160中。如同在本發(fā)明先前描述的示例性實施例里一樣,PS的剩余PES有效負載部分除以TS分組的有效負載大小,并插入每個TS分組的有效負載部分中。這時,將包括在PES分組標題中的PTS/DTS劃分而不需要附加過程,并插入TS分組的有效負載部分中。因為TS分組的PCR是利用包內(nèi)的SCR計算的,因此PS的包標題里的PTS/DTS也可以直接使用。如上所述,對應于從PS的流ID中提取的數(shù)據(jù)類型的PID插入TS分組的PID字段中。通過重復所述以前的處理,將包括在PS中的所有PES分組分配給TS分組的有效負載部分。如果剩余PES分組的尺寸小于184字節(jié),其是TS分組的有效負載大小,則將適應字段的填充字節(jié)插入到TS分組的不足有效負載空間里,由此生成188字節(jié)的TS分組。
參見圖12,如果包括填充分組1210來保留特定的大小,則將空分組或分組插入TS中來與包同步。特別的是,根據(jù)本發(fā)明的另一個示例性實施例,插入PCR分組#m 1220而不是至少一個插入的空分組,所述PCR分組#m 1220是具有固定PCRPED和利用TS ATS偏移計算的PCR的TS分組,以用于包和TS分組之間的同步。盡管在圖12里插入PCR分組而不是第一個空分組,但插入的PCR分組的數(shù)目可以根據(jù)解碼器使用的PCR分組的間隔增加。
參見圖13,如果當前處理的PS包是導航包,則插入PSI/SI分組而不是處理當前PES分組來檢查相對于當前包的處理是否完成,并將空分組插入剩余空間中來同步PS包和生成的TS分組。插入具有固定PCR PID和利用TS ATS偏移計算的PCR的TS分組的PCR分組#m 1310,而不是空分組。
所述用于轉換數(shù)據(jù)流格式的方法和裝置可應用于記錄設備,用于提取以PS格式存儲在記錄介質(zhì)里的數(shù)據(jù)和在將提取的PS轉換成為TS以后記錄所述提取的PS。在這種情況下,除用于轉換數(shù)據(jù)流格式的裝置的配置以外,所述記錄設備還可以包括從以PS格式存儲在記錄介質(zhì)里的數(shù)據(jù)提取包的讀取單元,以及記錄由用于根據(jù)本發(fā)明的示例性實施例在記錄介質(zhì)里轉換數(shù)據(jù)流格式的裝置轉換的TS的記錄單元。所述記錄介質(zhì)可以預先確定。所述記錄設備可用來從具有以PS格式的方式記錄在其上的數(shù)據(jù)的存儲介質(zhì)里提取數(shù)據(jù),所述介質(zhì)諸如是HD-DVD或DVD,將提取的PS轉換成為TS,以及利用TS格式將轉換的數(shù)據(jù)存儲在諸如藍光盤的存儲介質(zhì)里。所述存儲介質(zhì)可以預先確定。
如上所述,根據(jù)本發(fā)明的示例性實施例,在PS到TS的變換期間,可以跳過相對于PS的去多路復用。換句話說,本發(fā)明的示例性實施例利用在PS里的時間信息跳過了在TS里計算時間信息的處理,由此提供有效的數(shù)據(jù)流格式,以及可用于在記錄和/或支持PS和TS格式的再現(xiàn)設備里的數(shù)據(jù)流格式的變換。
根據(jù)本發(fā)明的示例性實施例的轉換數(shù)據(jù)流格式的方法還可以作為計算機可讀代碼包括在計算機可讀記錄介質(zhì)上。計算機可讀記錄介質(zhì)是任何可以存儲此后可由計算機系統(tǒng)讀取的數(shù)據(jù)的數(shù)據(jù)存儲設備。計算機可讀記錄介質(zhì)的實例包括只讀存儲器(ROM)、隨機訪問存儲器(RAM)、CD-ROM、磁帶、軟盤、光學數(shù)據(jù)存儲設備、以及載波。計算機可讀記錄介質(zhì)還可以分布在耦合計算機系統(tǒng)的網(wǎng)絡上,因此計算機可讀代碼以分散的方式存儲和執(zhí)行。
雖然已經(jīng)參照本發(fā)明示例性實施例詳細地描述了本發(fā)明的概念,但是本領域普通技術人員應該理解的是,在不脫離本發(fā)明的概念的精神和范圍的情況下,可以對其做出形式上以及細節(jié)上的各種改變,本發(fā)明的概念的精神和范圍由隨后的權利要求定義。
本申請要求了于2006年3月10日在韓國知識產(chǎn)權局申請的第10-2006-0022725號韓國專利申請的權益,將該篇申請的內(nèi)容在此引用,以供參考。
權利要求
1.一種轉換數(shù)據(jù)流格式的方法,在其中將程序流(PS)轉換為傳輸流(TS),所述方法包括如下步驟從包括在PS包的包標題中提取系統(tǒng)時鐘參考(SCR)和程序多路復用速率;從包括在所述包中的分組的基本流(PES)分組標題中提取流標識符(ID);利用所述流標識符(ID)識別包括在所述包中的PES分組的數(shù)據(jù)類型;如果所述識別的數(shù)據(jù)類型是視頻或音頻數(shù)據(jù),則根據(jù)TS分組的有效負載大小劃分所述PES分組;通過向每個劃分的PES分組添加TS分組標題來生成連續(xù)的TS分組;以及在連續(xù)的TS分組之中,設定包括在首先生成的TS分組的TS分組標題中適應字段的程序時鐘參考(PCR)等于所述提取的SCR。
2.如權利要求1所述的方法,其中劃分所述PES分組包括從PES分組標題中提取PES分組長度信息;利用所述PES分組的長度信息為所述包計算PES分組大??;以及用PES分組大小除以TS分組的最大有效負載大小來計算將包括在所述包中的所有PES分組轉換成為連續(xù)的TS分組所需的TS分組的數(shù)量。
3.如權利要求2所述的方法,其中所述PES分組的大小是通過將流ID的分組起始碼和長度加上所述提取的PES分組長度信息來計算的。
4.如權利要求1所述的方法,其中生成連續(xù)的TS分組包括每當TS分組生成時,通過將從PES分組的大小減去TS分組的有效負載大小來計算剩余PES分組的大??;以及如果剩余PES分組大小小于所述TS分組的有效負載大小,則將填充字節(jié)插入到TS分組標題的適應字段中。
5.如權利要求1所述的方法,其中生成連續(xù)的TS分組包括如果劃分的PES分組是填充分組則將空分組插入到TS分組中。
6.如權利要求1所述的方法,其中所述生成連續(xù)的TS分組包括根據(jù)識別的PES分組的數(shù)據(jù)類型分配TS分組的ID。
7.如權利要求1所述的方法,還包括如果所述識別的數(shù)據(jù)類型是導航數(shù)據(jù),則用程序?qū)S眯畔?PSI)分組或系統(tǒng)信息(SI)分組來替代包括在所述包中的PES分組的導航信息。
8.如權利要求1所述的方法,還包括(f)將包括副本許可指示符和到達時間戳(ATS)字段的額外標題添加到每個連續(xù)的TS分組。
9.如權利要求8所述的方法,其中所述添加額外標題包括利用提取的程序多路復用速率、包大小和系統(tǒng)時鐘計算SCR偏移,所述SCR偏移指示包括在PS中包的SCR之間的差值;用計算的SCR偏移除以將包括在包中的所有PES分組轉換成為TS分組所需的TS分組的數(shù)量,以計算指示所述TS分組之間時差的TS ATS偏移;以及將kx TS ATS偏移插入到當前處理的TS分組的額外標題的ATS標題里,其中k是整數(shù)并表示在連續(xù)的TS分組之中當前處理的TS分組之前生成的TS分組的數(shù)量。
10.如權利要求9所述的方法,其中所述SCR偏移可以表示為 其中m表示提取的程序多路復用速率,s表示包的大小,以及c表示系統(tǒng)時鐘。
11.一種轉換數(shù)據(jù)流格式的裝置,其中程序流(PS)轉換為傳輸流(TS),所述裝置包括PS分析單元,用于從包括在PS包中的包標題中提取系統(tǒng)時鐘參考(SCR)和程序多路復用速率;分組的基本流(PES)分組類型識別單元,用于利用從包括在所述包中的PES分組標題中提取的流標識符(ID)來識別包括在包中的PES分組的數(shù)據(jù)類型;PES分組劃分單元,用于如果識別的數(shù)據(jù)類型是視頻或音頻數(shù)據(jù),則根據(jù)TS分組的有效負載大小劃分所述PES分組;TS分組生成單元,用于通過根據(jù)TS格式將TS分組標題添加到每個劃分的PES分組,以及在連續(xù)的TS分組之中設定包括在首先生成的TS分組的TS分組標題中適應字段的程序時鐘參考(PCR)等于所述提取的SCR來生成連續(xù)TS分組。
12.如權利要求11所述的裝置,其中所述PES分組劃分單元利用從所述PES分組標題中提取的PES分組長度信息為所述包計算PES分組大小,并將PES分組大小除以TS分組的最大有效負載來計算將包括在所述包中的所有PES分組轉換成為連續(xù)的TS分組所需要的TS分組的數(shù)量。
13.如權利要求12所述的裝置,其中所述PES分組的大小是通過將流ID的分組起始碼和長度加上所述提取的PES分組長度信息來計算的。
14.如權利要求11所述的裝置,其中所述TS分組生成單元通過在每生成一個TS分組時,從PES分組大小中減去TS分組的有效負載大小來計算剩余PES分組大小,并且,如果剩余PES分組大小小于所述TS分組的有效負載大小,則將填充字節(jié)插入所述TS分組標題的適應字段中。
15.如權利要求11所述的裝置,其中如果劃分的PES分組是填充分組,則所述TS分組生成單元將空分組插入到所述TS分組中。
16.如權利要求11所述的裝置,其中所述TS分組生成單元根據(jù)識別的PES分組的數(shù)據(jù)類型來分配TS分組的ID。
17.如權利要求11所述的裝置,其中如果所述識別的數(shù)據(jù)類型是導航數(shù)據(jù),則TS分組生成單元用程序?qū)S眯畔?PSI)分組或系統(tǒng)信息(SI)分組來替代包括在所述包中的PES分組的導航信息。
18.如權利要求11所述的裝置,還包括自編碼流格式(SESF)TS分組生成單元,其用來將包括副本許可指示符和到達時間戳(ATS)字段的額外標題添加到每個連續(xù)的TS分組。
19.如權利要求18所述的裝置,其中所述SESF TS分組生成單元包括SCR偏移計算單元,用于利用提取的程序多路復用速率、包大小和系統(tǒng)時鐘計算指示包括在PS中的包的SCR之間的差值的SCR偏移;TS到達時間戳(ATS)計算單元,用于將計算的SCR偏移除以將包括在包中的所有PES分組轉換成為TS分組所需的TS分組的數(shù)量,來計算指示所述TS分組之間的時差的TSATS偏移;以及額外標題插入單元,用于將kx TS ATS偏移的ATS插入當前處理的TS分組的額外標題的ATS字段,其中k是整數(shù),表示在連續(xù)的TS分組之中當前處理的TS分組之前生成的TS分組的數(shù)量。
20.如權利要求19所述的裝置,其中所述SCR偏移可以表示為, 其中m表示提取的程序多路復用速率,s表示包的大小,以及c表示系統(tǒng)時鐘。
21.一種轉換數(shù)據(jù)流格式的方法,其中程序流(PS)轉換為傳輸流(TS),所述方法包括從包括在PS包中的包標題中提取程序多路復用速率;利用包大小和提取的程序多路復用速率計算指示TS分組之間的時差的TS到達時間戳(ATS)偏移;根據(jù)TS分組的有效負載大小劃分包括在包中的PES分組;通過將TS分組標題添加到每個劃分的PES分組來生成連續(xù)的TS分組;以及插入包括固定程序時鐘參考(PCR)分組識別器(PID)和利用TS ATS偏移計算的PCR的TS分組,而不是為了包和連續(xù)的TS分組之間的同步而插入的空分組。
22.如權利要求21所述的方法,其中計算所述TS ATS偏移包括利用提取的程序多路復用速率、包大小和系統(tǒng)時鐘計算指示包括在PS中的包的SCR之間的差值的系統(tǒng)時鐘參考(SCR)偏移;以及用計算的SCR偏移除以將包括在包中的所有PES分組轉換成為連續(xù)的TS分組所需的TS分組的數(shù)量來計算TSATS偏移。
23.如權利要求22所述的方法,其中所述SCR偏移可以表示為 其中m表示提取的程序多路復用速率,s表示包的大小,以及c表示系統(tǒng)時鐘。
24.如權利要求21所述的方法,其中所述劃分所述PES分組包括根據(jù)基于從PES分組標題中提取的流ID識別的PES分組的數(shù)據(jù)類型向TS分組分配識別符(ID)。
25.如權利要求21所述的方法,其中所述PCR是(kx TS ATS偏移),其中k是整數(shù),表示在插入空分組而不是插入PCR分組之前處理的TS分組的數(shù)目。
26.如權利要求21所述的方法,還包括將4字節(jié)的額外標題添加到每個連續(xù)的TS分組。
27.一種轉換數(shù)據(jù)流格式的裝置,其中程序流(PS)轉換為傳輸流(TS),所述裝置包括PS分析單元,用于從包括在PS包中的包標題提取程序多路復用速率;TS到達時間戳(ATS)偏移計算單元,其利用包大小和提取的程序多路復用速率計算指示TS分組之間的時差的TS ATS偏移;以及TS分組生成單元,其根據(jù)TS分組的有效負載大小劃分包括在所述包中的PES分組,通過將TS分組標題添加到每個劃分的PES分組生成連續(xù)的TS分組,以及插入TS分組而不是為了所述包和連續(xù)的TS分組之間的同步而插入的空分組,其中所述插入的TS分組包括固定了程序時鐘參考(PCR)分組識別符(PID)和利用所述TS ATS偏移計算的PCR。
28.如權利要求27所述的裝置,其中TS分組生成單元根據(jù)基于從PES分組標題中提取的流ID識別的PES分組的數(shù)據(jù)類型將識別符(ID)分配到TS分組。
29.如權利要求27所述的裝置,其中TS ATS偏移計算單元利用提取的程序多路復用速率、包大小以及系統(tǒng)時鐘計算指示包括在所述PS中的包的SCR之間的差值的系統(tǒng)時鐘參考(SCR)偏移,并將計算的SCR偏移除以將包括在包中的所有PES分組轉換成為TS分組所需要的TS分組的數(shù)量。
30.如權利要求29所述的裝置,其中所述SCR偏移可以表示為 其中m表示提取的程序多路復用速率,s表示包的大小,以及c表示系統(tǒng)時鐘。
31.如權利要求27所述的裝置,其中所述PCR是kx TS ATS偏移,其中k是整數(shù),表示在空分組而不是PCR分組插入之前處理的TS分組的數(shù)目。
32.如權利要求27所述的裝置,還包括將4字節(jié)的額外標題添加到每個連續(xù)的TS分組的自編碼流格式(SESF)TS分組生成單元。
33.一種方法,用于提取以程序流(PS)格式存儲在記錄介質(zhì)中的數(shù)據(jù),將數(shù)據(jù)轉換成為傳輸流(TS)格式的數(shù)據(jù),并記錄所述TS格式數(shù)據(jù),所述方法包括從以PS格式存儲在記錄介質(zhì)中的數(shù)據(jù)提取包;從包括在所述包的包標題中提取系統(tǒng)時鐘參考(SCR)和程序多路復用速率;從包括在所述包中的分組的基本流(PES)分組標題中提取流標識符(ID);利用所述流ID識別包括在所述包中的PES分組的數(shù)據(jù)類型;如果所述識別的數(shù)據(jù)類型是視頻或音頻數(shù)據(jù),則根據(jù)TS分組的有效負載大小劃分所述PES分組;通過將TS分組標題添加到每個劃分的PES分組,以及在連續(xù)的TS分組之中設定包括在首先生成的TS分組的TS分組標題中的適應字段的程序時鐘參考(PCR)等于所述提取的SCR;以及記錄所述連續(xù)的TS分組。
34.一種裝置,用于提取以程序流(PS)格式存儲在記錄介質(zhì)中的數(shù)據(jù),將數(shù)據(jù)轉換成為傳輸流(TS)格式的數(shù)據(jù),并記錄所述TS格式數(shù)據(jù),所述裝置包括讀取單元,用于從以PS格式存儲在記錄介質(zhì)中的數(shù)據(jù)提取包;PS分析單元,用于從包括在包中的包標題中提取系統(tǒng)時鐘參考(SCR)和程序多路復用速率;分組的基本流(PES)分組類型識別單元,用于利用從包括在所述包中的PES分組標題中提取的流標識符(ID)識別包括在包中的PES分組的數(shù)據(jù)類型;PES分組劃分單元,用于如果所述識別的數(shù)據(jù)類型是視頻或音頻數(shù)據(jù),則根據(jù)TS分組的有效負載大小劃分所述PES分組;TS分組生成單元,用于通過將TS分組標題添加到每個劃分的PES分組來生成連續(xù)的TS分組,以及在連續(xù)的TS分組之中設定包括在首先生成的TS分組的TS分組標題中適應字段的程序時鐘參考(PCR)等于所述提取的SCR;以及記錄單元,用于記錄所述連續(xù)的TS分組。
35.一種方法,用于提取以程序流(PS)格式存儲在記錄介質(zhì)中的數(shù)據(jù),將數(shù)據(jù)轉換成為傳輸流(TS)格式的數(shù)據(jù),并記錄所述TS格式數(shù)據(jù),所述方法包括從以PS格式存儲在記錄介質(zhì)中的數(shù)據(jù)提取包;從包括在包中的包標題中提取程序多路復用速率;利用包大小和提取的程序多路復用速率計算指示TS分組之間的時差的TS到達時間戳(ATS)偏移;根據(jù)TS分組的有效負載大小劃分包括在包中的PES分組;通過將TS分組標題添加到每個劃分的PES分組來生成連續(xù)的TS分組;插入包括固定程序時鐘參考(PCR)分組識別符(PID)和利用TS ATS偏移計算的PCR的TS分組,而不是為了包和連續(xù)的TS分組之間的同步而插入的空分組;以及記錄所述連續(xù)的TS分組。
36.一種裝置,用來提取以程序流(PS)格式存儲在記錄介質(zhì)中的數(shù)據(jù),將數(shù)據(jù)轉換成為傳輸流(TS)格式的數(shù)據(jù),并記錄所述TS格式數(shù)據(jù),所述裝置包括讀取單元,用于從以PS格式存儲在記錄介質(zhì)中的數(shù)據(jù)提取包;PS分析單元,用于從包括在包中的包標題里提取程序多路復用速率;TS到達時間戳(ATS)偏移計算單元,用于利用包大小和提取的程序多路復用速率計算指示TS分組之間的時差的TS ATS偏移;TS分組生成單元,根據(jù)TS分組的有效負載大小劃分包括在所述包中的PES分組,通過將TS分組標題添加到每個劃分的PES分組生成連續(xù)的TS分組,以及插入TS分組而不是為了包和連續(xù)的TS分組之間的同步而插入空分組,其中所述TS分組包括固定程序時鐘參考(PCR)分組識別符(PID)和利用所述TS ATS偏移計算的PCR;以及記錄單元,用于記錄所述連續(xù)的TS分組。
全文摘要
一種將程序流(PS)轉換成為傳輸流(TS)的方法和裝置,以及利用所述方法和裝置來記錄數(shù)據(jù)流的方法和裝置。所述用于轉換PS的方法包括提取系統(tǒng)時鐘參考(SCR)和程序多路復用比率;從分組的基本流(PES)分組標題里提取流標識符(ID);利用所述流標識符(ID)識別PES分組的數(shù)據(jù)類型;如果識別的數(shù)據(jù)類型是視頻或音頻數(shù)據(jù),則根據(jù)TS分組的有效負載大小劃分所述PES分組;通過將TS分組標題添加到每個劃分的PES分組生成連續(xù)的TS分組;以及設定包括在首先生成的TS分組中的TS分組標題中的適應字段的程序時鐘參考(PCR)等于所述提取的SCR。
文檔編號H04N7/26GK101080019SQ200710128849
公開日2007年11月28日 申請日期2007年3月12日 優(yōu)先權日2006年3月10日
發(fā)明者姜熙范, 鄭春植 申請人:三星電子株式會社