1 / 1

專題名稱 : VLSI Implementation of a JPEG Baseline System

專題名稱 : VLSI Implementation of a JPEG Baseline System. 輔仁大學電子工程系所 學生:劉自清、邱于展、黃雅臻 指導教授:呂學坤教授. 簡介

marin
Download Presentation

專題名稱 : VLSI Implementation of a JPEG Baseline System

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 專題名稱 : VLSI Implementation of a JPEG Baseline System 輔仁大學電子工程系所 學生:劉自清、邱于展、黃雅臻 指導教授:呂學坤教授 簡介 面對現今影像資料量越來越大,但頻寬與儲存空間有限制的情況下,影像壓縮便成了一個很重要的議題。目前已知的影像壓縮方式有MPEG、JPEG…等,而我們所探討的則是 JPEG Baseline 架構之整合。影像壓縮的好處不僅可以減少儲存空間,也可以使得傳輸資料速度變快。基本上影像壓縮的技術分為有無損失性壓縮 (lossless) 和有損失性壓縮 (lossy) ,有損失性壓縮是利用人類視覺對高頻影樣的不敏銳去做影像資料的取捨,進而達到資料量減少卻不影響人眼辨圖的功效。 (2) Category Selection Circuit:為了整體的壓縮比,要運算出每筆 12 位元長度的資料真正有效的位元長度,如此才能將資料長度縮減,減少資料儲存量。 (3) Strip Logic: 主要目的是要用 ZRL 和 EOB 來將大部份為零的資料做消除,以減少資料的儲存量。用 EOB 來表示後面的資料都為零,減少需編碼的資料量。 (4) Huffman Encoder:DC 編碼利用 DPCM 完成的前置作業,再用 Category 來編碼。而 AC 編碼用 RunLength、Category 去做。Huffman Coding 是出現頻率較高的資料用較短的 Code 去完成編碼,以減少資料量。 (5) Data Paker:目的在於節省儲存空間的使用量,達到壓縮的目的。 因每個輸出是 16 位元 ,而霍夫曼編碼又長短不一,故等 16 位元 都填滿有效資料時再行輸出的動作。 JPEG Baseline System 硬體架構模組 以下的圖為 JPEG 以 LSI 為基礎的完整方塊圖,其中有五塊為 JPEG 主要方塊: 1. 取樣器 (Subsampler) 和 Level Shifter 2. RGB-YUV 轉換 3. 離散餘弦轉換 (DCT) 和量化 4. 霍夫曼編碼與標記檔 (Huffman and marker handler) 5. 循序控制器 (Sequence Controller) 而我們所針對要整合的是完整方塊圖中 JPEG Baseline System 的那塊。 利用 Cell Base Design 實作 JPEG Baseline System 之結果 利用如圖三的 Cell Base Design 流程,對整個 JPEG Baseline System 內的每個硬體模組架構做整合,在做完 RTL coding 和模擬後進行合成,即可看到如下圖的各個波形驗證。若波形正確則用 SOC encounter 做 Physical Design ,可由圖四看到實現出來的完成圖。最後則是進行 DRC&LVS 來做出 Layout 圖,如圖五。 首先由右圖看到由空間域輸入的值要先進行減 128 的動作,才能進入DCT內運算。 故第一個值 173-128 = 45。 在量化做完就進入 Entropy Encoder ,利用Huffman Code 編碼將資料量減少。可用表中的資料查得其所對應的 Entropy Code 在第一組為 1101111001001111,與波形圖比對發現兩著值相同,以此類推,可知輸出編碼為正確值。 圖二:JPEG 完整方塊圖。 • 資料經 DCT 轉換後與量化表做量化,並將其結果做霍夫曼編碼的過程即為 JPEG 的基礎系統 (Baseline System),亦為上圖中被粉紅框圈起的區塊。此外由左圖看到我們對 JPEG Baseline System 內部所要整合的模組。 • Sub128:將空間域傳來的影像值變成有正負數兩種,以便用2 的補數法來做運算。 • DCT:將空間域資料轉成頻率域資料以利運算。 • 以下是DCT內部硬體模組簡介: • (1) DRU (Data Reorder Unit):資料 block 以列 (row) 的方式輸入,輸入 DRU 並在 DRU 內完成特定的排列,再輸出給 Matrix-Vector Multiplier 做運算。 四組 block 訊號皆做完後須送出ReadyIn 訊號通知傳下張圖傳入。如右圖,輸入四組 block 訊號,在波形圖裡看到四組 EOB 訊號 到四組 EOB 訊號 (EOB、EOB2、EOB3) 出現後,傳出 ReadyIn 為 high 以告知新資料輸入。由波形圖可知對 JPEG Baseline System 整合完成。 圖一:Baseline 內部模組 • (2) ACF&BDEGMatrix – Vector Multiplication:Matrix-Vector Multiplier 是利用 hardwired multiplier 簡化運算,運算的方法則以固定其中一個運算元的方式將會比較簡單。 • (3) IDRU (Inverse Data Reorder Unit) 將資料再次做排序,並且讓做完兩次DCT的值輸出。 • (4) Transpose Memory:因矩陣乘法中被乘數與乘數之間的特定關係,故需有轉置動作。在儲存時依 row 方向儲存,並在 64 筆資料儲存完後,依 column 方向輸出,即達轉置功效。 • ZigZag:因 DCT 輸出順序是欄方向,且是先四個偶數位置後再四個奇數位置輸出,故設兩個 8 × 8 的暫存器存值。其中一個存滿則由低頻到高頻從左上角到右下角依 Z 字型掃描的順序輸出,而同一時間內另一個則是存入 DCT 傳出的值。兩個暫存器交換使用。 • Quantization:透過除法將值變小,並使得在高頻處的資料變為零,有利資料量減少。 • (1) 量化表 (SQ Table):依據每一個像素的重要性而相對應所要相除的係數表。 • (2) Wallace Algorithm:此運算法將本來要做除法的行為轉而用乘上一個數的倒數來代表,且該運算法是利用兩兩相加的加法器來取代乘法,故有利於運算複雜度的降低。 表一:用 SOC 實現 JPEG Baseline 後所得的各項數據資料 。 圖四:用SOCencounter 做 JPEG Baseline System 的完成圖。 • Entropy Encoder:對量化完的係數做編碼讓資料量減少以達壓縮功效。 • (1) Zero-Runlength Coder:為零的值捨去,只留不為零的值,並計算彼此非零的值之間有幾個零,可達減少儲存空間及資料的所在處。而資料分的種類有 AC 和DC 這兩種 ,而 DC 值要算 DPCM,AC值要做RLC。此電路架構有以下的輸出訊號︰ • DC︰最低頻的資料,為每個 block 的第一個值。 • AC︰除了第一個資料外,其餘都為 AC 訊號。 • ZRL︰表示累積了 16 個零。 • EOB︰表示 block 最後一個資料是為零。 • EB︰表示整個 block 已經從此電路輸出完畢。 圖五:實作出 JPEG Baseline System Layout 線路圖。 結論 製作本專題主要是應用 Cell-BasedDesign 的流程將整個 JPEG Baseline 架構的部分整合完整,並在最後實現出 Layout 圖。目前已完成了JPEG Baseline 的地方,對於實現出整個 JPEG 壓縮晶片仍是我們未來要努力的方向。 圖三:Cell Base Design 流程。 製作日期 2007 年 11 月 

More Related