本發(fā)明涉及圖像通信領域中的視頻轉碼技術問題,尤其是涉及一種高性能視頻轉碼幀間模式判定方法。
背景技術:
近年來,隨著視頻業(yè)務的飛速發(fā)展,人們對觀看高清視頻的需求也越來越高。目前主流的視頻壓縮編碼標準H.264/AVC/AVC已經不能適應高數(shù)據(jù)量下的高清視頻傳輸。在這種趨勢下,ISO/IEC和ITU-T聯(lián)合制定了目前最新的國際視頻編碼標準(HEVC),該標準的壓縮率相比H.264/AVC/AVC提升了一倍左右,尤其對高清視頻有很好的壓縮效果,但也由此帶來了計算復雜度的提高。因此,如何在保證視頻編碼質量的同時降低編碼的計算復雜度成為了視頻編碼領域研究的熱點。
相對于H.264/AVC/AVC,HEVC在編碼方法上有較大的不同,主要體現(xiàn)在以下幾個方面:(1)采用了更加靈活的編碼結構來提高編碼效率,它包括編碼單元CU、預測單元PU和變換單元TU,同時將H.264/AVC/AVC中宏塊的大小從16×16擴展到了64×64,以便于更好的進行高分辨率視頻的壓縮;(2)采用了更多的幀內預測方向,最多可達35種預測方向,更廣范圍的PU尺寸和更多的PU幀內預測方向使得HEVC幀內預測比H.264/AVC/AVC有了更高的編碼效率;(3)采用了更多的幀間預測模式,包含了對稱PU模式和非對稱PU模式,使得HEVC有了更加精確的塊匹配;(4)采用了更多尺寸和類型的正交變換,采樣點自適應偏移(SAO),自適應環(huán)路濾波(ALF)和并行化設計等技術。
隨著HEVC的制定,標準間轉碼研究的方向逐漸轉移到以往的視頻編碼標準到HEVC標準的轉碼。Shen Tong等提出直接在H.264/AVC/AVC中的對應模式和其鄰近的四個模式中選擇出最佳幀內預測模式。Zhang Dong等提出利用基于率失真優(yōu)化模型的功率譜及輸入的殘差、預測模式和運動矢量等信息估計CU的最佳四叉樹劃分、最佳PU模式以及每個PU的最佳運動矢量;對于幀內預測,提出減少CU和PU分塊候選的方法,以節(jié)省編碼時間。這兩種方法雖然都降低了計算復雜度,但是對碼率影響較大。Tamer Shannableh提出一種基于內容建模的MPEG-2到HEVC的視頻轉碼方法,引入基于內容的機器學習方法預測HEVC編碼單元的深度。Eduardo Peixoto提出基于動態(tài)閾值和內容建模的H.264/AVC/AVC到HEVC的視頻轉碼器,視頻序列的前些幀的編碼參數(shù)用來訓練轉碼器學習特定視頻的映射,之后,Eduardo Peixoto提出兩種模式映射算法,一種是使用動態(tài)閾值法,用H.264/AVC/AVC的編碼參數(shù)決定HEVC編碼的分塊模式;另一種是使用線性判決函數(shù)映射H.264/AVC/AVC的編碼參數(shù)到HEVC的分塊模式。這兩種方法要達到好的轉碼效果,都需要大量的訓練。Peiyin Xing針對監(jiān)控視頻提出一種基于背景模型分類器的轉碼方法,該方法節(jié)省了50%的計算復雜度,但是應用范圍比較單一。
技術實現(xiàn)要素:
針對新一代視頻壓縮編碼標準HEVC計算復雜度較高的特點,本發(fā)明利用不同編碼標準間的編碼模式和運動估計的相關性,提出了一種基于機器學習的高性能視頻幀間編碼方法,減少幀間預測編碼的次數(shù),從而有效地降低了編碼端的計算復雜度。
本發(fā)明的基本思想是利用不同編碼標準間的編碼模式的相關性,利用H.264/AVC/AVC標準中的編碼信息和HEVC標準中的編碼信息做為提取數(shù)據(jù),利用此提取數(shù)據(jù)進行機器學習。并利用機器學習結果來快速確定CU的劃分模式,從而減少預測編碼的遍歷深度以及冗余的RDCost遞歸計算。進而達到減少計算復雜度的目的。
本發(fā)明針對H.264/AVC/AVC到HEVC的轉碼提出一種快速轉碼方法,包括編碼方式預測。在編碼方式劃分中,提取H.264/AVC/AVC中的最終編碼塊大小模式,并提取HEVC中的最終編碼塊大小模式,將這些數(shù)據(jù)放入機器學習分類器中進行訓練學習。并找到兩個標準間的模式對應關系。進而利用此對應關系將H.264/AVC/AVC中的編碼塊模式按一定規(guī)則映射到HEVC編碼模式中,提前進行CU劃分;在預測模式選擇中,遍歷由確定CU深度下的PU預測模式,減少不必要的率失真值計算。具體主要包括以下過程步驟:
(1)判斷當前編碼幀是否為前十幀,若為前十幀,則提取H.264/AVC/AVC和HEVC中的CU深度信息;
(2)獲取宏塊信息:將H.264/AVC/AVC格式的碼流放到H.264/AVC/AVC解碼器中解碼,這些信息包括宏塊所在幀的編號,宏塊所在幀中的坐標位置,宏塊的預測模式,運動分塊規(guī)則,運動矢量(MV)。
(3)獲取編碼單元(CU)信息:將解碼后的碼流放入HEVC中進行編碼,這些信息包括CU所在幀的編號,CU所在幀中的坐標位置,CU的預測模式,運動分塊規(guī)則,運動矢量(MV)。
(4)利用此信息進行機器學習訓練,機器學習方法為基于樹增強的貝葉斯分類算法,得到第十一幀及其之后幀的預測模式中的深度映射關系;當HEVC的CU大小為64×64、32×32,根據(jù)訓練得出的深度映射關系,預測是否繼續(xù)向下分割。當HEVC的CU大小為16×16、8×8時編碼深度關系;
(5)由于基于上述過程分析得到的LCU中包含的子CU的尺寸以及子CU所對應的PU模式均已確定。因此,在編碼HEVC的一個LCU時本發(fā)明可以通過對應LCU中子CU的這些信息精簡當前LCU的四叉樹劃分以及PU模式的遍歷。這里要說明的是,由于當前LCU是基于幀間預測的相關信息得到的并不包含幀內預測的相關信息;因此為了防止誤差擴散,本發(fā)明規(guī)定HEVC中的幀內預測的PU模式并不會精簡而是作為HEVC中CU編碼必定遍歷的PU模式。
在上述方案中,本發(fā)明定義了以下幾個測試的指標:BD-ratedelta rate),BD-PSNR(delta peak signal-to-noise rate)和ΔTime。
其中,BD-rate表示本發(fā)明轉碼算法相比H.264/AVC到HEVC直接級聯(lián)視頻轉碼方法在同PSNR下比特率變化的百分比;BD-PSNR表示本發(fā)明轉碼算法相比H.264/AVC到HEVC直接級聯(lián)視頻轉碼方法視頻質量的變化;Time轉和TimeHEVC分別表示本發(fā)明轉碼算法和H.264/AVC到HEVC直接級聯(lián)視頻轉碼方法的總體編碼時間,ΔTime表示本發(fā)明轉碼算法相比H.264/AVC到HEVC直接級聯(lián)視頻轉碼方法增加編碼時間的百分比。根據(jù)本發(fā)明提出的算法能夠在保持比特率和PSNR基本不變的情況,大大節(jié)省編碼時間。
本發(fā)明研究分析了H.264/AVC/AVC與HEVC之間幀間預測編碼模式的區(qū)別,并根據(jù)這些區(qū)別,設計出一種新的幀間轉碼算法。首先將用H.264/AVC/AVC編碼器編碼好的碼流放入H.264/AVC/AVC解碼器中解碼,在解碼過程中提取宏塊的各個信息:包括各個宏塊的預測模式、坐標位置、幀間預測塊的尺寸和MV等信息,然后將這些提取到的信息用于貝葉斯機器學習訓練,將訓練所得的預測模式,轉化為HEVC編碼可用的CU、PU信息,最后直接將該CU、PU信息用于HEVC編碼中。由于有確定的CU、PU信息,因此在HEVC的編碼過程中,不需要按照其原來的編碼方式進行CU的四叉樹劃分,也不需要在每個CU深度下遍歷所有可能的PU模式,而只需要計算對應的CU深度下的PU模式和幀內預測模式,從而節(jié)省了轉碼中CU四叉樹劃分和PU模式遍歷的計算復雜度。實驗結果表明,本發(fā)明的轉碼方法,在比特率和視頻質量損失較小的情況下,較大幅度地降低了編碼的計算復雜度。
附圖說明
圖1轉碼系統(tǒng)框圖;
圖2 HEVC中7種PU模式;
圖3 H.264/AVC/AVC幀間預測塊尺寸。
具體實施方式
下面結合實施例對本發(fā)明作進一步的詳細說明,有必要指出的是,以下的實施例只用于對本發(fā)明做進一步的說明,不能理解為對本發(fā)明保護范圍的限制,所屬領域技術熟悉人員根據(jù)上述發(fā)明內容,對本發(fā)明做出一些非本質的改進和調整進行具體實施,應仍屬于本發(fā)明的保護范圍。
1.同時打開兩個算法的程序并設置好相同的配置文件,參考軟件選擇HM16.0,量化步長(QP)值分別取22、27、32和37。本發(fā)明將與H.264/AVC/AVC到HEVC直接級聯(lián)視頻轉碼的方法進行比較。并對其三種視頻編碼性能:比特率、峰值信噪比(PSNR)以及視頻編碼時間(其中PSNR體現(xiàn)視頻的客觀視頻質量,視頻編碼時間體現(xiàn)編碼的計算復雜度),進行了比較分析。
2.在HEVC視頻編碼技術中,PU預測模式可以采取對稱和非對稱的綜合預測模式,也可以只采取對稱預測模式,本發(fā)明采取對稱預測模式。
3.編碼的對象為標準的HEVC測試視頻為:BasketballDrill、PartyScene、Fourpeople、Johnny、BQTerrace、Kimono1、KristenAndSara、BlowingBubbles、BQSquare和BasketballPass。
4.輸入2個相同的視頻序列;
5.分別對2個相同的視頻序列進行快速轉碼和直接級聯(lián)轉碼;
6.利用H.264/AVC/AVC視頻編碼器JM18.2對視頻序列在H.264/AVC/AVC方式下進行視頻編碼,形成H.264/AVC/AVC格式碼流;
7.對H.264/AVC/AVC格式碼流解碼,得到重建視頻,再對該重建視頻用HEVC方式編碼,得到直接級聯(lián)轉碼方法的比特率、PSNR、編碼時間等信息;
8.對H.264/AVC/AVC格式碼流解碼,得到重建視頻,同時在解碼過程中獲取宏塊坐標位置、分塊信息、MV等信息,根據(jù)這些信息完成機器學習預測,最終將H.264/AVC解碼端獲得的宏塊信息轉化為具有CU、PU格式的適用于HEVC編碼的LCU信息,然后對重建視頻進行HEVC編碼,并將LCU信息用于編碼中,直接計算對應CU下的對應PU模式。而不需要在每個CU深度下逐個遍歷所有的PU模式;
9.兩個程序分別輸出視頻編碼后的視頻序列,并對不同CU深度下進行機器學習預測的比特率、PSNR值以及總的視頻編碼時間,質量指標的結果如表1所示,統(tǒng)計顯示本發(fā)明算法比H.264/AVC到HEVC直接級聯(lián)轉碼方法在BD-rate上變化了2.814%左右,在視頻質量BD-PSNR值方面降低0.144dB,在視頻編碼計算復雜度方面降低了74%左右。從總體來看,本發(fā)明算法與H.264/AVC到HEVC直接級聯(lián)轉碼方法相比,在視頻壓縮率(由比特率下降程度來體現(xiàn))和視頻質量損失很小的前提下,較大幅度地降低了視頻編碼的計算復雜度(見表1)。
表1 本發(fā)明算法與H.264/AVC到HEVC直接級聯(lián)轉碼方法之間視頻編碼性能的比較