專利名稱:音頻/視頻再現(xiàn)設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種用于包括壓縮音頻/視頻信息的MPEG流(MPEG2節(jié)目流、MPEG1系統(tǒng)流)的音頻/視頻再現(xiàn)設(shè)備。
背景技術(shù):
在MPEG流中,具有預(yù)定量數(shù)據(jù)的包中包含有音頻和視頻數(shù)據(jù)。每個(gè)包包括一個(gè)包報(bào)頭和一個(gè)數(shù)據(jù)包,該數(shù)據(jù)包又包含數(shù)據(jù)包報(bào)頭和壓縮的音頻或視頻數(shù)據(jù)。數(shù)據(jù)包報(bào)頭具有諸如PTS(顯示時(shí)間戳)或DTS(解碼時(shí)間戳)的時(shí)間戳。DTS為指示解碼數(shù)據(jù)包中所壓縮數(shù)據(jù)的定時(shí)的時(shí)間數(shù)據(jù),以及PTS為指示顯示解碼數(shù)據(jù)的定時(shí)的時(shí)間數(shù)據(jù)。在DTS所指示的定時(shí)解碼數(shù)據(jù)包中的壓縮數(shù)據(jù),并在PTS所指示的定時(shí)顯示該壓縮數(shù)據(jù)。
通過(guò)編輯MPEG流例如剪切流的中間部分從而引起了時(shí)間戳的不連續(xù)性。在原樣再現(xiàn)這種流的情況下,圖像和聲音通常不能相互同步地再現(xiàn)。所以,在編輯該流時(shí),以這樣的一種方式來(lái)處理流連接點(diǎn)的結(jié)構(gòu),使得可以相互同步地再現(xiàn)圖像和聲音。圖像和聲音相互同步地連續(xù)再現(xiàn)具有上述不連續(xù)時(shí)間戳的流被稱之為無(wú)縫再現(xiàn)。在“用于只讀光盤的DVD規(guī)范部分3/視頻規(guī)范(由東芝株式會(huì)社發(fā)布)”中詳細(xì)描述了該無(wú)縫再現(xiàn)方法。
在不保證無(wú)縫連接的流中間出現(xiàn)時(shí)間戳不連續(xù)性(流連接點(diǎn)沒(méi)有如上面所述處理的結(jié)構(gòu))的情況下,音頻和視頻信號(hào)之間的再現(xiàn)時(shí)間差產(chǎn)生了使得不能同步音頻和視頻信號(hào)的音頻間隙或視頻間隙。在這種情況下,需要重置系統(tǒng)的時(shí)鐘(STC),從而暫時(shí)將圖像和聲音停止。
發(fā)明內(nèi)容
因此,本發(fā)明的一個(gè)目的是最小化圖像和聲音被停止的時(shí)期以及以偽無(wú)縫的方式連接不連續(xù)流。
根據(jù)本發(fā)明的一個(gè)方面,提供了一種音頻/視頻再現(xiàn)設(shè)備,包括流分離單元,用于從媒體中所讀取的MPEG流中分離出視頻流和音頻流;第一存儲(chǔ)單元,用于存儲(chǔ)流分離單元所分離的視頻流;第二存儲(chǔ)單元,用于存儲(chǔ)流分離單元所分離的音頻流;時(shí)鐘單元,用于提供操作的基準(zhǔn)時(shí)間;視頻解碼器,用于讀取第一存儲(chǔ)單元中所存儲(chǔ)的視頻流并基于時(shí)鐘單元上的值通過(guò)解碼視頻流來(lái)進(jìn)行再現(xiàn);音頻解碼器,用于讀取第二存儲(chǔ)單元中所存儲(chǔ)的音頻流并基于時(shí)鐘單元上的值通過(guò)解碼音頻流來(lái)進(jìn)行再現(xiàn),其中流分離單元包括確定單元,用于確定在所讀取MPEG流中的在先VOBU(視頻對(duì)象單元)和后繼VOBU之間的時(shí)間戳連續(xù)性;停止單元,用于停止在第一和第二存儲(chǔ)單元中的寫入操作,直到在確定裝置檢測(cè)到時(shí)間戳的不連續(xù)性的情況下,通過(guò)視頻解碼器和音頻解碼器再現(xiàn)第一和第二存儲(chǔ)單元中所存儲(chǔ)的在先VOBU結(jié)束為止;改變時(shí)鐘單元上的值的改變單元;以及重啟單元,用于當(dāng)再現(xiàn)在先VOBU的完成時(shí),重啟包括第一和第二存儲(chǔ)單元中在先VOBU和后繼VOBU的寫數(shù)據(jù)的操作。
在再現(xiàn)用于不保證無(wú)縫再現(xiàn)的不連續(xù)流中,盡可能地縮短再現(xiàn)圖像和聲音的時(shí)期并且能夠以偽無(wú)縫的方式再現(xiàn)不連續(xù)的流。
包括在本說(shuō)明書中并構(gòu)成其一部分的附圖示例了本發(fā)明的實(shí)施例,并與上述所給的總體描述和以下所給實(shí)施例的詳細(xì)描述一起用于說(shuō)明本發(fā)明的原理。
圖1所示為根據(jù)本發(fā)明的系統(tǒng)方框圖;圖2所示為DVD-視頻的物理結(jié)構(gòu)圖;圖3所示為節(jié)目流結(jié)構(gòu)的一個(gè)實(shí)例;圖4所示為DVD-視頻的流標(biāo)識(shí)圖;
圖5所示為DVD-視頻的包結(jié)構(gòu)圖;圖6所示為流分離單元進(jìn)行流再現(xiàn)的流程圖;圖7所示為流分離單元的標(biāo)志F和寄存器R的結(jié)構(gòu)圖;圖8所示為STC初始化處理的流程圖;圖9所示為流分離單元的包處理的流程圖;圖10所示為流分離單元的視頻數(shù)據(jù)包處理的流程圖;圖11所示為流分離單元的音頻數(shù)據(jù)包處理的流程圖;圖12所示為流分離單元的子圖像數(shù)據(jù)包處理的流程圖;圖13所示為具有連續(xù)時(shí)間戳的再現(xiàn)處理圖;圖14所示為流分離單元的STC不連續(xù)處理的流程圖;圖15所示為流分離單元的無(wú)縫再現(xiàn)處理的流程圖;圖16所示為具有不連續(xù)時(shí)間戳的無(wú)縫再現(xiàn)處理圖;圖17所示為流分離單元的非無(wú)縫再現(xiàn)處理的流程圖;圖18所示為具有不連續(xù)時(shí)間戳的非無(wú)縫再現(xiàn)處理的流程圖;圖19所示為流分離單元的下溢處理的流程圖;圖20所示為下溢處理圖;以及圖21所示為MPEG1系統(tǒng)流的層結(jié)構(gòu)圖。
具體實(shí)施例方式
下面參照附圖詳細(xì)說(shuō)明本發(fā)明的實(shí)施例。
圖1所示為根據(jù)本發(fā)明實(shí)施例的音頻/視頻再現(xiàn)設(shè)備的結(jié)構(gòu)方框圖。
主軸電機(jī)101旋轉(zhuǎn)轉(zhuǎn)盤(未示出)上所載的記錄媒體100。在再現(xiàn)過(guò)程中,通過(guò)拾取單元(PUP)102讀取記錄媒體100中記錄的信息。伺服單元103執(zhí)行光盤徑向上的饋送控制、聚焦控制、以及拾取單元102的跟蹤控制。在再現(xiàn)過(guò)程中,伺服單元103還發(fā)送一個(gè)控制信號(hào)給電機(jī)驅(qū)動(dòng)單元104以旋轉(zhuǎn)控制主軸電機(jī)101,即旋轉(zhuǎn)控制記錄媒體100。
拾取單元102的輸出信號(hào)輸入到解調(diào)/糾錯(cuò)單元105中以執(zhí)行解調(diào)和糾錯(cuò)。糾錯(cuò)的數(shù)據(jù)通過(guò)跟蹤緩沖器106輸入到流分離單元107。糾錯(cuò)的數(shù)據(jù)通過(guò)DSI(數(shù)據(jù)搜索信息)緩沖器108輸入到DSI解碼器109。DSI解碼器109與DSI解碼器緩沖器110相連接。解碼的DSI發(fā)送給系統(tǒng)控制單元200。糾錯(cuò)的數(shù)據(jù)還通過(guò)管理信息緩沖器111發(fā)送到系統(tǒng)控制單元200。將下述的VMGI和VTSI寫入到管理信息緩沖器111,并且系統(tǒng)控制單元200讀取諸如VMGI和VTSI的信息以執(zhí)行再現(xiàn)控制。管理信息指示用于管理MPEG系統(tǒng)流諸如VMGI和VTSI的管理信息。
流分離單元107執(zhí)行分離每個(gè)包的處理。流分離單元107所提取的視頻包(V_PCK)通過(guò)視頻緩沖器121輸入到視頻解碼器123并由視頻解碼器123解碼。視頻解碼器123與視頻解碼器緩沖器124相連接。視頻解碼器123輸出的視頻信號(hào)輸入到視頻混合單元125。
流分離單元107所提取的子圖像包(SP_PCK)通過(guò)子圖像緩沖器126輸入到子圖像解碼器127并由子圖像解碼器127解碼。子圖像解碼器127與子圖像解碼器緩沖器128相連接。子圖像解碼器127輸出的子圖像輸入到視頻混合單元125。所以,從視頻混合單元125獲得在主視頻信號(hào)上疊加子圖像的信號(hào),并將該信號(hào)提供給顯示器。
流分離單元107所提取的音頻包(A_PCK)通過(guò)音頻緩沖器129輸入到音頻解碼器130并由音頻解碼器130解碼。音頻解碼器130與音頻解碼器緩沖器131相連接。對(duì)音頻解碼器130的輸出信號(hào)執(zhí)行A/D轉(zhuǎn)換(未示出)并提供給揚(yáng)聲器。流分離單元107所提取的PCI(顯示控制信息)包通過(guò)PCI緩沖器132輸入到PCI解碼器133并由PCI解碼器133解碼。PCI解碼器133與PCI解碼器緩沖器134相連接。PCI解碼器133的輸出信號(hào)輸入到突出信息(HLI)處理單元135。
因此,子圖像(子標(biāo)題和字符)信息、音頻信息、管理信息、控制信息都對(duì)應(yīng)于視頻信息而記錄在記錄媒體100中。在流分離單元107中分離并得出主視頻信息、子圖像(子標(biāo)題和字符)信息、音頻信息、管理信息、控制信息等等。在這種情況下,能夠選擇各種語(yǔ)言作為子圖像(子標(biāo)題和字符)信息和音頻信息,并在系統(tǒng)控制單元200的控制下執(zhí)行該選擇。通過(guò)操作單元201為系統(tǒng)控制單元200提供用戶的輸入操作。在解碼主視頻信息的視頻解碼器123中執(zhí)行對(duì)應(yīng)于顯示設(shè)備類型的解碼處理。例如,將主視頻信息轉(zhuǎn)換為NTSC、PAL、SECAM、寬屏等等。用戶所指定流的音頻信息輸入到音頻解碼器130中并由它進(jìn)行解碼。用戶指定流的子圖像數(shù)據(jù)也輸入到子圖像解碼器127中并由它進(jìn)行解碼。
接下來(lái),將描述DVD視頻流的概要。
圖2所示為DVD視頻的流結(jié)構(gòu)圖。DVD流通過(guò)連續(xù)的視頻對(duì)象單元(VOBU)431形成,這些單元為最小的訪問(wèn)單元。VOBU 431依照MPEG-2節(jié)目流。VOBU 431總是從導(dǎo)航包(NV_PCK)441開始,然后連續(xù)形成視頻包(V_PCK)442、子圖像包(SP_PCK)444、以及音頻包(A_PCK)443。
圖3所示為節(jié)目流440的結(jié)構(gòu)。圖4所示為DVD-視頻的流標(biāo)識(shí)以及圖5所示為DVD-視頻的包結(jié)構(gòu)。如圖3所示,在包的報(bào)頭440a中描述了包到達(dá)每個(gè)基本解碼器的輸入緩沖器(圖1中所示的視頻緩沖器121、子圖像緩沖器126、音頻緩沖器129、和PCI緩沖器132)的時(shí)間信息SCR(系統(tǒng)時(shí)鐘基準(zhǔn))。每個(gè)包能夠至少具有一個(gè)數(shù)據(jù)包。數(shù)據(jù)包的有效載荷440c(除了數(shù)據(jù)包報(bào)頭以外的部分)只具有單獨(dú)一片(一種類型的)基本數(shù)據(jù)。例如,視頻數(shù)據(jù)和音頻數(shù)據(jù)不能混合在一起作為數(shù)據(jù)包的一個(gè)有效載荷。
在每個(gè)數(shù)據(jù)包的數(shù)據(jù)包報(bào)頭440b中描述了流標(biāo)識(shí)(stream_id)。對(duì)于包含作為stream_id的private_stream_1(等于BDh)和private_stream_2(等于BFh)的數(shù)據(jù)包來(lái)說(shuō),在數(shù)據(jù)包有效載荷的第一字節(jié)中描述sub_stream_id(參見圖4)。
當(dāng)視頻數(shù)據(jù)包442中包含圖像數(shù)據(jù)的前沿時(shí),能夠在視頻數(shù)據(jù)包442的數(shù)據(jù)包報(bào)頭440b中描述用于包含前沿的圖像的時(shí)間DTS(解碼時(shí)間戳)或時(shí)間PTS(顯示時(shí)間戳)。當(dāng)解碼圖像時(shí),顯示時(shí)間DTS;當(dāng)顯示圖像時(shí),顯示時(shí)間PTS。
當(dāng)圖像為I圖像或P圖像時(shí),能夠在數(shù)據(jù)包報(bào)頭440b中描述DTS和PTS。當(dāng)該圖像為B圖像時(shí),在數(shù)據(jù)包報(bào)頭440b中只描述PTS。
當(dāng)音頻數(shù)據(jù)包443中包含音頻幀的前沿時(shí),在該音頻數(shù)據(jù)包的數(shù)據(jù)包報(bào)頭440b中描述用于包含前沿的音頻幀的時(shí)間PTS。當(dāng)解碼和顯示音頻幀時(shí),顯示音頻數(shù)據(jù)包的時(shí)間PTS。
當(dāng)子圖像數(shù)據(jù)包444中包含子圖像單元(SPU)的前沿時(shí),在子圖像數(shù)據(jù)包444的數(shù)據(jù)包報(bào)頭440b中描述用于包含前沿的子圖像單元的時(shí)間PTS。當(dāng)執(zhí)行子圖像單元前沿的子圖像顯示控制序列(SP_DCSQ)時(shí),顯示子圖像數(shù)據(jù)包的時(shí)間PTS。
在導(dǎo)航包中的PCI數(shù)據(jù)包501(參見圖5)的數(shù)據(jù)包報(bào)頭中,不存在寫入時(shí)間信息的域。
然后,將是流分離單元107的基本操作。
當(dāng)流分離單元107檢測(cè)值等于stream_id和sub_stream_id的數(shù)據(jù)包時(shí),流分離單元107分離數(shù)據(jù)包的有效載荷以將有效載荷輸入到圖3中所示的對(duì)應(yīng)基本解碼器的輸入緩沖器(圖1中所示的視頻緩沖器121、子圖像緩沖器126、音頻緩沖器129、和PCI緩沖器132)中。因此,將視頻基本流存儲(chǔ)在視頻緩沖器121中,子圖像基本流存儲(chǔ)在子圖像緩沖器126中,音頻基本流存儲(chǔ)在音頻緩沖器129中,以及PCI基本流存儲(chǔ)在PCI緩沖器132中。
流分離單元107在啟動(dòng)過(guò)程中利用包的SCR值重置系統(tǒng)中的全部系統(tǒng)時(shí)鐘(STC),并發(fā)送從每個(gè)基本流的數(shù)據(jù)包中所分離出的PTS和DTS到每個(gè)基本解碼器(圖1中的視頻解碼器123、子圖像解碼器127、以及音頻解碼器130)。每個(gè)基本解碼器比較每個(gè)基本解碼器本身所擁有的時(shí)間(STC)與從流分離單元107所接收的PTS和DTS,以用來(lái)例如當(dāng)STC的值與PTS或DTS一致時(shí)執(zhí)行解碼和/或顯示。
圖6所示為流分離單元107的流再現(xiàn)處理概況的流程圖,以及圖7所示為流分離單元107的標(biāo)志F和寄存器R的結(jié)構(gòu)圖。
流分離單元107確定是否已從系統(tǒng)控制單元200接收到一個(gè)開始命令(ST001),并且在已經(jīng)接收到這種命令的情況下,在步驟ST002初始化STC。圖8所示為STC初始化處理的流程圖。流分離單元107設(shè)置第一處理寄存器R3為“1”(ST051),從跟蹤緩沖器106中讀取扇區(qū)數(shù)據(jù)(包數(shù)據(jù)),并在緩沖器107a中暫時(shí)保存它(ST052)。接下來(lái),流分離單元107在步驟ST053執(zhí)行包處理(將在下文描述)。除非在步驟ST504完成了STC初始化,否則流分離單元107將在視頻解碼器123、音頻解碼器130和子圖像解碼器27中設(shè)置STC(ST055)。當(dāng)流分離單元107執(zhí)行步驟ST052、ST053和ST054時(shí),處理流程返回到步驟ST052,并且在步驟ST056重置第一處理寄存器R3為“0”。
通過(guò)在該初始化處理中執(zhí)行包處理(ST053),第一VOBU的VOBU_S_PTM存儲(chǔ)在舊的old_VOBU_S_PTM寄存器R6中,第一VOBU的VOBU_E_PTM存儲(chǔ)在old_VOBU_E_PTM存儲(chǔ)器R7中,第二VOBU的VOBU_S_PTM存儲(chǔ)在cur_VOBU_S_PTM寄存器R8中,以及第二VOBU的VOBU_S_PTM存儲(chǔ)在cur_VOBU_E_PTM存儲(chǔ)器R9中。下文將描述諸如VOBU_S_PTM、old_VOBU_S_PTM和old_VOBU_E_PTM的時(shí)間信息。
參考圖6,在步驟ST003流分離單元107設(shè)置under_flow_flag寄存器R1為“0”,設(shè)置無(wú)縫_連接寄存器R11為“0”,并在步驟ST005確定是否已經(jīng)從系統(tǒng)控制單元200接收到停止命令。下溢(under_flow)指示當(dāng)流分離單元107從跟蹤緩沖器106讀取數(shù)據(jù)時(shí),未存儲(chǔ)在跟蹤緩沖器106中的超過(guò)預(yù)定量數(shù)據(jù)的狀態(tài)。這種狀態(tài)在來(lái)自光盤的再現(xiàn)信號(hào)停止一定時(shí)間諸如當(dāng)影響到設(shè)備(拾取光頭102)或在平行雙層光盤再現(xiàn)時(shí)復(fù)制(切換)層時(shí)而發(fā)生。
在已經(jīng)接收到停止命令時(shí),將停止流再現(xiàn)操作,另一方面,盡管在仍未接收到該停止命令的這種情況下,流分離單元107檢驗(yàn)以查看是否無(wú)縫連接標(biāo)志(seamless_connect)為“1”,當(dāng)它為“1”時(shí),執(zhí)行無(wú)縫的再現(xiàn)處理。否則,流分離單元107校驗(yàn)傳送到跟蹤緩沖器106的數(shù)據(jù)量。在數(shù)據(jù)量不滿足下溢條件時(shí),類似于步驟ST010,流分離單元107從跟蹤緩沖器106中讀取一個(gè)扇區(qū)的數(shù)據(jù),并在內(nèi)部緩沖器107a中保存它。接下來(lái),流分離單元107確定是否已經(jīng)從系統(tǒng)控制單元200接收到無(wú)縫_播放_(tái)標(biāo)志(ST011),當(dāng)接收到標(biāo)志時(shí),在步驟ST014設(shè)置無(wú)縫播放標(biāo)志寄存器R2為“1”并執(zhí)行包處理。無(wú)縫播放標(biāo)志指示是否對(duì)處理的流保證無(wú)縫連接(再現(xiàn)),當(dāng)該標(biāo)志為“1”時(shí),保證該無(wú)縫連接。無(wú)縫播放標(biāo)志為系統(tǒng)控制單元200從管理信息緩沖器111的信息中所檢測(cè)的信息,并發(fā)送到流分離單元107。另一方面在步驟ST009中,當(dāng)數(shù)據(jù)量滿足下溢條件時(shí),在步驟ST016將下溢標(biāo)志寄存器R1設(shè)置為“1”。
圖9所示為步驟ST014中包處理的流程圖。
流分離單元107確定是否已經(jīng)檢測(cè)導(dǎo)航包441(ST101),當(dāng)它被檢測(cè)時(shí),從PCI數(shù)據(jù)包501讀取VOBU_S_PTM和VOBU_E_PTM(步驟ST102),并分別將VOBU_S_PTM和VOBU_E_PTM(圖5)保存在寄存器R4和R5中。在步驟ST103中,流分離單元107更新old_VOBU_S_PTM寄存器R6和old_VOBU_E_PTM寄存器R7,cur_VOBU_S_PTM寄存器R8和cur_VOBU_E_PTM寄存器R9。在第一處理寄存器R3為“0”時(shí)(步驟ST104),流分離單元107確定是否下溢標(biāo)志寄存器R1為“0”(ST105)。在下溢標(biāo)志寄存器R1不為“0”時(shí),計(jì)算寄存器R7和R8的內(nèi)容之差,即計(jì)算VOBU_E_PTM和VOBU_S_PTM之間的差delta_PTM,并將所計(jì)算的結(jié)果存儲(chǔ)在delta_PTM寄存器R10中。在delta_PTM為“0”(在ST107中為否)時(shí),即在連續(xù)VOBU或單元之間時(shí)間戳是連續(xù)的,另一方面,流分離單元107發(fā)送該P(yáng)CI數(shù)據(jù)包給PCI緩沖器132(ST110)。此后,流分離單元107返回到如圖6所示的流程圖,并如上所述執(zhí)行步驟ST005到ST012。通過(guò)這種方式,扇區(qū)數(shù)據(jù)(包數(shù)據(jù))保存在內(nèi)部緩沖器107a中。分析內(nèi)部緩沖器107a中保存的該扇區(qū)數(shù)據(jù),并當(dāng)檢測(cè)該視頻包時(shí)(在ST111中為是),流分離單元107執(zhí)行步驟ST112的視頻數(shù)據(jù)包處理。
圖10所示為視頻數(shù)據(jù)包處理的流程圖。
流分離單元107在步驟ST201確定是否PTS和DTS或只有PTS包含在數(shù)據(jù)包報(bào)頭中,在PTS和DTS或只有PTS存在時(shí),如果可能的話,發(fā)送PTS和DTS或只發(fā)送PTS給視頻解碼器123(ST202)。而且,流分離單元107發(fā)送內(nèi)部緩沖器107a中所存儲(chǔ)的基本數(shù)據(jù)給視頻緩沖器121(ST203)。該處理通過(guò)圖9的流程圖返回到圖6的流程圖,并執(zhí)行如上所述的步驟ST005到ST012,以便在內(nèi)部緩沖器107a中保存并分析下一扇區(qū)數(shù)據(jù)。作為分析內(nèi)部緩沖器107a中所保存扇區(qū)數(shù)據(jù)的結(jié)果,檢測(cè)到音頻包的情況下(在ST113中為是),流分離單元107在步驟ST114中執(zhí)行音頻數(shù)據(jù)包處理。
圖11所示為音頻數(shù)據(jù)包處理的流程圖。
流分離單元107在步驟ST301確定是否PTS包含在數(shù)據(jù)包報(bào)頭中,在包含PTS的情況下,將它發(fā)送到音頻解碼器130(ST302)。而且,流分離單元107發(fā)送內(nèi)部緩沖器107a中所存儲(chǔ)的基本數(shù)據(jù)到音頻緩沖器129(ST303)。該處理通過(guò)圖9的流程圖返回到圖6的流程圖,并如上所述執(zhí)行步驟ST005到ST012。通過(guò)這種方式,在內(nèi)部緩沖器107a中保存并分析下一扇區(qū)數(shù)據(jù)。
作為分析內(nèi)部緩沖器107a中所保存扇區(qū)數(shù)據(jù)的結(jié)果,在檢測(cè)到子圖像包的情況下(在ST115中為是),流分離單元107在步驟ST116中執(zhí)行子圖像包處理。另一方面,在步驟ST115中未檢測(cè)到子圖像包的情況下(在ST115中為否),流分離單元107處理扇區(qū)數(shù)據(jù)(ST117)。
圖12所示為子圖像數(shù)據(jù)包處理的流程圖。
在步驟ST401中,流分離單元107確定在數(shù)據(jù)包報(bào)頭中是否包含有PTS,如果其中包含了PTS,則將它發(fā)送到子圖像解碼器127(ST402)。而且,流分離單元107發(fā)送內(nèi)部緩沖器107a中所存儲(chǔ)的基本數(shù)據(jù)給子圖像緩沖器126(ST403)。
圖13所示為正常再現(xiàn)處理的圖,其中相鄰VOBU(或單元)的時(shí)間戳(PTS/DTS)連續(xù)(對(duì)應(yīng)于在圖9流程圖的步驟ST107中為否)。
在DVD視頻中,為每個(gè)VOBU 431執(zhí)行再現(xiàn),在除了單元421的連接部分以外,在先VOBU的再現(xiàn)結(jié)束時(shí)間(VOBU_E_PTM)和后繼VOBU的再現(xiàn)開始時(shí)間(VOBU_S_PTM)彼此相等(圖5)。在單元421之間時(shí)間戳為連續(xù)時(shí),在先單元最后一個(gè)VOBU 431L的再現(xiàn)結(jié)束時(shí)間(VOBU_E_PTM)等于后繼單元的第一VOBU 431S的再現(xiàn)開始時(shí)間(VOBU_S_PTM)。在這種情況下,流分離單元107不執(zhí)行STC控制,并且每個(gè)基本解碼器(圖1中所示的視頻解碼器123、子圖像解碼器127和音頻解碼器130)比較其自身的時(shí)鐘(STC)與從流分離單元107所接收的PTS和DTS。在它們之間一致或具有偏移值的STC與PTS或DTS一致時(shí),每個(gè)基本解碼器解碼或顯示數(shù)據(jù)包中的相應(yīng)數(shù)據(jù)。另一方面,當(dāng)單元之間的時(shí)間戳不連續(xù)時(shí),在單元再現(xiàn)之前通過(guò)從系統(tǒng)控制單元200接收標(biāo)志(無(wú)縫播放標(biāo)志)來(lái)識(shí)別是否有可能無(wú)縫連接。
在圖9的流程圖中,在步驟ST107中結(jié)果為是,即delta-PTM不是零,但是時(shí)間戳在連續(xù)VOBU或單元之間不連續(xù),流分離單元107執(zhí)行STC不連續(xù)處理的步驟ST108。
圖14所示為STC不連續(xù)處理的流程圖。流分離單元107確定無(wú)縫播放標(biāo)志的寄存器R2是否為零(ST501),在結(jié)果為否時(shí)(未設(shè)置無(wú)縫再現(xiàn)),在無(wú)縫連接標(biāo)志(seamless_connect)寄存器R11中設(shè)置“1”。一旦在圖6的步驟ST701中將該標(biāo)志設(shè)置為“1”,則執(zhí)行無(wú)縫再現(xiàn)處理。
圖15所示為在時(shí)間戳(PTS/DTS)不連續(xù)的情況下執(zhí)行無(wú)縫再現(xiàn)處理的流程圖。流分離單元107讀取STC計(jì)數(shù)器,當(dāng)STC值達(dá)到與old_VOBU_E_PTM寄存器R7中的值一致時(shí)(在ST601中為是),則發(fā)送STC偏移即delta_PTM給視頻解碼器123、音頻解碼器130和子圖像解碼器127,并在無(wú)縫連接寄存器R11中設(shè)置為“0”(ST602)。
圖16所示為無(wú)縫再現(xiàn)處理模式的圖。
在單元之間的時(shí)間戳變得不連續(xù)時(shí),在先單元的最后一個(gè)VOBU431L的再現(xiàn)結(jié)束時(shí)間(VOBU_E_PTM)不能等于后繼單元的第一VOBU 431S的再現(xiàn)開始時(shí)間(VOBU_S_PTM)。
在在先單元和后繼單元能夠無(wú)縫再現(xiàn)時(shí)(無(wú)縫再現(xiàn)播放標(biāo)志=1),那么流分離單元107將在在先單元的最后一個(gè)VOBU 431L的再現(xiàn)結(jié)束時(shí)間(VOBU_E_PTM)t01,給每個(gè)基本解碼器(圖1中的視頻解碼器123、子圖像解碼器127和音頻解碼器130)發(fā)送偏移delta_PTM(大于0)。每個(gè)基本解碼器(圖1中的視頻解碼器123、子圖像解碼器127和音頻解碼器130)接下來(lái)比較從流分離單元107所接收的PTS和DTS與自身的時(shí)鐘(STC)減去接收時(shí)間的偏移delta_PTM(大于0)(STC=STC-delta_PTM),以便用于解碼和顯示。在該處理中,彼此同步地(正常)再現(xiàn)圖像和聲音。通過(guò)這種方式,經(jīng)簡(jiǎn)單地應(yīng)該時(shí)間偏移delta_PTM到每個(gè)基本解碼器,無(wú)縫連接跟隨在先VOBU的VOBU來(lái)再現(xiàn)設(shè)置將無(wú)縫播放標(biāo)志設(shè)置為“1”的VOBU。
返回到圖14,當(dāng)無(wú)縫播放標(biāo)志為“0”(在ST501中為是)時(shí),流分離單元107根據(jù)本發(fā)明的一個(gè)實(shí)施例執(zhí)行非無(wú)縫再現(xiàn)處理(ST502)。
圖17所示為當(dāng)時(shí)間戳不連續(xù)時(shí)的非無(wú)縫再現(xiàn)處理的流程圖。
流分離單元107讀取STC(ST702),當(dāng)STC增加超出old_VOBU_E_PTM時(shí)(在ST702中為是),檢驗(yàn)視頻緩沖器121、音頻緩沖器129和子圖像緩沖器126中的數(shù)據(jù)量(ST703),并確定再現(xiàn)在先單元的最后一個(gè)VOBU是否結(jié)束(ST704)。一旦結(jié)束再現(xiàn)最后一個(gè)VOBU,流分離單元107再次為視頻解碼器123、音頻解碼器130和子圖像解碼器127重置STC(ST705)。
圖18所示為無(wú)縫再現(xiàn)處理模式的圖。
在時(shí)間點(diǎn)t11,流分離單元107開始分析導(dǎo)航包441a,然后檢測(cè)在先單元的最后一個(gè)VOBU 431L的再現(xiàn)結(jié)束時(shí)間VOBU_E_PTM[i-1]不能與后繼單元的第一VOBU 431S的再現(xiàn)開始時(shí)間VOBU_S_PTM[i]相一致,以及無(wú)縫播放標(biāo)志寄存器R2為“0”,即未設(shè)置無(wú)縫再現(xiàn)。流分離單元107停止傳送操作P1周期,直到值STC達(dá)到VOBU_E_PTM[i-1]。
一旦在時(shí)間點(diǎn)t12上STC值達(dá)到VOBU_E_PTM[i-1],則表示結(jié)束再現(xiàn)視頻包442L。事實(shí)上,可能未結(jié)束再現(xiàn)音頻包和子圖像包,因此流分離單元107在時(shí)期P2檢驗(yàn)基本解碼器123、127、130的輸入緩沖器124、128、131的數(shù)據(jù)量,并一直等到結(jié)束再現(xiàn)在先單元的全部VOBU。當(dāng)確定在時(shí)間點(diǎn)t13結(jié)束再現(xiàn)在先單元的全部VOBU時(shí),流分離單元107重置STC并重啟包處理。在該處理中,流分離單元107使用例如后繼單元431S的第一I圖像(視頻包442S)的PTS值重置STC。在圖18中,在時(shí)間點(diǎn)t14開始再現(xiàn)音頻包442S。
在未設(shè)置為無(wú)縫再現(xiàn)的不連續(xù)流上執(zhí)行如圖16所示的無(wú)縫再現(xiàn)處理的情況下,當(dāng)發(fā)送delta_PTM時(shí),在時(shí)間點(diǎn)t01開始再現(xiàn)視頻包442S。由于再現(xiàn)在先VOBU的音頻包仍舊持續(xù)進(jìn)行,但是,在圖像和聲音之間出現(xiàn)間隙(偏移)。根據(jù)圖18所示的實(shí)施例,只在完成在先單元的最后一個(gè)VOBU 431L的全部包(視頻包、音頻包和子圖像包)再現(xiàn)之后(基本緩沖器124、128、131為空之后),才開始再現(xiàn)后繼單元的第一VOBU 431S。因此,彼此地同步再現(xiàn)圖像和聲音。由于不象現(xiàn)有技術(shù)那樣停止后級(jí)解碼器的操作或再次進(jìn)行光盤搜索,因此再現(xiàn)停止時(shí)間變得更短并且偽無(wú)縫連接成為可能。
返回到圖9,在步驟ST105中,當(dāng)下溢標(biāo)志寄存器R1為“0”時(shí),即在跟蹤緩沖器106中發(fā)生了下溢,因此流分離單元107執(zhí)行步驟ST109的下溢處理。
在DVD或視頻CD再現(xiàn)設(shè)備由于在平行雙層盤再現(xiàn)時(shí)的層復(fù)制(層切換)或抖動(dòng)而引起跟蹤緩沖器下溢時(shí),系統(tǒng)時(shí)鐘STC要提前。但是,由于缺少了要解碼的輸入數(shù)據(jù),STC和流的時(shí)間戳之間會(huì)產(chǎn)生大誤差。根據(jù)該實(shí)施例,即使在跟蹤緩沖器106發(fā)生下溢以及系統(tǒng)時(shí)鐘STC和流的時(shí)間戳之間產(chǎn)生巨大偏移的情況下,也能夠立即調(diào)整該時(shí)鐘。
圖19所示為下溢處理的流程圖。
流分離單元107校驗(yàn)跟蹤緩沖器106的數(shù)據(jù)量(ST801),并確定是否已經(jīng)存儲(chǔ)預(yù)定量的數(shù)據(jù)(ST802)。一旦在跟蹤緩沖器106中存儲(chǔ)了預(yù)定量的數(shù)據(jù),流分離單元107則檢驗(yàn)視頻緩沖器121、音頻緩沖器129和子圖像緩沖器126中的數(shù)據(jù)量(ST803)并確定是否結(jié)束了再現(xiàn)在先單元的最后一個(gè)VOBU(ST804)。在結(jié)束再現(xiàn)在先單元的最后一個(gè)VOBU時(shí),流分離單元107為視頻解碼器123、音頻解碼器130和子圖像解碼器127重置STC(ST805)。
圖20所示為下溢處理的圖。
在處理VOBU 431的過(guò)程中,流分離單元107在時(shí)間點(diǎn)t12檢測(cè)跟蹤緩沖器106的下溢,并設(shè)置下溢標(biāo)志寄存器R1為“1”。之后,流分離單元107從跟蹤緩沖器讀取數(shù)據(jù)并在隨后級(jí)中的每個(gè)基本解碼器的輸入緩沖器中寫入該數(shù)據(jù),直到檢測(cè)到下一個(gè)VOBU(圖20中的VOBU 431S)的頭部(導(dǎo)航包441a的包報(bào)頭)。在時(shí)間點(diǎn)t22,流分離單元107開始分析導(dǎo)航包441a,并檢測(cè)下溢標(biāo)志寄存器R1為“1”。流分離單元107在周期P3停止從跟蹤緩沖器106中讀取數(shù)據(jù)和在下一級(jí)的基本緩沖器124、128、131中寫入數(shù)據(jù),并且當(dāng)檢驗(yàn)跟蹤緩沖器106的數(shù)據(jù)量時(shí),等待累積預(yù)定量的數(shù)據(jù)。
在周期P4中,流分離單元107檢驗(yàn)基本解碼器的輸入緩沖器124、128、131的數(shù)據(jù)量,并等待在先VOBU 431L的再現(xiàn)結(jié)束。在時(shí)間點(diǎn)t23,流分離單元107重置STC并設(shè)置下溢標(biāo)志寄存器R1為“0”。在該處理中,流分離單元107例如使用后繼VOBU 431S的第一I圖像(視頻包442S)的PTS值來(lái)重置STC。在圖20中,在時(shí)間點(diǎn)t24開始再現(xiàn)視頻包442S。
如上所述,根據(jù)本實(shí)施例,即使在跟蹤緩沖器106發(fā)生下溢以及在系統(tǒng)時(shí)鐘STC和流的時(shí)間戳之間產(chǎn)生重大偏移的情況下,也能夠立即地調(diào)整時(shí)鐘。在以上描述中,MPEG2節(jié)目流的VOBU對(duì)應(yīng)于MPEG1系統(tǒng)流的GOP(圖像組)。圖21所示為MPEG1系統(tǒng)流的層結(jié)構(gòu)圖。在再現(xiàn)視頻CD等的MPEG1系統(tǒng)流中,通過(guò)將VOBU代替為GOP 502可應(yīng)用本發(fā)明。
對(duì)于本領(lǐng)域的普通技術(shù)人員而言將很容易獲得其他的優(yōu)點(diǎn)和修改。所以,本發(fā)明在更寬的范圍上不局限于這里所示和描述的具體細(xì)節(jié)和示意性實(shí)施例。因此,可以進(jìn)行各種修改而不背離如附屬權(quán)利要求及其等同物所定義的普遍發(fā)明原理的精神和范圍。
權(quán)利要求
1.一種音頻/視頻再現(xiàn)設(shè)備,其特征在于包括流分離單元,用于從由媒體讀取的MPEG流中分離出視頻流和音頻流;第一存儲(chǔ)單元,用于存儲(chǔ)流分離單元所分離的視頻流;第二存儲(chǔ)單元,用于存儲(chǔ)流分離單元所分離的音頻流;時(shí)鐘單元,用于提供操作的基準(zhǔn)時(shí)間;視頻解碼器,用于讀取第一存儲(chǔ)單元中所存儲(chǔ)的視頻流并通過(guò)基于時(shí)鐘單元上的值解碼視頻流來(lái)進(jìn)行再現(xiàn);以及音頻解碼器,用于讀取第二存儲(chǔ)單元中所存儲(chǔ)的音頻流并通過(guò)基于時(shí)鐘單元上的值解碼音頻流來(lái)進(jìn)行再現(xiàn),其中流分離單元包括確定單元,用于確定在所讀取MPEG流中的在先VOBU(視頻對(duì)象單元)和后繼VOBU之間的時(shí)間戳連續(xù)性;停止單元,用于在確定單元檢測(cè)到時(shí)間戳不連續(xù)性的情況下,停止在第一和第二存儲(chǔ)單元中寫入數(shù)據(jù)的操作,直到通過(guò)視頻解碼器和音頻解碼器再現(xiàn)第一和第二存儲(chǔ)單元中所存儲(chǔ)的在先VOBU結(jié)束為止;改變時(shí)鐘單元上的值的改變單元;以及重啟單元,用于當(dāng)再現(xiàn)所述在先VOBU完成時(shí),重啟在第一和第二存儲(chǔ)單元中寫入所述后繼VOBU及其之后的數(shù)據(jù)的操作。
2.根據(jù)權(quán)利要求1所述的音頻/視頻再現(xiàn)設(shè)備,特征在于,確定單元確定在先GOP(圖像組)和后繼GOP之間的時(shí)間戳連續(xù)性,停止單元停止在第一和第二存儲(chǔ)單元中寫入數(shù)據(jù)的操作,直到由視頻解碼器和音頻解碼器再現(xiàn)第一和第二存儲(chǔ)單元中所存儲(chǔ)的在先GOP以及對(duì)應(yīng)于該在先GOP的音頻數(shù)據(jù)結(jié)束為止,以及重啟單元在再現(xiàn)在先GOP和對(duì)應(yīng)于該在先GOP的音頻數(shù)據(jù)結(jié)束時(shí),重新啟動(dòng)在第一和第二存儲(chǔ)單元中寫入后繼GOP中的數(shù)據(jù)的操作。
3.根據(jù)權(quán)利要求1所述的音頻/視頻再現(xiàn)設(shè)備,特征在于,改變單元根據(jù)后繼VOBU的第一I圖像的PTS(顯示時(shí)間戳)來(lái)改變時(shí)鐘單元上的值。
4.根據(jù)權(quán)利要求1所述的音頻/視頻再現(xiàn)設(shè)備,特征在于,流分離單元還包括一個(gè)單元,它接收指示是否能夠?yàn)榫哂幸曨l和音頻流的時(shí)間不連續(xù)性的MPEG流無(wú)縫連接視頻和音頻流的無(wú)縫信息,并確定是否能夠無(wú)縫連接該流,以及在能夠無(wú)縫連接該流時(shí),則無(wú)縫連接該流,并且當(dāng)不能無(wú)縫連接該流時(shí),使用停止單元、改變單元和重啟單元連接該流。
5.根據(jù)權(quán)利要求1所述的音頻/視頻再現(xiàn)設(shè)備,特征在于還包括一個(gè)存儲(chǔ)從媒體中讀取的MPEG流的第三存儲(chǔ)單元,其中流分離單元包括讀取在第三存儲(chǔ)單元中所存儲(chǔ)的MPEG流的單元;一個(gè)單元,用于在再現(xiàn)MPEG流的過(guò)程中檢測(cè)到第三存儲(chǔ)單元的下溢的情況下,從第三存儲(chǔ)單元讀取數(shù)據(jù)并在隨后級(jí)的第一和第二存儲(chǔ)單元中寫入數(shù)據(jù),直到檢測(cè)到后繼VOBU的頭部;一個(gè)單元,用于當(dāng)檢測(cè)到后繼VOBU的頭部時(shí),停止從第三存儲(chǔ)單元讀取數(shù)據(jù)并在隨后級(jí)的第一和第二存儲(chǔ)單元中寫入數(shù)據(jù)的操作,并確認(rèn)在第三存儲(chǔ)單元中累積預(yù)定量數(shù)據(jù)和再現(xiàn)在第一和第二存儲(chǔ)單元中寫入的在先VOBU結(jié)束;以及一個(gè)單元,用于在完成在先VOBU的再現(xiàn)之后,重啟從第三存儲(chǔ)單元讀取數(shù)據(jù)并在第一和第二存儲(chǔ)單元中寫入數(shù)據(jù)的操作,同時(shí)改變時(shí)鐘單元上的值。
6.根據(jù)權(quán)利要求5所述的音頻/視頻再現(xiàn)設(shè)備,特征在于流分離單元包括一個(gè)單元,用于當(dāng)檢測(cè)到第三存儲(chǔ)單元的下溢時(shí),在檢測(cè)后繼GOP的頭部之前確認(rèn)在第三存儲(chǔ)單元中累積預(yù)定量數(shù)據(jù)以及再現(xiàn)在第一和第二存儲(chǔ)單元中寫入的在先GOP和對(duì)應(yīng)于在先GOP的音頻數(shù)據(jù)結(jié)束;以及一個(gè)單元,用于在再現(xiàn)在先GOP和對(duì)應(yīng)于在先GOP的音頻數(shù)據(jù)結(jié)束之后,重新啟動(dòng)從第三存儲(chǔ)單元讀取數(shù)據(jù)和在第一和第二存儲(chǔ)單元中寫入數(shù)據(jù)的操作,并改變時(shí)鐘單元上的值。
7.一種音頻/視頻再現(xiàn)方法,特征在于包括從由媒體讀取的MPEG流中分離出視頻流和音頻流;在第一存儲(chǔ)單元中存儲(chǔ)讀取的視頻流;在第二存儲(chǔ)單元中存儲(chǔ)讀取的音頻流;使用時(shí)鐘單元來(lái)提供操作的基準(zhǔn)時(shí)間;讀取第一存儲(chǔ)單元中所存儲(chǔ)的視頻流并通過(guò)基于時(shí)鐘單元上的值使用視頻解碼器解碼視頻流來(lái)進(jìn)行再現(xiàn);以及讀取第二存儲(chǔ)單元中所存儲(chǔ)的音頻流并通過(guò)基于時(shí)鐘單元上的值使用音頻解碼器解碼音頻流來(lái)進(jìn)行再現(xiàn),所述流分離步驟還包括確定在從媒體讀取的MPEG流中的在先VOBU(視頻對(duì)象單元)和后繼VOBU之間的時(shí)間戳連續(xù)性;在檢測(cè)到時(shí)間戳不連續(xù)性的情況下,停止在第一和第二存儲(chǔ)單元中寫入數(shù)據(jù)的操作,直到通過(guò)視頻解碼器和音頻解碼器再現(xiàn)第一和第二存儲(chǔ)單元中所存儲(chǔ)的在先VOBU結(jié)束為止;改變時(shí)鐘單元上的值;以及當(dāng)完成所述在先VOBU的再現(xiàn)時(shí),重啟在第一和第二存儲(chǔ)單元中寫入所述后繼VOBU及其之后的數(shù)據(jù)的操作。
全文摘要
公開了一種音頻/視頻再現(xiàn)設(shè)備。流分離單元(107)當(dāng)檢測(cè)到在從媒體(100)所讀取的MPEG流中間的在先VOBU和后繼VOBU之間時(shí)間戳的不連續(xù)性時(shí),停止在基本緩沖器中寫入數(shù)據(jù),直到由基本解碼器(123、127、129)完成再現(xiàn)基本緩沖器(124、128、131)中所存儲(chǔ)的在先VOBU(ST703、ST704)。在結(jié)束再現(xiàn)在先的VOBU時(shí),流分離單元(107)改變系統(tǒng)時(shí)鐘STC的值(ST705),同時(shí)重新啟動(dòng)在每個(gè)基本緩沖器中寫入后繼VOB的數(shù)據(jù)和接下來(lái)的數(shù)據(jù)。
文檔編號(hào)H04N9/804GK1627416SQ20041009589
公開日2005年6月15日 申請(qǐng)日期2004年11月26日 優(yōu)先權(quán)日2003年11月28日
發(fā)明者鈴木信幸 申請(qǐng)人:株式會(huì)社東芝