半色調

半色調（Halftone）是指為了模擬出連續調影像（色階）的視覺感覺，一般用墨點（半色調網點）的大小或頻率的改變，來模擬明暗的變化。

半色調技術是傳統印刷中用來處理階調並模擬連續調（continue tone）的方法，通常也稱為過網（screening）技術。半色調是相對於連續調表示階調的一種方法，一般我們所看到銀鹽相片上的影像是由連續的層次所構成，像這樣的影像稱之為連續調影像。相對而言，印刷機或印表機上所列印的影像，只能藉由著墨或不著墨兩種階調來表現層次，像這樣的兩值化影像稱為半色調影像。只要藉由調整不同形式、不同大小的墨點，利用人眼可以將影像中鄰近墨點進行視覺積分的原理，在一定的距離觀察下，便可以使二值化影像重現連續調的感覺。也就是說，當這些墨點越小時，二值化影像就可以在越短的觀測距離下，被人眼觀測積分成近似連續調的影像。

隨電腦科技的進步，數位半色調（Digital Halftoning）技術已經取代了傳統的過網程式。一般數位過網的網點分成兩種形式，分別為調幅網點（Amplitude Modulation/AM）與調頻網點（Frequency Modulation/FM），簡單來說，AM 網點是利用網點面積大小來表現影像的濃淡深淺；FM 網點則是以網點排列間距的疏密不同，來呈現影像的層次。目前較常用的半色調技術主要可以分成有序抖動法、錯誤擴散法這裡我們除了介紹上述常用的半色調技術，又額外介紹高重建品質的迭代式半色調技術稱為 LMS 半色調技術與結合誤差擴散法有序抖色法數位半色調技術，都充分表現與說明其方法比傳統的半色調技術有更好的影像輸出品質。

種類

 調幅網點（Amplitude Modulation）

即傳統半色調網點
網點的頻率固定
以單位面積內的網點大小，來表現明暗的差異

 調頻網點（Frequency Modulation）

網點大小固定。以改變點與點之間的距離的方式（改變頻率），來表現明暗的變化。
為亂數排列的網點形式，又稱為隨機過網（Stochastic Screening）

 混合式網點（Hybrid Modulation）

混合式過網：原稿之暗部與亮部區域用 FM 網點，中間呼叫 AM 網點，可獲得良好之效果。
FM 與 AM 網點在影像細緻度與色彩表現上各有優點，使用混合式網點的目的，就是要兼顧影像之細緻與色彩之表現。

半色調影像處理

半色調技術應用於印刷領域已有一個多世紀，應用在數位輸出裝置上也有 40 多年。隨著噴墨印表機、數位印表機、數位相機等數位輸出裝置應用越來越普遍，半色調輸出在印刷技術中扮演極重要角色，除了可以降低印刷成本也同時可以在通訊傳輸中降低頻寬需求，所以普遍受到關注。數位半色調技術除了在印刷與影像輸出方面的應用，還應用於壓縮儲存、及醫學等領域。因此數位半色調技術具有重要的理論意義和使用價值。

而數位半色調 (Digital Halftoning) 是一種利用網點分佈疏密程度在視覺上造成影像灰階變化的技術，是指基於人眼視覺特性和影像呈色特性，利用數學、計算機等工具，在二值（或多色二值）呈色裝置上實現影像的最佳重現的一項技術。當區域內的網點分佈密度高於某程度時，眼睛的低通濾波特性會將此區域的網點看成為具有單一灰階值的影像，而當網點的分佈愈密集時，眼睛所接收到的灰度值會愈低 (也就是愈黑); 反之當網點的分佈愈稀疏時，眼睛所接收到的灰度值會愈高 (也就是愈白)。數位半色調是利用人眼的低通特性，當在一定距離下觀察時，人眼將影像中，空間上接近的部分視為一個整體。利用此特性，人眼觀察到的半色調影像區域性平均灰階近似於原始影像的區域性平均灰階值，盡而整體上形成連續色調的效果。

根據數位半色調的應用特性和不同領域，人們提出了許多方法。按照方法的處理方式進行分類時，可分為點處理法、鄰域處理法和迭代法。點處理法是最簡單的方法，這類演演算法利用數位方式來模擬印刷工業中傳統的接觸加網過程，其產生的半色調影像中的每個畫素單元僅取決於畫素的階調，其中最重要的方法有半色調模板法和有序抖動法 (Ordered Dithering)；鄰域處理法對連續調影像待處理畫素的鄰域內多個畫素進行運算，以獲得半色調影像的畫素值，這類演演算法中較典型的是誤差擴散法和點擴散法；迭代法是一種迭代處理的演演算法，它需要多次比較計算以獲得最佳的半色調影像，所以其計算量最大，這類演演算法中較典型的是最小平方法和直接二元搜尋法。

半色調技術從網點輸出來區分有 AM 及 FM 兩種。AM 又稱為振幅調變法 (Amplitude Modulation, AM)，網點大小不一但網點中心間距保持一定的網線數 (Line Per Inch) 的方法，其原理在於模擬連續色度時，對於黑度值較大的區域，以相對較大網點輸出，反之以較小網點輸出；FM 又稱為頻率調變法 (Frequency Modulation)，其網點大小保持一定但其網點配置頻率為不定的隨機分佈，其主要原理在於以網點的分佈不相等，用頻率模擬輸入影像連續色度時黑度值的大小。

AM 的方法是先分割輸入影像成大小相同之不重疊方塊，每一方塊與大小相等的臨界陣列 (Threshold Array) 相比而決定是否輸出網點，臨界陣列的選擇與設計主要可分集中式 (Clustered Dot) 及分散式 (Dispersed Dot) 網點。FM 的方法則將輸入影像畫素點與純數臨界值量化 (Scalar Threshold Quantizer)，因量化結果產生的誤差，藉著加權函式 (Mask) 以不等加權比例將量化誤差擴散 (Error Diffusion) 至其相鄰尚未處理的畫素點。

依數位半色調技術的演進大致可分為早期的雜訊編碼法 (noise encoding)，中期的有序抖色法 (ordered dithering) 以及近期的誤差擴散法 (error diffusion, ED) 三種。

傳統的與現代的數位半色調技術

 雜訊編碼法 (noise encoding)

是數位半色調技術早期方法，其方法為將輸入影像先加入雜訊後再進行量化。以 256 灰階的影像加入常用的高斯雜訊為例，當輸入影像與高斯雜訊相加後再與臨界值 (Threshold Value) 進行比較，凡相加值大於臨界值 (127) 則輸出白點 (即輸出值等於 255)，反之則輸出黑點 (即輸出值等於 0)，早期的電視製造業者大都採用此方法來改善電視的視訊畫質。

 有序抖色法技術

有序抖色法為利用一臨界值將連續影像分割成與臨界值矩陣尺寸相同大小的區塊，再將它們與一組具有排列順序的臨界值矩陣與輸入影像的灰階值作比較，若相對位置的影像灰階值大於臨界值則輸出白點，反之則輸出黑點，且藉由設計一小區域不等的階權重係數，產生的網點排列方式與形狀則會受到矩陣內的臨界值所影響，所以不一樣的臨界值矩陣會形成不同的網點排列。簡單的臨界值矩陣是那種每個畫素點都有固定值的矩陣，但用這種臨界值矩陣的有序抖色法，大多數存在連續影像的細節會丟失，並且得到相應半色調影像對比原連續影像存在很大的失真。依臨界值矩陣其型態就可分為兩類：集中式點陣法 (Clustered Dot Ordered Dithering)、分散式點陣法 (Dispersed Dot Ordered Dithering)。

 集中式點陣法 (Clustered Dot Ordered Dithering)

集中式點陣法是 AM 振幅調變法的一種，網點大小不一但網點中心間距保持一定的網線數 (Line Per Inch) 的方法，其加網矩陣精心設計用以模擬半色調處理過程。當連續調影像的畫素密度減小時，網點將在畫素的周圍生成。其矩陣臨界值的變化由中心向外擴大，矩陣之臨界值亦有呈的排列方式。利用集中的黑點分佈使得網點影像中有灰階錯覺的產生，因為黑點是集中式的分佈，所以容易在低頻區域產生一些紋理，而人眼對於低頻的亮度變化又比較敏感，因此這些非影像本身所造成的低頻紋理就會破壞整體的視覺效果，降低影像品質。

 分散式點陣法 (Dispersed Dot Ordered Dithering)

分散式點陣法是 FM 頻率調變法的一種，其網點大小保持一定但其網點配置頻率為不定的隨機分佈，是為了減少半色調影像裡低頻的部份而設計的，因為人眼對高頻較不敏銳，且分散式點陣法對影像邊界能保留的資訊也較集中式點陣法來的多。其臨界值排列則是由矩陣的四周開始均勻地排列，利用單位面積內均勻散置的黑點疏密度造成輸出影像的灰階效果，雖然不會產生低頻的紋理雜訊，但因為像點是獨立產生的，所以較易受到網點擴張的影響，使其也較易受到鄰近黑點間的重疊現象而影響影像中較暗區域的細節變化。分散式點陣法是由 Bayer 提出的，他指出非理想人工紋理的可見性可以透過對不同亮度等級的網點模式進行傅立葉分析得到。當一個一致色塊的網點模式在不同波長都有成份時，有限波長中最長波長對應的成分就是可見度最高的成分。基於這個標準，Bayer 設計了最佳化的佳網矩陣，應用這個矩陣的分散式有序抖動得到的半色調影像包含了更多可見的細節。

 誤差擴散法技術

由來與類別

誤差擴散法是一種比較流行且效果較好的半色調技術，因為有序抖色法是以一個區塊接續一個區塊與相同臨界值矩陣來對整張影像進行半色調處理，因此在影像中具有邊緣特徵的部份會因為整個區塊為主的量化而失去銳利的視覺影像，主要原因是因為區塊的量化誤差容易集中在該區域內，為了改善此問題最早是在西元 1975 年由 R.W.Floyd 和 L.Steinberg 所提出，基本思想是先按照一定的掃描路徑臨界值量化影像畫素，然後以一定的方式擴散到相鄰未處理的畫素上，目的是希望能夠儲存平均的階調值相同，並且企圖使階調的分佈區域性化，已達到保留連續影像細部的資訊，但因為誤差擴散將黑白均勻的分散，造成高頻資訊部份遺失，使得高頻品質較差。這種演演算法需要進行鄰域處理，它能夠為印刷機提供更高的半色調品質並且不引起網點增益，產生的半色調影像色調豐富，畫素點也會因為不同的運算順序，產生不同方向性的紋理也稱為 Worm Effect，傳統的執行方式為逐行掃描 (Raster Scan)，但逐行掃描會產生嚴重 Worm Effect 問題，所以使用其他執行方法如 Serpentine Path 或 Space-filling Curves 來解決 Worm Effect 問題，而 Jarivs 與 Stucki 也提出了不同的誤差擴散濾鏡，來改善上述的問題。Floyd-Steingerg、Jarivs et al. 與 Stucki 提出的不同誤差擴散濾鏡。

技術運作原理與概念

誤差擴散法，其工作原理如圖所示，Pi (i,j) 是原始影像灰階值，Po (i,j) 是處理後的輸出值，v (i,j)= Pi (i,j)+ 誤差修正值 (即誤差擴散濾波器之輸出)，e (i,j)= Po (i,j)-v (i,j)，t 是臨界值，一般選用的臨界值是取 0~255 的中間值 127，(i,j) 是畫素點座標，若 v (i,j)>t 則 Po (i,j)=255 (即輸出白點)，反之 Po (i,j)=0 (即輸出黑點)。誤差擴散濾波器 h (i,j) 以加權的方式將誤差值 e (i,j) 分散至鄰近畫素的影像值，如此可以調整因量化所造成的明暗度偏差，使輸出影像的整體視覺效果能更近似原始的輸入影像。