• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      Bayer 圖像的無(wú)損壓縮算法及其硬件實(shí)現(xiàn)

      2022-06-15 09:06:36黃文俊李富勇魏錫彥
      電子設(shè)計(jì)工程 2022年11期
      關(guān)鍵詞:編碼方案碼字頻數(shù)

      黃文俊,元 輝,李富勇,魏錫彥

      (1.創(chuàng)潤(rùn)量子科技(上海)有限公司,上海 201203;2.山東大學(xué)控制科學(xué)與工程學(xué)院,山東濟(jì)南 250061;3.中國(guó)電信集團(tuán)系統(tǒng)集成有限責(zé)任公司山東分公司,山東濟(jì)南 250101;4.中國(guó)電信集團(tuán)有限公司山東分公司,山東 濟(jì)南 250101)

      數(shù)碼相機(jī)的成像端采用單片CMOS/CCD 器件采集成像信息。為降低成本,通常在鏡頭與傳感器之間放置色彩濾波陣列(Color Filter Array,CFA),使得每一個(gè)成像單元僅需采集單一色彩信息。Bayer 格式[1-4]是目前應(yīng)用最廣的CFA 像素分布格式,相機(jī)成像前端通常將采集到的Bayer 格式圖像插值為RGB彩色圖像[5-6],之后進(jìn)行各類處理,在該過(guò)程中數(shù)據(jù)量變?yōu)樵瓉?lái)的3 倍。伴隨著各類攝像機(jī)分辨率的不斷提升,針對(duì)RGB 格式的圖像信號(hào)處理(Image Signal Process,ISP)芯片所需的內(nèi)存空間也愈加龐大。Bayer 圖像的壓縮將大大降低成像設(shè)備的成本。由于Bayer 圖像的特性,主流的彩色靜態(tài)圖像無(wú)損編碼方案如JPEG-LS[7-8]與JPEG2000[9]對(duì)其進(jìn)行壓縮的效果十分有限。

      針對(duì)Bayer 圖像的壓縮,許多學(xué)者展開(kāi)了較為深入的研究[10-12]。文獻(xiàn)[10]提出了一種分層預(yù)測(cè)方法,利用不同分量之間的相關(guān)性相互預(yù)測(cè),然后根據(jù)像素周圍的梯度值和殘差大小來(lái)估計(jì)預(yù)測(cè)殘差的概率分布。文獻(xiàn)[11]提出將Bayer 圖像的各分量分別進(jìn)行整數(shù)離散余弦變換,然后使用JPEG2000 對(duì)變換系數(shù)進(jìn)行壓縮,在有損壓縮中取得了優(yōu)良的性能。這些算法旨在提高壓縮性能,復(fù)雜度較高。

      考慮到Bayer 圖像的生成與處理都由成像端硬件完成,過(guò)于復(fù)雜的算法會(huì)消耗更多硬件資源,同時(shí)也將降低系統(tǒng)在極端環(huán)境中的穩(wěn)定性。該文針對(duì)Bayer 格式圖像設(shè)計(jì)了一套適用于硬件實(shí)現(xiàn)的無(wú)損編碼方法。在不使用變換和量化操作的前提下,設(shè)計(jì)圖像分塊預(yù)測(cè)和熵編碼算法,使得Bayer 圖像無(wú)損壓縮性能接近于JPEG2000 標(biāo)準(zhǔn)的性能,并基于FPGA 進(jìn)行實(shí)現(xiàn)和驗(yàn)證。

      1 算法分析

      1.1 編碼結(jié)構(gòu)概述

      Bayer 圖像的格式如圖1 所示,其將紅(R)、綠(G)、藍(lán)(B)3 種色彩分量間隔排列,對(duì)G 分量采取了更高的采樣頻率。

      圖1 Bayer格式圖像

      Bayer 圖像的無(wú)損編碼方案主要包括4 種專門設(shè)計(jì)的預(yù)測(cè)模式和改進(jìn)的自適應(yīng)Huffman 編碼算法,其結(jié)構(gòu)如圖2 所示。首先初始化殘差符號(hào)的統(tǒng)計(jì)分布,存入頻數(shù)表,根據(jù)此頻數(shù)表對(duì)所有符號(hào)進(jìn)行Huffman 編碼,得到碼字表;同時(shí)對(duì)輸入的Bayer 圖像進(jìn)行分塊預(yù)測(cè),選出最佳預(yù)測(cè)模式,將其預(yù)測(cè)殘差進(jìn)行處理,得到待編碼符號(hào)值,計(jì)算符號(hào)值的分布情況并以此更新符號(hào)分布表,與此同時(shí)以符號(hào)值作為索引從碼字表中讀取碼字,至此完成一個(gè)圖像塊的編碼。

      圖2 編碼方案框架

      1.2 圖像分塊策略

      直接對(duì)整幅圖像進(jìn)行預(yù)測(cè)編碼,一方面會(huì)造成系統(tǒng)資源浪費(fèi),另一方面也會(huì)造成預(yù)測(cè)誤差的擴(kuò)散,Bayer 圖像被劃分為若干個(gè)如圖3 所示的M×M子圖像塊,以此作為編碼單元。

      圖3 Bayer圖像塊

      對(duì)于一幅圖像,可以將其劃分為三類區(qū)域:上邊界區(qū)域、左邊界區(qū)域以及中間區(qū)域。上邊界區(qū)域?yàn)閳D像上邊緣的所有圖像塊,左邊界區(qū)域?yàn)閳D像左邊緣除去與上邊界重合的所有圖像塊,如圖4 所示,每個(gè)區(qū)域的尺寸都是圖像塊的整數(shù)倍。

      在圖4 所示的圖像塊中,Pi,j(0 ≤i≤M-1,0 ≤j≤M-1)表示圖像塊第i行、j列的像素灰度值。P′i,j表示Pi,j的左鄰近圖像塊中的同色度像素值,P″i,j表示Pi,j的上鄰近圖像塊中的同色度像素值,i,j為Pi,j的預(yù)測(cè)值。考慮不同圖像的紋理特性,該文采用32×32和16×16兩種尺寸的分塊策略,分別記為Size A與Size B。

      圖4 圖像區(qū)域劃分

      1.3 預(yù)測(cè)模式

      該文參考JPEG-LS 標(biāo)準(zhǔn)中使用的DPCM 預(yù)測(cè)模型,針對(duì)Bayer 圖像的特征,提出4 種跨像素預(yù)測(cè)模式,如圖5 所示,分別為垂直跨像素預(yù)測(cè)(模式0)、水平跨像素預(yù)測(cè)(模式1)、水平-垂直跨像素預(yù)測(cè)(模式2)、斜向跨像素預(yù)測(cè)(模式3),其中Xn為待預(yù)測(cè)像素,Pn為其預(yù)測(cè)值。

      圖5 4種跨像素預(yù)測(cè)模式

      若像素位于圖像塊上邊緣區(qū)域或者左邊緣區(qū)域,需要參照與之相鄰的圖像塊的同色度像素值來(lái)進(jìn)行預(yù)測(cè),預(yù)測(cè)方式如圖5(b)所示;若像素位于圖像塊的中間區(qū)域,則可以利用當(dāng)前塊內(nèi)與之相鄰的同色度像素值來(lái)預(yù)測(cè),預(yù)測(cè)方式如圖5(a)所示。

      4 種跨像素預(yù)測(cè)模式的具體執(zhí)行方法如表1 所示。處于圖像上邊界和左邊界區(qū)域的圖像塊,對(duì)其邊緣處的像素的預(yù)測(cè)方式加以固定。當(dāng)圖像塊位于圖像的整幅圖像的中間區(qū)域時(shí),需要考慮當(dāng)前像素是否位于圖像塊的邊緣,然后使用正確的預(yù)測(cè)規(guī)則。

      表1 圖像各區(qū)域預(yù)測(cè)方式

      對(duì)像素Pi,j進(jìn)行預(yù)測(cè)的過(guò)程記為P(i,j),其預(yù)測(cè)殘差為由于圖像的結(jié)構(gòu)和紋理特性,同一個(gè)圖像塊在不同預(yù)測(cè)模式下的預(yù)測(cè)準(zhǔn)確度往往有很大差別,為了提高整體的預(yù)測(cè)準(zhǔn)確性,需要根據(jù)實(shí)際預(yù)測(cè)結(jié)果選用一個(gè)最準(zhǔn)確的預(yù)測(cè)模式??紤]到系統(tǒng)延時(shí)和資源消耗,該文采用真實(shí)值與預(yù)測(cè)值的絕對(duì)差和(Sum of Absolute Difference,SAD)來(lái)評(píng)判各種預(yù)測(cè)模式的準(zhǔn)確度。SAD 越小,預(yù)測(cè)準(zhǔn)確度越高。

      為了使解碼端獲知每個(gè)圖像塊所采用的預(yù)測(cè)模式,在碼流中需要額外增加2 bit 的頭信息,用以記錄預(yù)測(cè)模式。

      1.4 自適應(yīng)Huffman編碼算法

      Huffman 編碼[13-14]作為一種可變長(zhǎng)編碼,能夠根據(jù)信源中各符號(hào)出現(xiàn)的概率來(lái)分配碼字長(zhǎng)度。通過(guò)構(gòu)建Huffman 樹(shù),給出現(xiàn)概率高的符號(hào)分配較短的碼字。在離散無(wú)記憶信源條件下,其編碼結(jié)果接近于信源熵。傳統(tǒng)的Huffman 編碼需要遍歷編碼信息以獲取所有符號(hào)出現(xiàn)的概率,但是存儲(chǔ)和傳輸這些符號(hào)的概率信息也將消耗大量資源。自適應(yīng)Huffman 編碼[15]可以在數(shù)據(jù)流的傳輸過(guò)程中動(dòng)態(tài)地收集并更新各符號(hào)的概率信息,據(jù)此不斷調(diào)整Huffman 樹(shù),更新各個(gè)符號(hào)的編碼結(jié)果。該算法的缺點(diǎn)在于其時(shí)間復(fù)雜度的倍增,在數(shù)字圖像信號(hào)的編碼過(guò)程中,由于符號(hào)的分布范圍較廣,會(huì)使得該缺點(diǎn)愈加擴(kuò)大。文中圖像編碼方案對(duì)自適應(yīng)Huffman 編碼算法進(jìn)行改進(jìn),將Huffman 樹(shù)的逐字符調(diào)整改為逐塊調(diào)整,以降低圖像編碼時(shí)延。

      預(yù)測(cè)殘差ΔPi,j通常接近于0,大致服從拉普拉斯分布。為提高編碼效率,將ΔPi,j按照式(2)進(jìn)行處理,得到待編碼符號(hào)Si,j(0 ≤S≤255)。

      計(jì)算信源中各符號(hào)的概率會(huì)消耗大量乘法器資源,并且其結(jié)果為浮點(diǎn)型數(shù)據(jù),在取值過(guò)程中的截?cái)鄷?huì)造成準(zhǔn)確度降低。因此使用各符號(hào)的統(tǒng)計(jì)頻數(shù)替代概率,在編碼過(guò)程中同樣根據(jù)頻數(shù)構(gòu)建Huffman樹(shù)。編碼之前,按照式(3)設(shè)置各符號(hào)的初始頻數(shù),對(duì)Si,j的頻數(shù)分布F(S)進(jìn)行初始化:

      式中,k為常數(shù),可設(shè)置為1。

      為保證解碼端構(gòu)造的Huffman 樹(shù)與編碼端完全一致,該文采用Canonical Huffman 編碼算法[16]對(duì)S進(jìn)行編碼,其過(guò)程描述為:

      式中,T(S) 為各符號(hào)的編碼碼字表,H(S,F(S))表示Canonical Huffman 編碼過(guò)程。

      Canonical Huffman 編碼在經(jīng)典Huffman 編碼的基礎(chǔ)上,對(duì)編解碼雙方增加了一些約束信息,其規(guī)定相同長(zhǎng)度的碼字是連續(xù)的,當(dāng)有多個(gè)符號(hào)的編碼長(zhǎng)度相同時(shí),其對(duì)應(yīng)的碼字的數(shù)值大小必須按照符號(hào)值的升序連續(xù)遞增。同時(shí),長(zhǎng)度為i的碼字C(i)可以根據(jù)長(zhǎng)度為i-1 的碼字計(jì)算獲得:

      解碼器在解碼過(guò)程中依據(jù)各符號(hào)出現(xiàn)的頻數(shù)計(jì)算其碼字長(zhǎng)度,然后按照Canonical Huffman 的編碼約定信息可以準(zhǔn)確地重建T(S),完成解碼。在編碼過(guò)程中,圖像塊總數(shù)為N,當(dāng)前編碼塊的序號(hào)為n(0 ≤n<N),其中符號(hào)S的出現(xiàn)次數(shù)為f(S),編碼輸出結(jié)果為O(S),改進(jìn)的自適應(yīng)Huffman 編碼算法的偽代碼如下所示。

      解碼器在啟動(dòng)時(shí)同樣按照式(3)初始化F(S),在解碼的過(guò)程中逐塊更新F(S),因此編碼器無(wú)需向解碼端傳遞額外信息。該方案改進(jìn)了傳統(tǒng)的自適應(yīng)Huffman 編碼,使用已編碼圖像的殘差分布對(duì)當(dāng)前圖像塊的預(yù)測(cè)殘差進(jìn)行編碼。經(jīng)過(guò)逐塊迭代后,殘差分布表將逐漸逼近完整圖像預(yù)測(cè)殘差的分布。

      2 基于FPGA的硬件實(shí)現(xiàn)

      2.1 頂層架構(gòu)

      該文使用Xilinx 公司的xc7z030 型FPGA 對(duì)所提出的無(wú)損編碼方案進(jìn)行實(shí)現(xiàn)與驗(yàn)證,該芯片最高工作頻率為667 MHz,片上RAM 大小為256 kB。開(kāi)發(fā)平臺(tái)選用vivado 2018,編寫verilog 語(yǔ)言以完成模塊設(shè)計(jì)和仿真驗(yàn)證。系統(tǒng)的硬件結(jié)構(gòu)如圖6 所示。

      圖6 系統(tǒng)硬件結(jié)構(gòu)圖

      編碼方案的實(shí)現(xiàn)結(jié)構(gòu)包括預(yù)測(cè)控制模塊、圖像預(yù)測(cè)模塊、編碼控制模塊、Huffman 編碼模塊以及相關(guān)RAM 單元。圖像存儲(chǔ)ROM 為一個(gè)single port ROM 單元,使用20 bit 的地址總線以及8 bit 的數(shù)據(jù)總線,用于存儲(chǔ)測(cè)試使用的Bayer 圖像數(shù)據(jù)。預(yù)測(cè)控制模塊負(fù)責(zé)從ROM 中讀取數(shù)據(jù),送入圖像預(yù)測(cè)模塊,并根據(jù)預(yù)測(cè)結(jié)果選用最佳預(yù)測(cè)模式;圖像預(yù)測(cè)模塊實(shí)現(xiàn)了該文提出的4 種預(yù)測(cè)模式,對(duì)預(yù)測(cè)殘差進(jìn)行處理同時(shí)并行輸出。對(duì)于算法中所用到的符號(hào)頻數(shù)表和符號(hào)碼字表,采用片上的dual port RAM 進(jìn)行存儲(chǔ)。編碼控制模塊用于控制Huffman 編碼模塊的啟動(dòng),同時(shí)從頻數(shù)表存儲(chǔ)RAM 中讀取各符號(hào)的頻數(shù)送入Huffman 編碼模塊,由后者完成編碼,編碼結(jié)果存入碼字表存儲(chǔ)RAM。在下一個(gè)圖像塊的編碼周期中,以殘差符號(hào)值為地址從碼字表存儲(chǔ)RAM 中讀取碼字,即作為該符號(hào)的編碼輸出結(jié)果。

      2.2 圖像預(yù)測(cè)模塊

      圖像預(yù)測(cè)模塊集成了4 種預(yù)測(cè)模式,每一種預(yù)測(cè)模式的結(jié)構(gòu)如圖7 所示。首先從預(yù)測(cè)控制模塊中獲取8 bit 的像素值P以及像素位置坐標(biāo),行坐標(biāo)與列坐標(biāo)各5 bit 寬度。根據(jù)位置坐標(biāo)計(jì)算預(yù)測(cè)像素的位置,從而得到預(yù)測(cè)像素在RAM 中的地址Address[5:0],讀取該值并按照表1 方法計(jì)算預(yù)測(cè)值P′。將P與P′差分即得預(yù)測(cè)殘差ΔP,然后將ΔP進(jìn)行處理得到待編碼符號(hào)S,同時(shí)計(jì)算該模式下ΔP的SAD,將其送入預(yù)測(cè)控制模塊。

      圖7 預(yù)測(cè)模塊結(jié)構(gòu)

      2.3 Huffman編碼模塊

      Huffman 編碼模塊結(jié)構(gòu)如圖8 所示。

      圖8 Huffman編碼模塊結(jié)構(gòu)

      模塊主要分為排序、構(gòu)建二叉樹(shù)、計(jì)算碼字長(zhǎng)度以及分配碼字幾個(gè)部分,實(shí)現(xiàn)了Canonical Huffman編碼算法的流程。首先從符號(hào)頻數(shù)表RAM 中獲取各符號(hào)及其頻數(shù),對(duì)其進(jìn)行排序,然后根據(jù)排序結(jié)果構(gòu)建二叉樹(shù),頻數(shù)越大的符號(hào)深度越小。遍歷該二叉樹(shù),依次計(jì)算出所有符號(hào)的編碼長(zhǎng)度,然后依據(jù)約束信息為各符號(hào)分配碼字,最后將其存入碼字表RAM。該模塊中對(duì)一些子流程同樣采用了流水線結(jié)構(gòu)和并行方式,提高了編碼效率。

      3 性能分析

      該編碼方案的硬件實(shí)現(xiàn)消耗資源其各類資源的消耗情況如表2 所示。

      表2 系統(tǒng)資源消耗

      其中使用查找表(Look Up Table,LUT)2 217 個(gè),觸發(fā)器(Flip Flop,F(xiàn)F)1 008 個(gè),二者的等效門數(shù)約為3 萬(wàn)個(gè);使用塊RAM(Block RAM,BRAM)單元1.50個(gè),消耗內(nèi)存約54 kB。資源消耗遠(yuǎn)低于基于通用處理器的軟件編碼方案。

      為了評(píng)估該方案對(duì)于Bayer 圖像的壓縮性能,將RGB 彩色圖像按照Bayer 格式對(duì)所有像素點(diǎn)進(jìn)行單一分量的降采樣,將得到的如圖9 所示的模擬Bayer圖像作為測(cè)試對(duì)象,測(cè)試圖像的紋理特性各不相同,其分辨率均為1 024×1 024。

      圖9 降采樣后的部分Bayer圖像

      將該文所提出方案與JPEG、zip、rar、7z、JPEG 2000多種主流無(wú)損編碼方案進(jìn)行對(duì)比,評(píng)估參數(shù)為壓縮比,即原圖像的比特?cái)?shù)與壓縮后數(shù)據(jù)比特?cái)?shù)之比,壓縮比越大表明編碼性能越好。比較結(jié)果如表3所示。該文所實(shí)現(xiàn)的Bayer 圖像無(wú)損編碼方案的性能接近于JPEG2000。仿真過(guò)程中目標(biāo)器件的時(shí)鐘頻率為250 MHz,編碼延時(shí)約為40 ms,滿足了實(shí)時(shí)性要求。相比于主流的靜態(tài)圖像編碼方案,該文根據(jù)Bayer圖像特性設(shè)計(jì)的無(wú)損編碼方案,適合于在FPGA平臺(tái)實(shí)現(xiàn),在消耗資源更少,延時(shí)更低的情況下獲得了接近于主流圖像編碼方案的無(wú)損壓縮效果。

      表3 文中方法與主流方法壓縮比

      4 結(jié)論

      該文考慮了攝像頭前端處理系統(tǒng)對(duì)于硬件資源成本的敏感性,設(shè)計(jì)了一種針對(duì)8 位Bayer 圖像的無(wú)損編碼方法,并基于FPGA 進(jìn)行硬件實(shí)現(xiàn)與驗(yàn)證。該方法摒棄了復(fù)雜度較高的變換編碼方法,通過(guò)多種預(yù)測(cè)模式有效降低圖像的空間冗余性;改進(jìn)自適應(yīng)Huffman 編碼算法,降低了時(shí)間復(fù)雜度與空間復(fù)雜度。結(jié)果表明,該方案以較低的資源消耗達(dá)到了接近于JPEG2000 的壓縮性能。

      猜你喜歡
      編碼方案碼字頻數(shù)
      基于功能類別和技術(shù)參數(shù)的刀具編碼方案設(shè)計(jì)
      基于唯一標(biāo)識(shí)的ATP車載設(shè)備編碼方案研究
      放 下
      基于改進(jìn)粒子群算法的毫米波大規(guī)模MIMO混合預(yù)編碼方案
      數(shù)據(jù)鏈系統(tǒng)中軟擴(kuò)頻碼的優(yōu)選及應(yīng)用
      放下
      中考頻數(shù)分布直方圖題型展示
      學(xué)習(xí)制作頻數(shù)分布直方圖三部曲
      頻數(shù)和頻率
      三種預(yù)編碼方案對(duì)OFDM系統(tǒng)峰均比的影響分析
      濮阳县| 阿尔山市| 新余市| 重庆市| 会东县| 平安县| 文山县| 康乐县| 乐东| 石嘴山市| 泽库县| 崇阳县| 花垣县| 梧州市| 遂平县| 郁南县| 牟定县| 腾冲县| 黔江区| 沅陵县| 玉溪市| 禹城市| 洪洞县| 乡宁县| 浪卡子县| 阿巴嘎旗| 林州市| 长顺县| 仙桃市| 镇赉县| 两当县| 钦州市| 普兰县| 策勒县| 内丘县| 平潭县| 高唐县| 新邵县| 射洪县| 岑溪市| 广平县|