半色调

半色调（Halftone）是指为了模拟出连续调影像（色阶）的视觉感觉，一般用墨点（半色调网点）的大小或频率的改变，来模拟明暗的变化。
半色调技术是传统印刷中用来处理阶调并模拟连续调（continue tone）的方法，通常也称为过网（screening）技术。半色调是相对于连续调表示阶调的一种方法，一般我们所看到银盐相片上的影像是由连续的层次所构成，像这样的影像称之为连续调影像。相对而言，印刷机或印表机上所列印的图像，只能借由著墨或不著墨两种阶调来表现层次，像这样的两值化影像称为半色调影像。只要借由调整不同形式、不同大小的墨点，利用人眼可以将图像中邻近墨点进行视觉积分的原理，在一定的距离观察下，便可以使二值化影像重现连续调的感觉。也就是说，当这些墨点越小时，二值化影像就可以在越短的观测距离下，被人眼观测积分成近似连续调的影像。
随电脑科技的进步，数位半色调（Digital Halftoning）技术已经取代了传统的过网程序。一般数位过网的网点分成两种形式，分别为调幅网点（Amplitude Modulation/AM）与调频网点（Frequency Modulation/FM），简单来说，AM网点是利用网点面积大小来表现图像的浓淡深浅；FM网点则是以网点排列间距的疏密不同，来呈现图像的层次。目前较常用的半色调技术主要可以分成有序抖动法、错误扩散法这里我们除了介绍上述常用的半色调技术，又额外介绍高重建品质的迭代式半色调技术称为LMS半色调技术与结合误差扩散法有序抖色法数位半色调技术，都充分表现与说明其方法比传统的半色调技术有更好的影像输出品质。
半色调影像处理.
    半色调技术应用于印刷领域已有一个多世纪，应用在数位输出设备上也有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)三种。
传统的与现代的数位半色调技术.
    是数位半色调技术早期方法，其方法为将输入影像先加入杂讯后再进行量化。以256灰阶的影像加入常用的高斯杂讯为例，当输入影像与高斯杂讯相加后再与临界值(Threshold Value)进行比较，凡相加值大于临界值(127)则输出白点(即输出值等于255)，反之则输出黑点(即输出值等于0)，早期的电视制造业者大都采用此方法来改善电视的视讯画质。
    有序抖色法为利用一临界值将连续影像分割成与临界值矩阵尺寸相同大小的区块，再将它们与一组具有排列顺序的临界值矩阵与输入影像的灰阶值作比较，若相对位置的影像灰阶值大于临界值则输出白点，反之则输出黑点，且借由设计一小区域不等的阶权重系数，产生的网点排列方式与形状则会受到矩阵内的临界值所影响，所以不一样的临界值矩阵会形成不同的网点排列。简单的临界值矩阵是那种每个像素点都有固定值的矩阵，但用这种临界值矩阵的有序抖色法，大多数存在连续图像的细节会丢失，并且得到相应半色调图像对比原连续图像存在很大的失真。依临界值矩阵其型态就可分为两类：集中式点阵法(Clustered Dot Ordered Dithering)、分散式点阵法(Dispersed Dot Ordered Dithering)。
    集中式点阵法是AM振幅调变法的一种，网点大小不一但网点中心间距保持一定的网线数(Line Per Inch)的方法，其加网矩阵精心设计用以模拟半色调处理过程。当连续调图像的像素密度减小时，网点将在像素的周围生成。其矩阵临界值的变化由中心向外扩大，矩阵之临界值亦有呈的排列方式。利用集中的黑点分布使得网点图像中有灰阶错觉的产生，因为黑点是集中式的分布，所以容易在低频区域产生一些纹理，而人眼对于低频的亮度变化又比较敏感，因此这些非影像本身所造成的低频纹理就会破坏整体的视觉效果，降低影像品质。
    分散式点阵法是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)分散至邻近像素的影像值，如此可以调整因量化所造成的明暗度偏差，使输出影像的整体视觉效果能更近似原始的输入影像。