亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        嵌入式ARM MPcore平臺JPEG并行編碼的研究

        2016-08-31 09:45:21廖醒宇余水來
        關(guān)鍵詞:線程嵌入式處理器

        廖醒宇,余水來

        (長春理工大學(xué) 電子信息工程學(xué)院,長春 130022)

        ?

        嵌入式ARM MPcore平臺JPEG并行編碼的研究

        廖醒宇,余水來

        (長春理工大學(xué) 電子信息工程學(xué)院,長春 130022)

        針對JPEG編碼這一典型應(yīng)用,結(jié)合ARM同構(gòu)多核架構(gòu)特點(diǎn),基于JFIF數(shù)據(jù)交換格式語法層可并行化特點(diǎn)提出一種JPEG并行編碼策略。實(shí)驗(yàn)結(jié)果表明,該方法可以顯著提升JPEG編碼效率,適用于大分辨率及實(shí)時性要求較高的圖像壓縮應(yīng)用,同時為視頻的并行編碼提供了參考。

        嵌入式平臺;ARM MPcore;JPEG編碼;Exynos-4412

        引 言

        在嵌入式平臺上實(shí)現(xiàn)JPEG圖像編碼,按不同的處理芯片可大體包括: FPGA實(shí)現(xiàn)[1]、DSP實(shí)現(xiàn)[2]、ARM實(shí)現(xiàn)[3]。其中FPGA方案雖然速度較快,但功能單一,DSP處理器雖然具備強(qiáng)大數(shù)字運(yùn)算能力,但對系統(tǒng)的控制能力遠(yuǎn)不如ARM處理器[4]。與此同時,按處理器內(nèi)核數(shù)劃分又可分為單核實(shí)現(xiàn)和多核實(shí)現(xiàn)。相比單核DSP與FPGA方式,采用單核ARM方案在一些實(shí)時性要求高的場合往往達(dá)不到壓縮速率的要求。另外,在嵌入式多核處理器平臺上實(shí)現(xiàn)JPEG編碼算法,目前比較多的方法是采用異構(gòu)多核架構(gòu),即ARM核加DSP核。

        在這種結(jié)構(gòu)中,ARM處理器主要負(fù)責(zé)圖像數(shù)據(jù)讀取、預(yù)處理以及調(diào)度,而DSP主要負(fù)責(zé)大量數(shù)據(jù)運(yùn)算[5]。這種設(shè)計方式,雖然在一定程度上可以提高系統(tǒng)性能,但是成本高,并且沒有實(shí)現(xiàn)真正意義上的并行處理,造成了硬件資源的極大浪費(fèi)[6]。為此,本文針對ARM MPcore同構(gòu)多核架構(gòu),利用JFIF數(shù)據(jù)交換格式語法規(guī)范可并行化特點(diǎn),提出一種JPEG并行編碼策略,以提高編碼效率,滿足更高的實(shí)時性要求。

        1 ARM MPcore同構(gòu)多核處理器

        ARM系列處理器自ARM11起引入了MPcore(Multi-Processor core)架構(gòu),隨后的Cortex系列(如A8、A9、A15等)都支持該多核架構(gòu)。MPcore架構(gòu)作為一種典型的對稱同構(gòu)多核架構(gòu),每個核心都有相同大小的、私有的、由數(shù)據(jù)緩存和指令緩存構(gòu)成的一級緩存(L1 Cache),同時多個處理器通過窺探控制單元(Snoop Control Unit)在一個共享的二級緩存(L2 Cache)上進(jìn)行核間通信。其主要結(jié)構(gòu)示意圖如圖1所示。

        圖1 ARM MPcore處理器結(jié)構(gòu)示意圖

        由于所有處理器采用相同的硬件結(jié)構(gòu),因此其訪問內(nèi)存空間的權(quán)利相同,并且任意進(jìn)程或線程均可以運(yùn)行在不同內(nèi)核上,使得程序的并行化處理成為可能[7]。

        2 JPEG并行編碼原理與實(shí)現(xiàn)

        2.1JPEG壓縮編碼原理簡介

        JPEG編碼標(biāo)準(zhǔn)主要用于靜態(tài)連續(xù)灰度或彩色圖像的壓縮處理。為了適應(yīng)不同應(yīng)用場合要求,其編碼處理有基線順序編碼DCT、累進(jìn)編碼、無損編碼及層次編碼4種操作模式[8]。對于嵌入式系統(tǒng)而言,在考慮運(yùn)算量和資源占用的條件下,多采用最基本的基線順序編碼模式,該模式主要流程如圖2所示。

        圖2 基于DCT編碼的簡化流程圖

        基線順序編碼過程主要由顏色空間轉(zhuǎn)換及采樣(圖2中未給出)、正向DCT、量化、熵編碼4部分組成。由于JPEG文件采用的顏色空間為YCbCr,而大多數(shù)圖像采集設(shè)備及顯示設(shè)備使用的為RGB顏色空間,為此在編碼前需要進(jìn)行顏色空間轉(zhuǎn)換。同時,由于人眼對圖像亮度分量(Y)的敏感度遠(yuǎn)大于色度分量(Cb/Cr),為此在進(jìn)行圖像壓縮時,可對兩種顏色分量采用不同采樣因子進(jìn)行采樣,如每個像素點(diǎn)采樣一個亮度分量值,而每4個像素點(diǎn)只取一個色度分量值,這樣在提高壓縮率的同時也能有效減少計算量。顏色空間轉(zhuǎn)換后,將每個分量的采樣值首先進(jìn)行8×8分塊處理,這些子數(shù)據(jù)塊又稱數(shù)據(jù)單元,然后再將各數(shù)據(jù)單元中的采樣值減去128進(jìn)行平移以作為二維FDCT(Forward Discrete Cosine Transform,正向離散余弦變換)的有效輸入。

        對于一個8×8數(shù)據(jù)單元,經(jīng)FDCT變換后,能量主要集中在左上角幾個系數(shù)中,其中(0,0)處系數(shù)稱為DC系數(shù),而其他63個系數(shù)稱為AC系數(shù)。為了實(shí)現(xiàn)更大程度壓縮,在FDCT之后,需要進(jìn)行量化操作。量化是有損壓縮中圖像質(zhì)量損失的主要原因,其主要通過對每個數(shù)據(jù)單元中的DC系數(shù)和AC系數(shù)進(jìn)行不同比例的壓縮,從而達(dá)到更大程度保留低頻分量、消除高頻分量的目的。量化后的每個數(shù)據(jù)單元中,除左上角幾個系數(shù)外,大多數(shù)AC系數(shù)變?yōu)?。為了增加連續(xù)0的數(shù)目,量化后的每個數(shù)據(jù)單元中的系數(shù)需要進(jìn)行Zig-Zag之字形重排,使得頻率較低的系數(shù)在前,頻率較高系數(shù)(大多為0)在后。隨后對每個數(shù)據(jù)單元中的DC系數(shù)和AC系數(shù)分別進(jìn)行DPCM(Differential Pulse Code Modulation,差分脈沖編碼調(diào)制)編碼及行程長度(Run Length)編碼獲得其中間格式,最后通過Huffman編碼將這些中間格式編碼成最終的JPEG碼流。

        2.2并行編碼原理

        JPEG壓縮標(biāo)準(zhǔn)中給出了3種壓縮的數(shù)據(jù)格式:交換格式(JFIF)、圖像數(shù)據(jù)縮略格式、表規(guī)范縮略格式。為了不失一般性,本文僅討論交換格式。標(biāo)準(zhǔn)的JFIF數(shù)據(jù)交換格式通常為參數(shù)、標(biāo)記以及熵編碼后的數(shù)據(jù)段按一定次序組成的集合,其語法格式如圖3所示。

        圖3 JFIF數(shù)據(jù)交換格式圖

        由圖3可知,JFIF壓縮數(shù)據(jù)格式以一個SOI(Start Of Image)標(biāo)記開始,包含一個幀(Frame),并以一個EOI(End Of Image)標(biāo)記表示結(jié)束。其中一個幀由表指標(biāo)數(shù)據(jù)、幀頭(Frame header)及若干掃描段(對于基線順序編碼模式,有且僅有一個掃描段)組成。而每個掃描段又由表指標(biāo)數(shù)據(jù)、掃描頭(Scan header)、熵編碼段(ECS)、重啟標(biāo)記(RST)組成。而熵編碼段則由若干個經(jīng)熵編碼后獲得的最小編碼單元(MCU)的順序序列組成。所謂最小編碼單元,則根據(jù)采樣因子的不同,由若干個數(shù)據(jù)單元組成。綜上可知,JFIF是一種嵌套的數(shù)據(jù)格式。

        需要指出的是,掃描段中的重啟標(biāo)記RST必須與定義的重啟間隔(DRI)標(biāo)記段(圖中屬于misc段)成對出現(xiàn)。也就是說,若JFIF格式中不存在DRI標(biāo)記段,則Scan中的ECS段是連續(xù)的(未插入RSTm);若JFIF格式中存在DRI標(biāo)記段,則需要在Scan中除最后一個ECS段外,每隔一定數(shù)目的MCU需要插入RSTm標(biāo)記。MCU重啟間隔的數(shù)目在DRI標(biāo)記段中定義,而RSTm標(biāo)記中m的值在0~7 之間進(jìn)行周期循環(huán)。如2.1節(jié)所述,基線順序編碼模式是以數(shù)據(jù)單元為單位依次進(jìn)行FDCT、量化、Zig-Zag排序、DC系數(shù)差分預(yù)測編碼、AC系數(shù)行程長度編碼、中間格式Huffman編碼。其中由于DC系數(shù)采用的是差分預(yù)測編碼,所以對同一個顏色分量來說,除首個數(shù)據(jù)單元外,后一個數(shù)據(jù)單元中編碼的DC系數(shù)實(shí)際上是該DC系數(shù)與前一個數(shù)據(jù)單元中DC系數(shù)的差值。而DRI標(biāo)記段的作用就是定義每隔多少個MCU重新定義新的“首個數(shù)據(jù)單元”,并在最后一個MCU右邊插入一個RSTm,以便解碼時知道在該處之后需要重新進(jìn)行差分解碼。

        為此,在對圖像進(jìn)行編碼時,可將圖像數(shù)據(jù)進(jìn)行按行或按列分割成若干份進(jìn)行并行編碼,再將各編碼為JFIF格式的子圖的公共數(shù)據(jù)部分及熵編碼段數(shù)據(jù)提取,并在兩子圖熵編碼段間插入RST重啟標(biāo)記,最后添加DRI標(biāo)記段并修改各標(biāo)記段中一些參數(shù)信息,即可獲得一張完整的符合JFIF語法規(guī)范的編碼圖像。這種間隔重啟功能擺脫了各子圖數(shù)據(jù)間的耦合性,不僅編碼后的圖像可被標(biāo)準(zhǔn)解碼器解碼,同時由于JFIF格式中采用由一個X’FF字節(jié)與一個非0或X’FF字節(jié)組成的2字節(jié)代碼來表示各個標(biāo)記,為此在合并提取公共數(shù)據(jù)或熵編碼段數(shù)據(jù)時,無需進(jìn)行解碼操作,只需找到相應(yīng)標(biāo)記,便可直接進(jìn)行數(shù)據(jù)提取操作。這些查找、提取操作花費(fèi)的時間遠(yuǎn)遠(yuǎn)小于編碼時間,故采用分割-融合的方式在多核架構(gòu)平臺上進(jìn)行并行編碼以大大提高編碼速度。

        還有觀點(diǎn)認(rèn)為侵犯的客體是公司、企業(yè)人員職務(wù)行為的廉潔性。筆者認(rèn)為該觀點(diǎn)不可取。商業(yè)賄賂犯罪應(yīng)當(dāng)區(qū)別于國家工作人員賄賂犯罪??紤]到市場經(jīng)濟(jì)活動中競爭的特性,還考慮到經(jīng)營者所從事活動的非公務(wù)性,從這兩點(diǎn)出發(fā),因此我們不應(yīng)對普通公司、企業(yè)的人員提出較為苛刻的要求,要求其職務(wù)行為的廉潔性。

        2.3并行編碼實(shí)現(xiàn)

        根據(jù)以上分析,本文提出一種分割-融合的并行編碼策略,其流程圖如圖4所示。

        圖4 并行編碼方案流程圖

        算法首先讀取RGB圖像數(shù)據(jù),并創(chuàng)建n個編碼子線程,隨后在數(shù)據(jù)分割模塊中按列將圖像數(shù)據(jù)分割成n份,并按序分配給各子線程進(jìn)行并行編碼。其中,子線程編碼的標(biāo)準(zhǔn)JPEG編碼器,本文將第三方開源JPEG編碼庫libjpeg-turbo-1.4.1移植到嵌入式平臺上,通過調(diào)用其庫函數(shù)進(jìn)行編碼。libjpeg-turbo作為高度優(yōu)化的開源圖像編解碼庫,相比傳統(tǒng)的libjpeg庫針對ARM Cortex架構(gòu)做了進(jìn)一步優(yōu)化,可獲得更快的圖像編解碼速度。當(dāng)各子線程編碼結(jié)束后便告知主線程通過子圖合并模塊將各子圖進(jìn)行融合,最終獲得一張完整、符合JFIF語法規(guī)范的編碼圖。其中子圖融合模塊是算法實(shí)現(xiàn)的關(guān)鍵部分,其流程圖如圖5所示。

        圖5 子圖融合流程圖

        模塊首先檢測輸入子圖的量化表、熵編碼表、幀頭中的信息,以確保各子圖編碼時采用的量化表及Huffman編碼表等參數(shù)一致;完成檢測后,需要提取各個子圖的公共信息,例如量化表、熵編碼表、各標(biāo)記段中某些特定信息(如長度、采樣精度、水平采樣因子、垂直采樣因子等)。此外,由于幀頭中記錄了圖像的尺寸信息,因此在進(jìn)行融合時需要對其進(jìn)行修改,同時在幀內(nèi)還需插入DRI標(biāo)記段并計算MCU重啟間隔的數(shù)目;最后,提取各子圖熵編碼ECS信息并插入RST重啟標(biāo)記,合成一張符合JFIF數(shù)據(jù)交換格式規(guī)范的JPEG圖像。其中DRI標(biāo)記段中MCU重啟間隔數(shù)目計算規(guī)則如下:假設(shè)各子圖的尺寸大小一致,且寬高分別為w和h,此時各子圖的 MCU個數(shù)相同且與圖像各顏色分量水平和垂直采樣因子有關(guān),設(shè)3個顏色分量的水平和垂直采樣因子的最大值分別為Hmax和Vmax。此時重啟間隔數(shù)目Ri計算公式如下:

        由于libjpeg-turbo默認(rèn)的采樣方式為4∶2∶2,即最大水平和垂直采樣因子均為2,此時

        Ri=w×h/256

        3 并行編碼性能分析

        本文采用迅為iTop-4412嵌入式開發(fā)平臺。該平臺采用Samsung Exynos-4412多核處理器,擁有對稱的4核ARM Cortex-A9 MPcore架構(gòu),各內(nèi)核擁有32 KB一級緩存同時共享1 MB二級緩存。嵌入式平臺采用Ubuntu12.04操作系統(tǒng),交叉工具鏈為arm-none-linux-gnueabi-4.4.1。

        3.2性能測試

        本文采用計算并行度的方式來評價并行編碼的優(yōu)化性能,其表達(dá)式如下所示:

        mp=Tp/T1×100%

        其中,T1表示算法在串行運(yùn)行下的時間,Tp表示算法在并行運(yùn)行下的時間。并行度越小,說明算法并行度越高。

        對一幅分辨率為1280×720的24位RGB彩色圖像,分別采用串行、2個并行編碼子線程、4個并行編碼子線程及6個并行編碼子線程進(jìn)行編碼測試,其中l(wèi)ibjpeg-turbo圖像質(zhì)量因子為80,其結(jié)果如表1所列。

        表1 不同并行編碼子線程數(shù)對應(yīng)編碼時間表

        從表1中可以看出,當(dāng)編碼子線程數(shù)小于等于4時,并行度分別為65.3%和31.2%,高于理論上的50%和25%。這是由于操作系統(tǒng)對線程的調(diào)度及線程間通信以及子圖融合模塊需要耗費(fèi)一定時間。同時,雖然理論上并行編碼子線程數(shù)目越大越好,但由于實(shí)際物理核心數(shù)為4,當(dāng)線程數(shù)過多時,各線程會對處理器產(chǎn)生競爭關(guān)系,導(dǎo)致編碼效率降低。編碼前后的圖片對比如圖6所示,兩者在視覺上變化不大。

        圖6 編碼前后圖片重建后對比圖

        結(jié) 語

        通過對ARM MPcore多核處理器硬件架構(gòu)分析,針對JPEG編碼提出一種并行優(yōu)化策略,操作簡便,具有良好的通用性。

        本文以4核ARM Cortex-A9 MPcore(Exynos-4412)處理器為實(shí)驗(yàn)平臺,結(jié)合libjpeg-turbo開源編解碼庫,對一張720P的24位彩色RGB圖片進(jìn)行編碼并行度測試,結(jié)果表明并行編碼策略具有良好的并行度。同時,當(dāng)并行編碼線程數(shù)小于物理核心數(shù)時,編碼速率與并行線程數(shù)成正比;而當(dāng)并行線程數(shù)超過物理核心數(shù)時,由于過多線程的競爭會導(dǎo)致編碼性能降低。

        總而言之,多媒體技術(shù)一直是嵌入式平臺關(guān)鍵技術(shù)之一,如何充分發(fā)揮嵌入式多核處理器的并行性能,實(shí)現(xiàn)程序并行化處理是值得研究的重要方向。

        [1] 徐潔.基于FPGA的JPEG圖像壓縮系統(tǒng)的實(shí)現(xiàn)[D].大連:大連理工大學(xué),2013.

        [2] 馬亮.基于DSP的JPEG視頻壓縮系統(tǒng)的實(shí)現(xiàn)[J].電子設(shè)計工程,2009,16(9):82-85.

        [3] 張長春,楊浩.基于ARM的JPEG編碼器設(shè)計與實(shí)現(xiàn)[J].微計算機(jī)信息,2010(11):99-101.

        [4] 王戰(zhàn)盟.基于ARM的嵌入式靜態(tài)圖像顯示系統(tǒng)的研究與實(shí)現(xiàn)[D].廣州:廣東工業(yè)大學(xué),2007.

        [5] 程志.基于Omap5910嵌入式平臺的并行JPEG壓縮算法[J].計算機(jī)工程與設(shè)計,2008,29(16):4124-4125.

        [6] 張琦.多核系統(tǒng)中的程序性能優(yōu)化研究[D].合肥:中國科學(xué)技術(shù)大學(xué),2010.

        [7] 楊川,楊斌.嵌入式ARM多核處理器并行化方法的研究[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2014(7):9-12.

        [8] William B Pennebaker,Joan L Mitchell.JPEG:Still Image Data Compression Standard[M].London:Chapman&Hall,1993.

        Research on JPEG Parallel Encoding of Embedded ARM MPcore Platform

        Liao Xingyu,Yu Shuilai

        (School of Electronic and Information Technology,Changchun University of Science and Technology,Changchun 130022,China)

        In this paper,aiming at the typical application of JPEG encoding,a parallel encoding strategy based on JFIF data interchange format syntax combined with the characteristics of the ARM MPcore structure is proposed.The experiment results show that the proposed method can significantly improve the efficiency of JPEG encoding,which is suitable for the high resolution and real-time requirements of image compression applications.It provides a certain reference for the video parallel encoding.

        embedded platform;ARM MPcore;JPEG encoding;Exynos-4412

        TP311.1

        A

        (責(zé)任編輯:薛士然2015-10-26)

        猜你喜歡
        線程嵌入式處理器
        搭建基于Qt的嵌入式開發(fā)平臺
        淺談linux多線程協(xié)作
        嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應(yīng)用
        Imagination的ClearCallTM VoIP應(yīng)用現(xiàn)可支持Cavium的OCTEON? Ⅲ多核處理器
        ADI推出新一代SigmaDSP處理器
        汽車零部件(2014年1期)2014-09-21 11:41:11
        呼嚕處理器
        小青蛙報(2014年1期)2014-03-21 21:29:39
        Altera加入嵌入式視覺聯(lián)盟
        倍福 CX8091嵌入式控制器
        自動化博覽(2014年4期)2014-02-28 22:31:15
        Linux線程實(shí)現(xiàn)技術(shù)研究
        么移動中間件線程池并發(fā)機(jī)制優(yōu)化改進(jìn)
        国产女人精品一区二区三区| 国产小视频网址| 日本一道dvd在线中文字幕 | 免费看男女啪啪的视频网站| 国产一区二区av免费在线观看| 午夜福利av无码一区二区| 尤物99国产成人精品视频| 亚洲天堂中文字幕君一二三四| 国产不卡视频在线观看| 国产综合在线观看| 久久久国产精品麻豆| 扒下语文老师的丝袜美腿| 久久精品国产亚洲av不卡国产| 国产色在线 | 亚洲| 一本大道东京热无码中字 | 国产高潮迭起久久av| 高清精品一区二区三区| 无码视频一区二区三区在线观看| 国产成人精品视频网站| 国产三级精品三级在线专区| 久久精品国产久精国产果冻传媒| 中文字幕av在线一二三区| 国内自拍第一区二区三区| 亚洲一区二区三区精品| 人妻少妇精品无码专区动漫| 亚洲熟妇一区无码| 青青草视频网站免费看| 国产av无码专区亚洲a∨毛片| 久久久久久久久久久国产| 亚洲色www无码| 午夜免费观看日韩一级片| 曰韩亚洲av人人夜夜澡人人爽| 日本国产视频| 亚洲自偷自拍另类第一页| 日产精品99久久久久久| 亚洲精品久久久久久| 精品熟妇av一区二区三区四区| 亚洲视频高清一区二区| 精品人妻人人做人人爽| 免费va国产高清不卡大片| 日本精品久久不卡一区二区|