專利名稱:從經(jīng)壓縮的正常播放圖像比特流中建立特技播放圖像流的系統(tǒng)和方法
技術(shù)領(lǐng)域:
本發(fā)明全面地引用了稱為ISO/IEC 13818的ISO/IEC MPEG規(guī)范,該規(guī)范列作本發(fā)明的參考。
本發(fā)明屬于點(diǎn)播電視系統(tǒng)和圖像壓縮技術(shù)領(lǐng)域。具體地說,本發(fā)明涉及從一個(gè)正常播放的經(jīng)壓縮的圖像比特流中建立經(jīng)壓縮的快進(jìn)和快退圖像比特流的方法和系統(tǒng)。
點(diǎn)播電視系統(tǒng)能使許多用戶或觀眾有選擇地觀看存儲在一個(gè)或多個(gè)電視服務(wù)器或媒體服務(wù)器上的電影或其他聲/像節(jié)目。電視服務(wù)器通過諸如廣播網(wǎng)之類的數(shù)據(jù)傳送信道接至各用戶。例如,電視服務(wù)器可以通過電纜廣播系統(tǒng)或衛(wèi)星廣播系統(tǒng)接至各用戶。電視服務(wù)器存有大量的電影或其他聲/像節(jié)目,每個(gè)用戶可以從中選擇一個(gè)或多個(gè)電影進(jìn)行觀看。每個(gè)用戶有一個(gè)電視機(jī)或其他觀看裝置以及相應(yīng)的解碼邏輯,以便選擇和觀看所要觀看的電影。當(dāng)一個(gè)用戶選擇某個(gè)電影時(shí),所選的電影就通過數(shù)據(jù)傳送信道之一傳送給這個(gè)用戶的電視機(jī)。
全運(yùn)動數(shù)字圖像需要大的存儲容量和傳輸帶寬。因此,點(diǎn)播電視系統(tǒng)采用各種圖像壓縮算法來減小必需的存儲容量和傳輸帶寬。通常,對于靜止圖形圖像和全運(yùn)動圖像所采用的圖像壓縮方法是不同的。靜止圖形圖像或單個(gè)圖像幀的圖像壓縮方法稱為幀內(nèi)壓縮方法,而運(yùn)動圖像的壓縮方法稱為幀間壓縮方法。
靜止圖形圖像的圖像數(shù)據(jù)壓縮的例子有RLE(行程長編碼)和JPEG(聯(lián)合圖象專家組)壓縮。RLE壓縮方法對比特圖的單行中重復(fù)的像素進(jìn)行測試,存儲的是連續(xù)重復(fù)像素的個(gè)數(shù)而不是像素本身的數(shù)據(jù)。JPEG壓縮是一組有關(guān)標(biāo)準(zhǔn),提供無損(無圖像質(zhì)量退化)或有損(察覺不到有嚴(yán)重退化)的壓縮方式。雖然JPGE壓縮原來是為壓縮靜止圖像而不是運(yùn)動圖像設(shè)計(jì)的,但JPEG壓縮也用于某些運(yùn)動圖像的壓縮。
與靜止圖像壓縮算法相反,大多數(shù)運(yùn)動圖像壓縮算法是為壓縮全運(yùn)動圖像設(shè)計(jì)的。運(yùn)動圖像的圖像壓縮算法利用了一個(gè)稱為幀間壓縮的概念,在數(shù)據(jù)文件中只存儲相繼幀之間的差別。幀間壓縮通常以適度壓縮的格式存儲關(guān)鍵幀或基準(zhǔn)幀的整幅圖像。后繼幀與關(guān)鍵幀加以比較后,可只將關(guān)鍵幀與后繼幀之差存儲起來。周期性地,如在顯示新場景時(shí),存儲新關(guān)鍵幀,再從這個(gè)新的基準(zhǔn)點(diǎn)開始相繼進(jìn)行比較。應(yīng)注意的是,幀間壓縮比可以保持恒定,但圖像質(zhì)量就不是恒定的?;蛘撸瑤g壓縮比可以是與內(nèi)容有關(guān)的,也就是說如果要壓縮的運(yùn)動圖像含有許多從一個(gè)圖像到另一個(gè)圖像場景變化很大的突然轉(zhuǎn)換,那么壓縮比就要小一些。采用幀間壓縮技術(shù)的圖像壓縮有MPEG、DVI、Indo等。MPEG技術(shù)背景稱為MPEG(運(yùn)動圖像專家組)壓縮的壓縮標(biāo)準(zhǔn)是一組采用上述幀間壓縮技術(shù)對全運(yùn)動圖像進(jìn)行壓縮和解壓縮的方法。MPEG壓縮利用了運(yùn)動補(bǔ)償和離散余弦變損(DCT)處理,壓縮比可以達(dá)到200∶1以上。
MPEG壓縮要求伴音與圖像數(shù)據(jù)同時(shí)錄取,圖像和伴音數(shù)據(jù)交織在單個(gè)文件內(nèi),以保證在播放期間圖像和伴音同步。伴音數(shù)據(jù)通常也是壓縮的,MPEG標(biāo)準(zhǔn)規(guī)定了一種伴音壓縮方法,諸如MPEG LayerⅡ,Philips商標(biāo)名為“MUSICAN”。
在大多數(shù)的圖像序列中,背景保持相對穩(wěn)定,而行動發(fā)生在前景中。背景可以運(yùn)動,但在一個(gè)圖像序列中的相繼幀的大部分是冗余的。在產(chǎn)生MPEG流的過程中,MPEG編碼器產(chǎn)生一系列I(幀內(nèi)編碼)幀、P(預(yù)測)幀和B(雙向內(nèi)插)幀。I幀含有整幀圖像的圖像數(shù)據(jù),通常每10至15幀有一個(gè)I幀。P幀僅包括相對上一幀(I幀或P幀)的變化。I幀和P幀都用作下一幀的基準(zhǔn)幀。通常,在一個(gè)I幀或P幀后的幀(也就是基準(zhǔn)幀后的幀)只有少部分與基準(zhǔn)幀的相應(yīng)部分有所不同。因此,對于這些幀來說,只要獲取差值加以壓縮和存儲。
建立了I幀后,MPEG編碼器將每個(gè)I幀劃分成稱為宏塊的一些16×16像素的正方形,構(gòu)成一個(gè)網(wǎng)格。各I幀劃分成宏塊是為了進(jìn)行運(yùn)動補(bǔ)償。每個(gè)I幀后的后繼畫面也劃分成這樣的一些宏塊。然后,編碼器對基準(zhǔn)畫面宏塊與在相應(yīng)后繼畫面中的那些宏塊之間的精確或接近精確匹配的進(jìn)行搜索。如果發(fā)現(xiàn)一個(gè)匹配點(diǎn),就產(chǎn)生一個(gè)向量位移碼或運(yùn)動向量。向量位移碼或運(yùn)動向量只包括I幀與相應(yīng)后繼畫面之間的差別的信息。后繼畫面中相對基準(zhǔn)畫面或I幀中的宏塊沒有改變的那些宏塊不予處理。因此,對于這些幀實(shí)際存儲的數(shù)據(jù)量就大大減少。
產(chǎn)生運(yùn)動向量后,編碼器就利用空間冗余性跟蹤這些變化。因此,在發(fā)現(xiàn)宏塊位置變化后,MPEG算法通過反映相應(yīng)宏塊之間的差別進(jìn)一步減少數(shù)據(jù)。這是通過一個(gè)稱為離散余弦變換(DCT)的匹配過程來實(shí)現(xiàn)的。這個(gè)過程將宏塊分成四個(gè)子塊,找出在彩色和亮度上的變化。由于人對亮度變化比彩色變化更為敏感,因此MPEG算法對色彩空間的壓縮要比亮度更為大一些。
一個(gè)MPEG流包括三種畫面,分別稱為幀內(nèi)編碼(I)幀、預(yù)測(P)幀和雙向內(nèi)插(B)幀。幀內(nèi)編碼幀提供隨機(jī)接入文件的入口點(diǎn),通常只受到適度壓縮。預(yù)測幀以上一幀(即上一個(gè)幀內(nèi)編碼幀或預(yù)測幀)為基準(zhǔn)編碼。通常,預(yù)測幀受到較大壓縮,用作后繼預(yù)測幀的基準(zhǔn)。雙向內(nèi)插畫面受到壓縮最大,編碼需要利用前一個(gè)和后一個(gè)基準(zhǔn)幀。雙向內(nèi)插幀從不用作其他幀的基準(zhǔn)幀。
每個(gè)畫面或幀還包括一個(gè)標(biāo)識本幀的畫面標(biāo)題以及本幀的信息。MPEG標(biāo)準(zhǔn)還包括一些各標(biāo)識一個(gè)圖像序列的起點(diǎn)的序列標(biāo)題。序列標(biāo)題只在一個(gè)圖像序列開始前需要。然而,MPEG-2標(biāo)準(zhǔn)允許在任何I幀或P幀前傳輸一個(gè)序列標(biāo)題。序列標(biāo)題包括與圖像序列有關(guān)的信息,如幀速率和畫面大小及其他信息。
在數(shù)字電視應(yīng)用中所用的MPEG比特流通常在每個(gè)I幀和P幀前有一個(gè)序列標(biāo)題。這有利于滿足一個(gè)重要的用戶要求--在不同的電視信道之間進(jìn)行信道掃視(channel surfing)。通常,在用戶切換到一個(gè)新的信道時(shí),這個(gè)新信道上的圖像一直要到比特流中的下一個(gè)序列標(biāo)題出現(xiàn)時(shí)才能顯示。這是因?yàn)樾蛄袠?biāo)題中含有解碼器所需的有關(guān)這個(gè)圖像序列的重要信息。如果在每個(gè)I幀和/或P幀前沒有一個(gè)序列標(biāo)題,那么在用戶切換到一個(gè)新的信道時(shí),這個(gè)新信道上的圖像就不能立即顯示,也就是說要到下一個(gè)序列標(biāo)題到來后才能顯示。
一個(gè)MPEG流還包括用來對MPEG比特流中的I幀進(jìn)行解碼的加權(quán)矩陣。每個(gè)加權(quán)矩陣包括一個(gè)由作用于用來對幀進(jìn)行編碼的離散余弦變換(DCT)的不同參數(shù)的系數(shù)構(gòu)成的矩陣。在每個(gè)圖像序列的開始處有新加權(quán)矩陣值,這些值用于后繼各幀,直至MPEG流中出現(xiàn)下一個(gè)新加權(quán)矩陣。加權(quán)矩陣通常包含在序列標(biāo)題或畫面標(biāo)題內(nèi)。然而,加權(quán)矩陣也可以插在P幀或B幀內(nèi)。特技播放流在交互式點(diǎn)播電視系統(tǒng)中,用戶非常希望在觀看電影的過程中能有選擇地快進(jìn)和/或快退。因此,有些電視點(diǎn)播系統(tǒng)為每個(gè)電影備有稱為特技播放流的快進(jìn)和快退流。在用戶希望使電影快進(jìn)或快退時(shí),選擇快進(jìn)或快退選項(xiàng)。于是,就將相應(yīng)的快進(jìn)或快退特技播放流從用戶剛才觀看點(diǎn)開始傳送給用戶,從而模擬正在觀看的電影的快進(jìn)或快退。
含有特技播放流的交互式點(diǎn)播電視系統(tǒng)需要有從正常播放比特流中產(chǎn)生特技播放流的方法?,F(xiàn)有的一種從正常播放比特流中產(chǎn)生快進(jìn)和快退比特流的方法利用了一個(gè)植入多比特流中的查找表。查找表中列有一系列注明各I幀位置的索引,而圖像服務(wù)器要跳轉(zhuǎn)到逐個(gè)索引上,每次跳轉(zhuǎn)就只播放相應(yīng)的I幀。也就是說,圖像服務(wù)器參照查找表只播放I幀,形成快進(jìn)和快退特技播放流。這種方法的一個(gè)問題是,在請求快進(jìn)或快退時(shí)需要執(zhí)行表查找和跳轉(zhuǎn)到逐個(gè)索引上,從而大大加重了圖像服務(wù)器的負(fù)擔(dān)。此外,這種方法還具有與比特率增大有關(guān)的一系列問題。
另一種已知方法播放的快進(jìn)和快退比特流的已知方法是產(chǎn)生一個(gè)不包括DCT的AC系數(shù)而只包括DC系數(shù)的圖像流。這會產(chǎn)生一個(gè)馬賽克形的特技播放流,因此不如其他的特技播放流的產(chǎn)生方法。
所以,希望有一種改善的系統(tǒng)和方法,能有效地從經(jīng)壓縮的正常播放比特流中產(chǎn)生特技播放的圖像流,也就是快進(jìn)和快退的圖像流。
本發(fā)明提出了一種從一個(gè)經(jīng)壓縮的正常播放比特流中產(chǎn)生特技播放圖像流(即快進(jìn)和快退圖像流)的系統(tǒng)和方法。本發(fā)明有效地產(chǎn)生滿足降低對存儲和數(shù)據(jù)傳輸帶寬的要求的經(jīng)壓縮的特技播放圖像流。此外,本發(fā)明也不要求對圖像數(shù)據(jù)進(jìn)行諸如索引查找那樣的實(shí)時(shí)處理。
本發(fā)明的系統(tǒng)首先接收一個(gè)經(jīng)壓縮的正常播放比特流,可以是存儲在本地媒體上的,也可以是從遠(yuǎn)地接收的。然后,系統(tǒng)通過只提取和保存這個(gè)比特流的一些部分來過濾比特流。系統(tǒng)最好從MPEG比特流中提取各個(gè)I幀和序列標(biāo)題,包括所有的加權(quán)矩陣,將這些信息存入一個(gè)或多個(gè)新的文件。因此,這種過濾就濾除了MPEG數(shù)據(jù)流中的一些部分,包括各預(yù)測(P)幀和雙向內(nèi)插(B)幀。
然后,系統(tǒng)將經(jīng)過濾的數(shù)據(jù)匯編或重排成成正向順序或反向順序,產(chǎn)生一個(gè)單比特流。系統(tǒng)還保證各加權(quán)矩陣與相應(yīng)I幀正確對應(yīng)。對于快進(jìn)特技播放流來說,匯編后的比特流包括各序列標(biāo)題、I幀和相應(yīng)加權(quán)矩陣,它們的時(shí)間或先后順序與在原MPEG流中的相同。對于快退特技播放比特流來說,系統(tǒng)顛倒各標(biāo)題/I幀元組的先后順序,形成一個(gè)倒放流。這樣就產(chǎn)生了一個(gè)包括一系列序列標(biāo)題和I幀以及相應(yīng)的加權(quán)矩陣的匯編比特流。
接著,通過對匯編比特流進(jìn)行MPEG-2解碼,產(chǎn)生一個(gè)新的圖像流。這個(gè)新圖像流只包括原來經(jīng)壓縮的正常播放比特流的每X個(gè)畫面或幀的一個(gè)幀,其中1/X為在原經(jīng)壓縮的正常播放流中的I幀的頻率。然后,這個(gè)輸出的圖像流用為特技播放流所需的MPEG參數(shù)重新編碼,從而產(chǎn)生一個(gè)特技播放流,這是一個(gè)真正的MPEG編碼流。這個(gè)新的MPEG編碼的特技播放流在解碼后就形成一個(gè)快進(jìn)或快退圖像序列,這個(gè)序列只包括原未經(jīng)壓縮的正常播放比特流中的每X個(gè)幀的一個(gè)幀。
因此,本發(fā)明能更為有效地從一個(gè)經(jīng)壓縮的正常播放比特流中產(chǎn)生特技播放流。所得到的特技播放流是一個(gè)真正的MPEG編碼流,因此滿足減小存儲容量和數(shù)據(jù)傳輸帶寬的要求,這種特技播放流可用任何MPEG解碼器解碼。
通過參照以下結(jié)合附圖對優(yōu)選實(shí)施例的詳細(xì)說明就可對本發(fā)明有更深入的理解。在這些附圖中
圖1示出了一個(gè)能按照本發(fā)明產(chǎn)生圖像特技播放流的計(jì)算機(jī)系統(tǒng);圖1A為圖1所示計(jì)算機(jī)系統(tǒng)的方框圖2為示出本發(fā)明的工作情況的流程圖;圖3為示出圖2中的過濾器的工作情況的流程圖;圖4為示出圖2中的檢驗(yàn)/匯編器的工作情況的流程圖;圖5為示出本發(fā)明的另一個(gè)實(shí)施例的工作情況的流程圖;以及圖6a-6c為按照本發(fā)明產(chǎn)生反白特技播放流的優(yōu)選實(shí)施例的流程圖。
圖1所示為一個(gè)從一個(gè)經(jīng)壓縮的正常播放比特流中產(chǎn)生特技播放圖像流的系統(tǒng)。這個(gè)系統(tǒng)可以產(chǎn)生用于點(diǎn)播電視系統(tǒng)的特技播放流。然而,本發(fā)明的這個(gè)系統(tǒng)按需要也可用來產(chǎn)生用于各種應(yīng)用的特技播放流。
如圖所示,在一個(gè)實(shí)施例中,特技播放產(chǎn)生系統(tǒng)包括一個(gè)通用計(jì)算機(jī)系統(tǒng)60。計(jì)算機(jī)系統(tǒng)60接收到一個(gè)經(jīng)壓縮的正常播放比特流后產(chǎn)生一個(gè)或多個(gè)特技播放流。在本說明中,所謂“特技播放流”是指快進(jìn)和/或快退圖像流,特別是經(jīng)壓縮的圖像流,它們是從一個(gè)正常播放的比特流,特別是從一個(gè)經(jīng)壓縮的正常播放的比特流中產(chǎn)生的。
計(jì)算機(jī)系統(tǒng)60最好包括各種標(biāo)準(zhǔn)的組成部分,如一個(gè)或多個(gè)處理器、一個(gè)或多個(gè)總線、一個(gè)硬盤驅(qū)動器和存儲器。圖1A示出了圖1所示的計(jì)算機(jī)系統(tǒng)中的各組成部分的方框圖。應(yīng)指出的是,圖1A只是例示性的,按需要也可使用其他計(jì)算機(jī)體系結(jié)構(gòu)。如圖所示,計(jì)算機(jī)系統(tǒng)包括至少一個(gè)處理器80,通過芯片組邏輯82與系統(tǒng)存儲器84相連。芯片組82最好包括一個(gè)PCI(外圍部件互連)橋,用來與PCI總線86對接。MPEG解碼器74和MPEG編碼器76示為與PCI總線86連接。在另一種實(shí)施方式中,MPEG解碼和編碼用軟件實(shí)現(xiàn)。各種其他部件,如圖像卡88和硬盤驅(qū)動器90,可以包括在計(jì)算機(jī)系統(tǒng)內(nèi)。
再來看圖1。在這個(gè)優(yōu)選實(shí)施例中,計(jì)算機(jī)系統(tǒng)60包括或接至一個(gè)或多個(gè)數(shù)字存儲或媒體存儲裝置。例如,在圖1所示實(shí)施例中,計(jì)算機(jī)系統(tǒng)60通過電纜64接至一個(gè)媒體存儲單元62。媒體存儲單元62包括一個(gè)或多個(gè)CD-ROM和/或一個(gè)或多個(gè)數(shù)字視盤(DVD)存儲單元,用來存儲數(shù)字圖像。計(jì)算機(jī)系統(tǒng)還可以包括一個(gè)或多個(gè)內(nèi)部的CD-ROM驅(qū)動器,或者可以接至一個(gè)或多個(gè)分開的數(shù)字視盤(DVD)存儲單元。計(jì)算機(jī)系統(tǒng)60也可以按需要與其他類型的數(shù)字或模擬存儲裝置連接。
經(jīng)壓縮的正常播放比特流可以是存儲在諸如CD-ROM或數(shù)字視盤(DVD)那樣的存儲媒體上的。在這個(gè)實(shí)施例中,存有經(jīng)壓縮的正常播放比特流的存儲媒體插入含于或接至計(jì)算機(jī)系統(tǒng)60的相應(yīng)存儲裝置,由計(jì)算機(jī)系統(tǒng)60從存儲媒體讀出經(jīng)壓縮的正常播放比特流。例如,經(jīng)壓縮的正常播放比特流可以存儲在一個(gè)CD-ROM上,這個(gè)CD-ROM插入媒體存儲單元62或計(jì)算機(jī)系統(tǒng)60后,計(jì)算機(jī)系統(tǒng)60就能讀出這個(gè)經(jīng)壓縮的正常播放比特流。此外,經(jīng)壓縮的正常播放比特流也可以存儲在一個(gè)DVD上,由計(jì)算機(jī)系統(tǒng)60從DVD讀出。
或者,經(jīng)壓縮的正常播放比特流也可以是從一個(gè)諸如遠(yuǎn)地存儲裝置或遠(yuǎn)地計(jì)算機(jī)系統(tǒng)的外部源接收到的。在這種實(shí)施方式中,計(jì)算機(jī)系統(tǒng)最好包括一個(gè)用來接收經(jīng)壓縮的正常播放比特流的輸入裝置,如ATM(異步傳輸模式)適配卡或ISDN(綜合業(yè)務(wù)數(shù)字網(wǎng))終端適配器,或者其他數(shù)字?jǐn)?shù)據(jù)接收器。經(jīng)壓縮的正常播放比特流也可以在計(jì)算機(jī)系統(tǒng)60外或內(nèi)存儲或以模擬形式接收再變換成數(shù)字?jǐn)?shù)據(jù)。
如上所述,計(jì)算機(jī)系統(tǒng)60從一個(gè)經(jīng)壓縮的正常播放比特流中產(chǎn)生特技播放圖像流。如下面還要詳細(xì)說明的那樣,計(jì)算機(jī)系統(tǒng)60執(zhí)行過濾和檢驗(yàn)/匯編以及MPEG-2解碼和編碼這些功能。在這個(gè)優(yōu)選實(shí)施例中,過濾和檢驗(yàn)/匯編功能由計(jì)算機(jī)系統(tǒng)60用軟盤72提供的軟件執(zhí)行。在另一個(gè)實(shí)施例中,計(jì)算機(jī)系統(tǒng)60包括執(zhí)行過濾和/或檢驗(yàn)/匯編功能的專用硬件。
在圖1的實(shí)施例中,計(jì)算機(jī)系統(tǒng)60更為可取地配置了一個(gè)硬件MPEG(MPEG-2)解碼卡74和一個(gè)硬件MPEG(MPEG-2)編碼卡76。MPEG解碼卡74和MPEG編碼卡76都有一個(gè)接至計(jì)算機(jī)系統(tǒng)內(nèi)的總線的適配卡,但在圖1中為了清楚起見將卡74和76在計(jì)算機(jī)系統(tǒng)60外單獨(dú)示出。MPEG解碼器和/或MPEG編碼器也可以配置在計(jì)算機(jī)系統(tǒng)60外。在另一個(gè)實(shí)施例中,計(jì)算機(jī)系統(tǒng)60用軟盤72上的軟件來執(zhí)行MPEG解壓縮和/或MPEG壓縮。在這樣的實(shí)施例中,計(jì)算機(jī)系統(tǒng)60就不需要配置硬件的MPEG解碼器或MPEG編碼器。
應(yīng)該指出的是,產(chǎn)生特技播放圖像流的系統(tǒng)可以按需要包括兩個(gè)或更多個(gè)互連的計(jì)算機(jī)。產(chǎn)生特技播放圖像流的系統(tǒng)也可以包括專用硬件,無論是單獨(dú)的還是結(jié)合通用可編程計(jì)算機(jī)使用的。還應(yīng)該指出的是,按需要可以采用任何類型的系統(tǒng)根據(jù)本發(fā)明產(chǎn)生特技播放圖像流。流程2所示為例示本發(fā)明工作情況的流程圖。如圖所示,本發(fā)明包括過濾操作102、檢驗(yàn)/匯編操作104、MPEG-2解碼操作106和MPEG-2編碼操作108。如上所述,這些操作可以按需要用硬件或軟件實(shí)現(xiàn)。
如圖所示,本發(fā)明的系統(tǒng)接收正常播放比特流。正常播放比特流是一個(gè)圖像數(shù)據(jù)比特流,用來在諸如電視機(jī)或計(jì)算機(jī)系統(tǒng)之類的屏幕上顯示一個(gè)圖像序列,如一段電視節(jié)目或電影。在這個(gè)優(yōu)選實(shí)施例中,正常播放比特流是一個(gè)經(jīng)壓縮的比特流。經(jīng)壓縮的正常播放比特流最好是一個(gè)經(jīng)MPEG壓縮的比特流,特別是一個(gè)經(jīng)MPEG-1或MPEG-2壓縮的比特流。如果需要的話,也可以使用其他類型的壓縮。
如圖所示,本發(fā)明包括一個(gè)稱為“I畫面、序列標(biāo)題過濾器”的過濾器102,用來對經(jīng)壓縮的比特流進(jìn)行過濾。過濾器102僅保存比特流的一些部分,也就是濾除掉MPEG數(shù)據(jù)流的一些部分。確切地說,過濾器102從MPEG比特流中提取各I幀和序列標(biāo)題以及所有加權(quán)矩陣,將這些信息存入一個(gè)新文件。因此,過濾器102濾除了I幀、序列標(biāo)題和加權(quán)矩陣以外的所有MPEG圖像數(shù)據(jù)。因此過濾器102濾除了MPEG數(shù)據(jù)流中的包括預(yù)測(P)幀和雙向內(nèi)插(B)幀在內(nèi)的一些部分。
如前面所述,一個(gè)MPEG編碼比特流包括一系列幀內(nèi)編碼的I幀和一系列幀間編碼的B幀和P幀。I幀各含有整幀圖像的圖像數(shù)據(jù),周期性地列在序列內(nèi)。P幀和B幀含有相對上一幀或下一幀的變化的信息。每個(gè)畫面或幀還包括標(biāo)識本幀的畫面標(biāo)題和本幀的信息。一個(gè)MPEG編碼比特流還包括一個(gè)或多個(gè)序列標(biāo)題,含有一定的有關(guān)本圖像序列的信息,包括幀速率和畫面大小以及其他信息。
一個(gè)MPEG編碼流還包括一些加權(quán)矩陣,用來從MPEG比特流中的DCT系數(shù)恢復(fù)像素值。每個(gè)加權(quán)矩陣包括一個(gè)系數(shù)矩陣,這些系數(shù)施加到在對幀進(jìn)行編碼中所用的不同的離散余弦變換(DCT)參數(shù)上。在解碼器中,矩陣在每個(gè)圖像序列的開始處重新初始化,這些系數(shù)值用于MPEG流中出現(xiàn)下一個(gè)新加權(quán)矩陣以前的各幀。應(yīng)該注意的是,一個(gè)MPEG編碼流包括幀間矩陣和幀內(nèi)矩陣。特技播放產(chǎn)生系統(tǒng)在產(chǎn)生特技播放流中只利用幀內(nèi)矩陣。
加權(quán)矩陣通常包含在各I幀的畫面標(biāo)題內(nèi)或包含在相應(yīng)I幀前的序列標(biāo)題內(nèi)。然而,在有些情況下,相應(yīng)I幀的加權(quán)矩陣可以不包含在I幀畫面標(biāo)題或序列標(biāo)題內(nèi),而是包含在前面一個(gè)P幀或B幀內(nèi)。也就是說,在有些情況下,一個(gè)相應(yīng)I幀的加權(quán)矩陣中的各系數(shù)的新值可以包含在前面一個(gè)P幀或B幀內(nèi)。這發(fā)生在這個(gè)P幀或B幀含有一個(gè)或多個(gè)用一個(gè)I幀語法編碼的宏塊的場合。因此,過濾器102要對P幀和B幀進(jìn)行檢查,找出加權(quán)矩陣,存儲起來供檢驗(yàn)/匯編塊104使用。
如圖所示,過濾器102向檢驗(yàn)/匯編器104提供一個(gè)包括MPEG流的一些部分的存儲輸出。檢驗(yàn)/匯編器104將過濾器102產(chǎn)生的數(shù)據(jù)匯編或整理成一個(gè)單比特流。檢驗(yàn)匯編器104將存儲的數(shù)據(jù)以適當(dāng)順序匯編或鏈接,產(chǎn)生一個(gè)編匯比特流。檢驗(yàn)/匯編器104利用過濾器102提供的信息來保證各序列標(biāo)題與相應(yīng)I幀對應(yīng)。
檢驗(yàn)/匯編器104還保證在比特流中,諸如在一個(gè)P幀或B幀中,發(fā)現(xiàn)的加權(quán)矩陣包含在相應(yīng)的比特流內(nèi),并且與相應(yīng)I幀正確對應(yīng)。也就是說,檢驗(yàn)匯編器104還保證加權(quán)矩陣或量化矩陣的變化正確地結(jié)合入新的匯編比特流內(nèi)。在這個(gè)優(yōu)選實(shí)施例中,檢驗(yàn)/匯編器104為在P幀和B幀中發(fā)現(xiàn)的加權(quán)矩陣建立新的序列標(biāo)題,再將這些新的序列標(biāo)題與正確的I幀串聯(lián)。
對于一個(gè)快進(jìn)特技播放流來說,匯編比特流包括各序列標(biāo)題、I幀和相應(yīng)加權(quán)矩陣,它們的時(shí)間或先后順序與在原MPEG流中的相同。對于一個(gè)快退特技播放比特流序列來說,檢驗(yàn)/匯編器104顛倒各序列標(biāo)題/I幀元組的先后順序,形成一個(gè)倒放序列。因此,檢驗(yàn)/匯編器104還以顛倒先后順序方式重新對各序列標(biāo)題/I幀元組排序,保證各矩陣與相應(yīng)I幀對應(yīng)。
這樣,檢驗(yàn)/匯編器104的輸出是一個(gè)包括一系列序列標(biāo)題和I幀的匯編比特流。因此,檢驗(yàn)/匯編器104產(chǎn)生了是一個(gè)真正MPEG編碼流的合成比特流。
這個(gè)輸出的匯編比特流送至解碼塊106,最好是MPEG-2解碼塊106。MPEG-2解碼塊106對匯編比特流(即各I幀)進(jìn)行,產(chǎn)生一個(gè)新的圖像序列。這個(gè)新圖像序列是一個(gè)無壓縮的序列,只包括原未經(jīng)壓縮的正常播放流中每X個(gè)畫面的一個(gè)畫面。因此,如果原正常播放比特流中I幀的頻率是每X個(gè)幀一幀,那么新圖像序列就只包括原未經(jīng)壓縮的正常播放比特流中每X個(gè)畫面或幀的一個(gè)畫面。例如,如果在過濾器的輸入端接收的原經(jīng)MPEG-2壓縮的比特流中每7個(gè)幀有一個(gè)I幀,那么MPEG-2解碼塊106就產(chǎn)生一個(gè)由無壓縮的圖像數(shù)據(jù)構(gòu)成的比特流,但其中只包括原未經(jīng)壓縮的比特流中每7個(gè)幀的一個(gè)幀。
然后,這個(gè)輸出的畫面流送至編碼塊108,用特技播放流所需的相應(yīng)MPEG參數(shù)重新編碼。這些MPEG參數(shù)包括比特率、畫面大小和其他參數(shù)。在這個(gè)優(yōu)選實(shí)施例中,編碼塊108用比正常播放流小的畫面尺寸和低一些的數(shù)據(jù)率對這個(gè)比特流進(jìn)行編碼,以減小數(shù)據(jù)存儲量和傳輸帶寬。
MPEG-2編碼器108產(chǎn)生一個(gè)特技播放流,它是一個(gè)真正的MPEG編碼流,但只包括原比特流中每X個(gè)幀的一個(gè)幀。因此,編碼器108輸出的特技播放流包括I幀、P幀和B幀。在這個(gè)新的經(jīng)MPEG編碼的特技播放流以后傳送給用戶后,經(jīng)MPEG解碼器解碼,所產(chǎn)生的比特流就只包括原未經(jīng)壓縮的正常播放比特流中每X個(gè)幀的一個(gè)幀。過濾器流程圖現(xiàn)在參見圖3,所示為例示過濾器102按本發(fā)明的一個(gè)實(shí)施例進(jìn)行工作的流程圖。在步驟202,過濾器102檢驗(yàn)一個(gè)MPEG數(shù)據(jù)塊。假設(shè)這個(gè)MPEG數(shù)據(jù)塊是一個(gè)序列標(biāo)題或是一個(gè)畫面標(biāo)題。如果受檢驗(yàn)的這個(gè)MPEG數(shù)據(jù)塊是一個(gè)序列標(biāo)題,就在步驟212,過濾器102存儲這個(gè)序列標(biāo)題。然后,過濾器102返回步驟202,開始檢驗(yàn)下一個(gè)MPEG數(shù)據(jù)塊。
如果在步驟202中受檢驗(yàn)的幀或數(shù)據(jù)是一個(gè)畫面標(biāo)題或畫面,就在步驟214,過濾器102檢驗(yàn)這個(gè)畫面標(biāo)題和與這個(gè)畫面標(biāo)題對應(yīng)的后繼幀。如果受檢驗(yàn)的幀或數(shù)據(jù)是一個(gè)I幀,就在步驟222,過濾器102存儲這個(gè)畫面標(biāo)題和I幀。最好,過濾器102還在步驟224存儲指示與要存儲的I幀對應(yīng)的相應(yīng)序列標(biāo)題或畫面標(biāo)題的對應(yīng)數(shù)據(jù)。存儲了I幀和對應(yīng)數(shù)據(jù)后,過濾器102返回步驟202,檢驗(yàn)下一個(gè)MPEG數(shù)據(jù)塊。
如果受檢驗(yàn)的幀是一個(gè)P幀或B幀,就在步驟232,過濾器102確定這個(gè)P幀或B幀是否含有一個(gè)加權(quán)矩陣。如果沒有,就不存儲這個(gè)P幀或B幀的數(shù)據(jù),過濾器102返回步驟202,檢驗(yàn)下一個(gè)MPEG數(shù)據(jù)塊。如果受檢驗(yàn)的D幀或B幀含有一個(gè)加權(quán)矩陣,就在步驟234,過濾器102存儲這個(gè)加權(quán)矩陣。在步驟236,過濾器102將這個(gè)加權(quán)矩陣與相應(yīng)I幀(即后繼的I幀)關(guān)聯(lián)。在步驟236,過濾器102最好還存儲指示與這個(gè)加權(quán)矩陣對應(yīng)的相應(yīng)I幀的對應(yīng)數(shù)據(jù)。過濾器102存儲了加權(quán)矩陣和對應(yīng)數(shù)據(jù)后,就返回步驟202,檢驗(yàn)下一個(gè)MPEG數(shù)據(jù)塊。
因此,過濾器102對MPEG流中的所有標(biāo)題和幀都進(jìn)行了檢驗(yàn)。這是必需的,因?yàn)榧訖?quán)矩陣可能出現(xiàn)在MPEG流中的任何一個(gè)標(biāo)題或幀內(nèi)。過濾器102存儲的只是序列標(biāo)題和I幀以及位于MPEG流的其他地方(如在P幀或B幀內(nèi))的加權(quán)矩陣。過濾器102不存儲P幀或B幀數(shù)據(jù)。過濾器102還將序列標(biāo)題和加權(quán)矩陣與各對應(yīng)的I幀相關(guān)聯(lián)。
因此,如果一個(gè)矩陣包含在插在I幀之間的那些P幀或B幀之一內(nèi),過濾器102就將這個(gè)矩陣存入一個(gè)在重建特技播放原始序列時(shí)使用的文件。如下面要詳細(xì)說明的那樣,在構(gòu)建特技播放流期間,產(chǎn)生一個(gè)偽序列標(biāo)題,否則將新矩陣插入?yún)R編比特流。
檢驗(yàn)了一個(gè)序列標(biāo)題或幀后,過濾器102檢驗(yàn)下一個(gè)MPEG數(shù)據(jù)塊,重復(fù)以上操作。這樣,過濾器102就對MPEG序列中的每個(gè)標(biāo)題和幀進(jìn)行檢驗(yàn),存儲各個(gè)序列標(biāo)題、I幀和加權(quán)矩陣,而不存儲P幀和B幀。因此,過濾器102存儲了部分MPEG數(shù)據(jù)流,只包括序列標(biāo)題、畫面標(biāo)題、I幀和加權(quán)矩陣。
在一個(gè)實(shí)施例中,將過濾器102所得結(jié)果串接起來,形成特技播放比特流。然而,應(yīng)該指出的是,如果直接鏈接濾波器102的結(jié)果,所得到的比特流將不是一個(gè)真正的MPEG比特流。在本優(yōu)選實(shí)施例中,本發(fā)明產(chǎn)生的是一個(gè)經(jīng)MPEG壓縮的比特流,因?yàn)樗M氖钱a(chǎn)生的特技播放比特流能通過一個(gè)標(biāo)準(zhǔn)的MPEG解碼器。檢驗(yàn)/匯編器流程圖現(xiàn)在參見圖4,所示為例示匯編一個(gè)特技播放流的檢驗(yàn)/匯編器104的工作情況的流程圖。在步驟302,檢驗(yàn)/匯編器104檢驗(yàn)一個(gè)存儲的MPEG數(shù)據(jù)塊,即由過濾器102存儲的MPEG數(shù)據(jù)塊。在這里要注意的是這個(gè)MPEG數(shù)據(jù)塊是一個(gè)序列標(biāo)題、畫面標(biāo)題、I幀或加權(quán)矩陣。如果在步驟302受檢驗(yàn)的是一個(gè)序列標(biāo)題、畫面標(biāo)題或I幀,就在步驟304,檢驗(yàn)匯編器104檢驗(yàn)由過濾器102產(chǎn)生的對應(yīng)數(shù)據(jù),將畫面標(biāo)題或序列標(biāo)題與適當(dāng)?shù)腎幀相關(guān)聯(lián)。在步驟306,檢驗(yàn)/匯編器104將I幀與相應(yīng)的畫面標(biāo)題和/或序列標(biāo)題鏈接成組,這樣形成的組稱為標(biāo)題/I幀元組。在步驟308,檢驗(yàn)/匯編器104將這個(gè)新的標(biāo)題/I幀元組鏈接到正在匯編的比特流上,以便匯編成新的比特流。執(zhí)行了步驟308后,檢驗(yàn)/匯編器104就返回步驟302,檢驗(yàn)下一個(gè)存儲的MPEG數(shù)據(jù)塊,重復(fù)上述操作。
如果系統(tǒng)正在產(chǎn)生一個(gè)快進(jìn)流,就在步驟308,檢驗(yàn)匯編器104將稱為標(biāo)題/I幀元組的各由I幀及其相應(yīng)畫面標(biāo)題和/或序列標(biāo)題構(gòu)成的組按正向時(shí)間順序(即它們在原比特流中出現(xiàn)的時(shí)間順序)鏈接起來。如果系統(tǒng)正在產(chǎn)生一個(gè)快退流,則在步驟308檢驗(yàn)/匯編器104按反向時(shí)間順序鏈接這些標(biāo)題/I幀元組。由此可見,對于一個(gè)快退序列來說,與相應(yīng)I幀對應(yīng)的畫面標(biāo)題和序列標(biāo)題時(shí)間上仍在相應(yīng)I幀前鏈接。然而,各標(biāo)題/I幀元組則按反向時(shí)間順序鏈接。
如果在步驟302受檢驗(yàn)的MPEG數(shù)據(jù)是一個(gè)加權(quán)矩陣,就在步驟312,檢驗(yàn)/匯編器104最好產(chǎn)生一個(gè)包括這個(gè)加權(quán)矩陣的新序列標(biāo)題。然后,檢驗(yàn)/匯編器104進(jìn)至步驟304,檢驗(yàn)由過濾器102產(chǎn)生的對應(yīng)數(shù)據(jù),再在步驟306將這個(gè)新序列標(biāo)題與相應(yīng)I幀結(jié)合成組。在步驟306,檢驗(yàn)/匯編器104將新產(chǎn)生的序列標(biāo)題置于對應(yīng)的I幀之前。在步驟308,檢驗(yàn)/匯編器104將這個(gè)新的序列標(biāo)題/I幀元組鏈接到正在匯編的比特流上,以便匯編成新的比特流。
如果一個(gè)I幀沒有加權(quán)矩陣,檢驗(yàn)/匯編器104就利用前一個(gè)I幀的加權(quán)矩陣或者一個(gè)缺少值。在本優(yōu)選實(shí)施例中,所用的缺省矩陣根據(jù)比特流明顯不含有矩陣隱含確定,這種操作是MPEG標(biāo)準(zhǔn)的一部分。其他實(shí)施例在本發(fā)明的第一候選實(shí)施例中,對于快進(jìn)特技播放流來說,特技播放產(chǎn)生系統(tǒng)在快進(jìn)特技播放流中納入了P幀和I幀。這個(gè)實(shí)施例最好用于2X、3X或4X快進(jìn)特技播放流,特別是3X快進(jìn)播放流。在這個(gè)實(shí)施例中,系統(tǒng)檢驗(yàn)MPEG流,尋找B幀中的幀間矩陣,將這些幀間矩陣移動到后繼的P帖。應(yīng)該指出的是,這個(gè)實(shí)施例只能用于快進(jìn)特技播放流,因?yàn)樵谠璏PEG流中的P幀只包含相對前P幀的變化。
現(xiàn)在參見圖5,所示為例示本發(fā)明的另一個(gè)實(shí)施例的工作情況的方框圖。如圖所示,本發(fā)明的這個(gè)實(shí)施例包括MPEG-2解碼操作502、提取操作504和MPEG-2編碼操作506。這些操作都可以按需要用硬件或用軟件實(shí)現(xiàn)。
如圖所示,本發(fā)明的這個(gè)系統(tǒng)接收一個(gè)正常播放比特流,最好是一個(gè)經(jīng)MPEG壓縮的正常播放比特流。這個(gè)經(jīng)壓縮的正常播放比特流送至解碼塊502,最好是MPEG-2解碼塊502。MPEG-2解碼塊502對各幀進(jìn)行解碼,產(chǎn)生原未經(jīng)壓縮的圖像序列。原未經(jīng)壓縮的圖像序列送至提取塊504,由它從這個(gè)圖像序列中每X個(gè)幀提取一幀。提取塊504還將這些提取的幀按正向或反向時(shí)間順序鏈接起來。這樣鏈接的這些幀就構(gòu)成了一個(gè)只包括原未經(jīng)壓縮的正常播放流中每X個(gè)畫面的一個(gè)畫面的比特流。因此,如果原正常播放比特流的I幀的頻率為每X個(gè)幀一幀,那么這個(gè)新的圖像序列只包括原未經(jīng)壓縮的正常播放比特流中的每X個(gè)畫面的一個(gè)畫面。
然后,這個(gè)輸出的畫面流送至編碼塊506,用特技播放流所需的相應(yīng)MPEG參數(shù)重新編碼。這些MPEG參數(shù)包括比特率、畫面大小以及其他參數(shù)。MPEG-2編碼塊506產(chǎn)生一個(gè)特技播放流,它是一個(gè)真正的MPEG編碼流,但只包括每X個(gè)幀的一個(gè)幀。在這個(gè)新的經(jīng)MPEG編碼的特技播放流以后傳送給用戶時(shí),經(jīng)MPEG解碼器解碼后,所得到的比特流只包括原未經(jīng)壓縮的正常播放比特流中的每X個(gè)幀的一個(gè)幀。產(chǎn)生反向特技播放流的另一個(gè)實(shí)施例現(xiàn)在參見圖6,所示為另一個(gè)按本發(fā)明產(chǎn)生一個(gè)反向特技播放流的優(yōu)選實(shí)施例。為方便起見,圖6分為三個(gè)部分,即圖6A、6B和6C。在圖6所示的實(shí)施例中,通過從末端到始端掃描圖像流來產(chǎn)生反向特技播放流。這個(gè)實(shí)施例還利用了一個(gè)存儲堆棧,暫時(shí)存儲MPEG數(shù)據(jù)的元組,使這些元組按正確順序納入反向特技播放流。
如圖6所示,在步驟602執(zhí)行初始化,對堆棧清零。在步驟604,執(zhí)行搜索,在圖像序列中尋找第一個(gè)畫面起始代碼。步驟604的搜索是從圖像流的末端向始端進(jìn)行的。當(dāng)在從末端向始端的搜索中發(fā)現(xiàn)第一個(gè)畫面起始代碼時(shí),就在步驟606將一個(gè)標(biāo)志推入堆棧。如下面還要說明的那樣,這個(gè)標(biāo)志用來標(biāo)識圖像流的不同的塊或部分。在步驟606后,就開始了搜索階段。
在步驟612,本方法在圖像流中搜索一個(gè)起始代碼。在步驟614,確定在步驟612搜索起始代碼期間是否發(fā)現(xiàn)了文件終止條件。如果是,就在步驟616關(guān)閉輸出的數(shù)據(jù)流,退出這個(gè)程序,操作結(jié)束。如果在步驟614發(fā)現(xiàn)的不是文件終止條件,就在步驟620,本方法認(rèn)為發(fā)現(xiàn)的是圖像流中的一個(gè)起始代碼。
注意,發(fā)現(xiàn)的起始代碼可能是一個(gè)用戶數(shù)據(jù)塊的起始代碼、一個(gè)擴(kuò)展塊的起始代碼、一個(gè)B幀或P幀畫面標(biāo)題塊的起始代碼,或是一個(gè)I幀畫面標(biāo)題的起始代碼。如圖6所示,根據(jù)在步驟620發(fā)現(xiàn)的起始代碼的類型將執(zhí)行不同的操作。還要注意的是,圖6中的橢圓方框只是標(biāo)題性方框,并不是操作性方框。
如果在步驟620發(fā)現(xiàn)的是一個(gè)用戶數(shù)據(jù)塊的起始代碼,就在步驟622按需要調(diào)整這個(gè)用戶數(shù)據(jù)塊的內(nèi)容。用戶數(shù)據(jù)塊的內(nèi)容調(diào)整到符合在準(zhǔn)備特技播放流中可能使用的新參數(shù),如前面所述。在步驟622調(diào)整了內(nèi)容后,就在步驟624將用戶數(shù)據(jù)塊的坐標(biāo)推入堆棧。然后,操作返回步驟612,像上述那樣執(zhí)行對一個(gè)新的起始代碼的搜索。
如果在步驟620發(fā)現(xiàn)的是一個(gè)擴(kuò)展塊的起始代碼,就在步驟632將這個(gè)擴(kuò)展塊的坐標(biāo)推入堆棧,然后返回步驟612,搜索下一個(gè)起始代碼。
如果在步驟620發(fā)現(xiàn)的是一個(gè)B幀或P幀畫面標(biāo)題塊的起始代碼,就在步驟642彈出堆棧中的所有坐標(biāo)直至檢測到標(biāo)志。也就是說,如果檢測到B幀或P幀畫面標(biāo)題塊的起始代碼,就將堆棧中在標(biāo)志上面的所有坐標(biāo)在步驟642全都彈出堆棧。然后,在步驟644將標(biāo)志推入或返回堆棧。操作返回步驟612,搜索一個(gè)新的起始代碼,如前面所述。
如果在步驟620發(fā)現(xiàn)的是一個(gè)I幀畫面標(biāo)題的起始代碼,就在步驟652按需要調(diào)整這個(gè)I幀畫面標(biāo)題信息。I幀畫面標(biāo)題信息調(diào)整到符合在準(zhǔn)備特技播放流中可能使用的新參數(shù),如前面所述。調(diào)整了I幀畫面標(biāo)題后,在步驟654將這個(gè)I幀畫面標(biāo)題塊的坐標(biāo)推入堆棧。在步驟656,彈出推入堆棧的各坐標(biāo),直至檢測到標(biāo)志。在步驟658,隨著每組坐標(biāo)的彈出將相應(yīng)圖像流中數(shù)據(jù)寫至輸出的反向特技播放流。這里要注意的是,步驟656和658依次和基本上并行進(jìn)行,隨著在步驟656從堆棧彈出坐標(biāo),相應(yīng)圖像流中與堆棧彈出的坐標(biāo)相應(yīng)的數(shù)據(jù)就寫至輸出的反向特技播放流。
在所有坐標(biāo)都在步驟656從堆棧彈出而相應(yīng)數(shù)據(jù)都在步驟658寫至輸出的反向特技播放流之后,就在步驟660將標(biāo)志推回堆棧。然后,在步驟662搜索第一個(gè)(???)序列標(biāo)題起始代碼。在發(fā)現(xiàn)這個(gè)第一序列標(biāo)題起始代碼時(shí),返回步驟612,開始搜索下一個(gè)起始代碼,重復(fù)上述操作。
因此,本發(fā)明提出了一種從一個(gè)經(jīng)壓縮的正常播放圖像流產(chǎn)生特技播放圖像流的系統(tǒng)和方法。本發(fā)明檢驗(yàn)一個(gè)MPEG序列中的每個(gè)標(biāo)題或幀,存儲各序列標(biāo)題、I幀和相應(yīng)加權(quán)矩陣。然后,系統(tǒng)靈活地將所存儲的這些部分匯編成一個(gè)新的快進(jìn)或快退比特流。這個(gè)新匯編的比特流于是經(jīng)解碼后形成一系列無壓縮的幀。這些無壓縮的幀再按MPEG標(biāo)準(zhǔn)重新編碼,從而產(chǎn)生一個(gè)新的MPEG流。這個(gè)新的MPEG流是一個(gè)快進(jìn)或快退特技播放流。
雖然本發(fā)明的系統(tǒng)和方法是結(jié)合以上這些實(shí)施例加以說明的,但并不是說本發(fā)明只局限于這里所提出的這種特定具體形式。相反,本發(fā)明包括了所有應(yīng)認(rèn)為在所附權(quán)利要求列出的本發(fā)明的精神和專利保護(hù)范圍內(nèi)的種種替換、修改和等效形式。
權(quán)利要求
1.一種用計(jì)算機(jī)實(shí)現(xiàn)的從一個(gè)經(jīng)壓縮的正常播放比特流中產(chǎn)生特技播放流的方法,所述方法包括下列步驟接收一個(gè)包括一系列幀內(nèi)編碼幀和一系列幀間編碼幀的經(jīng)壓縮的正常播放比特流;從所述經(jīng)壓縮的正常播放比特流中提取所述幀內(nèi)編碼幀,其中包括將所述幀內(nèi)編碼幀存入一個(gè)存儲器;匯編所提取的所述幀內(nèi)編碼幀,形成一個(gè)匯編比特流;對所述匯編比特流進(jìn)行解碼,產(chǎn)生一系列無壓縮的幀;以及對經(jīng)解碼的所述這些無壓縮的幀進(jìn)行編碼,產(chǎn)生一個(gè)經(jīng)壓縮的特技播放比特流,所述經(jīng)壓縮的特技播放比特流只包括所述正常播放比特流中的一部分幀。
2.權(quán)利要求1的方法,其中所述經(jīng)壓縮的正常播放比特流包括的所述這些幀內(nèi)編碼幀以一個(gè)規(guī)定頻率出現(xiàn);其中所述提取步驟包括以所述規(guī)定頻率提取與所述幀內(nèi)編碼幀相應(yīng)的數(shù)據(jù)比特。
3.權(quán)利要求1的方法,其中所述經(jīng)壓縮的正常播放比特流包括一系列各含有有關(guān)至少若干個(gè)所述幀內(nèi)編碼幀的信息的序列標(biāo)題;其中所述提取步驟包括從所述經(jīng)壓縮的正常播放比特流中提取所述序列標(biāo)題,所述提取步驟還包括將所述序列標(biāo)題存入一個(gè)存儲器;以及其中所述匯編步驟包括匯編所述序列標(biāo)題和所述幀內(nèi)編碼幀,形成所述匯編比特流。
4.權(quán)利要求1的方法,其中所述方法產(chǎn)生一個(gè)快進(jìn)特技播放比特流;其中所述匯編步驟包括按正向時(shí)間順序匯編所述幀內(nèi)編碼幀。
5.權(quán)利要求1的方法,其中所述方法產(chǎn)生一個(gè)快退特技播放比特流;其中所述匯編步驟包括按反向時(shí)間順序匯編所述幀內(nèi)編碼幀。
6.權(quán)利要求1的方法,其中所述經(jīng)壓縮的正常播放比特流包括一系列與所述幀內(nèi)編碼幀對應(yīng)的矩陣;所述方法還包括確定在所述經(jīng)壓縮的正常播放比特流中的所述矩陣的步驟;其中所述匯編所述幀內(nèi)編碼幀形成所述匯編比特流的步驟包括將所述矩陣納入所述匯編比特流。
7.權(quán)利要求1的方法,其中所述這些矩陣各與所述幀內(nèi)編碼幀之一對應(yīng);其中所述匯編步驟包括將各所述矩陣分別與對應(yīng)的相應(yīng)所述幀內(nèi)編碼幀匯編在一起。
8.權(quán)利要求1的方法,其中所述經(jīng)壓縮的正常播放比特流是一個(gè)經(jīng)MPEG壓縮的比特流;其中所述對所述匯編比特流進(jìn)行解碼的步驟包括對所述匯編比特流進(jìn)行MPEG解碼,產(chǎn)生所述這些無壓縮的幀;以及其中所述對所述這些無壓縮的幀進(jìn)行編碼的步驟包括對所述這些無壓縮的幀進(jìn)行MPEG編碼,產(chǎn)生一個(gè)經(jīng)MPEG壓縮的特技播放比特流。
9.一種從一個(gè)經(jīng)壓縮的正常播放比特流中產(chǎn)生特技播放流的系統(tǒng),所述系統(tǒng)包括一個(gè)存儲媒體,用來存儲一個(gè)包括一系列幀內(nèi)編碼幀和一系列幀間編碼幀的經(jīng)壓縮的正常播放比特流;一個(gè)過濾器,用來從所述經(jīng)壓縮的正常播放比特流中提取所述幀內(nèi)編碼幀;一個(gè)存儲器,用來存儲所提取的所述幀內(nèi)編碼幀;一個(gè)檢驗(yàn)/匯編器,用來匯編所存儲的所述幀內(nèi)編碼幀,形成一個(gè)匯編比特流;一個(gè)解碼器,用來對所述匯編比特流進(jìn)行解碼,產(chǎn)生一系列無壓縮的幀;以及一個(gè)編碼器,用來對所述這些無壓縮的幀進(jìn)行編碼,產(chǎn)生一個(gè)經(jīng)壓縮的特技播放比特流,所述經(jīng)壓縮的特技播放比特流只包括所述正常播放比特流中的一部分幀。
10.權(quán)利要求9的系統(tǒng),其中所述經(jīng)壓縮的正常播放比特流包括的所述這些幀內(nèi)編碼幀以一個(gè)規(guī)定頻率出現(xiàn);其中所述過濾器以所述規(guī)定頻率提取與所述幀內(nèi)編碼幀相應(yīng)的數(shù)據(jù)比特。
11.權(quán)利要求9的系統(tǒng),其中所述經(jīng)壓縮的正常播放比特流包括一系列各含有有關(guān)至少若干個(gè)所述幀內(nèi)編碼幀的信息的序列標(biāo)題;其中所述過濾器從所述經(jīng)壓縮的正常播放比特流中提取所述序列標(biāo)題,將所述序列標(biāo)題存入所述存儲器;以及其中所述檢驗(yàn)/匯編器匯編所述序列標(biāo)題和所述幀內(nèi)編碼幀,形成所述匯編比特流。
12.權(quán)利要求9的系統(tǒng),其中所述系統(tǒng)產(chǎn)生一個(gè)快進(jìn)特技播放比特流;其中所述檢驗(yàn)/匯編器按正向時(shí)間順序匯編所述幀內(nèi)編碼幀。
13.權(quán)利要求9的系統(tǒng),其中所述系統(tǒng)產(chǎn)生一個(gè)快退特技播放比特流;其中所述檢驗(yàn)/匯編器按反向時(shí)間順序匯編所述幀內(nèi)編碼幀。
14.權(quán)利要求9的系統(tǒng),其中所述經(jīng)壓縮的正常播放比特流包括一系列與所述幀內(nèi)編碼幀對應(yīng)的矩陣;其中所述過濾器確定在所述經(jīng)壓縮的正常播放比特流中的所述矩陣,將所述矩陣存入所述存儲器;以及其中所述檢驗(yàn)/匯編器匯編所述幀內(nèi)編碼幀和所述矩陣,形成所述匯編比特流。
15.權(quán)利要求9的系統(tǒng),其中所述這些矩陣各與所述幀內(nèi)編碼幀之一對應(yīng);其中所述檢驗(yàn)/匯編器將各所述矩陣分別與對應(yīng)的相應(yīng)所述幀內(nèi)編碼幀匯編在一起。
16.權(quán)利要求9的系統(tǒng),其中所述經(jīng)壓縮的正常播放比特流是一個(gè)經(jīng)MPEG壓縮的比特流;其中所述解碼器是一個(gè)MPEG解碼器;以及其中所述編碼器是一個(gè)MPEG編碼器。
17.一種從一個(gè)經(jīng)MPEG壓縮的正常播放比特流中產(chǎn)生特技播放流的方法,所述方法包括下列步驟接收一個(gè)包括一系列幀內(nèi)編碼幀、一系列預(yù)測幀和一系列雙向內(nèi)插幀的經(jīng)壓縮的正常播放比特流;從所述經(jīng)壓縮的正常播放比特流中提取所述幀內(nèi)編碼幀,其中包括將所述幀內(nèi)編碼幀存入一個(gè)存儲器;匯編所提取的所述幀內(nèi)編碼幀,形成一個(gè)匯編比特流;對所述匯編比特流進(jìn)行解碼,產(chǎn)生一系列無壓縮的幀;以及對經(jīng)解碼的所述這些無壓縮的幀進(jìn)行編碼,產(chǎn)生一個(gè)經(jīng)壓縮的特技播放比特流,所述經(jīng)壓縮的特技播放比特流只包括所述正常播放比特流中的一部分幀。
18.一種用計(jì)算機(jī)實(shí)現(xiàn)的從一個(gè)經(jīng)壓縮的正常播放比特流中產(chǎn)生特技播放流的方法,所述方法包括下列步驟接收一個(gè)包括一系列幀內(nèi)編碼幀和一系列幀間編碼幀的經(jīng)壓縮的正常播放比特流;從所述經(jīng)壓縮的正常播放比特流中提取所述幀內(nèi)編碼幀,其中包括將所述幀內(nèi)編碼幀存入一個(gè)存儲器;匯編所提取的所述幀內(nèi)編碼幀,形成一個(gè)匯編比特流;以及存儲所述匯編比特流。
19.權(quán)利要求18的方法,其中所述經(jīng)壓縮的正常播放比特流包括一系列各含有有關(guān)至少若干個(gè)所述幀內(nèi)編碼幀的信息的序列標(biāo)題;其中所述提取步驟包括從所述經(jīng)壓縮的正常播放比特流中提取所述序列標(biāo)題,所述提取步驟還包括將所述序列標(biāo)題存入一個(gè)存儲器;以及其中所述匯編步驟包括匯編所述序列標(biāo)題和所述幀內(nèi)編碼幀,形成所述匯編比特流。
20.權(quán)利要求18的方法,其中所述方法產(chǎn)生一個(gè)快進(jìn)特技播放比特流;其中所述匯編步驟包括按正向時(shí)間順序匯編所述幀內(nèi)編碼幀。
21.權(quán)利要求18的方法,其中所述方法產(chǎn)生一個(gè)快退特技播放比特流;其中所述匯編步驟包括按反向時(shí)間順序匯編所述幀內(nèi)編碼幀。
22.權(quán)利要求18的方法,其中所述經(jīng)壓縮的正常播放比特流包括一系列與所述幀內(nèi)編碼幀對應(yīng)的矩陣;所述方法還包括確定在所述經(jīng)壓縮的正常播放比特流中的所述矩陣的步驟;其中所述匯編所述幀內(nèi)編碼幀、形成所述匯編比特流的步驟包括將所述矩陣納入所述匯編比特流。
23.權(quán)利要求18的方法,其中所述這些矩陣各與所述幀內(nèi)編碼幀之一對應(yīng);其中所述匯編步驟包括將各所述矩陣分別與對應(yīng)的相應(yīng)所述幀內(nèi)編碼幀匯編在一起。
24.權(quán)利要求18的方法,所述方法還包括下列步驟對所存儲的所述匯編比特流進(jìn)行解碼,產(chǎn)生一系列無壓縮的幀;對經(jīng)解碼的所述這些無壓縮的幀進(jìn)行編碼,產(chǎn)生一個(gè)經(jīng)壓縮的特技播放比特流,所述經(jīng)壓縮的特技播放比特流只包括所述正常播放比特流中的一部分幀;以及存儲所述經(jīng)壓縮的特技播放比特流。
25.權(quán)利要求24的方法,其中所述經(jīng)壓縮的正常播放比特流是一個(gè)經(jīng)MPEG壓縮的比特流;其中所述對所述匯編比特流進(jìn)行解碼的步驟包括對所述匯編比特流進(jìn)行MPEG解碼,產(chǎn)生所述這些無壓縮的幀;以及其中所述對所述這些無壓縮的幀進(jìn)行編碼的步驟包括對所述這些無壓縮的幀進(jìn)行MPEG編碼,產(chǎn)生一個(gè)經(jīng)MPEG壓縮的特技播放比特流。
26.一種用于包括一個(gè)中央處理單元和存儲器的計(jì)算機(jī)系統(tǒng)的計(jì)算機(jī)可讀存儲媒體,所述計(jì)算機(jī)可讀存儲媒體包括一個(gè)具有一種表示數(shù)據(jù)的物理形態(tài)的基片,所述存儲媒體上駐留有一個(gè)提取程序,用來從一個(gè)經(jīng)壓縮的正常播放比特流中提取各幀內(nèi)編碼幀,將所提取的所述幀內(nèi)編碼幀存入一個(gè)存儲器;一個(gè)匯編程序,用來匯編所述幀內(nèi)編碼幀,形成一個(gè)匯編比特流;一個(gè)解碼程序,用來對所述匯編比特流進(jìn)行解碼,產(chǎn)生一系列無壓縮的幀;以及一個(gè)編碼程序,用來對經(jīng)解碼的所述這些無壓縮的幀進(jìn)行編碼,產(chǎn)生一個(gè)經(jīng)壓縮的特技播放比特流,所述經(jīng)壓縮的特技播放比特流只包括所述正常播放比特流中的一部分幀。
27.權(quán)利要求26的計(jì)算機(jī)可讀存儲媒體,其中所述經(jīng)壓縮的正常播放比特流包括一系列各含有有關(guān)至少若干個(gè)所述幀內(nèi)編碼幀的信息的序列標(biāo)題;其中所述提取程序從所述經(jīng)壓縮的正常播放比特流中提取所述序列標(biāo)題,將所提取的所述序列標(biāo)題存入一個(gè)存儲器;以及其中所述匯編程序匯編所述序列標(biāo)題和所述幀內(nèi)編碼幀,形成所述匯編比特流。
28.一種用計(jì)算機(jī)實(shí)現(xiàn)的從一個(gè)經(jīng)壓縮的正常播放圖像流中產(chǎn)生一個(gè)反向特技播放流的方法,所述方法包括下列步驟接收一個(gè)包括圖像數(shù)據(jù)的經(jīng)壓縮的正常播放圖像流;將一個(gè)標(biāo)志存入一個(gè)存儲堆棧;在圖像流中搜索一個(gè)起始代碼,所述搜索包括從所述經(jīng)壓縮的正常播放圖像流的末端到始端的搜索;根據(jù)所述搜索步驟,在圖像流中發(fā)現(xiàn)一個(gè)起始代碼;如果所述發(fā)現(xiàn)步驟發(fā)現(xiàn)的是一個(gè)用戶數(shù)據(jù)塊的起始代碼,將所述用戶數(shù)據(jù)塊的坐標(biāo)存入存儲堆棧;如果所述發(fā)現(xiàn)步驟發(fā)現(xiàn)的是一個(gè)擴(kuò)展塊的起始代碼,將所述擴(kuò)展塊的坐標(biāo)存入存儲堆棧;如果所述發(fā)現(xiàn)步驟發(fā)現(xiàn)的是一個(gè)B幀或P幀畫面標(biāo)題塊的起始代碼,從存儲堆棧中彈出坐標(biāo)直至檢測到所述標(biāo)志,所述標(biāo)志留在堆棧;如果所述發(fā)現(xiàn)步驟發(fā)現(xiàn)的是一個(gè)I幀畫面標(biāo)題的起始代碼,將所述I幀畫面標(biāo)題塊的坐標(biāo)存入存儲堆棧;如果所述發(fā)現(xiàn)步驟發(fā)現(xiàn)的是一個(gè)I幀畫面標(biāo)題的起始代碼,在所述將所述I幀畫面標(biāo)題塊的坐標(biāo)存入存儲堆棧的步驟后,彈出當(dāng)前存在存儲堆棧內(nèi)的坐標(biāo)直徑檢測到所述標(biāo)志;如果所述發(fā)現(xiàn)步驟發(fā)現(xiàn)的是一個(gè)I幀畫面標(biāo)題的起始代碼,隨著在所述彈出步驟中從存儲堆棧彈出所述坐標(biāo),將所述經(jīng)壓縮的正常播放圖像流中的由從存儲堆棧彈出的所述坐標(biāo)指明的數(shù)據(jù)寫至一個(gè)輸出的反向特技播放流;如果所述發(fā)現(xiàn)步驟發(fā)現(xiàn)的是一個(gè)I幀畫面標(biāo)題的起始代碼,搜索第一個(gè)序列標(biāo)題的起始代碼;以及多次重復(fù)所述在圖像流中搜索一個(gè)起始代碼的步驟和后繼各步驟,產(chǎn)生所述反向特技播放流。
全文摘要
一種從一個(gè)經(jīng)MPEG壓縮的正常播放比特流中產(chǎn)生諸如快進(jìn)和快退的特技播放圖像流的系統(tǒng)和方法。系統(tǒng)接收到經(jīng)壓縮的正常播放比特流后,通過只提取和保存比特流中的一些部分對比特流進(jìn)行過濾。系統(tǒng)最好從MPEG比特流中提取各I幀和序列標(biāo)題,包括所有的加權(quán)矩陣,將這些信息存入一個(gè)新文件。然后,系統(tǒng)按適當(dāng)順序匯編或排列經(jīng)過濾的數(shù)據(jù),產(chǎn)生一個(gè)單獨(dú)的匯編比特流。系統(tǒng)還保證加權(quán)矩陣與相應(yīng)I幀相對應(yīng)。這樣就產(chǎn)生了一個(gè)包括一系列序列標(biāo)題和I幀的比特流。這個(gè)匯編比特流經(jīng)MPEG-2解碼后形成一個(gè)新的圖像序列,它只包括原無壓縮的正常播放比特流中的每X個(gè)畫面的一個(gè)畫面。這個(gè)輸出的畫面流再用特技播放流所需的相應(yīng)MPEG參數(shù)重新編碼,產(chǎn)生一個(gè)特技播放比特流。這個(gè)比特流是一個(gè)真正的MPEG編碼流,但只包括每X個(gè)幀的一個(gè)幀。因此,本發(fā)明產(chǎn)生滿足減小存儲量和數(shù)據(jù)傳輸帶寬要求的經(jīng)壓縮的特技播放圖像流。
文檔編號H04N5/783GK1220065SQ97194904
公開日1999年6月16日 申請日期1997年4月25日 優(yōu)先權(quán)日1996年4月25日
發(fā)明者喬爾·齊德斯基, 拉瑪·卡魯瑞, 霍華德·佩奇, 沃爾夫-哈索·考比希 申請人:太陽微系統(tǒng)公司, 湯姆森消費(fèi)者電子公司