當前位置:成語大全網 - 漢語詞典 - 遙控顯示的形狀不能流暢,得分100。

遙控顯示的形狀不能流暢,得分100。

隨著計算機和網絡、計算機集群和廣域網的快速發展,人們不再局限於壹臺計算機和壹個地方工作,而是多臺計算機和多個地方同時工作,因此需要遠程控制和遠程集群管理。目前有壹些用軟件實現的遙控器,但是只能控制壹臺機器,並且受到操作系統的限制。本文提出了實現遠程控制的硬件方法。在實現過程中,最重要的部分是視頻信號的傳輸。為了實現遠程控制,必須將視頻信號數據通過網絡傳輸到控制主機,所以要對視頻模擬信號進行數字化處理,即模數轉換。必須保證圖像的清晰度和分辨率,這樣模數轉換後的數據量會很大,還要考慮網絡傳輸能力的問題。當然,局域網內部的傳輸速度很快,但是如果要在互聯網上傳輸,我們就面臨著數據壓縮的問題。

1視頻信號數據壓縮算法原理介紹

數據壓縮的方法有很多種,根據能否完全恢復原始數據分為兩種,即有損壓縮和無損壓縮。有損壓縮,如JEPG壓縮,在將位圖壓縮為JPEG格式時會丟失壹些數據,因此在解碼時無法恢復到原始位圖。無損壓縮以LZ、LZ77、LZW為代表,壓縮前後數據無丟失。

1.1 LZ77壓縮算法

LZ77算法是無損壓縮算法之壹。它利用字典編碼的思想,在字典中尋找最大匹配串來實現壓縮。它具有解壓速度快、內存消耗低的特點,應用廣泛。現在廣泛使用的Gzip也采用了LZ77方案。

LZ77數據編解碼原理的算法如圖1和圖2所示。

1.2 JPEG壓縮算法核心DCT [1]

JPEG壓縮過程如圖3所示。

在JPEG壓縮算法中,通過離散余弦變換去除數據冗余,達到數據壓縮的目的。JPEG采用8×8子塊二維離散余弦變換算法;

DCT變換後矩陣中的某個值,u和v代表DCT變換後矩陣中某個值的坐標位置。Syx表示圖像數據矩陣中的幾個值,y和x表示圖像數據矩陣中某個值的坐標位置。

2實驗環境

實驗中使用了德州儀器公司的DSP產品TMS320C6000的64系列。從64系列DSP的特點來看,適合高速圖像壓縮。這個定點DSP核的電壓約為1.2 V,工作頻率可達500/600/720 MHz,因此每秒可執行4000/4800/5760條指令。該芯片支持要求高性能、高可編程性、低功耗和低價格的應用的快速開發。除了高速內核,還有壹個64通道增強型直接內存訪問(EDMA),可以實現高效的輸入/輸出(I/O)。1 16 b和1 64 b外存接口(EMIF)用於高帶寬內存訪問;3個多通道緩沖串口McBSP;;兩個32 b定時器可以記錄外部事件;1 HPI (16/32 B)主機接口;1通用輸入/輸出(GPIO)引腳,可編程為產生不同的CPU中斷和EDMA事件。此外,還有6416 Turbo Decoder協處理器(TCP)、ViterbiDecoder協處理器、ATM通用測試和操作物理接口(Utopia)。

我們可以使用VLIW超長指令集結構。VLIW是壹種非常適合多媒體應用的結構,例如圖像壓縮處理。它支持指令級並行,這使得利用DSP在單個時鐘周期內執行多個操作成為可能。TI公司提供圖像和視頻編解碼中固有的算法的匯編語言函數庫,如變長解碼、離散余弦變換等,以加快算法的運算速度,縮短數據壓縮時間。

FPGA也可以做JPGE壓縮,但是JPEG壓縮屬於不同層次和不同種類的處理,比如分割和區域特征提取。這些運算有些結構簡單,但需要大量的數據和很高的計算速度。在實時信號處理系統中,低級信號預處理算法處理數據量大,處理速度要求高,但原理框圖如圖4所示(參考TI第三家DSP開發公司Ateme公司的IEK(Imaging Evaluation Kit))。

FPGA和DSP之間、DSP和ARM之間使用FIFO,順序發送和提取。

第壹步:廣告抽樣。FPGA控制采樣的時間和頻率。執行時間為T1。

第二步:FPGA發送數據到FIFO1,(此時AD正在采樣直到壹個圖像)數據滿,同時DSP提取數據(DSP會啟動DMA將數據發送到SDRAM直到壹個圖像)進行T2。

第三步:DSP壓縮JPEG,壓縮後的數據也在同壹個SDRAM中,執行時間為T3。

步驟4: DSP發送數據到FIFO2。當FIFO滿時,ARM從中提取數據並發送執行時間T4。

實驗中的3個關鍵問題

3.1 JPEG代碼優化

JPEG代碼使用版本6,由Thomas G.Lane編寫的JPEG組織提供..如1.2所述,JPEG壓縮的核心是DCT,它占據了大部分的壓縮時間,所以要對其進行優化以提高效率。這裏,TI(德州儀器)公司提供了圖像處理函數庫。本文采用62x系列IMGLIB函數庫進行仿真,調用離散余弦變換函數IMG _ FDCT _ 8x8 () [2]。img _ fdct _ 8x8()函數采用TI公司的DSP匯編語言實現。程序代碼大小為1 216 B,運行壹個8×8DCT只需要208個周期。

比較結果如表1所示(769kB位圖)。

3.2 CCS(code composer studio)仿真的內存問題

圖像處理需要很大的內存空間,包括程序空間和數據空間。壹張位圖大概是1 M,所以模擬時存在內存分配問題。程序中應該有專門的內存管理函數,其他函數要通過他申請內存,用完後再釋放內存。對於DSP片內和片外的實際內存分配,TI的匯編器和鏈接器創建的目標文件采用了COFF (Universal Object File Format,通用目標文件格式),更有利於模塊化編程,為管理代碼段和目標系統內存提供了強大靈活的編程方法。我們可以通過編寫鏈接命令文件(..cmd文件),以便在多次使用相同的鏈接信息時可以調用它。命令文件中使用了Memory和Sections這兩個非常有用的偽指令來指定實際應用中的內存結構和映射地址。內存用於指定目標內存結構,段用於控制段的組成和地址分配。同時要註意,構建選項菜單中Heap和Stacksize的規定壹般比較大,防止內存溢出。

4測試結果

4.1 DSPLZ壓縮測試

壓縮85.1 kB的BMP圖像(較大的圖像需要更長的模擬時間,10 min或更長)DSPCPU時鐘周期為40 ns,25 MHz。壓縮比較結果如表2所示。

4.2 DSP和PIIICPU的JPEG數據壓縮比較

TI(德州儀器)公司提供了DSPTMS320C6x系列的開發仿真軟件CCS 2.10(code composer Studio 2.10)。CCS有很好的C語言開發環境,有C語言編譯器和優化器,有profile control來衡量程序中每個函數的執行時間。在VC環境下,JPEG代碼的運行時間可以通過以下兩個函數來確定:查詢性能計數器(&t)和查詢性能頻率(&f)。這兩個函數是VC只為Windows提供的高精度時間函數,要求計算機在硬件上支持64位高分辨率的性能計數器。

結果如表3所示(壓縮對象:圖像大小769 kB,1024×768)。

註意:在CCS環境下,使用代碼優化後,速度可以提高2倍左右。

5結論

對於TI的TMS320C6000系列DSP來說,JPEG的核心算法——離散余弦變換有固定的函數庫可以有效實現,所以JPEG的壓縮速度非常快,所以遠程控制端的圖像更新速度很容易滿足要求。相比之下,LZ77壓縮算法並不適合用DSP進行壓縮,因為它沒有利用DSP的特性,所以壓縮速度很慢,所以從刷新速度來看,雖然它的壓縮圖像沒有失真,但不適合遠程控制應用。因此,確定了視頻信號壓縮問題的更好的解決方案。