CN103179321A - 基于误差扩散的图像处理 - Google Patents

基于误差扩散的图像处理 Download PDF

Info

Publication number
CN103179321A
CN103179321A CN2013100520143A CN201310052014A CN103179321A CN 103179321 A CN103179321 A CN 103179321A CN 2013100520143 A CN2013100520143 A CN 2013100520143A CN 201310052014 A CN201310052014 A CN 201310052014A CN 103179321 A CN103179321 A CN 103179321A
Authority
CN
China
Prior art keywords
pixel
error
value
error diffusion
accelerator unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2013100520143A
Other languages
English (en)
Other versions
CN103179321B (zh
Inventor
E·罗伯茨
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of CN103179321A publication Critical patent/CN103179321A/zh
Application granted granted Critical
Publication of CN103179321B publication Critical patent/CN103179321B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/40Picture signal circuits
    • H04N1/405Halftoning, i.e. converting the picture signal of a continuous-tone original into a corresponding signal showing only two levels
    • H04N1/4051Halftoning, i.e. converting the picture signal of a continuous-tone original into a corresponding signal showing only two levels producing a dispersed dots halftone pattern, the dots having substantially the same size
    • H04N1/4052Halftoning, i.e. converting the picture signal of a continuous-tone original into a corresponding signal showing only two levels producing a dispersed dots halftone pattern, the dots having substantially the same size by error diffusion, i.e. transferring the binarising error to neighbouring dot decisions

Abstract

一个实施例包括一种方法,该方法包括接收图像的一个以上像素。该方法还包括在重叠的时间上执行对于该一个以上像素的误差扩散。

Description

基于误差扩散的图像处理
本申请是PCT国际申请号为PCT/US2005/045884、中国国家申请号为200580042559.X、题为“基于误差扩散的图像处理”的申请的分案申请。
技术领域
本申请一般涉及数据处理,尤其涉及图像处理。
背景
误差扩散是一种用于在具有有限色彩(色调)范围的输出装置上近似数字图像(诸如连续色调数字图像)的显示的过程。误差扩散最常见地在打印机中用于用二元点值来模拟多种色度(color shade)。例如,仅能打印黑点的打印机可利用误差扩散来模拟多种灰度。
附图简述
通过参考以下描述以及说明这些实施例的附图可最佳地理解本发明的各实施例。用于包含在本文中附图的编号方案是附图中给定的参考标号的第一位号码与该附图的编号相关联。例如,像素102可以位于图1A中。然而,对于在不同的附图中相同的元件的参考标号是相同的。附图中:
图1A示出根据本发明的某些实施例从一像素到周围像素的误差分配。
图1B示出根据本发明的某些实施例从周围像素到一像素的误差的分配。
图2示出根据本发明的某些实施例用于误差分配的伪代码。
图3示出根据本发明的某些实施例从周围像素到多个像素的分数误差值的数据流。
图4示出根据本发明的某些实施例的图像信号处理器的更详细框图。
图5示出根据本发明的某些实施例的用于误差扩散操作的图像信号处理器的更详细框图。
图6示出根据本发明的某些实施例的基于误差扩散的图像处理的流程图。
图7示出根据本发明的某些实施例的由图像信号处理器中的多个元件进行的基于误差扩散的图像处理的操作表。
图8示出根据本发明的某些实施例的用于基于误差扩散的图像处理的系统的简化框图。
详细描述
某些实施例提供了误差扩散操作。误差扩散可包括三个操作。第一个操作包括量化当前像素值以生成输出值。具体地,调整原始像素值以包括从周围像素扩散的误差。在某些实施例中,基于调整值与阈值的比较,该经调整的当前像素值的输出值可以是0或1。误差扩散的第二个操作包括计算输出值和原始像素值之差(即,误差)。误差扩散的第三个操作包括将分数误差(fractional error)值分配到周围像素。尽管可使用多种误差扩散过滤器中的任一种来将误差扩散到周围像素,但在某些实施例中采用了Floyd-Steinberg过滤器。可使用的其它过滤器包括Burkes过滤器、Stucki过滤器等。
图1A示出根据本发明的某些实施例从一像素到周围像素的误差分配。图1A示出包括像素102-118的图像的部分。像素102-118分别是像素P(i-1,j-1)、P(i-1,j)、P(i-1,j+1)、P(i,j-1)、P(i,j)、P(i,j+1)、P(i+1,j-1)、P(i+1,j)和P(i+1,j+1)。如图所示,像素110将其误差值的7/16、3/16、5/16和1/16分别扩散到像素112、114、116和118。
图1B示出根据本发明的某些实施例从周围像素到一像素的误差分配。具体地,图1B示出计算误差然后在误差扩散的阈值操作前将其分配到特定的像素。图1B示出包括像素120-136的图像的部分。像素120-136分别是像素P(i-1,j-1)、P(i-1,j)、P(i-1,j+1)、P(i,j-l)、P(i,j)、P(i,j+1)、P(i+1,j-1)、P(i+1,j)和P(i+1j+1)。如图所示,像素128从像素120接收1/16的分数误差值eA。像素128从像素122接收5/16的分数误差值eB。像素128从像素124接收3/16的分数误差值eC。像素128从像素126接收7/16的分数误差值eD。
图2示出根据本发明的某些实施例的误差分配的伪代码。具体地,图2示出根据本发明的某些实施例可用于执行图1所示的误差分配的伪代码200。代码块202包括中间误差值(1/16*eA、5/16*eB、3/16*eC和7/16*eD)向累加器变量的赋值。代码语句204将图像中位置(i,j)处的像素值加到累加器变量。因此,累加器变量等于位置(i,j)处的像素值加上从周围像素接收的中间误差值。以下陈述周围像素的示例。如果累加器小于一阈值(例如,0.5),则代码块206将值0赋予到位置(i,j)处的像素,如果累加器不小于该阈值,则将值1赋予该像素。代码语句208基于实际值(存储在累加器中的值)和所赋的值(0或1)之差来更新误差缓冲器。
图3示出根据本发明的某些实施例从周围像素到多个像素的中间误差值的数据流。图3示出包括像素302-324的图像的部分。像素302-324分别是像素P(i-1,j-1)、P(i-1,j)、P(i-1,j+1)、P(i-1,j+2)、P(i,j-l)、P(i,j)、P(i,j+1)、P(i,j+2)、P(i+1,j-1)、P(i+1,j)、P(i+1j+1)和P(i+1,j+2)。像素312和314被定义为关于计算的当前像素和下一像素。分数误差值eD(7/16)可从像素310扩散到当前像素312。分数误差值eD可从输入图像316生成并扩散到当前像素302。分数误差值eD(7/16)可从当前像素312扩散到下一像素314。因此,分数误差值eD可作为前一像素的误差计算的一部分来计算。
另外,误差缓冲器存储可从前一行中的周围像素扩散到当前像素312和下一像素314的多个中间误差值。具体地,分数误差值可从像素302扩散到当前像素312(为eA-1/16)。分数误差值可从像素304扩散到当前像素312(为eB-5/16)和下一像素314(为eC-3/16)。分数误差值可从像素306扩散到当前像素312(为eC3/16)和下一像素314(为eB-5/16)。分数误差值可从像素308扩散到下一像素314(为eC-3/16)。
因此,如图所示,当前像素的eB是下一像素的eA。此外,当前像素的eC是下一像素的eB。此外,下一像素的eC从误差缓冲器中检索,而下一像素的eD来自对当前像素的误差计算。以下陈述该数据流的更详细描述。
图4示出根据本发明的某些实施例的图像信号处理器的更详细框图。图像信号处理器400包括输入处理器元件402、输出处理器元件404、多个处理器元件406A-410B、多个寄存器408、多个累加器单元410A-410B、存储器414和存储控制器416。输入处理器元件402、输出处理器元件404、处理器元件406A-406C、累加器单元510A-410B和存储器414(通过存储控制器416)耦合到寄存器408。寄存器408允许处理器元件402、404和406、累加器单元410A-410B和存储器414交换数据,并可用作用于给定处理器元件402、404和406以及累加器单元410A-410B的通用寄存器。此外,处理器元件402、404和406以及累加器单元410A-410B可包括多个局部寄存器(未示出)。
在一个实施例中,输入处理器元件402、输出处理器元件404和处理器元件406A-406B包括指令存储器和用于处理数据的算术逻辑单元(ALU)。输入处理器元件402和输出处理器元件404通过端口环耦合到图像信号处理器400的端口,分别用于接收输入到图像信号处理器400的数据和发送从图像信号处理器400输出的数据。以下更详细地描述根据某些实施例的具有这一配置的架构。
除数据的输入和输出外,输入处理器元件402和/或输出处理器元件404可类似于由处理器元件406A-406C提供的处理来处理数据。不同的处理器元件406A-406C可以是通用处理器元件或专用处理器元件。例如,处理器元件406A-406C可以是包括用于通用处理的指令集以及用于乘法-累加(MAC)功能的指令集的MAC处理器元件。处理器元件406A-406C可以是通用处理器元件和专用处理器元件的组合。例如,处理器元件406A和406C可以是MAC处理器元件,而处理器元件406B可以是通用处理器元件。尽管图4示出图像信号处理器400中的五个处理器元件,但在其它实施例中更少或更多数量的这种处理器元件可结合在图像信号处理器400中。
输入处理器元件402是具有作为输入端口的端口接口的通用处理器元件。在一个实施例中,输入处理器元件402中的指令将端口连同寄存器408和输入处理器元件402中的局部寄存器一起作为另外的输入操作数。输出处理器元件404是具有作为输出端口的端口接口的通用处理器元件。在一个实施例中,输出处理器元件402中的指令将端口连同寄存器408和输入处理器元件402中的局部寄存器一起作为另外的输入操作数。
图5示出根据本发明的某些实施例用于误差扩散操作的图像信号处理器的更详细框图。具体地,图5示出根据本发明的某些实施例的图像信号处理器400的更详细框图。图5包括图4的一些元件,其中相同的元件分布在多个不同的块中以示出这些元件之中的数据流。因此,相同的参考元件涉及图5中不同的块。此外,这些块可包括这里执行的操作的类型的描述。
输入处理元件402的解包(unpack)输入像素块被耦合以接收打包(pack)的输入像素504。输入处理器元件402的解包误差块被耦合以从误差缓冲器502接收中间误差误差值。来自输入处理器元件402的解包输入像素块的输出耦合到加速器单元410A的误差过滤器(偶数)块的输入以及加速器单元410B的误差过滤器(奇数)块的输入。
来自输入处理器元件402的解包误差块的输出耦合到处理器元件406A的误差高速缓存的输入。处理器元件406A的误差高速缓存的输出耦合到加速器单元410A的误差过滤器(偶数)块的输入以及加速器单元410B的误差过滤器(奇数)块的输入。
加速器单元410A的误差过滤器(偶数)块的输入耦合到加速器单元410B的比较块和减法器块的输入。加速器单元410B的误差过滤器(奇数)块的输出耦合到加速器单元410A的比较块和减法器块的输入。阈值输入507耦合到比较块的输入。阈值输入507对两个不同的比较块可以不同。加速器单元410B的比较块的输出耦合到加速器单元410B的减法器块的输入和输出处理器元件404的打包输出像素块的输入。加速器单元410A的比较块的输出耦合到加速器单元410A的减法器块的输入和输出处理器元件404的打包输出像素块的输入。来自打包输出像素块的输出是打包的输出像素506。
加速器单元410B的减法器块的输出耦合到输出处理器元件404的打包新误差块的输入和误差过滤器(偶数)块的输入。加速器单元410A的加法器块的输出耦合到输出处理器元件404的打包新误差块的输入以及误差过滤器(奇数)块的输入。打包新误差块的输出耦合到误差缓冲器502的输入。以下陈述图5的框图的操作的更详细描述。
图6示出根据本发明的某些实施例用于基于误差扩散的图像处理的流程图。具体地,图6包括示出根据本发明的某些实施例的图5所示的图像信号处理器400的操作。
在框602中,接收图像的像素。参考图5的实施例,输入处理器元件402的解包输入像素块可接收图像的像素。在某些实施例中,可从不同的图像信号处理器400、存储器或输入/输出装置(诸如传感器)接收像素。例如,可从基于数据驱动的操作的这些组件中的一个接收像素(如上所述)。在某些实施例中,图像可以是连续色调的数字图像。控制在框604处继续。
在框604中,在重叠的时间上,对一个以上像素执行误差扩散。换言之,对于一个像素的误差扩散的执行时间与对于一个或多个其它像素的误差扩散的执行时间重叠。参考图5的实施例,输入处理器元件402、加速器单元410A-410B、处理器元件406A和输出处理器元件404的不同块可执行这些操作。以下结合图7的描述阐明这些操作的更详细描述。
图7示出根据本发明的某些实施例的用于由图像信号处理器中的多个元件执行的基于误差扩散的图像处理的操作表。图7示出表700,它阐明了输入处理器单元402、加速器单元410A-410B、处理器元件406A和输出处理器元件404相对于彼此的操作。更具体地,表700示出对于一个以上像素的误差扩散的部分并行的执行。换言之,对于一个像素的误差扩散的执行与对于一个或多个其它像素的误差扩散的执行部分地并行。列可以表示这些操作的定时。因此,同一列中的操作至少部分地同时执行。
在第一时间点(列702)处,输入处理器元件402和加速器单元410A可执行操作。输入处理器元件402的解包误差可从误差缓冲器502的前一行读入两个中间误差值。具体地,解包误差块可从误差缓冲器502读入eC偶数(偶数像素的eC)和eC (奇数像素的eC)。部分并行地,加速器410A的误差过滤器(偶数)块可从处理器元件406A的误差高速缓存接收eA。误差过滤器(偶数)块可对偶数像素计算(1*eA)并在该计算完成后通知处理器元件406A。
在第二时间点处(列704),输入处理器元件402、加速器单元410A和处理器元件406A可执行操作。输入处理器元件402的解包误差块可解包偶数像素和奇数像素的误差值eC。部分并行地,加速器单元410A的误差过滤器(偶数)块可从处理器元件406A的误差高速缓存接收eB。误差过滤器(偶数)块可对偶数像素计算(5*eB)并在该计算完成后通知处理器元件406A。部分并行地,处理器元件406A可将eB的值加载到eA。另外,处理器元件406A可在该加载操作完成后通知加速器单元410B的误差过滤器(奇数)块。如上所述,当前像素的eB是下一像素的eA。因为加速器单元410A已完成对偶数像素的eA的使用,因此这一值可用奇数像素的eA(偶数像素的eB)来盖写。
在第三时间点(列706)处,输入处理器元件402、加速器单元410A、处理器元件406A和加速器单元410B可执行操作。输入处理器元件402的打包输入像素块可读入两个输入像素(p偶数和p奇数)。部分并行地,加速器单元410A的误差过滤器(偶数)块可从处理器元件406A的误差高速缓存接收eC。误差过滤器(偶数)块可对偶数像素计算(5*eC)。部分并行地,处理元件406A可将eC的值加载到eB。另外,处理器元件406A可在该加载操作完成后通知加速器单元410B的误差过滤器(偶数)块。另外,部分并行地,加速器单元410B的误差过滤器块可从处理器元件406A的误差高速缓存接收eA。误差过滤器(偶数)块可对奇数像素计算(1*eC)并在该计算完成后通知处理器元件406A。
在第四时间点(列708)处,输入处理器元件402、加速器单元410A、处理器元件406A和加速器单元410B可执行操作。输入处理器元件402的解包输入像素块可解包两个输入像素(p偶数和p奇数)。输入处理器元件402可将输入像素(p偶数和p奇数)分别转发到加速器单元410A的误差过滤器(偶数)块和加速器单元410B的误差过滤器(奇数)块。部分并行地,加速器单元410A的误差过滤器(偶数)块可从处理器元件406A的误差高速缓存接收eD。误差过滤器(偶数)块可对偶数像素计算(7*eC)。部分并行地,处理器元件406A可将eB的值加载到eA。另外,部分并行地,加速器单元410B的误差过滤器(奇数)块可从处理器元件406A的误差高速缓存接收eB。误差过滤器(偶数)块可对奇数像素计算(5*eC)并在该计算完成后通知处理器元件406A。
在第五时间点(列710)处,加速器单元410A、处理器元件406A和加速器单元410B可执行操作。加速器单元410A的误差过滤器(偶数)块可计算偶数像素的误差值。具体地,误差过滤器(偶数)块可将来自周围像素的所计算的分数误差值(1*eA、5*eB、3*eC和7*eD)加在一起并将结果除以16。部分并行地,处理器元件406A可将eC的值加载到eB。部分并行地,加速器单元410B的误差过滤器(偶数)块可从处理器元件406A的误差高速缓存接收eC。误差过滤器(奇数)块可对奇数像素计算(3*eC)。另外,在读入当前的两个输入像素后的某点处,输入处理器元件402的解包输入像素块可读入下两个输入像素。
在第六时间点(列712)处,加速器单元410A和加速器单元410B可执行操作。加速器单元410A的误差过滤器(偶数)块可开始计算对下一未处理像素(下一偶数像素)的误差扩散。误差过滤器(偶数)块可从处理器元件406A的误差高速缓存接收eA。误差过滤器(偶数)块可对偶数像素计算(1*eA)并在该计算完成后通知处理器元件406A。部分并行地,误差过滤器(奇数)块可计算用于偶数像素的阈值。参考图5,误差过滤器(奇数)块可执行代码块1606中所示的阈值操作。参考图5,用于加速器单元410B的比较块可确定偶数像素的累加值是否大于来自阈值输出507的阈值。来自比较块的输出可以是二进制值(0或1),取决于偶数像素的累加值是否超过阈值(如图4的代码块406所示)。
在第七时间点(列714)处,加速器单元410A、处理器元件406A、加速器单元410B和输出处理器元件404可执行操作。误差过滤器(偶数)块可从处理器元件406A的误差高速缓存接收eB。误差过滤器(偶数)块可对下一偶数像素计算(5*eA)并在该计算完成后通知处理器元件406A。部分并行地,处理器元件406A可将eB的值加载到值eA。另外,处理器元件406A可在该加载操作完成后通知加速器单元410B的误差过滤器(奇数)块。部分并行地,加速器单元410B的误差过滤器(奇数)块可执行对于偶数像素的误差计算。参考图2,误差过滤器(奇数)块可执行代码语句208中所示的误差计算操作。加速器单元410B的减法器块可确定实际值(累加值)和输出值(0或1)之差。该误差值(偶数)508被输入到加速器单元410B的误差过滤器(奇数)块。
在第八时间点(列716)处,加速器单元410A、处理器元件406A、加速器单元410B和输出处理器元件404可执行操作。加速器单元410A的误差过滤器(偶数)块可从处理器元件406A的误差高速缓存接收eC。误差过滤器(偶数)块可对下一偶数像素计算(3*eC)。部分并行地,处理器元件406A可将eC的值加载到eB。另外,处理器元件406A可在该加载操作完成后通知加速器单元410B的误差过滤器(奇数)块。部分并行地,加速器单元410B的误差过滤器(奇数)块可对奇数像素计算(7*eD)。部分并行地,输出处理器元件404的打包输出像素块可打包偶数像素的值(从加速器单元410B的比较块接收)。打包的输出像素块可输出该值作为打包的输出像素506。
在第九时间点(列718)处,加速器单元410B和输出处理器元件404可执行操作。加速器单元410B的误差过滤器(奇数)块可计算奇数像素的误差值。具体地,误差过滤器(奇数)块可将来自周围像素的所计算的分数误差值(1*eA、5*eB、3*eC和7*eD)加在一起并将结果除以16。部分并行地,输出处理器元件404的打包新误差块可用偶数像素的该新误差值来更新误差缓冲器502。
在第十时间点(列720)处,加速器单元410A和加速器单元410B可执行操作。加速器单元410A的误差过滤器(偶数)块可计算用于奇数像素的阈值。参考图5,误差过滤器(奇数)块可执行代码块1606所示的阈值操作。用于加速器单元410B的比较块可确定奇数像素的累加值是否大于来自阈值输入507的阈值。来自比较块输出可以是二进制值(0或1),取决于奇数像素的累加值是否超过阈值(如图2的代码块206所示)。另外,部分并行地,加速器单元410B的误差过滤器(奇数)块可从处理器元件406A的误差高速缓存接收eA。误差过滤器(偶数)块可对下一偶数像素计算(1*eA)并在该计算完成后通知处理器元件406A。
在第十一时间点(列722)处,加速器单元410A、处理器元件406A、加速器单元410B和输出处理器元件404可执行操作。加速器单元410A的误差过滤器(偶数)块可执行对于偶数像素的误差计算。参考图2,误差过滤器(奇数)块可执行代码语句208所示的误差计算操作。加速器单元410B的减法器块可确定实际值(累加值)和输出值(0或1)之差。该误差值(奇数)510被输入到加速器单元410B的误差过滤器(偶数)块。部分并行地,处理器元件406A可将eB的值加载到eA并在该计算完成后通知处理器元件406A。部分并行地,加速器单元410B的误差过滤器(奇数)块可从处理器元件406A的误差高速缓存接收eB。误差过滤器(偶数)块可对下一奇数像素计算(5*eB)并在该计算完成后通知处理器元件406A。部分并行地,输出处理器元件404的打包输出像素块可打包奇数像素的值(从加速器单元410A的比较块接收)。打包输出像素块可输出该值作为打包的输出像素506。
在第十二时间点(列724)处,加速器单元410A、处理器元件406A和输出处理器元件404可执行操作。加速器单元410A的误差过滤器(偶数)块可从处理器元件406A的误差高速缓存接收eD。误差过滤器(偶数)块可对下一偶数像素计算(7*eD)。处理器元件406A可将eC的值加载到eB并在该加载操作完成后通知加速器单元410B的误差过滤器(奇数)块。部分并行地,输出处理器元件404的打包新误差块可用奇数像素的新误差值来更新误差缓冲器502。
某些实施例可包含误差扩散操作以在具有有限色彩(色调)范围的输出装置(诸如打印机、屏幕等)上输出连续色调的数字图像。某些实施例可用于部分并行地对一个以上像素执行误差扩散。如所述,某些实施例允许处理器保持由至少部分非顺序或同时处理多个像素占用的多个执行引擎。此外,在多个像素的这种处理期间,某些实施例共享来自周围像素的中间误差值。因此,如所述,这种图像像素的并行处理可继续直到处理了图像中的所有像素。
本文所述的误差扩散操作可在多个不同的环境中操作,现在描述根据某些实施例的用于执行这些操作的处理器架构。具体地,图8示出根据本发明的某些实施例用于执行误差扩散操作的处理器架构。图8示出根据本发明的某些实施例用于数据驱动的架构中的处理器-处理器通信的系统。图8示出包括被耦合以从传感器816接收输入数据流818的图像处理器802的系统800。尽管传感器816可以是不同的类型,但在一个实施例中,传感器816是电荷耦合器件(CCD)传感器。在一个实施例中,传感器816是互补金属氧化物半导体(CMOS)传感器。传感器816扫描并数字化图像,从而产生输入数据流818。例如,在一个实施例中,系统800被嵌入在扫描并处理图像(诸如文档、照片等)的扫描仪中。
在一个实施例中,图像处理器802具有数据驱动的架构,其中图像处理器802中的不同元件之间数据的发送和接收驱动其中的操作的执行。换言之,当必要的数据可用于执行时,图像处理器802的元件内的给定操作开始。
图像处理器802耦合到存储器804A-804B。在一个实施例中,存储器804A-804B是不同类型的随机存取存储器(RAM)。例如,存储器804A-804B是双数据率(DDR)同步动态RAM(SDRAM)。如以下详细描述的,图像处理器802中的元件将关于图像处理的数据存储在存储器804A-804B中。为了说明起见,图像处理器802中的处理元件可将第一图像处理操作的结果存储在存储器804A-804B的一个中,该结果随后被图像处理器802中的不同处理器元件检索以执行第二图像处理操作。
图像处理器802耦合到总线814,在一个实施例中,总线814可以是外围部件接口(PCI)总线。系统800还可包括存储器806、主机处理器808、多个输入输出(I/O)接口810以及网络接口812。主机处理器808耦合到存储器806。存储器806可以是不同类型的RAM(例如,同步动态RAM(SDRAM)、DRAM、DDR-SDRAM等),尽管在一个实施例中,主机处理器808可以是不同类型的通用处理器。I/O接口810提供到系统800的I/O设备或外围组件的接口。I/O接口810可包括任何适当的接口控制器以提供到系统800的不同组件的任何适当的通信链路。用于一个实施例的I/O接口810提供用于多种接口之一的适当的仲裁和缓冲。
对于一个实施例,I/O接口810提供到诸如硬盘驱动器(HDD)或光盘只读存储器(CD ROM)驱动器之类的一个或多个适当的集成驱动电子设备(IDE)驱动器的接口,以通过一个或多个USB端口、音频编码器/解码器(编解码器)以及调制解调器编解码器来将数据和/或指令存储在例如一个或多个适当的通用串行总线(USB)装置上。用于一个实施例的I/O接口810还通过一个或多个端口提供到键盘、鼠标、诸如打印机之类的一个或多个适当装置的接口。网络接口812提供通过多种通信网络(因特网、内联网、基于以太网的网络等)之一到一个或多个远程装置的接口。
主机处理器808、I/O接口810以及网络接口812通过总线814与图像处理器802耦合在一起。如以下进一步描述的,主机处理器808中执行的指令将图像处理器802配置成用于不同类型的图像处理。例如,主机处理器808在图像处理器802中的不同处理器元件之中建立多个不同的逻辑连接。此外,主机处理器808可将微码下载到图像处理器并检查其中的不同组件的状态。为了说明起见,现在将描述图像处理器802的一个实施例的更详细描述。
在本说明书中,陈述了众多具体细节。然而,应理解本发明的实施例可在没有这些具体细节的情况下实施。在其它实例中,没有详细示出公知的电路、结构和技术以免模糊对本说明书的理解。陈述了诸如逻辑实现、操作码、描述操作数的方式、资源划分/共享/复制实现、系统组件的类型和相互关系以及逻辑划分/集成选择等众多细节,以提供对发明主题的更彻底理解。然而,本领域的技术人员将意识到本发明的实施例可在没有这些具体细节的情况下实施。在其它实例中,没有详细示出控制结构、门电平电路和完全软件指令序列以免使本发明的实施例晦涩。本领域的普通技术人员利用所包括的描述能在没有不适当的实验的情况下实现适当的功能。
说明书中对“一个实施例”、“一实施例”、“示例实施例”等的引用指示所描述的实施例可包括特定的特征、结构或特性,但每一个实施例可以不一定要包括该特定特征、结构或特性。此外,这些短语不一定都指同一实施例。此外,当结合一实施例描述特定特征、结构或特性时,认为不管是否明确描述,结合其它实施例实现这些特征、结构或特性在本领域技术人员的知识内。
本发明的实施例包括可被包含在由机器可读介质提供的机器可执行指令内的特征、方法或过程。机器可读介质包括提供(即,存储和/或发送)可由机器(例如,计算机、网络装置、个人数字助理、制造工具、具有一个或多个处理器的组的装置等)访问的形式的信息的任何机制。在一个示例性实施例中,机器可读介质包括易失性和/或非易失性介质(例如,只读存储器(ROM)、随机存取存储器(RAM)、磁盘存储介质、光存储介质、闪存装置等)、以及电、光、声或其它形式的传播信号(例如,载波、红外信号、数字信号等)。
这些指令用于使得用指令编程的通用或专用处理器执行本发明的实施例的方法和过程。或者,本发明的实施例的特征和操作由包含用于执行操作的硬连线逻辑的特定硬件组件,或由编程的数据处理组件和特定硬件组件的任何组合来执行。本发明的各实施例包括本文中进一步描述的软件、数据处理硬件、数据处理系统实现的方法以及各种处理操作。
多个附图示出根据本发明的某些实施例的用于基于误差扩散的图像处理的系统和装置的框图。多个附图示出了说明根据本发明的某些实施例的基于误差扩散的图像处理的流程图。参考框图中所示的系统/装置描述了流程图的操作。然而,应理解,流程图的操作可由除参考框图讨论的以外的系统和装置的实施例来执行,并且参考系统/装置讨论的实施例可执行与参考流程图讨论的操作不同的操作。
鉴于对本文所述的实施例的各种各样变换,该详细描述仅仅是说明性的,并且不应理解为限制发明主题的范围。因此,要求保护的是落入所附权利要求书及其等价技术方案的范围和精神内的所有这些修改。因此,说明书和附图被视为说明性而不是限制的意思。

Claims (15)

1.一种装置,包括:
图像信号处理器,所述图像信号处理器包括:
第一加速器单元,基于来自周围像素的分数误差值对图像的第一像素执行误差扩散操作的至少一部分;以及
第二加速器单元,基于来自周围像素的分数误差值,与所述第一加速器单元的所述误差扩散操作部分并行地,对所述图像的第二像素执行误差扩散操作的至少一部分,其中对第二像素的误差扩散操作包括计算从周围像素导出的误差扩散的误差值用于分配到第二像素。
2.如权利要求1所述的装置,其特征在于,所述图像是近似连续色调的数字图像。
3.如权利要求1所述的装置,其特征在于,作为对于所述第一像素的误差扩散操作的一部分,所述第一加速器单元基于来自所述周围像素的分数值更新所述第一像素的值。
4.如权利要求3所述的装置,其特征在于,作为对于所述第二像素的误差扩散操作的一部分,所述第二加速器单元基于来自所述周围像素的分数值更新所述第二像素的值。
5.如权利要求4所述的装置,其特征在于,作为对于所述第一像素的误差扩散操作的一部分,所述第二加速器单元基于所述第一像素的更新值和一阈值之间的比较来生成用于所述第一像素的输出值。
6.如权利要求5所述的装置,其特征在于,作为对于所述第一像素的误差扩散操作的一部分,所述第二加速器单元计算所述第一像素的输出值和原始值之差。
7.如权利要求4所述的装置,其特征在于,作为对于所述第二像素的误差扩散操作的一部分,所述第一加速器单元基于所述第二像素的更新值和一阈值之间的比较来生成所述第二像素的输出值。
8.如权利要求7所述的装置,其特征在于,作为对于所述第二像素的误差扩散操作的一部分,所述第一加速器单元计算所述第二像素的输出值和原始值之差。
9.一种方法,包括:
使用图像信号处理器来执行:
在所述图像信号处理器的输入处理器元件处接收图像的多个像素,所述多个像素中的每一个像素都彼此相邻;以及
在重叠的时间上执行对所述多个像素的误差扩散,其中所述误差扩散包括:
在重叠的时间上计算从周围像素导出的两个或更多的误差值,用于分配到所述图像的多个像素;以及
共享相邻像素的中间误差值,用于在重叠的误差扩散操作中计算两个或更多的误差值时使用。
10.如权利要求9所述的方法,其特征在于,在重叠的时间上执行对所述多个像素的误差扩散包括:在重叠的时间上将分数误差值分配到所述多个像素。
11.如权利要求10所述的方法,其特征在于,所述分数误差值是基于Floyd-Steinberg误差过滤器来计算的。
12.如权利要求9所述的方法,其特征在于,还包括输出到具有小于所述图像的色彩范围的色彩范围的设备。
13.一种系统,包括:
电荷耦合器件传感器,捕捉近似连续色调图像;以及
图像信号处理器,包括:
输入处理器元件,接收所述近似连续色调图像的第一像素和第二像素;
第一加速器单元,基于来自周围像素的分数误差值执行对于所述第一像素和所述第二像素的误差扩散的操作;
第二加速器单元,基于来自周围像素的分数误差值,在与所述第一加速器单元的操作重叠的时间上执行对于所述第一像素和所述第二像素的误差扩散的操作,其中对第一像素和第二像素的误差扩散操作包括:计算从周围像素导出的误差扩散的误差值用于分配到第一像素和第二像素;以及
输出处理器元件,在所述误差扩散后将所述第一像素和所述第二像素的输出值输出到输出装置,所述输出装置具有小于所述近似连续色调图像的色彩范围的色彩范围。
14.如权利要求13所述的系统,其特征在于,对于所述第一像素的误差扩散操作,所述第一加速器单元基于来自所述周围像素的分数误差值更新所述第一像素的值。
15.如权利要求14所述的系统,其特征在于,作为对于所述第二像素的误差扩散操作的一部分,所述第二加速器单元基于来自所述周围像素的分数误差值更新所述第二像素的值。
CN201310052014.3A 2004-12-14 2005-12-13 一种用于执行基于误差扩散的图像处理的设备和方法 Expired - Fee Related CN103179321B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/011,737 US7639887B2 (en) 2004-12-14 2004-12-14 Error diffusion-based image processing
US11/011,737 2004-12-14
CN200580042559XA CN101076995B (zh) 2004-12-14 2005-12-13 基于误差扩散的图像处理

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN200580042559XA Division CN101076995B (zh) 2004-12-14 2005-12-13 基于误差扩散的图像处理

Publications (2)

Publication Number Publication Date
CN103179321A true CN103179321A (zh) 2013-06-26
CN103179321B CN103179321B (zh) 2016-01-20

Family

ID=36094865

Family Applications (2)

Application Number Title Priority Date Filing Date
CN200580042559XA Expired - Fee Related CN101076995B (zh) 2004-12-14 2005-12-13 基于误差扩散的图像处理
CN201310052014.3A Expired - Fee Related CN103179321B (zh) 2004-12-14 2005-12-13 一种用于执行基于误差扩散的图像处理的设备和方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN200580042559XA Expired - Fee Related CN101076995B (zh) 2004-12-14 2005-12-13 基于误差扩散的图像处理

Country Status (7)

Country Link
US (3) US7639887B2 (zh)
EP (1) EP1829358B1 (zh)
JP (1) JP4705645B2 (zh)
KR (1) KR100889410B1 (zh)
CN (2) CN101076995B (zh)
TW (1) TWI319283B (zh)
WO (1) WO2006066185A1 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1345411B1 (en) * 2002-03-15 2018-11-21 Canon Kabushiki Kaisha Image processing apparatus, image processing method, and program
US7639887B2 (en) * 2004-12-14 2009-12-29 Intel Corporation Error diffusion-based image processing
CN100435548C (zh) 2006-09-15 2008-11-19 北京大学 一种能够同时产生多位调频网点的方法及装置
US8184917B2 (en) * 2009-08-05 2012-05-22 Brother Kogyo Kabushiki Kaisha Image processor
KR101328793B1 (ko) * 2009-11-23 2013-11-13 엘지디스플레이 주식회사 오차 확산 방법과 이를 이용한 액정표시장치
JP6073798B2 (ja) 2010-12-04 2017-02-01 スリーエム イノベイティブ プロパティズ カンパニー 照明アセンブリ及びその形成方法
EP2646860A1 (en) 2010-12-04 2013-10-09 3M Innovative Properties Company Illumination assembly and method of forming same
JP5955109B2 (ja) * 2012-06-05 2016-07-20 キヤノン株式会社 画像処理方法及び画像処理装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0606988A2 (en) * 1993-01-11 1994-07-20 Canon Kabushiki Kaisha Parallel error diffusion method and apparatus
US20040008382A1 (en) * 2002-07-09 2004-01-15 Barbalet Thomas Samuel System and method for error diffusion screening with parallel processing

Family Cites Families (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US670127A (en) * 1900-12-10 1901-03-19 Edgar O Butterfield Foot-support for wagon-boxes.
US5051844A (en) * 1989-01-30 1991-09-24 Eastman Kodak Company Digital halftoning with error diffusion
US5087981A (en) * 1990-01-02 1992-02-11 Eastman Kodak Company Error diffusion of overlapping dots
JPH03274963A (ja) * 1990-03-26 1991-12-05 Canon Inc フアクシミリ装置
US5278671A (en) * 1990-10-05 1994-01-11 Nippon Steel Corporation Image processing apparatus with correction of diffusion errors of overlapping dots
US5172247A (en) * 1990-10-24 1992-12-15 Eastman Kodak Company High speed digital error diffusion process for continuous tone image-to-binary image conversion
US5130823A (en) * 1991-06-27 1992-07-14 Cactus Error diffusion system
US5276535A (en) * 1991-12-24 1994-01-04 Levien Raphael L Method and apparatus for halftoning of images using grayscale error diffusion
US5243443A (en) * 1991-12-06 1993-09-07 Xerox Corporation Halftoning with error feedback and image dependent enhancement
US5245678A (en) * 1991-12-20 1993-09-14 Xerox Corporation Image conversion with lossy adaptive error diffusion
US5271070A (en) * 1992-11-06 1993-12-14 Xerox Corporation Multi-dimensional error diffusion technique
US5434672A (en) * 1993-06-23 1995-07-18 Hewlett-Packard Company Pixel error diffusion method
US5521989A (en) * 1993-08-05 1996-05-28 Xerox Corporation Balanced error diffusion system
US5467201A (en) * 1994-05-31 1995-11-14 Xerox Corporation Iterative error diffusion system
US6427030B1 (en) * 1994-08-03 2002-07-30 Xerox Corporation Method and system for image conversion utilizing dynamic error diffusion
US5581371A (en) * 1995-03-07 1996-12-03 Eastman Kodak Company Error diffusion method
US5757517A (en) * 1995-03-23 1998-05-26 Eastman Kodak Company Adaptive error diffusion method
IL118180A (en) 1996-05-08 2000-12-06 Modus Biolog Membranes Ltd Pharmaceutical compositions comprising a phosphatidic acid (PA) enriched natural phospholipid preparation and the production of such preparation
US5668638A (en) * 1996-06-27 1997-09-16 Xerox Corporation Error diffusion method with symmetric enhancement
JPH1093819A (ja) * 1996-09-12 1998-04-10 Canon Inc 画像処理装置
US5848224A (en) * 1996-09-26 1998-12-08 Hewlett-Packard Company Optimally pipelined error diffusion architecture for converting scanned image into four-color printed image
JP3834901B2 (ja) * 1996-12-27 2006-10-18 ブラザー工業株式会社 中間調画像の2値化方法
US5974228A (en) 1997-01-28 1999-10-26 Hewlett-Packard Company Image rendition by plural-row error diffusion, for faster operation and smaller integrated circuits
US5982992A (en) * 1997-09-05 1999-11-09 Xerox Corporation Error diffusion in color printing where an intra-gamut colorant is available
US6307978B1 (en) * 1998-06-03 2001-10-23 Wellesley College System and method for parallel error diffusion dithering
US6501564B1 (en) * 1999-05-07 2002-12-31 Hewlett-Packard Company Tone dependent plane dependent error diffusion halftoning
US6760127B1 (en) * 2000-06-01 2004-07-06 Xerox Corporation Multi-level semi-vector error diffusion
AUPR234700A0 (en) * 2000-12-29 2001-01-25 Canon Kabushiki Kaisha Error diffusion using next scanline error impulse response
US6907457B2 (en) * 2001-01-25 2005-06-14 Dell Inc. Architecture for access to embedded files using a SAN intermediate device
US7355745B2 (en) * 2001-04-13 2008-04-08 Hewlett Packard Document-to-printer color gamut matching
US7355747B2 (en) * 2002-01-18 2008-04-08 Hewlett-Packard Development Company, L.P. System for improving the speed of data processing
JP2003283829A (ja) 2002-03-22 2003-10-03 Ricoh Co Ltd 画像処理装置および方法
JP2005012726A (ja) * 2003-06-23 2005-01-13 Konica Minolta Business Technologies Inc 画像処理装置および画像処理方法
US7518753B2 (en) * 2004-05-20 2009-04-14 Agfa Graphics Nv Full control multilevel error diffusion
KR100648656B1 (ko) * 2004-12-14 2006-11-24 삼성전자주식회사 오차확산 처리방법 및 그 처리장치
US7639887B2 (en) 2004-12-14 2009-12-29 Intel Corporation Error diffusion-based image processing
US7440140B2 (en) * 2005-04-29 2008-10-21 Hewlett-Packard Development Company, L.P. Sequential color error diffusion with forward and backward exchange of information between color planes

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0606988A2 (en) * 1993-01-11 1994-07-20 Canon Kabushiki Kaisha Parallel error diffusion method and apparatus
US20040008382A1 (en) * 2002-07-09 2004-01-15 Barbalet Thomas Samuel System and method for error diffusion screening with parallel processing

Also Published As

Publication number Publication date
US7639887B2 (en) 2009-12-29
JP2008523739A (ja) 2008-07-03
CN101076995A (zh) 2007-11-21
WO2006066185A1 (en) 2006-06-22
KR20070086126A (ko) 2007-08-27
TW200627926A (en) 2006-08-01
US20100053655A1 (en) 2010-03-04
CN101076995B (zh) 2013-03-27
US8705888B2 (en) 2014-04-22
JP4705645B2 (ja) 2011-06-22
US20060126957A1 (en) 2006-06-15
EP1829358A1 (en) 2007-09-05
KR100889410B1 (ko) 2009-03-20
TWI319283B (en) 2010-01-01
CN103179321B (zh) 2016-01-20
US8077993B2 (en) 2011-12-13
EP1829358B1 (en) 2018-09-05
US20120057054A1 (en) 2012-03-08

Similar Documents

Publication Publication Date Title
CN101076995B (zh) 基于误差扩散的图像处理
US7200287B2 (en) Method and apparatus for image processing, and a computer product
KR100270268B1 (ko) 디지탈 화상프로세서 및 디지탈 화상처리 방법
JPH04503893A (ja) 類似ランダム・フォントを用いてモアレ・パターンを抑圧する電子グラフィック・アート
CN101404713B (zh) 图像处理设备、图像记录设备及图像处理方法
US7480078B2 (en) Method and system for performing multi-pixel parallel error diffusion enabling high-speed diffusion processing without increasing the system clock rate
JP2008022239A (ja) 画像処理装置、画像処理方法及びプログラム
JPH11184841A (ja) 画像処理方法及び装置
CN101087359A (zh) 半色调设备和方法
US20070188812A1 (en) Image processing device, image reading device and image processing method
CN100355267C (zh) 误差扩散影像处理系统及其方法
US11651479B2 (en) Unified ISP pipeline for image sensors with various color filter array and high dynamic range schemes
JPH118765A (ja) 低階調化処理方法、低階調化処理装置、低階調化処理用集積回路および低階調化プログラムを記録したコンピュータ読み取り可能な記録媒体
JP4146458B2 (ja) 画像処理装置及び画像処理プログラム
JPH01303869A (ja) 画像処理装置
JPH11185033A (ja) 画像処理方法及び装置
JP4225455B2 (ja) 情報処理装置および画像形成装置
JP3858877B2 (ja) 画像形成装置及び画像形成方法
JP4516336B2 (ja) 画像処理装置、画像形成装置、画像処理方法、コンピュータプログラム及び記録媒体
JP2001061031A (ja) デジタル複写装置
JPH11177808A (ja) 画像処理プロセッサ
JP2000115543A (ja) 画像処理装置
JP2001078033A (ja) 画像処理装置
KR20040025136A (ko) 화상처리 시스템의 임계값에 의한 오차 확산방법
JPH11120345A (ja) 多値画像データを2値化する2値化処理方法および装置および記録媒体

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20160120

Termination date: 20191213

CF01 Termination of patent right due to non-payment of annual fee