版權(quán)歸原作者所有,如有侵權(quán),請聯(lián)系我們

[科普中國]-乘碼

科學(xué)百科
原創(chuàng)
科學(xué)百科為用戶提供權(quán)威科普內(nèi)容,打造知識科普陣地
收藏

乘碼(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é)