專利名稱:視頻容錯控制的制作方法
背景技術(shù):
本發(fā)明涉及通信網(wǎng)上的多媒體數(shù)據(jù)傳輸。尤其涉及網(wǎng)絡(luò)中易于出錯的視頻數(shù)據(jù)傳輸。本發(fā)明提供一種新的方法,可以減少由于數(shù)據(jù)丟失而引起的可觀察到的視頻圖像質(zhì)量的降低。
為了更好地體現(xiàn)本發(fā)明的優(yōu)點,我們首先回顧一下已有技術(shù)中典型的多媒體內(nèi)容創(chuàng)建與檢索系統(tǒng)的框架并引入壓縮視頻序列的特征。雖然下面的描述集中在使用基于分組的數(shù)據(jù)協(xié)議傳輸信息的網(wǎng)絡(luò)(如Internet)中存儲的多媒體數(shù)據(jù)檢索上,但是應(yīng)該知道,本發(fā)明同樣適用于電路交換網(wǎng)絡(luò),如固定線路PSTN(公共服務(wù)電話網(wǎng))或移動PLMN(公共陸地移動網(wǎng))電話系統(tǒng)。它也適用于既使用基于分組的數(shù)據(jù)傳輸協(xié)議又使用電路交換數(shù)據(jù)傳輸協(xié)議的網(wǎng)絡(luò)中。例如,正在進行標(biāo)準(zhǔn)化的通用移動電話系統(tǒng)(UMTS)可以包括電路交換與基于分組的元素。本發(fā)明適用于非實時應(yīng)用,如視頻流中,也適用于實時通信應(yīng)用,如視頻電話中。
圖1中描述了一個典型的多媒體內(nèi)容創(chuàng)建與檢索系統(tǒng)。該系統(tǒng)(通常用1表示)擁有一個或多個多媒體內(nèi)容10的來源。這些來源可以包括,例如,一個視頻照相機與一個麥克風(fēng),不過也可以包括其他元素。例如,多媒體內(nèi)容也可以包括計算機動畫,或存儲在大存儲媒介(如網(wǎng)絡(luò)硬盤驅(qū)動器)上的數(shù)據(jù)文件庫。
為了組成包括不同媒介類類型的多媒體片段(稱為“磁道”),將從各種來源中捕捉或檢索的原始數(shù)據(jù)組合到一起。在圖1中顯示的多媒體創(chuàng)建與檢索系統(tǒng)中,此任務(wù)由編輯器12完成。原始多媒體數(shù)據(jù)所需的存儲空間是非常巨大的,通常可達(dá)很多兆字節(jié)。因此,為了給多媒體檢索服務(wù)提供方便,尤其是低比特速率信道中的多媒體檢索服務(wù),通常在編輯過程中壓縮多媒體片段。只要各種原始數(shù)據(jù)源已經(jīng)組合起來并壓縮為多媒體片段,這些片段將連接到多媒體服務(wù)器14中。通常,很多客戶端16可以通過某些網(wǎng)絡(luò)訪問服務(wù)器,不過為簡便起見,圖1中只列出了一個這樣的客戶端。
服務(wù)器14可以響應(yīng)客戶端發(fā)出的請求與控制命令15。服務(wù)器的主要任務(wù)是將所需的多媒體片段發(fā)送給客戶端16。只要客戶端已經(jīng)接收到該片段,將在客戶端終端設(shè)備處進行解壓縮,多媒體內(nèi)容得以“回放”。在回放階段,多媒體片段的各個元素分別以客戶端終端設(shè)備提供的合適的回放方式18顯示,例如,視頻內(nèi)容在終端設(shè)備上展顯示,而音頻內(nèi)容由揚聲器或類似設(shè)備重新生成。
參考圖2對多媒體片段編輯器12執(zhí)行的操作進行進一步解釋。由一個或多個數(shù)據(jù)源10的捕捉設(shè)備20對原始數(shù)據(jù)進行捕捉。使用硬件、專用設(shè)備驅(qū)動程序(即軟件)及一個通過控制其設(shè)備驅(qū)動程序來使用硬件的捕捉應(yīng)用程序進行數(shù)據(jù)捕捉。例如,如果數(shù)據(jù)源是一個視頻照相機,捕捉視頻數(shù)據(jù)所需的硬件可以包括連接到個人電腦上的視頻擷取卡。捕捉設(shè)備20的輸出通常為未壓縮數(shù)據(jù)流或輕微壓縮的數(shù)據(jù)流,后者與前者相比,存在不相關(guān)的質(zhì)量下降。例如,視頻擷取卡的輸出可以是未壓縮YUV 4∶2∶0格式的視頻幀,或者是運動-JPEG圖像格式的視頻幀。術(shù)語“流”用于表示很多情況中,多媒體數(shù)據(jù)從各種源(原始數(shù)據(jù)的連續(xù)“流”)中實時捕捉。而多媒體數(shù)據(jù)的源可以是預(yù)先存儲的文件形式,存儲在大的存儲媒介,如網(wǎng)絡(luò)硬件驅(qū)動器中。
編輯器22將各個媒介源10中單獨的媒介流鏈接在同一時間軸上。例如,應(yīng)該同時回放的多媒體流,如音頻與視頻內(nèi)容,通過指示各幀所需的回放時刻鏈接起來。也可以給出其他多媒體流所需回放時刻的標(biāo)識。為了指出最初獨立的多媒體流現(xiàn)在以該方式連接,使用術(shù)語“多媒體磁道”作為描述多媒體內(nèi)容的一般術(shù)語。編輯器22也可能以不同的方式編輯多媒體磁道。例如,音頻幀速率可能降為一半或空間解析度可能下降。
在壓縮階段24中,各個媒體磁道可以以適合該媒體類型的方式進行獨立壓縮。例如,一個未壓縮的YUV 4∶2∶0視頻磁道可以使用用于低比特速率視頻編碼的ITU-T建議H.263壓縮。在復(fù)用階段26中,對壓縮媒體磁道進行交織,組成單一的比特流。此單一的比特流,含有大量不同的媒體類型,稱為“多媒體片段”。但是,應(yīng)該知道,對應(yīng)提供多媒體比特流來說,復(fù)用并不是必須的。該片段隨后與多媒體服務(wù)器14連接。
現(xiàn)在參考圖3的流程圖對多媒體服務(wù)器14的操作進行更詳細(xì)的說明。通常,多媒體服務(wù)器有兩種模式的操作,非實時操作與實時操作。也就是說,多媒體服務(wù)器可以傳送預(yù)先存儲的多媒體片段或現(xiàn)場(實時)多媒體流。在前一種情況中,片段必須首先存儲在服務(wù)器數(shù)據(jù)庫30中。在后一種情況中,多媒體片段通過編輯器12與服務(wù)器相連,作為立刻傳送給客戶端16的連續(xù)多媒體流。服務(wù)器可以消除并壓縮一些復(fù)用格式中使用的頭信息,并將媒體片段封裝成適合在網(wǎng)絡(luò)上傳遞的包。客戶端使用“控制協(xié)議”15控制服務(wù)器的操作??刂茀f(xié)議提供的最小控制集組成選擇所需的媒體片段的函數(shù)。此外,服務(wù)器可以支持更多的高級控制。例如,客戶端16可以停止片段的傳輸,或暫停并檢索其傳輸。此外,客戶端也可以在傳輸信道的吞吐量改變時控制媒體流。在這種情況下,服務(wù)器動態(tài)地對比特流進行調(diào)整來利用傳輸?shù)目捎脦挕?br>
圖4中是典型的多媒體檢索客戶端16中的模塊。在從多媒體服務(wù)器中檢索壓縮與復(fù)用的多媒體片段時,為了對片段中包含的不同媒體磁道分離,客戶端首先對片段40進行解復(fù)。然后,單獨的媒體磁道進行解壓縮42。然后使用客戶端輸出設(shè)備18對解壓縮(重建)的媒體磁道進行回放。除了這些操作之外,客戶端包括與終端用戶接口的控制器單元46,根據(jù)用戶輸入對回放進行控制,并處理客戶端-服務(wù)器控制業(yè)務(wù)。而解復(fù)、解壓縮與回放操作可以在下載該片段后面部分的同時執(zhí)行。此方法一般稱為“流”??蛻舳艘部梢韵螺d整個片段,對其進行解復(fù),對各個多媒體磁道解壓縮,然后才啟動回放功能。
下面描述適合在通信網(wǎng)中傳輸?shù)臄?shù)字音頻序列的內(nèi)容。音頻序列,與膠片上錄制的普通動畫一樣,由靜止圖像的序列組成,之所以產(chǎn)生運動的幻覺,是因為以較快的速率(通常為15-30幀/秒)依次展現(xiàn)圖像。由于幀速率較快,連續(xù)幀中的圖像相當(dāng)類似,因此包含大量的冗余信息。例如,一個典型的場景包括一些靜態(tài)的元素例如背景圖面,還包括一些形式多樣的運動區(qū)域,例如,新聞播音員的面部,運動的車輛等等。而記錄場景的照相機本身也可能是運動的,這樣圖像的所有元素進行相同地運動。在很多情況下,這將意味著一個視頻幀與另一個視頻幀之間的整體變化很小。當(dāng)然,這取決于其運動的本質(zhì)。例如,運動越快,一幀到相鄰幀的變化越大。類似地,如果場景中包括大量的運動元素,一幀到相鄰幀的變化要比其中只有一個元素運動的場景中的幀間變化要大。
視頻壓縮方法的基礎(chǔ)是減少視頻序列的冗余與可察覺的無關(guān)部分。視頻序列的冗余可以分為空間域上、時域上與頻域上的冗余。術(shù)語“空間域上的冗余”用于描述相鄰像素之間的相關(guān)性。術(shù)語“時域的冗余”表示出現(xiàn)在一個圖中的對象很可能出現(xiàn)在后面的圖像中,而“頻域的冗余”是指同一圖像的不同顏色的元素之間的相關(guān)性。
在給定的圖像序列中簡單地減少不同形式的冗余通常無法進行充分有效的壓縮。因此,目前大多數(shù)視頻編碼器也減少音頻序列中那些最不重要的部分的質(zhì)量。此外,也通過對壓縮參數(shù)與系數(shù)的有效編碼降低比特流本身的冗余。通常,這可以通過使用稱為“可變長度的編碼”(VLC)技術(shù)完成。
視頻壓縮方法通常使用“運動補償時間預(yù)測”。這是一種減少時域冗余的形式,其中視頻序列中一些(經(jīng)常很多)幀的內(nèi)容可以通過跟蹤物體或幀間圖像區(qū)域的運動進行“預(yù)測”。不使用減少時域冗余方法的壓縮圖像通常稱為“INTRA”或“I-幀”,而時域預(yù)測的圖像稱為“INTER”或“P-幀”。在“INTER”幀的情況下,預(yù)測(運動補償)的圖像很少足夠精確,因此,在各個“INTER”幀中,也使用空間域的壓縮預(yù)測錯誤圖像。很多視頻壓縮方案也引入雙向預(yù)測幀,通常稱為“B-圖”或“B-幀”。如圖5所示,B-圖在參照物或“錨”圖對(I或P幀)之間插入,并且從一個或兩個錨圖中預(yù)測。從圖中可以看出,序列從INTRA或I幀50開始。B-圖(一般用52表示)與前向預(yù)測的P-圖54相比,壓縮率較高。在圖5中,箭頭51a與51b表示雙向預(yù)測過程,而箭頭53表示前向預(yù)測。B-圖并不用作錨圖,也就是說,沒有其他的幀從中預(yù)測,因此,它們可以從視頻序列中去除,不會引起所成圖片的質(zhì)量惡化。應(yīng)當(dāng)注意,盡管B-圖與P-圖相比可以增加壓縮性能,但是其構(gòu)造卻需要更多的存儲空間,其處理要求也更加復(fù)雜,并且其應(yīng)用也會引入附加時延。
從上述對時域預(yù)測的討論可以看出,數(shù)據(jù)丟失會惡化給定幀中的圖像內(nèi)容,這種影響將在時間上傳播,引起該幀預(yù)測的后續(xù)幀的惡化。顯然,視頻序列的編碼從INTRA幀開始,這是因為在序列的開始時,前面沒有幀能夠作為預(yù)測參考。但是,應(yīng)該注意,在顯示幀時,如在客戶終端設(shè)備18處顯示時,幀的回放順序不會與編碼/譯碼的順序相同。因此,盡管編碼/譯碼操作從INTRA幀開始,這并不表示幀必須從INTRA幀開始回放。
關(guān)于低比特速率視頻編碼中使用的不同圖片類型的詳細(xì)信息,請參考文章“H.263+Video Coding at Low Bit-rates”,G.cote,B.Erol,M.Gallant與F.Kossentini,IEEE Transactions on Circuits andSystems for Video Technology,1998年11月。
根據(jù)上述關(guān)于現(xiàn)有的多媒體檢索系統(tǒng)與視頻編碼(壓縮)技術(shù)的信息可以知道,通信網(wǎng)中的視頻序列檢索/流存在著一個重要問題。因為視頻幀通常是從一幀中預(yù)測另一幀,壓縮視頻序列非常容易出現(xiàn)傳輸錯誤。如果由于網(wǎng)絡(luò)傳輸錯誤出現(xiàn)數(shù)據(jù)丟失,視頻流的內(nèi)容信息將會丟失。傳輸錯誤的影響可能不同。如果對視頻幀的重建非常重要的信息丟失(例如,存儲在圖片頭中的信息),那么在接收客戶端將無法顯示圖像。這樣,整個幀以及從它中預(yù)測的幀序列將會丟失(即,無法重建與顯示)。如果情況沒這么糟糕,只有部分圖像內(nèi)容受到影響。但是,從壞幀中預(yù)測的幀仍然會受到影響,在傳輸下一INTRA幀并正確重建之前,錯誤將會在圖像序列中的時域和空間域上傳播。這在比特速率很低的通信中是個嚴(yán)重的問題,這時INTRA幀可能只是在很短時間內(nèi)(如每10秒傳輸一個INTRA幀)傳輸。
傳輸錯誤的變化取決于其通信網(wǎng)絡(luò)。在電路交換網(wǎng)絡(luò)中,如固定線路與移動電話系統(tǒng)中,傳輸錯誤通常是比特翻轉(zhuǎn)的形式。也就是說,表示如多媒體流的視頻內(nèi)容等的數(shù)字?jǐn)?shù)據(jù),其錯誤形式為1變?yōu)?,而0變?yōu)?,從而導(dǎo)致圖像內(nèi)容的錯誤表達(dá)。在移動電話網(wǎng)中,比特翻轉(zhuǎn)的錯誤通常是由無線鏈接的質(zhì)量下降而引起的。
在使用分組交換數(shù)據(jù)通信的網(wǎng)絡(luò)中,傳輸錯誤的形式包丟失。在這種網(wǎng)絡(luò)中,數(shù)據(jù)包的丟失通常是由網(wǎng)絡(luò)擁塞引起的。如果網(wǎng)絡(luò)出現(xiàn)擁塞,網(wǎng)絡(luò)元素,如網(wǎng)關(guān)路由器,可能丟棄數(shù)據(jù)包,而如果使用不可靠的傳輸協(xié)議,如UDP(用戶數(shù)據(jù)報協(xié)議),丟失的數(shù)據(jù)包不會被重傳。此外,從網(wǎng)絡(luò)的角度看,發(fā)送包含幾百字節(jié)的相對較大的包是有益的,因此,丟失的包可能包括幾幅低比特速率序列圖。通常,多數(shù)視頻幀是時域上預(yù)測的INTER幀,因此丟失一個或多個這樣的圖在客戶終端重建時會有嚴(yán)重的視頻序列質(zhì)量問題。不但會丟失一個或多個幀,而且從這些幀中預(yù)測的所有后續(xù)圖都將破壞。
現(xiàn)有技術(shù)中有一些技術(shù)是針對傳輸錯誤損害壓縮視頻序列問題的。通常這些方法稱為“容錯控制”方法,分為兩類錯誤糾正與錯誤消除方法。錯誤糾正是指完全檢索有錯數(shù)據(jù)的能力,使其看起來好像根本沒有發(fā)生錯誤。例如,重傳可以看作一種錯誤糾正方法。錯誤消除是指消除傳輸錯誤帶來的影響,使之在重建的視頻信號中不易被發(fā)現(xiàn)的能力。錯誤消除方法通常有三種前向錯誤消除、事后處理的錯誤消除以及交互式錯誤消除。前向錯誤消除技術(shù)是傳輸終端將一定程度的冗余添加到發(fā)送數(shù)據(jù)中,從而使接收端能夠在即使傳輸出現(xiàn)錯誤時,也可以很容易地檢索數(shù)據(jù)。例如,發(fā)送視頻編碼器可以截短壓縮視頻信號的預(yù)測路徑。另一方面,事后處理的錯誤消除完全是接收機控制的。這些方法都是盡量估計錯誤接收數(shù)據(jù)的正確表達(dá)。為了最小化傳輸錯誤的影響,發(fā)射機與接收機也可以協(xié)同操作。這些方法很大程度上取決于接收機提供的反饋信息。事后處理的錯誤消除也可以稱為消極錯誤消除,而其他兩種形式可以稱為積極錯誤消除。本發(fā)明屬于視頻壓縮中使用的截短預(yù)測路徑的類別。需要說明的是,下面引入的方法也適用于在分組交換或電路交換網(wǎng)中傳輸?shù)膲嚎s視頻流。而其數(shù)據(jù)網(wǎng)的類型及出現(xiàn)的傳輸錯誤類型與現(xiàn)有技術(shù)及本發(fā)明的應(yīng)用沒有必然聯(lián)系。
視頻序列中截短預(yù)測路徑的容錯控制方法應(yīng)根據(jù)下列原則;如果視頻序列包括很多INTER幀,傳輸錯誤引起的圖像數(shù)據(jù)丟失將會導(dǎo)致后面的譯碼INTER幀遭到破壞,而錯誤將會傳播并會在譯碼后的視頻流中看到。因此,可以通過減小視頻比特流中INTER幀序列的長度提高系統(tǒng)的容錯控制能力??梢圆扇〉姆椒ㄓ?.增加視頻流中INTRA幀的頻率;2.使用B-幀;3.使用參照圖選擇;4.使用現(xiàn)有的視頻冗余編碼技術(shù)。
在視頻序列中減少預(yù)測路徑長度的現(xiàn)有方法將會引起壓縮序列比特速率的提高。這一影響是我們不希望的,尤其是在比特速率傳輸信道或所有可用帶寬必須在多個用戶間共享的信道中。比特速率的增加取決于所采用的方法以及要編碼的視頻序列的性質(zhì)。
根據(jù)上述論述,考慮多媒體檢索系統(tǒng)與壓縮視頻序列的本質(zhì),可以看出,需要限制傳輸錯誤對察覺到的圖像質(zhì)量的影響。雖然現(xiàn)有的有些技術(shù)通過限制壓縮視頻序列使用的預(yù)測路徑長度來解決該問題,但是在多數(shù)情況下,會導(dǎo)致編碼序列所需的比特速率的增加。因此,本發(fā)明的一個目標(biāo)是在維持可接受的低比特速率的前提下增強壓縮視頻序列傳輸錯誤的容錯能力。
發(fā)明內(nèi)容
依據(jù)上述本發(fā)明的目的,本發(fā)明的第一方面提供一種對視頻幀序列進行編碼形成一個壓縮視頻序列的方法,所述的壓縮視頻序列包括以至少第一個壓縮視頻幀格式與第二個壓縮視頻幀格式編碼的幀,所述的第一個壓縮視頻幀格式不是時域上預(yù)測的格式,而第二個壓縮視頻幀格式是一種時域上預(yù)測的格式,其特點在于該方法包括下列步驟識別關(guān)于第一個視頻幀的第一個標(biāo)識,該標(biāo)識表示第一個視頻幀應(yīng)該以第一個壓縮視頻幀格式編碼;將所述的第一個標(biāo)識與第二個視頻幀相連;以所述的第一個壓縮視頻幀格式對第二個視頻幀進行編碼;定義第一個視頻幀集合,它包括在第二個視頻幀之前出現(xiàn)的N個視頻幀;以所述的第二個壓縮視頻幀格式對所述的第一個視頻幀集合進行編碼;定義第二個視頻幀集合,包括在所述的第二個視頻幀之后出現(xiàn)的M個視頻幀;并以所述的第二個壓縮視頻幀格式對所述的第二個視頻幀的集合進行編碼。
依據(jù)本發(fā)明第二部分的內(nèi)容,提供一個對視頻幀序列編碼的視頻編碼器,形成壓縮視頻序列,所述的壓縮視頻序列包括以至少第一個壓縮視頻幀格式與第二個壓縮視頻幀格式編碼的幀,所述的第一個壓縮視頻幀格式不是時域預(yù)測的,而所述的第二個壓縮視頻幀格式是時域預(yù)測的,其特征在于編碼器包括一種識別與第一個視頻幀有關(guān)的第一個標(biāo)識的方法,該標(biāo)識表示所述的第一個視頻幀應(yīng)該以第一個壓縮視頻幀格式進行編碼;連接所述的第一個標(biāo)識與第二個視頻幀的方法;以所述的第一個壓縮視頻幀格式對所述的第二個視頻幀編碼的方法;定義包括在所述的第二個視頻幀之前出現(xiàn)的N個視頻幀的第一個視頻幀集合的方法;以所述的第二個壓縮視頻幀格式對所述的第一個視頻幀的集合編碼的方法;定義包括在所述的第二個視頻幀后出現(xiàn)的M個視頻幀的第二個視頻幀集合的方法;以及以所述的第二個壓縮視頻幀格式對所述的第二個視頻幀集合編碼的方法。
依據(jù)本發(fā)明第三方面的內(nèi)容,提供一個視頻編譯碼器,包括依據(jù)本發(fā)明的第二方面內(nèi)容的視頻編碼器。
依據(jù)本發(fā)明第四方面的內(nèi)容,提供一個多媒體內(nèi)容創(chuàng)建系統(tǒng),包括一個依據(jù)本發(fā)明第二方面內(nèi)容的視頻編碼器。
依據(jù)本發(fā)明第五方面的內(nèi)容,提供一個多媒體終端,包括依據(jù)本發(fā)明第二方面內(nèi)容的視頻編碼器。
依據(jù)本發(fā)明第六方面的內(nèi)容,提供一個依據(jù)本發(fā)明第五方面內(nèi)容的多媒體終端,其特征在于該終端是一個無線電信設(shè)備。
依據(jù)本發(fā)明第七方面的內(nèi)容,提供一種對壓縮視頻序列譯碼從而形成解壓縮后的視頻幀序列的方法,所述的壓縮視頻序列包括以至少第一個壓縮視頻幀格式及第二個壓縮視頻幀格式編碼的幀,所述的第一個壓縮視頻幀格式是一個非時域預(yù)測的格式,所述的第二個壓縮視頻幀格式是時域預(yù)測的格式,其特征在于該方法包括以下步驟識別與第一個視頻幀相關(guān)的第一個標(biāo)識,該標(biāo)識表示所述的第一個視頻幀是以所述的第一個壓縮視頻幀格式編碼;對所述的第一個視頻幀進行譯碼;接收所述的第二個壓縮視頻幀格式的第一個N幀的集合,包括所述的第一個視頻幀之前所述的解壓縮視頻序列;對所述的第一個N個視頻幀的集合進行譯碼;根據(jù)與第一個幀集合相關(guān)的回放信息重新對第一個幀集合的幀排序;接收所述的第二個壓縮視頻幀格式的M個視頻幀的第二個集合,包括所述的第一個視頻幀之后的解壓縮視頻序列;以及對所述的第二個視頻幀集合進行譯碼。
依據(jù)本發(fā)明第八方面的內(nèi)容,提供一個視頻譯碼器,對壓縮視頻序列進行譯碼,形成解壓縮視頻幀的序列,所述的壓縮視頻序列包括以至少第一個壓縮視頻幀格式及第二個壓縮視頻幀格式編碼的幀,所述的第一個壓縮視頻幀格式不是時域上預(yù)測格式,而所述的第二個壓縮視頻幀格式是時域上預(yù)測的格式,其特征在于包括識別譯碼器與第一個視頻幀相關(guān)的第一個標(biāo)識的方法,該標(biāo)識表示所述的第一個視頻幀以所述的第一個壓縮視頻幀格式編碼;以及對所述的第一個視頻幀進行譯碼的方法。
接收所述的第二個壓縮視頻幀格式的N個幀的第一個集合的方法,用于包含所述的第一個視頻幀之前的所述解壓縮視頻序列;對所述的N個視頻幀的第一個集合譯碼的方法;依據(jù)與第一個集合幀相關(guān)的回放信息對第一個幀集合的幀進行排序;接收所述的壓縮視頻幀格式的M個視頻幀的第二個集合,用于包含所述的第一個視頻幀后的所述解壓縮后的視頻序列;對所述的第二個視頻幀的集合譯碼的方法。
依據(jù)本發(fā)明第九方面的內(nèi)容,提供一個視頻編譯碼器,包括依據(jù)本發(fā)明第八方面內(nèi)容的視頻譯碼器。
依據(jù)本發(fā)明第十方面的內(nèi)容,提供一個多媒體內(nèi)容檢索系統(tǒng),包括一個依據(jù)本發(fā)明第八方面的內(nèi)容的視頻譯碼器。
依據(jù)本發(fā)明第十一方面的內(nèi)容,提供一個多媒體終端,包括一個依據(jù)本發(fā)明第八方面內(nèi)容的視頻譯碼器。
依據(jù)本發(fā)明第十二方面的內(nèi)容,提供一個依據(jù)本發(fā)明第十一方面的內(nèi)容的多媒體終端,其特征在于該終端是一個無線電信設(shè)備。
依據(jù)本發(fā)明第十三方面的內(nèi)容,提供一個計算機程序,將計算機作為視頻編碼器對視頻幀序列進行編碼從而形成一個壓縮視頻序列,所述的壓縮視頻序列包括以至少第一個壓縮視頻幀格式及第二個壓縮視頻幀格式編碼的幀,所述的第一個壓縮視頻幀格式不是時域預(yù)測格式,所述的第二個壓縮視頻幀格式是時域預(yù)測的格式,其特征在于所述的計算機程序包括識別第一個視頻幀相關(guān)的第一個標(biāo)識的計算機可執(zhí)行代碼,所述的第一個視頻幀應(yīng)該以所述的第一個壓縮視頻幀格式編碼;將所述的第一個標(biāo)識與第二個視頻幀關(guān)聯(lián)起來的計算機可執(zhí)行代碼;以所述的第一個壓縮視頻幀格式的所述第二個視頻幀進行編碼的計算機可執(zhí)行代碼;定義包括所述的第二個視頻幀之前出現(xiàn)的N個視頻幀的第一個視頻幀集合;以所述的第二個壓縮視頻幀格式對所述第一個視頻幀集合編碼的計算機可執(zhí)行代碼;定義包括所述的第二個視頻幀之后出現(xiàn)的M個視頻幀的第二個視頻幀集合的計算機可執(zhí)行代碼;以所述的第二個壓縮視頻幀格式對所述的第二個視頻幀集合進行編碼的計算機可執(zhí)行代碼。
依據(jù)本發(fā)明第十四方面的內(nèi)容,提供計算機程序,將計算機作為視頻譯碼器對壓縮視頻序列譯碼,形成解壓縮視頻幀序列,所述的壓縮視頻序列包括以至少第一個壓縮視頻幀格式及第二個壓縮視頻幀格式編碼的幀,所述的第一個壓縮視頻幀格式不是時域上預(yù)測的格式,而所述的第二個壓縮視頻幀格式是時域預(yù)測的格式,其特征在于所述的計算機程序包括識別與第一個壓縮視頻幀相關(guān)的第一個標(biāo)識的計算機可執(zhí)行代碼,該標(biāo)識用來表示所述的第一個視頻幀以所述的第一個壓縮視頻幀格式編碼;對所述的第一個視頻幀譯碼的計算機可執(zhí)行代碼;接收所述的第二個壓縮視頻幀格式的第一個N幀集合的計算機可執(zhí)行代碼,包括進所述的第一個視頻幀之前的所述解壓縮視頻序列;對所述的第一個N個視頻幀集合譯碼的計算機可執(zhí)行代碼;根據(jù)第一個集合的幀相關(guān)的回放信息對第一個幀集合進行排序的計算機可執(zhí)行代碼;接收所述的第二個壓縮視頻幀格式的第二個M個視頻幀的集合的計算機可執(zhí)行代碼,包括進所述的第一個視頻幀后的所述解壓縮視頻序列;以及對所述的第二個視頻幀集合譯碼的計算機可執(zhí)行代碼。
依據(jù)本發(fā)明第十五方面的內(nèi)容,提供一個依據(jù)本發(fā)明第十三與第十四方面內(nèi)容的計算機程序。
依據(jù)本發(fā)明另一方面的內(nèi)容,提供一個存儲媒介,包括將計算機作為視頻編碼器的計算機程序,對視頻幀序列編碼,形成壓縮視頻序列,所述的壓縮視頻序列包括以至少第一個壓縮視頻幀格式及第二個壓縮視頻幀格式編碼的幀,所述的第一個壓縮視頻幀格式不是時域上預(yù)測的格式,而所述的第二個壓縮視頻幀格式是時域上預(yù)測的格式,其特征在于所述的存儲媒介包括識別與第一個視頻幀相關(guān)的第一個標(biāo)識的計算機可執(zhí)行代碼,該標(biāo)識用來表示所述的第一個視頻幀應(yīng)該以所述的第一個壓縮視頻幀格式編碼;將所述的第一個標(biāo)識與第二個視頻幀相關(guān)聯(lián)的計算機可執(zhí)行代碼;定義包含在所述的第二個視頻之前出現(xiàn)的N個視頻幀的第一個視頻幀集合的計算機可執(zhí)行代碼;以所述的第二個壓縮視頻幀格式對所述第一個視頻幀進行編碼的計算機代碼;定義包含所述的第二個視頻幀之后出現(xiàn)的M個視頻幀的第二個視頻幀集合的計算機可執(zhí)行代碼;以所述的第二個壓縮幀格式對視頻幀的第二個集合編碼的計算機可執(zhí)行代碼。
依據(jù)本發(fā)明另一部分的內(nèi)容,提供一個存儲媒介,包括將計算機作為視頻譯碼器的計算機程序,對視頻幀序列譯碼,形成解壓縮視頻序列,所述的壓縮視頻序列包括以至少第一個壓縮視頻幀格式及第二個壓縮視頻幀格式編碼的幀,所述的第一個壓縮視頻幀格式不是時域上預(yù)測的格式,而所述的第二個壓縮視頻幀格式是時域上預(yù)測的格式,其特征在于所述的存儲媒介包括識別與第一個視頻幀相關(guān)的第一個標(biāo)識的計算機可執(zhí)行代碼,用來表示所述的第一個視頻幀應(yīng)該以所述的第一個壓縮視頻幀格式編碼;對所述的第一個視頻幀譯碼的計算機可執(zhí)行代碼;接收所述的第二個壓縮視頻的第一個N幀集合的計算機可執(zhí)行代碼,包括所述的第一個視頻幀之前的所述解壓縮視頻序列;對所述的第一個N視頻幀集合譯碼的計算機可執(zhí)行代碼;根據(jù)與第一個集合的幀相關(guān)的回放信息,對第一個幀集合的幀排序的計算機可執(zhí)行代碼;接收所述的第二個壓縮視頻幀格式的第二個M個視頻幀集合的計算機可執(zhí)行代碼,包括入所述的第一個視頻幀后的所述解壓縮視頻序列;對所述的第二個視頻幀集合譯碼的計算機可執(zhí)行代碼。
依據(jù)本發(fā)明進一步的內(nèi)容,提供對視頻幀序列編碼形成壓縮幀序列的方法,所述的壓縮視頻序列包括以至少第一個壓縮視頻幀格式及第二個壓縮視頻幀格式編碼的幀,所述的第一個壓縮視頻幀格式不是時域上預(yù)測的格式,而所述的第二個壓縮視頻幀格式是時域上預(yù)測的格式,其特征在于該方法包括以下步驟識別與第一個視頻幀相關(guān)的第一個標(biāo)識,用來表示所述的第一個視頻幀應(yīng)該以所述的第一個壓縮視頻幀格式編碼;按照降低所述的壓縮視頻序列中的預(yù)測路徑長度的方法將所述的第一個標(biāo)識與第二個視頻幀進行相關(guān)。
依據(jù)本發(fā)明的視頻編碼方法提供的編碼視頻數(shù)據(jù)流的容錯控制能力比傳統(tǒng)的方法編碼的視頻流更強。尤其是,本發(fā)明提供一個視頻編碼/譯碼系統(tǒng),其中造成時間上預(yù)測的圖像損壞的數(shù)據(jù)丟失的影響,與采用傳統(tǒng)的視頻編譯碼器相比,傳播范圍要小。依據(jù)本發(fā)明,可以通過截短視頻序列內(nèi)的預(yù)測路徑,減少時間上預(yù)測幀的的損壞程度。這可以通過有效地對INTRA編碼后的幀插入延遲來完成。例如,在周期性的INTRA幀請求、INTRA幀更新來自遠(yuǎn)程終端或場景剪切的請求之后。依據(jù)本發(fā)明,通常以INTRA格式編碼的幀,如與周期性INTRA請求、INTRA更新請求或場景剪切相關(guān)的那些幀,本身不用INTRA格式編碼。相反,后來在視頻序列中出現(xiàn)的幀選擇用INTRA格式編碼。實際上用INTRA格式編碼(稱為“實際”INTRA幀)的幀的選擇方式是使它大約位于周期性INTRA請求、INTRA幀請求或場景剪切之間的中點。在實際的INTRA幀之前出現(xiàn)的幀逆序從實際的INTRA幀開始使用時域預(yù)測編碼,而那些在它之后出現(xiàn)的幀在前向上使用時域預(yù)測。依據(jù)本發(fā)明的一個優(yōu)選實施例,那些反向預(yù)測的幀以INTER(P-幀)格式編碼。在另一個優(yōu)選實施例中,在后向預(yù)測中使用B-幀格式編碼的幀。
本發(fā)明與傳統(tǒng)的視頻編碼方法比較,提供更強的容錯控制能力,其中與周期性INTRA請求、INTRA幀更新請求或場景剪切相關(guān)的幀本身用INTRA格式編碼。尤其是,使用依據(jù)本發(fā)明的方法時,由于傳輸錯誤引起其的幀丟失的比例大為降低。與通過降低預(yù)測路徑長度增強錯誤控制能力的傳統(tǒng)方法相比,本發(fā)明不會引起比特速率的明顯增加。
本發(fā)明可以在例如多媒體檢索系統(tǒng)中實現(xiàn),其中在不可靠的基于分組的傳輸協(xié)議的頂端對視頻分流,如UDP。它也可以在實時視頻電話應(yīng)用中實現(xiàn)。本發(fā)明尤其適用于移動應(yīng)用中,其中至少一部分通信鏈接通過無線信道形成。因為無線通信鏈接具有相對較高的比特錯誤率,并且?guī)捠芟?,本發(fā)明提供的增強的錯誤控制能力尤其具有優(yōu)勢,因為它不會使比特速率出現(xiàn)明顯增加。
此外,需要強調(diào)的是網(wǎng)絡(luò)的特點、連接的類型及傳輸協(xié)議對于本發(fā)明的實施并不重要。網(wǎng)絡(luò)可以包括固定網(wǎng)(PSTN)與移動電信網(wǎng)(PLMN),其中至少一部分通信鏈接由無線信道形成。網(wǎng)絡(luò)中的數(shù)據(jù)傳輸可以完全是基于分組的、完全是電路交換的、或者可以既包括電路交換也包括分組交換數(shù)據(jù)傳輸。例如,網(wǎng)絡(luò)可以包括使用與其他使用電路交換數(shù)據(jù)傳輸?shù)木W(wǎng)絡(luò)元素耦合的基于分組的數(shù)據(jù)傳輸?shù)囊恍┰?如,核心網(wǎng))。這類系統(tǒng)的一個例子是目前提出的UMTS第三代移動電話網(wǎng),其中至少部分網(wǎng)絡(luò)可以依靠電路交換傳輸。
影響數(shù)據(jù)流的傳輸錯誤的本質(zhì)也與本發(fā)明的應(yīng)用不相關(guān)。此外,依據(jù)本發(fā)明的編碼、譯碼與回放方法可以用于預(yù)先存儲所需要的視頻與現(xiàn)場(實時)視頻壓縮中。還應(yīng)該強調(diào)的是,本發(fā)明可以單獨應(yīng)用或與現(xiàn)有的錯誤糾正、消除及控制技術(shù)聯(lián)合應(yīng)用,包括傳統(tǒng)的截短視頻序列中的預(yù)測路徑的傳統(tǒng)方法,如上述提到的那些傳統(tǒng)方法。
下面參考下面的附圖通過示例對本發(fā)明進行描述,其中圖1描述依據(jù)現(xiàn)有技術(shù)的多媒體內(nèi)容創(chuàng)建與檢索系統(tǒng);圖2描述典型的多媒體片段編輯器執(zhí)行的操作;圖3描述典型的多媒體服務(wù)器的輸入與輸出;圖4描述在多媒體片段檢索過程中典型的客戶端終端完成的操作;圖5描述在壓縮視頻序列中I、P與B幀之間的預(yù)測依賴關(guān)系;圖6顯示使用INTER幀編碼的視頻序列示例;圖7顯示在場景剪切后立刻將INTRA幀插入到視頻幀序列中的操作;圖8顯示依據(jù)本發(fā)明的視頻編碼方法產(chǎn)生的視頻序列示例;圖9是依據(jù)現(xiàn)有技術(shù)的視頻編碼器的操作流程圖;圖10是依據(jù)本發(fā)明的一個優(yōu)選實施例的視頻編碼方法流程圖;圖11是依據(jù)本發(fā)明的方法的INTRA幀處理流程圖;圖12是依據(jù)本發(fā)明的一個優(yōu)選實施例的視頻譯碼方法的過程步驟的流程圖;圖13是在視頻回放過程中依據(jù)本發(fā)明的方法操作流程圖;圖14是依據(jù)本發(fā)明的使用B幀的另一個優(yōu)選實施例的視頻編碼方法的過程步驟;圖15是包括依據(jù)本發(fā)明實現(xiàn)的視頻編碼器的多媒體內(nèi)容創(chuàng)建與檢索系統(tǒng);圖16是普通的H.324多媒體終端的框圖,包括一個視頻編譯碼器,由一個視頻編碼器與一個視頻譯碼器組成,用于依據(jù)本發(fā)明實現(xiàn)視頻編碼與視頻譯碼。
詳細(xì)描述為了更好地理解本發(fā)明及其優(yōu)點,下面將通過示例及對比圖7與圖8描述依據(jù)本發(fā)明的一個視頻編碼方法的優(yōu)選實施例。圖7描述傳統(tǒng)方式下的一個壓縮視頻序列,而圖8描述依據(jù)本發(fā)明創(chuàng)建的壓縮視頻序列。這兩個序列都表示相同的圖像內(nèi)容,由一個長序列的視頻形成部分的幾個連續(xù)幀構(gòu)成。如前所述,INTRA格式編碼的幀一般用參考序號50表示,INTER幀的標(biāo)號為54。依據(jù)以前使用的慣例,創(chuàng)建INTER幀的前向預(yù)測過程的標(biāo)號為53。在兩個序列的開始處是場景剪切70。盡管下面的描述主要是結(jié)合視頻序列中的場景剪切依據(jù)本發(fā)明的方法應(yīng)用,但是本發(fā)明也同樣適用于通常會產(chǎn)生INTRA格式的幀編碼的情況中,這包括場景剪切、來自遠(yuǎn)程終端的INTRA幀的請求和周期性的INTRA幀更新操作,但是并不僅限于此。
圖7中的幀序列表示的是傳統(tǒng)的編碼方案,其中INTRA幀50在場景剪切70之后立刻插入到序列中。當(dāng)出現(xiàn)場景剪切時,剪切之后的圖像內(nèi)容與剪切之前的內(nèi)容差別較大。因此,在場景剪切之后根據(jù)前面的幀的前向預(yù)測立刻將幀編碼成為INTER幀是不可能也不現(xiàn)實的。這樣,依據(jù)傳統(tǒng)的編碼方案,在場景剪切之后立刻將INTRA幀50(I1)插入。然后后面的幀根據(jù)該INTRA幀進行前向預(yù)測(INTER編碼),直到出現(xiàn)例如下一個場景剪切、周期性INTRA請求和INTRA幀更新請求(70)為止。
如前描述,依據(jù)本發(fā)明的方法的基礎(chǔ)是INTRA幀的延遲插入,如圖8所示。依據(jù)本發(fā)明,INTRA幀并不是立即插入到視頻流中,而是對在視頻序列中后來出現(xiàn)的一幀進行INTRA格式的編碼。在圖8中用I1表示該幀。從圖8中可以看出,場景剪切70與I1之間的幀(圖8中的標(biāo)號為P2和P3)從I1開始逆向預(yù)測為INTER幀,如箭頭80所示。因此,它們在I1譯碼之后才能譯碼,這跟在能夠進行前面圖像內(nèi)容的譯碼之前必須重建I1是類似的。這就意味著,依據(jù)本發(fā)明提供的方法,在視頻序列回放過程中需要的初始緩沖器時延通常應(yīng)該比場景剪切與后面的INTRA幀之間的時間長。
在考慮為了能夠譯出INTER幀P5必須成功傳送多少幀的問題時,可以看出依據(jù)本發(fā)明提供的方法的主要優(yōu)點。使用圖7中的傳統(tǒng)的幀排序方案,P5的成功譯碼需要正確傳送并譯出I1、P2、P3、P4和P5。因此,序列中(如幀I1)早出現(xiàn)的數(shù)據(jù)丟失(如包丟失)將會引起譯碼圖片內(nèi)容的錯誤,在序列中傳播也會到達(dá)幀P5。而在依據(jù)本發(fā)明的方法中,對P5的成功譯碼只需要I1、P4與P5正確傳輸并譯碼。也就是說,通過使用本發(fā)明的方法,圖像序列中的預(yù)測路徑可以有效降低,從而增加了幀P5正確譯碼的概率。此外,序列中錯誤在時間上的傳播也得以降低。序列中早期出現(xiàn)的數(shù)據(jù)丟失,例如在幀P2中出現(xiàn)的數(shù)據(jù)丟失,將只會引起幀P2與P3的譯碼圖片內(nèi)容中的錯誤。
下面對依據(jù)本發(fā)明的視頻編碼方法進行詳細(xì)描述。依據(jù)本發(fā)明的方法實現(xiàn)的視頻編碼器的功能將與傳統(tǒng)的視頻編碼器的操作進行對比。圖9中有傳統(tǒng)視頻編碼器的構(gòu)造90。
在現(xiàn)有技術(shù)中的視頻編碼器90中,未編碼的原始圖片首先從視頻源(例如耦合到幀擷取器的視頻照相機和存儲設(shè)備,如存儲原始視頻幀的計算機硬盤驅(qū)動器)連接到編碼器。編碼器也可以通過將控制命令發(fā)送給視頻源和存儲設(shè)備來請求一個新幀壓縮。獲取一個視頻新幀壓縮的過程參見圖9的步驟91。未編碼幀傳送給編碼器的速率可以是固定的或可變的。
通常,可以通過跳過一些幀降低視頻序列的比特速率,也就是說,通過從視頻序列中忽略一些幀完成。視頻編碼器的比特速率控制算法決定是否對某幀編碼。此過程在圖9中用步驟92表示。如果比特速率控制邏輯確定某一給定的幀需要編碼,那么傳統(tǒng)的視頻編碼器決定幀編碼的模式。該判決過程用步驟94表示。如果已經(jīng)請求了周期性的INTRA更新、INTRA幀更新請求已經(jīng)從遠(yuǎn)程終端接收到、或者已經(jīng)出現(xiàn)場景剪切,那么該幀用INTRA格式編碼,如步驟98所示。否則,該幀用INTER幀格式編碼,如步驟96所示。為了便于理解,我們的描述有一定程度的簡化,此處沒有考慮其他幀類型的處理,即雙向預(yù)測的B幀。不過,這一簡化不會影響依據(jù)現(xiàn)有技術(shù)對編碼器操作的理解。
為了比較,圖10中描述了依據(jù)本發(fā)明的視頻編碼方法的程序元素。完成與現(xiàn)有技術(shù)中的上述視頻編碼器等價功能的新方法的元素的參考編號與圖9中使用的相同。
首先,未編碼的原始視頻幀連接到編碼器,或該編碼器可以請求新幀進行壓縮。在圖10中用步驟91表示。然后編碼器確定(步驟94)圖像內(nèi)容是否用INTRA格式編碼,例如作為場景剪切的結(jié)果、周期性INTRA幀更新間隔的結(jié)束或來自遠(yuǎn)程終端的INTRA幀更新請求的接收。依據(jù)本發(fā)明,如果編碼器確定需要INTRA幀,那么它將記錄需要這樣的INTRA幀,如圖10的步驟101所示。這樣的標(biāo)識INTRA幀需求的記錄可以通過為幀設(shè)置標(biāo)記并將標(biāo)記存儲在幀緩沖器中完成。下面對請求INTRA幀的方法進行更詳細(xì)的描述,不過應(yīng)該知道,對于本發(fā)明的應(yīng)用來說,采用哪種標(biāo)識INTRA請求的方法并不重要。之后幀進行緩存(102)。
依據(jù)本發(fā)明的編碼器需要一個緩沖器,用于存儲壓縮之前的原始圖像數(shù)據(jù)。存儲器應(yīng)該足夠大,能夠包含對應(yīng)時間周期(T)的原始圖像幀。一些所謂的“meta”數(shù)據(jù)與每個圖像數(shù)據(jù)幀相對應(yīng)。Meta數(shù)據(jù)提供關(guān)于要進行編碼的幀的信息,而如果產(chǎn)生請求,如上所述,它還可以包括INTRA幀請求標(biāo)識。對于用INTER格式編碼的幀,meta數(shù)據(jù)可以包括用于運動補償?shù)膮⒖紟臄?shù)量(如果參考幀不是前面已經(jīng)編碼的幀)。所有幀的meta數(shù)據(jù)包括壓縮序號CO,標(biāo)識將進行編碼的未壓縮視頻幀的順序。每個要進行編碼的幀存儲在緩沖器中。
最初,在開始編碼之前,緩沖器是空的。當(dāng)開始編碼時,緩沖器被填充,直到其中的幀數(shù)與時間段T相對應(yīng)(102)。監(jiān)控緩沖器確定它什么時候填滿(步驟103)。當(dāng)緩沖器滿時,“最老的”幀,即最先裝入緩沖器的幀,從緩沖器中去除。此操作用圖10中的步驟104標(biāo)識。編碼器確定該幀是否與INTRA幀請求相關(guān)(步驟105),這可以通過例如檢查該幀相應(yīng)的meta數(shù)據(jù)并確定是否設(shè)置INTRA標(biāo)記來完成。如果幀不與INTRA請求相關(guān),編碼器的比特速率控制算法確定是否應(yīng)該跳過該幀(步驟92),或者是否應(yīng)將該幀編碼為INTER幀(步驟107)。如果某幀被跳過,并且它包含一個用來表明除了前面的幀之外的幀應(yīng)該用作運動補償?shù)膮⒖嫉臉?biāo)識,那么該標(biāo)識應(yīng)該復(fù)制到描述緩沖器中的下一幀的meta數(shù)據(jù)中。如果決定不跳過該幀,那么使用序列中前面的幀作為參考或meta數(shù)據(jù)標(biāo)識的運動步驟所示的幀,將該幀用INTER格式編碼(步驟107)。
如果從緩沖器得到的幀與INTRA幀請求相關(guān),那么執(zhí)行INTRA幀處理程序,通常用參考編碼108表示。圖11詳細(xì)地描述了步驟108的過程元素。當(dāng)前的INTRA幀請求在時刻T1出現(xiàn)。INTRA幀處理過程的第一步是搜索幀緩沖器并定位下一個INTRA幀請求,即當(dāng)前處理的幀之后的INTRA幀請求。參見圖11中的步驟110。下一個INTRA請求的T2時刻由相應(yīng)的meta數(shù)據(jù)確定。然后,確定INTRA格式編碼的實際幀,從而令這兩個請求的INTRA幀的時間差大約相等。也就是說,如果當(dāng)前的INTRA請求與出現(xiàn)時間為T1的幀相關(guān),從出現(xiàn)時間為T3的緩沖器中選擇一幀,令T3-T1約等于T2-T3。選用該新定位的幀進行INTRA格式的編碼。上述過程用圖11中的參考編號112表示。需要說明的是,依據(jù)本發(fā)明,實際用INTRA格式編碼的幀(稱為“實際”INTRA幀)不是最初的INTRA編碼請求有關(guān)的幀,而是視頻序列中出現(xiàn)的一些其他幀。如果緩沖器沒有包含與INTRA幀請求相關(guān)的幀,選擇實際用INTRA格式編碼的幀,使其出現(xiàn)時刻T3與T1時刻的INTRA請求之間的時間差大約等于T3與緩沖其的最后一幀之間的時間差。
然后在步驟114中,實際用INTRA格式編碼的幀從緩沖器中去除,對在實際的INTRA幀之前的幀的順序進行翻轉(zhuǎn)。標(biāo)記在實際的INTRA幀之前并與之相連的幀以及在其之后并與之相連的幀,令它們包含表明實際的INTRA幀應(yīng)該用作運動補償參考的標(biāo)識。最后,選擇進行INTRA格式編碼的幀編碼為INTRA幀(步驟116),而其他達(dá)到但是不包括T2對應(yīng)的幀使用運動補償時域預(yù)測編碼進行編碼。那些在實際的INTRA幀之前出現(xiàn)的幀從實際的INTRA幀開始進行逆序編碼,而在其之后出現(xiàn)的幀進行前向編碼。應(yīng)該知道,翻轉(zhuǎn)在實際的INTRA幀之前的幀的順序并不一定需要物理上的緩沖器重排。緩沖器內(nèi)有效的幀翻轉(zhuǎn)可以使用分配給各幀的壓縮順序(CO)編號完成,這將在下面進行詳細(xì)描述。
為了更好地理解上述INTRA幀處理過程,我們看下面的示例。假設(shè)視頻捕捉與檢索系統(tǒng)的視頻編碼器已經(jīng)依據(jù)本發(fā)明的方法設(shè)計。編碼器包括可以存儲未壓縮格式視頻數(shù)據(jù)的5秒(加一幀)的緩沖器。通過視頻幀源以25幀/秒的固定速率將未壓縮(即原始)視頻幀提供給編碼器,這樣可使連續(xù)的幀之間的時間差統(tǒng)一為40毫秒。在序列中的任一時間點,緩沖器的內(nèi)容如表1所示表1視頻編碼器緩沖器內(nèi)容示例
在表1中,給定原始視頻幀的回放/捕捉時間的參考時刻t用毫秒表示。如上所述,meta數(shù)據(jù)用于存儲未壓縮視頻幀的附加信息,例如用于表示壓縮與解壓縮的幀的順序的壓縮順序編號(CO)。
在該例中考察的特定視頻序列中,沒有場景剪切,但是每隔5秒請求一個周期性INTRA更新。在meta數(shù)據(jù)中有每個未壓縮視頻幀提供的相應(yīng)INTRA幀請求標(biāo)識。從表1中可以看出,該例中假設(shè)初始INTRA請求在時刻t出現(xiàn)。因為INTRA請求每隔5秒出現(xiàn)一次,下一個這樣的請求將在t+5000ms處出現(xiàn)。未壓縮的視頻幀提供的meta數(shù)據(jù)使編碼器能夠確定進行INTRA請求的時刻。
使用依據(jù)本發(fā)明的方法,編碼器并不將INTRA編碼應(yīng)用到直接與INTRA請求相連的幀,而是在當(dāng)前的INTRA請求與下一個INTRA請求之間的大約中點處選擇用INTRA格式編碼的幀。應(yīng)該知道,沒有必要一定要選擇剛好在連續(xù)的INTRA請求中點的幀,這取決于連續(xù)INTRA請求之間的時間間隔與視頻序列的幀速率。在此處的示例中,幀之間的距離是40ms,INTRA請求以固定的5000ms間隔出現(xiàn),依據(jù)本發(fā)明,最合適以INTRA格式編碼的幀是在t+2480ms或t+2520ms出現(xiàn)的幀(參見表1)。因此,編碼器可以選擇在t+2480或t+2520ms出現(xiàn)的幀作為實際的INTRA幀。對于INTRA格式編碼來說,選擇這兩類幀同樣合適。用于決定實際的INTRA幀的選擇的準(zhǔn)則依據(jù)本發(fā)明的實施方式可以不同,但是在該示例中,假定出現(xiàn)在t+2480ms的幀選為實際的INTRA幀。
然后編碼器將壓縮順序(CO)編碼分配給緩沖器中的未壓縮幀。緩沖器中的所有幀都標(biāo)有表示實際的INTRA幀的壓縮順序號,即前面選為INTRA格式編碼的幀。此壓縮順序信息存儲在與各幀相關(guān)的meta數(shù)據(jù)中,如表2所示。
表2壓縮序號與參考圖選擇分配后的示例緩沖器的內(nèi)容給出編碼器的緩沖器中實際的INTRA幀之前的未壓縮幀的壓縮序號順序,可使緩沖器中出現(xiàn)較早的幀接收較大的壓縮序號。實際的INTRA幀的壓縮序號CO=0。因此,在此處的示例中在實際的INTRA幀之前與它相鄰的幀(即在t+2440ms處出現(xiàn)的幀)的壓縮序號為CO=1。在該幀之前的幀的序號CO=2,再往前是CO=3,依次類推。在此處的示例中,這種標(biāo)號方案將使緩沖器中的第一個幀的壓縮編號為CO=62。本發(fā)明所屬領(lǐng)域的技術(shù)人員都知道,此標(biāo)號方案可以有效的標(biāo)識在實際的INTRA幀之前的幀應(yīng)該逆序從實際的INTRA幀中預(yù)測,而不是從與初始的INTRA請求相關(guān)的幀(即t時刻出現(xiàn)的幀)中前向預(yù)測。
在實際的INTRA幀之后相鄰幀的壓縮序號(即在t+2520ms出現(xiàn)的幀),以及后面幀的壓縮序號,隨著從實際的INTRA幀之前的序列中最早的幀的壓縮序號開始進行編號。因此,在此處的示例中,在編碼器的幀緩沖器中的實際INTRA幀之后立刻出現(xiàn)的未壓縮視頻幀的壓縮序號為CO=63,它之后的幀的壓縮序號為CO=64,再下一幀為CP=65,依次類推。此外,依據(jù)本發(fā)明的方法,實際的INTRA幀之后相鄰的幀的編號方式應(yīng)該使其參考圖(從中預(yù)測該幀)不是前面壓縮序號的幀,而是壓縮序號為CO=0的實際INTRA幀。此標(biāo)識包含在與實際的INTRA幀之后立刻出現(xiàn)的幀相關(guān)的meta數(shù)據(jù)中。在此處的示例中,這意味著壓縮序號CO=63的實際INTRA幀之后立刻出現(xiàn)的幀不是從壓縮序號CO=62的幀中預(yù)測的,而是從壓縮序號為CO=0的實際INTRA幀本身預(yù)測的。
分配壓縮序號之后的視頻緩沖器的內(nèi)容,如表2所示。
然后編碼器從緩沖器中去除實際的INTRA幀,依據(jù)前面分配的壓縮編號對緩沖器重新排序,并對選定的(即實際的)INTRA幀進行編碼。
需要強調(diào)的是,對緩沖器物理上的重新排序的需求取決于所用的緩沖器類型。如果編碼器可以搜索緩沖器并隨機訪問其內(nèi)容(即緩沖器是一個隨機接入緩沖器),那么可以以壓縮序號所示的順序直接選擇編碼幀,不再需要物理上的重新排序。另一方面,與此例中的假設(shè)類似,如果比較容易以先入先出方法接入緩沖器,那么依據(jù)壓縮序號對幀的物理上的重新排序就很有好處。
實際的INTRA幀可以使用任何合適的方法編碼。編碼方法的準(zhǔn)確選擇可以根據(jù)如將在后面用于傳輸壓縮視頻數(shù)據(jù)的通信信道的特點進行??捎玫谋忍厮俾适且豁椏赡艿闹甘揪幋a方法選擇的準(zhǔn)則。例如,在固定線路的視頻檢索或視頻電話系統(tǒng)中,可以依據(jù)ITU-T建議H.261對選定的(實際)INTRA幀進行編碼,這是專門設(shè)計用于在可用的比特速率為p×64kbits/s的通信系統(tǒng)中提供最優(yōu)性能。如果視頻數(shù)據(jù)包括在多媒體比特流中,依據(jù)MPEG4標(biāo)準(zhǔn)的編碼可能會更適合。在極低的比特速率通信尤其是在無線信道上,ITU-T建議H.263是另一個可選的視頻編碼方案。
在上述的重新排序操作之后,緩沖器的內(nèi)容如表3所示表3重新排序后視頻緩沖器的內(nèi)容示例
緩沖器中其余的幀(除對應(yīng)t+5000的幀之外)用INTER格式編碼,幀序列(其中的幀從一個預(yù)測出另外一個)由其壓縮序號及相應(yīng)的meta數(shù)據(jù)提供的參考圖選擇信息決定。同樣,所用的INTER編碼的詳細(xì)信息對于本發(fā)明的方法應(yīng)用并不重要。因為對視頻幀編碼的順序由其分配的壓縮序號決定,編碼過程進行如下處理。壓縮序號CO=1到CO=62的幀一個接一個地順序預(yù)測,從實際的INTRA幀(壓縮號CO=0)開始。也就是說,壓縮序號為CO=1的幀使用實際的INTRA幀作為參考圖進行INTER編碼,壓縮序號CO=2的幀從譯碼INTER編碼幀中預(yù)測,其壓縮序號為CO=1,依次類推。此過程看上去好像是前向預(yù)測的。但是,由于未壓縮幀的壓縮序號是逆序的,幀CO=1到CO=62從實際的INTRA幀中進行逆序的有效預(yù)測。
此過程一直持續(xù)到到達(dá)壓縮序號CO=63的幀為止。該幀應(yīng)該用INTER格式編碼,從實際的INTRA幀(CO=0)處前向預(yù)測,不應(yīng)該從幀CO=62中預(yù)測。依據(jù)本發(fā)明的方法中,這在關(guān)于幀CO=63的meta數(shù)據(jù)中標(biāo)明。Meta數(shù)據(jù)標(biāo)識幀CO=63的INTER前向編碼使用的參考圖的壓縮序號為CO=0,即實際的INTRA幀。只要預(yù)測的來源重新設(shè)置為幀CO=0,編碼器就繼續(xù)對其余的緩沖器中的未編碼幀(那些壓縮序號為CO=63到CO=124)一個接一個地進行序列編碼。也就是說,幀CO=63使用幀CO=0(即實際的INTRA幀)作為其參考圖進行編碼,幀CO=64從CO=63中預(yù)測,而幀CO=65從CO=64中預(yù)測,依次類推。
在前面的描述中,使用示例對依據(jù)本發(fā)明的視頻編碼方法進行描述,在該示例中,主要根據(jù)兩個類型的視頻幀,非時域預(yù)測的INTRA幀及時域預(yù)測的INTER幀,對視頻序列進行編碼。但是,本發(fā)明所屬領(lǐng)域的技術(shù)人員應(yīng)該知道,此方法也可以延伸到包括使用其他類型的視頻幀。尤其是,使用前向、反向或雙向時間預(yù)測的B圖也可以結(jié)合本發(fā)明使用。也就是說,實際的INTRA幀或任何逆序預(yù)測形成實際的INTRA幀的INTER格式的幀可以用作創(chuàng)建B圖的錨圖。B圖可以使用前向預(yù)測、反向預(yù)測或雙向預(yù)測創(chuàng)建。類似的,B圖也可以包含在含有從實際的INTRA幀前向預(yù)測的INTER格式幀序列部分中。
上述過程使視頻數(shù)據(jù)的各幀可以參考選定的(實際)INTRA幀以直接的方式編碼。但是,盡管視頻幀依據(jù)它們分配的壓縮序號進行編碼有利于編碼過程,但是在幀譯碼時會產(chǎn)生一個問題。尤其是,視頻幀不可能以正確的回放順序編碼。參見表3中的回放/捕捉時間。因此,當(dāng)幀以這樣的順序經(jīng)過編碼并通過通信信道傳送給譯碼器時,譯碼器依據(jù)其回放時間對幀進行重新排序,確保它們能夠以正確的順序回放。
后面將對這一過程進行詳細(xì)描述,不過此處應(yīng)該說明的是,考慮到譯碼器端所需的回放時間,信息與各幀是相關(guān)的。信息與其本身的圖片數(shù)據(jù)及包含各幀的壓縮序號的meat數(shù)據(jù)傳送給譯碼器。在一定的分組交換網(wǎng)絡(luò)中,數(shù)據(jù)包不可能以與其傳送順序相同的順序到達(dá)接收端。一些傳輸協(xié)議,如RTP(可靠傳輸協(xié)議),可以提供數(shù)據(jù)包傳送的順序標(biāo)識(“序列編號”)。這可以使數(shù)據(jù)包在接收端組合成為其正確的順序。在這類系統(tǒng)中,沒有必要將壓縮序號與視頻數(shù)據(jù)一起發(fā)送,這是因為視頻幀編碼的順序可以從接收的數(shù)據(jù)包的序列編號中推斷出。但是,在傳輸協(xié)議沒有提供序列編號的系統(tǒng)中,需要有壓縮順序信息的傳輸。各個視頻幀的回放時間安排信息在通過通信鏈接傳輸視頻數(shù)據(jù)時比較容易包含入文件或復(fù)用/傳輸格式頭中,并且其本身可以包含在視頻編碼格式/語法中。
因為本發(fā)明實質(zhì)上是在INTRA請求之后延遲INTRA幀的插入,因此后向預(yù)測的INTER幀也必須在INTRA格式實際編碼的幀之前顯示。在圖14所示的依據(jù)本發(fā)明的另一個方法優(yōu)選實施例中,可以使用B-幀。在壓縮視頻語法或周圍文件或傳輸格式不允許在后面的錨幀(I1)之前使用逆序預(yù)測的幀(如圖8中的INTER編碼幀P2與P3)回放時使用此方法比較有利。通常,例如在ITU-T建議H.263中,B-幀支持后向、前向或雙向的預(yù)測。因此,依據(jù)本發(fā)明的編碼方法可以使用從后面的錨幀(I1)中后向預(yù)測B-幀完成。但是,此技術(shù)與本發(fā)明前面描述的優(yōu)選實施例相比,壓縮效率較低。
參考圖14,依據(jù)本發(fā)明另一個實施例的編碼方法的過程與優(yōu)選實施例的方式類似,包括選擇實際INTRA幀的位置也是類似的。在編碼器緩沖器中實際INTRA幀之前的幀編碼為B-幀52,每個B幀直接從實際的INTRA幀中后向預(yù)測51b,如圖14所示。因為B-幀的后向預(yù)測由視頻編碼建議如ITU-T H.263支持,在該實施例中,不必將逆序CO號分配給實際的INTRA幀前面的幀。只要標(biāo)識各幀應(yīng)該使用實際的INTRA幀作為預(yù)測參考幀進行B-幀格式的編碼就足夠了。此信息可以包含在與實際的INTRA幀之前的各幀相關(guān)的meta數(shù)據(jù)中。隨后緩沖器中實際的INTRA幀之后的幀一個接一個的用INTER格式編碼。表明實際的INTRA幀將作為實際的INTRA幀之后與之相鄰的幀預(yù)測參考的標(biāo)識包含在該幀的meta數(shù)據(jù)中。
本發(fā)明的另一個方法實施例可以用在視頻壓縮方法不支持參考圖選擇的情況中。在這種情況下,控制或調(diào)用視頻編譯碼器的層(如控制程序)可以在實際的INTRA幀被參考之前的瞬間用實際的INTRA幀代替編譯碼器的參考幀緩沖器的內(nèi)容。在上述的示例中,這就意味著參考幀緩沖器在開始對幀CO=63編碼或譯碼時,應(yīng)該載入幀CO=0。為了支持本發(fā)明的該實施例,壓縮幀語法,或復(fù)用/傳輸格式應(yīng)該承載標(biāo)識實際的INTRA幀及哪些幀需要將其作為參考的信息。
下面,將對適合與視頻編碼方法一起使用的譯碼方法及視頻回放方法的優(yōu)選實施例進行描述。圖12中是一個依據(jù)本發(fā)明的譯碼方法。在譯碼過程中譯碼器從傳輸信道中接收編碼幀并緩存(120)這些幀。然后譯碼器對緩存的幀122進行譯碼。在這種情況下,傳輸信號可以是任何適合壓縮視頻或多媒體數(shù)據(jù)傳輸?shù)耐ㄐ判诺?。傳輸可以通過固定線路網(wǎng)絡(luò),如Internet、ISDN或PSDN(公共交換電話網(wǎng))進行;至少部分網(wǎng)絡(luò)也可以包含一個無線鏈接,如PLMN(公共陸地移動網(wǎng))提供的無線鏈接。術(shù)語“傳輸信道”應(yīng)該包含存儲文件從存儲媒介(例如用于顯示或進一步處理的計算機硬件驅(qū)動器)檢索時進行的數(shù)據(jù)傳輸。
本發(fā)明所屬領(lǐng)域的技術(shù)人員都知道,壓縮視頻序列的每一幀都是依據(jù)其編碼方法用基本上標(biāo)準(zhǔn)的方式譯碼。這是完全可能的,因為依據(jù)本發(fā)明的方法不必更改INTRA及INTER編碼幀本身的格式。因此,未壓縮視頻幀的編碼可以依據(jù)任何合適的方案進行,無論是標(biāo)準(zhǔn)的還是私有的。
在譯碼后,未壓縮幀存儲(124)在回放緩沖器中。如果編碼器中使用的緩沖器長度為T(參見上面編碼階段的描述),譯碼器中使用的緩沖器應(yīng)該能夠支持至少0.5×T秒的未壓縮視頻圖。然后,將解壓縮的視頻幀排序成其正確的回放序列。譯碼器使用與每幀相關(guān)的回放信息對幀進行排序。如上所述,在將視頻幀存儲在編碼器的緩沖器中可以將該信息并入數(shù)據(jù)結(jié)構(gòu)中,并且在壓縮視頻語法中或?qū)嚎s視頻幀傳輸給譯碼器時使用復(fù)用/傳輸格式承載該信息。在一些情況中,例如在通信信道的吞吐量下降時,譯碼器實際上可以在安排的回放時間后接收該幀。如果在安排的回放時間后接收該幀,或者在回放時間前接收但是無法迅速譯碼來保證按時回放,那么這樣的幀不可能存儲在譯碼器的輸入緩沖器中。但是,存儲晚到的幀或無法在其回放時按時譯碼的幀是有用的,這是因為它們可以用于提高其他幀的錯誤消除能力等等。
圖13中是依據(jù)本發(fā)明的優(yōu)選實施例的視頻回放裝置的過程步驟。回放裝置的輸入為來自視頻譯碼器的緩沖器124的解壓縮后的視頻幀,根據(jù)其安排的回放時間正確排序。當(dāng)開始一個新的視頻序列的回放時,后面的視頻幀在回放緩沖器132中緩存。為了保證視頻序列的回放不被中斷,該初始緩沖時間應(yīng)該至少為0.5×T秒。在初始的緩沖時間之后,回放過程進入正常的回放循環(huán),包括步驟134、136與138。134的第一步是確定是否安排回放緩沖器中的一個幀進行回放。如果是,那么在136中顯示。如果不是,或者剛剛顯示了一個幀,那么該過程進入周期性等待或空閑狀態(tài)138?;胤叛h(huán)的操作速率為原始捕捉序列的(最大)幀速率。例如,如果序列以25幀/秒的速率捕捉,則回放循環(huán)每40毫秒執(zhí)行一次。
圖15是依據(jù)本發(fā)明的多媒體內(nèi)容創(chuàng)建系統(tǒng)的優(yōu)選實施例。此處,該系統(tǒng)包括三個媒體源10音頻源151a、視頻源151b及數(shù)據(jù)源151c。本發(fā)明所述領(lǐng)域的技術(shù)人員都知道,媒體源的數(shù)目并不限于此處介紹的這三個。而且每個源可以是多種形式,包括但是不限于“現(xiàn)場”源,即實時媒體內(nèi)容以及非實時媒體源,如大型存儲媒介上的媒體內(nèi)容文件,例如網(wǎng)絡(luò)硬件驅(qū)動器等等。
依據(jù)本發(fā)明的多媒體內(nèi)容創(chuàng)建系統(tǒng)包括多媒體捕捉方法,通常用參考號20表示。在本發(fā)明的優(yōu)選實施例中,每個多媒體源提供專用捕捉裝置。因此,捕捉方法20包括音頻捕捉裝置152a、視頻捕捉裝置152b及數(shù)據(jù)捕捉裝置152c。音頻捕捉裝置可以包括如麥克風(fēng)、模擬-數(shù)字轉(zhuǎn)換器及信號處理電子裝置形成數(shù)字化的音頻數(shù)據(jù)幀。視頻捕捉裝置,如前所述,可以包括視頻擷取卡,用于從模擬視頻輸入產(chǎn)生數(shù)字視頻幀。對于每個媒體源,捕捉設(shè)備也可以包括一些軟件,如用于控制媒介源及其相應(yīng)的捕捉裝置操作的專用設(shè)備驅(qū)動器及應(yīng)用程序。多媒體捕捉方法20的輸出是未壓縮的媒體流的集合,每個媒體流對應(yīng)一個媒體源151a-151c。
如果一個或多個媒體源提供已經(jīng)適合用于多媒體內(nèi)容編輯器22格式的內(nèi)容,那么該媒體內(nèi)容可以直接用于編輯器。例如,在媒體源是從存儲在大型存儲媒介中的文件中以數(shù)據(jù)形式檢索的音頻或視頻幀的文件時。
多媒體內(nèi)容編輯器22接收到多媒體捕捉方法提供的獨立媒體流,并將它們鏈接為統(tǒng)一的實時流。例如,應(yīng)該同時回放的多媒體流,如視頻及音頻內(nèi)容,通過提供各幀所需的回放時間的標(biāo)識鏈接起來。也可以提供所需的其他多媒體流的回放時間的標(biāo)識。只要用這種方式鏈接,多媒體內(nèi)容的每個元素都稱為“磁道”。編輯器22也可以運用各種方式編輯媒體磁道。例如,視頻幀速率可以降低一半或者視頻圖像的空間解析度可以降低。
從編輯器22開始,通過編碼單元24接收媒體磁道。在本發(fā)明的優(yōu)選實施例中,每個磁道以適合該媒體類型的方法進行獨立編碼,而每個媒體類型均提供單獨的編碼器。因此,在此例中,提供了三個編碼器,一個音頻編碼器157a、一個視頻編碼器157b以及數(shù)據(jù)編碼器157c。應(yīng)該知道,所用編碼器的個數(shù)對于本發(fā)明的應(yīng)用來說并不重要。而且在數(shù)據(jù)編碼器中,編碼方式可能因數(shù)據(jù)的不同而有所差異。每個編碼器去除各個媒體磁道中的冗余信息,這樣它們就可以用更簡潔的格式標(biāo)識,適合在帶寬有限的通信鏈接中傳輸。所用的壓縮技術(shù)包括無丟失與有丟失壓縮技術(shù)。音頻與數(shù)據(jù)磁道可以使用任何合適的方法編碼,其選擇可以根據(jù)用于進一步將多媒體數(shù)據(jù)傳輸給接收客戶端的通信信道的特點。例如,音頻磁道可以使用GSM EFR語音編譯碼器編碼。視頻編碼器157b依據(jù)本文中前面描述的方法實現(xiàn)。它使用運動補償時間預(yù)測,并且如前所述,操作方式應(yīng)依據(jù)本發(fā)明降低圖像序列中的預(yù)測路徑,給壓縮視頻磁道提供更大的容忍數(shù)據(jù)丟失引起的錯誤的能力。
復(fù)用器26接收編碼單元24產(chǎn)生的壓縮媒體磁道。此處它們進行交織,形成統(tǒng)一的比特流,該比特流稱為多媒體“片段”。然后將這些片段傳遞給多媒體服務(wù)器14,通過通信鏈接進一步傳遞給接收客戶端。
圖16是依據(jù)本發(fā)明的方法的另一種情況。該圖描述了依據(jù)ITU-T建議H.324實現(xiàn)的多媒體終端160。此終端可以作為多媒體收發(fā)機設(shè)備。它包括對通信網(wǎng)上傳輸?shù)亩嗝襟w數(shù)據(jù)流的捕捉、編碼與復(fù)用的元素,以及接收、解復(fù)用、譯碼與回放接收到的多媒體內(nèi)容的元素。ITU-T建議H.324將終端操作定義為一個整體,并參考其他的建議,控制各種終端設(shè)備元素的操作。通常,這樣的多媒體終端可以用于實時多媒體應(yīng)用中,如視頻電話中,但是并不僅限于此。例如,H.324多媒體終端也可以用作多媒體內(nèi)容檢索客戶端,從例如多媒體內(nèi)容服務(wù)器等處下載或分流多媒體內(nèi)容。
在本發(fā)明的內(nèi)容中,應(yīng)該知道,圖16中的H.324終端只是其中的一種適合用于本發(fā)明的方法中的多媒體終端設(shè)備。還應(yīng)該說明的是,也可以使用一些其他與終端設(shè)備的位置與安裝有關(guān)的技術(shù)。如圖16所示,多媒體終端可以位于與固定線路電話網(wǎng),如模擬PSTN(公共交換電話網(wǎng)),相連的通信設(shè)備中。在這種情況中,多媒體終端配有調(diào)制解調(diào)器171,符合ITU-T建議V.8、V.34及V.8bis。多媒體終端也可以連接到外部調(diào)制解調(diào)器上。該調(diào)制解調(diào)器可以將復(fù)用的數(shù)字?jǐn)?shù)據(jù)與多媒體終端產(chǎn)生的控制信號轉(zhuǎn)換為適合在PSTN上傳輸?shù)哪M格式。它還可以使多媒體終端接收來自PSTN的模擬形式的數(shù)據(jù)及控制信號并將它們轉(zhuǎn)換為可以解復(fù)用并以合適的方法被終端處理的數(shù)字?jǐn)?shù)據(jù)流。
H.324多媒體終端也可以通過下列方式實現(xiàn)可以將其與數(shù)字固定線路網(wǎng)絡(luò),如ISDN(綜合業(yè)務(wù)數(shù)據(jù)網(wǎng))直接相連。在此情況下,該終端依據(jù)H.324/I(ITU-T建議H.324的附錄D)實現(xiàn),而調(diào)制解調(diào)器171依據(jù)ITU-TI.400系列建議用ISDN用戶網(wǎng)接口代替。在圖16中,該ISDN用戶網(wǎng)接口用框圖172表示。
H.324多媒體終端也可用于移動通信應(yīng)用中。建議H.324的附錄C有一些將H.324終端用于易錯的通信環(huán)境中的修訂。這些修訂中多數(shù)專門用于復(fù)用協(xié)議,用來合并數(shù)據(jù)流(ITU-T建議H.223),并產(chǎn)生更健壯的比特流,抵抗信道錯誤引起的數(shù)據(jù)丟失與破壞。盡管這些修訂的使用不限于移動通信中,但是它們尤其適用于移動應(yīng)用中,這是因為在這一類通信鏈接中的比特錯誤率一般較高。H.324附錄C也指出(第C.3段)在移動應(yīng)用中,調(diào)制解調(diào)器171可以用任何合適的無線接口代替,見圖16的框圖173。因此,依據(jù)H.324附錄C實現(xiàn)的移動多媒體終端(通常指H.324/M終端)可以接受適合用于任何當(dāng)前或未來移動典型網(wǎng)中的無線部分。例如,H.324/M多媒體終端可以包括一個與當(dāng)前第二代GSM移動電話網(wǎng)或提出的第三代UMTS(通用移動電話系統(tǒng))相連的無線收發(fā)機。
無論多媒體終端怎樣安裝,無論它位于哪里,都可能需要與包括電路交換及基于分組的電信鏈接的通信網(wǎng)絡(luò)交換多媒體數(shù)據(jù),該電信網(wǎng)可能包括具有無線鏈接的移動電信網(wǎng)。例如,鏈接到ISDN網(wǎng)中的H.324/I多媒體終端可以在PLMN移動電話網(wǎng)中形成與H.324/M終端的連接。通過網(wǎng)絡(luò)在終端之間傳輸?shù)亩嗝襟w數(shù)據(jù)會受到各種來源的錯誤與數(shù)據(jù)丟失的影響。這可能包括比特翻轉(zhuǎn)錯誤,例如由影響無線通信鏈接的干擾所引起,還可能包括核心ISDN網(wǎng)中可能的擁塞引起的包丟失。因此,盡量使通信多媒體終端的視頻編碼器的安裝能夠為視頻比特流提供高度的傳輸錯誤容忍能力是很有用的。如前所述,依據(jù)本發(fā)明的視頻編碼方法使用時間預(yù)測技術(shù)壓縮可以為視頻序列提供容錯控制能力。因此,它非常適合安裝在多媒體終端中,尤其是適合安裝在可能用于易于出錯的通信信道中的設(shè)備中。
需要說明的是,在設(shè)計用于雙向通信(即可以發(fā)送并接收視頻數(shù)據(jù))的多媒體終端中,必須提供依據(jù)本發(fā)明安裝的視頻編碼器與視頻譯碼器。因為依據(jù)本發(fā)明的優(yōu)選實施例的視頻編碼器可以改變壓縮幀的順序,因此接收終端的視頻譯碼器必須在顯示之前對接收到的幀正確排序。因此,依據(jù)本發(fā)明典型的多媒體終端將包含一個能夠完成上述編碼/譯碼方法的編碼器/譯碼器對。這樣的編碼器與譯碼器對經(jīng)常作為統(tǒng)一的功能單元安裝,稱為“編譯碼器”。另一方面,如果多媒體終端只用作多媒體檢索客戶端,那么它只需要包括一個依據(jù)本發(fā)明安裝的譯碼器。
下面將參考圖16詳細(xì)描述典型的H.324多媒體終端。該多媒體終端160包括各種所謂的“終端設(shè)備”。它包括視頻、音頻及遠(yuǎn)程信息處理,通常分別用參考號161、162及163表示。視頻設(shè)備161可以包括如捕捉視頻圖像的視頻照相機、顯示接收到的視頻內(nèi)容的監(jiān)控器以及可選的視頻處理設(shè)備。音頻設(shè)備162通常包括一個麥克風(fēng),可用于捕捉語音信息等,還包括一個揚聲器,用于重新生成接收的音頻內(nèi)容。音頻設(shè)備也可以包括附加的音頻處理單元。遠(yuǎn)程信息處理163可以包括數(shù)據(jù)終端、鍵盤、電子書寫板或靜止圖像收發(fā)機,如傳真單元。
視頻設(shè)備耦合到視頻編譯碼器165中。該視頻編譯碼器包括一個視頻編碼器及相應(yīng)的視頻譯碼器。應(yīng)該以合適的格式對捕捉的視頻數(shù)據(jù)進行編碼,從而在通信鏈接上進行進一步的傳輸,并對通信網(wǎng)中接收到的壓縮音頻內(nèi)容譯碼。在圖16的示例中,視頻編譯碼器依據(jù)ITU-T建議H.263實現(xiàn),尤其適合用于低比特速率的視頻會議應(yīng)用,其中通信鏈接是例如可用帶寬為20kps的無線信道。
類似地,終端的音頻設(shè)備耦合到音頻編譯碼器中,用圖16的參考號166表示。在此示例中,音頻編譯碼器依據(jù)ITU-T建議G.723.1完成。與視頻編譯碼器類似,音頻編譯碼器包括一個編碼/譯碼對。它將終端音頻設(shè)備捕捉的音頻數(shù)據(jù)轉(zhuǎn)換為適合在通信鏈接上傳輸?shù)母袷?,并將從網(wǎng)絡(luò)中接收的音頻數(shù)據(jù)編碼為適合在終端揚聲器等重新生成的格式。音頻編譯碼器的輸出傳送給延遲框167。它可以補償視頻編碼過程引入的延遲,從而保證音頻與視頻內(nèi)容的同步。
多媒體終端的系統(tǒng)控制框164控制連接到網(wǎng)絡(luò)的信令,建立在發(fā)送與接收終端之間操作的通用模式。H.324指出使用ITU-T建議H.245定義的控制協(xié)議執(zhí)行端到端的信令。H.245控制協(xié)議,在圖16中用參考號168表示,交換關(guān)于發(fā)送并接收終端的編碼與譯碼能力的信息,并用于進行各種視頻編碼器的編碼模式。系統(tǒng)控制框164也依據(jù)ITU-T建議H.233控制數(shù)據(jù)加密的使用??紤]用于數(shù)據(jù)傳輸中加密類型的信息從加密模塊169傳遞給復(fù)用器/解復(fù)用器(MUX/DEMUX單元)170。
在來自多媒體終端的數(shù)據(jù)傳輸中,MUX/DEMUX單元170將編碼與同步的視頻與音頻流與來自遠(yuǎn)程信息處理163的數(shù)據(jù)輸入合并起來,形成統(tǒng)一的比特流。加密模塊169提供的有關(guān)用于比特流的數(shù)據(jù)加密類型(如果有)的信息,用于選擇加密模式。因此,當(dāng)復(fù)用并可能加密的多媒體數(shù)據(jù)流接收到時,MUX/DEMUX單元170負(fù)載對比特流解密,將其分成多媒體元素并將這些元素傳遞給合適的編譯碼器與/或終端設(shè)備用于譯碼與重新生成。依據(jù)H.324標(biāo)準(zhǔn),MUX/DEMUX單元170應(yīng)該執(zhí)行ITU-T建議H.223。
應(yīng)該說明的是,依據(jù)本發(fā)明,多媒體內(nèi)容創(chuàng)建系統(tǒng)、多媒體終端、多媒體檢索客戶端、視頻編碼器、譯碼器給視頻編譯碼器的功能元素可以作為軟件或?qū)S糜布騼烧呓Y(jié)合實現(xiàn)。依據(jù)本發(fā)明,視頻編碼與譯碼方法尤其適合以計算機程序的格式實現(xiàn),程序包括計算機可讀的用于完成本發(fā)明的功能步驟的指令。類似,依據(jù)本發(fā)明的編碼器與譯碼器可以作為存儲在存儲媒介上的軟件代碼實現(xiàn)并在計算機(如個人臺式電腦)上執(zhí)行,從而可以為計算機提供視頻編碼與/或譯碼功能。
下面結(jié)合仿真試驗的結(jié)果考察包丟失情況來更好的理解本發(fā)明的優(yōu)點。在這一示例中,假設(shè)為完成依據(jù)本發(fā)明的編碼方式所設(shè)計的視頻編碼器用來以10幀/秒的速率對QCIF(1/4公用中分辨率格式)視頻幀進行編碼。周期性INTRA幀請求以5-秒的間隔出現(xiàn),但是由于視頻序列中的場景剪切而沒有出現(xiàn)INTRA幀。表示INTRA編碼幀所需的數(shù)據(jù)量設(shè)為2000字節(jié),而INTER幀的大小約為200字節(jié)。這些數(shù)據(jù)是典型的依據(jù)當(dāng)前使用的視頻編碼標(biāo)準(zhǔn),如ITU-T建議H.263編碼的INTRA與INTER編碼QCIF格式幀。
用于Internet與局域網(wǎng)(LAN)中的數(shù)據(jù)傳輸?shù)牡湫妥畲蟪叽绲膮f(xié)議數(shù)據(jù)單元大約為1500字節(jié)。假設(shè)這為包的大小,典型的INTRA編碼幀的傳送需要兩個包。另一方面,一個包可以承載7個INTER幀。這就意味者,為了傳輸占用5秒視頻的50個幀,共需要9個包。假設(shè)序列從INTRA幀(這是一般情況)開始,那么典型的5-秒視頻序列組成一個INTRA幀及49個INTER編碼幀。如上所述,INTRA幀傳輸需要兩個包,而其余的40個INTER編碼幀可以用7個幀傳送,因此總共需要9個包。需要說明的是,使用大包用于Internet上的數(shù)據(jù)傳輸是有好處的。首先,在Internet骨干網(wǎng)中,包丟失的概率基本上與包的大小無關(guān),其次,如果使用大包,包頭過大的情況就會降低。
運用依據(jù)本發(fā)明的編碼方法,編碼器使用持續(xù)時間為5秒+1幀的緩沖器存儲QCIF格式的后面的視頻幀。當(dāng)開始編碼過程時,緩沖器最初為空的,然后存入未壓縮的QCIF視頻幀。序列中的第一個幀是有關(guān)INTRA請求的。由于該示例中的緩沖器長度的選擇與周期性INTRA更新請求一致,并且因為假設(shè)在所考察的時間段內(nèi)沒有場景剪切或INTRA幀更新請求,存儲在緩沖器中的最后一幀將與下一個INTRA請求有關(guān)。因此,編碼器能夠定位緩沖器中的未壓縮幀,其出現(xiàn)時間約在兩個INTRA幀請求之間的中點處。此幀被選擇用于進行INTRA格式的編碼(即選為實際的INTRA幀),并且前面描述的編碼過程用于緩沖器中的幀。在此處考慮的仿真中,進一步假設(shè)已經(jīng)經(jīng)過編碼壓縮的視頻幀在基于分組的通信網(wǎng)絡(luò)中傳輸,并且通信信道由于擁塞導(dǎo)致一定比例的傳輸包丟失。仿真比特速率為18880bps,Internet上的視聽流的目標(biāo)比特速率為28.8kbps調(diào)制解調(diào)器。
下表對依據(jù)本發(fā)明的編碼方法的容錯能力與傳統(tǒng)編碼方案的進行比較,其中所有INTRA請求相關(guān)的幀本身用INTRA格式編碼(即圖7所示)。表4顯示的是在平均每9幀丟失1個包(11%的包丟失率)的情況中的幀丟失數(shù)據(jù),表5表示每9幀中丟失2個包(22%的包丟失率)的對應(yīng)數(shù)字。
表4 11%包丟失率中傳統(tǒng)方法與本發(fā)明方法的振丟失率
表5 22%包丟失率中傳統(tǒng)方法與本發(fā)明方法的振丟失率
從上述兩種情況都可以看出,使用依據(jù)本發(fā)明的方法,丟失的幀較少。
在前面的內(nèi)容中,借助優(yōu)選實施例描述了依據(jù)本發(fā)明的方法。本發(fā)明所述領(lǐng)域的技術(shù)人員都知道,本發(fā)明并不限于前面提及的優(yōu)選實施例的描述,而是可以用于其他形式,不違背其本質(zhì)屬性與特征。因此,上述優(yōu)選實施例應(yīng)該看作是示意性的,而不是限定性的。因此,本發(fā)明的應(yīng)用范圍由權(quán)利要求限定,而此處對發(fā)明內(nèi)容的一般描述僅作為標(biāo)識。
此外,此規(guī)范書(包含權(quán)利要求)與/或圖中描述的每個特征都可以與其他描述與/或示例特征互相獨立地用于本發(fā)明。本發(fā)明也可以包含任何新的特征或此處明確或概括性描述的特征的組合,而不管它是否與權(quán)利要求的內(nèi)容相關(guān)或是否是減輕了任何或所有提及的問題。
此規(guī)范書也給出本發(fā)明的摘要作為參考。
權(quán)利要求
1.一種對視頻幀序列編碼形成壓縮視頻序列的方法,所述的壓縮視頻幀序列包括以至少第一個壓縮視頻幀格式及第二個壓縮視頻幀格式編碼的幀,所述的第一個壓縮視頻幀格式為非時間域的預(yù)測格式,而所述的第二個壓縮視頻幀格式為時間域上的預(yù)測格式,其特征在于該方法包含以下步驟識別關(guān)于第一個視頻幀的第一個標(biāo)識,該標(biāo)識是用來表示所述的第一個視頻幀應(yīng)該以所述的第一個壓縮視頻幀格式編碼;將所述的第一個標(biāo)識與第二個視頻幀相關(guān)聯(lián);對所述的第二個視頻幀以所述的第一個壓縮視頻幀格式編碼;定義在所述的第二個視頻幀之前出現(xiàn)的包括N個視頻幀的第一個視頻幀集合;對所述的第一個視頻幀集合以所述的第二個壓縮視頻幀格式編碼;定義在所述的第二個視頻幀之后出現(xiàn)的包括M個視頻幀的第二個視頻幀集合;對所述的第二個視頻幀集合以所述的第二個壓縮視頻幀格式編碼。
2.如權(quán)利要求1所述的方法,其特征在于所述的非時域上的預(yù)測格式是一個INTRA幀格式;所述的時域上的預(yù)測格式是一個前向預(yù)測INTER幀格式;
3.如權(quán)利要求3所述的方法,其特征在于所述的非時域的預(yù)測格式是一個INTRA幀格式;所述的時域上的預(yù)測格式是一個后向預(yù)測的B-幀格式;
4.如權(quán)利要求2所述的方法,其特征在于對所述的N個視頻幀的第一個集合的編碼通過下列步驟完成為所述的N個視頻幀分別分配一個序列壓縮序號,所述的第一個集合的最后一個出現(xiàn)的視頻幀分配的壓縮序號最低,而所述的最早出現(xiàn)的視頻幀分配的壓縮序號最高;將所述的第二個視頻幀標(biāo)識為預(yù)測參考幀,用于對所述的具有最低壓縮序號的視頻幀編碼;以所述的前向預(yù)測INTER幀格式按照壓縮序號的升序?qū)λ龅囊曨l幀的第一集合編碼。
5.如權(quán)利要求3所述的方法,其特征在于對所述的視頻幀的第一個集合的編碼通過下列步驟完成為所述的N個視頻幀分別將所述的第二個視頻幀標(biāo)識為預(yù)測參考幀;以所述的后向預(yù)測B-幀格式對所述的N個視頻幀分別編碼。
6.如上述任一個權(quán)利要求所述的方法,其特征在于對所述的M個視頻幀的第二個集合的所述編碼通過下列步驟完成為所述的M個視頻幀分別分配一個序列壓縮序號,分配給所述的第二個集合最早出現(xiàn)的視頻幀的壓縮序號最低,而所述的第二個集合的最晚出現(xiàn)的視頻幀的壓縮序號最高;將所述的第二個視頻幀標(biāo)識為預(yù)測參考幀,用于為所述的具有最低壓縮序號的視頻編碼;以INTER幀格式按照壓縮序號的升序?qū)λ龅膲嚎s幀的第二個集合編碼。
7.如權(quán)利要求1所述的方法,其特征在于所述的第一個標(biāo)識為有關(guān)場景剪切的INTRA幀請求。
8.如權(quán)利要求1所述的方法,其特征在于所述的第一個標(biāo)識為周期性INTRA幀請求。
9.如上述任一權(quán)利要求所述的方法,進一步包括識別第二個標(biāo)識,該標(biāo)識用來表示另一個視頻幀應(yīng)該以所述的第一個壓縮視頻幀格式編碼;及對于包括所述的第一個視頻幀及在第一個視頻幀與另一個視頻幀之間出現(xiàn)的幀的幀組,將所述的第二個視頻幀定義為幀組基本中間處出現(xiàn)的幀。
10.如權(quán)利要求9所述的方法,其特征在于所述的第二個標(biāo)識為關(guān)于場景剪切的INTRA幀請求。
11.如權(quán)利要求9所述的方法,其特征在于所述的第二個標(biāo)識為周期性INTRA請求。
12.如權(quán)利要求9所述的方法,其特征在于所述的第二個標(biāo)識是作為來自接收終端反饋接收的INTRA幀更新請求。
13.如權(quán)利要求9所述的方法,其特征在于對于n幀的組,所述的第二個幀為幀組中的n/2幀,其中n為正偶數(shù)。
14.如權(quán)利要求9所述的方法,其特征在于對于n幀的組,所述的第二個幀為幀組的(n/2+1)幀,其中n為正偶數(shù)。
15.如權(quán)利要去9所述的方法,其特征在于對于n幀的組,第二個幀為幀組的(n+1)/2幀,其中n為正奇數(shù)。
16.如上述任何權(quán)利要求所述的方法,進一步包括連接關(guān)聯(lián)壓縮視頻序列的幀所需的回放順序的壓縮視頻序列信息。
17.如上述任一權(quán)利要求所述的方法,進一步包括關(guān)聯(lián)關(guān)于壓縮視頻序列幀所需的回放時間的壓縮視頻序列信息。
18.一種對視頻幀序列編碼形成壓縮視頻序列的視頻編碼器,所述的壓縮視頻序列包括以至少第一個壓縮視頻幀格式及第二個壓縮視頻幀格式編碼的幀,所述的第一個壓縮視頻幀格式為非時域上預(yù)測的格式,而所述的第二個壓縮視頻格式為時域上預(yù)測的格式,其特征在于該編碼器包括識別與第一個視頻幀關(guān)聯(lián)的第一個標(biāo)識的裝置,其中第一個標(biāo)識用來表示所述的第一個視頻幀應(yīng)該以所述的第一個壓縮視頻幀格式編碼;用于將所述第一標(biāo)識和第二視頻幀關(guān)聯(lián)的裝置;以所述的第一個壓縮視頻幀格式對所述的第二個視頻幀編碼的裝置;定義所述的第二個視頻幀之前出現(xiàn)的包括N個視頻幀的第一個視頻幀集合的裝置;以所述的第二個壓縮視頻幀格式對所述的第一個視頻幀集合編碼的裝置;定義在所述的第二個視頻幀之后出現(xiàn)的包括M個視頻幀的第二個視頻幀集合的裝置;以所述的第二個壓縮視頻幀格式對所述的第二個視頻幀集合編碼的裝置。
19.一個視頻編譯碼器包括依據(jù)權(quán)利要求18的視頻編碼器。
20.一個多媒體內(nèi)容創(chuàng)建系統(tǒng),包括依據(jù)權(quán)利要求18的視頻編碼器。
21.一個多媒體終端包括依據(jù)權(quán)利要求18的視頻編碼器。
22.如權(quán)利要求21所述的多媒體終端,其特征在于該終端是一個無線電信設(shè)備。
23.對壓縮視頻序列譯碼形成解壓縮視頻幀序列的方法,所述的壓縮視頻序列包括以至少第一個壓縮視頻幀格式及第二個壓縮視頻幀格式編碼的幀,所述的第一個壓縮視頻幀格式為非時域上預(yù)測的格式,而所述的第二個壓縮視頻幀格式為時域上的預(yù)測格式,其特征在于該方法包括下列步驟識別與第一個視頻幀關(guān)聯(lián)的第一個標(biāo)識,該標(biāo)識用于表示所述的第一個視頻幀以所述的第一個壓縮視頻幀格式編碼;對所述的第一個視頻幀譯碼;接收所述的第二個壓縮視頻幀格式的N幀的第一個集合,包括所述的第一個視頻幀之前的解壓縮視頻序列;對所述的N個視頻幀的所述的第一個集合譯碼;依據(jù)關(guān)于第一個集合的幀的回放信息,對第一個幀集合的幀進行排序;接收所述的第二個壓縮視頻幀格式的M個視頻幀的第二個集合,包括所述的第一個視頻幀之后的所述解壓縮視頻序列;對所述的第二個視頻幀集合譯碼。
24.一個對壓縮視頻序列譯碼形成解壓縮視頻幀序列的視頻譯碼器,所述的壓縮視頻序列包括以至少第一個壓縮視頻幀格式與第二個壓縮視頻幀格式編碼的幀,所述的第一個壓縮視頻幀格式為非時域上預(yù)測的格式而所述的第二個壓縮視頻幀格式為時域上預(yù)測的格式,其特征在于譯碼器包括識別與第一個視頻幀相關(guān)的第一標(biāo)識的裝置,該標(biāo)識用來表示所述的第一個視頻幀用所述的第一個壓縮視頻幀格式編碼;對所述的第一個視頻幀譯碼的裝置;接收所述的第二個壓縮視頻幀格式的第一個N幀集合的裝置,包括所述的第一個視頻幀之前的所述解壓縮視頻序列;對所述的N個視頻幀的第一個集合譯碼的裝置;依據(jù)有關(guān)第一個集合的幀的回放信息,對第一個幀集合的幀排序的裝置;接收所述的第二個壓縮視頻幀格式的M個視頻幀的第二個集合的裝置,包括所述的第一個視頻幀后的解壓縮視頻序列;對所述的第二個視頻幀集合譯碼的方法。
25.一個視頻編譯碼器,包括依據(jù)權(quán)利要求24的視頻譯碼器。
26.一個多媒體內(nèi)容檢索系統(tǒng),包括依據(jù)權(quán)利要求24的視頻譯碼器。
27.一個多媒體終端,包括依據(jù)權(quán)利要求24的視頻譯碼器。
28.如權(quán)利要求27所述的多媒體終端,其特征在于該終端是一個無線電信設(shè)備。
29.將計算機作為視頻編碼器的計算機程序,用來對視頻幀序列進行編碼形成壓縮視頻序列,所述的壓縮視頻幀序列包括以至少第一個壓縮視頻幀格式及第二個壓縮視頻幀格式編碼的幀,所述的第一個壓縮視頻幀格式為非時域的預(yù)測格式,而所述的第二個壓縮視頻幀格式為時域上的預(yù)測幀格式,其特征在于所述的計算機程序包括識別關(guān)于第一個視頻幀的第一個標(biāo)識的計算機可執(zhí)行代碼,該標(biāo)識用來表示所述的第一個視頻幀應(yīng)該以所述的第一種壓縮視頻幀格式編碼;將所述的第一個標(biāo)識與第二個視頻幀關(guān)聯(lián)的計算機可執(zhí)行代碼;對所述的第二個視頻幀以所述的第一種壓縮視頻幀格式編碼的計算機可執(zhí)行代碼;定義在所述的第二個視頻幀之前出現(xiàn)的包括N個視頻幀的第一個視頻幀集合的計算機可執(zhí)行代碼;對所述的第一個視頻幀集合以所述的第二個壓縮視頻幀格式編碼的計算機可執(zhí)行代碼;定義在所述的第二個視頻幀之后出現(xiàn)的M個視頻幀的第二個視頻幀集合的計算機可執(zhí)行代碼;對所述的第二個視頻幀集合以所述的第二種壓縮視頻幀格式編碼的計算機可執(zhí)行代碼。
30.一個將計算機作為視頻譯碼器的計算機程序,用于對壓縮視頻序列譯碼,從而形成解壓縮視頻幀序列,所述的壓縮是編碼序列包括以至少第一個壓縮視頻幀格式及第二個壓縮視頻幀格式編碼的幀,所述的第一個壓縮視頻幀格式為非時域上預(yù)測格式,而所述的第二個壓縮視頻幀格式為時域上預(yù)測的格式,其特征在于計算機程序包括識別與第一個視頻幀關(guān)聯(lián)的第一個標(biāo)識的計算機可執(zhí)行代碼,該標(biāo)識表示所述的第一個視頻幀以所述的第一個壓縮視頻幀格式編碼;解碼所述第一視頻幀的計算機可執(zhí)行碼;接收所述的第二個壓縮視頻幀格式的N個幀的第一個集合的計算機可執(zhí)行代碼,包括所述的第一個視頻幀之前的所述解壓縮視頻序列;對所述的N個視頻幀的第一個所述集合譯碼的計算機可執(zhí)行代碼;依據(jù)有關(guān)第一個集合幀的回放信息對第一個幀集合的幀排序的計算機可執(zhí)行代碼;接收所述的第二個壓縮視頻幀格式的M個視頻幀的第二個集合的計算機可執(zhí)行代碼,包括所述的第一個視頻幀之后的所述解壓縮視頻序列;對所述的視頻幀的第二個集合譯碼的計算機可執(zhí)行代碼。
31.如權(quán)利要求29及30所述的計算機程序。
32.一個存儲媒介包括將計算機作為視頻編碼器的計算機程序,用于對視頻幀序列編碼,形成壓縮視頻序列,所述的壓縮視頻序列包括以至少第一個壓縮視頻幀格式及第二個壓縮視頻幀格式編碼的幀,所述的第一個壓縮視頻幀格式為非時域上預(yù)測的格式,而所述的第二個壓縮視頻幀格式為時域上預(yù)測的格式,其特征在于所述的存儲媒介包括識別與第一個視頻幀關(guān)聯(lián)的第一個標(biāo)識的計算機可執(zhí)行代碼,該標(biāo)識用于表示所述的第一個視頻幀用所述的第一個壓縮視頻幀格式編碼;計算機可執(zhí)行碼,用于對所述第二視頻幀以所述第一壓縮視頻幀格式編碼;計算機可執(zhí)行碼,用于定義在所述第二視頻幀之前出現(xiàn)的包括N個視頻幀的第一視頻幀集合;計算機可執(zhí)行碼,用于對所述第一視頻幀集進行所述第二壓縮視頻幀格式編碼;計算機可執(zhí)行碼,用于定義在所述第二視頻幀之后出現(xiàn)的包括M個視頻幀的第二視頻幀集合;計算機可執(zhí)行碼,用于對所述第二視頻幀進行所述第二壓縮視頻幀格式編碼。
33.一個存儲媒介包括將計算機作為視頻譯碼器的計算機程序,用于對壓縮視頻序列譯碼,形成解壓縮視頻幀序列,所述的壓縮視頻序列包括以至少第一個壓縮視頻幀格式及第二個壓縮視頻幀格式編碼的幀,所述的第一個壓縮視頻幀格式為非時域上預(yù)測的格式,而所述的第二個壓縮視頻幀格式為時域上預(yù)測的格式,其特征在于所述的存儲媒介包括識別與第一個視頻幀關(guān)聯(lián)的第一個標(biāo)識的計算機可執(zhí)行代碼,該標(biāo)識用于表示所述的第一個視頻幀用所述的第一個壓縮視頻幀格式編碼;用于對所述是一視頻幀解碼的計算機可執(zhí)行碼;用于接收所述的第二個壓縮視頻幀格式的N個幀的第一個集合的計算機可執(zhí)行代碼,包括所述的第一個視頻幀之前的解壓縮視頻序列;對所述的N個視頻幀的第一個集合譯碼的計算機可執(zhí)行代碼;依據(jù)關(guān)于第一個集合的幀的回放信息,對幀的第一個集合的幀進行排序的計算機可執(zhí)行代碼;用于接收所述的第二個壓縮視頻幀格式的M個視頻幀的第二個集合的計算機可執(zhí)行代碼,包括所述的第一個視頻幀之后的解壓縮視頻序列;對視頻幀的所述第二個集合譯碼的計算機可執(zhí)行代碼。
34.一種對視頻幀序列編碼形成壓縮視頻序列的方法,所述的壓縮視頻序列包括以至少第一個壓縮視頻幀格式及第二個壓縮視頻幀格式編碼的幀,所述的第一個壓縮視頻幀格式為非時域上的預(yù)測格式,而所述的第二個壓縮視頻幀格式為時域上的預(yù)測格式,其特征在于該方法包括以下步驟識別關(guān)于第一個視頻幀的第一個標(biāo)識,該標(biāo)識表示所述的第一個視頻幀應(yīng)該以所述的第一個壓縮視頻幀格式編碼;及將所述的第一個標(biāo)識與第二個視頻幀相連,其方式能夠降低所述的壓縮視頻序列中的預(yù)測路徑長度。
全文摘要
本發(fā)明提供一種減輕視頻序列中數(shù)據(jù)丟失造成的可察覺的圖片質(zhì)量下降的方法。它采用在周期性的INTRA幀更新、INTRA更新請求或場景剪切之后對INTRA編碼幀(50)的插入進行有效地延遲達(dá)到此目的。與INTRA幀請求相關(guān)的幀本身不用INTRA格式編碼,而是選擇視頻序列中后面出現(xiàn)的幀(50)進行INTRA格式的編碼。最好選擇大約位于周期性INTRA請求之間的中點位置處的實際INTRA幀。在實際的INTRA編碼幀(50)之前出現(xiàn)的幀(P2,P3)使用時域上的預(yù)測進行編碼,它從實際的INTRA幀開始以逆序編碼,而在INTRA編碼幀(50)之后出現(xiàn)的幀(P4、P5)使用前向的時域上的預(yù)測進行編碼。
文檔編號H04N7/32GK1449628SQ01812139
公開日2003年10月15日 申請日期2001年6月28日 優(yōu)先權(quán)日2000年6月30日
發(fā)明者M·漢努克塞拉 申請人:諾基亞有限公司