一種基于h.264的視頻編碼方法
【專利摘要】本發(fā)明涉及一種基于H.264的視頻編碼方法,包括以下步驟:1)幀內(nèi)預(yù)測編碼;2)幀間預(yù)測編碼;3)整數(shù)變換;4)量化;5)熵編碼。與現(xiàn)有技術(shù)相比,本發(fā)明具有碼率小、編碼效率高等優(yōu)點。
【專利說明】—種基于H.264的視頻編碼方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種視頻編碼方法,尤其是涉及一種基于H.264的視頻編碼方法。
背影技術(shù)
[0002]視頻監(jiān)控系統(tǒng)是安全防范系統(tǒng)的組成部分,它是一種防范能力較強(qiáng)的綜合系統(tǒng)。近幾年來,視頻監(jiān)控以其直觀、方便、信息內(nèi)容豐富而廣泛應(yīng)用于航空航天、安全應(yīng)急以及醫(yī)療衛(wèi)生等多種領(lǐng)域。近年來,隨著計算機(jī)、網(wǎng)絡(luò)以及圖像處理、傳輸技術(shù)的飛速發(fā)展,視頻監(jiān)控制技術(shù)也有長足的發(fā)展。現(xiàn)今在國內(nèi)外廣泛應(yīng)用的有兩種數(shù)字視頻監(jiān)控系統(tǒng)類型,一種是數(shù)字控制的模擬視頻監(jiān)控系統(tǒng);另一種是數(shù)字視頻監(jiān)控系統(tǒng)。
[0003]數(shù)字控制的模擬視頻監(jiān)控系統(tǒng)分為基于微處理器的視頻切換控制加PC機(jī)的多媒體管理和基于PC機(jī)實現(xiàn)對矩陣主機(jī)的切換控制及對系統(tǒng)的多媒體管理兩種類型。技術(shù)發(fā)展已經(jīng)非常成熟、性能穩(wěn)定,并在實際工程應(yīng)用中得到廣泛應(yīng)用,特別是在大、中型視頻監(jiān)控工程中的應(yīng)用尤為廣泛。在項目《高壓線路鐵塔高空作業(yè)中安全防范應(yīng)用》中就是采用的這種方式,該系統(tǒng)可以很好的對高空的作業(yè)情況實現(xiàn)監(jiān)控、指揮、分屏顯示、語音通話、錄像及回放等功能。但由于視頻監(jiān)控系統(tǒng)中信息流的形態(tài)沒有變,仍為模擬的視頻信號,系統(tǒng)的網(wǎng)絡(luò)結(jié)構(gòu)主要是一種單功能、單向、集總方式的信息采集網(wǎng)絡(luò),介質(zhì)專用的特點,因此系統(tǒng)盡管已發(fā)展到很高的水平,已無太多潛力可挖,其局限性依然存在,要滿足更高的要求,數(shù)字化是必由之路。例如在上述已經(jīng)完成的項目中,模擬信號在無線傳輸過程中就會受到高壓線路的電磁干擾,導(dǎo)致視頻畫面出現(xiàn)噪聲而不清晰。
[0004]最普遍的數(shù)字監(jiān)控錄像系統(tǒng)是基于PC機(jī)組合的計算機(jī)多媒體工作方式,雖然具有系統(tǒng)結(jié)構(gòu)大大簡化、遠(yuǎn)程網(wǎng)絡(luò)監(jiān)控不受距離限制、實現(xiàn)系統(tǒng)多媒體信息查詢等優(yōu)點,但其主要以不穩(wěn)定的WindOws2000系統(tǒng)為操作平臺,難以支持多任務(wù)并發(fā)處理功能,一路一卡的視頻采集方式易形成硬件沖突而影響穩(wěn)定性,仍在計算機(jī)總線上進(jìn)行傳輸、處理的采集方式不可能會有質(zhì)的飛躍,影響數(shù)字監(jiān)控錄像系統(tǒng)性能的主要是對視頻編碼,目前,數(shù)字監(jiān)控錄像系統(tǒng)的圖像壓縮編碼標(biāo)準(zhǔn)主要有MPEG4、M-JPEG等。MPEG標(biāo)準(zhǔn)就是指由ISO的活動圖像專家組制定的一系列關(guān)于音視頻信號以及多媒體信號的壓縮與解壓縮技術(shù)的標(biāo)準(zhǔn),1999年批準(zhǔn)執(zhí)行的標(biāo)準(zhǔn)是MPEG4和MP4; M-JPEG技術(shù)即運動靜止圖像壓縮技術(shù),它把運動的視頻序列作為連續(xù)的靜止圖像來處理,這種壓縮技術(shù)方式單獨完整地壓縮每一幀,在編輯過程中可隨機(jī)存儲每一幀,可進(jìn)行精確到幀地編輯,但M-JPEG只對幀內(nèi)地空間冗余進(jìn)行壓縮,不對幀間的時間冗余進(jìn)行壓縮,故壓縮效率不高。
【發(fā)明內(nèi)容】
[0005]本發(fā)明的目的就是為了克服上述現(xiàn)有技術(shù)存在的缺陷而提供一種碼率小、編碼效率高的基于H.264的視頻編碼方法。
[0006]本發(fā)明的目的可以通過以下技術(shù)方案來實現(xiàn):
[0007]一種基于H.264的視頻編碼方法,其特征在于,包括以下步驟:[0008]I)幀內(nèi)預(yù)測編碼;
[0009]2)幀間預(yù)測編碼;
[0010]3)整數(shù)變換;
[0011]4)量化;
[0012]5)熵編碼。
[0013]所述的幀內(nèi)預(yù)測編碼具體為:
[0014]在對一給定宏塊編碼時,首先根據(jù)相鄰宏塊預(yù)測,然后對預(yù)測值與實際值的差值進(jìn)行編碼。
[0015]所述的相鄰宏塊預(yù)測采用4X4像素宏塊預(yù)測,包括I種直流預(yù)測和8種方向預(yù)測。
[0016]所述的幀間預(yù)測編碼具體為:
[0017]利用連續(xù)幀中的時間冗余來進(jìn)行運動估計和補償。
[0018]所述的整數(shù)變換具體為:采用了基于4X4像素塊的整數(shù)DCT變換。
[0019]所述的量化采用52種不同的量化步長,步長是以12.5%的復(fù)合率遞進(jìn)。
[0020]所述的熵編碼采用通用可變長編碼UVLC或基于文本的自適應(yīng)二進(jìn)制算術(shù)編碼CABAC。
[0021]與現(xiàn)有技術(shù)相比,本發(fā)明具有以下優(yōu)點:
[0022]在相同的重建圖像質(zhì)量下,能夠比普通編碼方式節(jié)約50%左右的碼率,比目前根據(jù)MPEG4實現(xiàn)的視頻格式在性能方面提高33%左右,具有碼率小、編碼效率高。
【專利附圖】
【附圖說明】
[0023]圖1為本發(fā)明的流程圖。
【具體實施方式】
[0024]下面結(jié)合附圖和具體實施例對本發(fā)明進(jìn)行詳細(xì)說明。
[0025]實施例
[0026]如圖1所示,一種基于H.264的視頻編碼方法,包括以下步驟:
[0027]I)幀內(nèi)預(yù)測編碼;
[0028]2)幀間預(yù)測編碼;
[0029]3)整數(shù)變換;
[0030]4)量化;
[0031]5)熵編碼。
[0032]所述的幀內(nèi)預(yù)測編碼具體為:
[0033]幀內(nèi)編碼用來縮減圖像的空間冗余。為了提高H.264幀內(nèi)編碼的效率,在給定幀中充分利用相鄰宏塊的空間相關(guān)性,相鄰的宏塊通常含有相似的屬性,因此在對一給定宏塊編碼時,首先根據(jù)相鄰宏塊預(yù)測,然后對預(yù)測值與實際值的差值進(jìn)行編碼,這樣,相對于直接對該幀編碼而言,可以大大減小碼率。
[0034]所述的相鄰宏塊預(yù)測采用4X4像素宏塊預(yù)測,包括I種直流預(yù)測和8種方向預(yù)測。相鄰塊的A到I共9個像素均已經(jīng)被編碼,可以被用以預(yù)測,如果選擇模式4,那么,a、b、c、d4個像素被預(yù)測為與e相等的值,e、f、g、h4個像素被預(yù)測為與f相等的值,對于圖像中含有很少空間信息的平坦區(qū),本發(fā)明也支持16X16的幀內(nèi)編碼。
[0035]所述的幀間預(yù)測編碼具體為:利用連續(xù)幀中的時間冗余來進(jìn)行運動估計和補償。本發(fā)明的運動估計和補償支持以往的視頻編碼標(biāo)準(zhǔn)中的大部分關(guān)鍵特性,而且靈活地添加了更多的功能,除了支持P幀、B幀外,還支持一種新的流間傳送巾貞一SP幀。碼流中包含SP幀后,能在有類似內(nèi)容但有不同碼率的碼流之間快速切換,同時支持隨機(jī)接入和快速回放模式。SP-幀的運動估計有不同大小和形狀的宏塊分割、高精度的亞像素運動補償、多幀預(yù)測、去塊濾波器等4個特性。
[0036]所述的整數(shù)變換具體為:采用了基于4X4像素塊的整數(shù)DCT變換。與浮點運算相比,整數(shù)DCT變換會引起一些額外的誤差,但因為DCT變換后的量化也存在量化誤差,與之相比,整數(shù)DCT變換引起的量化誤差影響并不大。此外,整數(shù)DCT變換還具有減少運算量和復(fù)雜度,有利于向定點DSP移植的優(yōu)點。
[0037]所述的量化采用52種不同的量化步長,步長是以12.5%的復(fù)合率遞進(jìn),而不是一個固定常數(shù)。在H.264中,變換系數(shù)的讀出方式也有兩種,之字形(Zigzag)掃描和雙掃描。大多數(shù)情況下使用簡單的之字形掃描;雙掃描僅用于使用較小量化級的塊內(nèi),有助于提高編碼效率。
[0038]所述的熵編碼采用通用可變長編碼UVLC或基于文本的自適應(yīng)二進(jìn)制算術(shù)編碼CABAC0 UVLC碼表提供了一個簡單的方法,不管符號表述什么類型的數(shù)據(jù),都使用統(tǒng)一變字長編碼表,其優(yōu)點是簡單;缺點是單一的碼表是從概率統(tǒng)計分布模型得出的,沒有考慮編碼符號間的相關(guān)性,在中高碼率時效果不是很好。本發(fā)明中還提供了可選的CABAC,CABAC使編碼和解碼兩邊都能使用所有句法元素(變換系數(shù)、運動矢量)的概率模型。為了提高算術(shù)編碼的效率,通過內(nèi)容建模的過程,使基本概率模型能適應(yīng)隨視頻幀而改變的統(tǒng)計特性。內(nèi)容建模提供了編碼符號的條件概率估計,利用合適的內(nèi)容模型,存在于符號間的相關(guān)性可以通過選擇目前要編碼符號鄰近的已編碼符號的相應(yīng)概率模型來去除,不同的句法元素通常保持不同的模型。
【權(quán)利要求】
1.一種基于H.264的視頻編碼方法,其特征在于,包括以下步驟:1)幀內(nèi)預(yù)測編碼;2)幀間預(yù)測編碼;3)整數(shù)變換;4)量化;5)熵編碼。
2.根據(jù)權(quán)利要求1所述的一種基于H.264的視頻編碼方法,其特征在于,所述的幀內(nèi)預(yù)測編碼具體為:在對一給定宏塊編碼時,首先根據(jù)相鄰宏塊預(yù)測,然后對預(yù)測值與實際值的差值進(jìn)行編碼。
3.根據(jù)權(quán)利要求2所述的一種基于H.264的視頻編碼方法,其特征在于,所述的相鄰宏塊預(yù)測采用4X4像素宏塊預(yù)測,包括I種直流預(yù)測和8種方向預(yù)測。
4.根據(jù)權(quán)利要求1所述的一種基于H.264的視頻編碼方法,其特征在于,所述的幀間預(yù)測編碼具體為:利用連續(xù)幀中的時間冗余來進(jìn)行運動估計和補償。
5.根據(jù)權(quán)利要求1所述的一種基于H.264的視頻編碼方法,其特征在于,所述的整數(shù)變換具體為:采用了基于4X4像素塊的整數(shù)DCT變換。
6.根據(jù)權(quán)利要求1所述的一種基于H.264的視頻編碼方法,其特征在于,所述的量化采用52種不同的量化步長,步長是以12.5%的復(fù)合率遞進(jìn)。
7.根據(jù)權(quán)利要求1所述的一種基于H.264的視頻編碼方法,其特征在于,所述的熵編碼采用通用可變長編碼UVLC或基于文本的自適應(yīng)二進(jìn)制算術(shù)編碼CABAC。
【文檔編號】H04N7/18GK103442237SQ201310365027
【公開日】2013年12月11日 申請日期:2013年8月20日 優(yōu)先權(quán)日:2013年8月20日
【發(fā)明者】鄭思國, 劉剛, 何真珍 申請人:國家電網(wǎng)公司, 國網(wǎng)上海市電力公司, 上海市區(qū)供電設(shè)計有限公司