于2001年1月成為國(guó)際標(biāo)準(zhǔn)的JPEG2000是基于小波變換壓縮技術(shù)的,其最初目的之一是應(yīng)用于家用數(shù)字照相機(jī)。湯姆遜草谷公司與2005年IBC展覽會(huì)上推出了廣播級(jí)高清攝錄一體機(jī)和演播室錄像機(jī)中,JPEG2000成為其壓縮格式之一。該系列產(chǎn)品為Infinity數(shù)字全媒體制作設(shè)備。
全新的高清攝錄一體機(jī)和演播室錄像機(jī)將應(yīng)用于廣播電視節(jié)目制作領(lǐng)域,其中采用了ADI公司的2片ADV202 JPEG2000處理芯片,同時(shí)還配置了其他編解碼芯片,如DV芯片用于處理標(biāo)清信號(hào),MPEG-2芯片用于處理高清和標(biāo)清信號(hào)。
湯姆遜草谷公司的工程師介紹,由于越來(lái)越多的客戶在考慮從標(biāo)清向高清過渡,因而對(duì)湯姆遜草谷公司采用最新的JPEG2000技術(shù)表現(xiàn)出了極大興趣。
一. 什么是JPEG2000壓縮算法
JPEG2000,正式名稱為“ISO 15444”,同樣是由JPEG組織負(fù)責(zé)制定。JPEG全名為Joint Photographic Experts Group,它是一個(gè)在國(guó)際標(biāo)準(zhǔn)組織(ISO)下從事靜態(tài)圖像壓縮標(biāo)準(zhǔn)制定的委員會(huì)。它制定出了第一套國(guó)際靜態(tài)圖像壓縮標(biāo)準(zhǔn):ISO 10918-1,也就是應(yīng)用非常廣泛的JPEG壓縮算法了。
由于JPEG壓縮算法可以提供出色的圖像質(zhì)量,因而獲得了廣泛的應(yīng)用和巨大的成功。目前計(jì)算機(jī)圖像處理大部分都是采用JPEG的壓縮標(biāo)準(zhǔn)。
然而,隨著多媒體應(yīng)用的高速發(fā)展,傳統(tǒng)JPEG壓縮技術(shù)已無(wú)法滿足人們對(duì)多媒體圖像處理的要求。因此,更高壓縮效率以及更多新功能的新一代靜態(tài)圖像壓縮技術(shù)JPEG2000就誕生了。
JPEG2000與傳統(tǒng)JPEG最大的不同,在于它放棄了JPEG所采用的以離散余弦變換(DCT:Discrete Cosine Transform)為主的區(qū)塊編碼方式,而改采以小波轉(zhuǎn)換(Wavelet transform)為主的多解析編碼方式。小波轉(zhuǎn)換的主要目的是要將圖像的頻率成分抽取出來(lái)。
在壓縮率相等的情況下,JPEG2000的影像質(zhì)量明顯優(yōu)于JPEG。實(shí)驗(yàn)證明,當(dāng)采用JPEG壓縮技術(shù)處理的圖像出現(xiàn)嚴(yán)重馬賽克現(xiàn)象,畫面效果難以接受時(shí),用JPEG2000處理的圖像基本看不到有馬賽克,而且物體的輪廓也比較清晰。嚴(yán)重的馬賽克現(xiàn)象是 JPEG算法最大的缺點(diǎn),而JPEG2000采用小波轉(zhuǎn)換算法則避免了這種缺陷。
二. JPEG2000壓縮算法的優(yōu)點(diǎn):
1.JPEG2000作為JPEG升級(jí)版,高壓縮(低碼率)是其目標(biāo),其壓縮率比JPEG高約30%左右;
2.JPEG2000同時(shí)支持有損和無(wú)損壓縮,而JPEG只能支持有損壓縮。因此JPEG2000更適合保存重要資料;
3.JPEG2000能實(shí)現(xiàn)漸進(jìn)傳輸,這是JPEG2000的一個(gè)極其重要的特征。這也就是我們對(duì)GIF格式圖像常說的“漸現(xiàn)”特性。它先傳輸圖像的輪廓,然后逐步傳輸數(shù)據(jù),不斷提高圖像質(zhì)量,讓圖象由朦朧到清晰顯示,而不必是像現(xiàn)在的JPEG一樣,由上到下慢慢顯示;
4.JPEG2000支持所謂的“感興趣區(qū)域”特性,你可以任意指定圖像上你感興趣區(qū)域的壓縮質(zhì)量,還可以選擇指定的部份先解壓縮。這樣我們就可以很方便的突出重點(diǎn)了;
5.碼流中提供容錯(cuò)性有時(shí)是必要的,例如在無(wú)線傳輸誤碼很高的通信信道中傳輸圖像時(shí),沒有容錯(cuò)性是讓人不能接受的。因而,JPEG200也提供了非常好的容錯(cuò)校正性能。
三. JPEG2000的壓縮技術(shù)及算法
JPEG2000編碼器的結(jié)構(gòu)框圖如圖1所示,首先對(duì)源圖像數(shù)據(jù)進(jìn)行離散小波變換,然后對(duì)變換后的小波系數(shù)進(jìn)行量化,接著對(duì)量化后的數(shù)據(jù)熵編碼,最后形成輸出碼流。解碼器是編碼器的逆過程,如圖1所示,首先對(duì)碼流進(jìn)行熵解碼,然后解量化和小波反變換,最后生成重建圖像數(shù)據(jù)。
JPEG2000的處理對(duì)象不是整幅圖像,而是把圖像分成若干圖像片(image tiles),對(duì)每一個(gè)圖像片進(jìn)行獨(dú)立的編解碼操作。術(shù)語(yǔ)“圖像片”(tiling)是指原始圖像被分成互不重疊的矩形塊,對(duì)每一個(gè)圖像片進(jìn)行獨(dú)立的編解碼處理。在對(duì)每個(gè)圖像片進(jìn)行小波變換之前,通過減去一個(gè)相同的數(shù)量值對(duì)所有的圖像片進(jìn)行水平移位,如圖2所示:
整個(gè)JPEG2000的編碼過程可概括如下:
· 把原圖像分解成各個(gè)成分(亮度信號(hào)和色度信號(hào))。
· 把圖像和它的各個(gè)成分分解成矩形圖像片。圖像片是原始圖像和重建圖像的基本處理單元。
· 對(duì)每個(gè)圖像片實(shí)施小波變換。
· 對(duì)分解后的小波系數(shù)進(jìn)行量化并組成矩形的編碼塊(code-block)。
· 對(duì)在編碼塊中的系數(shù)“位平面”熵編碼。
· 為使碼流具有容錯(cuò)性,在碼流中添加相應(yīng)的標(biāo)識(shí)符。
· 可選的文件格式用來(lái)描述圖像和它的各個(gè)成分的意義。
在JPEG2000中,基本的編碼引擎是基于EBCOT(Embedded Block Coding with Optimized Truncation of the embedded bitstreasms)的算法思想。
在EBCOT算法中,每一個(gè)子帶被分解成相對(duì)小的子塊(例如64×64或32×32),這些子塊被稱為“編碼塊”,如圖3所示。對(duì)每一個(gè)編碼塊(Bi)進(jìn)行獨(dú)立編碼產(chǎn)生基本的碼流(Ci),每一個(gè)編碼塊(Bi)產(chǎn)生的碼流可以根據(jù)需要取不同的長(zhǎng)度Li(z)。
設(shè)編碼塊Bi的碼流長(zhǎng)度為L(zhǎng)i(z)、失真為Di(z),最終壓縮數(shù)據(jù)的長(zhǎng)度為L(zhǎng)max,則每一個(gè)編碼塊的截?cái)帱c(diǎn)可以自由選擇,只需最后的碼流長(zhǎng)度Li(z)滿足∑Li(z)≤Lmax即可,如果用每一個(gè)編碼塊的失真之和來(lái)表示重建圖像的失真,則重建圖像的失真為D=∑Di(z)。
截?cái)帱c(diǎn)的選擇可以在每一個(gè)編碼塊壓縮完成后進(jìn)行,所以這種優(yōu)化截?cái)喾桨副环Q為“后壓縮率失真優(yōu)化”(Post-compression Rate-distortion Optimization,PCRD-opt)算法。
最終的壓縮數(shù)據(jù)由各個(gè)編碼塊的碼流Ci組成,稱為“封包流”(pack-stream),最簡(jiǎn)單的封包流形式如圖4所示:
因?yàn)槊恳粋€(gè)編碼塊只影響圖像的一個(gè)區(qū)域,所以此封包形式還具有一定的“空間可伸縮性”,這樣,如果給定一個(gè)空間域上的感興趣,就可以把感興趣所在的編碼塊識(shí)別出來(lái),然后進(jìn)行相應(yīng)的處理。
盡管圖4所示的封包格式中每