论文部分内容阅读
数字半色调技术是直接影响打印系统打印效果的关键技术之一。误差扩散算法由在半色调结果和性能方面的诸多优势,使其成为成为一种应用最为广泛的半色调算法。然而,传统的误差扩散算法应用到彩色图像处理时存在诸多弊端:一方面,其忽略了不同颜色通道之间的相关性,将每个颜色通道的数据信息独立地进行误差扩散处理,得到的半色调图像质量较低,矢量误差扩散算法很好地解决了该问题,其处理过程保留了颜色通道间的相关性,半色调结果更优;另一方面,现有算法主要是基于PC机平台进行实现,且整个流程串行执行,不仅无法满足打印系统对实时性的要求,而且也加大了打印系统对PC机的依赖性,限制了打印系统的脱机运行;与此同时,FPGA相关技术快速发展,为打印系统实现脱机打印提供了技术基础。因此,研究基于FPGA矢量误差扩散算法具有重要的意义。本文分析了FPGA平台上实现矢量误差扩散算法的可行性,对关键技术进行了设计实现,主要贡献如下:1.多颜色通道并行运算研究。将矢量误差扩散算法的过程进行模块分解,通过设计预存储器使其中需要协同运行的误差查找模块能够并行运行,从而实现多通道并行。2.多通道误差扩散。设计了误差扩散值查找模块,并采用最优误差系数矩阵Linearized CIELab矩阵替换传统的Floyd-Steinberg矩阵,实现了误差在多通道之间的良好扩散。3.误差值生成优化。采用额外寄存器作为符号位的方法将Verilog中的无符号数运算扩展为有符号数运算,同时设计了扩散系数预存储器替换算法过程中的乘法运算,提高了算法性能。4.系统流水线设计。设计了流水线的流程结构,减小了算法的运行时间,提高了系统的并行性和吞吐率。最后,将算法封装为易于复用的IP核,并基于SoCKit平台实现了验证系统。实验结果显示,基于FPGA的矢量误差扩散算法运行结果与Matlab实现结果相比,在效果上略有差距,而在速度上具有很大的优势,在保证半色调结果的前提下不仅满足了打印系统的实时性要求,也为打印系统的脱机运行提供了基础。