專利名稱:降低編碼碼率的視頻編碼方法及系統(tǒng)的制作方法
技術(shù)領域:
本發(fā)明涉及視頻圖像處理領域,尤其涉及一種視頻編碼的實現(xiàn)方法及編碼系統(tǒng), 可用于H. 264視頻編碼系統(tǒng)的視頻壓縮處理。
背景技術(shù):
未來的社會將是信息化的社會。數(shù)字化的信息,尤其是數(shù)字化后的視頻和音頻信息,具有數(shù)據(jù)海量性的特點,給信息的存儲和傳輸造成很大的困難,成為阻礙人類獲取和使 用有效信息的瓶頸之一。視頻信息具有一系列優(yōu)點,如直觀性,確切性,高效性,廣泛性等 等,但是信息量太大。要使視頻得到有效的應用,必須解決編碼壓縮率和解碼圖像質(zhì)量的問 題。這兩者是相互矛盾的兩個方面。因此,研究和開發(fā)新型有效的多媒體數(shù)據(jù)壓縮編碼方 法,以壓縮的形式存儲和傳輸這些數(shù)據(jù)將是最好的選擇。在視頻編碼標準H. 264中,視頻數(shù) 據(jù)按照宏塊為單位編碼,當前宏塊減去預測宏塊,得到殘差宏塊。對殘差宏塊進行變換、量 化,得到量化系數(shù);對量化系數(shù)進行zig-zag掃描后進行熵編碼;將熵編碼后的結(jié)果遞交到 網(wǎng)絡層進行傳輸。現(xiàn)有技術(shù)中通常是在量化完成后,直接把量化結(jié)果進行zig-zag掃描后傳送到熵 編碼端,這樣雖然能夠保存圖像數(shù)據(jù)的精確性和完整性,但也會引起傳輸過程中碼率過高 及一些不易被肉眼感知的冗余的細節(jié)信息的被傳輸,這樣會造成編碼碼率過大。在滿足視 頻質(zhì)量要求情況下,如果編碼碼率過大,視頻碼流傳輸時,會降低傳輸帶寬利用率并造成信 道堵塞。
發(fā)明內(nèi)容
本發(fā)明的目的在于針對上述已有技術(shù)的不足,提供一種降低編碼碼率的視頻編碼 方法及系統(tǒng),以減小在傳輸過程中碼率過高及一些不易被肉眼感知的冗余的細節(jié)信息的傳 輸,提高傳輸帶寬利用率,保證信道暢通。本發(fā)明的目的是這樣實現(xiàn)的一.術(shù)語說明子塊大小為4X4的像素塊。宏塊圖像被分為若干個16X16的塊,每一個塊就稱為一個宏塊。量化系數(shù)像素進行量化后的值。zig-zag掃描一個4X4 二維數(shù)組變?yōu)橐粋€長為16個元素的一維序列,對應位置 變換如圖 5,即 4X4 二維數(shù)組(0,0)_(0,1)_(1,0)_(2,0)_(1,1)_(0,2)_(0,3)_(1,2)_(2, 1) _ (3,0) _ (3,1) _ (2,2) _ (1,3) _ (2,3) _ (3,2) _ (3,3),變成對應的一維序列 0_1_2_3_4_5_6_ 7_8_9_10_11_12_13_14_15.DC系數(shù)量化系數(shù)矩陣中位于子塊最左上角位置的量化系數(shù)。AC系數(shù)量化系數(shù)矩陣中除了子塊最左上角位置的量化系數(shù)以外的其他量化系數(shù)。
殘差數(shù)據(jù)原始像素減去預測像素得到的差值數(shù)據(jù)。殘差宏塊預測宏塊與當前宏塊對應位置的像素值相減得到的宏塊數(shù)據(jù)。二 .本發(fā)明的視頻編碼方法,包括以下步驟(1)輸入當前幀圖像,編碼器對每一幀以宏塊為單位按幀內(nèi)模式或幀間模式進行預測,得到預測宏塊,并從預測宏塊中減去當前宏塊,得到殘差宏塊;(2)對殘差宏塊進行變換量化,獲得子塊象素的量化值;(3)對每個子塊中的所有象素的量化系數(shù)求和,判斷其值是否為1,如果為1,則 對這個子塊除左上角象素以外的量化系數(shù)進行移除,否則對該子塊的量化系數(shù)不做任何改 變;(4)對經(jīng)過步驟(3)處理后的量化系數(shù)進行zig-zag掃描,傳遞到熵編碼端進行熵 編碼;(5)將熵編碼后的數(shù)據(jù)遞交到網(wǎng)絡層進行傳輸。三.本發(fā)明的視頻編碼系統(tǒng),包括(A)編碼前向模塊,用于對圖像原始數(shù)據(jù)進行預測,對每一幀以宏塊為單位按幀 內(nèi)模式或幀間模式進行預測,得到殘差宏塊,對殘差系數(shù)進行變換量化,得到象素的量化系 數(shù),該量化系數(shù)傳輸給量化系數(shù)處理模塊和編碼重建模塊;(B)量化系數(shù)處理模塊,用于對每個子塊中的所有象素的量化系數(shù)求和,判斷其值 是否為1,如果為1,則對這個子塊除左上角象素以外的量化系數(shù)進行移除,否則對該子塊 的量化系數(shù)不做任何改變,該量化系數(shù)處理結(jié)果傳輸?shù)届鼐幋a模塊和編碼重建模塊;(C)編碼重建模塊,用于重建當前宏塊像素,即對編碼前向路徑模塊得到的當前宏 塊量化系數(shù),進行反量化和反變換,得到當前宏塊的重建像素,該重建像素傳輸?shù)骄幋a前向 模塊,為下一個宏塊編碼提供參考象素;(D)熵編碼模塊,用于對當前宏塊量化系數(shù)的處理結(jié)果,進行熵編碼,熵編碼后的 系數(shù)與附加信息都被遞交到網(wǎng)絡提取層進行傳輸。與現(xiàn)有技術(shù)相比,本發(fā)明具有以下優(yōu)點1)本發(fā)明由于在原有的H. 264編碼系統(tǒng)基礎上,增加了量化系數(shù)處理模塊,在進 行熵編碼前,對量化系數(shù)進行了選擇性的移除處理,因而能夠大幅度減少編碼的量 化系數(shù)個數(shù),降低編碼碼率,提高傳輸帶寬利用率;2)本發(fā)明由于采用了量化系數(shù)處理模塊,能夠減少不易被肉眼感知的冗余信息的 被傳輸;3)本發(fā)明由于采用了量化系數(shù)處理模塊,對量化系數(shù)進行了選擇性的移除,而對 左上角量化系數(shù)不做任何改變,因而能夠使得重要信息更多的集中在子塊左上角,有利于 重要信息的集中處理和傳輸。仿真結(jié)果表明,本發(fā)明能夠在保證視頻質(zhì)量的情況下,降低視頻編碼碼率,提高傳 輸效率。從以下參考附圖的詳細說明中,可以對本發(fā)明的實施例以及優(yōu)點有更清楚的了解。
本發(fā)明的特征及優(yōu)點通過以下附圖和實施例進一步說明圖1是本發(fā)明的編碼系統(tǒng)框圖;圖2是本發(fā)明的量化系數(shù)處理模塊框圖;圖3是本發(fā)明的編碼方法流程圖;圖4是本發(fā)明的量化系數(shù)處理流程圖;
圖5是zig_zag掃描示意圖。
具體實施例方式參見圖1,本發(fā)明編碼系統(tǒng)包括編碼前向模塊10,編碼重建模塊20,量化系數(shù)處 理模塊30和熵編碼模塊40。其中編碼前向模塊10與量化系數(shù)處理模塊30單向連接,編碼 前向模塊10與編碼重建模塊20雙向連接,編碼重建模塊20與量化系數(shù)處理模塊30單向 連接,量化系數(shù)處理模塊30與熵編碼模塊40單向連接。所述編碼端前向模塊10,對每一幀以宏塊為單位按幀內(nèi)模式或幀間模式進行預 測。在任何一種情況下,都由重建幀得到一個預測宏塊。在幀內(nèi)模式下,預測宏塊是由當前 宏塊的相鄰宏塊的重建數(shù)據(jù)作為參考幀,按照最佳的預測方向,得到當前宏塊的像素值。在 幀間模式下,預測宏塊以一個或多個參考幀通過運動補償,按照前向或者后向的預測方向 得到當前宏塊的像素值。將預測宏塊從當前宏塊中減去,得到一個殘差宏塊并對它進行變 換和量化,得到量化系數(shù)。所述編碼端重建模塊20,用來重建當前宏塊,即量化系數(shù)經(jīng)過反量化和反變換,得 到殘差宏塊,預測宏塊與殘差宏塊相加得到重建宏塊,用環(huán)路濾波器對重建宏塊濾波,去除 塊效應,濾波前的重建宏塊的像素用以作為下一宏塊預測的參考像素。重建的參考幀由一 系列的經(jīng)過濾波后的重建宏塊構(gòu)建。所述量化系數(shù)處理模塊30,包括求和子模塊301,判斷子模塊302和移除子模塊 303,如圖2所示。其中求和子模塊301與判斷子模塊單向連接,判斷子模塊302與移除子 模塊單向連接。所述的求和子模塊301,用來對一個子塊的所有量化系數(shù)進行求和,這里的 量化系數(shù)指的是按幀間預測得到的量化系數(shù),對亮度和色度的量化系數(shù)分別求和。所述的 判斷子模塊302,用來對求和子模塊301的求和結(jié)果進行判斷,判斷其是否為1,為1則傳給 移除子模塊的移除指令,不為1則傳給移除子模塊的不移除指令。所述的移除子模塊303, 根據(jù)判斷子模塊302傳輸過來的指令,對除左上角以外的量化系數(shù)進行移除或者不移除操 作。所述熵編碼模塊40,對量化系數(shù)進行zig-zag掃描和熵編碼,并將熵編碼后的結(jié) 果遞交到網(wǎng)絡層進行傳輸。參見圖3,本發(fā)明的編碼方法包括以下步驟(A)對宏塊像素進行預測和模式選擇,得到最佳預測模式和宏塊預測像素。首先,輸入視頻流,通過參考幀獲取當前幀F(xiàn)n的當前宏塊的預測像素值P,幀內(nèi)模 式下,以當前幀宏塊的相鄰宏塊重建數(shù)據(jù)作為參考幀,按照最佳的預測方向得到當前宏塊 的預測像素值P ;幀間模式下,以一個或多個參考幀的相同位置的宏塊作為參考幀,通過運動估計和運動補償,按照前向或者后向的預測方向得到當前宏塊的預測像素值P;
然后,從幀內(nèi)預測模式和幀間預測模式中選擇出殘差較小的預測模式作為最佳的 預測模式,再以選出來的最佳預測模式進行預測,得到宏塊最終的預測像素值。(B)對殘差宏塊進行變換和量化,并對殘差宏塊進行重建,得到重建宏塊和重建 幀。首先,將預測宏塊P從當前宏塊中減去,得到殘差宏塊Dn,并對它進行變換和量化, 得到量化系數(shù)X ;然后,對量化系數(shù)X進行反量化和反變換,得到殘差宏塊D' n,預測宏塊P與D' n 相加得到重建宏塊uF' n;用環(huán)路濾波器對重建宏塊uF' n去除塊效應,得到濾波后的重建 宏塊F' n,由重建宏塊F' n組建重建幀。(C)對量化系數(shù)進行選擇性的移除操作。參見圖4,本步驟的具體實現(xiàn)過程如下 1)輸入子塊的量化系數(shù),對量化系數(shù)進行緩存;2)判斷量化系數(shù)是否為幀間預測得到的量化系數(shù),是則進行(3),否則回到(1);3)對量化系數(shù)進行求和,即對一個子塊的十六個量化系數(shù)進行累加;4)判斷是否進行移除,即判斷(3)的結(jié)果是否為1,為1則傳輸移除指令給(5),否 則傳輸不移除指令給(5);5)量化系數(shù)處理,即根據(jù)(4)傳輸過來的指令,對子塊的量化系數(shù)進行移除或者 不移除,得到處理后的量化系數(shù)X';(D)對進行選擇性移除操作后的量化系數(shù)X'進行熵編碼。對經(jīng)過步驟(C)進行移除量化系數(shù)處理后得到的量化系數(shù)X'進行zig-zag掃描, 將一個4X 4 二維數(shù)組變?yōu)橐粋€長為16個元素的一維序列,再進行熵編碼,熵編碼后的結(jié)果 傳遞到網(wǎng)絡層進行傳輸;為了使本發(fā)明的優(yōu)點得到進一步的體現(xiàn),以下是使用本方法進行的測試。1.測試條件計算機配置環(huán)境為Pentium4 2. 6Ghz,內(nèi)存1G,系統(tǒng)windows xp2,所有測試均在 此配置環(huán)境下進行。2.測試內(nèi)容采用慢速、中速、快速等移動劇烈程度不同的標準序列進行測試。在本實驗中,我 們對四組不同的視頻序列進行了測試,分辨率為352X288象素,幀率為30幀/秒,量化參 數(shù)分別為15,25,30,35,40,51時,測得的碼率和信噪比。3.測試結(jié)果測試結(jié)果如表1所示。表1 適用本發(fā)明前后的編碼碼率和峰值信噪比比較 4.結(jié)果分析如表1所示,使用本發(fā)明的方法在視頻質(zhì)量不受較大影響的情況下,提高了編碼 碼率和傳輸帶寬利用率。根據(jù)統(tǒng)計數(shù)據(jù),得到的測試結(jié)果中編碼碼率平均降低了 4. 6%,在不影響視頻質(zhì)量 的情況下,編碼碼率得到了較大幅度的提高.以上所述僅為本發(fā)明的較佳實施例,并非用來限定本發(fā)明的實施范圍。如果不脫 離本發(fā)明的精神和范圍,對本發(fā)明進行修改或者等同替換的,均應涵蓋在本發(fā)明的權(quán)利要 求的保護范圍當中。
權(quán)利要求
一種降低輸出碼率的視頻編碼方法,包括以下步驟(A)輸入當前幀圖像,編碼器對每一幀以宏塊為單位按幀內(nèi)模式或幀間模式進行預測,得到預測宏塊,并從預測宏塊中減去當前宏塊,得到殘差宏塊(B)對殘差宏塊進行變換量化,獲得子塊象素的量化值;(C)對每個子塊中的所有象素的量化系數(shù)求和,判斷其值是否為1,如果為1,則對這個子塊除左上角象素以外的量化系數(shù)進行移除,否則對該子塊的量化系數(shù)不做任何改變;(D)對經(jīng)過步驟(C)處理后的量化系數(shù)進行zig-zag掃描,傳遞到熵編碼端進行熵編碼;(E)將熵編碼后的數(shù)據(jù)遞交到網(wǎng)絡層進行傳輸。
2.根據(jù)權(quán)利要求1所述的方法,其中步驟(A)所述的按幀內(nèi)模式進行預測,是以當前幀 宏塊的相鄰宏塊重建數(shù)據(jù)作為參考幀,按照最佳的預測方向得到當前宏塊的像素值。
3.根據(jù)權(quán)利要求1所述的方法,其中步驟㈧所述的按幀間模式進行預測,是以一個或 多個參考幀的相同位置的宏塊作為參考幀,通過運動估計和補償,按照前向或者后向的預 測方向得到當前宏塊的像素值。
4.根據(jù)權(quán)利要求1所述的方法,其中步驟(C)所述的對每個子塊中的所有象素的量化 系數(shù)求和,是指對按幀間預測模式預測時的亮度和色度量化系數(shù)分別求和。
5.一種降低編碼碼率的視頻編碼系統(tǒng),包括(A)編碼前向模塊(10),用于對圖像原始數(shù)據(jù)進行預測,對每一幀以宏塊為單位按幀 內(nèi)模式或幀間模式進行預測,得到殘差宏塊,對殘差系數(shù)進行變換量化,得到象素的量化系 數(shù),該量化系數(shù)傳輸給量化系數(shù)處理模塊和編碼重建模塊;(B)量化系數(shù)處理模塊(30),用于對每個子塊中的所有象素的量化系數(shù)求和,判斷其 值是否為1,如果為1,則對這個子塊除左上角象素以外的量化系數(shù)進行移除,否則對該子 塊的量化系數(shù)不做任何改變,該量化系數(shù)處理結(jié)果傳輸?shù)届鼐幋a模塊;(C)編碼重建模塊(20),用于重建當前宏塊像素,即對模塊(10)得到的當前宏塊量化 系數(shù),進行反量化和反變換,得到當前宏塊的重建像素,該重建像素傳輸?shù)骄幋a前向模塊, 為下一個宏塊編碼提供參考象素;(D)熵編碼模塊(40),用于對當前宏塊量化系數(shù)的處理結(jié)果,進行熵編碼,熵編碼后的 系數(shù)與附加信息都被遞交到網(wǎng)絡層進行傳輸。
全文摘要
本發(fā)明公開了一種降低編碼碼率的視頻編碼方法及系統(tǒng),主要解決了視頻編碼碼率過高和傳輸帶寬利用率較低的問題。該系統(tǒng)包括編碼前向模塊,用于對圖像原始數(shù)據(jù)進行預測,對殘差系數(shù)進行變換量化,得到量化系數(shù);量化系數(shù)處理模塊,用于對子塊中的量化系數(shù)求和,并將求和值為1的子塊的量化系數(shù)移除但保留子塊左上角的量化系數(shù),否則不做任何改變;編碼重建模塊,用于對編碼前向模塊得到的量化系數(shù)進行反量化和反變換,重建得到當前宏塊的重建像素;熵編碼模塊,用于對量化系數(shù)處理模塊得到的量化系數(shù)進行熵編碼,熵編碼后的信息都被遞交到網(wǎng)絡層進行傳輸。本發(fā)明具有降低編碼碼率,提高傳輸帶寬利用率的優(yōu)點,可用于視頻編碼系統(tǒng)的視頻壓縮處理。
文檔編號H04N7/26GK101841713SQ201010161530
公開日2010年9月22日 申請日期2010年4月30日 優(yōu)先權(quán)日2010年4月30日
發(fā)明者吳成柯, 奉玉麗, 宋銳, 張儀, 李云松, 杜建超, 王養(yǎng)利, 肖嵩 申請人:西安電子科技大學