專利名稱:用于多層視頻編碼應用的高性能碼率控制的制作方法
技術領域:
碼率控制是現代視頻編碼器中執行關鍵功能的要素。其確保所生成的壓縮比特流(a)達到比特率目標;(b)滿足最大平均比特率約束;以及(C)滿足假設性參考解碼器(緩沖延遲)約束等。可選的但非常理想的目的是優化壓縮視頻比特流的視頻質量。滿足約束(a)確保壓縮視頻比特流將會適合通信管道或者存儲空間。例如,對于 視頻傳輸,無線網絡僅可允許達到768kbps。這與例如藍光盤相反,藍光盤對于2D應用而言可以允許達到40Mbps的視頻帶寬,以及對于3D應用而言允許達到60Mbps的視頻帶寬。另夕卜,對于檔案應用或者帶寬會非常高的應用(諸如從硬盤驅動器讀取)的應用,僅可以指定最后比特流文件的總大小。約束(b)也值得注意,這是因為回放裝置毎秒僅可以存儲并解碼一定的比特數。可能在編碼處理期間會有如下的狀況其中,對于整個壓縮比特流,平均比特率達到比特率目標,但是平均比特率局部地超過比特率目標,例如,在幾秒鐘的持續時間內。這會經常發生,因為難以編碼的區域通常需要更多比特以確保一致的或更好的視頻質量。然而,這些比特率“尖峰”(假定它們足夠大)會對資源受限的解碼器造成問題。可能影響解碼器的問題包括內部緩沖區的上溢或者無法及時對比特流解碼以按正確的順序且以適當的定時顯示幀。最后,約束(c)與約束(b)緊密相關并且可以認為是比特流必須滿足的一組更嚴格的要求。簡言之,必須對壓縮比特流進行編碼以使得在以目標比特率傳輸的情況下絕不會引起解碼器緩沖區上溢或者下溢,結果,解碼后的視頻絕不會在回放期間拖延(stall)或者停止。碼率控制也負責考慮到上述比特率和緩沖約束而確保可能的最好視頻質量。可以在單個編碼通道(coding pass)中對視頻序列進行編碼。這可能是由于計算或時間約束、或者由于內容的性質,內容正在被實況流送,并且從采集到傳送到用戶之間的固定延遲可能僅允許很小的對未來的前瞻。如果這些約束是不嚴格的,會希望執行多于ー個編碼通道以壓縮視頻序列。在這種情況下,碼率控制受益于從之前的編碼通道中提取的信息。該信息例如可包括復雜度的度量,諸如針對給定的幀類型和量化參數(QP)所生成的頭部比特(header bit)和紋理比特(texture bit)的數量、或者在圖像序列中的巾貞的時間相關性等,并且該信息既可以改進比特率精度又可以有助于滿足比特率和緩沖約束。頭部比特包括用于對運動信息、編碼模式、塊類型、參數集合以及解碼處理不需要的信息(諸如,視頻可用性描述符)進行編碼的比持。紋理比特包括用于對幀間或幀內預測殘差的變換系數進行編碼的比持。通常,后者的比特數構成編碼后的比特流的大部分,尤其對于高比特率。此外,從之前的編碼通道提取的信息可以極大地改進壓縮視頻比特流的質量。原因是可獲得整個視頻序列的編碼統計信息。這樣的知識使得能夠有效地將比特用在它們發揮最大作用的視頻序列段中(如通常按照率失真性能形式測量)。眾所周知,與如靜態場景相比,將更多的比特用在難以編碼的區域(高動態場景、具有大量紋理、漸變、場面變化、閃爍等的場景)中,將會總體上(既主觀地又客觀地)改進質量。通常,考慮到某一固定的比特率預算,編碼通道越多,可以達到的視頻質量就越好。然而,總是存在某ー收益遞減的點,其中,與額外的計算成本相比,編碼增益的回報將是微不足道的。傳統的碼率控制范例已應用于單層視頻比特流。需要全面地對與單個幀對應的單層比特流進行解析并解碼以重構幀。當符合H.264/MPEG-4Part 10 AVC視頻編碼標準的附錄H吋,創建這樣的比特流。參見參考文獻1,其全部內容通過引用而合并于此。
圖I示出了一般的可伸縮視頻編碼系統。圖2示出了 3D立體可伸縮視頻編碼系統。 圖3示出了一般的多層視頻編碼系統。圖4示出了多層視頻編碼系統,其中每層多路復用多于ー個視圖。圖5示出了用于多層編碼系統的受益于層間關系信息的碼率控制的圖。圖6示出了基本流程圖,其中在進行了層間考慮的情況下執行碼率控制。圖7示出了更具體的流程圖,其中在進行了層間考慮的情況下執行碼率控制。圖8示出了用于在進行了層間考慮的情況下的碼率控制的多通道碼率控制算法。圖9示出了用于在進行了最大增強層(EL)比特率比率考慮的情況下的單通道碼率控制的方法。
具體實施例方式根據第一實施例,提供了一種多層視頻編碼系統,其包括基本層編碼器,提供視頻輸入的基本層編碼比特流;一個或多個增強層編碼器,提供對應的、視頻輸入的一個或多個增強層編碼比特流;層間分析模塊,收集并分析來自基本層編碼器和ー個或多個增強層編碼器中的一個或多個的編碼統計信息;以及至少ー個碼率控制模塊,基于層間分析模塊而對基本層編碼器和一個或多個增強層編碼器中的一個或多個執行碼率控制。根據第二實施例,提供了一種用于對視頻信號進行編碼的方法,其包括對視頻信號進行基本層編碼以提供基本層編碼比特流;對視頻信號進行增強層編碼以提供一個或多個增強層編碼比特流;收集并分析來自基本層編碼和/或增強層編碼的編碼統計信息以提供層間關系;以及基于層間關系而對基本層編碼和/或增強層編碼執行碼率控制。根據第三實施例,提供了一種用于多層視頻編碼應用的多通道碼率控制方法,其中多層視頻編碼應用包括基本層和ー個或多個增強層,該多通道碼率控制方法包括對基本層執行第一編碼通道;收集第一編碼通道的編碼統計信息;對基本層和ー個或多個增強層中的ー個或多個執行中間編碼通道;收集中間編碼通道的編碼統計信息;基于第一編碼通道和中間編碼通道估計層間的關系;以及基于所收集的編碼統計信息和所估計的關系執行最后編碼通道。根據第四實施例,提供了一種用于多層視頻編碼應用的多通道碼率控制方法,其中多層視頻編碼應用包括基本層和ー個或多個增強層,該多通道碼率控制方法包括對基本層和ー個或多個增強層執行第一編碼通道,其中用于基本層的量化參數與ー個或多個增強層中的每個增強層的量化參數存在固定偏移量;針對基本層和ー個或多個增強層而收集編碼統計信息;對基本層和ー個或多個增強層中的ー個或多個執行中間編碼通道;收集中間編碼通道的編碼統計信息;以及基于所收集的編碼統計信息執行最后編碼通道,以滿足目標比特率和固定的量化參數約束。根據第五實施例,提供了一種用 于多層視頻編碼應用的多通道碼率控制方法,其中多層視頻編碼應用包括基本層和ー個或多個增強層,該多通道碼率控制方法包括對基本層執行第一編碼通道;針對基本層收集編碼統計信息;對基本層和ー個或多個增強層中的ー個或多個執行中間編碼通道,其中,當對增強層執行編碼時,用于基本層的量化參數與增強層的量化參數存在偏移量;收集中間編碼通道的編碼統計信息;基于第一編碼通道和中間編碼通道估計層間的關系;以及基于所收集的編碼統計信息和所估計的關系執行最后編碼通道,以滿足目標比特率和固定的量化參數約束。根據第六實施例,提供了一種用于多層視頻編碼應用的碼率控制方法,其中多層視頻編碼應用包括基本層和ー個或多個增強層,該碼率控制方法包括用為了獲得期望的比特率比率約束而選擇的編碼參數對ー個或多個增強層進行編碼;如果沒有獲得期望的比特率比率約束,則更新編碼參數;以及再次對ー個或多個增強層進行編碼,直到獲得期望的比特率比率約束為止。根據第七實施例,提供了一種用于多層視頻編碼應用的多通道碼率控制方法,其中多層視頻編碼應用包括基本層和ー個或多個增強層,該多通道碼率控制方法包括對基本層和ー個或多個增強層執行第一編碼通道,其中用于基本層的量化參數與ー個或多個增強層中的每個增強層的量化參數存在固定偏移量;收集基本層和ー個或多個增強層的編碼統計信息;對基本層和ー個或多個增強層中的ー個或多個執行中間編碼通道;收集中間編碼通道的編碼統計信息;以及基于所收集的編碼統計信息執行最后編碼通道,其中針對每個量化參數約束選擇量化參數和比特分配,以使得滿足固定偏移量約束以及總體的基本層和增強層比特目標。在本申請的說明書、附圖以及權利要求中提供了本公開的其他實施例。多層或可伸縮比特流由以預先定義的依賴關系為特征的多個層構成。這些層中的ー層是需要在任何其他層之前解碼的所謂的基本層(BL)。剰余的層通常稱為增強層(EL),這是因為它們的功能是當僅基本層被解析和解碼時改進所提供的內容。這些也是從屬層(dependent layer),因為它們都需要基本層,并且通常它們中的一個或多個也可依賴于其他更高優先級增強層的解碼。例如,可以參考圖I和圖3中所述的圖。多層或者可伸縮比特流使得在質量/SNR、空間和時間伸縮性、以及甚至其他視圖的可用性方面實現可伸縮性。當采用H. 264/MPEG-4 Part 10AVC視頻編碼標準的可伸縮視頻編碼(SVC)延伸部分(附錄G)時,前兩個范例是可能的。例如,基本層提供了粗質量版本的圖像序列,而ー個或多個增強層可根據視覺質量提供另外的増量。類似地,基本層可提供低分辨率版本的圖像序列。可以通過對另外的增強層進行解碼來提高分辨率。通過對可任意處理的圖片的編碼,可利用H. 264/MPEG-4 AVC的基本模式(附錄A)獲得時間可伸縮性。在這種情況下,基本層可以以例如毎秒15幀提供某個版本的圖像序列,可以通過對時間增強層進行解碼來將毎秒15幀提高到例如毎秒30幀。可伸縮或多層比特流也用于提供多視圖可伸縮性。一種這樣的應用是立體的3D視頻,其由兩個視圖構成,一個針對左眼和另ー個針對右眼。可以使用兩層,基本層針對一個視圖,而增強層針對另ー個視圖。例如參見圖2。最近,在エ業中已顯著關注立體(3D)視頻傳輸并受其吸引。在下一代以立體3D內容為特征的藍光盤中將運用H. 264/MPEG-4 Part 10AVC視頻編碼標準的多視圖編碼(MVC)延伸部分(附錄H)[參見參考文獻1,其全部內容通過引用而合并于此]。MVC延伸部分使用H. 264/AVC兼容的基本層和增強層,其中該基本層壓縮一個視圖(通常為左邊),該增強層壓縮其他視圖。基本層本身是有效的附錄A H. 264/AVC比特流并且是可獨立于增強層來解碼,這并不適用于增強層。增強層可以使用從基本層解碼的幀作為參考。結果,它受益于視圖間的預測和壓縮對于具有高視圖間相關性或者低立體視差的場景而言改進極大。本公開的教導可以應用于這樣的預測范例。類似地,第61/223,027號美國臨時專利申請(其全文通過引用而合并于此)以基本層和增強層為特征。與MVC方法不同,可以將視圖多路復用到兩層 中以向用戶提供基本層,其中基本層通過傳送兩個視圖的子抽樣版本而幀兼容。此外,可能出現另外的預處理階段,其在使用基本層解碼的幀作為用于預測增強層的運動補償參考之前,考慮到基本層解碼的幀而預測增強層幀。例如參見圖4。本公開的教導同樣也可以應用于此編碼范例。本公開的實施例針對用于對多層編碼應用進行有效碼率控制的技術和方法,其中多層編碼應用以基本層和ー個或多個增強(從屬)層為特征。 通常通過保持、更新、并且使用碼率控制模型來執行碼率控制。碼率控制模型可以考慮到某些編碼參數而產生對幀進行編碼所需的比特或者可以產生用所分配的比特數對幀進行編碼所需的編碼參數。編碼參數包括但不限于幀編碼的類型(I、P或B)、在幀或塊/區域級上設置的量化參數(QP)、在率失真優化運動估計和模式判定期間使用的拉格朗日乘子法、諸如網格優化的量化、系數閾值,加權預測的特征的可用性、編碼模式和塊類型的可用性等。上述全部為影響率失真性能的因素。碼率控制模型考慮上述因素的某一子集、某一圖像統計信息(諸如,方差或者熵),并且將它們與比特率使用(通常為紋理比特率使用)聯系起來。很受歡迎的模型是所謂的ニ
次率控制模型,其用公式表達為 J + k = c1x — + c2x~r。項t和h表示紋理比特和
Q Q'
頭部比特,而O表示源方差,以及Q表示量化步長(與QP具有一對ー關系)。術語C1和C2為模型參數。在多層視頻編碼系統中,碼率控制模型可以對單個層或者多個層進行建摸對于前者,考慮到該層的編碼參數而估計對給定層進行編碼所需的比特數;并且同等地,確定編碼參數以用所分配的比特數對給定層進行編碼。對于后者(聯合模型),考慮到給定層及其依賴的層(基本層和增強層)的編碼參數,估計對給定層進行編碼所需的比特數。類似地,考慮到所分配的比特數,碼率控制模型可以估計用于給定層及其依賴的層(高優先級層)的編碼參數。通常,已約束為高優先級層所選擇的編碼參數以減輕計算量,這是因為另外可能存在數不盡的可行方案。應該注意,用在低優先級(增強)層的比特不明顯地影響諸如基本層的高優先級層。由于增強層依賴于基本層,因此,用在基本層的更多或者更少的比特不僅影響該層的質量,而且這樣增加或減少的質量還可通過層間預測傳播到增強層。因此,額外的比特在哪里會發揮最大作用并不總是清楚的。圖5示出了根據相同的幾個實施例的本公開的教導的高級示圖。如圖5中所示,多層編碼系統包括基本層(BL)編碼器和ー個或多個增強層(EL)編碼器0,1,…,L-1。可以對每個編碼器執行碼率控制。碼率控制的范圍和哪些是碼率控制所關注的編碼器可以依賴于層間分析,其在執行了多通道編碼時又依賴于通過先前的編碼通道所生成的信息和/或統計信息,或者依賴于由先前編碼的高優先級層生成的統計信息。例如,可以使用來自BL的統計信息來影響并改進對ー個或多個EL的碼率控制。如果期望,則層間分析也可以依賴于從預分析模塊收集的信息。編碼統計信息包括圖片或切片(slice)編碼類型(諸如,I、P或B);每類(諸如,紋理、頭部以及運動)比特使用、編碼模式統計信息(例如,多少跳轉(skip)或者幀內編碼模式)、塊類型統計信息、的空間統計信息(諸如方差、直方圖)、編碼參數(所使用的QP和、Lagrangian lambda)、編碼工具設置(示出它們的哪ー個被啟用)、運動矢量信息、運動補償和幀內預測誤差、加權預測參數、幀和塊級失真、幀分類(例如,場景改變)等。層間分析涉及通過之前的某一編碼通道(或者之前編碼的層)或者通過某ー預分析階段(如圖5中所示的預分析階段)收集信息。預分析階段可考慮空間或運動補償的分析方法。可以在原始圖像序列的時間或空間子抽樣的版本中執行分析。此外,對于多視圖應用,分析可僅考慮子集的視圖總數。可以使用空間特征(諸如,條件熵、方差、邊緣以及亮度和/或色度直方圖)來確定層(或者視圖)間的相似度。可以使用通過運動估計和補償所獲得的運動信息和運動模型預測誤差來確定立體視差并且通常確定不同層間的相關性。也可以使用伴有運動/立體視差(在視圖可伸縮的情況下)分析的分段來估計層間的相關性。如圖6的流程圖中所示,可以考慮基本層的特征及其與增強層的關系,以調整作為聯合模型或者作為多個獨立模型的碼率控制模型。如之前所述,在獨立模型中,基于所選層的統計信息和/或者分析控制用于該層的比特數和/或編碼參數。在聯合模型中,基于多層的統計信息和/或者分析控制用于所選層的比特數和/或編碼參數。獨立模型的使用不妨礙通過還考慮來自其他層的統計信息來改進并更新這樣的模型。作為示例,可以考慮簡單的獨立模型例子bits_EL = aXQP_EL。盡管模型參數a僅依賴于EL參數(QP_EL),但是可以使用來自其他之前編碼的層的知識來更新這樣的參數。另ー方面,聯合模型的示例例如為bits_EL = aXQP_EL+bXQP_BL。針對基本層以及針對增強層收集編碼統計信息,其中增強層取決于其所依賴以便于解碼的層。通過預分析階段也可以獲得另外的信息。此外,也可以計算并保留層間關系。這些關系也可以用于更新獨立碼率控制模型或者聯合碼率控制模型,同樣如圖6的流程圖中所示。在獨立模型的情況下,在一些實施例中,模型M的數量可以少于層L的數量。在保持并建立與第61/061941號美國臨時專利申請(其全部內容通過引用合并于此)中描述的模式類似的變換模型之后,這通過將編碼參數或者比特估計從ー層變換到另ー層而是可能的。具體地,變換模型是將編碼參數或者比特使用從ー種編碼類型變換為另ー種(例如,從P幀到I幀)的函數、公式或者方法。在當前的情況下,可以使用這些模型來從ー層變換到另ー層。還可以采用層的數量比實際的層數量多的碼率控制模型。例如,使用第2009-0086816號美國公開專利申請(其全部內容通過引用合并于此)概述的方法是可行的。在單個碼率控制模型由于內容的快速改變而難以較好執行的情況下,這可能是有利的。層間關系可包括使比特估計取決于影響當前增強層或基本層的層的編碼參數。在一個實施例中,這些關系考慮基本層和增強層兩者的QP值以得到對增強層的比特估計。類似地,考慮到這些層之一的比特估計和編碼參數,可以得到用于其他層的編碼參數。可以通過處理因果關系統計信息或者之前的編碼或處理通道而建立這些關系或模型。在用于多視圖應用的實施例中,可以使用立體視差或者立體深度信息來建立并初始化可以用于多視圖編解碼器的碼率控制的這些關系。這些關系可以采用多種形式可以使用線性回歸或最小ニ乘估計來提供如下函數,該函數估計來自多層的編碼參數的比特,或者估計ー個給定比特目標的編碼參數和來自其他層的編碼參數。如果已知內容統計信息(例如,多視圖應用的視差),則這些關系可以為這些統計信息的函數,使用各種優化技術當中的線性回歸或者最小ニ乘估計來進ー步調整這些函數的參數。層間關系可以根據內容而改變例如,與動態(高運動)內容相比,EL相對于BL的可壓縮性對于靜態內容而言將會是不同的。例如,這適用于時間可伸縮性。對于視圖可伸縮性,這些關系將依賴于立體視差(其隨時間和場景類型而改變)等。 在本公開的ー些實施例中,為多層視頻編碼系統的每ー層保持単獨的碼率控制模型。然而,碼率控制模型初始化、其收斂以及性能受益于關于相關性和率失真性能的層間信息的使用。在對基本層進行編碼并更新基本層碼率控制模型之后,可以使用該信息更新用于增強層的碼率控制模型,甚至在針對給定幀而對該層進行編碼之前。考慮到關于層間相關性和變換關系的信息,這是可能的。因此,在一些實施例中,即使當對于每層存在模塊吋,也可以使用變換關系來初始化并更新模塊。例如,在對BL進行編碼之后,可獲得ー些知識和(可能地)一些先驗的層間分析信息。可以在對任何EL幀進行編碼之前使用這些來初始化用于EL的碼率控制模型。同樣可以伴隨對除第一幀以外的幀進行編碼而發生。可以使用層間相關性更新每個模型作為示例,由于場景變化,由對BL進行編碼而得到的知識可用作“前瞻”類型的信息。類似地,在對增強層進行編碼之后,所得到的編碼統計信息不僅更新了增強層碼率控制模型,而且也用于更新基本層或者其他從屬的增強層碼率控制模型。最后,同樣適用于碼率控制模型初始化。由于模型收斂因而更快,因此,碼率控制模型性能受益。可以參考第60/976,381號美國臨時專利申請(其全部內容通過引用而合并于此)的技術,其中針對該申請的切片的技術可以應用于本申請的不同層。在一個實施例中,基于圖片序列統計信息而自適地計算并更新這些變換關系(和在變換關系中所使用的層間信息)。這既可以在單通道編碼中僅通過使用因果關系統計信息來執行,又可以在多通道編碼中通過除來自當前通道的因果關系統計信息之外還使用來自于之前通道的統計信息來執行。應注意,多通道編碼可以采用隨后的實施例中描述的體系結構,其中,第一通道可以忽略增強層,而中間通道可以選擇性地考慮增強層,以得到這些關系。對于多視圖或者立體3D視頻編碼實施例,還可以借助于立體視差或者深度信息來對變換關系進行建摸。在圖7所示的方法中,當對基本層進行編碼吋,更新用于EL的模型,并且當使用層間關系對增強層進行編碼吋,更新用于BL和EL的模型。如以上已經注意的,根據本公開的另ー實施例,與第61/061,941號美國臨時專利申請中所示的類似,需要比層L的總數少的模型M是可能的。與上述方法類似,也可以使用層間信息和變換關系來更新模型。另外,對于沒有利用碼率控制模型所建模的層,可以使用變換關系來針對給定比特目標和為剰余的層所選擇的編碼參數得到比特估計或者編碼參數。根據本公開的另ー實施例,針對多層視頻編碼系統的所有層保持聯合碼率控制模型。在一個實施例中,基于區域、圖片和圖片組、和/或圖像序列統計信息,自適應地更新碼率控制模型。這可以在單通道編碼中通過僅使用因果關系統計信息來執行,以及在多通道編碼中通過除來自當前通道的因果關系統計信息之外還使用來自先前通道的統計信息來執行。與之前提到的類似,對于多視圖或者立體3D視頻編碼實施例,還可以借助于立體視差或者深度信息來更新模型。伴有運動/立體視差分析的分段也可以用于估計視圖間相關性。可以通過先前的一些編碼通道或者通過先前的ー些分析階段獲得這樣的信息。在不同的實施例中,可以固定或者預定這些變換關系例如,會希望固定編碼參數的關系。在一個這樣的實施例中,會希望固定用于對當前增強層進行編碼的QP相對于對相同幀的基本層進行編碼的QP的差異。對于涉及諸如圖I和圖3中所示的系統的應用的實施例(其中,每層對應于單個視圖),可以將QP偏移量設置為接近0,以確保兩個視圖之間的一致視頻質量。該設置不僅限于QP,而且也可以擴展到控制碼率使用和視頻質量的其他編碼參數,諸如拉格朗日乘子、變換系數閾值策略等。對于涉及應用(諸如圖2和圖4中的應用)的實施例(其中,每層可包括來自多個或全部視圖的樣本),可以放松關系,并且與每層對應于單個視圖的應用相比,可以增大QP (或者其他參數)偏移量(等同于質量増量可増加)。原因是空間和立體聲屏蔽,這降低了編碼偽像的視覺影響。在另外的實施例中,可以作為某ー預分析階段的結果而估計QP (或者其他參數)偏移量,該預分析階段可以檢查立體視差、立體深度、空間相關性(例如,是否存在紋理)等。因此,變換關系可取決于圖像序列統計信息。應該注意,存在當每層對應于每個視圖時大的QP 偏移量是有益的情況QP在區域級變化,并且對于ー個層,對區域A編碼比對區域B編碼更好,而對于其他層則相反。這樣的技術開發了立體聲屏蔽。在不同的情況下,如果存在序列具有低頻特征并且通常平滑的證據(例如通過預分析),則與圖像序列具有視覺上顯著的邊緣(或者紋理對象等)并且需要保留的情況相比,QP (或者其他參數)偏移量較大。高頻內容可能要求較小的QP偏移量,但在質量不一致性幾乎看不見的高空間屏蔽(例如,有草或樹的場景)的情況下,這可能并不適用。需要注意的是,QP偏移量還可取決于基本QP或者目標比特率。通常,量化越精細(或者目標比特率越高),QP偏移量就會越大。QP偏移量還可以取決于顏色分量和顏色空間。例如,當對YUV域內的顔色信息進行編碼時以及當對RGB或其他域內的信息進行編碼時,需要進行不同的考慮。通常,與Y分量相比,U分量和V分量的這樣的QP偏移量會更高,這是因為Y分量已包括顏色信息的一部分。示例 I
現在將參考圖8中所示的流程圖描述執行用于多層視頻編碼應用的多通道碼率控制的示例。執行僅考慮基本層的第一編碼通道。從每個編碼幀收集編碼統計信息。預分析階段還可在該通道之前以為該通道提供有助于選擇編碼參數和預測結構的信息。與最后的編碼通道相比,(ー個或多個)該第一編碼通道具有較低的復雜度。隨后的通道必須使用諸如在附錄A中概述的這些技術解決該差異。隨后的編碼通道被設計成如附錄A中概述的那樣解決復雜度差異。這些所謂的中間通道可以使用時間或空間子抽樣以及特別制作的預測結構。考慮到來自第一通道的信息,也可以將圖像序列再劃分為子序列并且分配不同的編碼參數。在根據本公開的多層應用中,尤其關注取得關于層間相關性和統計的信息。在一個實施 例中,與只考慮基本層的該算法的第一編碼通道相反,中間通道現在也考慮(ー個或多個)增強層。應注意,針對在這些中間編碼通道中所編碼的每幀,不需要對所有增強層進行編碼。如在附錄A中所示,根據為了這些通道所采用的預測結構,可以對ー幀編碼多次。由于層間信息不特別地依賴于預測結構或編碼參數(例如,QP),因此可以針對給定幀而僅對增強層編碼一次。需要注意的是,對于時間可伸縮性,在增強層為時間層的情況下,預測結構會影響層間信息。替選地,也取決于序列統計信息(可從第一編碼通道取得)的某種時間子抽樣可以用于選擇性地啟用或者禁用在這些中間通道中對增強層的編碼。針對每個編碼幀和幀組收集編碼統計信息。在執行考慮到所有層的負載度最高的最后編碼通道之前,碼率控制模塊考慮在僅考慮基本層的第一(復雜度可能低)編碼通道和隨后的中間編碼通道內所收集的所有數據。碼率控制模塊通過應用相關申請中概述的方法,得到復雜度以及甚至可能得到編碼參數(例如,QP)關系。另外,碼率控制模塊還負責導出描述不同編碼層間的相關性和統計的關系。然后,使用這些關系來得到對最后編碼通道的碼率控制判定。這些關系可能包括針對給定編碼參數的比特率關系,其中給定編碼參數取決于多個層(諸如,這些對聯合碼率控制模型有用的層)。這些關系還包括導致相同比特率使用的編碼參數關系,該比特率使用還取決于來自多個層的參數的數量。示例 2現在將描述另ー示例,其中基于對于ー個或多個增強層的固定QP偏移量約束,執行多通道碼率控制。執行第一編碼通道,其中增強層采用相對于基本層QP的固定QP偏移量。固定基本層QP或者使用調整基本層QP的簡單的碼率控制算法(使用預定義的QP偏移量來根據這些基本層QP獲得EL QP),以使得基本層和增強層的總比特率接近比特率目標。針對所有層收集編碼統計信息。如果第一編碼通道具有低復雜度,則使用如在上述的相關申請中所描述的中間編碼通道來改進在第一編碼通道內所收集的統計信息。在一個實施例中,由于不同層之間的統計信息實際上會相當類似,因此中間編碼通道僅考慮基本層以進一步約束計算和存儲復雜度。在最后編碼通道中,考慮到固定QP偏移量約束,選擇QP和比特分配,以使得滿足總體的基本層和增強層比特目標。使用來自兩個層的統計信息來分配比特和QP。示例 3
現在將描述如下另外的示例基于對于增強層的QP偏移量約束,執行多通道碼率控制,其中相對于基本層來調制增強層。對于所有基本層QP值,QP偏移量不必相同。相反,QP偏移量可以基于基本層QP的值而變化。通常,在QP值越低的情況下,偏移量會越高,反之亦然。因此,可以如QPa = QPBL+QPoffSet = QPBL+f (QPbl) 一樣獲得偏移量。在ー個示例實施例中,對于I < QP < 20,f (QP)可被設置為等于3,對于21 < QP < 35,f (QP)可被設置為等于2,以及對于36 < QP < 5,f (QP)可被設置為等于I。執行僅考慮基本層的第一編碼通道。固定或調制基本層QP。針對所有幀收集編碼統計信息。該步驟類似于上述示例2中的等同步驟。該步驟涉及中間編碼通道,并且類似于上述示例2的第二步驟。然而,它采取如下變型當(可選地)對增強層進行編碼時,采用BL調制的QP偏移量約束。然后,針對每個編碼幀或者幀組收集統計信息。在最后編碼通道之前,如在示例2的最后步驟中一祥得到比特率、復雜度以及層 間關系。在最后編碼通道內,考慮到BL調制的QP偏移量約束,選擇QP和比特分配,以使得滿足總體的基本層和增強層比特目標。使用來自所有層的統計信息來分配比特和QP。實際上,除總體的基本層和增強層比特率目標之外,還希望約束分配給每層的比特之比率。例如,希望將該比率約束為最大值為例如10%。可以對序列級或者甚至幀級強加該約束。盡管這對于每層對應于不同視圖的應用通常可能不現實,但是對于多個或所有視圖被多路復用到每層的應用是可能的,這是因為空間和立體聲屏蔽可以解決視覺質量的損失。根據ー個實施例,可以考慮這兩種層的聯合碼率控制,其中調整基本層比特分配以使得適當地滿足增強層比特率比率限制并且保持并改進主觀和/或者客觀質量。在這樣的實施例中,基本層比特率依賴于比特預算余數以及增強層需要的比特數的某ー估計。然后,考慮到每層已經使用的比特數,增強層的碼率控制考慮對于該層的比特率約束。可使用如之前討論的層間變換關系導出該估計。通過進ー步考慮對質量(不僅對基本層而且對增強層)的影響調整基本層比特率,這是因為基本層影響增強層的質量。在一個實施例中,對于基本層,保持單個碼率控制模型,然后,可選地使用在第61/061,941號美國臨時專利申請中概述的方法將其變換為增強層的碼率控制模型,而在另一實施例中,對于每層,保持単獨的碼率控制模型。示例 4現在描述用于單通道碼率控制的示例。對于在基本層中所編碼的每幀,對增強層的碼率控制選擇會有助于保持比特率比率約束的編碼參數(例如,QP)。如果碼率控制選擇超過比率約束,則可對增強層重新編碼以確保滿足約束。在圖9中示出流程圖,其中示出了更新編碼參數以滿足EL比特率比率。示例5現在將描述用于多通道碼率控制的示例。由于可得到來自整個序列和所有層或視圖的信息,因此,可以得到增強層的QP相對于層或視圖的相同集合中的基本層的QP的固定QP偏移量,其將滿足最大比率約束。這樣做將會保證一致的視頻質量并且避免層間質量的時間波動。換言之,質量增量會近似為常數。前兩個步驟與上述示例2和示例3的步驟ー致。另外如下變更第三階段在最后編碼通道中,碼率控制方法通過ー組可能的固定QP偏移量約束而循環。對于每個QP約束,選擇QP和比特分配以使得滿足總體的基本層和增強層比特目標。選擇也滿足基本層/增強層比特率比率的固定QP約束,以對整個多層/多視圖序列進行編碼。使用來自兩個層的統計信息來分配比特和QP。·示例 6在該示例中,上述用于所有多通道實施例的初始編碼通道也可以被ー些預處理分析通道代替或者增強,其中預處理分析通道不產生任何壓縮比特流而是產生對于碼率控制算法有用的統計信息。碼率控制分析模塊可以借助于適當的中間編碼通道來仍將這些統計信息變換為編碼統計信息。在本公開中所描述的方法和系統可以以硬件、軟件、固件或者其組合來實現。被描述為塊、模塊或者部件的特征可以一起實現(例如,在諸如集成邏輯裝置的邏輯裝置中)或者分別實現(例如,作為所連接的単獨邏輯裝置)。本公開的方法的軟件部分可包括計算機可讀介質,該計算機可讀介質包括當被執行時至少部分地執行所述方法的指令。計算機可讀介質可包括例如隨機存取存儲器(RAM)和/或只讀存儲器(ROM)。指令可以由處理器(例如,數字信號處理器(DSP))、專用集成電路(ASIC)、或者現場可編程邏輯陣列(FPGA)執行。在本說明書中所提到的所有專利和出版物可以表明本公開所屬的領域的技術人員的技術水平。如同每篇參考文獻的全部內容通過引用分別合并于此一祥,在本公開中所引用的所有參考文獻通過引用而以相同程度合并于此。可以理解,本公開不限于特別的方法或系統,其當然可以變化。也可以理解,在此使用的術語只是出于描述特定實施例的目的,并不g在進行限制。如在本說明書和所附權利要求中所使用的,単數形式的“ー個(a/an)、“該(the)”包括復數的指示對象,除非內容另外明確規定。術語“多個”包括兩個或者更多的指示對象,除非內容另外明確規定。除非另外限定,在此使用的所有技術和科學術語具有與本公開所屬的技術領域的普通技術人員通常理解的含義相同的含義。提供上述的示例以向本領域的普通技術人員給出如何制作和使用本公開的用于多層視頻編碼應用的高性能碼率控制的實施例的完整公開和描述,并且不g在限制發明人看作其公開的范圍。用于實施本公開的上述模式的變型可以由視頻領域的技術人員使用,并且g在落入在所附權利要求的范圍內。已描述了本公開的若干實施例。然而,可以理解,在不背離本公開的精神和范圍的情況下可進行各種變型。因此,其他的實施例也落入在所附權利要求的范圍內。參考文獻列表[I]Aavanced video coding for generic audiovisual service,http://www. itu. int/rec/recommendation. asp type=folder&lang=e&parent=T-REC-H. 264, October 2009。
權利要求
1.一種多層視頻編碼系統,包括 基本層編碼器,提供視頻輸入的基本層編碼比特流; 一個或多個增強層編碼器,提供對應的、所述視頻輸入的一個或多個增強層編碼比特流; 層間分析模塊,收集并分析來自所述基本層編碼器和所述一個或多個增強層編碼器中的一個或多個的編碼統計信息;以及 至少一個碼率控制模塊,基于所述層間分析模塊而對所述基本層編碼器和所述一個或多個增強層編碼器中的一個或者多個執行碼率控制。
2.根據權利要求I所述的系統,還包括預分析模塊,其中,由所述層間分析模塊分析的所述編碼統計信息也依賴于所述預分析模塊。
3.根據權利要求I或2所述的系統,其中,對層的碼率控制基于該層的編碼統計信息。
4.根據權利要求I或2所述的系統,其中,對層的碼率控制基于該層和其他層的編碼統計信息。
5.根據前述權利要求中任一項所述的系統,其中,所述碼率控制模塊的數量小于、等于或者大于層的數量。
6.根據前述權利要求中任一項所述的系統,其中,基于層間關系更新所述碼率控制模塊。
7.根據權利要求6所述的方法,其中,自適應地計算所述層間關系。
8.根據權利要求7所述的方法,其中,在單通道編碼或多通道編碼中執行自適應計算。
9.根據前述權利要求中任一項所述的系統,其中,針對一層所收集的編碼統計信息用在用于該層的碼率控制模塊中。
10.根據權利要求I至8中任一項所述的系統,其中,針對一層所收集的編碼統計信息也用在用于不同層的碼率控制模塊中。
11.根據權利要求9或10所述的系統,其中,在單通道編碼或多通道編碼中收集所述編碼統計息。
12.—種對視頻信號進行編碼的方法,包括 對所述視頻信號進行基本層編碼以提供基本層編碼比特流; 對所述視頻信號進行增強層編碼以提供一個或多個增強層編碼比特流; 收集并分析來自所述基本層編碼和/或增強層編碼的編碼統計信息以提供層間關系;以及 基于所述層間關系而對所述基本層編碼和/或所述增強層編碼執行碼率控制。
13.根據權利要求12所述的方法,其中,分析所述編碼統計信息還基于對所述視頻信號的預分析。
14.根據權利要求12或13所述的方法,其中,對層執行碼率控制基于該層的編碼統計信息。
15.根據權利要求12或13所述的方法,其中,對層執行碼率控制基于該層和其他層的編碼統計信息。
16.一種用于多層視頻編碼應用的多通道碼率控制方法,其中所述多層視頻編碼應用包括基本層和一個或多個增強層,所述多通道碼率控制方法包括對所述基本層執行第一編碼通道; 收集所述第一編碼通道的編碼統計信息; 對所述基本層和所述一個或多個增強層中的一個或者多個執行中間編碼通道; 收集所述中間編碼通道的編碼統計信息; 基于所述第一編碼通道和所述中間編碼通道估計所述層間的關系;以及 基于所收集的編碼統計信息和所估計的關系執行最后編碼通道。
17.根據權利要求16所述的方法,其中,從預分析階段選擇用于所述第一編碼通道的編碼參數。
18.根據權利要求16或17所述的方法,其中,所述中間編碼通道使用空間和/或時間子抽樣。
19.根據權利要求16至18中任一項所述的方法,其中,所述中間編碼通道使用根據視頻信息的特定序列而分配的編碼參數。
20.根據權利要求16至19中任一項所述的方法,其中,所述第一編碼通道由預處理器分析代替或者增強。
21.根據權利要求16至20中任一項所述的方法,其中,與所述最后編碼通道相比,以較低復雜度執行關于所述基本層的所述第一編碼通道。
22.一種用于多層視頻編碼應用的多通道碼率控制方法,其中所述多層視頻編碼應用包括基本層和一個或多個增強層,所述多通道碼率控制方法包括 對所述基本層和一個或多個增強層執行第一編碼通道,其中用于所述基本層的量化參數與所述一個或多個增強層中的每個增強層的量化參數存在固定偏移量; 針對所述基本層和所述一個或多個增強層而收集編碼統計信息; 對所述基本層和所述一個或多個增強層中的一個或多個執行中間編碼通道; 收集所述中間編碼通道的編碼統計信息;以及 基于所收集的編碼統計信息執行最后編碼通道,以滿足目標比特率和固定量化參數約束。
23.根據權利要求22所述的方法,其中,所述第一編碼通道由預處理器分析代替或者增強。
24.一種用于多層視頻編碼應用的多通道碼率控制方法,其中所述多層視頻編碼應用包括基本層和一個或多個增強層,所述多通道碼率控制方法包括 對所述基本層執行第一編碼通道; 針對所述基本層收集編碼統計信息; 對所述基本層和所述一個或多個增強層中的一個或多個執行中間編碼通道,其中當對增強層執行編碼時,用于所述基本層的量化參數與所述增強層的量化參數存在偏移量;收集所述中間編碼通道的編碼統計信息; 基于所述第一編碼通道和所述中間編碼通道估計所述層間的關系;以及基于所收集的編碼統計信息和所估計的關系執行最后編碼通道以滿足目標比特率和固定量化參數約束。
25.根據權利要求24所述的方法,其中,所述偏移量根據用于所述基本層的量化參數的值而變化。
26.根據權利要求25所述的方法,其中,所述第一編碼通道由預處理器分析代替或者增強。
27.一種用于包括基本層和一個或者多個增強層的多層視頻編碼應用的碼率控制方法,其包括 用為了獲得期望的比特率比率約束而選擇的編碼參數對所述一個或多個增強層進行編碼; 如果沒有獲得所述期望的比特率比率約束,則更新所述編碼參數;以及 再次對所述一個或多個增強層進行編碼,直到獲得所述期望的比特率比率約束為止。
28.一種用于多層視頻編碼應用的多通道碼率控制方法,其中所述多層視頻編碼應用包括基本層和一個或多個增強層,所述多通道碼率控制方法包括 對所述基本層和所述一個或多個增強層執行第一編碼通道,其中用于所述基本層的量化參數與所述一個或多個增強層中的每個增強層的量化參數存在固定偏移量; 針對所述基本層和所述一個或多個增強層收集編碼統計信息; 對所述基本層和所述一個或多個增強層中的一個或者多個執行中間編碼通道; 收集所述中間編碼通道的編碼統計信息;以及 基于所收集的編碼統計信息執行最后編碼通道,其中針對每個量化參數約束選擇量化參數和比特分配,以使得滿足固定偏移量約束以及總體的基本層和增強層比特目標。
29.根據權利要求28所述的方法,其中,所述第一編碼通道由預處理器分析代替或者增強。
全文摘要
描述了用于多層視頻編碼的方法和系統。在該系統中,層間分析模塊收集并分析層間編碼統計信息,以使得碼率控制模塊可以基于統計信息對不同層執行碼率控制。
文檔編號H04N7/26GK102714725SQ201180005402
公開日2012年10月3日 申請日期2011年1月3日 優先權日2010年1月6日
發明者亞歷山德羅斯·圖拉皮斯, 阿薩納西奧斯·萊昂塔里斯 申請人:杜比實驗室特許公司