專利名稱:具有低復(fù)雜度噪聲消減的視頻編碼器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及用于編碼(壓縮)視頻流的視頻編碼器。
背景技術(shù):
許多應(yīng)用需要對視頻流進(jìn)行壓縮(即,編碼)以減小帶寬需求。當(dāng)前的編碼設(shè)備根據(jù)數(shù)種公知的壓縮技術(shù)來執(zhí)行視頻壓縮,例如MPEG、H.263以及H.264。已經(jīng)證實(shí),使用這些標(biāo)準(zhǔn)視頻壓縮技術(shù),在給定比特率時(shí),壓縮帶噪聲的視頻序列要比壓縮清楚的視頻序列更加困難。噪聲消減可以作為視頻壓縮之前采用的預(yù)處理功能。在這種條件下,噪聲消減級減小了輸入畫面序列上的噪聲,然后將該序列提供給編碼器,來對噪聲消減后的畫面進(jìn)行壓縮。
現(xiàn)有的噪聲消減技術(shù)包括空間和/或時(shí)間濾波。時(shí)間濾波包括向來自數(shù)個(gè)不同輸入畫面的像素應(yīng)用濾波函數(shù)(例如,平均),以創(chuàng)建濾波后的像素。視頻序列的時(shí)間濾波通常分為兩類(1)運(yùn)動(dòng)補(bǔ)償以及(2)非運(yùn)動(dòng)補(bǔ)償。對于包含運(yùn)動(dòng)的視頻序列,運(yùn)動(dòng)補(bǔ)償時(shí)間濾波方法通常優(yōu)于非運(yùn)動(dòng)補(bǔ)償時(shí)間濾波方法。運(yùn)動(dòng)補(bǔ)償時(shí)間濾波噪聲消減方法通常比其他噪聲消減方法需要更多的計(jì)算量。
于是,需要一種技術(shù)來在視頻解碼期間執(zhí)行運(yùn)動(dòng)補(bǔ)償噪聲消減,同時(shí)具有減小了的計(jì)算復(fù)雜度。
發(fā)明內(nèi)容
簡而言之,根據(jù)本發(fā)明的第一方面,提供了一種用于對視頻信號編碼并同時(shí)消減噪聲的方法。該方法包括對輸入視頻信號中每個(gè)宏塊進(jìn)行N次運(yùn)動(dòng)估計(jì),以得到N個(gè)運(yùn)動(dòng)估計(jì)數(shù)據(jù)集合,其中N是整數(shù),每個(gè)集合包括參考畫面索引和運(yùn)動(dòng)向量。通常,雖然不是必要的,但是每個(gè)運(yùn)動(dòng)估計(jì)數(shù)據(jù)集合利用不同的參考畫面。使用N個(gè)運(yùn)動(dòng)估計(jì)數(shù)據(jù)集合中每一個(gè)集合來生成預(yù)測,并且在濾波操作中使用這N個(gè)預(yù)測,以得到噪聲消減宏塊。編碼噪聲消減宏塊,并把運(yùn)動(dòng)估計(jì)數(shù)據(jù)集合中最佳的一個(gè)集合的運(yùn)動(dòng)向量和參考畫面索引用于該宏塊。。
根據(jù)本發(fā)明的第二方面,一種視頻編碼器包括運(yùn)動(dòng)估計(jì)級,其執(zhí)行運(yùn)動(dòng)估計(jì)以及噪聲消減。該編碼器使用N個(gè)運(yùn)動(dòng)估計(jì)數(shù)據(jù)集合對每個(gè)宏塊執(zhí)行噪聲消減,其中,雖然不是必要的,但是通常運(yùn)動(dòng)估計(jì)數(shù)據(jù)集合中每一個(gè)集合是從分離的參考畫面生成的。編碼噪聲消減宏塊,并把運(yùn)動(dòng)估計(jì)數(shù)據(jù)集合中最佳的一個(gè)集合的運(yùn)動(dòng)向量和參考畫面索引用于該宏塊。
圖1圖示了根據(jù)現(xiàn)有技術(shù)的示例性視頻解密器的方框圖;圖2圖示了根據(jù)本發(fā)明第一方面的嵌入了噪聲消減器的視頻編碼器;圖3圖示了描述根據(jù)本發(fā)明的包括噪聲消減方法的視頻編碼過程的流程圖;圖4圖示了描述在圖3的視頻編碼過程期間發(fā)生的噪聲消減過程的流程圖;以及圖5圖示了根據(jù)本發(fā)明第二方面嵌入了噪聲消減器和空間濾波器的視頻編碼器。
具體實(shí)施例方式
圖1圖示了能夠?qū)崿F(xiàn)H.264壓縮技術(shù)以及類似壓縮技術(shù)的現(xiàn)有視頻編碼器10。圖1的H.264編碼器10包括加法模塊12,在其非反相輸入端提供了輸入視頻流。運(yùn)動(dòng)估計(jì)模塊14接收輸入視頻流以及參考畫面存儲(chǔ)裝置16中存儲(chǔ)的先前編碼參考畫面。對于輸入視頻流中出現(xiàn)的當(dāng)前輸入畫面中的每個(gè)宏塊(macroblock),運(yùn)動(dòng)估計(jì)模塊14將當(dāng)前宏塊與來自參考畫面存儲(chǔ)裝置16的一個(gè)或多個(gè)參考畫面進(jìn)行比較。
H.264視頻壓縮系統(tǒng)(也稱作JVT或MPEG AVC)使用樹狀結(jié)構(gòu)分層宏塊分區(qū)(partition)。幀間編碼的16×16像素宏塊可以劃分為16×8、8×16、或8×8大小的宏塊分區(qū)。8×8像素的宏塊分區(qū)(稱作子宏塊)可以進(jìn)一步劃分為8×4、4×8和4×4大小的子宏塊分區(qū)。運(yùn)動(dòng)估計(jì)模塊14基于特定宏塊的特性,選擇如何將宏塊劃分為分區(qū)及子宏塊分區(qū),以便最大化壓縮效率及主觀質(zhì)量。對于每個(gè)宏塊,運(yùn)動(dòng)估計(jì)模塊14將提供宏塊模式,其指示宏塊分解為各種分區(qū)尺寸。另外,運(yùn)動(dòng)估計(jì)模塊14為每個(gè)宏塊提供參考畫面索引和運(yùn)動(dòng)向量。
H.264視頻壓縮標(biāo)準(zhǔn)允許使用多個(gè)參考畫面來進(jìn)行幀間預(yù)測,其中編碼了參考畫面索引,以指示多個(gè)參考畫面中特定一個(gè)參考畫面的使用。在P畫面(或P片)中,只使用單向預(yù)測,并且在第一列表(稱作列表0)中管理允許的參考畫面。在B畫面(或B片)中,管理參考畫面的兩個(gè)列表列表0和列表1。在B畫面(或B片)中,允許使用列表0或列表1來進(jìn)行單向預(yù)測。還允許使用列表0和列表1來進(jìn)行雙向預(yù)測。當(dāng)使用雙向預(yù)測時(shí),對列表0和列表1預(yù)測值進(jìn)行平均,以形成最終預(yù)測值。
運(yùn)動(dòng)估計(jì)模塊14在為宏塊決定最佳宏塊模式、參考畫面索引以及運(yùn)動(dòng)向量時(shí)具有相當(dāng)大的自由度,以便為當(dāng)前畫面創(chuàng)建良好的預(yù)測值,以確保高效編碼。一旦在運(yùn)動(dòng)估計(jì)過程期間運(yùn)動(dòng)估計(jì)模塊14做出了這些決定,運(yùn)動(dòng)補(bǔ)償模塊17將從運(yùn)動(dòng)估計(jì)模塊接收到參考畫面索引、宏塊模式以及運(yùn)動(dòng)向量。根據(jù)這些信息,運(yùn)動(dòng)補(bǔ)償模塊17形成預(yù)測值,用于利用加法模塊12從輸入畫面中減去該預(yù)測值,以創(chuàng)建差畫面。利用變換模塊18對差畫面進(jìn)行變換。量化器20將變換后的差畫面量化,然后將其輸入到熵編碼器22,在熵編碼器22輸出端得到編碼視頻畫面。反向量化器24和反向變換模塊26分別對差畫面執(zhí)行反向量化和反向變換,以得到參考畫面,以便存儲(chǔ)在參考畫面存儲(chǔ)裝置16中,用于在編碼隨后的畫面時(shí)使用。
圖2圖示了根據(jù)本發(fā)明的具有噪聲消減的視頻編碼器的第一優(yōu)選實(shí)施例100。編碼器100與圖1的編碼器10具有許多相同的元件,并且在這兩幅附圖中相似的標(biāo)號表示相似的元件。與圖1的現(xiàn)有編碼器10類似,圖2的編碼器100包括運(yùn)動(dòng)估計(jì)模塊14’,其接收輸入視頻流以及來自參考畫面存儲(chǔ)裝置16的先前編碼畫面。然而,圖2的運(yùn)動(dòng)估計(jì)模塊14’在以下方面與圖1的運(yùn)動(dòng)估計(jì)模塊14不同。如前所述,圖1的運(yùn)動(dòng)估計(jì)模塊14得到宏塊的單個(gè)最佳宏塊模式、宏塊分區(qū)的參考畫面索引、以及宏塊分區(qū)或子宏塊分區(qū)的運(yùn)動(dòng)向量。相反,本發(fā)明的運(yùn)動(dòng)估計(jì)模塊14’在其輸出端提供運(yùn)動(dòng)估計(jì)數(shù)據(jù)的N個(gè)集合,其中每個(gè)集合包括宏塊的分區(qū)或子宏塊分區(qū)的宏塊模式、參考畫面索引(RefPicIndex)、以及運(yùn)動(dòng)向量(MV)。
根據(jù)本發(fā)明,圖2的視頻編碼器所執(zhí)行的運(yùn)動(dòng)估計(jì)功能有助于噪聲消減。編碼器100內(nèi)的噪聲消減器102從運(yùn)動(dòng)估計(jì)模塊14’接收N個(gè)運(yùn)動(dòng)估計(jì)數(shù)據(jù)集合中的每一個(gè)。如后面參考圖4所述,噪聲消減器102將當(dāng)前像素與從運(yùn)動(dòng)估計(jì)模塊14接收到的預(yù)測值比較。如果它們之間的差別小于預(yù)定閾值,則預(yù)測值變?yōu)樵肼曄麥p器102用來進(jìn)行像素濾波的濾波集合的一部分。這種像素濾波的結(jié)果得到存儲(chǔ)在濾波后畫面存儲(chǔ)裝置104中的濾波后畫面。這種濾波后畫面變?yōu)榫幋a過程的輸入,即,加法放大器12的輸入。
圖3以流程圖示出了圖2的編碼器100對輸入視頻流中每個(gè)畫面進(jìn)行消減噪聲編碼時(shí)所實(shí)現(xiàn)的過程的步驟。該過程在步驟200中開始,其中初始化各個(gè)變量,包括循環(huán)變量mb。此后,進(jìn)行步驟202,并且開始循環(huán)過程。此后,進(jìn)行步驟204,其中對每個(gè)宏塊進(jìn)行運(yùn)動(dòng)估計(jì),計(jì)算N個(gè)運(yùn)動(dòng)估計(jì)決定集合中的每一個(gè),并將它們存儲(chǔ)起來。圖2的噪聲消減器102然后在步驟206中使用所存儲(chǔ)的N個(gè)運(yùn)動(dòng)估計(jì)決定集合,對宏塊執(zhí)行噪聲消減。
在步驟208中對宏塊進(jìn)行視頻編碼。首先,圖2的運(yùn)動(dòng)補(bǔ)償模塊17使用N個(gè)存儲(chǔ)的運(yùn)動(dòng)估計(jì)決定集合中最佳的一個(gè)集合(通常認(rèn)為第一個(gè)集合是這些集合中最佳的一個(gè))來創(chuàng)建宏塊的預(yù)測值。從濾波后畫面中減去該預(yù)測。差畫面然后以參考圖1描述的方式經(jīng)歷變換、量化以及熵編碼。差畫面還經(jīng)歷反向量化和反向變換,然后存儲(chǔ)在圖2的參考畫面存儲(chǔ)裝置17中。在本發(fā)明的一個(gè)實(shí)施例中,N個(gè)運(yùn)動(dòng)估計(jì)數(shù)據(jù)集合中的每一個(gè)利用不同的參考畫面索引。在步驟208之后,進(jìn)行步驟210,其中,當(dāng)循環(huán)變量mb等于宏塊的數(shù)目時(shí),在步驟202中開始的循環(huán)過程結(jié)束。換句話說,重復(fù)步驟202~208,直至完成對畫面中所有宏塊的編碼。此后,在步驟212中編碼過程結(jié)束。
如前所述,N個(gè)運(yùn)動(dòng)估計(jì)決定集合充當(dāng)圖2的噪聲消減器102的輸入。圖4以流程圖的形式示出了噪聲消減器102所執(zhí)行的噪聲消減過程的步驟。噪聲消減過程開始于步驟300,其中開始循環(huán)操作,在循環(huán)操作中根據(jù)循環(huán)索引p來循環(huán)通過每個(gè)像素。在步驟302中,讀取當(dāng)前畫面塊中每個(gè)像素p的值pic[p]。在步驟304中,開始第二循環(huán)操作,其中根據(jù)循環(huán)變量i來循環(huán)通過每個(gè)運(yùn)動(dòng)估計(jì)決定集合。在步驟306中,圖2的運(yùn)動(dòng)補(bǔ)償模塊17通過使用第i個(gè)運(yùn)動(dòng)估計(jì)決定集合執(zhí)行運(yùn)動(dòng)補(bǔ)償,來為像素p創(chuàng)建預(yù)測值pred[i]。在步驟308中,在當(dāng)前像素pic[p]與預(yù)測值pred[i]之間進(jìn)行差測量。差測量可以包括計(jì)算中的亮度(luma)和/或色度(chroma)值。作為示例,差測量可以是絕對的差值。如果差測量低于閾值,則在步驟310中,將預(yù)測值添加到濾波集合fset(在圖2的噪聲消減器102所執(zhí)行的噪聲消減濾波操作中使用)。在步驟310之后(或者,當(dāng)差測量大于閾值時(shí),在步驟308之后),然后進(jìn)行步驟312,并且循環(huán)i操作結(jié)束。換句話說,重復(fù)步驟304~310,直至為每個(gè)運(yùn)動(dòng)估計(jì)決定集合生成預(yù)測值并且隨后比較該預(yù)測值與閾值。
在步驟312之后,進(jìn)行步驟314,并且將從在步驟310中創(chuàng)建的濾波集合fset獲得的濾波器應(yīng)用于像素p,以創(chuàng)建濾波后像素值。分別對亮度樣本以及相關(guān)聯(lián)的具有兩個(gè)色度分量的樣本進(jìn)行濾波操作。在噪聲消減濾波操作中,可以使用數(shù)種不同濾波器函數(shù)中的任一種,例如計(jì)算平均、加權(quán)平均、或中位值。濾波操作還可以在計(jì)算中包括空間近鄰(spatial neighbor)。還可以將空間近鄰與閾值相比較,以考慮在濾波操作中是否包括空間近鄰。圖2的濾波后像素存儲(chǔ)裝置104將像素濾波操作的結(jié)果存儲(chǔ)為Filt_pic[p]。濾波后畫面Filt_pic然后在對隨后的畫面進(jìn)行噪聲消減時(shí)變?yōu)橐曨l編碼過程的其他部分的輸入?;蛘撸梢允褂脜⒖籍嬅娲鎯?chǔ)裝置的原始輸入畫面作為噪聲消減過程的輸入。
對于幀內(nèi)(I)畫面(或,I片)內(nèi)的宏塊,通常只進(jìn)行空間濾波?;蛘?,可以進(jìn)行前述運(yùn)動(dòng)估計(jì)和噪聲消減過程,但是視頻編碼器只執(zhí)行幀內(nèi)編碼,因此不利用在運(yùn)動(dòng)估計(jì)決定集合中所選擇的運(yùn)動(dòng)估計(jì)決定集合。對于編碼器100,由于對I畫面執(zhí)行運(yùn)動(dòng)估計(jì),所以增加了少許復(fù)雜度,因?yàn)楝F(xiàn)有運(yùn)動(dòng)估計(jì)模塊14’已經(jīng)存在,并且在這種條件下變?yōu)椴皇褂谩?br>
圖5示出了根據(jù)本發(fā)明的編碼器100’的另一說明性實(shí)施例。圖5的編碼器100’與圖2的編碼器100具有許多相同的特征,并且相似的標(biāo)號表示相似的元件。然而,與圖2的編碼器100不同,圖5的編碼器100’包括空間濾波器106,用于在運(yùn)動(dòng)估計(jì)模塊14’接收到輸入畫面之前對輸入畫面濾波。對于I畫面,不進(jìn)行運(yùn)動(dòng)估計(jì),并且開關(guān)108將空間濾波器106的輸出耦合到加法模塊12。對于P和B畫面,使用空間濾波后的輸入畫面作為輸入來執(zhí)行運(yùn)動(dòng)估計(jì)。在這種情形下,開關(guān)108將加法放大器的非反相輸入端耦合來接收噪聲消減器102的輸出。
前面描述了適于任何基于塊的運(yùn)動(dòng)補(bǔ)償視頻壓縮技術(shù)的低復(fù)雜度噪聲消減的編碼器。然而,本發(fā)明的編碼器對于使用多個(gè)參考畫面的壓縮技術(shù)(例如,H.264)產(chǎn)生最好的結(jié)果,因?yàn)榫幋a器和噪聲消減器都可以重復(fù)使用運(yùn)動(dòng)估計(jì)功能,這允許使用在噪聲消減濾波過程中所使用的多個(gè)畫面。與單獨(dú)的視頻噪聲消減系統(tǒng)的復(fù)雜度相比,作為視頻編碼器的一部分來執(zhí)行噪聲消減而增加的復(fù)雜度非常小。對于帶噪聲的視頻序列,與常規(guī)視頻編碼器相比,本發(fā)明的編碼器可以大大改進(jìn)特定比特率時(shí)的壓縮視頻質(zhì)量。
權(quán)利要求
1.一種用于對視頻信號編碼并同時(shí)消減噪聲的方法,包括如下步驟對輸入視頻信號中每個(gè)宏塊進(jìn)行N次運(yùn)動(dòng)估計(jì),以得到N個(gè)運(yùn)動(dòng)估計(jì)決定集合,其中N是整數(shù),每個(gè)集合包括參考畫面索引和運(yùn)動(dòng)向量;使用N個(gè)運(yùn)動(dòng)估計(jì)數(shù)據(jù)集合,對每個(gè)宏塊創(chuàng)建噪聲消減宏塊;以及使用所述運(yùn)動(dòng)估計(jì)數(shù)據(jù)集合中最佳的一個(gè)集合,編碼每個(gè)噪聲消減宏塊。
2.根據(jù)權(quán)利要求1所述的方法,其特征是,進(jìn)行運(yùn)動(dòng)估計(jì)的步驟還包括如下步驟使用N個(gè)不同參考畫面中的每個(gè)畫面,進(jìn)行N次運(yùn)動(dòng)估計(jì)。
3.根據(jù)權(quán)利要求1所述的方法,其特征是,創(chuàng)建所述噪聲消減宏塊的步驟還包括如下步驟選擇所述N個(gè)運(yùn)動(dòng)估計(jì)決定集合中的至少多個(gè)集合;以及使用所選擇的運(yùn)動(dòng)估計(jì)決定集合,對所述宏塊中每個(gè)像素進(jìn)行時(shí)間濾波。
4.根據(jù)權(quán)利要求3所述的方法,其特征是,所述選擇步驟還包括如下步驟對每個(gè)運(yùn)動(dòng)估計(jì)決定集合生成預(yù)測值;計(jì)算所述預(yù)測值與當(dāng)前像素之間的差值;確定所述差值是否小于閾值;并且如果小于閾值的話,選擇其差值小于所述閾值的運(yùn)動(dòng)估計(jì)決定集合。
5.根據(jù)權(quán)利要求1所述的方法,其特征是,還包括如下步驟在估計(jì)運(yùn)動(dòng)之前對所述輸入視頻進(jìn)行空間濾波。
6.一種用于對視頻信號編碼并同時(shí)消減噪聲的方法,包括如下步驟使用N個(gè)分離的參考畫面中的每個(gè)畫面,對輸入視頻信號中每個(gè)宏塊進(jìn)行N次運(yùn)動(dòng)估計(jì),以得到N個(gè)運(yùn)動(dòng)估計(jì)決定集合,其中N是整數(shù),每個(gè)集合包括參考畫面索引和運(yùn)動(dòng)向量;使用N個(gè)運(yùn)動(dòng)估計(jì)數(shù)據(jù)集合,對每個(gè)宏塊創(chuàng)建噪聲消減宏塊;以及使用所述運(yùn)動(dòng)估計(jì)數(shù)據(jù)集合中最佳的一個(gè)集合,編碼每個(gè)噪聲消減宏塊。
7.一種視頻編碼器,包括運(yùn)動(dòng)估計(jì)級,用于對輸入視頻信號的每個(gè)宏塊中的運(yùn)動(dòng)進(jìn)行N次估計(jì),以得到N個(gè)運(yùn)動(dòng)估計(jì)決定集合,其中N是整數(shù),每個(gè)集合包括參考畫面索引和運(yùn)動(dòng)向量;噪聲消減器,用于使用N個(gè)運(yùn)動(dòng)估計(jì)數(shù)據(jù)集合,創(chuàng)建噪聲消減宏塊;以及編碼裝置,用于編碼所述噪聲消減宏塊。
8.根據(jù)權(quán)利要求7所述的編碼器,其特征是,還包括參考畫面存儲(chǔ)裝置,用于存儲(chǔ)編碼畫面,并且其中所述運(yùn)動(dòng)估計(jì)級使用所存儲(chǔ)的N個(gè)不同參考畫面來進(jìn)行N次運(yùn)動(dòng)估計(jì)。
9.根據(jù)權(quán)利要求7所述的編碼器,其特征是,還包括參考畫面存儲(chǔ)裝置,用于存儲(chǔ)編碼畫面;用于將所存儲(chǔ)的先前編碼畫面用作輸入視頻流,以便估計(jì)每個(gè)宏塊的運(yùn)動(dòng)以得到N個(gè)運(yùn)動(dòng)估計(jì)決定集合的裝置;以及用于應(yīng)用所述運(yùn)動(dòng)估計(jì)決定集合來對畫面進(jìn)行濾波以進(jìn)行噪聲消減的裝置。
10.根據(jù)權(quán)利要求7所述的編碼器,其特征是,還包括空間濾波器,用于在執(zhí)行運(yùn)動(dòng)估計(jì)之前對所述輸入視頻進(jìn)行空間濾波。
全文摘要
通過利用運(yùn)動(dòng)估計(jì)決定集合來進(jìn)行噪聲消減,可以在視頻編碼同時(shí)獲得低復(fù)雜度的噪聲消減。對每個(gè)宏塊進(jìn)行N(其中N是整數(shù))次運(yùn)動(dòng)估計(jì),以得到N個(gè)運(yùn)動(dòng)估計(jì)數(shù)據(jù)集合,其中每個(gè)集合包括參考畫面索引和運(yùn)動(dòng)向量。通常,雖然不是必要的,但是每個(gè)運(yùn)動(dòng)估計(jì)數(shù)據(jù)集合利用不同的參考畫面。對于每個(gè)宏塊,使用這N個(gè)運(yùn)動(dòng)估計(jì)數(shù)據(jù)集合來創(chuàng)建噪聲消減宏塊,然后對其編碼。
文檔編號H04N7/36GK1826814SQ200480018981
公開日2006年8月30日 申請日期2004年5月28日 優(yōu)先權(quán)日2003年7月9日
發(fā)明者吉爾·麥克唐納·博依斯, 吉恩·拉什 申請人:湯姆森許可貿(mào)易公司