韓宇 袁素春 張建華 鄭小松 劉聰聰 師勇 張朗 武小棟
(西安空間無(wú)線電技術(shù)研究所,西安 710071)
隨著衛(wèi)星通信技術(shù)的不斷發(fā)展,為了能給用戶(hù)提供更寬的拍攝范圍和更高的圖像質(zhì)量,星載相機(jī)的分辨率和處理速度都在不斷提高。高分七號(hào)衛(wèi)星是一顆高精度民用測(cè)繪衛(wèi)星,衛(wèi)星軌道高度約500 km,用于實(shí)現(xiàn)1∶10 000比例尺測(cè)繪。星上裝載了雙線陣測(cè)繪相機(jī)(包括前視相機(jī)和后視相機(jī)),通過(guò)對(duì)同一地區(qū)不同角度的觀測(cè),獲得地區(qū)的平面、高程、地物屬性等信息,用于測(cè)繪行業(yè)的立體測(cè)圖、資源及環(huán)境遙感應(yīng)用。衛(wèi)星上裝載的載荷較多,輸入原始碼數(shù)據(jù)率高,圖像數(shù)據(jù)保真度要求高,同時(shí)具備靈活的成像和數(shù)據(jù)傳輸能力,是目前對(duì)地觀測(cè)衛(wèi)星數(shù)據(jù)率最高的衛(wèi)星之一。解決原始碼數(shù)據(jù)率與星地下傳通道速率的矛盾,是衛(wèi)星在軌應(yīng)用的重要技術(shù)之一。出色的原始圖像壓縮能力及較小的圖像質(zhì)量損失,也是衡量衛(wèi)星性能的重要技術(shù)指標(biāo)。
JPEG-LS算法主要是對(duì)靜態(tài)連續(xù)色調(diào)圖像進(jìn)行無(wú)損或近無(wú)損壓縮,于1998年正式公布,其核心算法是LOCO-I(Low Complexity Lossless Compression for Images)算法。憑借優(yōu)越的壓縮性能和較小的硬件實(shí)現(xiàn)復(fù)雜度,JPEG-LS無(wú)損壓縮取得了廣泛的應(yīng)用。然而現(xiàn)有文獻(xiàn)中對(duì)JPEG-LS近無(wú)損壓縮模式的硬件實(shí)現(xiàn)研究并不多,在工程應(yīng)用中也仍然主要采用JPEG-LS無(wú)損壓縮模式,其主要原因是JPEG-LS在近無(wú)損壓縮模式下硬件實(shí)現(xiàn)復(fù)雜度增加。在文獻(xiàn)[1]中,需要在編碼過(guò)程中對(duì)輸入圖像進(jìn)行片外緩存,不僅增加了系統(tǒng)功耗,而且占用較大的板級(jí)空間,增加成本;在文獻(xiàn)[2]中,作者提出使用一種新的重建值計(jì)算方法,能夠在一個(gè)時(shí)鐘周期內(nèi)計(jì)算得到像素重建值,但是這種方法改變了JPEG-LS算法標(biāo)準(zhǔn),給編碼性能帶來(lái)下降,而且會(huì)增加解碼的難度;在文獻(xiàn)[3]中提出的硬件結(jié)構(gòu)中前后兩個(gè)相鄰像素的處理相差9個(gè)時(shí)鐘周期,這樣使得編碼效率大大降低。
針對(duì)當(dāng)前研究現(xiàn)狀,文章提出并設(shè)計(jì)了一種多路并行圖像實(shí)時(shí)壓縮系統(tǒng),該系統(tǒng)基于JPEG-LS算法,F(xiàn)PGA作為邏輯控制核心,可以靈活選擇圖像緩存,并結(jié)合算法和硬件特點(diǎn),降低了編碼器的邏輯資源開(kāi)銷(xiāo),實(shí)現(xiàn)了一種全新的JPEG-LS無(wú)損及近無(wú)損壓縮編碼器硬件結(jié)構(gòu),提出了一種新的JPEG-LS動(dòng)態(tài)碼率控制算法,與現(xiàn)有技術(shù)相比,具有編碼效率高,資源占用少,系統(tǒng)功耗低,使用靈活等優(yōu)點(diǎn)。
高分七號(hào)衛(wèi)星配置1臺(tái)數(shù)據(jù)處理器實(shí)現(xiàn)星上圖像壓縮功能,壓縮算法選用靜態(tài)圖像壓縮標(biāo)準(zhǔn)JPEG-LS。
數(shù)據(jù)處理器包含4塊圖像處理單元,完成3片后視CCD與4片前視CCD圖像的壓縮功能。其中,3塊圖像處理單元完成后視全色與后視多光譜圖像壓縮,1塊圖像處理單元完成前視全色圖像壓縮。其中,后視多光譜從圖像處理單元右路FPGA經(jīng)過(guò)板內(nèi)互連線送至圖像處理單元左路FPGA進(jìn)行處理。
數(shù)據(jù)處理器與相機(jī)接口關(guān)系見(jiàn)如圖1所示。
圖1 數(shù)據(jù)處理器與相機(jī)連接關(guān)系示意圖Fig.1 Diagram of connection with camera equipment
圖像處理單元的功能有:接收前視相機(jī)、后視相機(jī)輸出的原始圖像數(shù)據(jù),包括相機(jī)輔助數(shù)據(jù)和圖像數(shù)據(jù),其中相機(jī)輔助數(shù)據(jù)不壓縮,僅對(duì)圖像數(shù)據(jù)進(jìn)行壓縮,將壓縮后的碼流與相應(yīng)的輔助數(shù)據(jù)進(jìn)行復(fù)接,并進(jìn)行壓縮碼流一級(jí)協(xié)議編排。
本文中壓縮系統(tǒng)由Xilinx公司的FPGA作為圖像分塊處理、圖像壓縮、多路并行輪循調(diào)度的核心處理器,外掛存儲(chǔ)器作為壓縮碼流的緩存器(使用外掛存儲(chǔ)器作為存儲(chǔ)單元片內(nèi)乒乓緩存壓縮碼流數(shù)據(jù),以達(dá)到實(shí)時(shí)緩存壓縮碼流的目的),及多個(gè)JPEG-LS壓縮核組成。以后視全色為例,系統(tǒng)的原理框圖見(jiàn)圖2。該系統(tǒng)可以實(shí)現(xiàn)對(duì)單路或多路寬幅圖像的實(shí)時(shí)無(wú)損或近無(wú)損壓縮。
圖2 后視全色壓縮系統(tǒng)FPGA實(shí)現(xiàn)示意圖Fig.2 Diagrammatic sketch of compression system with FPGA
JPEG-LS標(biāo)準(zhǔn)[4-5]是基于HP實(shí)驗(yàn)室提出的LOCO-I算法,該算法具有實(shí)現(xiàn)復(fù)雜度低,保真度高的優(yōu)點(diǎn),易于硬件實(shí)現(xiàn)。而且不需要外部存儲(chǔ)器,有效節(jié)約了成本,因而廣泛應(yīng)用于航空航天、數(shù)字相機(jī)、無(wú)線通訊以及醫(yī)學(xué)成像等領(lǐng)域。JPEG-LS的主要特點(diǎn)是:不對(duì)圖像進(jìn)行變換,只利用預(yù)測(cè)與Golomb編碼。
JPEG-LS靜態(tài)圖像壓縮標(biāo)準(zhǔn)規(guī)定的無(wú)損和近無(wú)損編碼處理基于差分預(yù)測(cè)編碼技術(shù),采用Golomb編碼對(duì)預(yù)測(cè)值與實(shí)際值的誤差進(jìn)行編碼,同時(shí)建立了上下文模型對(duì)編碼參數(shù)進(jìn)行修正,具體的算法實(shí)現(xiàn)過(guò)程如圖3所示。
圖3 JPEG-LS算法流程圖Fig.3 Algorithm flowchart of JPEG-LS
在JPEG-LS標(biāo)準(zhǔn)中,編碼模型基于所謂“上下文”的概念。在上下文建模時(shí),對(duì)每一個(gè)采樣值都要以其相鄰的一小部分采樣為條件。如圖4是當(dāng)前采樣x及其相鄰采樣位置的關(guān)系示意圖。根據(jù)在a、b、c和d采樣的重建值,該上下文首先決定采樣x是否采用正常模式或游長(zhǎng)模式進(jìn)行編碼:
根據(jù)上下文關(guān)系預(yù)計(jì),abs(Di)=0(在無(wú)損編碼時(shí)),或者abs(Di)<= Near(在近無(wú)損編碼時(shí)),那么就選擇游長(zhǎng)模式,反之則選擇正常模式。Near參數(shù)是JPEG-LS算法標(biāo)準(zhǔn)中的失真量化參數(shù)。
圖4 JPEG-LS的上下文模型Fig.4 Context model of JPEG-LS
在正常模式下,如圖5所示,當(dāng)上下文決定后就緊接著一個(gè)預(yù)測(cè)過(guò)程,當(dāng)前采樣點(diǎn)的實(shí)際值與預(yù)測(cè)值之差即為預(yù)測(cè)誤差,得到預(yù)測(cè)誤差之后被一個(gè)由Golomb編碼算法推導(dǎo)的過(guò)程進(jìn)行自適應(yīng)分類(lèi)編碼。
圖5 正常模式編碼Fig.5 Normal mode coding
如圖6,在游長(zhǎng)模式下,編碼器從x開(kāi)始搜索與a的重建值具有相同值的連續(xù)采樣序列(在近無(wú)損編碼時(shí),與a的誤差在指定的界限內(nèi))。該游長(zhǎng)無(wú)論是遇到一個(gè)具有不同值的采樣(在近無(wú)損編碼時(shí),與a的誤差超出指定的界限),或者遇到當(dāng)前行的結(jié)尾都將終止,此時(shí)要接著進(jìn)行游長(zhǎng)終止采樣編碼,對(duì)于前一種結(jié)束方式,先進(jìn)行差值處理,再對(duì)所得的誤差進(jìn)行誤差自適應(yīng)編碼;后一種結(jié)束方式編碼更加簡(jiǎn)單,直接對(duì)游長(zhǎng)進(jìn)行結(jié)束編碼即可。
圖6 游長(zhǎng)編碼Fig.6 Length coding
由于FPGA內(nèi)部邏輯與緩存資源有限,JPEG-LS壓縮核對(duì)輸入圖像的最大尺寸有著嚴(yán)格的限制。相機(jī)后視全色幅寬為6144像元,前視全色幅寬8192像元,多光譜幅寬12 288像元,均大于單個(gè)壓縮核所能處理的極限。而文章所介紹的多個(gè)JPEG-LS壓縮核并行聯(lián)合處理的工作方式可解決寬幅輸入圖像的壓縮問(wèn)題。
對(duì)于單路寬幅輸入圖像,一般按照?qǐng)D像行等分、塊最大的原則進(jìn)行輸入圖像的分塊處理,將分出的小塊圖像分別送給多個(gè)JPEG-LS壓縮核進(jìn)行壓縮處理,再將壓縮后的碼流按照一定的協(xié)議順序進(jìn)行排列依次送給固存、星地通道、解壓縮設(shè)備,解壓縮設(shè)備根據(jù)協(xié)議順序便可將不同JPEG-LS壓縮核壓縮的碼流進(jìn)行拼接,從而恢復(fù)出解壓縮的寬幅圖。
圖像分塊處理的方式是靈活可變的,對(duì)于多路圖像同時(shí)輸入的情況,根據(jù)圖像路數(shù)以及單路圖像的輸入數(shù)據(jù)率可以計(jì)算出輸入的總數(shù)據(jù)率,只要輸入的總數(shù)據(jù)率滿(mǎn)足多個(gè)JPEG-LS壓縮核的總處理能力要求,本系統(tǒng)可以實(shí)時(shí)壓縮處理同時(shí)輸入的多路圖像數(shù)據(jù)。
以后視全色的輸入圖像為例,一幅圖像單元圖像行寬為6144像素,高為64行,按每幀圖像768×64進(jìn)行分塊,一幅圖像可以被分為8塊進(jìn)行壓縮。前視全色與后視多光譜分塊方式與后視全色類(lèi)似,本系統(tǒng)所采用的圖像分塊處理方式如圖7所示。
壓縮系統(tǒng)具備支持多路CCD獨(dú)立工作的能力,相機(jī)不同的CCD進(jìn)行合路壓縮軟件設(shè)計(jì)的關(guān)鍵在于圖像緩存功能前增加了同步化處理模塊,如圖8所示。同步處理模塊采用FPGA內(nèi)部FIFO資源,分別對(duì)圖像數(shù)據(jù)進(jìn)行緩存處理,CCD的時(shí)鐘、門(mén)控、數(shù)據(jù)分別作為FIFO_CCD的輸入時(shí)鐘、寫(xiě)使能、數(shù)據(jù)。FIFO的讀時(shí)鐘采用同一個(gè)本地時(shí)鐘,通過(guò)對(duì)2片CCD的門(mén)控到來(lái)時(shí)機(jī)進(jìn)行比較選擇產(chǎn)生的使能信號(hào),作為兩個(gè)FIFO的共同的讀使能信號(hào)。經(jīng)過(guò)同步處理之后,異步的多路CCD輸入實(shí)現(xiàn)完全同步,輸送給下一級(jí)進(jìn)行處理。
當(dāng)不同路的CCD圖像某一路出現(xiàn)沒(méi)有輸入時(shí),同步處理模塊可以自動(dòng)識(shí)別出該狀態(tài),根據(jù)多路間最大延遲進(jìn)行判斷,當(dāng)超出最大延遲時(shí),判斷為該路無(wú)輸入,此時(shí)同步處理模塊自動(dòng)產(chǎn)生相關(guān)驅(qū)動(dòng)信號(hào),保證正常輸入的一路可以正常工作,提高了軟件的容錯(cuò)性。
圖7 圖像緩存及分幀示意圖Fig. 7 Diagrammatic sketch of image partitioning
圖8 圖像同步處理功能框圖Fig.8 Functional diagram of image synchronization process
本文介紹的基于JPEG-LS算法的圖像壓縮系統(tǒng),為了保證系統(tǒng)的實(shí)時(shí)處理能力,必須調(diào)度多個(gè)JPEG-LS壓縮核并行工作。由于JPEG-LS是基于像素的圖像壓縮算法,當(dāng)圖像數(shù)據(jù)到來(lái)時(shí)以行為周期,在進(jìn)行壓縮前需要對(duì)行進(jìn)行分割處理,把相機(jī)一行分為多個(gè)圖像塊行并進(jìn)入FPGA內(nèi)部緩存,再采用統(tǒng)一的判讀條件進(jìn)行緩存讀取,保證進(jìn)入多個(gè)壓縮核的圖像數(shù)據(jù)完全同步。該方法靈活可變,可以適用于任意不同幅寬的圖像,僅需要通過(guò)輸入像素速率調(diào)整參數(shù)即可。
由于多個(gè)并行的壓縮核同時(shí)工作,壓縮碼流會(huì)以并行輸出的方式進(jìn)入緩存芯片,為了保證碼流格式完整性及協(xié)議編排,需要對(duì)多個(gè)壓縮核的輸出碼流進(jìn)行輪循調(diào)度存入雙倍速率同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器(DDR)緩存芯片。以后視全色為例,每個(gè)CCD采用8路并行的JPEG-LS壓縮核進(jìn)行壓縮,由于圖像不同圖像塊的紋理不同,各壓縮核輸出壓縮碼流的時(shí)機(jī)也完全不同,壓縮碼流輸出后進(jìn)入FPGA內(nèi)部緩存進(jìn)行格式轉(zhuǎn)換,當(dāng)某一路的壓縮碼流滿(mǎn)足寫(xiě)入DDR緩存芯片條件時(shí),產(chǎn)生DDR寫(xiě)請(qǐng)求信號(hào),先入先出(FIFO)收到寫(xiě)請(qǐng)求信號(hào)時(shí),輸出數(shù)據(jù)至DDR,即進(jìn)行DDR寫(xiě)操作。由于FPGA的實(shí)時(shí)計(jì)算特性,保證在任意時(shí)刻均對(duì)8路壓縮核的碼流進(jìn)行實(shí)時(shí)自適應(yīng)判決。該自適應(yīng)輪循的方法相較于順序輪循,可以適用同一幅圖中不同圖像塊紋理差異過(guò)大的情況,且可以更高效的利用DDR接口帶寬,提高系統(tǒng)處理能力。
圖9是多路并行輪循調(diào)度示意圖,所示意的是8個(gè)JPEG-LS壓縮核作為一組進(jìn)行并行輪循調(diào)度的應(yīng)用情況。
圖9 并行輪循調(diào)度示意圖Fig.9 Parallel round robin scheduling diagram
JPEG-LS動(dòng)態(tài)碼率控制算法一般采用的算法是將圖像分為若干個(gè)小碼塊,每壓縮完一個(gè)碼塊,就會(huì)統(tǒng)計(jì)實(shí)際碼率和目標(biāo)碼率之間的偏差,并根據(jù)碼率偏差來(lái)調(diào)節(jié)下一個(gè)碼塊所對(duì)應(yīng)的失真量化參數(shù)Near的值,各并行的壓縮核獨(dú)立進(jìn)行運(yùn)算,使實(shí)際碼率不斷逼近目標(biāo)碼率。
文章壓縮系統(tǒng)采用了一種改進(jìn)的JPEG-LS碼率控制算法:將圖像按壓縮核個(gè)數(shù)進(jìn)行分塊,多路并行的壓縮核每壓縮完一個(gè)碼塊,根據(jù)當(dāng)前碼率偏差統(tǒng)一調(diào)整失真量化參數(shù)Near值,來(lái)控制下一個(gè)碼塊的輸出碼率。本算法的核心有兩點(diǎn):①連續(xù)調(diào)整失真量化參數(shù)Near,每1024行對(duì)碼塊基準(zhǔn)逼近值進(jìn)行更新;②多路并行壓縮核參數(shù)Near統(tǒng)一更新;
對(duì)于一般圖像,壓縮比控制函數(shù)可近似為線性函數(shù),設(shè)當(dāng)前壓縮比為Ccr,壓縮比控制因子為Q,k、b為控制系數(shù),則
Ccr=k×Q+b
(1)
其中,為了使Ccr接近目標(biāo)壓縮比Ocr,我們需要對(duì)Q進(jìn)行動(dòng)態(tài)調(diào)整,i時(shí)刻Q的值為
Q(i)=Q(i-1)+ΔQ(i)
(2)
根據(jù)最陡下降法,ΔQ(i)的模型為
(3)
式中:Lr為學(xué)習(xí)率,為正數(shù);E為當(dāng)前壓縮比Lr與目標(biāo)壓縮比Ocr的偏差量,可以表示為
E=(Ocr-Ccr)2
(4)
將E的函數(shù)代入式(4),可得
(5)
由式(1)可知,Ccr是Q的線性函數(shù),故(5)為
ΔQ(i)=α×(Ocr-Ccr),α>0
(6)
將式(6)代入式(2),可得
Q(i)=Q(i-1)+α×(Ocr-Ccr),α>0
(7)
式(7)即為最終的碼率控制的數(shù)學(xué)模型,在JPEG-LS的碼率控制算法中,控制因子為Nnear,α為步長(zhǎng)系數(shù),因此Near值調(diào)整的數(shù)學(xué)模型為
Nnear(i)=Nnear(i-1)+α×(Ocr-Ccr),α>0
(8)
由式(8)可知,當(dāng)當(dāng)前壓縮比Ccr大于目標(biāo)壓縮比Ocr時(shí),即Ccr-Ocr<0時(shí),Nnear的取值要減小一個(gè)步長(zhǎng)α,反之,當(dāng)當(dāng)前壓縮比Ccr小于目標(biāo)壓縮比Ocr時(shí),即Ccr-Ocr>0時(shí),Nnear的取值要增大一個(gè)步長(zhǎng)α,這一點(diǎn)與實(shí)際意義相符。
一般情況下,對(duì)于連續(xù)掃描的圖像,相鄰的圖像塊之間的紋理具有很強(qiáng)的相關(guān)性,也就是說(shuō),圖像特征很相近,如果要求輸出固定的目標(biāo)碼率,那么對(duì)應(yīng)的調(diào)整因子Near值也必定很相近,因此,碼率調(diào)整的過(guò)程,即是跟蹤搜索與圖像特征相匹配的調(diào)整因子的過(guò)程,當(dāng)算法收斂之后,調(diào)整因子應(yīng)該是在一個(gè)恒定的均值附近上下抖動(dòng),進(jìn)行微小的調(diào)整,相反,如果調(diào)整算法中Near值跳動(dòng)幅值很大,說(shuō)明該算法并沒(méi)有跟蹤上圖像內(nèi)容的變化,即沒(méi)有收斂。因此,從理論上講,碼率控制的調(diào)整步長(zhǎng)不宜太大。
碼率控制算法收斂后,Near值將在很小的范圍內(nèi)進(jìn)行波動(dòng),輸出的碼率也相應(yīng)趨于穩(wěn)定,但是當(dāng)遇到圖像中有紋理突變時(shí),比如一片海域之后出現(xiàn)的海岸城市,由于城市的圖像紋理信息量遠(yuǎn)遠(yuǎn)大于海域,因此對(duì)于紋理處于突變區(qū)的圖像塊,其參數(shù)Near值處于過(guò)渡調(diào)整時(shí)期,導(dǎo)致當(dāng)前圖像塊的輸出壓縮比不能滿(mǎn)足要求值,為了解決這個(gè)問(wèn)題,我們提出了連續(xù)調(diào)整碼率的策略,當(dāng)實(shí)時(shí)壓縮比出現(xiàn)欠調(diào)或過(guò)調(diào)狀態(tài)時(shí),通過(guò)后續(xù)圖像塊的反相補(bǔ)償,使得一段時(shí)間之內(nèi)的平均輸出碼率快速收斂于要求值。
本文所采用的圖像壓縮系統(tǒng)具備多項(xiàng)技術(shù)特點(diǎn),可以適用不同衛(wèi)星不同載荷類(lèi)型。
當(dāng)相機(jī)圖像輸入速率匹配JPEG-LS壓縮核處理能力,但圖像路數(shù)較多或幅寬較寬時(shí),可以采用增加圖像緩存芯片的方案,緩存芯片進(jìn)行圖像塊數(shù)據(jù)緩存及調(diào)度,如圖10(a)所示,該方案以圖像塊為單元送至JPEG-LS壓縮核。
當(dāng)相機(jī)圖像輸入速率匹配JPEG-LS壓縮核處理能力,圖像路數(shù)為單路或圖像幅寬較小時(shí),可以采用FPGA內(nèi)部緩存,節(jié)省器件資源,這是因?yàn)镴PEG-LS是基于像素的壓縮算法,內(nèi)部緩存僅需緩存一行圖像即可向壓縮核輸入數(shù)據(jù),如圖10(b)所示,該方案以圖像行為單元送至JPEG-LS壓縮核。
圖10 圖像緩存機(jī)制Fig.10 Mechanism of image cache storage
該方法靈活可變,適用不同的應(yīng)用場(chǎng)景,可以節(jié)約硬件成本。片內(nèi)緩存機(jī)制邏輯控制簡(jiǎn)單,采用FPGA內(nèi)部資源即可完成圖像緩存功能,去掉了外部芯片控制邏輯,系統(tǒng)資源占用率降低約10%,資源占用對(duì)比情況見(jiàn)表1。
表1 資源占用率對(duì)比Table 1 Resource utilization comparison
JPEG-LS碼率控制問(wèn)題,國(guó)內(nèi)外諸多學(xué)者進(jìn)行了相應(yīng)的研究,并提出了一系列碼率控制算法。其中比較典型的有文獻(xiàn)[6]提出的基于視覺(jué)感知與內(nèi)容自適應(yīng)的碼率控制算法;文獻(xiàn)[7]提出的基于段的碼率控制算法;文獻(xiàn)[8]提出的開(kāi)環(huán)碼率控制算法;文獻(xiàn)[9]提出的高比特率下的JPEG-LS碼率控制算法;文獻(xiàn)[10]提出的JPEG-LS動(dòng)態(tài)碼率控制方法等。這些碼率控制算法,主要是根據(jù)碼率和失真量化參數(shù)Near的關(guān)系進(jìn)行碼率控制。在壓縮過(guò)程中,根據(jù)當(dāng)前碼率偏差實(shí)時(shí)調(diào)節(jié)Near值,從而形成了一種負(fù)反饋的調(diào)節(jié)方式,使得碼率最終趨于收斂。但是這些算法大多沒(méi)有深入分析JPEG-LS圖像壓縮標(biāo)準(zhǔn)中碼率和Near的精確關(guān)系,只是根據(jù)一種近似的線性關(guān)系來(lái)通過(guò)碼率偏差調(diào)節(jié)Near值,導(dǎo)致碼率收斂速度不夠迅速,且沒(méi)有考慮實(shí)際應(yīng)用中多路并行壓縮時(shí)的碼率控制。
本文碼率控制算法,可以根據(jù)當(dāng)前碼率偏差統(tǒng)一調(diào)整失真量化參數(shù)Near值,來(lái)控制下一個(gè)碼塊的輸出碼率,使得更快的逼近目標(biāo)碼率,多路并行壓縮核統(tǒng)一進(jìn)行參數(shù)更新,相較其它算法可以提高圖像視覺(jué)的整體主觀感受,提高整體的圖像質(zhì)量。
圖11是對(duì)一幅11比特遙感圖像進(jìn)行壓縮后的結(jié)果,圖中的紅色曲線表示從開(kāi)始到當(dāng)前行的平均輸出碼率,藍(lán)色曲線表示當(dāng)前塊的在線輸出碼率,從圖11中可以看出,Current CR在算法收斂后在4倍壓縮曲線附近有微小的上下浮動(dòng),但Average CR逼近于4倍壓縮碼率,且輸出穩(wěn)定。
選取不同場(chǎng)景的5幅遙感衛(wèi)星圖像,大小2048×2048,位寬11bit,如圖12所示。分別采用傳統(tǒng)算法與本文改進(jìn)算法進(jìn)行4∶1的目標(biāo)壓縮比測(cè)試,結(jié)果見(jiàn)表2。
圖11 圖像4倍壓縮下的碼率控制結(jié)果Fig.11 Result of rate control under Image 4× Compression
圖12 選取的測(cè)試圖像Fig.12 Selected test image
表2 與傳統(tǒng)算法比較Table 2 Comparison with traditional algorithm
由測(cè)試結(jié)果可見(jiàn),采用本文改進(jìn)的碼率控制算法,在整幅圖紋理復(fù)雜程度不均勻時(shí),提升效果較大,在紋理復(fù)雜程度比較均勻時(shí),提升效果較小。相較于傳統(tǒng)碼率控制算法,相同壓縮比下,恢復(fù)圖像的PSNR提高0.5 dB以上。
本文設(shè)計(jì)的圖像壓縮系統(tǒng),描述了采用多個(gè)JPEG-LS壓縮核并行工作的壓縮編碼系統(tǒng)的設(shè)計(jì)思路和設(shè)計(jì)方法,利用FPGA實(shí)現(xiàn)了基于圖像分塊處理技術(shù)及多路并行輪循調(diào)度技術(shù)的壓縮系統(tǒng)設(shè)計(jì),采用了一種先進(jìn)的碼率控制策略。對(duì)壓縮系統(tǒng)的功能和性能在高分七號(hào)衛(wèi)星上進(jìn)行了測(cè)試,結(jié)果表明:壓縮系統(tǒng)可以很好地解決相機(jī)原始碼數(shù)據(jù)率與星地下傳通道速率不匹配的矛盾,滿(mǎn)足高分七號(hào)衛(wèi)星的實(shí)時(shí)無(wú)損或近無(wú)損壓縮處理的需求,且近無(wú)損壓縮下圖像質(zhì)量客觀參數(shù)PSNR值相較傳統(tǒng)算法提升至少0.5 dB。
壓縮系統(tǒng)的研究是通過(guò)降低數(shù)據(jù)總量解決海量高分遙感數(shù)據(jù)傳輸能力制約的有效途徑,本文提出使用在高分七號(hào)衛(wèi)星上的無(wú)損及近無(wú)損圖像壓縮系統(tǒng),為未來(lái)衛(wèi)星構(gòu)建能滿(mǎn)足寬幅、高分辨率、全色多光譜、多遙感器、海量數(shù)據(jù)的星上高速數(shù)據(jù)傳輸系統(tǒng)打下了堅(jiān)實(shí)的基礎(chǔ)。該系統(tǒng)使用靈活、資源占用小,進(jìn)一步研究的價(jià)值大,在軍事、地質(zhì)、農(nóng)業(yè)、林業(yè)、海洋、環(huán)境監(jiān)測(cè)等領(lǐng)域?qū)?huì)得到廣泛的應(yīng)用。