專利名稱:交織模式下的視頻分層編碼方法
技術領域:
本發明涉及視頻分層編碼方法,特別涉及交織模式下的視頻分層編碼方法。
背景技術:
隨著計算機互聯網(Internet)和移動通信網絡的飛速發展,多媒體壓縮及通信技術的應用越來越廣泛,從網上廣播、電影播放到遠程教學以及在線的新聞網站等都用到了流媒體技術。當前網上傳送視頻、音頻主要有下載和流式傳送兩種方式。流式傳送是連續傳送視/音頻信號,當流媒體在客戶機播放時其余部分在后臺繼續下載。流式傳送有順序流式傳送和實時流式傳送兩種方式。實時流式傳送是實時傳送,特別適合現場事件,實時流式傳送必須匹配連接帶寬,這意味著圖像質量會因網絡速度降低而變差,以減少對傳送帶寬的需求。
尤其是隨著第三代移動通信系統(3rd Generation,簡稱“3G”)的出現和普遍基于網際協議(Internet Protocol,簡稱“IP”)的網絡迅速發展,視頻通信正逐步成為通信的主要業務之一。而雙方或多方視頻通信業務,如可視電話、視頻會議、移動終端多媒體服務等,更對多媒體數據流的傳送及服務質量提出苛刻的要求。不僅要求網絡傳送實時性更好,而且等效地也要求視頻數據壓縮編碼效率更高。
鑒于媒體通信的需求現狀,國際電信聯盟標準部(InternationalTelecommunication Union Telecommunication Standardization Sector,簡稱“ITU-T”)繼制定了H.261、H.263、H.263+等視頻壓縮標準后,并于2003年正式發布了H.264標準。這是ITU-T和國際標準化組織(InternationalStandardization Organization,簡稱“ISO”)的運動圖像專家組(Moving PictureExperts Group,簡稱“MPEG”)一起聯合制定的適應新階段網絡媒體傳送及通信需求的高效壓縮編碼標準。它同時也是MPEG-4標準第10部分的主要內容。
制定H.264標準的目的在于更加有效地提高視頻編碼效率和它對網絡的適配性。事實上由于其優越性,H.264視頻壓縮編碼標準很快就已經逐漸成為當前多媒體通信中的主流標準。大量采用H.264標準的多媒體實時通信產品(如會議電視,可視電話,3G移動通信終端)和網絡流媒體產品先后問世,是否支持H.264已經成為這個市場領域中決定產品競爭力的關鍵因素。可以預測,隨著H.264的正式頒布和廣泛使用,基于IP網絡和3G、后3G無線網絡的多媒體通信必然進入一個飛躍發展的新階段。
最近,鑒于各種媒體業務服務質量的不同,MPEG-21希望發展一種高效率的視頻分層編碼標準(Scalable Video Coding,簡稱“SVC”)以適用于通用多媒體接入(Universal Multimedia Access,簡稱“UMA”)的目標,并計劃將此標準納入其第13部分。這種可調性編碼器必須符合下列需求高信噪比,時域、空域、復雜度、感興趣區域的可調性,基于對象以及組合可調性、錯誤強韌性、基本層(Base Layer,簡稱“BL”)兼容性、低傳輸延遲、隨機存取功能、良好的編碼效率、支技交織(interlaced)模式等等。
SVC是MPEG制定的最新編解碼技術,可根據用途改變像素和幀速率。SVC已被定位于產品化進程正在迅速發展的H.264的擴展標準,其特點是根據終端種類和無線狀態,改變分辨率與幀速率。分辨率與幀速率的多種組合,比如可在122Kbit~699Kbit/秒的范圍改變編碼數據速度。SVC的另一優點是只要準備一個視頻源,就能發送給多個終端和服務。服務運營商得到的好處是能夠有效運用存儲設備。
SVC是一項十分具有吸引力的視頻編碼技術,它能夠通過編碼之后的處理來實現視頻碼流任意的裁減。視頻分層編碼的碼流中包括一個基本層和一個以上的增強層(Enhanced Layer,簡稱“EL”)。在由ITU和MPEG聯合制定的先進視頻壓縮標準(Advanced Video Coding,簡稱“AVC”)標準的SVC擴展部分中,規定基本層是可以和H.264/AVC兼容的。
從2005年1月的第MPEG71次會議到2006年底,MPEG與ITU-T聯合標準制定工作組(Joint Video Team,簡稱“JVT”)將進行H.264/AVC的分層編碼擴展SVC標準的制定工作,基本層兼容H.264主要框架,可以較好地實現空間(spatial)分層、時間(temporal)分層、質量(quality或信噪比SNR)分層、復雜度(complexity)分層等功能。另外,SVC標準還將引入交織(interlace)模式視頻。
圖1示出了其基本算法框圖。當視頻流數據進入編碼器時,在經過二維的空間采樣得到分辨率更低的圖像作為基本層及各個低級的增強層,顯然越底層的圖像其時間或空間分辨率或者其他指標越低。在各個層面上,各自進行時間上的運動估計等獨立的編碼方式,在底層完成編碼后的圖像經過插值恢復到與上一層的圖像相同的分辨率級別,在傳給上一層,使得上一層核心編碼器可以利用下一層的圖像進行預測,提高編碼效率。這就是SVC的層間預測編碼的原理。在編碼完成后多媒體源將各層復用在信道上發送,當然接收方也可以根據服務質量要求或帶寬條件預訂或臨時選擇接收各個層次媒體數據,高效實現UMA目的。
而在目前SVC編碼中,層間信息的預測主要由紋理預測和運動信息預測兩部份組成。層間紋理預測主要是利用基本層或前一層對應塊的紋理信息來作為當前塊的幀內預測信息的預測方式。如圖2所示,為了得到高層中宏塊對應的基本層預測信息,還需要對基本層對應位置上的塊進行去塊效應和插值。插值的比例根據基本層和增強之間空間分辨率的大小決定,這種模式也稱為幀內基本層(intra_BL)模式,即根據同一時刻中,下一層的紋理信息進行預測。
這里需要提及的幾個基本概念是普通的非分層的視頻編碼中,往往存在兩種預測模式——幀內(intra)和幀間(inter),其中幀內預測不設計時間軸上前后幀的關聯,而幀間即根據前一幀進行預測。這里SVC中只是新引入了一個層次的概念,但在同一層中,仍然依照傳統的視頻編碼模式,因此為了區別幀內(intra)模式,采用幀內基本層(intra_BL)指示這里的層間同一時間點上下一層對上一層的預測模式。
與紋理信息不同的是,運動信息本身就涉及時間軸上前后幀的關系,但由于時間點上對應的各個層次之間的幀具有對應關系,因此運動信息也具有對應關系。于是,層間運動信息的預測也是利用基本層或前一層對應塊的運動信息來作為當前塊的運動信息的預測的方式。不過在對增強層的運動信息進行編碼時,在H.264原有的編碼模式下增加了2種新的宏塊模式基本層模式和1/4象素精度模式。
當使用基本層模式時,當前宏塊不必再傳輸更多的運動信息,直接代替無需預測。這種模式下將使用來自前一層對應宏塊的運動/預測信息以及宏塊分塊信息。當前一層的空間分辨率較小時,運動矢量將被放大。如果前一層的對應宏塊是一個intra宏塊,那么當前宏塊模式就被設置為intra_BL模式。對于當前宏塊的各個分塊,使用的參考幀索引與前一層中的對應宏塊分區也是一致的。在增強層與其基本層之間,相應的運動矢量要乘以一個因子,該因子是與空間分辨率比例有關的。
而1/4象素精度模式一般只是在前一層的空間分辨率較小時使用。這種模式與基本層模式類似,宏塊分區、參考幀索引和運動矢量的獲得也與基本層模式一樣。然而,對每個運動矢量,都會額外地傳輸一個1/4抽樣值并疊加到運動矢量上。
上面詳細介紹了SVC層間預測中紋理信息和運動信息兩種預測模式的技術細節。但是需要提及的是以上的層間的預測方法都是在增強層和基本層以幀編碼的模式下實現的。然而,新的標準中SVC將引入交織(interlace)模式時,對應的層間預測必需要進行一些改變才能適用或者不降低編碼效率。
這里需要介紹SVC將要引入的交織模式的原理。交織模式是指在原先的前后兩幀圖像考慮到其相似性,將其合并為一幀進行編碼以提高編碼效率,這種交織模式在靜止或運動緩慢的視頻流中產生的效果非常好。比如視頻流在時間軸上前后兩幅圖像經過采樣得到垂直分辨率減半的半幅圖像,然后兩幅圖像隔行交叉,得到交織后的圖像,這個過程即稱為交織,其中交織后的圖像成為幀(frame),交織之前的半幅圖像稱為場(field)。
此外,還需要介紹宏塊的概念,宏塊就是幀中某小塊圖像,往往是編碼處理過程的操作單位,比如是4×4。而在交織模式下,幀和場由于在垂直分辨率上相差一倍,因此宏塊的對應關系也存在一倍的縮放。
現在要介紹交織模式下的兩種編碼方式,一種是基于宏塊級別的幀、場編碼模式自適應(MBAFF),另一種是基于場級別的幀、場編碼模式自適應(PAFF)。注意,這里要需要引入兩個概念即幀編碼模式和場編碼模式,分別是指統一編碼和獨立編碼,其中幀編碼模式(統一編碼)是指兩個場的對應內容一起編碼,這種模式適應于靜止圖像流或者緩慢運動圖像,而場編碼模式(獨立編碼)是指兩個場的對應內容獨立編碼,這種模式反之適應于運動劇烈的圖像。這里幀編碼模式和場編碼模式只是借用幀和場的概念,不要和幀、場混淆。
可見,MBAFF和PAFF事實上只是一個編碼級別的不同,基本原理完全一樣,PAFF也可以看成以宏塊為單位,只不過所有宏塊的編碼方式選擇必須一致,而MBAFF則可以獨立選擇。
交織模式不僅可以在基本層實行,也可以在增強層實行。相對于交織模式(interlace,簡稱“i模式”),普通的稱為串行模式(progress,簡稱“p模式”)。另外,由于引入交織模式,基本層和增強層的速率或幀率可能會不同,比如引入交織模式后的基本層速率會減半。
綜上所述,在引入交織模式后,能夠有效提高媒體流編碼效率和壓縮率,但是,由于i模式改變了該層(基本層或增強層)的內容結構,使得其與其他層可能產生不一致的對應內容或者速率,則對于原先的層間預測中的紋理信息或運動信息預測變得不實用。因此,需要提出一種在交織模式下層間運動和紋理預測的方法和設備,能夠提高交織模式下的層間預測的效率,從而能夠保證甚至提高SVC的壓縮效率。
針對增強層和基本層不同的隔行interlace模式和逐行progress模式(幀模式)的組合,Vieron等人在文獻[Vieron,Bottreau,Francois,Lopez,JVT-R014,Inter-layer prediction for scalable interlace/progressive videocoding,18th MeetingBangkok,January,2006]中給出了一個i模式下層間預測的總體方案,通過構建虛擬基本層(Virtual Base Layer,簡稱“VBL”)來完成層間各種模式之間的一個轉換和對應,虛擬基本層保留了基本層的紋理和運動信息,同時又和增強層的幀場編碼結構模式一樣,有利于在不改變原來系統框架的基礎上完成i模式下的層間預測。
該文中在基本層和增強層的組合為i->p時,即基本層是以i模式編碼(包括PAFF模式和MBAFF模式),而增強層輸入序列是逐行掃描的即以p模式編碼,則從基本層預測增強層稱為i->p。該文給出的虛擬基本層的形成過程如圖3所示。
在圖3中上面一部分的路徑為非交織模式下的普通層間預測,這一部分與前面所述的過程相同,這里不再贅述;下一部分就是i->p模式下虛擬基本層的形成過程,注意到其中有一個合并(Merging)過程,首先在最左邊為兩種級別的i模式(上面為MBAFF、下面為PAFF)的基本層的場或幀中對應宏塊位置的示意圖,圖中場假設為頂場(TOP)和底場(Bottom,簡稱“BOT”),然后經過合并的過程后得到一個與右側EL增強層的結構一致的VBL虛擬基本層,VBL與EL的差別僅在于分辨率的縮放,因此一旦完成合并過程后,即可采用原先的p模式下的層間預測,即完成從VBL到EL的預測,而不需要改變現有的設備及其算法。
可見,該方法的關鍵在于如何實現合并步驟將i模式BL對應到VBL,文中給出的方法是以宏塊為單位的根據編碼方式(intra或inter)選擇的方法,即根據不同場的對應宏塊,按照其編碼方式選擇其中一個宏塊放大后最為VBL對應宏塊,這樣可以在所有宏塊中選擇并垂直放大得到一個完整的VBL。
在實際應用中,上述方案存在以下問題在實際視頻流壓縮應用中,往往在i模式下的每幀所對應的場在時間軸上對應于實際視頻的不同時間點,比如原先在p模式下的時間先后的連續兩幀經過重采樣形成兩個場,再進行交織才對應為i模式下一個幀,這樣的話i模式下的幀實際上包含的是時間點不同的兩個圖像的交織。
這就對于現有的基于VBL的預測框架帶來問題,假設基本層每一幀包含一個頂場和一個底場,在基本層和增強層的對應中將會發現,當基本層的幀率和增強層相同時,每個基本層的幀對應一個增強層的幀,而基本層幀的兩場并不都是和增強層對應幀在時間軸上對應的,只有一個場是和增強層對應的,另一個場則是夾在前后兩個增強層幀的時間點中間。
根據原始序列頂場和底場采樣時間點不同,假設時間點靠前的一場和增強層對應的幀對應,并假設是頂場靠前,則每個頂場對應的存在一個相同時間點的增強層的幀,而底場則不對應任何幀。根據層間預測的原理,應當最好使用相同時間點的幀進行預測,這樣會更接近,特別是運動劇烈的情況下,如果采用時間點相差的幀預測,會得到適得其反的效果。可見,圖3的現有技術中根據編碼方式選擇合并兩場作為VBL預測的方法在運動劇烈的情況下可能會降低壓縮編碼效率。
此外,在i->p模式下,實際應用中往往增強層的幀率和基本層原先未交織前的幀率是一致的,即基本層的一幀對應增強層的兩幀,其中頂場和底場在時間軸上分別對應一個增強層幀,而這種模式將是實際應用中使用得最廣泛的模式。這種情況下,現有技術在兩場中選擇合并得到一幀VBL,將只能對應于一幀增強層,導致增強層另一幀沒有基本層對應幀進行預測,無法實現層間預測,不利于壓縮效率的提高。
發明內容
有鑒于此,本發明的主要目的在于提供一種交織模式下的視頻分層編碼方法,使得交織模式下層間預測的效率得以提高,進而提高視頻壓縮效率。
為實現上述目的,本發明提供了一種交織模式下的視頻分層編碼方法,包含以下步驟,A將交織后的當前層的幀拆分為場;B根據時間軸對應關系,確定與上層的幀的時間點一致的所述當前層的場;C用該場預測該對應的上層的幀,實現層間預測編碼。
其中,所述當前層為基本層,所述上層為第一層增強層。
此外在所述方法中,所述步驟B中,當當前層與上層的幀速率一致時,當前層的每一幀所拆分的場中僅有一場與上層的幀對應,并用于層間預測;當當前層幀速率為上層幀速率的一半時,當前層的每一幀所拆分的兩場中分別與上層的幀對應,并用于層間預測。
此外在所述方法中,還包含以下步驟,D根據待編碼視頻流數據的特點,判斷決定直接用交織后的當前層的幀預測時間對應的上層的幀。
此外在所述方法中,所述步驟D中,當當前層與上層的幀速率一致時,當前層的每一幀僅與上層的一幀對應,并用于層間預測;當當前層幀速率為上層幀速率的一半時,當前層的每一幀與上層的前后連續每兩幀對應,并用于層間預測。
此外在所述方法中,還包含以下步驟,根據所述步驟D和所述步驟C的兩種層間預測編碼的效率,自適應地選擇效率最優的編碼方式。
此外在所述方法中,所述步驟C中的層間預測包含以下子步驟,C1從所述用于層間預測的場所在當前層的幀中分割其紋理信息得到該場的紋理信息,然后使用視頻分層編碼的圖像伸縮方法進行伸縮得到和上層的幀相同尺寸的幀的紋理信息,用于上層對應幀的紋理信息預測;C2從所述用于層間預測的場所在當前層的幀中分割其運動信息得到該場的運動信息,然后使用視頻分層編碼的圖像伸縮方法進行伸縮得到和上層的幀相同尺寸的幀的運動信息,用于上層對應幀的運動信息預測。
此外在所述方法中,所述步驟C中的層間預測包含以下子步驟,C3先將所述用于層間預測的場所在當前層的幀用視頻分層編碼的圖像伸縮方法進行伸縮,得到和上層的幀相同尺寸的幀,再從該幀分割其紋理信息得到該場的紋理信息,用于上層對應幀的紋理信息預測;C4先將所述用于層間預測的場所在當前層的幀用視頻分層編碼的圖像伸縮方法進行伸縮,得到和上層的幀相同尺寸的幀,再從該幀分割其運動信息得到該場的運動信息,用于上層對應幀的運動信息預測。
此外在所述方法中,所述步驟C2或C4中的從當前層的幀的運動信息中拆分場的運動信息的過程包含以下步驟,如果該幀中對應宏塊對是按“場編碼模式”編碼的,則將該宏塊對各自的運動信息通過參考幀轉換后分別直接復制給對應場。
此外在所述方法中,所述步驟C2或C4中的從當前層的幀的運動信息中拆分場的運動信息的過程還包含以下步驟,如果該幀中對應宏塊對是按“幀編碼模式”編碼的,則合并該宏塊對的運動信息,并復制給所有拆分的場,其中合并該宏塊對的運動信息的步驟依據以下準則進行當該宏塊對中有一個是幀內預測模式、另一個是非幀內預測模式時,合并得到的運動信息為無效;當該宏塊對都是幀間預測模式時,首先對該宏塊對進行垂直方向合并,使得合并得到的運動信息塊的垂直長度至少為最小運動信息塊垂直長度的兩倍;且在合并所述幀間預測模式的宏塊對時,若兩宏塊的參考幀不同,則取數值小的一個參考幀作為合并后的參考幀,而兩宏塊的運動矢量的平均值作為合并后的運動矢量。
此外在所述方法中,當當前層為非交織模式而上層為交織模式時,用當前層的前后連續兩幀進行采樣、交織操作得到一個當前層的交織幀,并用該幀預測上層的對應時間點的幀。
通過比較可以發現,本發明的技術方案與現有技術的主要區別在于,在i->p模式下,把基本層交織幀分拆成場,再按照時間軸對應關系,用時間對應的場預測增強層的幀,當然對于p->i模式,則反過來基本層中時間軸對應于增強層兩場的連續兩幀通過交織組合得到一幀,再預測增強層的交織幀,這一組合的過程剛好為拆分場的逆過程;對于不同特性——靜止或者運動劇烈的視頻流,提供可選的幀預測方法,即不選擇將交織幀拆分成場,而直接用交織幀預測對應的增強層幀,這種預測模式在靜止或運動緩慢的圖像流中效率將會更高,因此還可以根據編碼效率選擇是否采用幀預測或者場預測;對于層間幀率一致的情況,采用時間對應的進行預測,而對于幀率不一致的情況,則可以采用時間軸上相鄰的幀或場進行預測;在具體的層間預測過程中,用場來構成對應幀的預測信息,包括紋理,運動信息的具體形成,實現層間預測。
這種技術方案上的區別,帶來了較為明顯的有益效果,即根據時間軸對應的關系,用對應場來預測,可以達到更高的預測效率,從而提高壓縮率,對于運動劇烈的圖像而言效果更加明顯,預測精度提高,壓縮效率大大提高;而若可選地采用交織幀進行直接預測時間軸對應幀的方法,即可以用對應場預測、對應幀預測,以及幀場自適應的方法來預測,由于用幀預測比用場預測在靜止情況下效果好,(因為幀的尺寸比場大,因此插值放大以后預測更精確),所以幀場自適應的方法不但適用于運動圖像也適用于靜止圖像,可以自動的選擇較佳的方式預測,達到層間預測的最高效率,同時可以簡化系統降低復雜度;而對于紋理信息和運動信息的具體預測方法,則實現了場預測的目的,充分有效地利用基本層的運動和紋理信息,提高層間的預測效率,從而提高了系統的編碼效率,保證系統可行性,提高系統可靠性和兼容性。
圖1是SVC算法結構示意圖;圖2是非交織模式下SVC層間紋理預測原理示意圖;圖3是現有技術實現交織模式下SVC層間預測的原理示意圖;圖4是根據本發明的第一實施方式的幀速率一致情況下層間場預測原理示意圖;圖5是根據本發明的第二實施方式的幀速率不一致情況下層間場預測原理示意圖;圖6是根據本發明的第五實施方式的場編碼模式下層間預測運動信息形成示意圖;圖7是根據本發明的第五實施方式的層間預測運動信息組合示意圖;圖8是根據本發明的第五實施方式的層間預測運動信息形成示意圖。
具體實施例方式
為使本發明的目的、技術方案和優點更加清楚,下面將結合附圖對本發明作進一步地詳細描述。
在H.264/AVC的分層擴展部分SVC引入了交織模式后,層間信息預測有所改變,為了充分利用層間的對應信息,本發明描述了一種交織模式下層間預測方法,利用層間的對應關系,采用幀場分拆合并的方法,根據時間對應關系將幀場信息與增強層對應,然后進行層間預測。它能夠提高層間預測的效率,從而提高系統的壓縮效率。
本發明的基本原理就是根據時間對應關系來選擇下層對上層的預測,由于引入交織模式后,基本層的交織幀實際上包含的兩個不同時刻的場,因此根據場的時間點對應關系,選擇時間點完全對應的一場(比如是頂場)來預測增強層的該時間點的幀,預測之前需要進行轉換,首先要將頂場經過上采樣轉化為與基本層幀大小,然后插值放大成與增強層幀一般大小。這樣預測大大提高了預測精度,即提高壓縮效率,特別對于運動劇烈的圖像流而言效果尤其明顯。
在基于時間對應這一關鍵點之上,還有很多擴展的發明點,比如當增強層幀速率為基本層幀速率的兩倍時,基本層的一個交織幀相對的有兩個增強層的幀,這時候除了頂場以外,正好可以采用底場預測另外一個增強層的幀,這個方法對于這種速率不一致的情況非常合適,可以提高預測效率近一倍,優勢非常明顯,而且注意到底場與多出來的增強層的這一幀在時間點上應該也是一致的。
此外,考慮到視頻流可能出現靜止圖像或緩慢運動序列,這種情況下基本層的兩個場(頂場和底場)雖然在時間軸上有偏差,但內容變化非常小,這時候如果采用交織之后的整個幀來直接預測,效果將會更好,因為交織之后的幀不需要進行上采樣,這樣分辨精度不會降低,相對的只用一場來預測會好一些,因此本發明還提出采用可選的幀預測方法。同樣的在處理器資源允許的情況下,還可以采用幀場自適應的機制,即同時用幀或場預測,然后根據預測結果選擇效率最好的一種方式。
最后,本發明還設計了具體的層間預測方法,包括運動信息、紋理信息的轉化、預測的步驟。另外,對于反過來p->i的模式,比如增強層經過交織,而基本層沒有交織,則僅需將拆分為場的過程反過來,將基本層的連續兩幀反過來,合并交織為一幀進行預測。
為了系統說明本發明的技術方案,下面按層次給出各個包含發明點的實施方式。
本發明的第一實施方式包含的最基本的發明點,即根據時間對應關系用基本層的場進行預測,以最常見的i->p模式,即基本層為i模式,增強層為p模式,基本層的幀由頂場和底場交織而成,基本層與增強層的幀率相同,即每幀基本層即對應一個增強層的幀。在該i->p模式下,本發明的層間預測過程距離如圖4所示。
圖4中假設基本層有5幀,則對應的增強層也有5幀,基本層每一幀由一個頂場和一個底場,在基本層和增強層的對應中,基本層的兩場并不都是和增強層對應幀對應的,只有一場是和增強層對應的,根據原始序列頂場和底場采樣時間點不同,時間點靠前的一場和增強層對應的幀對應。這里假設是頂場靠前,所以在層間預測時使用頂場信息。
圖4中頂場用實線標注,底場用虛線標注。如前所述,由于頂場垂直分辨率為整幀的一半,因此再用頂場預測增強層的幀之前,需要先將頂場在垂直方向進行上插值,然后放大到增強層的分辨率,才能進行預測。
整個過程包含三個基本步驟將交織后的基本層的幀拆分為場,頂場和底場;根據時間軸對應關系,確定與增強層的幀的時間點一致的場,這里假設是頂場,實際應用中根據時間順序確定;用該場預測該對應的增強層的幀,實現層間預測編碼。
熟悉本領域的技術人員可以理解,這里實施方式的表述中許多都為表述方便采用最常見的配置,但實際應用中可以有其他配置,比如基本層預測增強層可以是上下兩個增強層之間的預測,交織幀拆分之后可以有多個場,以及時間對應的場也可以使底場等,這些情況下均能實現發明目的,不影響本發明的實質和范圍。
在i->p模式下,當增強層和基本層幀率不一致時,比如基本層的幀率為增強層的一半時,按照時間順序每個增強層的幀對應一個基本層的場,這種模式將是實際應用中使用得最廣泛的模式。因此圖4中增強層每一幀之間就會再增加一幀,然而這些增加的幀就會出現沒有基本層對應幀的情況,也就沒有層間預測,不利于壓縮效率的提高。
因此在本發明的第二實施方式中,針對幀速率不一致的情況,給出利用底場和頂場各自預測對應增強層的幀的方法,即頂場還是對應原先的幀,底場采用對應的方法去預測多出來的增強層的幀。如圖5所示,按照實際時間順序將各幀依次對齊,并將基本層按照頂場和底場分開顯示,基本層中實線表示頂場,虛線表示底場,帶箭頭的虛線表示底場與頂場分拆開,按時間順序對齊。根據原始序列頂場和底場采樣時間點的前后,時間在前的放在前面,這里假定頂場在前。在這種情況下,可以直接用基本層每一場與增強層對應的幀作層間預測。
圖5中基本層的0,1,2,3,4幀與增強層的0,2,4,6,8幀對應,現在不但可以用原來增強層對應基本層的幀預測,還可以利用0,1,2,3,4幀的頂場,直接用頂場的信息來形成增強層的預測信息,包括紋理和運動信息。
圖5中的增強層1,3,5,7幀在現有方案中由于沒有對應幀是沒有層間預測的,但是由于基本層幀的分拆,是可以找到其在在時間上對應幀的,基本層1,2,3幀的底場可以分拆來作為增強層3,5,7幀的基本層對應幀,從而形成層間預測。由于不能跨畫面群組(Group of Pictures,簡稱“GOP”)預測,基本層0幀不能分拆作為增強層1幀的層間預測幀。同樣基本層第4幀也不能分拆作為下一個增強層GOP的預測幀。
前已述及,在視頻流為運動圖像時,時間軸上的對應關系會給層間預測帶來更好的效果,但視頻流多為靜止或者運動緩慢的圖像序列時,時間軸上的偏移不會帶來太大的變化,也就是說交織以后的兩場圖像差別不大,因此經過交織的整幀圖像可以代表當前時刻的圖像,因此本發明采用整幀圖像進行層間預測,這樣對比場的情況的好處是,不需要進行上采樣,垂直分辨率沒有犧牲,而且降低復雜度,簡化系統。
由于場信息在時間上和增強層對應幀是一致的,所以對于運動的基本層交織序列,使用頂場預測效果要好,而對于靜止的序列使用幀預測效果較好。因此本發明的第三實施方式中,包括三種可選的方案直接使用對應幀預測的方法,用基本層0,1,2,3,4幀來預測增強層的0,2,4,6,8幀,沒有分拆成場,這種情況適合于靜止圖像序列;直接使用對應場預測的方法,用基本層0,1,2,3,4幀的頂場來預測增強層的0,2,4,6,8幀,底場則預測3、5、7幀,這種情況適合于運動圖像序列;另外,還可以采用自適應的幀場預測機制,使用幀還是場進行預測,可以進行自適應條件的判別,例如判斷編碼效率方法,用幀和場分別進行預測并對增強層對應幀編碼,取編碼效率最高的一種。或者根據基本編碼模式的判斷方法,當基本層是PAFF時,如果采用場編碼,說明運動比較大,用場預測比較好,反之用幀預測;當基本層是MBAFF時,通過統計基本所有層宏塊對按照場編碼模式的比例β,當β大于某個比例時,例如50%,時說明運動比較大,用場預測,反之用幀預測。這種方法雖然耗費處理器資源,但是能夠達到最優層間預測和壓縮效率。
注意到,上述方案中對于用幀預測的情況,如果基本層和增強層的幀速率相差一倍時,增強層中多出來的幀將會沒有對應的幀進行預測,因此本發明的第四實施方式中,采用同一個幀進行兩次預測,即一個基本層的交織幀對應兩個增強層中前后連續的幀,這種方法是合理的,因為采用幀預測的前提是圖像序列多為靜止或變化緩慢,因此增強層上前后連續兩幀差異很小,完全可以用同一個基本層的交織幀預測。
可見,層間預測中,一般運動的序列,使用場預測效果較好,靜止的序列使用幀效果較好,增強層3,5,7幀同樣可以選擇基本層1,2,3幀或者其底場作為基本層的對應幀。
以下描述本發明的第五實施方式,該實施方式在前述實施方式的基礎上,詳細給出了紋理信息及運動信息組合的技術細節,這是層間預測過程的關鍵步驟。
根據前面的方法,可以獲得增強層每一幀對應基本層的幀或場(圖5中增強層1號幀在邊界外),當選擇基本層的場作為對應幀時,與現有SVC編碼系統中只能用幀作參考有所不同,因為場從幀中分拆開來,紋理和運動信息需要在垂直方向減少一半,而作為預測信息必須要與增強層對應的幀要保持對應,所以存在一個下采樣、上采樣、模式對應的過程,這一過程前面已經述及。這一過程中涉及到的紋理信息和運動信息的轉換就是下面實施方式中提到的內容,包括預測紋理信息的形成和場預測運動信息的形成。
(1)場預測紋理信息的形成場的紋理信息可以很容易從所在幀中分割出來,然后可以直接使用SVC的圖像放縮方法,在增強層和基本層水平和垂直方向的比例因子為Fh和Fv時,對基本層場在圖像級進行Fh和Fv*2的大小進行放縮,從而得到和增強層同樣大小的幀,然后進行層間紋理的預測。
(2)場預測運動信息的形成與紋理類似首先在基本層幀到場模式的分拆時,先形成幀到場的運動模式分割,然后進行運動信息的縮放形成增強層的對應預測信息。具體的說,基本層場的運動信息可以按照如下方法從幀中分拆獲得a.如果幀中對應宏塊對是按照場編碼的,就直接分別拷貝基本層宏塊對頂場和底場的運動矢量和塊模式給對應場,如圖6所示;b.如果幀中對應宏塊對是按照幀編碼的,說明該宏塊對運動不劇烈,頂場、底場紋理接近一致,兩場的運動信息交織在一起,這時判斷兩場的運動信息相同。當幀中宏塊對都是INTRA預測時,頂場和底場的預測模式也是INTRA模式。
當幀中宏塊對有一個是INTRA模式,另外一個不是INTRA模式時,頂場和底場的運動模式為無效模式,即沒有預測運動信息。
當幀中宏塊對都是INTER預測時,首先對幀中宏塊對的運動矢量進行垂直方向合并和歸類,去處在垂直方向上長度為4的塊,統一合并成垂直方向上長度至少為8的塊,原理如下圖7所示。
合并時,上下兩塊如果參考幀不同,就取其中數值較小的一個,運動矢量取上下兩塊的平均值。通過合并之后,幀和場的運動信息就可以產生對應關系,場宏塊中的運動信息可以拷貝宏塊對中的對應塊的信息。合并是為了拆封時至少能對應場中的一塊,如宏塊對中存在大小為x×y的塊(y>4),則對應的場宏塊中的塊為x×(y/2),除了在垂直方向上分塊信息要除以2之外,場宏塊將拷貝對應宏塊對中的所有運動信息。
宏塊中的對應關系如圖8所示,將宏塊對分割成形成四個8×16的小塊,然后按照下圖方式分別拷貝頂場和底場的運動矢量和塊模式給對應場的小塊。然后可以直接使用SVC的運動信息放縮方法,在增強層和基本層水平和垂直方向的比例因子為Fh和Fv時,對基本層場運動信息進行Fh和Fv*2的大小進行放縮,從而得到和增強層同樣大小的幀。然后進行層間運動信息的預測。
本發明的第六實施方式針對第五實施方式中增強層幀的運動信息預測,采用反過來的流程,即先進行放大,然后在這個分辨率級別上操作。具體的說就是在場運動信息形成增強層幀運動信息預測時,先用SVC的運動信息放縮方法,使場大小和幀大小一樣,然后再進行運動矢量的合成和對應,具體的步驟和方法與上述第五實施方式相同,僅僅所在分辨率級別不同。
前面針對將來SVC的交織模式應用最廣的情況下,即基本層是交織模式,增強層是幀編碼模式,而且增強層和基本層幀率一樣,給出解決方案。前已述及,實際應用中交織模式還可能是高層使用底層不同,比如基本層為p模式,增強層為i模式,即p->i,針對這種情況,本發明第七實施方式給出解決方案,即用基本層的連續兩幀通過采樣、交織的流程得到交織組合后的一個基本層交織幀,用這一幀去預測增強層的對應幀。
熟悉本領域的技術人員可以理解,前面以常見的配置描述的各種情況下的上下層層間預測的視頻編碼壓縮方法,在實際應用中各種情況比如可以是底層增強層與上層增強層之間,或者上下層速率不一致情況,或者上層為i模式下層為p模式等等,包括各種參數的配置都可以不同,但采用本發明的方案可以實現發明目的,精確完成層間預測,針對運動劇烈或緩慢靜止圖像均提高視頻編碼壓縮效率,降低系統復雜度,簡化編解碼機制。
雖然通過參照本發明的某些優選實施方式,已經對本發明進行了圖示和描述,但本領域的普通技術人員應該明白,可以在形式上和細節上對其作各種改變,而不偏離本發明的精神和范圍。
權利要求
1.一種交織模式下的視頻分層編碼方法,其特征在于,包含以下步驟A將交織后的當前層的幀拆分為場;B根據時間軸對應關系,確定與上層的幀的時間點一致的所述當前層的場;C用該場預測該對應的上層的幀,實現層間預測編碼。
2.根據權利要求1所述的交織模式下的視頻分層編碼方法,其特征在于,所述當前層為基本層,所述上層為第一層增強層。
3.根據權利要求1所述的交織模式下的視頻分層編碼方法,其特征在于,所述步驟B中,當當前層與上層的幀速率一致時,當前層的每一幀所拆分的場中僅有一場與上層的幀對應,并用于層間預測;當當前層幀速率為上層幀速率的一半時,當前層的每一幀所拆分的兩場中分別與上層的幀對應,并用于層間預測。
4.根據權利要求3所述的交織模式下的視頻分層編碼方法,其特征在于,還包含以下步驟,D根據待編碼視頻流數據的特點,判斷決定直接用交織后的當前層的幀預測時間對應的上層的幀。
5.根據權利要求4所述的交織模式下的視頻分層編碼方法,其特征在于,所述步驟D中,當當前層與上層的幀速率一致時,當前層的每一幀僅與上層的一幀對應,并用于層間預測;當當前層幀速率為上層幀速率的一半時,當前層的每一幀與上層的前后連續每兩幀對應,并用于層間預測。
6.根據權利要求5所述的交織模式下的視頻分層編碼方法,其特征在于,還包含以下步驟,根據所述步驟D和所述步驟C的兩種層間預測編碼的效率,自適應地選擇效率最優的編碼方式。
7.根據權利要求6所述的交織模式下的視頻分層編碼方法,其特征在于,所述步驟C中的層間預測包含以下子步驟,C1從所述用于層間預測的場所在當前層的幀中分割其紋理信息得到該場的紋理信息,然后使用視頻分層編碼的圖像伸縮方法進行伸縮得到和上層的幀相同尺寸的幀的紋理信息,用于上層對應幀的紋理信息預測;C2從所述用于層間預測的場所在當前層的幀中分割其運動信息得到該場的運動信息,然后使用視頻分層編碼的圖像伸縮方法進行伸縮得到和上層的幀相同尺寸的幀的運動信息,用于上層對應幀的運動信息預測。
8.根據權利要求6所述的交織模式下的視頻分層編碼方法,其特征在于,所述步驟C中的層間預測包含以下子步驟,C3先將所述用于層間預測的場所在當前層的幀用視頻分層編碼的圖像伸縮方法進行伸縮,得到和上層的幀相同尺寸的幀,再從該幀分割其紋理信息得到該場的紋理信息,用于上層對應幀的紋理信息預測;C4先將所述用于層間預測的場所在當前層的幀用視頻分層編碼的圖像伸縮方法進行伸縮,得到和上層的幀相同尺寸的幀,再從該幀分割其運動信息得到該場的運動信息,用于上層對應幀的運動信息預測。
9.根據權利要求7或8所述的交織模式下的視頻分層編碼方法,其特征在于,所述步驟C2或C4中的從當前層的幀的運動信息中拆分場的運動信息的過程包含以下步驟,如果該幀中對應宏塊對是按“場編碼模式”編碼的,則將該宏塊對各自的運動信息通過參考幀轉換后分別直接復制給對應場。
10.根據權利要求9所述的交織模式下的視頻分層編碼方法,其特征在于,所述步驟C2或C4中的從當前層的幀的運動信息中拆分場的運動信息的過程還包含以下步驟,如果該幀中對應宏塊對是按“幀編碼模式”編碼的,則合并該宏塊對的運動信息,并復制給所有拆分的場,其中合并該宏塊對的運動信息的步驟依據以下準則進行當該宏塊對中有一個是幀內預測模式、另一個是非幀內預測模式時,合并得到的運動信息為無效;當該宏塊對都是幀間預測模式時,首先對該宏塊對進行垂直方向合并,使得合并得到的運動信息塊的垂直長度至少為最小運動信息塊垂直長度的兩倍;且在合并所述幀間預測模式的宏塊對時,若兩宏塊的參考幀不同,則取數值小的一個參考幀作為合并后的參考幀,而兩宏塊的運動矢量的平均值作為合并后的運動矢量。
11.根據權利要求1至8中任一項所述的交織模式下的視頻分層編碼方法,其特征在于,當當前層為非交織模式而上層為交織模式時,用當前層的前后連續兩幀進行采樣、交織操作得到一個當前層的交織幀,并用該幀預測上層的對應時間點的幀。
全文摘要
本發明涉及視頻分層編碼方法,公開了一種交織模式下的視頻分層編碼方法,使得交織模式下層間預測的效率得以提高,進而提高視頻壓縮效率。本發明中,在i->p模式下,把基本層交織幀分拆成場,再按照時間軸對應關系,用時間對應的場預測增強層的幀;對于p->i模式,則把基本層中時間軸對應于增強層兩場的連續兩幀通過交織組合得到一幀,再預測增強層的交織幀;對于不同特性的視頻流,提供可選的幀預測方法,即不選擇將交織幀拆分成場,而直接用交織幀預測對應的增強層幀;對于層間幀率一致的情況,采用時間對應的進行預測,而對于幀率不一致的情況,則可以采用時間軸上相鄰的幀或場進行預測。
文檔編號H04N7/26GK101047860SQ20061007344
公開日2007年10月3日 申請日期2006年3月27日 優先權日2006年3月27日
發明者謝清鵬, 熊聯歡, 林四新, 曾鵬鑫, 周建同 申請人:華為技術有限公司