專利名稱:視頻數(shù)據(jù)的傳輸?shù)闹谱鞣椒?br>
技術(shù)領(lǐng)域:
本發(fā)明涉及視頻數(shù)據(jù)的傳輸。
背景技術(shù):
由于視頻數(shù)據(jù)的傳輸需要高比特率,所以已知有各種不同類型的壓縮來降低傳遞活動圖像所需的比特的數(shù)量。在壓縮視頻數(shù)據(jù)時,在需要通過傳輸信道傳送的比特的數(shù)量與活動圖像的分辨率和精確度之間具有折衷。視頻圖像在幀中傳遞,每個幀包括一組例如8X8的宏塊。宏塊例如可以是16X 16的像素塊。為了生成缺失的圖像,理想地應(yīng)當(dāng)存在按照特定順序的所有的幀。用于傳送視頻數(shù)據(jù)的已知的壓縮技術(shù)是使用所謂的參考幀。在壓縮視頻數(shù)據(jù)的塊時,編碼過程生成幀內(nèi)幀(intra frame,1-幀)。幀內(nèi)幀是幀的壓縮版本,其僅僅通過使用1-幀自身中的信息而不用參考其它幀就可以被解壓縮。它們有時被稱為關(guān)鍵巾貞。另一類型的巾貞也被生成,在這里被稱為巾貞間巾貞(inter frame),其通過基于參考幀的預(yù)測幀間編碼而被生成。參考幀可以是前面的幀,或者它可以是一連串幀中的不同的更早或更晚的幀。參考幀可以是幀間幀自己,或可以是幀內(nèi)幀。在早期的視頻編碼方法中,一種類型的幀間幀(被稱為P幀)通常是基于單個的前面的幀。一種不同類型的幀間幀是基于一個更早的和一個更晚的幀(這樣的幀在MPEG2標(biāo)準(zhǔn)中被稱為B幀)。更近的視頻編碼標(biāo)準(zhǔn)允許使用多個參考幀來生成任何特定的幀間幀。H. 264/AVC標(biāo)準(zhǔn)是一種這樣的標(biāo)準(zhǔn)。這給予視頻編碼器為要被編碼的特定幀的每個宏塊選擇特定參考幀的選項(xiàng)。通常,最佳的幀是前面的幀,但是有其中額外的參考幀可以改進(jìn)壓縮效率和/或視頻質(zhì)量的情況。H. 264標(biāo)準(zhǔn)允許多達(dá)16個參考幀共同存在。按照H. 264標(biāo)準(zhǔn),編碼器和解碼器都保存包含短期和長期參考幀的參考幀列表。解碼的圖片緩沖器DPB被使用來在解碼器上容納參考幀,用于由解碼器在解碼期間使用。長期參考幀(LTR)被使用來編碼一個以上的幀,而短期參考幀(STR)通常被使用來僅僅編碼單個幀。然而,對于多個參考幀,STR可以被幾個隨后編碼的幀用作參考。特定的幀可以使用LTR和STR的混合。盡管多個參考幀的使用可以改進(jìn)壓縮效率和/或視頻質(zhì)量,但是可能會引發(fā)困難,因?yàn)榻獯a器不再能假定編碼器在生成幀間幀時可能應(yīng)用了什么種類的協(xié)議。參考幀列表通過存儲器管理控制操作命令(MMC0命令)而被管理,所述命令被編碼器使用來將幀標(biāo)記為短期參考和長期參考,以及從參考列表中移除短期和長期幀。一旦命令在編碼器上被生成,它就在傳輸信道上與它影響的幀一起被傳送到解碼器。因此,解碼器可以類似地訪問MMCO命令且評估如何基于已經(jīng)被存儲在解碼器上的先前的信息和通過MMCO命令提供的新的信息來解碼所述幀。困難引發(fā)是因?yàn)槿绻鸐MCO命令在傳輸期間丟失,則解碼器不再具有與在編碼器上被使用來編碼該幀的信息相對應(yīng)的信息,并且由于解碼器因?yàn)檫@個原因的失敗,實(shí)際上使得比特流無效。
發(fā)明內(nèi)容
按照本發(fā)明的一個方面,提供了一種傳送視頻數(shù)據(jù)的方法,所述方法包括
在編碼器上將視頻數(shù)據(jù)編碼為多個幀,所述多個幀包括參考幀和中間幀(intermediate frame),它們中的至少一些基于多個參考巾貞被編碼;
在編碼器上針對每個幀保存參考幀的當(dāng)前列表;和 傳送所述多個幀,每個幀與針對該幀的參考幀的當(dāng)前列表相關(guān)聯(lián)地被傳送。在本上下文中,中間幀是從參考幀編碼的(例如,生成的或預(yù)測的)幀。應(yīng)當(dāng)指出,參考幀本身可以是在前生成的或預(yù)測的中間幀。術(shù)語“參考幀”指被使用來生成或預(yù)測另外的(中間)幀的幀。 優(yōu)選地,識別每個幀的幀編號與所述幀一起被傳送,以使得在解碼器上可以維持所述幀編號和參考列表之間的映射。本發(fā)明的另一個方面提供了一種解碼代表視頻數(shù)據(jù)的一連串幀的方法,所述幀包括參考幀和中間幀,所述中間幀中的每一個基于至少一個參考幀被編碼,所述方法包括
與每個中間幀相關(guān)聯(lián)地接收在編碼器上針對該幀保存的參考幀的當(dāng)前列表;
通過以下方式來解碼每個中間幀,即所述解碼是參照在針對所述幀的當(dāng)前列表中被提及的參考幀來進(jìn)行的。本發(fā)明的另一個方面提供了一種編碼器,其包括用于將視頻數(shù)據(jù)編碼為多個幀的裝置,所述多個幀包括中間幀,所述中間幀中的每一個基于至少一個參考幀被編碼,以及所述中間幀中的至少一些基于多個參考幀被編碼;用于針對每個中間幀保存參考幀的當(dāng)前列表的裝置;以及用于傳送所述多個中間幀的裝置,每個中間幀與針對該幀的參考幀的當(dāng)前列表相關(guān)聯(lián)地被傳送。本發(fā)明的另一個方面提供了一種計算機(jī)程序產(chǎn)品,其包括程序代碼裝置,當(dāng)程序代碼裝置被處理器執(zhí)行時實(shí)施以下步驟將視頻數(shù)據(jù)編碼為多個幀,所述多個幀包括中間幀,所述中間幀中的每一個基于至少一個參考幀被編碼,以及所述中間幀中的至少一些基于多個參考幀被編碼;針對每個中間幀保存參考幀的當(dāng)前列表;以及傳送所述多個中間幀,每個中間幀與針對該幀的參考幀的當(dāng)前列表相關(guān)聯(lián)地被傳送。本發(fā)明的另一個方面提供了一種解碼器,用于解碼代表視頻數(shù)據(jù)的一連串幀,所述幀包括中間幀,所述中間幀中的每一個基于至少一個參考幀被編碼,所述解碼器包括用于與每個中間幀相關(guān)聯(lián)地接收在編碼器上針對該中間幀保存的參考幀的當(dāng)前列表的裝置;以及可操作來解碼中間幀的解碼裝置,其中所述解碼裝置可被操作來通過以下方式解碼所述中間幀中的至少一些,即所述解碼是參照在針對所述中間幀的當(dāng)前列表中提及的參考幀來進(jìn)行的。該解碼的方法可包括基于與視頻數(shù)據(jù)一起接收的命令來維護(hù)解碼緩沖器,其中所述解碼緩沖器識別用于解碼中間幀的參考幀。該解碼的方法可還包括檢測幀尚未被接收到的步驟;以及使用針對上一個接收到的幀的當(dāng)前列表來識別用于解碼至少一個隨后的中間幀的參考幀。該解碼器可包括用以容納用于每個中間幀的參考幀的當(dāng)前列表的存儲庫。
該解碼器可包括解碼圖片緩沖器,其識別用于解碼中間幀的參考幀,其中所述解碼裝置在接收的幀丟失的情況中可操作來使用針對上一個接收的幀的當(dāng)前列表去識別用于解碼至少一個隨后的中間幀的參考幀。該編碼的方法可包括與每個中間幀一起傳送識別該幀的幀編號。該編碼器可包括用于通過幀編號識別每個幀的裝置,所述幀編號與每個幀一起被傳送。該用于編碼的計算機(jī)程序產(chǎn)品在被執(zhí)行時,可被安排為與每個中間幀一起傳送識別該幀的幀編號。該解碼器方法可包括與每個中間幀一起接收識別該幀的幀編號,以及維持所述幀編號和參考列表間的映射。
該解碼器可包括用于維持在與每個幀一起接收的幀編號和在視頻數(shù)據(jù)中被檢查的內(nèi)部索引編號間的映射的裝置。為了更好地理解本發(fā)明和顯示本發(fā)明如何被實(shí)現(xiàn),現(xiàn)在將參考下面的附圖。
圖1是圖示在通信系統(tǒng)中通信的兩個用戶終端的示意 圖2A是編碼器的示意框 圖2B是解碼器的示意框 圖3a_3e圖示了被丟棄的分組的一種示例性情形;和 圖4a_4e圖示了被丟棄的分組的另一種示例性情形。
具體實(shí)施例方式圖1以示意的形式圖示了第一用戶終端UEl連接到基于分組的通信系統(tǒng)2,諸如因特網(wǎng)或其它基于分組的網(wǎng)絡(luò)。本發(fā)明在基于VoIP的通信系統(tǒng)的上下文中是有用的,基于VoIP的通信系統(tǒng)是諸如Skype ,其中視頻數(shù)據(jù)在也可以載送呼叫的通信事件中被傳送。第二用戶終端UE2也被連接到網(wǎng)絡(luò)2。在圖1中假定用戶終端UEl正充當(dāng)用于被接收終端UE2消耗的視頻數(shù)據(jù)的源。用戶終端可以是任何能夠充當(dāng)視頻數(shù)據(jù)的源的適當(dāng)設(shè)備的形式,是移動的或別樣的。在一個非限制性的實(shí)施例中,第一和第二用戶終端都已經(jīng)安裝通信客戶機(jī),通信客戶機(jī)執(zhí)行通過網(wǎng)絡(luò)2建立通信事件的功能,并提供編碼器和解碼器以分別用于編碼和解碼在被通信客戶機(jī)所建立的通信事件中用于通過網(wǎng)絡(luò)2傳輸?shù)囊曨l流。視頻數(shù)據(jù)采用比特流20的形式,比特流20包括以分組的形式傳送的一系列幀。所述幀包括幀間(P)幀和幀內(nèi)(I)幀。如所提到的,幀間幀包含代表該幀與一個或多個參考幀之間的差異的數(shù)據(jù)。幀內(nèi)幀(關(guān)鍵幀)是代表幀內(nèi)的像素之間的差異的幀,并且因此其可以不用參考另外的幀而被解碼。在編碼時,幀可以被標(biāo)記為短期參考(STR)或長期參考(LTR),正如由編碼器確定的。接收終端上的解碼器需要存儲STR和LTR以便在解碼期間使用,同時保證LTR不被意外地蓋寫。圖2A是在上面討論的類型的用戶終端中使用的編碼器上的操作的示意圖。編碼器4具有處理器6和存儲器8。編碼器接收以包含宏塊的一連串幀的形式的視頻數(shù)據(jù)1(例如,來自在用戶終端上操作的攝像機(jī)),處理器將所述宏塊編碼成幀以通過網(wǎng)絡(luò)2傳輸。編碼器操作壓縮算法來生成用于傳輸?shù)囊幌盗薪碡?,包括P巾貞和I巾貞。每個巾貞與巾貞編號相關(guān)聯(lián)。編碼器在存儲器8中保存參考列表10。參考幀列表10包含短期(STR)和長期(LTR)參考幀。在H. 264標(biāo)準(zhǔn)中,規(guī)定了最大值16。在編碼器上的參考列表通過使用存儲器管理控制操作(MMCO)命令而被管理。下面的表I是MMCO命令的列表,包括六個不同的MMCO命令和停止標(biāo)志。對于每個I巾貞,參考列表是用于編碼該巾貞的參考巾貞的有序組。表權(quán)利要求
1.一種傳送視頻數(shù)據(jù)的方法,包括在編碼器上將視頻數(shù)據(jù)編碼為多個幀,所述多個幀包括中間幀,所述中間幀中的每一個基于至少一個參考幀被編碼,以及它們中的至少一些基于多個參考幀被編碼;在編碼器上針對每個中間幀保存參考幀的當(dāng)前列表;和傳送所述多個中間幀,每個中間幀與針對該幀的參考幀的當(dāng)前列表相關(guān)聯(lián)地被傳送。
2.一種編碼器,包括用于將視頻數(shù)據(jù)編碼為多個幀的裝置,所述多個幀包括中間幀,所述中間幀中的每一個基于至少一個參考幀被編碼,以及它們中的至少一些基于多個參考幀被編碼;用于針對每個中間幀保存參考幀的當(dāng)前列表的裝置;和用于傳送所述多個中間幀的裝置,每個中間幀與針對該幀的參考幀的當(dāng)前列表相關(guān)聯(lián)地被傳送。
3.按照權(quán)利要求1的方法,或按照權(quán)利要求2的編碼器,其中至少一個關(guān)鍵幀作為源視頻幀的壓縮的版本被生成和傳送,所述關(guān)鍵幀構(gòu)成參考幀。
4.按照權(quán)利要求1、2或3的方法或編碼器,其中當(dāng)前的中間幀基于(i)一連串的幀中的前面的參考幀或( ) 一連串的幀中的隨后的參考幀而被編碼。
5.按照權(quán)利要求1或2的方法或編碼器,其中每個中間幀通過使用基于所述至少一個參考幀的預(yù)測幀間編碼而被生成。
6.按照任一前述權(quán)利要求的方法或編碼器,包括在編碼器上將列表中的所述參考幀中的至少一個標(biāo)記為長期參考幀,由此指示所述參考幀要被存儲直至經(jīng)歷更新命令,其中將幀標(biāo)記為長期參考幀包括識別用于所述長期參考幀的緩沖器位置;和/或?qū)⒘斜碇械乃鰠⒖紟械闹辽僖粋€標(biāo)記為短期參考幀,由此指示所述參考幀可以在未經(jīng)歷更新命令的情況下被蓋寫。
7.按照權(quán)利要求6的方法或編碼器,其中標(biāo)記的步驟包括將存儲器管理命令附加到被標(biāo)記的幀,所述存儲器管理命令指示該幀的狀態(tài),所述命令與該幀一起被傳送。
8.按照權(quán)利要求1或2的方法,其中參考幀的列表識別至少一個中間幀和/或至少一個關(guān)鍵幀。
9.按照任一前述權(quán)利要求的方法或編碼器,其中所述列表包括參考幀的有序組,每個參考幀在所述有序組中具有位置。
10.一種計算機(jī)程序產(chǎn)品,其包括程序代碼裝置,當(dāng)所述程序代碼裝置被處理器執(zhí)行時實(shí)施以下步驟將視頻數(shù)據(jù)編碼為多個幀,所述多個幀包括中間幀,所述中間幀中的每一個基于至少一個參考幀被編碼,以及它們中的至少一些基于多個參考幀被編碼;針對每個中間幀保存參考幀的當(dāng)前列表;和傳送所述多個中間幀,每個中間幀與針對該幀的參考幀的當(dāng)前列表相關(guān)聯(lián)地被傳送。
全文摘要
一種傳送視頻數(shù)據(jù)的方法,包括在編碼器上將視頻數(shù)據(jù)編碼為多個幀,所述多個幀包括中間幀,所述中間幀中的每一個基于至少一個參考幀被編碼,以及它們中的至少一些基于多個參考幀被編碼;在編碼器上針對每個中間幀保存參考幀的當(dāng)前列表;以及傳送所述多個中間幀,每個中間幀與針對該幀的參考幀的當(dāng)前列表相關(guān)聯(lián)地被傳送。
文檔編號H04N7/26GK103024374SQ20121040328
公開日2013年4月3日 申請日期2012年10月22日 優(yōu)先權(quán)日2011年10月20日
發(fā)明者P.卡爾松, A.杰弗里莫夫, S.薩布林, D.趙 申請人:斯凱普公司