一種基于去均值的模式矢量預(yù)處理和多模式庫的圖像/視頻編碼方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及圖像/視頻編碼領(lǐng)域,尤其涉及基于去均值的模式矢量預(yù)處理和多模式庫的圖像/視頻編碼方法。
【背景技術(shù)】
[0002]目前,視頻編碼算法主要是由運(yùn)動(dòng)圖像專家組制定(Moving Picture ExpertsGroup,MPEG)制定的MPEG_x系列標(biāo)準(zhǔn)和由國際電信聯(lián)盟(ITU-T)制定的H.26x系列標(biāo)準(zhǔn),以及他們聯(lián)合制定的H.264和HEVC。除此之外,也有一些研宄人員另辟蹊徑開發(fā)出了不錯(cuò)的視頻編碼算法。基于二維SOM的圖像/視頻編碼算法就是其中之一。
[0003]Kohonen受啟發(fā)于人腦神經(jīng)元的組織原理上而提出的一種具有自組織特性的人工神經(jīng)網(wǎng)絡(luò)算法一一自組織特征映射(SOM)算法。SOM網(wǎng)絡(luò)采用雙層網(wǎng)絡(luò)結(jié)構(gòu),分為輸入層和映射層,輸入層用于感知輸入模式,每個(gè)輸入神經(jīng)元通過權(quán)值與每個(gè)映射層神經(jīng)元連接,映射層輸出結(jié)果,映射層的神經(jīng)元互相連接。傳統(tǒng)SOM網(wǎng)絡(luò)一般采用一維輸入層和二維映射層,它能有效地處理一維和二維信號。近年來,三維圖像和視頻等三維信號的處理日益引起了關(guān)注,然而傳統(tǒng)SOM算法并不能直接用于三維信號的處理。三維SOM算法很好地解決了這一問題,能有效地將二維輸入映射為三維輸出,實(shí)現(xiàn)了三維信號的非線性映射。而且,與鄰域是二維平面結(jié)構(gòu)相比,鄰域是三維立體結(jié)構(gòu)時(shí),在相等鄰域半徑內(nèi)的節(jié)點(diǎn)數(shù)量增多,節(jié)點(diǎn)被調(diào)整的機(jī)會(huì)增加,因此更有利于得到最佳匹配的模式庫。
[0004]基于三維SOM的圖像/視頻編碼算法的原理就是利用大量圖像/視頻訓(xùn)練出通用模式庫。在需要對圖像/視頻編碼時(shí),將圖像/視頻的每幀分割為固定大小圖像塊,并在模式庫中搜索匹配最相近的模式矢量,然后只對對應(yīng)矢量的索引進(jìn)行編碼即可,從而實(shí)現(xiàn)圖像/視頻的壓縮編碼。
[0005]如何得到最佳模式庫是三維SOM算法的重要組成部分。然而,在現(xiàn)有的基于三維SOM是圖像/視頻編碼算法中,存在模式矢量利用效率低和忽略了圖像本身的結(jié)構(gòu)特征兩個(gè)缺陷。
[0006]在現(xiàn)有的基于三維SOM是圖像/視頻編碼算法中,初始化模式庫之前并未對模式矢量本身進(jìn)行預(yù)處理。這導(dǎo)致了具有相同均方差的模式矢量卻具有不同均值,這就更多的模式矢量,進(jìn)而更大的模式庫,降低了模式矢量的利用效率。
[0007]在現(xiàn)有的基于三維SOM是圖像/視頻編碼算法中,每個(gè)模式矢量和每個(gè)圖像塊都具有相同的大小。這種劃分方法并沒有考慮到每一幅圖像/視頻幀的結(jié)構(gòu)特征,也不利于提高圖像/視頻的壓縮效率。
【發(fā)明內(nèi)容】
[0008]本發(fā)明的目的是為了克服現(xiàn)有的基于三維SOM的圖像/視頻編碼算法存在的不足與缺陷,而提供一種基于去均值的模式矢量預(yù)處理和多模式庫的圖像/視頻編碼方法,該模式矢量預(yù)處理算法能減少模式庫中模式矢量特征值的重復(fù)率,從而提高了三維SOM算法的性能,該多模式庫算法則是利用圖像中不同區(qū)域具有不同的結(jié)構(gòu)特征,從而選擇不同大小模式矢量的模式庫,從而使模式矢量更有針對性,提高模式矢量利用率,最終提高圖像/視頻編碼算法性能。
[0009]實(shí)現(xiàn)本發(fā)明目的的技術(shù)方案是:
[0010]本發(fā)明基于去均值的模式矢量預(yù)處理方法是:在圖像/視頻編碼中,每個(gè)模式矢量都具有均值、和值、方差等特征值,在初始化模式庫之前,需要對訓(xùn)練矢量進(jìn)行分類排序,從而最合理的抽取模式矢量組成初始模式庫,而過多的特征值不利于模式矢量的分類排序。在初始化模式庫之前,需要對訓(xùn)練矢量分別求均值,并各自減去其均值,從而有效消除均值對于分類排序的影響。
[0011]本發(fā)明基于多模式庫的圖像/視頻編碼方法是:在圖像/視頻編碼中,一般將圖像包含的信息分為直流分量、低頻分量和高頻分量三部分,本算法將直流分量單獨(dú)編碼,然后對低頻分量和高頻分量分別采用含有不同大小的模式矢量的模式庫進(jìn)行匹配、索引和編碼。對于圖像/視頻幀的平滑區(qū)域劃分更大的圖像塊,對了細(xì)節(jié)較多的部分劃分較小的圖像塊,從而有效保證了對于圖像/視頻質(zhì)量和壓縮率的雙重需求。
[0012]一種基于去均值的模式矢量預(yù)處理和多模式庫的圖像/視頻編碼方法,包括如下步驟:
[0013]I)計(jì)算訓(xùn)練矢量集中各矢量均值,對均值求整,各訓(xùn)練減去其對應(yīng)的取整后的均值得到新的訓(xùn)練矢量集;
[0014]2)對新的訓(xùn)練矢量集中各矢量求均方差并按均方差從小到大排序;
[0015]3)根據(jù)預(yù)先設(shè)定閥值,將排序后的訓(xùn)練矢量集分為低頻部分和高頻部分兩個(gè)子矢量集;
[0016]4)分別以固定的間隔從兩個(gè)子矢量集抽取N/2個(gè),組成初始模式庫;
[0017]5)利用去均值后的訓(xùn)練矢量集對初始模式庫進(jìn)行訓(xùn)練,得到最佳匹配模式庫;
[0018]6)重復(fù)步驟I)—步驟5),分別得到模式矢量大小分別為8 X 8、16 X 16、32 X 32、64 X 64模式庫;
[0019]7)將需要壓縮的視頻分解為一幀一幀的圖像,對于需要編碼的單幅圖像則不需要此步驟;
[0020]8)依據(jù)預(yù)先設(shè)定的閥值和每個(gè)圖像塊的均方差對圖像進(jìn)行分割為不同大小的圖像塊;
[0021]9)對當(dāng)前圖像的每一個(gè)圖像塊去均值處理并在對應(yīng)的模式庫中匹配模式矢量并編碼,同時(shí)對模式庫類型和均值進(jìn)行編碼;
[0022]10)重復(fù)步驟8)和步驟9),直至該視頻每一幀都編碼完畢。對于需要編碼的單幅圖像則不需要此步驟。
[0023]步驟I)所述的在初始化模式庫之前,先對所有訓(xùn)練矢量進(jìn)行去均值處理,然后再對去均值后的訓(xùn)練矢量初始化模式庫。
[0024]步驟6)所述的多模式庫有模式矢量尺寸為4\4、8\8、16\16、32\32、64父64等五種模式庫可供選擇,在圖像/視頻編碼時(shí)應(yīng)至少選擇兩種模式庫。
[0025]步驟8)所述的在對圖像不同區(qū)域分塊時(shí)參考該像素塊的均方差和預(yù)先設(shè)定的閥值之間的大小關(guān)系進(jìn)行分割,當(dāng)均方差小于閥值時(shí),不需要繼續(xù)分割,當(dāng)均方差大于閥值時(shí)繼續(xù)分割,當(dāng)已經(jīng)分割為最小尺寸時(shí)不用繼續(xù)分割。
[0026]步驟9)所述的在對圖像塊編碼時(shí),需要同時(shí)對模式庫類型、圖像塊均值和匹配的模式矢量索引進(jìn)行編碼。
[0027]本發(fā)明