本論文硬體架構以及實驗結果之總結。
第二章 基礎理論及技術背景
本章節將介紹本論文所使用的基礎理論與技術背景。第一節介紹本架構相位 重建之法則:菲涅耳轉換。第二節介紹本架構相位展開之法則: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)∑𝑁−1𝑥=0∑𝑁−1𝑦=0[𝜂𝑥,𝑦𝑒𝑗𝜆𝑧𝜋Δ𝑓2(𝑥2+𝑦2)]𝑒−𝑗2𝜋(𝑥𝑢𝑁+𝑦𝑣𝑁) (2.1.2)
{𝐵𝑢,𝑣, 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.1.4)
𝜇𝑥 = 𝑒𝑗𝜆𝑧𝜋Δ𝑓2(𝑥2), 𝜇𝑦 = 𝑒𝑗𝜆𝑧𝜋Δ𝑓2(𝑦2) (2.1.5)
公式(2.1.5)與全像圖資訊𝜂𝑥,𝑦相乘後得到函數𝜌𝑥,𝑦,化簡如公式(2.1.6)。𝜌𝑥,𝑦為一週 期函數,因此可以將其做傅立葉轉換後得到函數𝜏𝑢,𝑣,如公式(2.1.7)。本論文中以 快速傅立葉轉換的架構來計算𝜏𝑢,𝑣,相關的計算電路將於第三章系統架構中詳細
討論。
𝜌𝑥,𝑦 = 𝜂𝑥,𝑦× 𝜇𝑥× 𝜇𝑦 (2.1.6)
𝜏𝑢,𝑣 = ∑𝑁−1𝑥=0∑𝑁−1𝑦=0𝜌𝑥,𝑦𝑒−𝑗2𝜋(𝑥𝑢𝑁+𝑦𝑛𝑁) (2.1.7)
由於菲涅耳轉換式中𝜆為固定數值、𝑧也假設為已知焦距,因此可定義一定值𝛼,
將其化簡為公式(2.1.8),
𝛼 =−𝑗𝜆𝑧𝑒𝑗2𝜋𝜆𝑧 (2.1.8)
另外,與𝜏𝑢,𝑣相乘之指數函數也可仿公式(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(𝑄𝐼) =
𝑄 𝐼
1+0.28086(𝑄𝐼)2, −1 ≤𝑄𝐼 ≤ 1 (2.1.12) 另外,由於計算出的(𝑄𝐼)不一定符合公式(2.1.12)的條件−1 ≤𝑄𝐼 ≤ 1,為了解 決這個問題,本論文的反正切運算將會以公式(2.1.12)搭配公式(2.1.13)及公式 (2.1.14)使用。
𝑡𝑎𝑛−1(𝑄𝐼) = 𝜋2− 𝑡𝑎𝑛−1(𝑄𝐼) ,𝑄𝐼 > 0 (2.1.13)
𝑡𝑎𝑛−1(𝑄𝐼) = −𝜋2− 𝑡𝑎𝑛−1(𝑄𝐼) ,𝑄𝐼 > 0 (2.1.14)
整理以上的公式,此章節的菲涅耳轉換公式以及 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)對函數𝐵𝑢,𝑣進行反正切運算求得相位 值𝜙𝑢,𝑣。
第二節 相位展開之基礎理論
本論文相位展開之流程為對繞射計算所重建之不連續相位進行相位展開,還 原物體真實連續相位,並採用 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π的倍數做加法或減法來將輸入的資料 折疊在 [ -π , π ) 這個範圍內。因此 ∆𝑢,𝑣𝑥 與 ∆𝑢,𝑣𝑦 之範圍也會介於 –π 與 π 之間。
DCT-based 相位展開演算法其目的為找出藉由 𝜙𝑢,𝑣 所最小化的成本函數 J,其 公式如公式(2.2.3),
J
= ∑𝑁−2𝑢=0∑𝑁−1𝑣=0(𝜙𝑢+1,𝑣− 𝜙𝑢,𝑣− ∆𝑢,𝑣𝑥 )2+ ∑𝑁−1𝑢=0∑𝑁−2𝑣=0(𝜙𝑢,𝑣+1− 𝜙𝑢,𝑣− ∆𝑢,𝑣𝑦 )2, (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, 𝑣 = 0, … , 𝑁 − 1, (2.2.6)
∆𝑢,−1𝑦 = 0, ∆𝑢,𝑁−1𝑦 = 0, 𝑢 = 0, … , 𝑁 − 1, (2.2.7)
而公式(2.2.4)之 𝜙 與 𝛾 可經由 𝑁 × 𝑁 離散餘弦轉換分別得到結果 Φ 與 Γ,
因此公式(2.2.4)可以於 DCT 領域做計算如公式(2.2.8),
Φ
𝑚,𝑛=
Γ𝑚,𝑛2 cos(𝜋𝑚/𝑁) + 2 cos(𝜋𝑛/𝑁) − 4 , (2.2.8)
且 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 之輸 入資料。
第三節 自動對焦之基礎理論
一張清晰影像的特性在於可呈現明確的邊緣變化,換而言之,相鄰像素間灰 階值的差異值或是梯度值也會越大,特別是屬於邊界的部份,模糊影像則相對沒 有清晰影像之特性。此外,影像模糊之原因在於影像高頻能量不足,低頻能量多。
反之,清晰影像則擁有較多的高頻能量,利用這些影像特性,將影像以差異值或 梯度值做處理而得到影像清晰度值,進而利用清晰度值作為判別對焦是否準確的 指標。
本論文使用 Normalized Variance 量測經由相位展開重建之影像的差異值,
Normalized Variance 可視為 Tamura measure 的衍伸型,𝑃 為重建影像 𝜙 經過位
移至零點以上,再調整於 0 與 1 區間的影像資料,令 Tamura measure 對 𝑃 的計 算結果為 𝑇(𝑃),定義如公式(2.3.1),
𝑇(𝑃) = √𝜎(𝑃)𝛾(𝑃) (2.3.1)
其中 𝜎(𝑃) 代表重建影像 𝑃 之標準差,而 𝛾(𝑃) 則為影像 𝑃 之平均值。
𝛾(𝑃) 與 𝜎(𝑃) 之定義分別為公式(2.3.2)與(2.3.3),
𝛾(𝑃) =𝑁12∑𝑁−1𝑢=0∑𝑁−1𝑣=0𝑃𝑢,𝑣 (2.3.2)
𝜎(𝑃) = √𝑁12∑𝑁−1𝑢=0∑𝑁−1𝑣=0[𝑃𝑢,𝑣 − 𝛾(𝑃)]2 (2.3.3)
本論文所用的 Normalized Variance 之結果為 𝑉(𝑃),其計算內容如公式(2.3.4),
𝑉(𝑃) =𝜎(𝑃)𝛾(𝑃)2 (2.3.4)
上述公式經過化簡後可以得到公式(2.3.5)。
𝑉(𝑃) =𝛾(𝑃)1 [𝑁12∑𝑁−1𝑢=0∑𝑁−1𝑣=0 𝑃𝑢,𝑣2− 𝛾(𝑃)2]
= 𝛾(𝑃)1 [𝑁12∑𝑁−1𝑢=0∑𝑁−1𝑣=0 𝑃𝑢,𝑣2] − 𝛾(𝑃) (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 影像清晰度值最大之對應焦距進行正確焦距之清晰影 像重建。
本章前三節分別說明自動對焦 3D 全像重建系統之基礎理論,最後整理自 動對焦全像重建流程如下:
圖 2. 1 自動對焦重建系統之流程圖
第四節 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)作為其設計 架構,將整個系統的主要功能及周邊電路整合於單一晶片,晶片內部資料傳輸大
部分採用點對點連線(Point-to-Point, P2P)或共享匯流排(Share bus)的方式進行連 接,分別如圖 2.2 與圖 2.3。其缺點為隨著系統複雜度提高,可能出現少數難以 控制的電子特性或匯流排過長而使傳輸延遲變大,其擴充性也較低。此外,所有 子系統共享同一匯流排,將造成並行能力差。
圖 2. 2 SoC-P2P
圖 2. 3 SoC-Shared bus
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
第三章 系統架構
本章節將著重於本論文自動對焦重建系統硬體架構之討論,分別為相位展開 電路、繞繞射計算電路及評估值計算電路。以下介紹各節之重點,第一節討論整 體系統之硬體架構,第二節為相位展開電路之架構,而第三節討論繞射計算電路 之架構,最後第四節則為評估單元電路之架構。
第一節 整體系統架構
本節討論本論文之自動對焦重建系統藉由 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 數位全像重建系統架構圖
Hologram Reconstruction System 電路可再細分為五個部分,如圖 3.2 所示,
分別為菲涅耳轉換單元、表格建置單元、相位展開單元、評估單元以及內建記憶
分別為菲涅耳轉換單元、表格建置單元、相位展開單元、評估單元以及內建記憶