乘碼(Product code),是借由許多小型編碼簿相乘而形成。如果一個向量可以用某個獨(dú)立的特性來描述的話,例如長度或方向,那么就可以針對每一個特性分別為此設(shè)計(jì)一個編碼簿,最后所要的乘碼向量便是將各個小型編碼簿的向量相乘而得到。
概要在相同數(shù)目的碼向量下,乘碼編碼簿的效率比完全搜尋的編碼簿差。但是在相同的復(fù)雜度與位元率下,它的效果比完全搜尋的編碼簿好。這是因?yàn)樵谙嗤膹?fù)雜度下,乘碼編碼簿的有效碼向量會遠(yuǎn)比完全搜尋的編碼簿之碼向量多許多,而且乘碼編碼簿可以在同樣位元率下編碼更大維度的向量。
以下介紹三種乘碼,分別為增益/形狀VQ(Gain/Shape vector quantization, G/S VQ)、平均值/余值VQ(Mean/Residual vector quantization, M/R VQ)及內(nèi)插法/余值VQ(Interpolating/Residual vector quantization, I/R VQ)。1
增益形狀VQ增益/形狀VQ(Gain/Shape vector quantization, G/S VQ)使用兩個編碼簿,分別用以編碼向量的增益(Gain)和形狀(Shape)。向量的增益指的是這個向量的能量或方差,而向量的形狀則是原影像向量去掉增益后之正?;蛄浚∟ormalized vector)。
算法
第一步:
將原影像切割成不重疊的方塊形成影像向量,令其大小為n(一般取n = 4 x 4 = 16)。
第二步:
從形狀編碼簿中,找出和影像向量內(nèi)積(Inner product)所得值最大的單位能量形狀碼向量, 。
第三步:
給定所選擇的形狀碼向量 后,找出標(biāo)量的增益值
,其中標(biāo)量
使得重建向量
,與原向量X之間的失真最小。
第四步:
送出形狀碼向量的指標(biāo)及增益的碼給接收端。
第五步:
將解碼所得知形狀碼向量與增益值相乘,即 得到重建向量。
平均值余值VQ平均值/余值VQ(Mean/Residual vector quantization, M/R VQ),是將影像方塊的平均值重復(fù)拷貝做為該方塊內(nèi)所有像素的預(yù)測值,最后產(chǎn)生整個預(yù)測影像。再將原影像減去預(yù)測影像,便形成我們的余值影像。
使用M/R VQ的優(yōu)點(diǎn)是許多的影像向量(由影像方塊所組成)都在不同的平均值附近展現(xiàn)類似的方差,只要將每一個向量的平均值(方塊平均值)在做量化之前予以去除,那么我們所需要用以表示余值向量的碼向量就會比較少。
算法
第一步:
將原影像切割成不重疊的方塊,其大小為n(一般n = 4 x 4 = 16),以形成影像向量,并計(jì)算每一個方塊的平均值。
第二步:
以標(biāo)量量化器編碼平均值(一般使用8個位元)并送出給接收端,也可以用傳統(tǒng)的壓縮法,如DPCM,做平均值的編碼以更進(jìn)一步降低位元率。
第三步:
將該方塊之原影像向量減去量化后之平均值得到平均約等于0的余值。
第四步:
以VQ做余值向量之量化,然后將最接近之余值碼向量的指標(biāo)送給接收端。
第五步:
將平均值加回解碼所得之余值向量得到重建方塊。
內(nèi)插法余值VQ內(nèi)插法/余值VQ(Interpolating/Residual vector quantization, I/R VQ),是借由原影像之次取樣(Subsampling)與內(nèi)插(Interpolating)得到預(yù)測影像,然后再將原影像減去預(yù)測影像得到的余值影像。這個方法基本上和Mean/Residual vector quantization(M/R VQ)很像,只不過在此用的是次取樣值而非平均值,以及內(nèi)插法而不是簡單的重復(fù)拷貝。
使用I/R VQ的優(yōu)點(diǎn)是,其預(yù)測影像會比M/R VQ的重復(fù)拷貝平均值所得的預(yù)測影像還平滑,因此方塊假象(Blocking artifacts)會減少。實(shí)驗(yàn)結(jié)果也顯示,在相同的位元率下,I/R VQ的重建影像品質(zhì)會比M/R VQ的好。
算法
第一步:
以L:1的比例(一般L = 8)為原影像做次取樣得到 的次取樣影像(原影像為分辨率為NxN),每一個次取樣值以標(biāo)量量化器予以量化,并送出給接收端。
第二步:
傳送端與接收端都利用將量化后之次取樣影像以內(nèi)插法擴(kuò)張成NxN的預(yù)測影像,將原影像減去預(yù)設(shè)影像得到傳送端的預(yù)測影像。
第三步:
將余值影像切割成不重疊的方塊以形成向量(一般大小為n = 4 x 4 = 16)。
第四步:
使用VQ為余值向量做量化,并送出最接近的余值碼向量之指標(biāo)給接收端。
第五步:
將解碼所得之余值碼向量加回次取樣/內(nèi)插后之預(yù)測影像得到重建影像。2
本詞條內(nèi)容貢獻(xiàn)者為:
王偉 - 副教授 - 上海交通大學(xué)