專(zhuān)利名稱(chēng):編碼器以及用于編碼的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及編碼器以及用于編碼的方法。
背景技術(shù):
可以以數(shù)字編碼數(shù)據(jù)的形式對(duì)信息,如音頻和視覺(jué)信息,加以利用??梢詫蝹€(gè)靜止畫(huà)面看作映射到柵格上的模擬圖像的例子,這里稱(chēng)之為“幀”??梢杂枚鄠€(gè)幀表示運(yùn)動(dòng)的畫(huà)面。根據(jù)需要的顯示格式,靜止的和運(yùn)動(dòng)的畫(huà)面都可以具有與之伴隨的音軌。為了節(jié)省存儲(chǔ)器、帶寬以及其它資源,可以按照以不同的壓縮標(biāo)準(zhǔn)進(jìn)行編碼的數(shù)據(jù)流,在多個(gè)位置之間將靜止和運(yùn)動(dòng)的畫(huà)面與其相關(guān)的音軌一起進(jìn)行傳輸,包括利用運(yùn)動(dòng)圖像專(zhuān)家組進(jìn)行傳播的畫(huà)面。
最好通過(guò)將經(jīng)過(guò)編碼的靜止和運(yùn)動(dòng)畫(huà)面流段,包括相關(guān)的音軌,融為一體,建立單個(gè)數(shù)據(jù)流。但是,會(huì)出現(xiàn)與對(duì)不同幀速率的數(shù)據(jù)流進(jìn)行組合有關(guān)的問(wèn)題。
發(fā)明概述本發(fā)明的一方面提供一種設(shè)備,包括用于發(fā)送與包含在第一流段中的幀有關(guān)的多個(gè)幀速率指示的裝置,和用于接收多個(gè)幀速率指示并且生成一個(gè)與包含在第二流段中的幀有關(guān)的非預(yù)報(bào)幀的裝置。
本發(fā)明的另一方面提供一種系統(tǒng),包括一個(gè)編輯器,用于接收多個(gè)流段并且提供與包含在所述多個(gè)流段中的一個(gè)流段中的幀有關(guān)的時(shí)間標(biāo)記;一個(gè)協(xié)調(diào)器,用于對(duì)所述時(shí)間標(biāo)記進(jìn)行調(diào)節(jié)并且根據(jù)所述多個(gè)流段建立一個(gè)單個(gè)流;一個(gè)打包器,用于接收所述單個(gè)流并且確定多個(gè)編碼參數(shù);以及一個(gè)編碼器,用于對(duì)來(lái)自打包器(114)的幀提出請(qǐng)求并且根據(jù)所述多個(gè)編碼參數(shù)對(duì)幀進(jìn)行編碼。
本發(fā)明的另一方面提供一種方法,包括減少第一流段與第二流段之間的時(shí)間差異;對(duì)所述第一流段與所述第二流段進(jìn)行組合,以提供一個(gè)單個(gè)流;按照相關(guān)的第一幀速率,對(duì)包含在所述單個(gè)流中的第一幀進(jìn)行編碼;以及按照相關(guān)的第二幀速率,對(duì)包含在所述單個(gè)流中的第二幀進(jìn)行編碼,其中,所述第二幀速率與所述第一幀速率不同。
附圖簡(jiǎn)要說(shuō)明
圖1為按照本發(fā)明不同實(shí)施例的設(shè)備,一種包括可機(jī)械存取的介質(zhì)的裝置,以及系統(tǒng)的框圖;圖2為示出了按照本發(fā)明實(shí)施例的方法的流程圖。
發(fā)明詳細(xì)描述在以下對(duì)本發(fā)明的不同實(shí)施例進(jìn)行的詳細(xì)描述中,對(duì)形成其一部分的附圖進(jìn)行參考,附圖中所示是為了進(jìn)行說(shuō)明而非進(jìn)行限制,可以按照其中的特定實(shí)施例實(shí)施本發(fā)明。對(duì)所示的實(shí)施例進(jìn)行充分詳細(xì)的描述,以使本領(lǐng)域技術(shù)人員能夠?qū)@里所披露的思路加以實(shí)施??梢杂纱说玫讲⑶依闷渌鼘?shí)施例,從而在不脫離本披露的范圍的情況下,進(jìn)行結(jié)構(gòu)和邏輯上的替換和改變。因此,不是利用以下的詳細(xì)描述進(jìn)行限制,而且僅由所附權(quán)利要求對(duì)本發(fā)明的各個(gè)實(shí)施例的范圍以及本權(quán)利要求所授權(quán)的等價(jià)物的完整范圍進(jìn)行規(guī)定。
在將它們組合為單個(gè)流之前,可以按照幀速率將靜止和運(yùn)動(dòng)畫(huà)面的編碼流段分配給各自的輸入數(shù)據(jù)流。例如,可以將靜止畫(huà)面段分配給第一輸入流,將幀速率為十幀每秒(FPS)的運(yùn)動(dòng)畫(huà)面段分配給第二輸入流,將速率為十二FPS的運(yùn)動(dòng)畫(huà)面段分配給第三輸入流,將音頻段分配給第四流,依此類(lèi)推。
每個(gè)視頻段具有一個(gè)應(yīng)該非常精密地與相關(guān)的音軌段對(duì)齊的指定開(kāi)始時(shí)間,以避免明顯的音頻/視頻同步問(wèn)題。但是,由于不是必須使在各個(gè)流段中的幀持續(xù)同步相關(guān),并且由于應(yīng)該使相關(guān)的音軌段同步,因此,在正顯示來(lái)自一個(gè)段的最后圖像的同時(shí)可能出現(xiàn)在另一段中的第一圖像。因此,為了保持顯示的連續(xù)性,可能需要改變幀顯示的次數(shù)。不幸的是,可用的編碼器可能不支持對(duì)靜止和運(yùn)動(dòng)畫(huà)面的輸入幀速率或者流段同步進(jìn)行動(dòng)態(tài)修改。
為了使這里進(jìn)行的討論清晰,提供了幾個(gè)定義幀——單個(gè)圖像,它可以是映射在柵格上的模擬圖像的樣本;幀可以編碼(例如壓縮)或不編碼;幀可能與持續(xù)時(shí)間(例如顯示時(shí)間)或“幀速率”聯(lián)系在一起,可以將“幀速率”定義為1/持續(xù)時(shí)間。
運(yùn)動(dòng)圖像專(zhuān)家組(MPEG)標(biāo)準(zhǔn)——包括ISO/IEC JTC1/SC29/WG11International Standard的部分1、2、和4(和/或后面的部分)中一個(gè)或多個(gè),例如,Coding Of Moving Pictures And Associated Audio ForDigital Storage Media At Up To About 1.5Mbit/s,MPEG-1International Standard,ISO/IEC 11172 Parts 1-5,1993-1998;Generic Coding Of Moving Pictures And Associated AudioInformation,MPEG-2 International Standard,ISO/IEC 13818 Parts1-10,1996-2000;以及Coding Of Moving Pictures And Audio,MPEG-4 International Standard,ISO/IEC JTC1/SC29/WG11 N4668,March2002,這里將它們中的每一個(gè)全文引用為參考。
運(yùn)動(dòng)畫(huà)面段——包括多個(gè)不完全相同的幀,每個(gè)幀與不同的靜止畫(huà)面有關(guān)。
靜止畫(huà)面段——包括一個(gè)或多個(gè)幀,每個(gè)幀都與相同的靜止畫(huà)面有關(guān)。
單個(gè)流——包括一個(gè)或多個(gè)靜止畫(huà)面段、一個(gè)或多個(gè)運(yùn)動(dòng)畫(huà)面段、或靜止和運(yùn)動(dòng)畫(huà)面段的任何組合;在單個(gè)流中的運(yùn)動(dòng)畫(huà)面段可以涉及相同的幀速率或不同的幀速率。
MPEG編碼器根據(jù)幀中的空間和經(jīng)過(guò)多個(gè)幀的時(shí)間,壓縮圖像。未經(jīng)編碼的幀用作開(kāi)始點(diǎn),編碼器產(chǎn)生I(即,內(nèi)部)幀以及P和B幀(即,分別為單向預(yù)報(bào)幀和雙向預(yù)報(bào)幀),其中,根據(jù)空間而非時(shí)間對(duì)I幀進(jìn)行壓縮,P和B幀使用來(lái)自編碼流中的其它幀的數(shù)據(jù),如I幀以及其它P和B幀,以便重構(gòu)圖像。這使得能夠根據(jù)時(shí)間對(duì)圖像樣本進(jìn)行壓縮。I、P和B幀的順序稱(chēng)為圖像組(GOP)結(jié)構(gòu)。
可以給編碼器提供輸入幀速率固定的流段。例如,如果要按照30 FPS將靜止圖像顯示3秒鐘,則編碼器應(yīng)該接收90個(gè)圖像拷貝。如果要按照30 FPS的輸出幀速率顯示原始幀速率為10 FPS的運(yùn)動(dòng)畫(huà)面,則對(duì)每個(gè)幀來(lái)說(shuō),編碼器應(yīng)該接收3個(gè)拷貝。某些編碼器可能在輸入端接收一幀,而在內(nèi)部產(chǎn)生附加幀。另一些編碼器可能使附加圖像在外部生成。但是,由于這些編碼器要求輸入幀速率固定不變,因此,在提供給編碼器之前生成附加輸入圖像。這樣的操作會(huì)消耗時(shí)間,尤其當(dāng)將靜止和運(yùn)動(dòng)畫(huà)面組成單個(gè)流時(shí),還要在編碼器中利用額外處理。
本發(fā)明的實(shí)施例可以利用各種技術(shù),在充分保持單個(gè)輸出流的質(zhì)量的同時(shí),減少用于輸入流段的這種處理的量。這些技術(shù)的組合可以使每個(gè)幀在編碼器中出現(xiàn)一次。
第一技術(shù)包括在保持與相關(guān)的音軌對(duì)齊的同時(shí),以保持在運(yùn)動(dòng)畫(huà)面段中的每個(gè)幀的持續(xù)時(shí)間的方式,使幀顯示時(shí)間彼此對(duì)齊。計(jì)算在運(yùn)動(dòng)畫(huà)面段中的每個(gè)幀的開(kāi)始和結(jié)束時(shí)間。當(dāng)需要時(shí),對(duì)這些時(shí)間進(jìn)行調(diào)整,以便能夠?qū)⒃谇暗膸@示足夠的顯示時(shí)間??梢詫?duì)靜止畫(huà)面段的顯示時(shí)間進(jìn)行調(diào)整,以便能夠使運(yùn)動(dòng)畫(huà)面流段在要求它們的時(shí)間開(kāi)始。
為了由編碼器,如MPEG編碼器,進(jìn)行接收,第二技術(shù)發(fā)送幀速率指示,以便發(fā)出改變了用于輸入段的經(jīng)過(guò)編碼的幀速率的信號(hào)。在響應(yīng)方面,編碼器對(duì)為每個(gè)輸入幀建立的經(jīng)過(guò)編碼的輸出幀的數(shù)量進(jìn)行調(diào)節(jié),以便與由接收到的幀速率指示所生成的要求一致。
為了由編碼器進(jìn)行接收,第三技術(shù)發(fā)送段類(lèi)型指示,以便發(fā)出改變了用于輸入段的經(jīng)過(guò)編碼的段類(lèi)型(即,靜止或運(yùn)動(dòng)畫(huà)面)的信號(hào)。在響應(yīng)方面,編碼器生成空的P和B幀,用于靜止畫(huà)面段的持續(xù)時(shí)間。
第四技術(shù)要求編碼器改變其GOP結(jié)構(gòu),以便生成與每個(gè)靜止畫(huà)面段的開(kāi)始相關(guān)的I幀。
圖1為按照本發(fā)明不同實(shí)施例的設(shè)備,一種包括可機(jī)械存取的介質(zhì)的產(chǎn)品,以及系統(tǒng)的框圖。例如,在第一實(shí)施例中,系統(tǒng)100包括編輯器110、協(xié)調(diào)器112、打包器114以及編碼器116。按照需要,這些部件110、112、114和116中的每個(gè)部件都能夠通過(guò)通信與一個(gè)或所有其它部件進(jìn)行耦合。
可以以段的形式顯示多種來(lái)源的原始圖像數(shù)據(jù),其中,每段具有一個(gè)或多個(gè)幀。例如,原始圖像數(shù)據(jù)可以包括一個(gè)或多個(gè)運(yùn)動(dòng)畫(huà)面段A、一個(gè)或多個(gè)靜止畫(huà)面段B以及一個(gè)或多個(gè)伴音段n??梢杂删庉嬈?10接收段A,B,...,n,編輯器110將時(shí)間標(biāo)記(包括開(kāi)始時(shí)間和/或結(jié)束時(shí)間的每個(gè)時(shí)間標(biāo)記)與包括在段A,B,...,n中的每個(gè)幀聯(lián)系起來(lái)。將段A,B,...,n和它們相應(yīng)的時(shí)間標(biāo)記分別表示為A′,B′,...,n′。多半以一個(gè)或多個(gè)載波的形式向協(xié)調(diào)器112發(fā)送被加上時(shí)間標(biāo)記的段A′,B′,...,n′,并且由協(xié)調(diào)器112接收。
如果需要,可以由協(xié)調(diào)器112對(duì)用于包括在任何一個(gè)或所有段A′,B′,...,n′中的一個(gè)或多個(gè)幀的時(shí)間標(biāo)記進(jìn)行調(diào)節(jié)。例如,可以將在運(yùn)動(dòng)畫(huà)面段A′、靜止畫(huà)面段B′和/或伴音段n′的每個(gè)幀中開(kāi)始時(shí)間和/或結(jié)束時(shí)間中的每一個(gè)改變?yōu)楦绲臅r(shí)間或更晚的時(shí)間。
允許運(yùn)動(dòng)畫(huà)面段A′按照時(shí)間移動(dòng),但不改變它們的持續(xù)時(shí)間,盡管本發(fā)明的實(shí)施例不限于此。例如,在Tb=1.00分開(kāi)始并且在Te=2.00分結(jié)束的運(yùn)動(dòng)畫(huà)面段A′可以將開(kāi)始和結(jié)束時(shí)間分別改變?yōu)門(mén)b=1.15分和Te=2.15分。
允許靜止畫(huà)面段B′按照時(shí)間移動(dòng),并且可以按照需要改變它們的持續(xù)時(shí)間,盡管本發(fā)明的實(shí)施例不限于此。例如,在Tb=2.25分開(kāi)始并且在Te=2.95分結(jié)束的靜止畫(huà)面段B′可以將開(kāi)始時(shí)間改變?yōu)門(mén)b=2.15分而結(jié)束時(shí)間Te保持不變。與運(yùn)動(dòng)畫(huà)面段A′或靜止畫(huà)面段B′相關(guān)的音頻段n′可以以相似的方式對(duì)相關(guān)的開(kāi)始和結(jié)束時(shí)間進(jìn)行調(diào)節(jié)。
在對(duì)用于段A′,B′,...,n′的一個(gè)或多個(gè)時(shí)間標(biāo)記進(jìn)行調(diào)節(jié)之后,協(xié)調(diào)器可以建立一個(gè)或多個(gè)單個(gè)流124、128和132,它們分別包括段A′,B′,...,和/或n′以及相關(guān)的、經(jīng)過(guò)調(diào)節(jié)的時(shí)間標(biāo)記ta,tb,...,tn??梢砸匀我饨M合將段A′,B′,...,n′以及相關(guān)的、經(jīng)過(guò)調(diào)節(jié)的時(shí)間標(biāo)記ta,tb,...,tn分配給流124、128和132中的任何一個(gè)或多個(gè)。例如,盡管本發(fā)明的實(shí)施例不限于此,但是,可以將音頻段n′以及相關(guān)的、經(jīng)過(guò)調(diào)節(jié)的時(shí)間標(biāo)記tn分配給音頻流124。盡管本發(fā)明的實(shí)施例不限于此,但是,可以將運(yùn)動(dòng)畫(huà)面段A′和靜止畫(huà)面段B′以及相關(guān)的、經(jīng)過(guò)調(diào)節(jié)的時(shí)間標(biāo)記ta,tb分配給低分辨率流128或高分辨率流132。
多半以一個(gè)或多個(gè)載波的形式將單個(gè)流124、128和132發(fā)送到打包器114并且由打包器114接收。然后,由打包器114讀取流124、128和132并且給編碼器116發(fā)送一個(gè)或多個(gè)初始參數(shù)134,以確定編碼器116的輸出,如輸出幀速率和編碼類(lèi)型,再按照需要給編碼器116提供數(shù)據(jù)134。可以以一個(gè)或多個(gè)載波的形式向編碼器116發(fā)送數(shù)據(jù)134和參數(shù)134并且由編碼器116接收。
例如,編碼器116可以要求包括在來(lái)自打包器114的流124、128和132中的任何一個(gè)中的單獨(dú)的幀136。由于系統(tǒng)100的操作方式,盡管本發(fā)明的實(shí)施例不限于此,但是,可以將每個(gè)單獨(dú)的幀從打包器114向編碼器116發(fā)送一次。
在編碼器116進(jìn)行處理之后,向打包器114發(fā)送經(jīng)過(guò)編碼的數(shù)據(jù)140并且由打包器114接收。然后將經(jīng)過(guò)編碼的數(shù)據(jù)140放入一個(gè)或多個(gè)輸出流01,02,...,0n中,可以將它們依次寫(xiě)入由其它模塊(沒(méi)有示出)使用的文件。盡管本發(fā)明的實(shí)施例不限于此,但是,每個(gè)輸出流01,02,...,0n可以具有單個(gè)的、大致固定的幀速率(例如,按照參數(shù)134所確定的)。
編碼器116可以包括一個(gè)接口數(shù)據(jù)區(qū)域144,它包括多個(gè)輸入?yún)?shù)和輸出參數(shù)IA,IB,...,In??梢栽O(shè)置用于每個(gè)輸入幀136的輸入?yún)?shù),并且輸入?yún)?shù)可以包括指向幀數(shù)據(jù)的指針、段類(lèi)型指示(例如,該幀是包括在靜止畫(huà)面段還是運(yùn)動(dòng)畫(huà)面段中)、與幀有關(guān)的幀速率指示、電視編碼標(biāo)準(zhǔn)(例如,NTSC或PAL)、輸入彩色格式(例如,用于Apple計(jì)算機(jī)的RGB24或者用于Windows計(jì)算機(jī)的RGB24)、輸出的寬度和高度、輸出的幀速率、編碼表說(shuō)明、長(zhǎng)寬比和靜止畫(huà)面段的持續(xù)時(shí)間(這使得編碼器能夠生成一組I、P和B幀,以便立即對(duì)所有靜止段進(jìn)行編碼)等等。還可以對(duì)輸出參數(shù)進(jìn)行設(shè)置,并且當(dāng)要將數(shù)據(jù)寫(xiě)入文件時(shí),輸出參數(shù)可以包括數(shù)據(jù)的地址以及對(duì)音頻和視頻數(shù)據(jù)的要求等等。
當(dāng)在靜止畫(huà)面段中包括幀136時(shí),編碼器116可以立即生成與靜止畫(huà)面段相關(guān)的非預(yù)報(bào)幀,如I幀(即,如MPEG標(biāo)準(zhǔn)定義的內(nèi)部幀)。按照需要,編碼器還可以生成后續(xù)的、空的B和P幀,這樣可以減少由輸出流140所使用的帶寬,以及由后續(xù)的解碼器(沒(méi)有示出)所執(zhí)行的處理。
由此可見(jiàn),本發(fā)明的另一個(gè)實(shí)施例包括由用于發(fā)送與包括在第一流段A′中的一個(gè)或多個(gè)幀F(xiàn)R1有關(guān)的多個(gè)幀速率指示IA的裝置114和用于接收多個(gè)幀速率指示IA的裝置116組成的設(shè)備150。多個(gè)幀速率指示IA中的一個(gè)或多個(gè)可以是幀數(shù)每秒。
可以利用裝置116生成與包括在靜止畫(huà)面段B′中的幀F(xiàn)R2有關(guān)的非預(yù)報(bào)幀I。設(shè)備150還可以包括用于生成與非預(yù)報(bào)幀I有關(guān)的一個(gè)或多個(gè)空預(yù)報(bào)幀(例如,如MPEG標(biāo)準(zhǔn)所定義的B和/或P幀)的裝置116,以及用于調(diào)節(jié)與第一流段A′有關(guān)的一個(gè)或多個(gè)時(shí)間標(biāo)記ta的裝置112。如上所述,一個(gè)或多個(gè)時(shí)間標(biāo)記ta,tb,...,tn可以包括開(kāi)始時(shí)間和/或結(jié)束時(shí)間。
用于接收多個(gè)幀速率指示IA的裝置116還可以包括用于接收段類(lèi)型指示IB的裝置144??梢詮挠伸o止畫(huà)面段和運(yùn)動(dòng)畫(huà)面段構(gòu)成的組中選擇段類(lèi)型指示IB。
在另一個(gè)實(shí)施例中,系統(tǒng)100可以包括用于接收多個(gè)流段A,B,...,n的編輯器模塊110。編輯器模塊110可以提供與包括在多個(gè)流段A,B,...,n中的一個(gè)流段中的一個(gè)或多個(gè)幀有關(guān)的時(shí)間標(biāo)記。流段A,B,...,n可以包括運(yùn)動(dòng)畫(huà)面流段和靜止畫(huà)面段。任何一個(gè)運(yùn)動(dòng)畫(huà)面流段(例如A)可以具有與另一個(gè)運(yùn)動(dòng)畫(huà)面流段(例如B)不同的幀速率或者相同的幀速率。系統(tǒng)100還可以包括用于對(duì)時(shí)間標(biāo)記進(jìn)行調(diào)節(jié)并且根據(jù)多個(gè)流段A,B,...,n建立一個(gè)或多個(gè)單個(gè)流124、128和132的協(xié)調(diào)器模塊112,以及用于接收單個(gè)流124、128和132并且確定編碼參數(shù)IA,IB,...,In的打包器模塊114。
系統(tǒng)100還可以包括用于從打包器模塊114請(qǐng)求一個(gè)或多個(gè)幀136并且根據(jù)多個(gè)編碼參數(shù)IA,IB,...,In對(duì)幀136進(jìn)行編碼的編碼器模塊116。編碼器模塊116可以包括用于存儲(chǔ)多個(gè)編碼參數(shù)IA,IB,...,In的接口數(shù)據(jù)區(qū)域144,編碼參數(shù)可以包括多個(gè)輸入編碼參數(shù),如段類(lèi)型和輸出幀速率,以及多個(gè)輸出編碼參數(shù)。
圖2我示出了按照本發(fā)明的實(shí)施例的方法的流程圖。方法215可以包括通過(guò)各種信號(hào)源(例如,計(jì)算機(jī)工作站或包括在網(wǎng)絡(luò),如包括因特網(wǎng)在內(nèi)的環(huán)球計(jì)算機(jī)網(wǎng)絡(luò),中的節(jié)點(diǎn))提供多個(gè)流段。因此,方法215可以包括在框223提供第一流段(例如,運(yùn)動(dòng)畫(huà)面段或靜止畫(huà)面段),并且在框227提供第二流段(例如,運(yùn)動(dòng)畫(huà)面段或靜止畫(huà)面段)。
接著,在框233,方法215使在第一和第二流段之間的時(shí)間差異減少。例如,這可以包括在框237將與包含在這兩個(gè)流段中的任何一個(gè)中的一個(gè)或多個(gè)幀有關(guān)的開(kāi)始和/或結(jié)束時(shí)間調(diào)整到更早的時(shí)間或更晚的時(shí)間。
接著,在框243,方法215對(duì)第一和第二流段進(jìn)行組合,以提供一個(gè)或多個(gè)單個(gè)流,并且發(fā)送由打包器接收的單個(gè)流,例如,在框247,讀取流。
在框253,編碼器可以準(zhǔn)備對(duì)幀數(shù)據(jù)進(jìn)行接收,多半在框257對(duì)編碼器進(jìn)行初始化,然后在框263將輸入和輸出參數(shù)發(fā)送到編碼器。在框267,可以由編碼器按照對(duì)數(shù)據(jù)的要求開(kāi)始進(jìn)行編碼。
在框273的處理操作可以包括與相關(guān)的第一幀速率一起發(fā)送由編碼器接收的,包含在單個(gè)流中的第一幀,并且按照相關(guān)的第一幀速率對(duì)第一幀進(jìn)行編碼。由此,可以由編碼器接收與在單個(gè)流中的一個(gè)或多個(gè)幀有關(guān)的幀速率指示以及段類(lèi)型指示。幀速率指示可以是不同的或者是相同的。相似地,段類(lèi)型指示可以是相同的或者是不同的。應(yīng)該注意,第一幀可以是例如包含的運(yùn)動(dòng)畫(huà)面段中的一系列幀中的第一幀。
按照在框277判斷,如果對(duì)第一幀的處理沒(méi)有完成,則繼續(xù)在框273進(jìn)行處理。否則,在框283,多半將用于第一幀的經(jīng)過(guò)編碼的數(shù)據(jù)從編碼器返回到打包器,在框293,將經(jīng)過(guò)編碼的數(shù)據(jù)添加到輸出流。
按照在框293的判斷,如果完成了對(duì)段中的最后幀的處理,則方法215可以進(jìn)行到框295。否則,方法215可以在框267對(duì)用于更多數(shù)據(jù)的請(qǐng)求繼續(xù)進(jìn)行處理。在框273的處理操作可以包括與相關(guān)的第二幀速率一起發(fā)送由編碼器接收的,包含在單個(gè)流中的第二幀,并且按照相關(guān)的第二幀速率對(duì)第二幀進(jìn)行編碼。第一和第二幀速率可以是相同的或者是不同的。例如,第二幀可以是靜止幀,或者是在包含在第二運(yùn)動(dòng)畫(huà)面段中的另一系列幀中的第一幀??梢园凑杖我馓?hào)碼的標(biāo)準(zhǔn)進(jìn)行編碼,這些標(biāo)準(zhǔn)包括MPEG標(biāo)準(zhǔn)如MPEG-1、MPEG-2和/或MPEG-4或者其它版本的MPEG標(biāo)準(zhǔn),或者其它標(biāo)準(zhǔn)如包括H.261和H.263標(biāo)準(zhǔn)的國(guó)際電信同盟標(biāo)準(zhǔn)(ITU-T標(biāo)準(zhǔn)),這里將它們的全文引用為參考。
按照在框277判斷,如果對(duì)第二幀的處理沒(méi)有完成,則繼續(xù)在框273進(jìn)行處理。否則,在框283,多半將用于第二幀的經(jīng)過(guò)編碼的數(shù)據(jù)從編碼器返回到打包器,在框293,將經(jīng)過(guò)編碼的數(shù)據(jù)添加到輸出流。
按照在框293的判斷,如果完成了對(duì)段中的最后幀的處理,則方法215可以進(jìn)行到框295。否則,如上所述,方法215可以在框267通過(guò)請(qǐng)求更多數(shù)據(jù)繼續(xù)進(jìn)行處理。例如,在框273的處理操作可以包括發(fā)送由編碼器接收的,包含在單個(gè)流中的第三幀(例如,包含在靜止畫(huà)面中的第三幀),并且生成與第三幀有關(guān)的非預(yù)報(bào)幀(例如,內(nèi)部的或I幀)。在框273的處理操作還可以包括生成與第三幀有關(guān)的一個(gè)或多個(gè)空預(yù)報(bào)幀(例如,B和/或P幀)。一般來(lái)說(shuō),盡管本發(fā)明的實(shí)施例不限于此,但是向編碼器發(fā)送一次第三幀。此外,可以以比編碼器生成對(duì)應(yīng)組的幀的第二次數(shù)少的第一次數(shù)將第三幀發(fā)送給編碼器。例如,即使編碼器生成了九十個(gè)I、B和/或P幀,也可以將各個(gè)幀發(fā)送給編碼器兩次。
如果在框295確定了單個(gè)流的結(jié)尾,則方法215可以以將流指示結(jié)尾發(fā)送給編碼器來(lái)結(jié)束,并且在框297對(duì)保留了經(jīng)過(guò)編碼的數(shù)據(jù)的編碼器進(jìn)行刷新。
應(yīng)該注意,這里所描述的方法不是必須按照所描述的順序或按照特定的順序執(zhí)行。此外,根據(jù)這里所認(rèn)定的方法而描述的各種操作可以以串行或者并行的方式執(zhí)行??梢砸砸粋€(gè)或多個(gè)載波的形式發(fā)送并且接收包括幀、參數(shù)、指令等的信息以及其它數(shù)據(jù)。
這里,可以將系統(tǒng)100、編輯器110、協(xié)調(diào)器112、打包器114、編碼器116、流124、128、132、接口144以及設(shè)備150都稱(chēng)為“模塊”。如系統(tǒng)100和設(shè)備150的設(shè)計(jì)者所描述的,這些模塊可以包括硬件、電路和/或微處理器和/或存儲(chǔ)器電路、軟件程序模塊和/或固件以及它們的組合,并且適合于本發(fā)明的特定實(shí)施例。例如,可以將編輯器110、協(xié)調(diào)器112、打包器114和編碼器116組合為單個(gè)硬件和/或軟件和/或固件模塊,或者如所述,組成任意數(shù)量的這種模塊(例如,兩個(gè)、三個(gè)四個(gè)或多個(gè))。
在閱讀了本披露之后,本領(lǐng)域技術(shù)人員應(yīng)該理解,可以將本發(fā)明的各個(gè)實(shí)施例的設(shè)備和系統(tǒng)用在除了視聽(tīng)表現(xiàn)以外的場(chǎng)合,由此,本發(fā)明的實(shí)施例不限于此。對(duì)系統(tǒng)100和設(shè)備150進(jìn)行說(shuō)明的意圖在于提供對(duì)本發(fā)明的各種實(shí)施例的結(jié)構(gòu)的總體理解,而不是要對(duì)可能利用這里所描述的結(jié)構(gòu)的設(shè)備和系統(tǒng)的所有要素和特征進(jìn)行完整的描述。
能夠包括本發(fā)明的各種實(shí)施例的新穎設(shè)備和系統(tǒng)的應(yīng)用包括在高速計(jì)算機(jī)中使用的電子電路和軟件、通信和信號(hào)處理電路、調(diào)制解調(diào)器、處理器模塊、嵌入式處理器以及包括多層、多芯片模塊的專(zhuān)用模塊等。還可以將這種設(shè)備和系統(tǒng)作為子部件包括在各種電子系統(tǒng)中,如電視機(jī)、移動(dòng)電話、傳真機(jī)、個(gè)人計(jì)算機(jī)、收音機(jī)以及汽車(chē)等。
因此,現(xiàn)在容易理解,本發(fā)明的另一個(gè)實(shí)施例可以包括產(chǎn)品100,如計(jì)算機(jī)、存儲(chǔ)器系統(tǒng)、磁盤(pán)或光盤(pán)、某些其它存儲(chǔ)器件和/或任何類(lèi)型的電子設(shè)備或系統(tǒng),包括具有有關(guān)數(shù)據(jù)110、112、114和/或116(例如,計(jì)算機(jī)程序指令)的機(jī)械可存取介質(zhì)150(例如,包括電、光學(xué)或電磁導(dǎo)體的存儲(chǔ)器),當(dāng)對(duì)其進(jìn)行訪問(wèn)時(shí),產(chǎn)生機(jī)械操作的執(zhí)行動(dòng)作,包括減少第一流段與第二流段之間的時(shí)間差異,對(duì)第一流段與第二流段進(jìn)行組合以便提供單個(gè)流,在編碼器與相關(guān)的第一幀速率一起接收包含在單個(gè)流中的第一幀,按照相關(guān)的第一幀速率對(duì)第一幀進(jìn)行編碼,在編碼器與相關(guān)的第二幀速率一起接收包含在單個(gè)流中的第二幀,按照相關(guān)的第二幀速率對(duì)第二幀進(jìn)行編碼。如前面所注意的,第一和第二幀速率可以是不同的或相同的。
減少第一流段與第二流段之間的時(shí)間差異可以包括將與第二流段有關(guān)的開(kāi)始時(shí)間調(diào)節(jié)為更早的時(shí)間或更晚的時(shí)間。按照相關(guān)的第一幀速率對(duì)第一幀進(jìn)行編碼可以包括根據(jù)MPEG標(biāo)準(zhǔn)對(duì)第一幀進(jìn)行編碼。其它操作包括在編碼器接收與第一幀有關(guān)的第一段類(lèi)型指示,以及在編碼器接收與第二幀有關(guān)的第二段類(lèi)型指示。第一和第二段類(lèi)型指示可以是不同的或相同的。
盡管這里已經(jīng)對(duì)特定實(shí)施例進(jìn)行了說(shuō)明和描述,但是,本領(lǐng)域技術(shù)人員應(yīng)該清楚,打算實(shí)現(xiàn)相同目的的任何方案可以替換所示的實(shí)施例。本披露意圖覆蓋對(duì)本發(fā)明的各個(gè)實(shí)施例進(jìn)行的任何以及所有修改和改變。要理解的是,以上描述是以說(shuō)明的方式而不是限制的方式進(jìn)行的?;仡櫼陨厦枋鰰r(shí),本領(lǐng)域技術(shù)人員應(yīng)該明白,這里沒(méi)有對(duì)上述實(shí)施例與其它實(shí)施例的組合進(jìn)行具體描述。本發(fā)明的各種實(shí)施例的范圍包括在其中使用了上述結(jié)構(gòu)和方法的任何其它應(yīng)用。因此,應(yīng)該參照所附權(quán)利要求,與本權(quán)利要求所授權(quán)的等價(jià)物的整個(gè)范圍一起,確定本發(fā)明的各種所要強(qiáng)調(diào)的是,提供了摘要,以遵守37 C.F.R.§1.72(b),它要求摘要能夠使讀者迅速領(lǐng)會(huì)技術(shù)披露的特性。它是按照將不用于對(duì)權(quán)利要求的范圍或含義進(jìn)行解釋或限制的理解而提出的。
在上述詳細(xì)說(shuō)明中,為了使本申請(qǐng)文件流暢,將各種特征彼此組合在單個(gè)實(shí)施例中。不要將本披露的方法理解為反映了這樣的意圖,即所主張的本發(fā)明的實(shí)施例需要比在每項(xiàng)權(quán)利要求中所明確說(shuō)明的更多的特征。相反,如以下權(quán)利要求所反映的,發(fā)明影響的實(shí)質(zhì)比單個(gè)披露的實(shí)施例的所有特征更少。因此,以下的權(quán)利要求也合并到詳細(xì)說(shuō)明中,其中每項(xiàng)權(quán)利要求將其本身作為一個(gè)單獨(dú)的優(yōu)選實(shí)施例。
權(quán)利要求
1.一種設(shè)備(150),包括裝置(114),用于發(fā)送與包含在第一流段中的幀有關(guān)的多個(gè)幀速率指示;以及裝置(116),用于接收所述多個(gè)幀速率指示并生成一個(gè)與包含在第二流段中的幀有關(guān)的非預(yù)報(bào)幀。
2.如權(quán)利要求1所述的設(shè)備,還包括裝置(116),用于生成一個(gè)與所述非預(yù)報(bào)幀有關(guān)的空預(yù)報(bào)幀。
3.如權(quán)利要求1所述的設(shè)備,還包括裝置(112),用于調(diào)節(jié)與包含在所述第一流段中的幀有關(guān)的時(shí)間標(biāo)記。
4.一種系統(tǒng)(100),包括一個(gè)編輯器(110),用于接收多個(gè)流段并且提供與包含在所述多個(gè)流段之一中的幀有關(guān)的時(shí)間標(biāo)記;一個(gè)協(xié)調(diào)器(112),用于對(duì)所述時(shí)間標(biāo)記進(jìn)行調(diào)節(jié)并且根據(jù)所述多個(gè)流段建立單個(gè)流;一個(gè)打包器(114),用于接收所述單個(gè)流并且確定多個(gè)編碼參數(shù);以及一個(gè)編碼器(116),用于向打包器(114)提出幀請(qǐng)求并且根據(jù)所述多個(gè)編碼參數(shù)對(duì)幀進(jìn)行編碼。
5.如權(quán)利要求4所述的系統(tǒng)(100),其中,所述多個(gè)流段包括具有第一幀速率的第一運(yùn)動(dòng)畫(huà)面流段和具有第二幀速率的第二運(yùn)動(dòng)畫(huà)面流段。
6.如權(quán)利要求4所述的系統(tǒng)(100),其中,所述編碼器(116)包括一個(gè)接口數(shù)據(jù)區(qū)域(144),用于存儲(chǔ)所述多個(gè)編碼參數(shù)。
7.一種方法,包括減少第一流段與第二流段之間的時(shí)間差異;對(duì)所述第一流段與所述第二流段進(jìn)行組合,以提供單個(gè)流;按照相關(guān)的第一幀速率,對(duì)包含在所述單個(gè)流中的第一幀進(jìn)行編碼;并且按照相關(guān)的第二幀速率,對(duì)包含在所述單個(gè)流中的第二幀進(jìn)行編碼,其中,所述第二幀速率與所述第一幀速率不同。
8.如權(quán)利要求7所述的方法,還包括將包含在所述單個(gè)流中的第三幀發(fā)送到編碼器(116),其中,所述第三幀包含在靜止畫(huà)面段中;和生成一個(gè)與所述第三幀有關(guān)的非預(yù)報(bào)幀。
9.如權(quán)利要求8所述的方法,其中,將所述第三幀發(fā)送給所述編碼器(116)第一次數(shù),該第一次數(shù)比所述編碼器生成對(duì)應(yīng)組的幀的第二次數(shù)少。
10.一種方法,包括減少靜止畫(huà)面段與運(yùn)動(dòng)畫(huà)面段之間的時(shí)間差異;對(duì)所述靜止畫(huà)面段與所述運(yùn)動(dòng)畫(huà)面段進(jìn)行組合,以提供單個(gè)流;對(duì)包含在所述靜止畫(huà)面段中的第一幀進(jìn)行編碼;和按照相關(guān)的幀速率,對(duì)包含在所述運(yùn)動(dòng)畫(huà)面段中的第二幀進(jìn)行編碼。
全文摘要
一種設(shè)備(150),可以包括部件(114)、(116),用于發(fā)送與包含在第一流段中的幀有關(guān)的多個(gè)幀速率指示,接收所述多個(gè)幀速率指示,并且用于生成與包含在第二流段中的幀有關(guān)的非預(yù)報(bào)幀。一種方法,可以包括減少第一流段與第二流段之間的時(shí)間差異,并且對(duì)第一流段與第二流段進(jìn)行組合,以提供一個(gè)單個(gè)流。一種方法,還可以包括按照相關(guān)的第一幀速率對(duì)包含在單個(gè)流中的第一幀進(jìn)行編碼并且按照相關(guān)的第二幀速率對(duì)包含在單個(gè)流中的第二幀進(jìn)行編碼,其中第二幀速率與第一幀速率不同。
文檔編號(hào)H04N7/52GK1540991SQ20031011954
公開(kāi)日2004年10月27日 申請(qǐng)日期2003年11月28日 優(yōu)先權(quán)日2003年1月29日
發(fā)明者V·E·克納普, S·J·劉, V E 克納普, 劉 申請(qǐng)人:惠普開(kāi)發(fā)有限公司