• 沒有找到結果。

以餘弦轉換相位展開硬體電路為基礎的自動對焦3D數位全像重建系統之研究

N/A
N/A
Protected

Academic year: 2021

Share "以餘弦轉換相位展開硬體電路為基礎的自動對焦3D數位全像重建系統之研究"

Copied!
69
0
0

加載中.... (立即查看全文)

全文

(1)國立臺灣師範大學 資訊工程研究所碩士論文. 指導教授: 黃 文 吉 博士. 以餘弦轉換相位展開硬體電路為基礎的 自動對焦 3D 數位全像重建系統之研究 Autofocusing System for 3D Digital Holography Reconstruction Using DCT-Based Phase Unwrapping Architecture. 研究生: 中華民國. 許書豪. 一百零五. 年. 撰 六. 月.

(2) 中文摘要. 中文摘要 本論文旨在於 FPGA ( Field Programmable Gate Array ) 平台設計實現可自動 對焦 3D 數位全像重建系統之硬體。 本論文之基礎建立於全像術的使用,記錄觀測樣本之相位與振幅資料,並利 用本系統進行 3D 重建。在全像圖顯微鏡等…的應用中,可能於觀測過程中更換 樣本,且需手動調整正確焦距並重建清晰影像,較耗費人力成本及時間,因而突 顯出本系統自動對焦之重要性。 本系統之全像重建流程主要使用菲涅耳轉換( Fresnel Transform )進行不連續 相位重建,並使用 DCT-based 最小均方演算法( DCT-based minimum mean square algorithm )進行相位展開、還原物體之真實連續相位,再根據重建之影像進行數 值評估( Normalized Variance ),以最高清晰度作為重建之焦距依據並進行正確焦 距之重建。此外,本論文也使用諸多 I/O 技術,降低調整焦距時重複使用原始影 像傳送的時間,提升本系統還原更大尺寸全像圖之能力,進而增加系統效能。 本論文之實驗數據與效能分析顯示本系統還原大尺寸全像圖之能力與正確 性。採用以餘弦轉換為基礎的相位展開法則提供更具競爭力的還原時間。 透過本系統於 FPGA 上與運行於個人電腦之 MATLAB 軟體還原程式做兩者 間之比較,可得知本系統於 FPGA 上之還原時間遠低於 MATLAB 軟體還原時間; 另一方面,本系統之功率消耗運行於 FPGA 也遠低於軟體運作於 CPU 上。. 關鍵字:FPGA、自動對焦、全像重建、餘弦轉換. I.

(3) 英文摘要. 英文摘要 This research aims to implement the design of “Autofocusing System for 3D Digital Holography Reconstruction” on FPGA ( Field Programmable Gate Array ). With the use of Holography to record the phase and amplitude of the samples, the system can execute the 3D reconstruction by the hologram. The change of the observed samples during the observation process caused by the application of holography microscope and the need to adjust the focal length manually for clear 3D reconstruction images were time and labour consuming. Therefore, the system highlights the importance of autofocusing. Autofocusing System for 3D Digital Holography Reconstruction includes diffraction computation (Fresnel transform), phase unwrapping (DCT-based minimum mean square algorithm) and numerical evaluation (Normalized Variance). Diffraction computation reconstructs the wrapped phase and phase unwrapping reconstructs the unwrapped phase. Processing numerical evaluation with unwrapped phase demonstrates whether the 3D reconstructed images are in of focus or not. This system uses multiple I/O technology to decrease the time when the system changes focal length and loads the original hologram. The experimental results and performance analysis indicates that the system has the ability to reconstruct large size hologram. And the DCT-based phase unwrapping algorithm provides competitive reconstructing time. Comparing this system implementation on FPGA, MATLAB, CPU and GPU, the system implementation on FPGA has less reconstructing time and lower power consumption.. Keyword: FPGA, Autofocusing, Hologram reconstruction, Discrete cosine transform II.

(4) 誌謝. 誌謝 兩年的碩士論文研究期間,首先要感謝我的指導教授 黃文吉博士。研究過 程中,教授鼓勵我嘗試自己所提出的想法並能提供我豐富的研究資源,並且在遇 到困難時耐心地與我一同討論、修正,並提供建議,進而找出最合適的方法。除 此之外,教授也會與我分享並傳承人生經驗,從教授的言談中,我不僅學習到專 業領域的知識,更領會到更寶貴的人生態度,於這兩年獲益良多,在此致上我最 深的謝意。 此外,實驗室的學長姐們也是我的良師益友,謝謝各位學長姐在自己的研究、 工作領域奮鬥之餘,還能聽取我的問題,並與我一同設法解決。也分享自己在業 界之所學、所看、所聞,以及開發過程中一些技術性的技巧,而我也從中累積經 驗,並避免可能發生的錯誤,期望自己透過學長姐們分享的相關專業知識,能在 畢業後快速且順利地與未來工作型態接軌,並盡可能地奉獻自己所學給需要的人, 在此謝謝我的良師益友,學長姐們。 最後,我要謝謝我的家人們,謝謝他們在我碩士期間,給予我滿滿支持與鼓 勵,即便他們在專業的知識領域上無法參與我的研究,但家人們的關心是我研究 遇到困難時最大的助力,也因有這些助力,使我能更專注於我的研究中,並完成 碩士論文與口試,順利地畢業,完成碩士學業,在此謝謝我最愛的家人。. III.

(5) 目錄. 目錄 中文摘要..................................................................................................... I 英文摘要................................................................................................... II 誌謝.......................................................................................................... III 目錄.......................................................................................................... IV 附表目錄.................................................................................................. VI 附圖目錄.................................................................................................VII 第一章 緒論 ...............................................................................................1 第一節. 研究背景.................................................................................................... 1. 第二節. 動機與目的................................................................................................ 3. 第三節. 研究方法.................................................................................................... 5. 第四節. 全文架構.................................................................................................... 7. 第二章 基礎理論及技術背景...................................................................8 第一節. 相位重建之基礎理論................................................................................ 8. 第二節. 相位展開之基礎理論.............................................................................. 12. 第三節. 自動對焦之基礎理論.............................................................................. 15. 第四節. FPGA 與 SoPC 系統整合設計 ............................................................... 18. 第三章 系統架構 .....................................................................................21 第一節. 整體系統架構.......................................................................................... 21 IV.

(6) 目錄. 第二節. 相位展開電路.......................................................................................... 23. 第一項. 拉普拉斯運算單元.............................................................................. 23. 第二項. 離散餘弦轉換單元.............................................................................. 26. 第三項. 頻率域運算單元.................................................................................. 29. 第四項. 離散餘弦反轉換單元.......................................................................... 30. 第五項. 控制器與內建記憶體.......................................................................... 32. 第三節. 繞射計算電路.......................................................................................... 36. 第四節. 評估運算電路.......................................................................................... 37. 第五節. 自動對焦資料流程.................................................................................. 38. 第四章 實驗數據與效能分析.................................................................40 第一節. 開發平台與實驗環境設定...................................................................... 40. 第二節. 實驗數據呈現與討論.............................................................................. 42. 第五章 結論 .............................................................................................58 參考文獻...................................................................................................59. V.

(7) 附表目錄. 附表目錄 表 1. 1 FPGA 與軟體運作於 CPU 與 GPU 之特性比較 ............................................ 3 表 2. 1 NoC 與 SoC 之比較 ...................................................................................... 20 表 3. 1 相位展開各硬體單元估計時間..................................................................... 32 表 4. 1 Altera Stratix® V GX FPGA (5SGXEA7N2F45C2)詳細規格 ...................... 41 表 4. 2 本系統分別於硬體與軟體之實驗環境......................................................... 41 表 4. 3 各單元資源消耗複雜度................................................................................. 42 表 4. 4 相位展開單元平行運作之各硬體單元資源消耗.......................................... 43 表 4. 5 相位展開單元平行運作之硬體資源消耗比率............................................. 44 表 4. 6 相位展開單元循序運作之各硬體單元資源消耗.......................................... 45 表 4. 7 相位展開單元循序運作之硬體資源消耗比率.............................................. 45 表 4. 8 相位展開單元循序運作之各硬體單元執行時間.......................................... 46 表 4. 9 相位展開單元平行運作之各硬體單元執行時間......................................... 46 表 4. 10 相位展開單元之執行時間與產出量........................................................... 47 表 4. 11 相位展開之執行時間比較 ............................................................................ 48 表 4. 12 相位展開之功率消耗比較........................................................................... 49 表 4. 13 自動對焦數位全像重建系統各單元執行時間............................................ 50 表 4. 14SDRAM 至 On-Chip Memory 傳輸方法....................................................... 50 表 4. 15 自動對焦重建使用細胞自動機與 DCT-based 最小均方演算法之執行時間 ...................................................................................................................................... 57 表 4. 16 本自動對焦重建系統於硬體與軟體之執行時間........................................ 57. VI.

(8) 附圖目錄. 附圖目錄 圖 2. 1 自動對焦重建系統之流程圖 ................................................................... 17 圖 2. 2 SoC-P2P ................................................................................................. 19 圖 2. 3 SoC-Shared bus ...................................................................................... 19 圖 2. 4 NoC 系統架構 ......................................................................................... 20 圖 3. 1 自動對焦 3D 數位全像重建系統架構圖 ............................................... 21 圖 3. 2 Hologram Reconstruction System 各硬體單元........................................ 22 圖 3. 3 相位展開電路架構 .................................................................................. 23 圖 3. 4 拉普拉斯運算電路架構 .......................................................................... 24 圖 3. 5 相位摺疊電路架構 .................................................................................. 25 圖 3. 6 離散餘弦轉換電路架構 .......................................................................... 27 圖 3. 7 快速傅立葉轉換流程 .............................................................................. 28 圖 3. 8 頻率域轉換電路架構 .............................................................................. 29 圖 3. 9 離散餘反弦轉換電路架構 ...................................................................... 31 圖 3. 10 DCT-based 最小均方演算法之循序運作流程 ...................................... 32 圖 3. 11 DCT-based 最小均方演算法之平行運作流程 ...................................... 33 圖 3. 12 Phase 1 期間記憶體使用狀態................................................................ 34 圖 3. 13 Phase 2 期間記憶體使用狀態................................................................ 35 圖 3. 14 Phase 3 期間記憶體使用狀態................................................................ 35 圖 3. 15 菲涅耳運算電路架構 ............................................................................ 36 圖 3. 16 評估運算電路架構 ................................................................................ 37 圖 3. 17 計算單元電路架構 ................................................................................. 37 圖 3. 18 由 SGDMA 傳輸資料至 On-Chip Memory.......................................... 38 圖 3. 19 設定焦距並執行菲涅耳轉換與表格建置 ............................................ 38 圖 3. 20 執行相位展開運算 ................................................................................ 39 VII.

(9) 附圖目錄. 圖 3. 21 執行評估單元運算 ................................................................................ 39 圖 4. 1 Altera Stratix® V GX FPGA (5SGXEA7N2F45C2)外觀 ....................... 40 圖 4. 2 micro lens 自動對焦評估結果 ................................................................ 51 圖 4. 3 micro lens 失焦影像-6.95mm................................................................... 52 圖 4. 4micro lens 失焦影像-27.8mm.................................................................... 52 圖 4. 5 micro lens 正確焦距所重建之折疊相位 ................................................. 53 圖 4. 6 micro lens 相位展開之非折疊相位 ......................................................... 53 圖 4. 7 micro lens array 自動對焦評估結果 ....................................................... 54 圖 4. 8 micro lens array 失焦影像-3.425mm ....................................................... 55 圖 4. 9 micro lens array 失焦影像-48.65mm ....................................................... 55 圖 4. 10 micro lens array 正確焦距所重建之折疊相位 ...................................... 56 圖 4. 11 micro lens array 相位展開之非折疊相位 .............................................. 56. VIII.

(10) 第一章 緒論. 第一章 緒論 本章節主要論述本論文的研究背景、研究動機與目的以及研究方法,並大略 說明各章節的主要內容與重要特性。. 第一節. 研究背景. 數 位 全 像 (Digital Holography) [1] 技 術 主 要 目 的 是 利 用 趕 光 耦 合 元 件 (Charged-Coupled Devices, CCDs),並使用光波繞射於所攝物體表面來記錄其相 位與振福的完整資訊,經過光學的繞設計算與相位展開還原物體連續相位即可將 所紀錄的全像圖(Hologram)之光波資訊重建成物體原始 3D 影像。 數位全像術之優點在於能將影像以數位型式進行儲存,因此這項技術被大量 運 用 於 工 業 測 量 與 生 物 醫 學 檢 驗 工 程 等 領 域 。 數 位 全 像 顯 微 鏡 (Digital Holographic Microscopy DHM)即為其中一種測量工具,不僅可用於微、奈米等級 之極小尺度測量;還可運用非侵入式的測量技術之特性,用以避免觀測物體不必 要之損害。此外,商業上的防偽辨識、貨運公司之包裹三維尺寸等皆是全像術之 應用,由此可見,全像術已廣泛使用在生活當中。 為了重建原始的 3D 影像,需經過一套繁瑣的還原過程。首先,對所記錄之 全像圖進行繞設計算進行相位重建後,再進行相位展開還原相位,方可得到原始 3D 影像。 繞設計算相關法則包含菲涅耳轉換、摺積法與角頻譜繞射法等法則 [2],計 算之結果為壓縮在 –π ~ π 之間的不連續相位圖(wrapped phase),相位還原相 1.

(11) 第一章 緒論. 關法則包含 DCT-Based 之最小均方法與細胞自動機等法則,計算還原物體的真 實連續相位。 本論文使用菲涅耳轉換做為繞射計算之法則,菲涅耳轉換僅需進行一次快速 傅立葉轉換(Fast Fourier Transform),相較於摺積法需要進行三次快速傅立葉轉換, 前者比後者降低了更多計算複雜度。另外,相位展開則使用 DCT-based 之最小均 方法,細胞自動機必須經過多次迭代,甚至可能在迭代過程中無法收斂而造成運 算時間過長,而最小均方法只需要一次計算即可還原,降低了大量的運算時間。 全像圖重建成功與否取決於繞射計算過程中全像圖與重建影像之間的焦距。 傳統變更焦距採用人工調整方式並逐一檢視是否於正確焦距成功重建,但此傳統 方式不僅缺乏效率,也無法即時重建 3D 影像。為了解決人工變焦以及即時影像 重建之問題,系統必須具備自動對焦的功能,且需額外的法則判斷影像是否於正 確焦距成功重建。一般而言,於正確焦距重建的影像相較於失焦重建的影像擁有 更大的高頻能量,換而言之,清晰影像之物體邊界與相鄰像素灰階值的差異值或 梯度值較大。目前較常使用於評估影像清晰度的方法大致上分為兩大類,一是計 算影像梯度值(gradient),二是計算影像差異值(differential)。梯度值評估包含 Laplacian、梯度總合計算等 [3] [4];差異值評估包含 Tamura coefficient [5]、 Normalized Variance [6] 、 影 像 強 度 差 異 (amplitude) 計 算 等 。 本 論 文 使 用 的 Normalized Variance 評估法則屬於差異值的計算,此法則並未使用與平方根相關 之運算,可減少計算複雜度及平方根電路的硬體資源消耗。 2.

(12) 第一章 緒論. 第二節. 動機與目的. 功能的實現已不滿足於現今科技發達的環境,而是轉往追求效能的展現;工 作時脈不斷提升,隨之而來的是功率消耗的問題。 以下分為兩點說明在數位全像顯微鏡的應用上面臨之問題。其一,測量過程 中必須更換觀測樣本,或是觀測樣本為活體樣本,此狀況下將無法事先知道其正 確焦距,若數位全像顯微鏡不具備自動對焦之能力,則測量者可能重建失焦之影 像,造成觀測者無法順利觀察樣本。其二為觀測樣本可能因為移動過程或是環境 變化造成觀測樣本的損壞,因此必須花費大量時間與成本來保存觀測樣本。綜合 上述條件,必須設計一套附有自動對焦的全像重建系統,而為了達成自動對焦, 系統需在一段焦距範圍內重複進行全像重建,並評估重建影像之清晰度,再根據 最高清晰度的焦距進行影像重建。此外,為了滿足高效能、低功耗與高可攜性, 本論文採用 FPGA 做為實現平台,並列舉本論文之架構對比軟體運作於 CPU 與 GPU 之優勢如表 1.1 所示。 表 1. 1 FPGA 與軟體運作於 CPU 與 GPU 之特性比較 FPGA. CPU. GPU. 運算速度. 快. 慢. 快. 功率消耗. 低. 高. 高. 可攜帶性. 高. 低. 低. 3.

(13) 第一章 緒論. 本論文所提出之硬體架構有下列優勢: 1.. 高速計算. 2.. 低功率消耗. 3.. 高可攜性. 4.. 自動調整焦距功能. 其他以 FPGA 做為實現平台之自動對焦數位全像重建系統的待改進之處在 於其架構調整焦距時,需等待原始全像圖因重新載入重建系統所花費之大量時間, 且可還原尺寸也較小。此外,諸多相位還原法則僅使用於全像還原,因其使用定 點數進行運算,將發生精確度較低的情況。 本論文架構之設計目的在於提供自動對焦系統協助影像重建,並使用浮點數 進行運算,有效提高全像重建的效率及精確度。此外,加入 I/O 傳輸技術改善因 重覆對焦重新載入原始全像圖所花的時間,並且提高系統重建影像尺寸的能力。 數位全像術的應用也漸漸被導入於行動裝置中,本系統高可攜、低功率消耗之特 性,讓使用者對於即時影像重建擁有更高的便利性及更低的資源消耗。. 4.

(14) 第一章 緒論. 第三節. 研究方法. 本論文之系統設計分為三部分,一是全像圖資料經過菲涅耳轉換電路進行繞 射計算重建不連續相位,二是不連續相位資料經過 DCT-based 最小均方法進行相 位展開重建物體連續相位,三是連續相位資料經過 Normalized Variance 進行評估 值計算。先以不同焦距反覆執行全像圖重建,再依據所記錄之最高評估值進行正 確焦距之影像重建。 相位重建採用菲涅耳轉換電路,其架構可參考文獻 [7],可分為三個部分, 分別為前轉換單元(Pre-transform Unit)、快速傅立葉單元(Fast Fourier Transform Unit)以及後轉換單元(Post-transform Unit)。 相位展開採用 DCT-based 最小均方法為基礎的電路架構,可分為四部分,分 別為拉普拉斯運算單元 (Laplacian Unit)、離散餘弦轉換單元(Discrete Cosine Transform Unit)、頻率域運算(Frequency Operation Unit)及離散餘弦反轉換單元 (Inverse Discrete Cosine Transform Unit)。此法則屬於非迭代運算法則,只需要針 對影像做一次性的運算即可完成影像重建,大量縮減了影像重建時間。 評估值計算採用 Normalized Variance 為基礎的電路架構,賦予系統自動對焦 之功能。其運算過程可分為兩步驟,第一步驟選取重建焦距之範圍,並對範圍內 之所有焦距進行影像重建,第二步驟對於不同焦距所重建之影像進行評估值計算, 再根據評估值計算之最高清晰度得到相對應之正確焦距,進行清晰影像之重建。. 5.

(15) 第一章 緒論. 本論文之測試樣本由國立臺灣師範大學光電科技研究所資訊光電實驗室提 供,藉由實驗室之數位全像顯微鏡所拍攝,再將產生之全像圖作為本論文的輸入 影像進行全像重建。 本論文使用 FPGA 作為系統開發之平台,實際執行計算及測量運算效能,使 用可程式化系統晶片(System on Programmable Chip; SoPC)實現電路設計,SoPC 為 Altera 公司提供之 Qsys 平台所設計,屬於 NoC (Network on Chip)架構,SoPC 系統之組成包含 NIOS Processor、本論文之硬體架構及其他開發板上周邊元件。 此架構提供開發者在設計過程中擁有更高的彈性及便利性,開發者可不斷地修改 並驗證所設計之電路之正確性。 本論文使用 Altera Quartus II 作為開發設計軟體,藉由這套軟體進行效能量 測,包含全像重建之影像清晰度、系統運算時間、電路資源消耗及功率消耗。使 用 NIOS Processor 作為 CPU 來測量影像清晰度以及系統運算時間,系統運算時 間包含菲涅耳轉換、相位展開、評估值運算以及全像圖載入時間。此外,使用 MATLAB 進行交叉驗證,分別將電路以及軟體所重建之影像於 MATLAB 呈現可 變視角的 3D 影像,相互驗證確保重建後影像的正確性。. 6.

(16) 第一章 緒論. 第四節. 全文架構. 本論文共分為五個章節,以下為各章節內容概要:. 第一章 緒論. 研究背景、研究動機與目的、研究方法以及全文架構之說明。. 第二章 基礎理論及技術背景. 使用理論、演算法則以及技術背景之簡介。. 第三章 系統架構. 系統硬體電路架構以及系統運作流程之討論。. 第四章 實驗數據與效能分析. 實驗環境、實驗數據分析以及軟硬體效能之比較。. 第五章 結論. 本論文硬體架構以及實驗結果之總結。. 7.

(17) 第二章 基礎理論及技術背景. 第二章 基礎理論及技術背景 本章節將介紹本論文所使用的基礎理論與技術背景。第一節介紹本架構相位 重建之法則:菲涅耳轉換。第二節介紹本架構相位展開之法則:DCT-based 最小 均方演算法。第三節介紹本架構評估影像清晰度之法則:Normalized Variance 計 算。最後,第四節介紹本架構實做於 FPGA 之技術以及 SoPC 之系統整合設計, 方便讀者對本論文能有初步的了解。. 第一節. 相位重建之基礎理論. 本論文相位重建之流程為對全像圖進行繞射計算,並採用菲涅耳轉換 (Fresnel transform) [7]作為繞射計算之方法,使用數位全像顯微鏡透過 CCDs 裝 置拍攝全像圖,並以數位型式儲存,令此全像圖資訊為 𝜂,焦距為 𝑧,重建影像 以 𝐵 來表示,𝐵 經由菲涅耳轉換計算得到,如公式(2.1.1),其中 𝜆 代表其光源 之波長,( 𝑝 , 𝑞 )及( 𝑟 , 𝑠 )分別代表全像圖與影像平面上的座標。. 𝐵(𝑟, 𝑠) =. −𝑗. 2𝜋. 𝜋. 𝑒 𝑗 𝜆 𝑧 𝑒 𝑗𝜆𝑧(𝑟 𝜆𝑧. 2 +𝑠2 ). ∞. ∞. ∫−∞ ∫−∞ 𝜂(𝑝, 𝑞)𝑒. 𝑗. 𝜋 (𝑝2 +𝑞 2 ) 𝜆𝑧. 2𝜋. 𝑒 −𝑗 𝜆𝑧. (𝑝𝑟+𝑞𝑠). 𝑑𝑝𝑑𝑞. (2.1.1). 由於以全像顯微鏡之 CCDs 所拍攝之全像圖 𝜂 是以離散形式表示,假設顯 微鏡在 x , y 軸方向皆以 ∆𝑓 為採樣週期,共採樣了 𝑁 × 𝑁 個樣點,使菲涅耳 轉換式以離散形式呈現,如公式(2.1.2)。. 𝐵𝑢,𝑣 =. −𝑗 𝜆𝑧. 2𝜋. 𝜋. 2. 𝑒 𝑗 𝜆 𝑧 𝑒 𝑗𝜆𝑧Δ𝑔(𝑢. 2 +𝑣 2 ). 𝜋. 2. 𝑗 Δ𝑓 (𝑥 𝑁−1 ∑𝑁−1 𝑥=0 ∑𝑦=0 [𝜂𝑥,𝑦 𝑒 𝜆𝑧. 8. 2 +𝑦 2 ). 𝑥𝑢 𝑦𝑣. ] 𝑒 −𝑗2𝜋( 𝑁 + 𝑁 ). (2.1.2).

(18) 第二章 基礎理論及技術背景. {𝐵𝑢,𝑣 , 0 ≤ 𝑢, 𝑣 ≤ 𝑁 − 1}為重建影像之數位形式,𝜂𝑥,𝑦 = 𝜂(𝑥Δ𝑓 , 𝑦Δ𝑓 )即代表全像圖 𝜂的第(𝑥, 𝑦)個 sample,其中0 ≤ 𝑥, 𝑦 ≤ 𝑁 − 1,Δ𝑔 則是以𝜆𝑧/𝑁為比例的Δ𝑓 之倒數, 如公式(2.1.3)。 𝜆𝑧. Δ𝑔 = 𝑁Δ. (2.1.3). 𝑓. 於公式(2.1.2)中,與 𝜂𝑥,𝑦 相乘之指數函數依照指數加法定律整理得公式(2.1.4), 並將其重新定義為𝜇,如公式(2.1.5), 𝜋. 2. 𝑒 𝑗𝜆𝑧𝛥𝑓 (𝑥. 2 +𝑦 2 ). 𝜋. 2. 2. 𝜋. 2. = 𝑒 𝑗𝜆𝑧Δ𝑓 (𝑥 ) × 𝑒 𝑗𝜆𝑧Δ𝑓 (𝑦 𝜋. 2. 𝜋. 2. 2. 𝜇𝑥 = 𝑒 𝑗𝜆𝑧Δ𝑓 (𝑥 ) , 𝜇𝑦 = 𝑒 𝑗𝜆𝑧Δ𝑓 (𝑦. 2). 2). (2.1.4). (2.1.5). 公式(2.1.5)與全像圖資訊𝜂𝑥,𝑦 相乘後得到函數𝜌𝑥,𝑦,化簡如公式(2.1.6)。𝜌𝑥,𝑦 為一週 期函數,因此可以將其做傅立葉轉換後得到函數𝜏𝑢,𝑣,如公式(2.1.7)。本論文中以 快速傅立葉轉換的架構來計算𝜏𝑢,𝑣 ,相關的計算電路將於第三章系統架構中詳細 討論。. 𝜌𝑥,𝑦 = 𝜂𝑥,𝑦 × 𝜇𝑥 × 𝜇𝑦. (2.1.6) 𝑥𝑢 𝑦𝑛. −𝑗2𝜋( + ) 𝑁−1 𝑁 𝑁 𝜏𝑢,𝑣 = ∑𝑁−1 𝑥=0 ∑𝑦=0 𝜌𝑥,𝑦 𝑒. (2.1.7). 由於菲涅耳轉換式中𝜆為固定數值、𝑧也假設為已知焦距,因此可定義一定值𝛼, 將其化簡為公式(2.1.8), 𝛼=. −𝑗. 2𝜋. 𝑒𝑗 𝜆 𝑧 𝜆𝑧. 9. (2.1.8).

(19) 第二章 基礎理論及技術背景. 另外,與𝜏𝑢,𝑣 相乘之指數函數也可仿公式(2.1.5)定義為𝜔𝑢 及𝜔𝑣,如公式(2.1.9)所示, 𝜋. 2. 𝜋. 2. 2. 𝜔𝑢 = 𝑒 𝑗𝜆𝑧Δ𝑔(𝑢 ) , 𝜔𝑣 = 𝑒 𝑗𝜆𝑧Δ𝑔(𝑣. 2). (2.1.9). 接著利用公式(2.1.9)將菲涅耳公式化簡,可得到函數解𝐵𝑢,𝑣 ,如公式(2.1.10)。 𝐵𝑢,𝑣 = 𝛼 × 𝜔𝑢 × 𝜔𝑣 × 𝜏𝑢,𝑣. (2.1.10). 到此部分為止,菲涅耳公式計算完成,為了進行後續相位展開法則運算,必須將 複數𝐵𝑢,𝑣 的虛部𝐼𝑚(𝐵𝑢,𝑣 )除以實部𝑅𝑒(𝐵𝑢,𝑣 )後進行反正切函數(arctangent)運算來 取得相位𝜓𝑢,𝑣 ,如公式(2.1.11)所示, ). 𝐼𝑚(𝐵. 𝜓𝑢,𝑣 = 𝑡𝑎𝑛−1 𝑅𝑒(𝐵𝑢,𝑣). (2.1.11). 𝑢,𝑣. 令𝐼𝑚(𝐵𝑢,𝑣 ) = 𝑄,𝑅𝑒(𝐵𝑢,𝑣 ) = 𝐼,也就是將𝐵𝑢,𝑣 表示成𝐵𝑢,𝑣 = 𝐼 + 𝑄𝑖,本論文中的反 正切函數運算使用 arctangent approximation 公式 [8]。來求得近似解,如公式 (2.1.12), 𝑄 𝐼. 𝑄. 𝑡𝑎𝑛−1 ( 𝐼 ) =. 𝑄 2 1+0.28086( ) 𝐼. , −1 ≤. 𝑄 𝐼. ≤1. 𝑄. 另外,由於計算出的( 𝐼 )不一定符合公式(2.1.12)的條件−1 ≤. (2.1.12) 𝑄 𝐼. ≤ 1,為了解. 決這個問題,本論文的反正切運算將會以公式(2.1.12)搭配公式(2.1.13)及公式 (2.1.14)使用。 𝑄. 𝑡𝑎𝑛−1 ( 𝐼 ) = 𝑄. 𝜋 2. 𝐼. 𝑄. − 𝑡𝑎𝑛−1 (𝑄) , 𝐼 > 0 𝜋. 𝐼. 𝑄. 𝑡𝑎𝑛−1 ( 𝐼 ) = − 2 − 𝑡𝑎𝑛−1 (𝑄) , 𝐼 > 0. 10. (2.1.13). (2.1.14).

(20) 第二章 基礎理論及技術背景. 整理以上的公式,此章節的菲涅耳轉換公式以及 arctangent 公式流程如以下 步驟: 步驟一:給予輸入數位全像圖函數𝜂𝑥,𝑦 ,0 ≤ 𝑥, 𝑦 < 𝑁。 步驟二:利用公式(2.1.6),計算函數𝜌𝑥,𝑦 。 步驟三:利用公式(2.1.7)對𝜌𝑥,𝑦 進行 2D 傅立葉轉換得到𝜏𝑢,𝑣 ,在本論文架構中是 以兩次 1D 傅立葉轉換來實現,首先對𝜌𝑥,𝑦 中每一列𝑥執行快速傅立葉轉換或離散 傅立葉轉換,可得到一運算結果陣列𝛽𝑥,𝑣 ,如公式(2.1.15)所示, 𝛽𝑥,𝑣 = ∑𝑁−1 𝑦=0 (𝜌𝑥,𝑦 𝑐𝑜𝑠. 2𝜋 𝑁. 𝑦𝑣 + 𝑗𝜌𝑥,𝑦 𝑠𝑖𝑛. 2𝜋 𝑁. 𝑦𝑣) , 0 ≤ 𝑥 ≤ 𝑁 − 1. (2.1.15). 接著再對𝛽𝑥,𝑣 每一行𝑣進行一次傅立葉轉換,最後得到 2D 傅立葉轉換結果𝜏𝑢,𝑣 如 公式(2.1.16)。. 𝜏𝑢,𝑣 = ∑𝑁−1 𝑥=0 (𝛽𝑥,𝑣 𝑐𝑜𝑠. 2𝜋 𝑁. 𝑥𝑢 + 𝑗𝛽𝑥,𝑣 𝑠𝑖𝑛. 2𝜋 𝑁. 𝑥𝑢) , 0 ≤ 𝑦 ≤ 𝑁 − 1. (2.1.16). 步驟四:使用公式(2.1.10)對𝜏𝑢,𝑣 做菲涅耳轉換最後的計算,求出函數𝐵𝑢,𝑣 。 步驟五:使用公式(2.1.12)、(2.1.13)、(2.1.14)對函數𝐵𝑢,𝑣 進行反正切運算求得相位 值𝜙𝑢,𝑣 。. 11.

(21) 第二章 基礎理論及技術背景. 第二節. 相位展開之基礎理論. 本論文相位展開之流程為對繞射計算所重建之不連續相位進行相位展開,還 原物體真實連續相位,並採用 DCT-based 最小均方演算法(DCT-based minimum mean square algorithm)作為相位展開之方法。此方法可再細分為四步驟,首先對 輸入資料做拉普拉斯運算(Laplacian),接下來做離散餘弦轉換(Discrete cosine transform) , 再 做 頻 率 域 計 算 (Frequency operation) , 最 後 以 離 散 餘 弦 反 轉 換 ((Inverse discrete cosine transform))得到連續相位重建資料。 拉普拉斯運算主要處理每個像素與其相鄰像素之差異值計算,假設 𝜓𝑢,𝑣 為 原始相位 𝜙𝑖,𝑗 的折疊相位,0 ≤ 𝑢 , 𝑣 ≤ 𝑁 − 1,N 為相角平面圖之行與列的大 小。 𝜓𝑢,𝑣 與 𝜙𝑢,𝑣 之關係如公式(2.2.1), 𝜙𝑢,𝑣 = 𝜓𝑢,𝑣 + 2𝜋𝑘𝑢,𝑣 ,. (2.2.1) 𝑦. 𝑥 而 𝑘𝑢,𝑣 是一個整數,且 −𝜋 ≤ 𝜓𝑢,𝑣 ≤ 𝜋 , ∆𝑢,𝑣 與 ∆𝑢,𝑣 代表相位差,其定. 義如公式(2.2.2)與公式(2.2.3),. 𝑥 ∆𝑢,𝑣 = 𝑦. ∆𝑢,𝑣 =. 𝑊(𝜓𝑢+1,𝑣 − 𝜓𝑢,𝑣 ),. (2.2.2). 𝑊(𝜓𝑢,𝑣+1 − 𝜓𝑢,𝑣 ),. (2.2.3). 函數 W 代表一個折疊運算子,藉由與 2π的倍數做加法或減法來將輸入的資料 𝑦. 𝑥 折疊在 [ -π , π ) 這個範圍內。因此 ∆𝑢,𝑣 與 ∆𝑢,𝑣 之範圍也會介於 –π 與 π. 之間。 12.

(22) 第二章 基礎理論及技術背景. DCT-based 相位展開演算法其目的為找出藉由 𝜙𝑢,𝑣 所最小化的成本函數 J,其 公式如公式(2.2.3), 2. 2. 𝑦 𝑁−1 𝑁−1 𝑁−2 𝑥 J = ∑𝑁−2 𝑢=0 ∑𝑣=0 (𝜙𝑢+1,𝑣 − 𝜙𝑢,𝑣 − ∆𝑢,𝑣 ) + ∑𝑢=0 ∑𝑣=0 (𝜙𝑢,𝑣+1 − 𝜙𝑢,𝑣 − ∆𝑢,𝑣 ) ,. (2.2.3). 根據 discrete Poisson’s equation 法則如公式(2.2.4),. 𝜙𝑢+1,𝑣 + 𝜙𝑢−1,𝑣 + 𝜙𝑢,𝑣+1 + 𝜙𝑢,𝑣−1 − 4𝜙𝑢,𝑣 = 𝛾𝑢,𝑣 ,. (2.2.4). 其中 𝛾 定義如公式(2.2.5), 𝑦. 𝑦. 𝑥 𝑥 𝛾𝑢,𝑣 = ∆𝑢,𝑣 − ∆𝑢−1,𝑣 + ∆𝑢,𝑣 − ∆𝑢,𝑣−1 .. (2.2.5). 𝛾 = {𝛾𝑢,𝑣 : 0 ≤ 𝑢, 𝑣 ≤ 𝑁 − 1} 可視為對 𝜓 做拉普拉斯運算之結果,並且 遵守邊界條件如公式(2.2.6)與(2.2.7)。. 𝑥 ∆−1,𝑣 = 0,. 𝑦. ∆𝑢,−1 = 0,. 𝑥 ∆𝑁−1,𝑣 = 0, 𝑣 = 0, … , 𝑁 − 1,. (2.2.6). 𝑦. ∆𝑢,𝑁−1 = 0, 𝑢 = 0, … , 𝑁 − 1,. (2.2.7). 而公式(2.2.4)之 𝜙 與 𝛾 可經由 𝑁 × 𝑁 離散餘弦轉換分別得到結果 Φ 與 Γ, 因此公式(2.2.4)可以於 DCT 領域做計算如公式(2.2.8),. Φ𝑚,𝑛 =. Γ𝑚,𝑛 2 cos(𝜋𝑚/𝑁) + 2 cos(𝜋𝑛/𝑁) − 4. 13. ,. (2.2.8).

(23) 第二章 基礎理論及技術背景. 且 0 ≤ 𝑚, 𝑛 ≤ 𝑁 − 1,最後再將公式(2.2.8)之 Φ 經由離散餘弦反轉換得到 非折疊相位 𝜙。 整理以上的公式,此章節的 DCT-base 最小均方演算法流程如以下步驟: 𝑥 步驟一:計算 ∆𝑢,𝑣 ,由公式(2.2.2)得之, 0 ≤ 𝑢 ≤ 𝑁 − 2, 0 ≤ 𝑣 ≤ 𝑁 − 1。 𝑦. 步驟二:計算 ∆𝑢,𝑣 ,由公式(2.2.3)得之, 0 ≤ 𝑢 ≤ 𝑁 − 1, 0 ≤ 𝑣 ≤ 𝑁 − 2。 步驟三:計算 𝛾𝑢,𝑣 ,由公式(2.2.5)得之, 0 ≤ 𝑢, 𝑣 ≤ 𝑁 − 1。 步驟四:計算 Γ,由 𝛾 經過離散餘弦轉換(DCT)得之。 步驟五:計算 Φ,由公式(2.2.8)運算得之。 步驟六:計算 𝜙,由 Φ 經過離散餘弦反轉換(IDCT)得之。 並且需考慮公式(2.2.6)與(2.2.7)之邊界條件。 由於 DCT 與 IDCT 的計算複雜度高,本論文採用 FFT 與 IFFT 分別取代 之,而原 DCT 與 IDCT 之輸入資料必須經由鏡射與延展作為 FFT 與 IFFT 之輸 入資料。. 14.

(24) 第二章 基礎理論及技術背景. 第三節. 自動對焦之基礎理論. 一張清晰影像的特性在於可呈現明確的邊緣變化,換而言之,相鄰像素間灰 階值的差異值或是梯度值也會越大,特別是屬於邊界的部份,模糊影像則相對沒 有清晰影像之特性。此外,影像模糊之原因在於影像高頻能量不足,低頻能量多。 反之,清晰影像則擁有較多的高頻能量,利用這些影像特性,將影像以差異值或 梯度值做處理而得到影像清晰度值,進而利用清晰度值作為判別對焦是否準確的 指標。 本論文使用 Normalized Variance 量測經由相位展開重建之影像的差異值, Normalized Variance 可視為 Tamura measure 的衍伸型,𝑃 為重建影像 𝜙 經過位 移至零點以上,再調整於 0 與 1 區間的影像資料,令 Tamura measure 對 𝑃 的計 算結果為 𝑇(𝑃),定義如公式(2.3.1), 𝜎(𝑃). 𝑇(𝑃) = √𝛾(𝑃). (2.3.1). 其中 𝜎(𝑃) 代表重建影像 𝑃 之標準差,而 𝛾(𝑃) 則為影像 𝑃 之平均值。 𝛾(𝑃) 與 𝜎(𝑃) 之定義分別為公式(2.3.2)與(2.3.3), 1. 𝑁−1 𝛾(𝑃) = 𝑁2 ∑𝑁−1 𝑢=0 ∑𝑣=0 𝑃𝑢,𝑣. 1. 𝑁−1 𝜎(𝑃) = √𝑁2 ∑𝑁−1 𝑢=0 ∑𝑣=0 [𝑃𝑢,𝑣 − 𝛾(𝑃)]. (2.3.2) 2. (2.3.3). 本論文所用的 Normalized Variance 之結果為 𝑉(𝑃),其計算內容如公式(2.3.4), 𝑉(𝑃) = 15. 𝜎(𝑃)2 𝛾(𝑃). (2.3.4).

(25) 第二章 基礎理論及技術背景. 上述公式經過化簡後可以得到公式(2.3.5)。 1. 1. 2 𝑁−1 2 𝑉(𝑃) = 𝛾(𝑃) [𝑁2 ∑𝑁−1 𝑢=0 ∑𝑣=0 𝑃𝑢,𝑣 − 𝛾(𝑃) ]. 1. 1. 2 𝑁−1 = 𝛾(𝑃) [𝑁2 ∑𝑁−1 𝑢=0 ∑𝑣=0 𝑃𝑢,𝑣 ] − 𝛾(𝑃). (2.3.5). 公式(2.3.5)運算之結果 𝑉(𝑃) 即是影像的清晰度值。 由本章第一節公式(2.1.2)可知不同焦距 z 會影響繞射計算之結果,進而重建 失焦之影像,並改變影像的清晰度值。本論文自動對焦系統即建立於影像清晰度 值的判斷,在某一焦距範圍內不斷的重建影像,再根據影像清晰度值做清晰影像 之重建。 本論文使用 depth-of-focus 法則決定本系統欲對焦之範圍,此法則是針對全 像顯微鏡的相關係數進行運算得到𝐷𝑂𝐹,而成像會落在 𝑀2 𝐷𝑂𝐹 的數倍上。計 算公式(2.3.6), DOF = λ𝑛𝑚 /𝑁𝐴2. (2.3.6). 其中 λ 為紀錄全像圖所使用的波長,𝑛𝑚 為介質折射率,NA 是透鏡的 Numerical Aperture(數值孔徑)。 M 是數位全像顯微鏡的放大倍率,系統自動對焦的 Search Step 則是經由 𝑀2 𝐷𝑂𝐹 運算之結果所決定,在數倍的 Search Step 範圍內反覆進行全像重建,再 根據 Normalized Variance 影像清晰度值最大之對應焦距進行正確焦距之清晰影 像重建。. 16.

(26) 第二章 基礎理論及技術背景. 本章前三節分別說明自動對焦 3D 全像重建系統之基礎理論,最後整理自 動對焦全像重建流程如下:. 圖 2. 1 自動對焦重建系統之流程圖. 17.

(27) 第二章 基礎理論及技術背景. 第四節. FPGA 與 SoPC 系統整合設計. 積體電路(Integrate Circuit, IC)之發展目前已達成熟階段,製程技術的發展也 處於發展緩慢期,取而代之的則是縮短產品由構思到到推入市場的期程,消費者 對於產品所要求的功能也提高許多,間接使得產品設計專案變得複雜,因此需要 一個能讓設計師易於使用,又保有設計彈性的設計環境,FPGA 即符合上述之需 求。 本論文使用硬體描述語言(Hardware Description Language, HDL)搭配可重覆 程式設計的FPGA晶片設計電路,設計過程中透過系統所提供之合成與繞線佈局, 反覆快速燒錄至FPGA開發板進行測試。此外,不需要負擔實際合成電路的高成 本風險,不僅大量減少開發時間,也使設計彈性有效提高,因此FPGA也逐漸成 為科技公司開發設計與驗證的主流。 Altera 之 Qsys 系統提供本論文之 SoPC 系統架構,其優點為易於使用的 GUI 介面,讓設計者能夠快速的在 IP 功能與子系統之間做整合,並且自動產生子系 統之間的互聯邏輯,再搭配 NIOS 系統提供一套專門給 NIOS II Processor 使用的 匯流排(Avalon bus),經由 Qsys 所建立的 SoPC 系統在 FPGA 上程式化後,即可 使用 NIOS 開發工具,並以 C 語言撰寫程式執行電路來觀察電路運作之行為是否 正確。 目前大多數晶片設計仍然採用系統單晶片(System on Chip, SoC)作為其設計 架構,將整個系統的主要功能及周邊電路整合於單一晶片,晶片內部資料傳輸大 18.

(28) 第二章 基礎理論及技術背景. 部分採用點對點連線(Point-to-Point, P2P)或共享匯流排(Share bus)的方式進行連 接,分別如圖 2.2 與圖 2.3。其缺點為隨著系統複雜度提高,可能出現少數難以 控制的電子特性或匯流排過長而使傳輸延遲變大,其擴充性也較低。此外,所有 子系統共享同一匯流排,將造成並行能力差。. 圖 2. 2 SoC-P2P. 圖 2. 3 SoC-Shared bus. 19.

(29) 第二章 基礎理論及技術背景. Altera 之 Qsys 則採用晶片網路(Network on Chip, NoC)作為其設計架構,提 供更高的效能以及改善設計電路之重複使用性,藉由封包(packet)的形式傳輸資 料,並利用晶片內部路由器(router)進行溝通,降低晶片內部全域繞線的需求,其 特性具有較佳的傳輸效能、擴展性、可模組化、可重複使用化以及並行性等,如 圖 2.4 所示。. 圖 2. 4 NoC 系統架構 根據上述之討論,整理 FPGA 與系統單晶片之差異如表 2.1, 表 2. 1 NoC 與 SoC 之比較. NoC. SoC. 擴展性. 佳. 差. 傳輸延遲. 小. 大. 並行性. 佳. 差. 資料傳輸形式. Packet. P2P、Shared bus. 20.

(30) 第三章 系統架構. 第三章 系統架構 本章節將著重於本論文自動對焦重建系統硬體架構之討論,分別為相位展開 電路、繞繞射計算電路及評估值計算電路。以下介紹各節之重點,第一節討論整 體系統之硬體架構,第二節為相位展開電路之架構,而第三節討論繞射計算電路 之架構,最後第四節則為評估單元電路之架構。. 第一節. 整體系統架構. 本節討論本論文之自動對焦重建系統藉由 Qsys 系統實作於 FPGA 的架構, 使用之硬體單元如圖 3.1 所示,NIOS II Processor 為系統電路之核心處理器。DDR II Controller 主要掌控使用 SDRAM 產生的複雜問題,初始化記憶體裝置,在適 當的時間更新資料,將外部元件之請求轉換為 SDRAM 可辨識之訊號。DDR II SDRAM 為系統所使用的 Off-Chip Memory,用來儲放原始全像圖。SGDMA Controller 負責掌控子系統間的資料傳輸。Hologram Reconstruction System 則為 本論文自動對焦重建系統之電路。. 圖 3. 1 自動對焦 3D 數位全像重建系統架構圖 21.

(31) 第三章 系統架構. Hologram Reconstruction System 電路可再細分為五個部分,如圖 3.2 所示, 分別為菲涅耳轉換單元、表格建置單元、相位展開單元、評估單元以及內建記憶 體,各單元之基礎理論及技術背景皆已在第二章討論過。. 圖 3. 2 Hologram Reconstruction System 各硬體單元 菲涅耳轉換單元之架構可參考文獻 [7],由第二章第一節之相位重建基礎理 論可知菲涅耳運算中的焦距 z 會影響不連續相位圖的重建結果 𝜓𝑢,𝑣,由此可知, 焦距 z 在自動對焦過程中扮演重要的角色。在一次完整重建過程中,本系統會設 定目前相位重建之焦距 z,同時也設定下一輪即將使用之焦距 z。換而言之,在 執行菲涅耳轉換電路的同時,啟動表格建置單元,預先計算儲存下一輪焦距 z 所 使用的表格,並於下一輪提供給前轉換運算與後轉換運算使用。 相位重建完後,將進行相位展開,相位展開單元依照第二章第二節之 DCTbased 最小均方演算法進行設計。 評估單元依照相位還原之影像進行清晰度值計算,依照第二章第三節之 Normalized Variance 運算式進行設計。 以上電路架構將在本章第二節至第五節進行討論,包含電路實現、電路簡化 設計…等等之說明。 22.

(32) 第三章 系統架構. 第二節. 相位展開電路. 本論文使用 DCT-based 最小均方演算法作為相位展開電路之法則,並根據第 二章第二節相位展開之基礎理論實現電路設計。相位展開電路可分為四部份,分 別為拉普拉斯運算單元、離散餘弦轉換單元、頻率域運算單元以及離散餘弦反轉 換單元,並搭配控制器來控制每個單元運作的流程,相位展開之電路架構如圖 3.3 所示。. 圖 3. 3 相位展開電路架構. 第一項 拉普拉斯運算單元 拉普拉斯運算單元根據公式(2.2.5)設計,並且以 raster scan 的方式輸入折疊 相位資料 𝜓 計算得到 𝛾,其架構由一個位址產生單元(Address Generation Unit)、 一個計數器(Counter)、兩條位移暫存器(Shift Register)、兩個相位摺疊單元(Phase Wrapping Module)以及數個加法器(Adder)所組成,如圖 3.4 所示。𝑁 為折疊相位 影像的大小,其決定兩條位移暫存器的長度,長度分別為 𝑁 + 1 以及𝑁。0 ≤ 𝑢, 𝑣 ≤ 𝑁 − 1 ,代表輸入影像像素之 x 軸與 y 軸的索引值。. 23.

(33) 第三章 系統架構. 圖 3. 4 拉普拉斯運算電路架構 位址產生單元負責產生位址來讀取儲存於 On-Chip Memory 之非折疊相位資 料 𝜓𝑢,v 並將經過拉普拉斯運算後之資料 𝛾𝑢,v 寫回 On-Chip Memory。計數器提 供電路輸入相位資料 𝜓𝑢,v 之 𝑢 與 v。根據公式(2.2.2)與公式(2.2.3),拉普拉斯 𝑦. 𝑥 運算電路需對相鄰影像做相位差之計算,並做相位摺疊得到 ∆𝑢,𝑣 及∆𝑢,𝑣 。為了. 減少對記憶體的存取次數,本架構採用位移暫存器來重複使用輸入之影像資料 𝜓,使用 𝑁+1 stage 之位移暫存器(Shift Register 1)來達成計算相鄰影像之相位差, 𝑦. 𝑥 𝑥 𝑥 再經過相位摺疊單元得到 ∆𝑢,𝑣 及 ∆𝑢,𝑣,∆𝑢−1,𝑣 為 ∆𝑢,𝑣 經過一個 delay 之結果, 𝑦. 再使用 𝑁 stage 之位移暫存器(Shift Register 2)重複使用 ∆𝑢,𝑣 ,獲得經過 𝑁 個 𝑦. 𝑦. 𝑦. 𝑥 𝑥 delay 後之資料 ∆𝑢,𝑣−1 ,有了 ∆𝑢,𝑣 、∆𝑢−1,𝑣 、∆𝑢,𝑣 以及 ∆𝑢,𝑣−1,再經過運算即可. 得到拉普拉斯之運算結果 𝛾𝑢,v 。 24.

(34) 第三章 系統架構. 同時也需遵守公式(2.2.6)與公式(2.2.7)之邊界條件,拉普拉斯運算電路使用 相位摺疊單元搭配計數器所提供之索引 u 與 v 來對邊緣條件做處理,如圖 3.5 所 示,. 圖 3. 5 相位摺疊電路架構 𝑥 相位摺疊電路使用比較器(Comparators)來判別輸入的相位差資料 ∆𝑢,𝑣 及 𝑦. ∆𝑢,𝑣 所需要的相位摺疊處理。此外,藉由計數器之 u 與 v 索引經過邊緣偵測單 元(Boundary Detector)決定當面臨邊界條件時的輸出資料的處理方式為何。. 25.

(35) 第三章 系統架構. 第二項 離散餘弦轉換單元 離散餘弦轉換單元其目的為對拉普拉斯運算之結果 𝛾 進行 2D DCT 的運算。 假設輸入影樣之尺寸為 𝑁 × 𝑁,長度為 𝑁 × 𝑁 點之 2D DCT 可以使用長度為 𝑁 點之 1D DCT 來實現,對輸入影像分別進行行與列的 1D DCT 運算。由於 1D DCT 之運算複雜度高,本架構採用長度為 2𝑁 點之 1D FFT 來取代 1D DCT。此外, 1D FFT 之 2N 長度輸入資料必須經過鏡射與延展的處理。 此段說明使用 1D FFT 取代 1D DCT 之推導,定義 𝑠 = {𝑠𝑢 , 𝑢 = 1, … , 𝑁} 為 1D 序列,此外使 S 為 s 經過 DCT 運算之結果。其關係如公式(3.2.1)所示, 2. 𝑆𝑚 = √𝑁 ∑𝑁−1 𝑢=0 𝑏𝑚 𝑠𝑢 cos. 𝜋(2𝑢+1)𝑚 2𝑁. , 𝑚 = 0, … , 𝑁 − 1,. (3.2.1). 其中,𝑏𝑚 如公式(3.2.2)所示, 1. 𝑚 = 0,. 𝑏𝑚 = {√2 1. otherwise.. (3.2.2). 定義 𝑠̂𝑢 , 𝑢 = 0, … ,2𝑁 − 1,如公式(3.2.3)所示, 𝑠̂𝑢 = {. s𝑢 s2𝑁−1−𝑢. 0 ≤ 𝑢 ≤ 𝑁 − 1, 𝑁 ≤ 𝑢 ≤ 2𝑁 − 1.. (3.2.3). 視 𝑠̂ 為 s 經過鏡射後之結果,並使 𝑠̂ 經由 FFT 轉換得到 𝑆̂,可知其關係如 公式(3.2.4)所示, −𝑢𝑚 Ŝ𝑚 = ∑2𝑁−1 𝑢=0 𝑠̂𝑢 𝑊2𝑁 , 𝑚 = 0, … ,2𝑁 − 1,. 其複數指數 𝑊𝑁 = exp (𝑗. 2𝜋 𝑁. 𝑆𝑚 =. (3.2.4). ),由上述公式可整理推導出公式(3.2.5),如下, 1 √2𝑁. −𝑚⁄2. 𝑏𝑚 𝑊2𝑁. 𝑆̂𝑚 , 𝑚 = 0, … , 𝑁 − 1.. 26. (3.2.5).

(36) 第三章 系統架構. 藉由上述公式之整理,輸入影像 𝛾 經由 2D DCT 轉換運作整理如公式(3.2.6), 2. 𝑁−1 Γm,n = 𝑁 ∑𝑁−1 𝑣=0 ∑𝑢=0 𝑏𝑚 𝑏𝑛 𝛾𝑢,𝑣 cos. 𝜋(2𝑢+1)𝑚 2𝑁. cos. 𝜋(2𝑣+1)𝑛 2𝑁. .. (3.2.6). 並將公式整理重寫如公式(3.2.7)與公式(3.2.8), 2. Γ𝑚,n = √𝑁 ∑𝑁−1 𝑣=0 𝑏𝑛 Λ m,𝑣 cos. 𝜋(2𝑣+1)𝑛 2𝑁. ,. (3.2.7). 其中, 2. Λ m,𝑣 = √𝑁 ∑𝑁−1 𝑢=0 𝑏𝑚 𝛾𝑢,𝑣 cos. 𝜋(2𝑢+1)𝑚 2𝑁. .. (3.2.8). 由上述公式整理可知,輸入影像 𝛾 經過公式(3.2.8)進行 1D FFT 之行運算輸出影 像 Λ ,再經過公式(3.2.7)進行 1D FFT 之列運算得到 Γ ,即是 𝛾 經過 2D DCT 轉換之結果 Γ。. 圖 3. 6 離散餘弦轉換電路架構. 27.

(37) 第三章 系統架構. 圖 3.6 為離散餘弦轉換單元之架構,其包含位址產生器(AGU)、一個 1D FFT 單元、一張查找表(LUT)、一個乘法器、一個計數器以及一個控制器。本架構使 用 AGU 來達成輸入影像 𝛾 與 Λ 映射之動作,經過 FFT 轉換後之資料與配合 計數器之索引至查找表所找出之數值進行相乘,得到經過 1D DCT 轉換之結果。 本架構之 FFT 使用 Altera 的 FFT MegaCore function 來實現 1D FFT,由於輸 入 FFT 運算之資料為 2N 長度,其輸出也為 2N 長度之資料,但本架構只將前 N 長度的資料儲存回 On-Chip Memory,並以圖 3.7 說明 FFT 之運算流程。. 圖 3. 7 快速傅立葉轉換流程 延展運算使用查找表、乘法器以及計數器來設計實現。查找表擁有 N 個通 道,並將. 1 √2𝑁. −𝑚⁄2. 𝑏𝑚 𝑊2𝑁. 預先計算儲存於查找表,其中 𝑚 = 0, … 𝑁 − 1,計數器. 用來追蹤 𝑆̂𝑚 之索引 m,並經由查找表找出對應數值與 𝑆̂𝑚 相乘。. 28.

(38) 第三章 系統架構. 第三項 頻率域運算單元 頻率域運算單元根據公式(2.2.8)來設計實現,將離散餘弦轉換之結果 Γ 經 過頻率域運算得到 Φ,其架構如圖 3.8 所示,其包含一個位址產生器、一個計數 器、兩張查找表、一個加法器以及一個除法器。. 圖 3. 8 頻率域轉換電路架構 兩張查找表皆為 N 個通道,預先將公式(2.2.8)之 2 cos. 𝜋𝑚 𝑁. 與 2 cos. 𝜋𝑛 𝑁. −4 計. 算儲存於查找表 1(Look-up Table)與查找表 2(Look-up Table),再搭配計數器追蹤 輸入影像 Γ𝑚,𝑛 之索引 m 與 n 找出相對應之數值,將輸入影像 Γ𝑚,𝑛 除以兩張查 找表相加之結果進行頻率域運算得到結果 Φ𝑚,𝑛 。. 29.

(39) 第三章 系統架構. 第四項 離散餘弦反轉換單元 離散餘弦反轉換單元其目的為對輸入影像 Φ 進行離散餘弦反轉換得到展 開相位 𝜙,如公式(3.2.9)所示, 2. 𝑁−1 𝜙u,v = 𝑁 ∑𝑁−1 𝑚=0 ∑𝑛=0 𝑏𝑚 𝑏𝑛 Φ𝑚,𝑛 cos. 𝜋(2𝑢+1)𝑚 2𝑁. cos. 𝜋(2𝑣+1)𝑛 2𝑁. .. (3.2.9). 與 2D DCT 之處理過程相同,本架構之 2D IDCT 使用 1D IDCT 分別執行行運算 與列運算來處理,此外,長度為 N 點之 1D IDCT 以長度 2N 點之 IFFT 來實現。 如公式(3.2.10)與公式(3.2.11)所示, 2. 𝑠𝑢 = √𝑁 ∑𝑁−1 𝑚=0 𝑏𝑚 𝑆𝑚 cos. 𝜋(2𝑢+1)𝑚 2𝑁. 1 𝑢𝑚 ̂ 𝑠̂𝑢 = 2𝑁 ∑2𝑁−1 𝑚=0 𝑆𝑚 𝑊2𝑁 ,. , 𝑢 = 0, … , 𝑁 − 1,. 𝑢 = 0, … ,2𝑁 − 1.. (3.2.10). (3.2.11). 並且可以表示如公式(3.2.12), √2𝑁 0.5𝑚 𝑊2𝑁 𝑆𝑚 , 𝑏𝑚. 0 ≤ 𝑚 ≤ 𝑁 − 1,. 𝑆̂𝑚 = 0,. 𝑚 = 𝑁,. √2𝑁 0.5𝑚 − 𝑏 𝑊2𝑁 𝑆2𝑁−𝑚, 𝑚 {. (3.2.12). 𝑁 + 1 ≤ 𝑚 ≤ 2𝑁 − 1,. 而 𝑠𝑢 = 𝑠̂𝑢 , 𝑢 = 0, … , 𝑁 − 1。 由上述公式整理可得知輸入影像資料 Φ 分別經過 1D IDCT 之行運算與列 運算得到展開相位資料 𝜙。由於本架構採用 1D IFFT 實現 1D IDCT,所輸入之 影像需要做鏡射,並且對鏡射之資料作正負值的反轉,接著對輸入資料進行 1D IFFT 運算。此外,預先計算. 𝑚⁄ √2𝑁 2 𝑊 2𝑁 𝑏𝑚. 並儲存於查找表提供運算處理。. 30.

(40) 第三章 系統架構. 圖 3. 9 離散餘反弦轉換電路架構 圖 3.9 為離散餘弦反轉換單元之架構,由一個位址產生器、一個計數器、一 張查找表、一個乘法器以及一個 1D IFFT 單元所組成。首先,位址產生器產生讀 取影像所需要的位址,經過多工器藉由計數器之索引 m 對輸入影像 𝑆 做鏡射與 正負值反轉的處理,再與經過索引 m 由查找表所得之結果進行相乘,最後進行 快速傅立葉反轉換得到離散餘弦反轉換之結果。 本架構之 IFFT 使用 Altera 的 FFT MegaCore function 來實現 1D IFFT,於 FFT 前先做共軛處理,再對 FFT 輸出結果除以 FFT 的長度,並再做一次共軛來 實現以 FFT 取代 IFFT。由於輸入 IFFT 運算之資料為 2N 長度,其輸出也為 2N 長度之資料,但本架構只將前 N 長度的資料儲存回 On-Chip Memory. 31.

(41) 第三章 系統架構. 第五項 控制器與內建記憶體 控制器負責協調拉普拉斯運算單元、離散餘弦轉換單元、頻率域運算單元以 及離散餘弦反轉換單元之間的運作,內建記憶體則是用來儲存原始影像資料、運 算過程中所產生的資料以及電路運算之結果。 如圖 3.10 所示,控制器控制各單元之間的執行順序。首先,啟動拉普拉斯運 算單元直到完成運作,接下來啟動離散餘弦轉換單元直到完成運作,再來啟動頻 率域運算單元直到完成運作,最後啟動離散餘弦反轉換單元直到完成運作,此為 一輪次完整的 DCT-based 最小均方演算法之運作流程。換而言之,意即同一時間, 只會啟動一個單元,直到完成運作在啟動下一單元,並以圖 3.10 說明執行流程。 圖 3. 10 DCT-based 最小均方演算法之循序運作流程. 其中,各單元執行時間如表 3.1, 表 3. 1 相位展開各硬體單元估計時間 Unit. Latency. Laplacian. DCT. Freq. operation. IDCT. 𝑇1. 𝑇2. 𝑇3. 𝑇4. = 𝑁 + 1 + 𝑁 2 + 𝐿1. = 2(2𝑁 2 + 𝐿2 + 𝑁). = 𝑁 2 + 𝐿3. = 2(2𝑁 2 + 𝐿4 + 𝑁). 32.

(42) 第三章 系統架構. 循序運作整體執行時間如公式 3.2.13, 𝑇𝑠𝑒𝑞 = ∑4𝑘=1 𝑇𝑘 = 10𝑁 2 + 𝐿1 + 2𝐿2 + 𝐿3 + 2𝐿4 + 5𝑁 + 1.. (3.2.13). 由上述公式可知,當影像尺寸增加,整體電路執行時間也會大量增加。 離散餘弦轉換其優點在於其運算結果只有實部資料,本架構有兩塊 𝑁 × 𝑁 內建記憶體,使得資料的儲存變得更彈性,也構成本架構將 DCT-based 最小均方 演算法之平行運作的條件。換而言之,將內建記憶體的存取數量降到最低,但伴 隨而來的是額外的資源消耗,必須多提供 1 個 FFT 單元,因為平行運作使得 1D DCT 與 1D IDCT 必須在同一時間使用 FFT 單元,圖 3.11 說明個電路單元之平行 運作的流程。. 圖 3. 11 DCT-based 最小均方演算法之平行運作流程 由圖 3.11 可知,Laplacian 單元之部份結果可以立即提供 DCT 單元做行運 算,而 DCT 單元列運算之部份結果可以立即提供給頻率域運算單元使用,頻率 域運算單元之部份結果可以立即提供給 IDCT 單元做列運算,最後由 IDCT 單元 做行運算得到相位展開之結果。. 33.

(43) 第三章 系統架構. 平行運作整體執行時間如公式 3.2.14, 𝑇𝑝𝑎𝑟 = 3𝑁 + 1 + 𝐿1 + 𝐿2 + 𝐿3 + 0.5𝑇2 + 𝑇4 , = 6𝑁 2 + 6𝑁 + 1 + 𝐿1 + 2𝐿2 + 𝐿3 + 2𝐿4 .. (3.2.14). 由公式 3.2.13 與公式 3.2.14 得知,執行時間 𝑇𝑠𝑒𝑞 ≈ 10𝑁 2 以及 𝑇𝑝ar ≈ 6𝑁 2 ,平 行運作相較於循序運作可以減少約 40%的執行時間。 本段說明本架構在平行運作時對於兩塊大小為𝑁 × 𝑁的內建記憶體(RAM 1 及 RAM 2)之使用。於 phase 1,Laplacian 單元從 RAM 1 讀取資料 𝜓,並將結果 γ 寫入 RAM 2,接著 DCT 單元之行運算從 RAM 2 讀取資料 γ,並將結果 Λ 寫 入 RAM 1,如圖 3.12 所示。由於用來讀取資料 𝜓 之 RAM 1 重複使用來儲存 DCT 產生的資料 Λ,因此避免 Laplacian 單元及 DCT 單元於平行運作時產生結 構危害。. 圖 3. 12 Phase 1 期間記憶體使用狀態 於 phase 2,DCT 單元列運算從 RAM 1 讀取資料 Λ,接著將計算結果 Γ 直 接進行頻率域運算,並將計算結果 Φ 寫入 RAM 2,再來 IDCT 單元列運算從 RAM 2 讀取資料,並將計算結果寫入 RAM1,如圖 3.13 所示。. 34.

(44) 第三章 系統架構. 圖 3. 13 Phase 2 期間記憶體使用狀態. 最後於 phase 3,IDCT 單元行運算從 RAM 1 讀取資料,並將計算結果 𝜙 寫入 RAM 1,𝜙 即是相位展開之非折疊相位資料,如圖 3.14。. 圖 3. 14 Phase 3 期間記憶體使用狀態. 35.

(45) 第三章 系統架構. 第三節. 繞射計算電路. 繞射計算電路即菲涅耳轉換單元,其架構設計參考文獻 [7],並以圖 3.15 說明其架構,主要由前轉換單元、FFT 單元以、後轉換單元以及查找表組成。. 圖 3. 15 菲涅耳運算電路架構 前轉換單元是根據公式(2.1.6)設計實現,藉由索引𝑥, 𝑦得到查找表之對應參 數𝜇𝑥 , 𝜇𝑦 後,再與全像資訊𝜂𝑥,𝑦 進行複數計算。 快速傅立葉轉換單元是根據公式(2.1.7)設計實現,其架構採用 1D FFT 分別 進行行運算與列運算來實現 2D FFT 之運算,而 FFT 則是使用 Altera 的 FFT MegaCore function 來實現。 後轉換單元是根據公式(2.1.10)與公式(2.1.11)設計實現,藉由索引 𝑢, 𝑣 得到 查找表之對應參數 𝜔𝑢 , 𝜔𝑣 後,接者與 2D FFT 之運算結果進行複數計算,最後 經過 Arctangent 運算得到折疊相位。 根據相位重建之基礎理論可得知不同的焦距 z,查找表也會有所不同,因此 自動對焦的過程中,會使用表格建置單元根據不同的焦距 z 來計算對應參數,並 儲存於查找表提供下一輪菲涅耳轉換使用。 36.

(46) 第三章 系統架構. 第四節. 評估運算電路. 評估運算電路其目的在於計算影像之清晰度值,其架構如圖 3.16,由計算 單元與一個位址產生器所組成,. 圖 3. 16 評估運算電路架構 計算單元是根據公式(2.3.5)設計實現,其架構如圖 3.17,其包含一個乘法器、 兩個加法器、兩個除法器、一個 減法器以及一個位移暫存器所組成。由於 Normalized Variance 法則必須對資料做累加,但本架構採用浮點運算,具有輸出 延遲時間 k 個時脈週期,因此藉由改變位址產生器的輸出行為,於每個位址連續 讀取 k 個時脈週期來解決累加所遇到的問題。. 圖 3. 17 計算單元電路架構. 37.

(47) 第三章 系統架構. 第五節. 自動對焦資料流程. 本節說明重建系統執行自動對焦的完整流程。如圖 3.18 所示。首先,SGDMA Controller 控制 DDR II Controller 將原始全像圖從 SDRAM 載入至全像重建系統 的 On-Chip Memory,接著寫入系統之目前重建焦距以及下一輪之重建焦距,再 啟動菲涅耳轉換單元,同時菲涅耳轉換單元內之控制器接收觸發啟動表格建制單 元,如圖 3.19 所示,並根據下一輪欲重建之焦距進行表格建置。當菲涅耳轉換運 作完成的同時,下一輪菲涅耳轉換所需使用之表格也建置完成。. 圖 3. 18 由 SGDMA 傳輸資料至 On-Chip Memory. 圖 3. 19 設定焦距並執行菲涅耳轉換與表格建置 38.

(48) 第三章 系統架構. 相位重建完成後,接著進行相位展開取得非折疊之物體原始相位,如圖 3.20 所示,最後將相位展開之結果經由評估運算電路計算影像清晰度值,如圖 3.21, 即完成一次完整全像重建。如此反覆執行圖 3.18 至圖 3.21 之流程,並對所有焦 距進行全像重建與清晰度評估,再根據最高清晰度之重建焦距進行全像圖重建, 即完成完整自動對焦之流程。. 圖 3. 20 執行相位展開運算. 圖 3. 21 執行評估單元運算. 39.

(49) 第四章 實驗數據與效能分析. 第四章 實驗數據與效能分析 本章將著重於開發平台與實驗環境之設定、系統實際效能量測與比較以及 系統架構整合之效果。. 第一節. 開發平台與實驗環境設定. 本論文使用 Altera Stratix® V GX FPGA (5SGXEA7N2F45C2) 開發板作 為硬體實現之平台,其外觀如圖 4.1 所示。並整理開發板之詳細規格於表 4.1。 此外,藉由 FPGA 所提供之 Qsys 系統,其可程式化系統晶片(SoPC)之架構提供 開發者擁有更高的電路修改彈性,並且提供簡易操作的 GUI,使開發著易於設計 實現電路。而其可快速燒錄之特性使得 FPGA 更適合用於硬體架構之驗證,因而 選擇此開發板作為硬體實現的平台。. 圖 4. 1 Altera Stratix® V GX FPGA (5SGXEA7N2F45C2)外觀 40.

(50) 第四章 實驗數據與效能分析. 表 4. 1 Altera Stratix® V GX FPGA (5SGXEA7N2F45C2)詳細規格 Feature. Stratix® V GX FPGA. Device. 5SGXEA7N2F45C2. Logic utilization(in ALMs). 234,720. M20K Memory Blocks. 2,560. Total memory Kbits. 52,428. Total DSP Blocks. 256. Total PLLs. 92. User I/Os. 1064. 本論文之開發套件使用 Altera Quartus II 14.0 軟體,並使用 Verilog 硬體描述 語言作為開發程式語言,此外,Quartus II 提供 Modelsim 來建立 RTL Level 與 Gate Level 的模擬環境。在交互驗證電路之正確性後,藉由 Qsys 系統將本論文 之系統與周邊相關電路一起掛載至 SoPC 系統上,最後燒錄至開發板利用 NIOS II 來觀察電路之運作是否正確。而表 4.2 為本系統執行實驗環境。 表 4. 2 本系統分別於硬體與軟體之實驗環境 硬體實驗環境. 軟體實驗環境. Device:Altera Stratix® V GX FPGA. CPU:Intel(R) Core(TM) i7-4790 CPU. 5SGXEA7N2F45C2. @ 3.60GHz. CPU:NIOS II Processor 200MHz. RAM:32 GB. Eclipse. MATLAB 2014a. 41.

(51) 第四章 實驗數據與效能分析. 第二節. 實驗數據呈現與討論. 本節將著重於相位展開之實驗數據分析與討論,本架構使用 DCT-based 最小 均方演算法實現相位展開法則。 首先,對本論文相位展開單元進行資源消耗之討論與分析,並將其資源消耗 分為四個單元來討論,分別為拉普拉斯運算單元、離散餘弦轉換單元、頻率域運 算單元以及離散餘弦反轉換單元。由於本論文電路之基礎建構元件為加法器、乘 法器、除法器以及暫存器,因此再細分為加法器、乘法器、除法器及暫存器此四 部分,再根據相位展開電路不同硬體單元做資源消耗的分析,如表 4.3 所示,其 中 O 說明資源消耗之複雜度。 表 4. 3 各單元資源消耗複雜度 Laplacian. DCT. Freq. Oper.. IDCT. On-Chip Total. Unit. Unit. Unit. Unit. Memory. Adders. 𝑂(1). 𝑂(log𝑁). 𝑂(1). 𝑂(log𝑁). 0. 𝑂(log𝑁). Multipliers. 𝑂(1). 𝑂(log𝑁). 𝑂(1). 𝑂(log𝑁). 0. 𝑂(log𝑁). Dividers. 0. 0. 𝑂(1). 0. 0. 𝑂(1). Registers. 𝑂(𝑁). 𝑂(𝑁). 𝑂(1). 𝑂(𝑁). 𝑂(𝑁 2 ). 𝑂(𝑁 2 ). 根據表 4.3 可知,加法器與乘法器的資源消耗複雜度皆為 𝑂(log𝑁) ,其主 因在於 DCT 單元與 IDCT 單元皆使用 FFT 模組作為實現之方法。暫存器的資源 消耗複雜度是依照 N 來做決定,其原因在於用來儲存原始影像資料、計算過程中 所產生的資料以及最後計算之結果的內建記憶體。. 42.

(52) 第四章 實驗數據與效能分析. 接著對本論文架構之物理實現進行整理與分析。由於本架構之設計平台為 Altera Quartus II 14.0,使用此軟體對本架構進行分析與合成,接著進行繞線佈局, 在完成所有動作後,由 Altera Quartus II 將本論文架構之不同硬體單元的資源消 耗做整理與統計。 表 4. 4 相位展開單元平行運作之各硬體單元資源消耗 Phase. Hardware. Laplacian. DCT. Freq. Oper.. IDCT. On-Chip. Size. Resource. Unit. Unit. Unit. Unit. Memory. 128x128. 256x256. 512x512. Total. ALMs. 5,087. 9,088. 563. 9,325. 0. 24,063. DSP Blocks. 0. 28. 5. 36. 0. 69. Memory Bits 11,281. 57,568. 12,800. 57,568. 1,048K. 1,187K. ALMs. 5,104. 11,448. 563. 11,660. 70. 28,845. DSP Blocks. 0. 36. 5. 44. 0. 85. Memory Bits 22,129. 187,864. 20,992. 187,864. 4,194K. 4,612K. ALMs. 5,108. 11,578. 563. 11,841. 283. 29,373. DSP Blocks. 0. 36. 5. 44. 0. 85. 237,016. 37,376. 237,016. 16,777K. 17,332K. Memory Bits 44,209. 表 4.4 為本架構在不同維度下各硬體單元的資源消耗,包含拉普拉斯運算單 元、離散餘弦轉換單元、頻率域運算單元以及離散餘弦反轉換單元。此外,由於 本架構之相位展開單元可以分為循序運作與平行運作兩種,當平行運作時,本架 構必須擁有兩組 FFT 模組來解決結構性危害,因此 DCT 單元以及 IDCT 單元各 自擁有一個 FFT 模組。表 4.4 也根據不同的相位平面尺寸做資源消耗的統計與整 理 , 包 含 128 × 128(i. e. , 𝑁 = 128) 、 256 × 256(i. e. , 𝑁 = 256) 以 及 512 × 512(i. e. , 𝑁 = 512)。. 43.

(53) 第四章 實驗數據與效能分析. 本論文使用 Altera Stratix® V GX FPGA 作為實現電路開發板,並將資源消 耗根據三種類型分開討論與統計,分別為 Adaptive Logic Modules (ALMs)、 Embedded memory bits 以及 DSP Blocks。其中 ALMs 用來實現數學運算子與暫存 器,Embedded memory bits 用來實現內建記憶體,DSP Blocks 則只用來實現數學 運算子。本論文之架構皆使用 IEEE 754 單精度格式,其長度為 32 bits。 由於數學運算子之資源複雜度跟隨著 log 𝑁 成長,由表 4.4 也可發現,當𝑁 變大時,DSP Blocks 之數目呈現緩慢增加。而 ALMs 主要使用來合成數學運算 子與暫存器,因此 ALMs 之數目根據 𝑁 所增加。此外,Embedded memory bits 之數目則是以 𝑁 2 的速率增加。 本論文使用之 Altera Stratix® V GX FPGA 開發板含有 234,720 ALMs、256 DSP Blocks 以及 52,428,000 Embedded memory bits。根據表 4.4 整理不同維度的 資源使用比率,如表 4.5。 表 4. 5 相位展開單元平行運作之硬體資源消耗比率 Phase Size 128 × 128 256 × 256 512 × 512. Embedded memory. ALMs. DSP Blocks. 24,063/234,720. 69/256. 1,187K/52,428K. (10.2%). (26.9%). (2.2%). 28,845/234,720. 85/256. 4,612K/52,428K. (12.2%). (33.2%). (8.7%). 29,373/234,720. 85/256. 17,332K/52,428K. (12.5%). (33.2%). (33.0%). 44. bits.

(54) 第四章 實驗數據與效能分析. 由於前述資源消耗以相位展開單元之平行運作做討論,本段將討論相位展開 單元循序運作之硬體資源消耗。循序運作意即同一時間只會啟動一個硬體單元, 因此可以避免平行運作由於 DCT 單元與 IDCT 單元同一時間皆需要使用 FFT 模 組所遇到的結構性危害,表 4.6 將 FFT 單元獨立出來討論其資源消耗,並整理不 同相位尺寸下本架構對 FPGA 之硬體消耗比率,如表 4.7。 表 4. 6 相位展開單元循序運作之各硬體單元資源消耗 Phase. Hardware. Laplacian. DCT-IDCT. Size. Resource. Unit. Unit. 128x128. 256x256. 512x512. Freq. Oper. Unit. On-Chip Memory. Total. ALMs. 5,087. 9,325. 563. 0. 16,256. DSP Blocks. 0. 36. 5. 0. 45. Memory Bits. 11,281. 57,568. 12,800. 1,048K. 1,137K. ALMs. 5,104. 11,660. 563. 70. 18,585. DSP Blocks. 0. 44. 5. 0. 53. Memory Bits. 22,129. 187,864. 20,992. 4,194K. 4,440K. ALMs. 5,108. 11,841. 563. 283. 19,112. DSP Blocks. 0. 44. 5. 0. 53. Memory Bits. 44,209. 237,016. 37,376. 16,777K. 17,127K. 表 4. 7 相位展開單元循序運作之硬體資源消耗比率 Phase Size 128 × 128 256 × 256 512 × 512. Embedded memory. ALMs. DSP Blocks. 16,256/234,720. 45/256. 1,137K/52,428K. (6.9%). (17.5%). (2.1%). 18,585/234,720. 53/256. 4,440K/52,428K. (7.9%). (20.7%). (8.4%). 19,112/234,720. 53/256. 17,127K/52,428K. (8.1%). (20.7%). (32.6%). 45. bits.

(55) 第四章 實驗數據與效能分析. 本架構之相位展開單元選擇以 DCT-based 最小均方演算法作為實現法則。表 4.8 為不同相位尺寸下,相位展開單元循序運作各硬體單元的執行時間,並且以 230 MHz 之時脈運行相位展開電路。 表 4. 8 相位展開單元循序運作之各硬體單元執行時間 Laplacian. DCT. Freq. Oper.. IDCT. Unit. Unit. Unit. Unit. 256 × 256. 0.2990. 1.1616. 0.2988. 1.1618. 2.9212. 512 × 512. 1.1549. 4.5897. 1.1536. 4.5899. 11.4881. Phase Size. Total. 時間單位:ms 表 4.9 為在 200MHz 工作頻率下之相位展開單元平行運作的執行時間。平 行運作時,相位展開電路各硬體單元所產出之輸出能夠立即提供給下一級硬體單 元做使用,進而降低執行時間,也減少記憶體的存取次數。換而言之,同一時間 不只有一個硬體單元被啟動。 表 4. 9 相位展開單元平行運作之各硬體單元執行時間 Phase Size. Laplacian. DCT. Freq. Oper.. IDCT. Unit. Unit. Unit. Unit. Total. 256 × 256. 1.7321. 1.7321. 512 × 512. 6.8801. 6.8801 時間單位:ms. 由表 4.8 與表 4.9 整理得知,影像尺寸 256 × 256於循序運作與平行運作之 時間分別為 2.9212 ms 與 1.7321 ms,大約減少 40%的執行時間。影像尺寸 512 × 46.

(56) 第四章 實驗數據與效能分析. 512於循序運作與平行運作之時間分別為 11.4881 ms 與 6.8801 ms ,大約減少 40%的執行時間。 表 4. 10 相位展開單元之執行時間與產出量 Sequential. Parallel. Phase Size Time. Throughput. Time. Throughput. 256 × 256. 2.9212 ms. 22.4 Mpps. 1.7321 ms. 37.8 Mpps. 512 × 512. 11.4881 ms. 22.8 Mpps. 6.8801 ms. 38.1 Mpps. 由表 4.5 與表 4.6 得知不同條件下相位展開單元的執行時間,藉由執行時間 可以計算出本論文相位展開單元的產出量,並作為速度量測的依據。此外,產出 量亦可作為相位展開單元每秒鐘可以重建的非折疊相位數量。表 4.10 即顯示本 論文之相位展開單元在不同相位尺寸及運作行為的執行時間與產出量,並可觀察 出平行運作相較於循序運作擁有更高的產出量,以相位平面尺寸為 512 × 512 為例,相位展開單元的產出量為每秒 38.1 百萬像素(Mpps)。 相位展開電路可選擇不同的法則來實現,不同的法則各自擁有其優缺點。此 外,法則之電路實現平台也有不同,造成無法對不同相位展開電路實現之效能做 直接的比較,但是仍然可以根據相位展開電路的執行時間作效能之比較。本論文 蒐集不同相位展開之法則實現與不同硬體實現平台的執行時間作為本論文相位 展開單元效能之比較,如表 4.11 所示,。. 47.

(57) 第四章 實驗數據與效能分析. 表 4. 11 相位展開之執行時間比較 實作 本論文架構之 平行運作 本論文架構之 循序運作 Rivera et al. [9]. 執行時間. 影像尺寸. FPGA Altera 512 × 512. 6.9 ms. FPGA Altera 512 × 512. 11.5 ms. 930 ms. 512 × 512. 672 ms. 512 × 512. 8.0 ms. 512 × 512. 1.7 ms. 512 × 512. Hwang et al. [14]. 8.9 ms. 513 × 513. Braganza et al. [15]. 24.7 s. 1024 × 512. 189.1 ms. 512 × 512. [11] Bhaduri et a1. [12] Backoach et al. [13]. Hwang et al. [16]. Stratix V 5SGXEA7N2F45C2. 512 × 512. Karasev et al.. Stratix V 5SGXEA7N2F45C2. 56s. Gao et .al [10]. 實現平台. Intel I7 3.3 GHz GPU NVIDIA Geforce 295 GTX. GPU NVIDIA Geforce 8800 GTX. GPU NVIDIA Geforce 470M GTX. GPU NVIDIA Geforce 650 GTX. FPGA Altera Stratix III EP3SL150. FPGA Xilinx Virtex II Pro. FPGA Altera Stratix III EP3SL150. 本論文之相位展開單元以 230MHz 之時脈運行,而本論文所使用之相位展開 法則屬於非迭代運算,再加上平行運作之使用,使得本論文之相位展開單元執行 時間卓越。即使文獻 [14]之架構也使用屬於非迭代運算的相位展開法則,其運行 於時脈 500 MHz 下的執行時間仍然高於本論文之相位展開架構,其主因在於其 架構屬於循序執行架構,如欲平行運作,其架構於執行 FFT 與 IFFT 同時運算時,. 48.

(58) 第四章 實驗數據與效能分析. 造成大量儲存資料的負擔。本架構 FFT-based 的 DCT 運算只會產生實部資料, 使得本架構可以有效地在低時脈與低功率消耗之下平行運作。 表 4. 12 相位展開之功率消耗比較 實作 本 論 文 循序運作 架構. 平行運作. 時脈. 功率消耗. FPGA Altera. 3W. 200 MHz. 3.36W 5W. 500 MHz. Hwang et al. [16]. 2W. 50 MHz. 220 W. Duan et a1. [18]. 280 W. Stratix V 5SGXEA7N2F45C2. Hwang et al. [14]. Jiao et a1. [17]. 實現平台. FPGA Altera Stratix III EP3SL150. FPGA Altera Stratix III EP3SL150. GPU NVIDIA Geforce 280M GTX. GPU NVIDIA Geforce 480M GTX. 表 4.12 說明相位展開於不同實現平台運作的平均功率消耗,本架構於 FPGA 之功率量測使用 Altera 所提供的 PowerPlay Power Analyzer Tool,由於本架構比 起文獻 [14]運行之時脈低,因此功率消耗相對的也較低。而文獻 [16]即使有更 低的功率消耗,但其執行時間過長,並不適用於即時性的應用。由於 2D FFT 為 相位展開運算重要的核心之一,因此將文獻 [19]之 GPU-based 2D FFT 實作之功 率消耗進行比較。由表 4.12 可知,GPU 運行時脈高,雖然其運算速度極快,但 其功率消耗高。 從前述執行時間與功率消耗之角度進行討論,本架構之執行時間優異,加上 低功率消耗之特性,更適合用於有限電源供應與即時性的應用中。. 49.

參考文獻

相關文件

然則,智顗之學說體系在其各主要著作中雖見端倪,猶乏全面之統整。本文之

機器人、餐飲服務、花藝、雲端運算、網路安全、3D 數位遊戲藝術、旅 館接待、行動應用開發、展示設計、數位建設

由於 Android 作業系統的開放性和可移植性,它可以被用在大部分電子產品 上,Android 作業系統大多搭載在使用了 ARM 架構的硬體設備上使裝置更加省電

針對 WPAN 802.15.3 系統之適應性柵狀碼調變/解調,我們以此 DSP/FPGA 硬體實現與模擬測試平台進行效能模擬、以及硬體電路設計、實現與測試,其測 試平台如圖 5.1、圖

FPGA(Field Programmable Gate Array)為「場式可程式閘陣列」的簡稱,是一 個可供使用者程式化編輯邏輯閘元件的半導體晶片

近年來,國內外已經有很多學術單位投入 3D 模型搜尋的研究,而且在網路 上也有好幾個系統提供人使用,例如台灣大學的 3D Model Retrieval

通常在研究賽格威這類之平衡系統時在於機構之設計是十分的昂貴,本論文

本研究以河川生態工法為案例探討對象,應用自行開發設計之網