日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 嵌入式 > 嵌入式硬件
[導讀] 由于DCT變換在各種編碼標準中要被反復調用,因此,其代碼執(zhí)行效率對實時視頻壓縮起著至關重要的作用。實際應用中,如何實現(xiàn)DCT變換的編碼及如何用硬件電路實現(xiàn)這種編碼變換是使用者關心的問題。本文將利用DSP實現(xiàn)圖像的二維DCT變換并對其實行優(yōu)化。

1 引言

現(xiàn)今的圖像編碼標準,一般采用紋理編碼方式對圖像進行壓縮。這種方式極大的利用了圖像數(shù)據(jù)的空間相關性,使圖像數(shù)據(jù)的壓縮能夠達到很高的比率。它主要是利用數(shù)學變換的方法,使用極少量的離散信號來表示大量的時域連續(xù)信號[1]。常用的數(shù)學變換有很多種,比如離散傅立葉變換DFT、沃爾什變換、哈爾變換、斜變換、離散余弦變換DCT、離散正弦變換DST 、K-L變換等。其中,K-L變換為理想狀態(tài)下的最佳變換方法,但是,由于K-L變換沒有快速的變換算法,而DCT、DFT和DST都具有與K-L變換近似的良好性質,尤其是當一階馬爾可夫過程相鄰元素相關系數(shù)ρ逼近1時,DCT的近似性能遠遠優(yōu)于其它兩者,并且DCT變換有具體的快速算法。因此,圖像壓縮標準中,使用DCT變換來實現(xiàn)紋理編碼。

由于DCT變換在各種編碼標準中要被反復調用,因此,其代碼執(zhí)行效率對實時視頻壓縮起著至關重要的作用。實際應用中,如何實現(xiàn)DCT變換的編碼及如何用硬件電路實現(xiàn)這種編碼變換是使用者關心的問題[。本文將利用DSP實現(xiàn)圖像的二維DCT變換并對其實行優(yōu)化。

2 DCT 變換

1974年Ahmed和Rao首先給出二維DCT 變換的數(shù)學表達式。該表達式適用于N點的DCT定義,但是,由于MPEG編碼一般是把視頻圖像幀或圖片分為場、片、宏塊的結構,一幀圖像一般包括1-2場,每場包括若干片,每片包括若干宏塊,為了方便處理,把每個宏快分成8×8的子塊,即DCT處理的基本單元是8×8的子塊。因此,直接定義實用8點二維DCT變換:

其反變換為:

其中 ,i,j,u,v=0,1…7.

在(1)式中,把變換核分離可得兩次一維DCT變換:


因此,可以使用2次一維DCT變換來實現(xiàn)二維DCT變換。

在該定義被提出以后,很多優(yōu)秀的算法也被提了出來。如Chen,Lee的快速DCT算法等,Loeffler 在1989年提出的實用快速DCT算法共使用11次乘法和29次加法,該算法比起Chen的算法快而且不會發(fā)生Lee算法中的上溢問題,并且該算法被證明已經達到了算法極限,是最優(yōu)秀的算法[4]。該算法如圖1,它把整個DCT過程分成了四級,第一級只有8次加法,第二級分為上下兩塊,上面是偶塊,下面是奇塊,偶塊有4次加法,奇塊有6次乘法和6次加法,第三級上面有5次加法3次乘法,下面有4次加法,第四級僅奇塊有2次乘法和2次加法。由圖1可見,奇數(shù)部分的第四級與第二級的計算構成了連續(xù)的乘法,這種運算實現(xiàn)的時間將增加實際的計算時間。故Loeffler 提出了無乘法串行的并行計算方法,該方法使用了12次乘法和32次加法,這在具有并行的MAC處理器的運算中,并不增加實際的計算時間[1]。本文即采用這種DCT算法實現(xiàn)圖像的壓縮與處理。

3 DSP及其視頻指令

我們使用ADI的ADSP-BF533EZLITE評估板作為實驗平臺,該評估板使用最大內部時鐘600M的BF533處理器。處理器內核包括二個40位的ALU,2個MAC,4個視頻ALU 及一個桶形移位寄存器。這種結構使并行的視頻處理成為可能[5]。實驗的軟件環(huán)境是VisualDSP4.5,該環(huán)境集成了高性能C/C++編譯器,并且具有比普通C/C++編譯器更高效的代碼優(yōu)化功能。

為了進一步提高代碼效率,減少程序運行時間和代碼空間,根據(jù)DSP硬件結構及其指令的特點,對代碼進行匯編優(yōu)化。本文主要注重以下三方面的優(yōu)化。

(1)利用高度并行的算術運算單元和功能強大的地址運算單元的相結合的特點,使用高密度指令代碼進行代碼優(yōu)化。

Blackfin的高度并行結構能在計算的同時進行數(shù)據(jù)的存儲,如R5=R1+R5,R4=R1-R5 ||R1=W[P0+0x4](X);該指令使用兩個加法器同時計算出兩個32位的值R1+R5和R1-R5并把該結果分別存入到R5和R4中,此時占用的是算術運算單元的兩條內部總線一個指令周期時間,由于外部總線空閑,可以把外部Cache中的數(shù)據(jù)送入到R1中。索引尋址和變址尋址相結合的模式使一個指令周期內對不同塊的SDRAM訪問成為了可能,比如上面的指令可以加一條R4=[I2++]仍能正確執(zhí)行,而且不增加指令執(zhí)行時間,地址運算單元DAG還包括兩個用于嵌套零開銷循環(huán)的循環(huán)計數(shù)器以及支持傳輸過程中飽和的限幅的硬件。這些特性使得Blackfin指令操作的效率很高。

(2)利用有利于DCT變換的操作數(shù)位尋址指令來優(yōu)化

Blackfin DSP指令集不僅支持一個周期最多3條指令的并發(fā)執(zhí)行,而且具有大量的像素操作和向量操作指令可以減少算法時間復雜度。位反轉指令對FFT、DCT、DFT等數(shù)學變換的操作數(shù)尋址提供了方便,在變換之前它把輸入數(shù)組數(shù)據(jù)通過位變換的方式變換到易于處理的排列方式,減少了操作數(shù)尋址的時間。

(3)利用IEEE 1180 舍入指令來支持DCT變換

Blackfin的加法指令支持預比例加減法,這種指令執(zhí)行的時間首先通過算術移位將兩個操作數(shù)變大或者變小后再相加減,這在DCT變換中為了保證運算精度,一般會移位后相加減,這條指令大大加快了DCT變換的速度。


4 DSP實現(xiàn)與優(yōu)化

無論是C語言還是匯編語言,程序流程均分為初始化、行變換、列變換和移位輸出四個步驟。行、列變換具有相似性,如果對行變換的結果矩陣轉置,則列變換程序跟行變換一樣。對于匯編而言,初始化部分主要初始化FP指針以指向前一函數(shù)地址,初始化數(shù)據(jù)和指針寄存器以保存返回數(shù)據(jù)等。由于DCT行變和列變換過程相似,且列變換是在行變換操作的基礎上進行的。則可利用多種索引尋址寄存器的靈活組合,把行變換結果直接以轉置方式存儲而不增加實際的存儲時間,這樣行列變換可使用同一代碼循環(huán)兩次實現(xiàn),減小了實際代碼大小。圖2一維 DCT變換的流程圖。

由于DSP的小數(shù)乘法指令是先經過乘法運算后自動調整的,其運算時間比起整數(shù)運算要費時。因此,采用先倍乘CONST_SCALE,然后整數(shù)運算的方式來節(jié)省運算時間。運算的結果需要除以系數(shù)CONST_SCALE,這在程序運行時多帶來了兩次乘法,可以使用左右移位來實現(xiàn)。由于右移位同時會帶來移位誤差,因此在程序中使用了可選擇舍入運算方式。

為了達到更好的精度,在行變換時倍乘后再相加。這可使用Blackfin帶有預加/減比例的加法指令在一個指令周期內實現(xiàn)。

程序簡化行列變換的代碼如下:

B0 = R0;

B3 = R1;

B2 = R2; …

LSETUP (DCT_START, DCT_END) LC0 = P0;

DCT_START:…

LSETUP(ROW_START,ROW_END)LC1=P2;

ROW_START: …

ROW_END:…

B1 = B0;

B0 = B2;

DCT_END:B2 = B1;

程序初始時,R0指向輸入矩陣,R2指向中間矩陣,內層循環(huán)是行變換過程,該過程結束時,中間矩陣存儲著行變換結果的轉置。通過B0和B2的指針交換,把中間矩陣當作輸入進行行變換,這樣,把原輸入矩陣變成了輸出矩陣,并且矩陣中各元素位置不變。

比較式(1)和(3)發(fā)現(xiàn),二維DCT 變換時結果為兩次無理數(shù)sqrt(8)相乘,產生了有理項,因此,在程序里首先多乘一次sqrt(8),然后在兩次DCT 變換結束以后,使用右移3位以達到正常輸出。


圖2 1維行DCT變換流程圖

為了評估優(yōu)化后的效果,在ADSP—BF533 EZLITE平臺和VisualDSP4.5環(huán)境下,當BF533

工作在核心頻率594MHZ時,對一源圖像點陣灰度數(shù)據(jù)進行DCT處理。該灰度圖像為一個8×8的數(shù)組A[6],對A進行二維 DCT 調用,實際運行結果為:C語言代碼為392 bytes,執(zhí)行時間為3.806397 μs;匯編語言代碼為248 bytes,執(zhí)行時間為1.085859μs。顯然,與以C語言為主的二維DCT編碼相比,用匯編語言實現(xiàn)的二維DCT編碼在代碼大小、代碼執(zhí)行時間上均得到了很大改善。

5 結論

本文創(chuàng)新之處在于能根據(jù)ADSP-BF533的結構和指令特點及視頻信號壓縮的實時性要求,使用匯編語言對視頻信號進行了二維DCT編碼及優(yōu)化。實驗證明:在ADSP-BF533硬件平臺和VisualDSP4.5環(huán)境下,當 CPU運行在594MHZ時,使用匯編語言實現(xiàn)的DCT變換比C語言實現(xiàn)的DCT變換執(zhí)行時間減小71.4%,代碼空間減小近30%。以標準CIF 測試序列為例,壓縮一張352×288的圖片能減少4.31ms,可見優(yōu)化效果顯著。

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

隨著在線會議、直播和游戲語音交流的普及,高質量的音頻輸入設備變得越來越重要。為此,邊緣AI和智能音頻專家XMOS攜手其全球首家增值分銷商飛騰云科技,利用其集邊緣AI、DSP、MCU和靈活I/O于一顆芯片的xcore處理器...

關鍵字: AI DSP MCU

2025年8月14日,致力于亞太地區(qū)市場的國際領先半導體元器件分銷商---大聯(lián)大控股宣布,其旗下詮鼎推出基于新突思(Synaptics)SL1680嵌入式處理器的AI疲勞駕駛檢測方案。

關鍵字: AI 嵌入式處理器 Type-C

多DSP集群的實時信號處理系統(tǒng),通信拓撲的優(yōu)化直接決定任務調度效率與系統(tǒng)吞吐量。RapidIO與SRIO作為嵌入式領域的主流互連協(xié)議,其帶寬利用率差異與QoS配置策略對集群性能的影響尤為顯著。以無線基站、雷達陣列等典型應...

關鍵字: DSP 通信拓撲優(yōu)化

隨著5G網絡普及與物聯(lián)網設備爆發(fā)式增長,邊緣計算正從概念驗證走向規(guī)?;渴?。據(jù)IDC預測,2025年全球邊緣數(shù)據(jù)量將占總體數(shù)據(jù)量的50%,這對邊緣節(jié)點的實時處理能力提出嚴苛要求。在此背景下,AI加速器的DSP化趨勢與可重...

關鍵字: AI加速器 DSP

在工業(yè)控制領域,數(shù)字信號處理器(DSP)的性能直接決定了系統(tǒng)的實時控制能力和可靠性。德州儀器(TI)的C2000系列芯片憑借其卓越的采樣、控制和功率管理能力,長期以來在全球工業(yè)控制市場占據(jù)絕對領導地位,廣泛應用于能源、電...

關鍵字: TI C2000 DSP 格見半導體 芯來 RISC-V 工控

2025年7月16日 – 專注于引入新品的全球電子元器件和工業(yè)自動化產品授權代理商貿澤電子 (Mouser Electronics) 持續(xù)供貨Texas Instruments (TI) 的新產品和解決方案。作為一家授權...

關鍵字: 線性穩(wěn)壓器 柵極驅動器 DSP

在當今數(shù)字化浪潮的推動下,數(shù)據(jù)流量呈爆炸式增長,數(shù)據(jù)中心、5G通信網絡以及云計算等領域對高速光通信的需求愈發(fā)迫切。800G光模塊作為高速光通信的關鍵組件,其性能直接影響著整個通信系統(tǒng)的傳輸效率和可靠性。數(shù)字信號處理(DS...

關鍵字: 800G DSP PAM4均衡算法

以氫燃料電池空壓機為研究對象 ,開發(fā)超高速永磁同步電機控制器 ,采用傳統(tǒng)的IGBT主功率器件 ,且為兩電平主回 路結構形式 ,通過改進的V/F控制算法 ,完成了控制器的設計。搭建了試驗平臺進行測試 ,結果表明 ,控制器能...

關鍵字: 超高速永磁同步電機 V/F控制 DSP

醫(yī)療設備智能化進程,數(shù)字信號處理器(DSP)作為核心計算單元,承擔著實時處理生物電信號、醫(yī)學影像等敏感數(shù)據(jù)的重任。然而,隨著醫(yī)療設備與網絡互聯(lián)的深化,數(shù)據(jù)泄露風險顯著增加。美國《健康保險流通與責任法案》(HIPAA)明確...

關鍵字: 醫(yī)療設備 DSP

數(shù)字信號處理器(DSP)作為實時信號處理的核心器件,其架構設計直接決定了運算效率與功耗表現(xiàn)。自20世紀70年代DSP理論誕生以來,其硬件架構經歷了從馮·諾依曼結構到哈佛結構的演進,這一過程體現(xiàn)了對實時性、并行性與存儲帶寬...

關鍵字: DSP 馮·諾依曼
關閉