This application claims priority under 35 U.S.C. § 119(a) from Korean Patent Application No. 2006-0105898, filed on Oct. 30, 2006, in the Korean Intellectual Property Office, the disclosure of which is incorporated herein in its entirety by reference.
1. Field of the Invention
The present general inventive concept relates to an image forming apparatus and an image forming method thereof, and more particularly, to an image forming apparatus which improves a printing speed by reducing a transmission size of halftone image data and enhances spatial resolution, and an image forming method thereof.
2. Description of the Related Art
A performance quality of an image forming apparatus such as a laser printer and a multifunction printer can be determined by printing quality and printing speed. Factors to determine the printing speed, which is measured in units known as page per minute (PPM), include printing resolution, printing data processing time in computers, data transmission time from computers to printers, printing data processing time in printers and printing time in a printer engine.
Conventionally, PPM was determined mainly by a duration of the printing time in the printer engine. Recently, however, PPM is mainly determined by factors of printing data processing time in computers, data transmission time from computers to printers and printing data processing time in printers as printing speed in the printer engine and printing resolution have improved.
A data exchange method between computers and printers determines the printing data processing time in computers, the data transmission time from computers to printers and the printing data processing time in printers. If a driver employs a graphics device interface (GDI) method which performs a color matching and an image rendering, halftone printing data which is compressed by a compression algorithm such as Joint Bi-level Image Experts Group (JBIG) is transmitted from a computer to a printer to speed up the data transmission. The compressed halftone printing data which is transmitted to the printer is decompressed to be printed by a printing part. If a driver employs a page description language (PCL), the printer processes the printing data, unlike in the GDI method.
The method which is illustrated in
The present general inventive concept provides an image forming apparatus to reduce a transmission size of halftone image data to improve a printing speed, and an image forming method thereof.
The present general inventive concept also provides an image forming apparatus to improve spatial resolution, and an image forming method thereof.
The present general inventive concept also provides an image forming apparatus which can maintain a boundary line clearly when using a clustered-dot screen, and an image forming method thereof.
Additional aspects and utilities of the present general inventive concept will be set forth in part in the description which follows and, in part, will be obvious from the description, or may be learned by practice of the general inventive concept.
The foregoing and/or other aspects and utilities of the present general inventive concept are achieved by providing an image forming apparatus, comprising a halftone image converter to convert input image data having a plurality of bits per pixel into halftone image data having a binary pixel value corresponding to a bright pixel or a dark pixel, and a bit encoder to divide the halftone image data into blocks of a predetermined size, and to perform a bit-encoding operation by using a number of either the bright or dark pixels in the block to output encoded image data.
The bit encoder may use 4×4 pixels as the predetermined size of the block.
The bit encoder may convert the number of either the bright or dark pixels in the block into 4-bit encoded binary image data value corresponding to the number of either the bright or dark pixels in the block if the number of either the bright or dark pixels in the block is 15 or less, and converts the number of either the bright or dark pixels in the block into a 4-bit encoded image data value of 1111 if the number of either the bright or dark pixels in the block is 16.
The apparatus may further comprise a joint bi-level image experts group (JBIG) compressor to compress the encoded image data according to JBIG standard and to output corresponding JBIG image data.
The foregoing and/or other aspects and utilities of the present general inventive concept may also be achieved by providing an image forming apparatus, comprising an interface to receive encoded image data that is generated by dividing halftone image data into blocks of a predetermined size and bit-encoding by using the number of either bright or dark pixels in each of the blocks of a predetermined size, and a bit decoder to produce a decoded block by decoding the received encoded image data into another halftone image data having a binary pixel.
The bit decoder may comprise a number calculator to calculate the number of either the bright or dark pixels in the decoded block by using the encoded image data of the decoded block and the encoded image data of neighboring blocks.
The apparatus may further comprise a region determiner to determine a screen region and an edge region from the decoded block by using the number of either the bright or dark pixels in the decoded block and numbers of either bright or dark pixels in the neighboring blocks.
The region determiner may use a larger of two values corresponding to a difference between a number of either bright or dark pixels in upper and lower blocks adjacent to the decoded block, and a difference between number of either bright or dark pixels in left and right blocks adjacent to the decoded block, to determine the screen region and the edge region.
The bit decoder may further comprise a screen region processor to calculate a screen order by using a halftone table used to convert the encoded image data into the another halftone image data having the binary pixel.
The screen region processor may decode the encoded image data to the another halftone image data by expressing a dark pixel corresponding to the position of the decoded block and having a smaller value than the number of the dark pixels in the decoded block and by expressing a bright pixel corresponding to another position of the decoded block and having a larger or same value as the number of the dark pixels in the decoded block by using the screen order if the encoded image data is bit-encoded with the number of the dark pixels in the block of the predetermined size.
The bit decoder may further comprise an edge region processor to calculate an edge order with a number of either bright or dark pixels in the neighboring blocks and a weight function to express an edge region.
The edge region processor may use, as a weight function, a weight value that is optimized through a genetic algorithm.
The foregoing and/or other aspects and utilities of the present general inventive concept may also be achieved by providing an image forming method, comprising converting input image data having a plurality of bits per pixel into halftone image data having a binary pixel value corresponding to a bright pixel or a dark pixel, and dividing the halftone image data into blocks of a predetermined size and outputting encoded image data by bit-encoding the encoded image data through a number of either the bright or dark pixels in the block.
The outputting of the encoded image data may comprise using 4×4 pixels as the size of the predetermined block.
The outputting of the encoded image data may comprise converting the number of either the bright or dark pixels in the blocks into 4-bit encoded binary image data corresponding to the number of either the bright or dark pixels if the number of either the bright or dark pixels in the block is 15 or less, and converting the number of the dark pixels in the block into 4-bit encoded image data value of 1111 if the number of the dark pixels in the block is 16.
The method may further comprise outputting joint bi-level image experts group (JBIG) image data by compressing the encoded image data according to JBIG standard.
The method may further comprise decoding the encoded image data to another halftone image data having a binary pixel.
The decoding of the encoded image data to the halftone image data may comprise calculating the number of either the bright or dark pixels in the decoded block by using the encoded image data of the decoded block and the encoded image data of neighboring blocks.
The decoding of the image data to the halftone image data may further comprise determining a screen region and an edge region from the decoded block by using the number of either the bright or dark pixels in the decoded block and numbers of either the bright or dark pixels in the neighboring blocks.
The determining of the screen region and the edge region from the decoded block may comprise using a larger of two values corresponding to a difference between a number of either bright or dark pixels in upper and lower blocks adjacent to the decoded block, and a difference between a number of either bright or dark pixels in left and right blocks adjacent to the decoded block.
The decoding of the image data into the halftone image data may further comprise calculating a screen order by using a halftone table used in converting the input image data into the another halftone image data having the binary pixel to process the data if the decoded block is determined as the screen region.
The calculating of the screen order and processing data may comprise decoding the encoded image data to the halftone image data by expressing a dark pixel corresponding to a position of the decoded block and having a smaller value than the number of the dark pixels in the decoded block and expressing a bright pixel corresponding to another position of the decoded block and having a larger or same value as the number of the dark pixels in the decoded block by using the screen order if the encoded image data is bit-encoded by using the number of the dark pixels in the block of the predetermined size.
The decoding of the image data to the halftone image data may further comprise calculating an edge order with the number of either the bright or dark pixels in the neighboring blocks and a weight function to express the edge region if the decoded block is determined as the edge region.
The calculating of the edge order may comprise using a weight value that is optimized through a genetic algorithm as the weight function.
The foregoing and/or other aspects and utilities of the present general inventive concept may also be achieved by providing an image forming apparatus, including a computer portion to generate and output encoded image data based on either bright or dark pixels of halftone image data divided into blocks, and a printer portion to receive the output encoded image data and to produce a decoded block by decoding the received encoded image data into another halftone image data.
The computer portion may include a bit encoder to convert a number of either the bright or dark pixels into a 4-bit encoded binary image data value corresponding to the number of either the bright or dark pixels.
The 4-bit encoded binary image data value may be 1111 if the number of either the bright or dark pixels is 16.
The printer portion may include a bit decoder to number pixels in the decoded block in an increasing order based on an order of a decreasing number of the bright and dark pixels in one of the blocks of the computer portion.
Each of the numbered pixel positions in the decoded block may be designated as dark until the number of dark pixels in the one of the blocks of the computer portion is reached.
The foregoing and/or other aspects and utilities of the present general inventive concept may also be achieved by providing an image forming system, comprising a halftone image converter to convert input image data into halftone image data having a binary pixel value corresponding to a bright pixel or a dark pixel, a bit encoder to divide the halftone image data into blocks of a predetermined size, and to perform a bit-encoding operation by using a number of either the bright or dark pixels in one of the blocks to output encoded image data, and a bit decoder to produce a decoded block by decoding the encoded image data output from the bit encoder into another halftone image data.
The foregoing and/or other aspects and utilities of the present general inventive concept may also be achieved by providing an image forming method, including encoding image data based on either bright or dark pixels of halftone image data divided into blocks, and producing a decoded block by decoding the received encoded image data into another halftone image data.
The encoding may include converting a number of either the bright or dark pixels into a 4-bit encoded binary image data value corresponding to the number of either the bright or dark pixels.
The 4-bit encoded binary image data value may be 1111 if the number of either the bright or dark pixels is 16.
The producing of a decoded block may include numbering pixels in the decoded block in an increasing order based on an order of a decreasing number of the bright and dark pixels in one of the divided blocks.
The producing of a decoded block may further include designating each of the numbered pixel positions in the decoded block as dark until the number of dark pixels in the one of the divided blocks is reached.
The foregoing and/or other aspects and utilities of the present general inventive concept may also be achieved by providing a computer readable recording medium having embodied thereon a computer program to execute a method, wherein the method comprises converting input image data having a plurality of bits per pixel into halftone image data having a binary pixel value corresponding to a bright pixel or a dark pixel, and dividing the halftone image data into blocks of a predetermined size and outputting encoded image data by bit-encoding the encoded image data through a number of either the bright or dark pixels in the block.
The above and/or other aspects and utilities of the present general inventive concept will become apparent and more readily appreciated from the following description of the exemplary embodiments, taken in conjunction with the accompanying drawings of which:
Reference will now be made in detail to the embodiments of the present general inventive concept, examples of which are illustrated in the accompanying drawings, wherein like reference numerals refer to the like elements throughout. The embodiments are described below in order to explain the present general inventive concept by referring to the figures.
As illustrated in
The halftone image converter 210 comprises a halftoning processor 212 and a halftone table 214, and converts input image data having a plurality of bits per pixel into halftone image data having a 1-bit binary pixel, which displays only a bright pixel and a dark pixel.
The halftoning processor 212 reads the halftone table 214 which is stored in a memory, and converts the input image data into the 1-bit halftone image data when receiving plural-bit input image data. For example, the halftoning processor 212 divides the input image data into a plurality of 4×4 pixel blocks and compares a pixel in one of the 4×4 pixel blocks with the 4×4 halftone table 214. If the input image data is larger than the data of halftone table 214, the halftoning processor 212 determines a bit value corresponding to the pixel to be one of 0 and 1 to convert the data into the 1-bit halftone image data. Accordingly, if the input image data is smaller than the data of halftone table 214, then the halftoning processor 212 determines a bit value corresponding to the pixel to be the other of 0 and 1.
The halftone table 214 can be either a clustered-dot type halftone table or a dispersed-dot type halftone table. The halftone image data may have varying printing quality which is dependent on the type of the halftone table 214.
The bit encoder 220 divides the halftone image data into blocks of a predetermined size, and executes bit-encoding by using either the bright pixels or dark pixels in the block to output the encoded image data. If a number of either the bright or the dark pixels of the block is 15 or less when the size of a predetermined block is identified in a 4×4 pixel unit, the corresponding number is encoded as a corresponding binary 4-bit image data value. In other words, if the number of dark pixels is three, then the corresponding binary 4-bit image data value is 0011. If the number of either the bright or the dark pixels of the block is 16, the halftone image data is encoded as the corresponding binary 4-bit image data value of 1111.
The JBIG compressor 230 compresses the encoded image data according to a JBIG standard to output JBIG image data. The JBIG standard is an international standard of an image compression method corresponding to binary images. The JBIG standard includes a layer encoding transmission to encode and transmit images in an order of increasing resolution. Therefore, images with a lowest resolution are encoded and transmitted first to represent an outline, and then images with gradually improved resolutions are encoded and transmitted.
As illustrated in
The interface 240 receives the JBIG image data. The JBIG image data is obtained at the sending side of the image forming apparatus 200 of
The JBIG decompressor 250 decompresses the JBIG image data which is compressed according to the JBIG standard in
The bit decoder 260 comprises a number calculator 262, a region determiner 264, a screen region processor 266 and an edge region processor 268, and decodes the encoded image data into the halftone image data having the binary pixel.
The number calculator 262 calculates the number of either the bright pixels or the dark pixels of a block-to-be-decoded (hereinafter, to be called “decoded block”) by using the encoded image data of the decoded block and the encoded image data of neighboring blocks.
The region determiner 264 discriminates the screen region and the edge region from the decoded block by using the number of the corresponding pixels in the decoded block and the number of the corresponding pixels in the neighboring blocks. To determine the screen region and the edge region, the region determiner 264 may utilize a larger of two values corresponding to a difference between the numbers of the corresponding pixels in upper and lower blocks which are adjacent to the decoded block, and a difference between the numbers of the corresponding pixels in left and right blocks which are adjacent to the decoded block.
The screen region processor 266 calculates a screen order by using the halftone table 214 which is used to convert the input image data into the halftone image data. The screen region processor 266 decodes the encoded image data that is bit-encoded by the number of the dark pixels of the block, into the halftone image data by expressing a dark pixel corresponding to the position of the decoded block and having a smaller value than the number of the dark pixels in the decoded block, and expressing a bright pixel corresponding to the position of the decoded block and having a larger or same value as the number of the dark pixels in the decoded block, through the screen order.
The edge region processor 268 calculates an edge order with the number of the corresponding pixels in the neighboring blocks of the decoded block and a weight function to express the edge region. The weight function may employ a weight value that is optimized through a genetic algorithm.
Hereinafter, the above-mentioned operation will be described in more detail.
Referring to
As mentioned above, if the number of the dark pixels in the block is 16 in operation S306, the number of the dark pixels is converted into the binary encoded image data value of 1111 in operation S308. Also as mentioned above, if the number of the dark pixels in the block is 15 or less in operation S306, the number of the dark pixels is converted into the corresponding binary 4-bit encoded image data in operation S310.
Table 1 provides the encoded image data which is bit-encoded with respect to the number of the dark pixels.
The converted encoded image data is output to the JBIG compressor 230 or stored temporarily in a memory in operation S312. Unless all of the blocks of the input halftone image data is processed in operation S314, the next block is continuously bit-encoded without overlap in operation S316.
The number calculator 262 of the bit decoder 260 converts the 4-bit encoded image data into decimal data to calculate the number of the dark pixels in the block in operation S502. If the decimal data value is not 15 in operation S504, the number of the dark pixels in the block is represented by the value of the decimal data in operation S506. If the decimal data value is 15 in operation S504, it is determined whether the number of neighboring blocks whose decimal data value is 15 is larger than 1 in operation S508. If the number of the neighboring blocks whose decimal data value is 15 is 1 or less than 1, the number of the dark pixels in the block is 15 in operation S510. If the number of the neighboring blocks whose decimal data value is 15 is larger than 1, the number of the dark pixels in the block is 16 in operation S512.
The region determiner 264 discriminates the screen region and the edge region from the decoded block by using the number of the corresponding pixels in the decoded block and the numbers of the corresponding pixels in the neighboring blocks in operation S514. The bit-decoding is performed by identifying the decoding block as the screen region and the edge region because the halftone image data would be decoded as a totally different image data value if bit-decoding of the edge region was performed in the same way as the screen region.
Max(|d1−d5|,|d2−d4|)≧reference value (1)
Here, the reference value refers to an extent of an edge. Seven is used as the reference value in the present general inventive concept. The screen region and the edge region are determined by using a larger of two values resulting from a difference between the numbers of the corresponding pixels in upper and lower blocks, and a difference between the numbers of the corresponding pixels in left and right blocks, with the upper block, lower block, left block, and right block all being adjacent to the decoded block.
If the region determiner 264 determines that the decoded block is the screen region, the screen region processor 266 converts the encoded image data into the 4×4 halftone image data in operation S516.
If the region determiner 264 determines that the decoded block is the edge region, the edge region processor 268 converts the number of the dark pixels into the 4×4 halftone image data by using the edge order in operation S518.
Then, the halftone image data is temporarily stored in a memory or output to the printing part 270 in operation S520. If there is a block to be bit-decoded in operation S522, bit-decoding is continuously executed without overlap in operation S524 after moving to the next block.
Hereinafter, a process of processing the edge region by the edge region processor 268 of
Table 2 refers to costs in each location of the 4×4 block to determine the edge order.
The costs in Table 2 are calculated by using the weight value of an optimized distance through the genetic algorithm and the number of the dark pixels in the four neighboring blocks. Formula 2 is used to calculate the costs in Table 2.
Here, (i,j) refers to a position in the 4×4 block while f(k) refers to the number of the dark pixels in the four neighboring blocks. WD is a weight value of the distance that is optimized by the genetic algorithm.
An initial string, i.e., the weight value, is represented by a predetermined binary data in operation S1002. Then, a fitness value is calculated in operation S1004. The genetic algorithm operation of a reproduction operation S1006, a crossover operation S1008 and a mutation operation S1010 are performed. The next generation population is determined in operation S1012, and then the operation is completed or the fitness value is recalculated according to the string optimization in operation S1014.
The fitness value is calculated by comparing the halftoning result of each pixel in the 4×4 block determined as the edge region in a test image, i.e., by comparing a value of “true” to the decoded data, and adding the number of the pixels having the same value. The fitness value may be calculated by a quantization method such as a hamming distance or correlation between the halftone block and the decoded data.
The present general inventive concept can also be embodied as computer-readable codes on a computer-readable medium. The computer-readable medium can include a computer-readable recording medium and a computer-readable transmission medium. The computer-readable recording medium is any data storage device that can store data which can be thereafter read by a computer system. Examples of the computer-readable recording medium include read-only memory (ROM), random-access memory (RAM), CD-ROMs, magnetic tapes, floppy disks, and optical data storage devices. The computer-readable recording medium can also be distributed over network coupled computer systems so that the computer-readable code is stored and executed in a distributed fashion. The computer-readable transmission medium can transmit carrier waves or signals (e.g., wired or wireless data transmission through the Internet). Also, functional programs, codes, and code segments to accomplish the present general inventive concept can be easily construed by programmers skilled in the art to which the present general inventive concept pertains.
As described above, the present general inventive concept provides an image forming apparatus which reduces a size of image data transmitted from a computer to a printer to improve a printing speed, and an image forming method thereof.
Also, the present general inventive concept provides an image forming apparatus which improves spatial resolution with bit-encoding, and an image forming method thereof.
Further, the present general inventive concept provides an image forming apparatus which clarifies a boundary line when using a clustered-dot screen, and an image forming method thereof.
Although a few exemplary embodiments of the present general inventive concept have been shown and described, it will be appreciated by those skilled in the art that changes may be made in these exemplary embodiments without departing from the principles and spirit of the general inventive concept, the scope of which is defined in the appended claims and their equivalents.
Number | Date | Country | Kind |
---|---|---|---|
2006-105898 | Oct 2006 | KR | national |