a一级爱做片免费观看欧美,久久国产一区二区,日本一二三区免费,久草视频手机在线观看

新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > JPEG實時編解碼系統的設計方案,軟硬件實現

JPEG實時編解碼系統的設計方案,軟硬件實現

作者: 時間:2017-06-04 來源:網絡 收藏

本文引用地址:http://www.j9360.com/article/201706/348713.htm

設計概述

本設計背景及意圖:

隨著寬帶Internet以及數字多媒體技術的飛速發展,以Internet為傳輸媒介的視頻會議、可視電話、遠程視頻監控、遠程醫療系統以及數字流媒體等新的視頻應用層出不窮。這些應用都需要對大量的圖像進行網絡傳輸。而由于圖像的信息量巨大,給存儲器的存儲容量、通信干線信道的帶寬,以及計算機的處理速度增加極大的壓力,單純靠增加存儲器容量,提高信道帶寬以及計算機的處理速度等方法來解決這個問題都是不現實的,必須對圖像進行壓縮,去掉圖像信息中的冗余,減少網絡傳輸的信息量。

是國際標準化組織(ISO)和CCITT聯合制定的靜態圖像的壓縮編碼標準,它是目前靜態圖像中壓縮比最高的,正是由于的高壓縮比,使得它在數據量極大的多媒體以及帶寬資源寶貴的網絡程序中有著非常廣泛的應用。

編解碼的速度提高到一定程度,就能夠對動態圖像進行編碼,這種JPEG壓縮編碼稱為M-JPEG(Motion-JPEG)。M-JPEG一個很大的特點就是圖像處理等待時間較少,適合于在例如視頻移動偵測或物體追蹤環境下進行圖像處理。M-JPEG可提供所有實際使用的圖像分辨率,從用于移動電話的QVGA分辨率,到4CIF的全視頻顯示尺寸,甚至是更高的百萬像素分辨率。系統無論在移動或復雜環境情況下都能保證視頻質量,并提供高圖像質量(低壓縮)和低圖像質量(高壓縮)的靈活選擇,同時能真正保證圖像處理的實時性。

本設計適用范圍及用戶:

首先,JPEG應用的領域包括互聯網、彩色傳真、打印、掃描、數字攝像、遙感、移動通信、醫療圖像和電子商務等等,于此同時,JPEG在數碼相機、PDA、手機等手持設備和嵌入式設備中的使用也正方興未艾。

其次,當能實現實時處理JPEG編解碼時(M-JPEG),又可將其用于以Internet為傳輸媒介的視頻會議、可視電話、遠程視頻監控、遠程醫療系統以及數字流媒體等新的視頻領域。

最后,本設計實現的是JPEG系統,因而可用于實時圖像的傳輸和處理,諸如上面提到的遠程監控、可視電話等,往大點說,可將此系統用于重要場所的監控系統中,公司部門之間的視頻會議系統中等需要實時傳輸圖像的一些系統中。

功能概述

本設計的功能:

本設計主要有兩大部分組成:第一部分為圖像編碼服務器端,第二部分為圖像解碼客戶端。對于圖像編碼服務器端可分為:模塊、JPEG編碼模塊、網絡(Internet)傳輸數據模塊(包括壓縮碼流和控制指令傳輸及接收);對于圖像解碼客戶端可分為:JPEG解碼模塊、VGA顯示模塊。在軟硬件結合控制下,實現服務器端進行圖像的采集,通過Internet傳輸碼流,客戶端實時顯示圖像這一功能(當處理速度一定程度時,可以視為實時、同步)。整個組成部分或單元在Spartan®-6平臺外加一定的外設上(例如攝像頭,AD轉換和DA轉換,VGA顯示或者說顯示器等)實現了JPEG系統這一設計理念。

設計結構

整體設計構思:

如圖1,系統主要分為兩大部分組成:圖像編碼服務器端和圖像解碼客戶端,并且服務器端可以規定連接的客戶端數目。


圖1 總體硬件圖示

其中,圖像編碼服務器端又包括圖像的實時采集、JPEG編碼、網絡傳輸數據(傳送至圖像解碼客戶端);圖像解碼客戶端包括JPEG解碼(當然,前提是接收數據后)、VGA顯示圖像;當然,客戶端可以不只一個,可以再服務器端配置客戶端的個數,本設計只用一個客戶端進行說明。

則具體硬件設計圖可如圖2:

圖2 詳細硬件模塊圖

工作原理

1、圖像編碼服務器端:

系統上電后,NiosII對它控制下的圖像實時采集模塊,JPEG編碼模塊以及網絡傳輸模塊進行配置,包括采集來的原始圖像存儲的首地址,圖像處理緩存去首地址和壓縮后圖像存儲首地址等等,然后網絡模塊檢測有沒有客戶端的請求連接,若有,CPU產生線程,建立與客戶端的連接,并通知模塊,當模塊采集完一幀后,向CPU發送中斷,通知對原始圖像進行編碼,一幀圖像編碼完畢后,JPEG壓縮模塊向CPU發送中斷,通知網絡傳傳輸碼流模塊傳送碼流至客戶端。具體流程圖如下:

圖3 圖像編碼服務器端工作流程

2、圖像解碼客戶端:

客戶端與服務器端成對稱關系。當CPU完成一系列配置后,向服務器發送連接請求,如被接受,客戶端接收服務器端的壓縮碼流,一幀數據接收完畢后,發送中斷;解碼模塊接收到CPU發送的信號,開始解碼,解碼一幀完畢后,向CPU發送中斷,顯示模塊接收到一幀恢復后的數據后開始顯示,顯示完一幀,檢測解碼模塊是否有新的圖像,如有,則顯示下一幀圖像,反之,繼續顯示當前圖像(不進行更新)。具體流程如下:

圖3 圖像解碼客戶端工作流程

3、JPEG編碼控制軟件流程

編碼控制軟件流程圖

4、JPEG解碼控制軟件流程

解碼控制軟件流程圖

設計方法

一:圖像采集模塊

利用攝像頭和Analog Device公司的ADV7181模數轉換芯片實現采集模塊(當然,也可以從DVD等類似設備獲得圖像),經過AD轉換實現RGB轉YCbCr(此時要考慮采樣率),完成模擬信號到數字信號轉換。當然,此模塊實現起來可能并非像說的那么簡單。大致流程如下:

圖5 圖像采集模塊流程

二:JPEG編碼部分

流程如下:

圖6 JPEG編碼流程圖

1、將圖像分成8*8數據塊(其實是數字信號數組,即YCbCr(由RGB按照兩者之間關系轉換過來)組成的數組,其中YCbCr比例不同),DCT變換采用8*8變換公式;

2、進行DCT變換(此步驟是設計中最耗硬件資源的,故而也最影響速度),DCT變換算法已經比較成熟,可以有很多文獻供參考,若本人有幸可以參賽,本設計將打算采用兩次的一維DCT變換來實現二維的DCT變換(要實現實時編碼,此部分可能還需改進),具體如下:

公式 1 DCT變換公式

公式1也可以寫成矩陣運算形式F = CfCT其中,C為帶余弦基本函數的變換系數矩陣,CT為C 的轉置,則DCT變換公式可以分解成串聯的兩次一維變換,如下:

公式2

公式3

即寫成矩陣形式為:F=CY,Y=fCT,這里,Y為中間乘積矩陣(Y的列等于f行的一維DCT 輸出) 。因此,在做二維DCT變換時,可以應用一維DCT 變換來計算,即先沿f的行進行一維DCT 計算獲得Y,再沿著Y的轉置的行進行一維DCT運算。這其中就包含一個轉置存儲器。這樣的算法結構如圖

圖 7 2D-DCT算法結構

3、進行量化,量化有對應的量化表(色度和亮度的量化表不同),將DCT變換的結果與對應量化表中的數相除(可以采用乘法代替除法的方式,這樣節省硬件資源);

4、之字形輸出,即將量化后的數據按之字形輸出即可(直流分量在最前,之后是交流分量),經過此步驟后,低頻分量數據靠前排列,高頻分量數據靠后排列;

5、Huffman編碼,此部分有對應的色度和亮度編碼表。此部分也可以根據數值出現的可能性大小來提高編碼速度。

此部分采用Xilinx公司芯片實現,即開發板主芯片。

三:JPEG解碼部分

即為JPEG編碼的逆過程,有對應的逆DCT變換公式,若編碼部分能夠很好的實現,此部分將不是什么難題,在此就不做介紹。
此部分采用Xilinx公司芯片實現,即開發板主芯片。

四:VGA顯示模塊

將JPEG解碼后的數據進行DA轉換,將轉換后的數據傳送至VGA顯示,大致流程如下:

圖 8 VGA顯示模塊示意

五:網絡傳輸數據模塊

采用DAVICOM的DM9000進行網絡通信,根據DM9000硬件結構,編寫好驅動程序,并且轉換成用戶自定義模塊。

設計特點

本設計的特點在于提出一種基于Spartan®-6平臺實現JPEG系統的方案,該方案利用并行處理的特點,同時結合JPEG編解碼算法本身的特點,再加上Xilinx公司Spartan®-6平臺和自備一些外設這些資源,最后在FPGA上應用Xilinx公司的開發板實現整個系統。本設計完成了圖像采集、JPEG編碼、網絡數據傳輸、JPEG解碼和VGA顯示的功能,達到了實現JPEG實時編解碼的功能。當然,條件和時間允許的話還可以對該系統做進一步的開發,做成嵌入式無線數據傳輸系統;也可以進一步研究JPEG編解碼算法,此外,可以將Linux等嵌入式系統移植到本硬件平臺上來,為更高級的應用提供有效的支持。因此,它具有靈活性、實用性和可擴展性等特點,具有一定的市場前景。

總而言之,本設計比較充分的利用了Spartan®-6平臺的資源,完成了JPEG實時編解碼系統目的,可以應用在視頻監控、可視電話、視頻會議等一些需要傳輸圖像的系統中。因為傳輸的是JPEG圖像數據,較之其它格式的圖像數據,在數據量上要少很多,因而可以通過網絡的形式快速傳輸,達到實時的目的。



評論


相關推薦

技術專區

關閉