專利名稱:視頻流部分的存儲(chǔ)方法和裝置的制作方法
視頻流部分的存儲(chǔ)方法和裝置本發(fā)明涉及壓縮視頻流部分的存儲(chǔ)方法及其裝置以及用于實(shí)施該方法的計(jì)算機(jī)程序產(chǎn)品。目前,在所使用的視頻流壓縮方法中,最普遍使用由MPEG工作組所定義的壓縮編碼方法,特別是由IS0/IEC 13818-MPEG-2和IS0/IEC 14496-MPEG 4標(biāo)準(zhǔn)所定義的方法。這兩個(gè)標(biāo)準(zhǔn)所使用的壓縮原理非常相似一些圖像以有規(guī)律的間隔進(jìn)行存儲(chǔ)和壓縮,并且對(duì)中間圖像,僅對(duì)其差異進(jìn)行存儲(chǔ)和編碼。更具體地說,MPEG壓縮使用運(yùn)動(dòng)估計(jì)。所述MPEG編碼把各個(gè)圖像分成稱之為“宏模塊”的塊,并且檢測(cè)相鄰的圖像,以發(fā)現(xiàn)是否存在相似的塊。如果發(fā)現(xiàn)相似性,則系統(tǒng)就存儲(chǔ)表述圖像之間塊運(yùn)動(dòng)(或不運(yùn)動(dòng)的)的更小矢量,而不是存儲(chǔ)完整的塊。對(duì)所述矢量進(jìn)行編碼,使得它們?cè)谀承┣闆r下僅僅只需使用單個(gè)比特,這表明不隨著時(shí)間運(yùn)動(dòng)的背景和其它元素可有非常有效的壓縮。同樣,一起運(yùn)動(dòng)的大部分的塊,例如大的對(duì)象或整個(gè)圖像的滾動(dòng),也都可以得到有效的壓縮。MPEG使用三種圖像編碼方法。幀內(nèi)或I幀,在其中對(duì)整個(gè)圖像進(jìn)行壓縮并且采用DCT (離散余弦變換)量化進(jìn)行存儲(chǔ)。這就創(chuàng)建了一個(gè)參考圖像,基于該參考圖像就可構(gòu)建之后的圖像。這些I幀還可以在視頻流中進(jìn)行隨機(jī)存取,尤其是大約每半秒鐘產(chǎn)生。預(yù)測(cè)幀或者P幀包括用于表示在I幀或最近先前P幀之后差異的運(yùn)動(dòng)矢量。第三類幀是雙向幀或B幀。系統(tǒng)前后尋找和發(fā)現(xiàn)相關(guān)幀。因此,如果在B幀出現(xiàn)一些新的東西,則可采用下一 I幀或者P幀中的塊來進(jìn)行配對(duì)。所以,應(yīng)該理解的是,P幀和B幀要比I幀小得多。如上所述,壓縮視頻流只從I幀開始,以此作為第一參考圖像,在該參考圖像的基礎(chǔ)上構(gòu)建后續(xù)P幀或B幀。如上所述,這些I幀還可以隨機(jī)訪問視頻流。但是,應(yīng)該理解的是,當(dāng)需要采用隨機(jī)方式開始記錄或存儲(chǔ)僅僅一部分視頻流時(shí),就會(huì)出現(xiàn)問題,并且因此不一定能與I幀相對(duì)應(yīng)。為了解決這樣的問題,當(dāng)前的記錄系統(tǒng)對(duì)壓縮視頻流進(jìn)行連續(xù)解碼,于是,當(dāng)系統(tǒng)用戶決定開始記錄時(shí),再次以I幀形式編碼對(duì)應(yīng)于該記錄開始的解壓縮圖像。然后,基于該 I幀重新編碼后續(xù)幀,或者如果允許編碼,則可以保留后續(xù)B或P幀,但作為重構(gòu)I圖像的不同圖像。對(duì)于最佳性能的系統(tǒng)而言,為了不因?yàn)榫幋a后的重新編碼而損害質(zhì)量,所述系統(tǒng)還檢測(cè)在記錄開始后所輸入的壓縮視頻流的第一 I幀,并且從該幀開始存儲(chǔ)沒有變換的輸入壓縮視頻流。這種解決方案存在著在等待開始記錄指令時(shí)會(huì)影響輸入壓縮視頻流連續(xù)解碼的缺點(diǎn)。當(dāng)裝置連接著顯示器件使得用戶能夠?qū)崟r(shí)觀察輸入的壓縮視頻流時(shí),這種缺點(diǎn)不是很重要,因?yàn)楸匦铻轱@示進(jìn)行之后的解碼顯示。在另一個(gè)方面,在不需要顯示解碼的系統(tǒng)中,這將在機(jī)械資源方面顯得非常不利。因此,尤其需要一種允許最小化計(jì)算資源來存儲(chǔ)壓縮視頻流部分的方法和裝置。 因此,根據(jù)本發(fā)明的一個(gè)方面,用于存儲(chǔ)壓縮視頻流部分的方法,所述壓縮視頻數(shù)據(jù)流包括一系列的壓縮關(guān)鍵圖像,在所述關(guān)鍵圖像之間插入至少包括在未壓縮的中間圖像和最近先前壓縮關(guān)鍵圖像之間差異的編碼,所述方法包括 獲取步驟,用于實(shí)時(shí)獲取壓縮視頻流; 暫時(shí)存儲(chǔ)步驟,用于暫時(shí)存儲(chǔ)已獲取且未解壓縮的壓縮視頻流,所述暫時(shí)存儲(chǔ)至少包括所接收到的最后的壓縮關(guān)鍵圖像和后續(xù)中間幀; 一旦以給定時(shí)間接收到永久存儲(chǔ)開始事件 根據(jù)所接收到的最后壓縮的關(guān)鍵圖像以及后續(xù)中間幀,重構(gòu)對(duì)應(yīng)于所述給定時(shí)間的壓縮關(guān)鍵圖像;存儲(chǔ)以重構(gòu)的壓縮關(guān)鍵幀開始的視頻流部分。根據(jù)一具體實(shí)施例,當(dāng)視頻流的暫時(shí)存儲(chǔ)超過預(yù)先確定的存儲(chǔ)容量時(shí),就由所接收到的最后壓縮關(guān)鍵圖像和后續(xù)中間幀重構(gòu)壓縮關(guān)鍵圖像,并且隨后由重構(gòu)的壓縮關(guān)鍵圖像替代在暫時(shí)存儲(chǔ)器中的最后接收到的壓縮關(guān)鍵圖像。根據(jù)另一具體實(shí)施例,壓縮視頻流是根據(jù)IS0/IEC 13818-MPEG-2、IS0/IEC 14496-MPEG-4和H264標(biāo)準(zhǔn)之一進(jìn)行編碼的視頻流。根據(jù)本發(fā)明的第二方面,計(jì)算機(jī)程序產(chǎn)品包括記錄在計(jì)算機(jī)可讀取的媒介上的程序代碼指令,以便在計(jì)算機(jī)運(yùn)行所述程序時(shí)能夠執(zhí)行所述方法的步驟。根據(jù)本發(fā)明的第三方面,用于存儲(chǔ)壓縮視頻流部分的裝置,所述壓縮視頻流包括一系列壓縮關(guān)鍵圖像,在所述關(guān)鍵圖像之間插入至少包括在未壓縮中間圖像和最近先前的關(guān)鍵圖像之間差異的編碼,所述裝置包括 獲取裝置,用于實(shí)時(shí)獲取壓縮的視頻流; 接收裝置,用于以給定時(shí)間接收永久存儲(chǔ)器開始事件,所述部件連接至觸發(fā)裝置; 存儲(chǔ)裝置,用于存儲(chǔ)從給定時(shí)間開始的視頻流部分,其特征在于還進(jìn)一步包括 暫時(shí)存儲(chǔ)裝置,用于存儲(chǔ)已獲取且未解壓縮的視頻流,所述暫時(shí)存儲(chǔ)部件至少包括所接收到的最后的壓縮關(guān)鍵圖像和后續(xù)中間幀;以及, 重構(gòu)裝置,用于根據(jù)所述接收到的最后壓縮關(guān)鍵圖像及后續(xù)中間幀來重構(gòu)對(duì)應(yīng)于給定時(shí)間的壓縮關(guān)鍵圖像,使得所存儲(chǔ)的視頻流的部分從所述重構(gòu)壓縮關(guān)鍵圖像開始。本發(fā)明將通過參考附圖的實(shí)施例所給出的闡述變得更加明晰,其中-
圖1示出根據(jù)現(xiàn)有技術(shù)用于存儲(chǔ)視頻流方法的實(shí)施例的框圖;-圖2示出根據(jù)本發(fā)明實(shí)施例的存儲(chǔ)方法實(shí)例的框圖;-圖3示出根據(jù)本發(fā)明實(shí)施例的存儲(chǔ)方法的流程圖;-圖4示出根據(jù)本發(fā)明實(shí)施例的存儲(chǔ)裝置的框圖。圖1示出MPEG格式的視頻流,它包括兩個(gè)沿著時(shí)間軸AA標(biāo)記為1和2的壓縮I 圖像(即,兩個(gè)I幀)。壓縮I圖像1因此先于I圖像I 2。在這些壓縮I圖像之間插入P幀11、12、13、21、22、23和24。對(duì)應(yīng)碼流可以在軸BB上以解碼F圖像31至39的碼流形式來標(biāo)記。因此,在標(biāo)準(zhǔn)格式中,解碼F圖像F31為通過壓縮I圖像Il的解壓縮所獲得的,解碼F圖像F35為通過壓縮I圖像12的解壓縮所獲得的。F圖像F32可通過使用P幀Pll中
4所包含的運(yùn)動(dòng)矢量函數(shù)來修改F圖像F31獲得,這種修改在圖1中以“ + ”符號(hào)作標(biāo)記。F圖 F33可通過使用P幀P12中所包含的運(yùn)動(dòng)矢量函數(shù)來修改F圖像F32獲得,依此類推,從而對(duì)應(yīng)于編碼視頻流的P幀進(jìn)行圖像解碼。圖2的上半部分示出了以圖1編碼視頻流作為相同參考的相同編碼視頻流。用戶可以任何時(shí)間來觸發(fā)記錄請(qǐng)求D。參考實(shí)例,記錄的要求D發(fā)生于P幀23和幀M之間的瞬間。圖2的下半部分示出了暫時(shí)存儲(chǔ)區(qū)域S的內(nèi)容。幀以它們到達(dá)時(shí)開始存儲(chǔ),并且暫時(shí)存儲(chǔ)區(qū)域S在各個(gè)壓縮I圖像的到達(dá)時(shí)重置為零。于是,存儲(chǔ)包括壓縮圖I 1,隨后是幀I 1和P11,隨后是幀I 1、P11和P12,隨后是幀I1、P11、P12和P13。當(dāng)壓縮圖像12到達(dá)時(shí),暫時(shí)存儲(chǔ)區(qū)域S是空的,并且僅僅只有壓縮圖像12保留存儲(chǔ),以此類推。當(dāng)接收到記錄請(qǐng)求D,暫時(shí)存儲(chǔ)區(qū)域S因此包括壓縮圖像12和幀P21、P22和P23。如上所述,對(duì)后者進(jìn)行組合,以便獲得解碼圖像F38,隨后再對(duì)后者進(jìn)行重新編碼, 作為壓縮I圖像40。因此,包括圖像F38和F39之間差異的幀PM還包括有可能用于從圖像140來解碼圖像F39的運(yùn)動(dòng)矢量。然后,可以在不做任何碼轉(zhuǎn)換操作的條件下記錄視頻流的連續(xù)部分。于是,如圖3所示,存儲(chǔ)方法包括-獲取步驟(步驟50),用于實(shí)時(shí)獲取壓縮的視頻流;-暫時(shí)存儲(chǔ)步驟(步驟5 ,存儲(chǔ)不經(jīng)過解壓縮且至少包括最新獲取的壓縮I圖像或關(guān)鍵圖像和后續(xù)中間P和B幀。因此,當(dāng)開始記錄或開始永久存儲(chǔ)時(shí),接受事件(步驟54),從所接受到的最后關(guān)鍵圖像和中間圖像來重構(gòu)關(guān)鍵圖像(步驟56),以便獲得對(duì)應(yīng)于開始記錄瞬間的關(guān)鍵圖像, 并隨后存儲(chǔ)未修改過的即沒有任何解碼-編碼操作的視頻圖像(步驟58)。為了實(shí)施這種方法,有可能產(chǎn)生專用的裝置,如圖4所示,它包括-獲取裝置60,用于實(shí)時(shí)獲取壓縮視頻流;-接收裝置62,用于以給定時(shí)間接收永久存儲(chǔ)開始事件,所述裝置連接至裝置64, 例如按鈕,以允許用戶籍助于單次按動(dòng)來指示永久存儲(chǔ)開始事件;以及,-存儲(chǔ)裝置66,用于存儲(chǔ)從給定時(shí)間開始的視頻流部分。該專用裝置還包括-裝置68,用于暫時(shí)存儲(chǔ)所獲取到的視頻流(未壓縮的)并適用于至少存儲(chǔ)所接收到的最后關(guān)鍵圖像以及后續(xù)的中間幀;以及,-裝置70,用于重構(gòu)對(duì)應(yīng)于在暫時(shí)存儲(chǔ)裝置68中所存儲(chǔ)的幀中開始瞬時(shí)存儲(chǔ)的關(guān)鍵圖像,使得存儲(chǔ)于存儲(chǔ)裝置66中的視頻流部分從該關(guān)鍵圖像開始。該專用裝置包括硬件和軟件的組合。因此,例如,暫時(shí)存儲(chǔ)裝置68由RAM(隨機(jī)訪問存儲(chǔ)器)或甚至由FIF0(先進(jìn)先出)類存儲(chǔ)器構(gòu)成,以便于能快速地訪問所存儲(chǔ)的數(shù)據(jù),以及存儲(chǔ)裝置68由可提供大容量的永久存儲(chǔ)能力的硬盤、磁帶、或者光碟構(gòu)成。
重構(gòu)裝置可以使用微處理器和軟件的組合。然而,速度要求促使本領(lǐng)域的技術(shù)人員使用通過軟件編程的信號(hào)處理處理器或者以邏輯門網(wǎng)絡(luò)形式實(shí)施功能的邏輯電路。通常,軟件是計(jì)算機(jī)程序產(chǎn)品的形式,其包括記錄在計(jì)算機(jī)可讀取媒介上的程序代碼指令,以執(zhí)行所述存儲(chǔ)方法的步驟。該方法的另一變換例包含暫時(shí)存儲(chǔ)和所使用計(jì)算裝置的容量之間的折衷、一旦圖像的暫時(shí)存儲(chǔ)超出預(yù)定容量就由暫時(shí)存儲(chǔ)器所包含的圖像來重構(gòu)關(guān)鍵圖像,以及隨后在暫時(shí)存儲(chǔ)器中僅僅只保留重構(gòu)的關(guān)鍵圖像和后續(xù)的中間圖像。應(yīng)該理解的是,這種操作有可能減小暫時(shí)存儲(chǔ)容量大小對(duì)其它重構(gòu)操作的損害。本發(fā)明已經(jīng)在附圖及其描述中進(jìn)行了詳細(xì)的闡述和討論。上述描述必須被認(rèn)為是說明性的并且以實(shí)施例方式給出的,且不僅限于以上所闡述的內(nèi)容。有可能會(huì)有多種不同的變化例。例如,諸如H264標(biāo)準(zhǔn)的其它標(biāo)準(zhǔn)也可適用于所述方法的使用。同樣,在重構(gòu)對(duì)應(yīng)開始記錄的I圖像之后,隨后緊接的幀的編碼需要進(jìn)行重新的編碼,使其能包括與重構(gòu)I圖像的差異。在權(quán)利要求中,術(shù)語(yǔ)“包括”不限制其他的元素以及不定冠詞“一”不排除多個(gè)。
權(quán)利要求
1.一種適用于存儲(chǔ)壓縮視頻流部分的方法,所述壓縮視頻數(shù)據(jù)流包括一系列的壓縮關(guān)鍵圖像(I),在所述關(guān)鍵圖像之間插入至少包括在未壓縮的中間圖像和最近先前壓縮關(guān)鍵圖像之間差異的編碼,所述方法包括 獲取步驟(50),用于實(shí)時(shí)獲取壓縮視頻流; 暫時(shí)存儲(chǔ)步驟(52),用于暫時(shí)存儲(chǔ)已獲取且未解壓縮的壓縮視頻流,所述暫時(shí)存儲(chǔ)至少包括所接收到的最后的壓縮關(guān)鍵圖像(I)和后續(xù)中間幀01,22,23); 一旦以給定時(shí)間接收到(54)永久存儲(chǔ)開始事件(D)眷根據(jù)所接收到的最后壓縮的關(guān)鍵圖像以及后續(xù)中間幀,重構(gòu)(56)對(duì)應(yīng)于所述給定時(shí)間的壓縮關(guān)鍵圖像(F); 存儲(chǔ)(58)以重構(gòu)的壓縮關(guān)鍵幀開始的視頻流部分。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,當(dāng)視頻流的暫時(shí)存儲(chǔ)超出預(yù)定存儲(chǔ)的容量時(shí),壓縮關(guān)鍵圖像由所述接收到的最后壓縮關(guān)鍵圖像和后續(xù)中間幀來重構(gòu),并且隨后由重構(gòu)的壓縮關(guān)鍵圖像(38)替代暫時(shí)存儲(chǔ)器的最后壓縮關(guān)鍵圖像(I)。
3.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述壓縮視頻數(shù)據(jù)流是根據(jù)IS0/IEC 13818-MPEG-2、IS0/IEC 14496-MPEG-4 和! 64 標(biāo)準(zhǔn)之一進(jìn)行編碼的視頻流。
4.一種計(jì)算機(jī)程序產(chǎn)品,其包括記錄在計(jì)算機(jī)可讀取媒介上的程序代碼指令,以便計(jì)算機(jī)運(yùn)行所述程序時(shí)能執(zhí)行根據(jù)權(quán)利要求1至3所述方法的步驟。
5.一種適用于存儲(chǔ)壓縮視頻流部分的裝置,所述壓縮視頻流包括一系列壓縮關(guān)鍵圖像,在所述關(guān)鍵圖像之間插入至少包括在未壓縮中間圖像和最近先前的關(guān)鍵圖像之間差異的編碼,所述裝置包括 獲取裝置(60),用于實(shí)時(shí)獲取壓縮的視頻流; 接收裝置(62),用于以給定時(shí)間接收永久存儲(chǔ)器開始事件(D),所述部件連接至觸發(fā)裝置(64); 存儲(chǔ)裝置(66),用于存儲(chǔ)從給定時(shí)間開始的視頻流部分,其特征在于進(jìn)一步包括 暫時(shí)存儲(chǔ)裝置(68),用于存儲(chǔ)已獲取且未解壓縮的視頻流,所述暫時(shí)存儲(chǔ)部件至少包括所接收到的最后的壓縮關(guān)鍵圖像⑵和后續(xù)中間幀01、22、23);以及, 重構(gòu)裝置(70),用于根據(jù)所述接收到的最后壓縮關(guān)鍵圖像( 及后續(xù)中間幀01、 22,23)來重構(gòu)對(duì)應(yīng)于給定時(shí)間的壓縮關(guān)鍵圖像(F),使得所存儲(chǔ)的視頻流的部分從所述重構(gòu)壓縮關(guān)鍵圖像開始。
全文摘要
本發(fā)明涉及一種適用于存儲(chǔ)壓縮視頻流部分的方法,所述壓縮視頻數(shù)據(jù)流包括一系列的壓縮關(guān)鍵圖像,在所述關(guān)鍵圖像之間插入至少包括在未壓縮的中間圖像和最近先前壓縮關(guān)鍵圖像之間差異的編碼,所述方法包括獲取步驟(50),用于實(shí)時(shí)獲取壓縮視頻流;暫時(shí)存儲(chǔ)步驟(52),用于暫時(shí)存儲(chǔ)已獲取且未解壓縮的壓縮視頻流,所述暫時(shí)存儲(chǔ)至少包括所接收到的最后的壓縮關(guān)鍵圖像和后續(xù)中間幀;一旦以給定時(shí)間接收到(54)永久存儲(chǔ)開始事件根據(jù)所接收到的最后壓縮的關(guān)鍵圖像以及后續(xù)中間幀,重構(gòu)(56)對(duì)應(yīng)于所述給定時(shí)間的壓縮關(guān)鍵圖像;存儲(chǔ)(58)以重構(gòu)的壓縮關(guān)鍵幀開始的視頻流部分。
文檔編號(hào)H04N7/26GK102450013SQ201080023613
公開日2012年5月9日 申請(qǐng)日期2010年3月23日 優(yōu)先權(quán)日2009年3月24日
發(fā)明者弗洛倫特·普雷維塔利, 托馬斯·鮑通 申請(qǐng)人:Streamwide公司