Image processing device, image processing method, and program
The image processing device addresses the inefficiencies of conventional methods by comparing corrected and binarized images to determine jaggies and apply appropriate smoothing, enhancing image quality with reduced computational demands.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- SHARP KK
- Filing Date
- 2022-07-29
- Publication Date
- 2026-04-17
AI Technical Summary
Conventional image processing methods for reducing jaggies in output images require significant processing power and memory, and implementing different smoothing techniques on different parts of the image pose implementation challenges.
An image processing device that determines the presence of jaggies by comparing pixel values between a first image, which undergoes correction and simple binarization, and a second image that only undergoes correction, using a statistical amount calculated from the difference values to decide on an appropriate smoothing method.
Enables efficient detection and reduction of jaggies using a simple method, reducing processing power and memory requirements while ensuring high-quality image output.
Smart Images

Figure 0007847504000001 
Figure 0007847504000002 
Figure 0007847504000003
Abstract
Description
Technical Field
[0001] The present disclosure relates to an image processing apparatus and the like.
Background Art
[0002] Conventionally, in an image processing apparatus such as a multifunction peripheral, when outputting an image by a facsimile or a printer, a technique for reducing the stepped rattling (jaggies) that appears in the lines and contours of the output image has been used.
[0003] In addition, when an image is output by a facsimile or a printer, a technique has been proposed in which jaggies generated by enlargement processing using a simple method are detected for an image using pattern matching, and smoothing processing is performed on characters and line drawings (see, for example, Patent Document 1). Further, jaggies are detected by generating and comparing a plurality of binarized image data with a plurality of binarization references, and depending on the type of binarized image used for the comparison, a portion where strong smoothing processing is performed and a portion where weak smoothing is performed are extracted for smoothing (see, for example, Patent Document 2).
Prior Art Documents
Patent Documents
[0004]
Patent Document 1
Patent Document 2
Summary of the Invention
Problems to be Solved by the Invention
[0005] In conventional technologies, including the aforementioned patent documents, jaggedness detection is performed by determining whether the shape is as it should be based on the degree of image similarity between the pixel of interest and surrounding pixels, requiring a comparison with surrounding pixels for each individual pixel. As a result, there are implementation challenges such as an enormous amount of processing power and high required memory capacity, necessitating measures to reduce the amount of patterns to be stored. Similarly, using multiple comparison images or performing different smoothing on different parts of the image also presents implementation challenges.
[0006] In view of the above-mentioned problems, this disclosure aims to provide an image processing device, etc., that can determine the presence or absence of jaggies by a simple method and output an image using an appropriate method. [Means for solving the problem]
[0007] The image processing apparatus of the present disclosure is characterized by comprising: a determination unit that acquires a first image obtained by performing correction processing and simple binarization processing on a multi-level image and a second image obtained by performing the correction processing on the multi-level image, and determines whether or not jaggies occur when outputting the multi-level image as a simple binarized image using the difference value of the pixel values of each pixel of the second image with respect to the first image; a determination unit that determines a method for converting the multi-level image according to a statistical amount calculated using the difference value if jaggies occur; and an output unit that outputs an image converted by the method determined by the determination unit.
[0008] The image processing method of the present disclosure is characterized by comprising the steps of: acquiring a first image obtained by performing a correction process and a simple binarization process on a multi-level image, and a second image obtained by performing the correction process on the multi-level image; determining whether or not jaggies occur by outputting the multi-level image as a simple binarized image using the difference value of the pixel values of each pixel of the second image relative to the first image; determining a method for transforming the multi-level image according to a statistical amount calculated using the difference value if jaggies occur; and outputting an image transformed by the determined method.
[0009] The program of this disclosure is characterized in that it enables a computer to acquire a first image obtained by performing correction processing and simple binarization processing on a multi-level image, and a second image obtained by performing the correction processing on the multi-level image, and to determine whether or not jaggies occur when outputting the multi-level image as a simple binarized image using the difference value of the pixel values of each pixel of the second image with respect to the first image, and if jaggies occur, to determine a method for converting the multi-level image according to a statistical amount calculated using the difference value, and to output an image converted by the method determined by the determination function. [Effects of the Invention]
[0010] According to this disclosure, it is possible to provide an image processing device, etc., that can determine the presence or absence of jaggies using a simple method and output an image using an appropriate method. [Brief explanation of the drawing]
[0011] [Figure 1] This is a perspective view of the multifunction device in the first embodiment. [Figure 2] This is a functional configuration diagram of the multifunction device in the first embodiment. [Figure 3] This figure shows an example of the data structure of the setting table in the first embodiment. [Figure 4] This is a flowchart of the main processing in the first embodiment. [Figure 5] It is a flowchart of the comparative image acquisition process in the first embodiment. [Figure 6] It is a flowchart of the jaggy presence / absence determination process in the first embodiment. [Figure 7] It is a flowchart of the gradation conversion process in the first embodiment. [Figure 8] It is a diagram showing an operation example in the first embodiment. [Figure 9] It is a diagram showing an operation example in the first embodiment. [Figure 10] It is a diagram showing an operation example in the first embodiment. [Figure 11] It is a diagram showing an operation example in the first embodiment. [Figure 12] It is a diagram showing an example of the data configuration of the setting table in the second embodiment. [Figure 13] It is a flowchart of the gradation conversion process in the second embodiment. [Figure 14] [[ID=**29**]]It is a diagram showing an example of the data configuration of the setting table in the third embodiment. [Figure 15] It is a flowchart of the jaggy presence / absence determination process in the third embodiment. [Figure 16] It is a diagram showing an operation example in the third embodiment. [Figure 17] It is a diagram showing an example of the data configuration of the setting table in the fourth embodiment. [Figure 18] It is a flowchart of the gradation conversion process in the fourth embodiment. [Figure 19] It is a diagram showing an operation example in the fourth embodiment. [[ID=4**7**]]
Mode for Carrying Out the Invention
[0012] Hereinafter, an embodiment for implementing the present disclosure will be described with reference to the drawings. Note that the following embodiments are examples for explaining the present disclosure, and the technical scope of the invention described in the claims is not limited to the following description.
[0013] **Note**: There seems to be a minor formatting issue in the original text where the line breaks might not be in a completely regular pattern for all the numbered items. Also, for the sake of consistency in the translation, the capitalization of some terms like "Mode for Carrying Out the Invention" is adjusted as per common English usage norms for such patent-related terms. [1. First Embodiment] The first embodiment is an embodiment in which the image processing device of the present disclosure is applied to a multifunction printer 10. The multifunction printer 10 is an image processing device having copy function, scan function, print function, fax function, etc., and is also called an MFP (Multi-Function Printer / Peripheral).
[0014] [1.1 Functional Configuration] The functional configuration of the multifunction printer 10 of this embodiment will be described with reference to Figures 1 and 2. Figure 1 is an external perspective view of the multifunction printer 10, and Figure 2 is a block diagram showing the functional configuration of the multifunction printer 10.
[0015] The multifunction device 10 comprises a control unit 100, an image input unit 120, an image forming unit 130, a display unit 140, an operation unit 150, a storage unit 160, and a communication unit 190.
[0016] The control unit 100 is a functional unit for controlling the entire multifunction device 10. The control unit 100 realizes various functions by reading and executing various programs stored in the memory unit 160, and is composed of, for example, one or more arithmetic units (CPU (Central Processing Unit)). The control unit 100 may also be configured as a SoC (System on a Chip) having multiple functions among those described below.
[0017] The control unit 100 functions as an image processing unit 102, a character area extraction unit 104, a jagged edge detection unit 106, a grayscale conversion method determination unit 108, and an image output processing unit 110 by executing a program stored in the memory unit 160.
[0018] The image processing unit 102 performs various image-related processing. For example, the image processing unit 102 performs sharpening and grayscale conversion processing on images input via the image input unit 120 and the communication unit 190.
[0019] The character area extraction unit 104 extracts character areas (character regions) from the image. A character area is a region in the image that is composed of pixels that make up characters, and is a region that contains pixels that are candidates for pixels that make up characters (character candidate region).
[0020] The character area extraction unit 104 can use, for example, the technology disclosed in Japanese Patent Application Publication No. 2012-114774 (hereinafter referred to as "referenced document"). According to the technology disclosed in the referenced document, an image can be divided into multiple pixel blocks, it can be determined whether or not a pixel block is a foreground pixel block constituting the foreground of the image, and furthermore, a foreground region in which the foreground pixel blocks are continuous can be extracted. In addition, a region of a string of characters composed of multiple foreground regions can be extracted according to the distance and direction between the multiple foreground regions. Therefore, by using the referenced document, the character area extraction unit 104 can first extract the foreground region from the region in the image and separate the image region into the background region. Then, the character area extraction unit 104 can extract the string of characters from the foreground region to make it a character region, and separate the other regions of the foreground region into a photographic region. In this way, the character area extraction unit 104 can extract a character region from an image. Note that the method described above is just one example, and the character area extraction unit 104 can use various methods as long as they are methods for extracting a character region from an image. For example, you could reuse the foreground extraction process for highly compressed PDF (Portable Document Format).
[0021] The character area extraction unit 104 may also generate a character area map as data indicating the location of the extracted character areas. A character area map is an image that shows whether or not each block of an image is a character area. An example of a character area map is shown in Figure 10. Figure 10 is an image that shows, by pixel value, whether or not each pixel in the input image is a pixel included in a character area, and in particular, it shows the character area map image of the part where the character "W" is written. Bright pixels (pixel Px1) in Figure 10 indicate pixels that make up the character, pixels of moderate brightness (pixel Px2) in Figure 10 indicate pixels located at the boundary between the character and the background, and dark pixels (pixel Px3) in Figure 10 indicate pixels that do not make up the character. In this case, by defining the area made up of bright pixels as a character area, the area made up of pixels that make up the character can be identified as a character area. Alternatively, by defining the area made up of bright pixels and pixels of moderate brightness as a character area, the area made up of pixels that make up the character and the surrounding part (edge part) of the character can be identified as a character area.
[0022] Furthermore, the character area map may indicate the probability of a pixel being a character area using pixel values. For example, in the example in Figure 10, the pixel values of the character area map range from 0 to 255, with pixel blocks that are highly likely to be character areas having a pixel value of 220, pixel blocks with a moderate probability of being character areas having a pixel value of 180, and pixel blocks with a low probability of being character areas having a pixel value of 30. In other words, whether or not a pixel is a character area is indicated by three different values. The probability of a pixel being a character area is determined, for example, by the characteristics of the pixels included in the pixel block of interest (e.g., the proportion of pixels with a density of 30% or less), the number of edge pixels included in the pixel block of interest, and the number of pixels within those edge pixels. In this way, the character area extraction unit 104 can indicate the positions of pixels that constitute the inside of a character (the character part) and the positions of pixels around the character (near the edge) using the character area map.
[0023] Alternatively, the character area extraction unit 104 may store the generated character area map in the character area map storage area 164 of the storage unit 160.
[0024] The jagged edge detection unit 106 determines whether or not jagged edges occur in the output image (hereinafter referred to as the "output image") after performing image processing for monochrome images, if the image input to the multifunction printer 10 (hereinafter referred to as the "input image") is a monochrome image. Image processing for monochrome images is, for example, color reduction processing such as simple binarization. In this embodiment, the image processing for monochrome images is assumed to be simple binarization, and the jagged edge detection unit 106 will be described as determining whether or not jagged edges occur in the output image when outputting the input image that has undergone simple binarization (simple binarized image) as the output image. The processing performed by the jagged edge detection unit 106 will be described later.
[0025] The tone conversion method determination unit 108 determines the conversion method (tone conversion method) to be used when converting the tone of the input image when outputting the input image. The processing performed by the tone conversion method determination unit 108 will be described later.
[0026] The image output processing unit 110 performs the process of outputting an image. The processes performed by the image output processing unit 110 will be described later.
[0027] The image input unit 120 inputs images to the multifunction printer 10. The image input unit 120 is composed of, for example, a scanner device that reads a document placed on the document glass. The scanner device is a device that converts the image of the document into an electrical signal using an image sensor such as a CCD (Charge Coupled Device) or CIS (Contact Image Sensor), and then quantizes and encodes the electrical signal. The image input unit 120 is also composed of an interface (terminal) for reading images stored in a USB (Universal Serial Bus) memory, and images may be input by reading from the USB memory. Alternatively, the image input unit 120 may also input images by receiving them from other devices via the communication unit 190.
[0028] The image forming unit 130 forms (prints) an image on a recording medium such as recording paper. The image forming unit 130 is composed of a printing device such as a laser printer using an electrophotographic method. For example, the image forming unit 130 feeds recording paper from a paper feed tray 132 provided in the multifunction printer 10, forms an image on the surface of the recording paper, and ejects the recording paper from an output tray 134 provided in the multifunction printer 10.
[0029] The display unit 140 displays various information. The display unit 140 is composed of a display device such as an LCD (Liquid Crystal Display), an OLED (Electro-Luminescence) display, or a microLED (Light Emitting Diode) display.
[0030] The operation unit 150 receives operation instructions from the user of the multifunction printer 10. The operation unit 150 is composed of input devices such as key switches (hard keys) and touch sensors. The method for detecting input by contact (touch) in the touch sensor can be any common detection method, such as resistive, infrared, electromagnetic induction, or capacitive touch. The multifunction printer 10 may also be equipped with a touch panel in which the display unit 140 and the operation unit 150 are integrally formed.
[0031] The storage unit 160 stores various programs and data necessary for the operation of the multifunction printer 10. The storage unit 160 is composed of storage devices such as a semiconductor memory SSD (Solid State Drive) or an HDD (Hard Disk Drive).
[0032] The memory unit 160 reserves the following memory areas: an input image memory area 162 for storing input images, a character area map memory area 164 for storing character rear maps, a comparison image memory area 166 for storing comparison images, and a difference image memory area 168 for storing difference images.
[0033] The comparison image stored in the comparison image storage area 166 is an image obtained by applying predetermined image processing to the input image, and is the image that is compared when the difference image described later is generated. Therefore, at least two types of comparison images are generated for one input image.
[0034] In this embodiment, two comparison images are generated: a first image (a multi-level image) that has undergone monochrome image processing on the input image (a multi-level image), and a second image (a non-monochrome image) that has undergone image processing on the input image. Specifically, the first image is an image that has undergone correction processing such as sharpening and contrast correction processing, as well as simple binarization processing, on the input image, and is the actual output image (an image that has gone through the actual binarization image generation process) when outputting a monochrome image. The second image is an image that has undergone only correction processing such as sharpening and contrast correction processing on the input image, with the simple binarization processing omitted. That is, the first image is a simple binarized image, while the second image is a multi-level image. Image correction processing is a process that adjusts the pixel values of pixels included in the input image overall, for example, by removing or reducing image characteristics caused by the characteristics of a scanner device, or by suppressing noise that occurs in the input image. Other correction processes besides the sharpening and contrast correction processes described above may be performed; for example, processes that change the brightness or saturation of the image may be performed.
[0035] The difference image stored in the difference image storage area 168 is an image that shows the difference in pixel values for each pixel between two types of comparison images. For example, the difference image is a grayscale image that shows the difference in brightness values for each pixel of the second image compared to the first image as pixel values.
[0036] For example, if the brightness value of each pixel in the first and second images is one of the values from 0 to 255, the difference in brightness values will be one of the values from 0 to 255. In this case, pixels in the second image with no brightness difference from the first image will have a pixel value of 0 (black pixels) in the difference image. On the other hand, pixels in the second image with a brightness difference from the first image will have a pixel value corresponding to that brightness difference in the difference image. Therefore, the larger the brightness difference between the first and second images, the brighter the pixel will be in the difference image.
[0037] Furthermore, the storage unit 160 stores a setting table 170. The setting table 170 is a table that stores information regarding the settings of the multifunction printer 10. The setting table 170 is a table in which setting item names are associated with the setting content set for each setting item, as shown in Figure 3, for example.
[0038] The setting table 170 of this embodiment stores the following settings. (1) Threshold used to determine blocks containing jagged edges (2) Conditions used to classify the degree of jaggedness (3) Conditions used to determine the grayscale conversion method The details are explained below.
[0039] (1) Threshold used to determine blocks containing jagged edges The thresholds used to identify blocks containing jagged edges include a pixel value threshold (first threshold, D100 in Figure 3), a candidate pixel count threshold (second threshold, D102 in Figure 3), and a block count threshold (third threshold, D104 in Figure 3).
[0040] The pixel value threshold is a threshold value for each pixel in the difference image. In this embodiment, pixels in the difference image whose pixel value is equal to or greater than the pixel value threshold are extracted as candidate pixels for jagged edges. Candidate pixels for jagged edges are pixels with a large difference in pixel value between the two comparison images, and are pixels that are highly likely to be perceived as having jagged edges by the user in an image that has been processed for monochrome images.
[0041] The candidate pixel count threshold is a threshold value for candidate pixels where jaggies occur in each block of a difference image that has been divided into blocks (for example, 8 pixels vertically and 8 pixels horizontally). In this embodiment, blocks in which the number of candidate pixels where jaggies occur is equal to or greater than the candidate pixel count threshold are extracted as blocks where jaggies occur.
[0042] The block count threshold is a threshold value for the number of blocks in which jaggies occur. In this embodiment, if the number of blocks in which jaggies occur is equal to or greater than the block count threshold, it is determined that jaggies will occur in the output image by performing monochrome image processing on the input image.
[0043] (2) Conditions used to classify the degree of jaggedness The conditions used to classify the degree (intensity) of jaggedness are the conditions used to classify blocks according to the degree of jaggedness that occurs. In this embodiment, a statistical quantity is calculated using the difference values within the block, and the block is classified by comparing this statistical quantity with the conditions used to classify the degree of jaggedness.
[0044] Here, the difference values for each pixel between the first image (simple binarized image) and the second image (multi-level image) appear in the difference image. The difference values that appear in the difference image are the midtone information that is lost due to the simple binarization process. Therefore, pixels with large difference values are thought to be the cause of jagged edges. In other words, the more pixels with large difference values there are, the higher the likelihood of causing jagged edges, and the fewer pixels with large difference values there are, the lower the likelihood of causing jagged edges. In this embodiment, the degree of jaggedness in a block is determined by evaluating the magnitude of the difference values using the difference image showing the difference between the first image and the second image.
[0045] The magnitude of the difference is evaluated based on statistics calculated using the difference. Generally, when the difference between two images is large, the difference value or the absolute value of the difference value tends to be large. Therefore, statistics that reflect the overall magnitude of the difference can be used. Specifically, values such as the sum (total value), mean, and median of the difference values can be used as statistics.
[0046] Furthermore, when the difference between two images is large, the difference value or the variability of the difference value tends to be large. This is because when the difference between the two images is small, the difference value or the absolute value of the difference value is close to 0 for almost all pixels in the difference image, resulting in small variability. In contrast, when the difference between the two images is large, the difference image contains many pixels with non-zero values, resulting in large variability. For this reason, statistical values that reflect the magnitude of the variability of the difference value can be used as statistical measures. Specifically, the variance, standard deviation, and entropy (information content) values of the difference value can be used.
[0047] In this embodiment, we will describe the case where the entropy value is used as a statistical measure. In this case, conditions and judgment thresholds for the entropy value are predetermined, and blocks can be classified according to these conditions. For example, a judgment threshold is set to determine whether the entropy value is in the small, medium, or large range, and blocks are classified based on this judgment threshold. For example, if the conditions shown in D106 of Figure 3 are stored, if the entropy value of the block of interest is less than 1, the degree of jaggedness of that block is set to "small". Similarly, if the entropy value of the block of interest is 1 or more and less than 3, the degree of jaggedness of that block is set to "medium". Also, if the entropy value of the block of interest is 3 or more, the degree of jaggedness of that block is set to "high".
[0048] (3) Conditions used to determine the grayscale conversion method A grayscale conversion method refers to an image processing method performed on an input image, particularly one that includes processing to convert the number of grayscale levels of the input image. The conditions used to determine the grayscale conversion method are those used to determine the image processing method to be performed on the input image when it is determined that jagged edges will occur and the input image is to be output.
[0049] In this embodiment, the grayscale conversion method is one of the following three types. (a) Grayscale method (first output method) The grayscale method converts an input image into a grayscale image. Each pixel in the input image is converted to either white (0% density), black (100% density), or an intermediate color between white and black, depending on its brightness. There is no particular limit to the number of intermediate colors, but it is desirable to have a sufficient number to represent the gradient from white to black. For example, if there are 254 intermediate colors, the grayscale method converts the input image into an image with 256 gradations (white, black, and intermediate colors).
[0050] (b) Error diffusion method (second output method) The error diffusion method is a method of converting each pixel of an input image into either a white pixel or a black pixel. That is, the image converted by the error diffusion method is a binary image, and the number of gray levels of the image is 2 (two gray levels). In the error diffusion method, information on the difference (error) between the brightness value of the pixel being focused on and the brightness value serving as the threshold for the pixel's brightness is propagated to adjacent pixels of the focused pixel. Then, based on the brightness value of the pixel being focused on and the propagated error information, the color after conversion for the pixel being focused on is determined.
[0051] (c) Gray Minority Color Method (Third Output Method) The gray minority color method is a method of converting an input image into a monochromatic image, where the number of gray levels of the converted image is greater than 2 and smaller than the number of gray levels used for the image converted by the grayscale method (e.g., 256). For example, when an image is represented in 256 gray levels by the grayscale method, in the gray minority color method, the input image is represented in gray levels such as 4 gray levels, 8 gray levels, 16 gray levels, etc. Note that the process of converting an image into a gray minority color image is also called black-and-white multilevel conversion (black-and-white minority color) processing. By the black-and-white multilevel conversion processing, the number of gray levels of the input image becomes n gray levels (where 2 < n < the number of gray levels of the grayscale image).
[0052] In the example of FIG. 3, when the number of blocks with a jaggedness degree of "large" and "medium" with respect to the number of blocks determined to have jaggedness is 50% or more, it indicates that the tone conversion method is determined to be the error diffusion method (D110 in FIG. 3). Also, when the number of blocks with a jaggedness degree of "large" with respect to the number of blocks determined to have jaggedness is 50% or more, it indicates that the tone conversion method is determined to be the grayscale method (D112 in FIG. 3). Note that in other cases, the tone conversion method is determined to be the gray minority method (D108 in FIG. 3).
[0053] The communication unit 190 communicates with other devices and equipment such as terminal devices 20 via a network such as a LAN (Local Area Network) or WAN (Wide Area Network). The communication unit 190 is composed of communication devices or communication modules such as a NIC (Network Interface Card) used in wired / wireless LANs. The communication unit 190 may also have an interface (network I / F) that can connect to a network. Furthermore, the communication unit 190 may be connected to a communication network such as a public telephone network, LAN, or the Internet, and may be capable of transmitting data to the outside via the communication network using communication methods such as facsimile or email.
[0054] [1.2 Processing Flow] The processes performed by the multifunction device 10 will be explained with reference to Figures 4 to 7. The processes performed by the multifunction device 10 are executed by the control unit 100 reading a program stored in the storage unit 160. The processes described in Figures 4 to 7 are executed when functions that output input images, such as the scanning function and the copying function, are used.
[0055] [1.2.1 Main Processing] Referring to Figure 4, the flow of the main processing performed by the control unit 100 will be explained. First, the control unit 100 acquires an input image (step S100). For example, the control unit 100 inputs an image of a document placed on the document glass via the image input unit 120, or inputs an image received from another device via the communication unit 190. In addition, the input image is generally a multi-level image.
[0056] The control unit 100 determines whether the input image, which is a multi-level image, is a monochrome image (step S102). Step S102 is a process that determines whether the input image is a monochrome image using a so-called Auto Color Selection (ACS) function. For example, the control unit 100 obtains the total number of pixels and the total number of achromatic pixels from the image acquired in step S100, and determines that it is a monochrome image if the proportion of achromatic pixels is greater than or equal to a predetermined value.
[0057] If the input image is a monochrome image, the input image is a grayscale image or an image close to grayscale. Next, the control unit 100 (character area extraction unit 104) generates a character area map (step S102; Yes → step S104). At this time, the character area extraction unit 104 may store the character area map in the character area map storage area 164.
[0058] Next, the control unit 100 (jaggie occurrence determination unit 106) executes a process to acquire a comparison image by generating a comparison image (comparison image acquisition process) (step S106). The comparison image acquisition process will be described later. As a result of the execution of the comparison image acquisition process, two types of comparison images are stored in the comparison image storage area.
[0059] Next, the control unit 100 (jaggie occurrence determination unit 106) generates a difference image (step S108). For example, the jagged image occurrence determination unit 106 generates a difference image using the two types of comparison images generated in step S106. At this time, the jagged image occurrence determination unit 106 may store the image data of the difference image in the difference image storage area 168.
[0060] Next, the control unit 100 (jaggie occurrence determination unit 106) performs a process to determine whether or not jaggies occur in the simple binarized image when a simple binarized image is output by performing image processing for monochrome images on the input image (jaggie occurrence / absence determination process) (step S110). The jaggie occurrence / absence determination process will be described later.
[0061] Next, the control unit 100 executes a process to convert the gradation of the input image (gradation conversion process) based on the determination result of the jaggedness determination process in step S110 (step S112). The gradation conversion process will be described later.
[0062] Next, the control unit 100 (image output processing unit 110) outputs the image (output image) that was converted in step S112 (step S114). For example, the image output processing unit 110 outputs the image by controlling the image forming unit 130 to form the output image on a recording medium, by storing the output image in the storage unit 160, or by transmitting the output image to another device via the communication unit 190.
[0063] On the other hand, in step S102, if the input image is not a monochrome image, the control unit 100 (image output processing unit 110) performs predetermined image processing on the input image (step S102; No → step S116). Predetermined image processing includes, for example, sharpening or contrast correction.
[0064] The control unit 100 (image output processing unit 110) outputs the image after image processing in step S116 (step S118). The processing in step S118 is the same as the processing in step S114.
[0065] [1.2.2 Comparison Image Acquisition Process] Referring to Figure 5, the comparison image acquisition process performed by the jagged edge detection unit 106 will be described. First, the jagged edge detection unit 106 performs a sharpening process on the input image via the image processing unit 102 (step S130). For example, the jagged edge detection unit 106 sharpens the input image by applying a spatial filter to the input image via the image processing unit 102.
[0066] Next, the jagged edge detection unit 106 further corrects the contrast of the input image that has undergone sharpening (step S132). For example, the jagged edge detection unit 106 corrects the contrast of the input image via the image processing unit 102, changing light gray pixels to white pixels or dark gray pixels to black pixels. In this way, by performing contrast correction processing after sharpening as a correction process for the input image, noise in the input image is suppressed and printed pixels are made clearer.
[0067] Next, the jagged edge detection unit 106 performs a simple binarization process on the input image after contrast correction (step S134). The jagged edge detection unit 106 also uses the data of the input image after sharpening, contrast correction, and simple binarization as the first image (step S136). At this time, the jagged edge detection unit 106 may store the image data of the first image in the comparison image storage area.
[0068] Furthermore, the jagged edge detection unit 106, separately from the processing in steps S134 and S136, uses the data of the input image after sharpening and contrast correction as the second image (step S138). That is, the second image is the data of the image that has not undergone simple binarization. At this time, the jagged edge detection unit 106 may store the image data of the second image in the comparison image storage area. Step S138 may be executed in parallel with steps S134 and S136, or it may be executed after the processing in steps S134 and S136.
[0069] This process generates a first image obtained by applying correction processing such as sharpening and contrast correction, as well as simple binarization, to the input image, which is a multi-level image, and a second image obtained by applying correction processing to the data of the input image.
[0070] [1.2.3 Jagged Edge Detection Process] Referring to Figure 6, the process for determining whether or not jagged edges occur, executed by the jagged edge detection unit 106 of the control unit 100, will now be described. First, the jagged edge detection unit 106 obtains the difference value of the pixel values of the comparison image in the character area of the input image (step S150). Here, since a character area map is generated in step S104 of Figure 4, the jagged edge detection unit 106 can, for example, determine that an area in the character area map composed of pixels with a pixel value greater than 175 is a character area. Also, since a difference image is generated in step S108 of Figure 4, the jagged edge detection unit 106 can obtain the pixel values of the pixels in the comparison image that are located in the character area as the difference value of the pixel values of the character area.
[0071] Next, the jagged edge detection unit 106 obtains the total number of candidate pixels for jagged edge occurrence (pixels whose difference value is equal to or greater than the first threshold) on a block-by-block basis (step S152). Candidate pixels for jagged edge occurrence are pixels in the output image that are candidates for locations where jagged edges will occur. Specifically, the jagged edge detection unit 106 performs the following processing. The jaggedness detection unit 106 divides the comparison image into blocks of a predetermined size (for example, blocks of 8 pixels vertically and 8 pixels horizontally). The jagged edge detection unit 106 determines, for each block, any pixels in the character area included in the block whose pixel value is equal to or greater than the first threshold, as candidate pixels for jagged edge occurrence. The jagged edge detection unit 106 counts the number of candidate pixels for jagged edge occurrences for each block. In this way, the jagged edge detection unit 106 uses the difference between the simple binarized image (first image) and the grayscale image (second image) as an evaluation value, and extracts candidate pixels where jagged edges may occur by thresholding the difference value.
[0072] Next, the jagged edge detection unit 106 performs a process to flag blocks where the total number of candidate pixels for jagged edge occurrence is equal to or greater than the second threshold (step S154). For example, the jagged edge detection unit 106 compares the number of candidate pixels for jagged edge occurrence within each block with the second threshold. At this time, the jagged edge detection unit 106 temporarily stores the location of the block where the number of candidate pixels for jagged edge occurrence is equal to or greater than the second threshold in the storage unit 160. As a result, after performing the comparison for all blocks, the jagged edge detection unit 106 can flag the block corresponding to the location of the block stored in the storage unit 160.
[0073] Next, the jagged edge detection unit 106 determines whether the number of flagged blocks is equal to or greater than the third threshold (step S156). If the number of flagged blocks is equal to or greater than the third threshold, the jagged edge detection unit 106 determines that jagged edges will occur if the input image is processed for monochrome images (step S156; Yes → step S158). On the other hand, if the number of flagged blocks is not equal to or greater than the third threshold, the jagged edge detection unit 106 determines that jagged edges will not occur if the input image is processed for monochrome images (step S156; No → step S160).
[0074] In this way, the jagged edge detection unit 106 counts the frequency of jagged edge occurrences (candidate pixels for jagged edge occurrences) and can determine that jagged edges have occurred only when the frequency is sufficiently high. At this time, in the processing of steps S154 and S156, the jagged edge detection unit 106 can determine whether or not jagged edges occur based on the number of blocks in which jagged edges are thought to occur by making a determination on a block-by-block basis. By making a determination on a block-by-block basis, the jagged edge detection unit 106 can avoid reacting to the occurrence of minute jagged edges.
[0075] Furthermore, in step S150, the jagged edge detection unit 106 obtains the difference value of pixels included in the character area of the input image, and uses the obtained difference value to perform the determination process from step S152 to step S156. In other words, the jagged edge detection unit 106 can detect the occurrence of jagged edges using only the pixels included in the character area, and can determine whether or not jagged edges occur in the characters.
[0076] [1.2.4 Grayscale Conversion Processing] Referring to Figure 7, the grayscale conversion process will be explained. First, the control unit 100 (grayscale conversion method determination unit 108) determines whether the result of the jaggedness occurrence determination result is "jaggies occur" or not (step S180).
[0077] Here, the tone conversion method determination unit 108 of the control unit 100 needs to avoid the occurrence of jagged edges if the determination result of the jagged edge occurrence determination result is "jaggies will occur". In other words, if it is determined that jagged edges will occur by performing a simple binarization process on the input image, the tone conversion method determination unit 108 switches the image processing performed on the input image to a process other than the image processing for monochrome images (simple binarization process).
[0078] Therefore, if the control unit 100 (grayscale conversion method determination unit 108) determines that "jaggies occur," it classifies the blocks based on the entropy value (step S180; Yes → step S182).
[0079] For example, the grayscale conversion method determination unit 108 calculates (acquires) a histogram of difference values for each block of the difference image using the pixel values (difference values) within the block, and then calculates the entropy (information amount) using the histogram. Note that the histogram calculation may be performed simultaneously with the processing from step S150 onwards in Figure 6.
[0080] Furthermore, the grayscale conversion method determination unit 108 evaluates the entropy value based on the setting of the degree of jaggedness stored in the setting table 170, thereby classifying the degree of jaggedness in the block of interest. That is, the entropy value is evaluated for each block, and it is determined whether it falls into the small, medium, or large range by threshold determination or the like. As a result, the block can be classified into one of the following: a block with a high degree of jaggedness (large range), a block with a medium degree of jaggedness (medium range), or a block with a low degree of jaggedness (small range).
[0081] Next, the control unit 100 (gradation conversion method determination unit 108) determines the gradation conversion method according to the classification in step S182 (step S184). For example, the gradation conversion method determination unit 108 aggregates the blocks classified in step S182 based on the size of the range and calculates the proportion of blocks with a large range, blocks with a medium range, and blocks with a small range. Next, the gradation conversion method determination unit 108 determines the gradation conversion method by comparing the calculated proportions with the conditions used to determine the gradation conversion method stored in the setting table 170.
[0082] Next, the control unit 100 (image processing unit 102) converts the input image according to the gradation conversion method determined in step S184. Specifically, if the gradation conversion method is determined to be the grayscale method, the control unit 100 (image processing unit 102) converts the input image into a grayscale image (step S184; grayscale → step S186). Also, if the gradation conversion method is determined to be the gray minority color (black and white multi-level) method, the control unit 100 (image processing unit 102) converts the input image into a gray minority color image (step S184; gray minority color → step S188). Also, if the gradation conversion method is determined to be the error diffusion method, the control unit 100 (image processing unit 102) converts the input image into a binarized image using error diffusion (step S184; error diffusion → step S190).
[0083] On the other hand, if the result of the jaggedness determination in step S180 is not "jaggies occur", there is no need to avoid the occurrence of jaggedness, and the image processing for monochrome images may be performed as is. Therefore, the control unit 100 (image processing unit 102) converts the input image into a simple binarized image (step S180; No → step S192).
[0084] In this way, even if the input image is a monochrome image and performing image processing for monochrome images would result in jagged edges, the control unit 100 can convert it into an image with a number of grayscale levels greater than 2, or into a binarized image using error diffusion.
[0085] [1.3 Example of Operation] An example of operation of this embodiment will be described with reference to Figures 8 to 11. Figure 8 is a diagram showing the changes in an image from the time an image is input until it is output.
[0086] Image P100 in Figure 8 shows the input image. Image P101 is a magnified view of region E100 within image P100. At the stage when the image is input, the edges of the characters contain many midtone pixels.
[0087] Image P102 in Figure 8 is the image after sharpening processing has been applied to image P100 (P1 in Figure 8). Image P103 is a magnified view of region E102 within image P102. The sharpening process makes the edges of the characters stand out.
[0088] Image P104 in Figure 8 is the image after contrast correction processing has been applied to image P102 (P2 in Figure 8). Image P105 is a magnified view of region E104 within image P104. With contrast correction, pixels with midtones close to white become white, and pixels with midtones close to black become black.
[0089] Image P106 in Figure 8 is the image after simple binarization processing has been performed on image P104 (P3 in Figure 8). Image P107 is an enlarged view of region E106 within image P106. The image after simple binarization processing is the output image when the input image is a monochrome image and there is no need to avoid the occurrence of jaggies.
[0090] Figure 9 shows the input image and the images generated in the processing of this embodiment. Image P110 is the input image. A character area map P112 is generated from image P110 (P11 in Figure 9). Also, from image P110, the first image P114 (P12 in Figure 9) and the second image P116 (P13 in Figure 9) are generated as comparison image data. Furthermore, a difference image P118 is generated from the first image P114 and the second image P116. In the difference image P118, pixels with a difference value of 0 are shown as white pixels. Therefore, the colored pixels in the difference image P118 are pixels with a difference value greater than 0.
[0091] In this embodiment, by comparing the difference image P118 with the character area map P112 and using the pixel values (difference values) of the difference image in the character area, it is possible to determine whether or not to avoid the occurrence of jagged edges.
[0092] Figure 10 is an enlarged view of the character area map P112 in Figure 9. The character area map P112 includes pixels with low density (pixel value 220) that indicate the positions of pixels that make up characters, pixels with a density (pixel value 180) that indicate the positions of pixels around the edges of characters, and pixels with high density (pixel value 30) that indicate the positions of pixels that do not make up characters. By defining the character area in the character area map P112 as a region composed of pixels with a pixel value greater than 175, for example, the character area in the input image is determined.
[0093] Figure 11 is an enlarged view of the difference image P118 from Figure 9. The dotted lines in Figure 11 indicate the positions of pixels that make up the characters. Also, D118 in Figure 11 indicates a pixel (a pixel with a difference value greater than 0) where a difference has occurred between the first image P114 and the second image P116. As shown in Figure 11, pixels where a difference has occurred appear around the characters. In this embodiment, the difference value of the pixels where a difference has occurred is evaluated to determine whether or not to avoid the occurrence of jagged edges. If it is necessary to avoid the occurrence of jagged edges, the grayscale conversion method is determined according to the statistical value of the difference.
[0094] In the above explanation, the grayscale conversion method was described as being determined according to the proportion of blocks classified according to the range, but it may be determined by other methods. For example, the grayscale conversion method determination unit 108 may multiply the number of blocks in the large range, the number of blocks in the medium range, and the number of blocks in the small range by coefficients to assign weights, and determine the grayscale conversion method by the sum of the weighted numbers. Alternatively, the grayscale conversion method may be determined based on the range with the most classified blocks among the large range, medium range, and small range.
[0095] Furthermore, although the above explanation states that the input image is converted to a grayscale image in step S186 of Figure 7, the input image may be converted to a grayscale image when it is determined to be a monochrome image in step S102 of Figure 4. In this case, the comparison image will be a grayscale image, so when generating a difference image, the difference value of each pixel can be obtained simply by subtracting the pixel values of the comparison image. Also, since the input image is a grayscale image before the gradation conversion process in Figure 7 is executed, if the gradation conversion method is determined to be a grayscale method in step S184 of Figure 7, the image processing unit 102 can skip the processing in step S186 (processing skipped). In other words, the image processing unit 102 skips the binarization and color reduction (lower gradation) processes.
[0096] Furthermore, some of the above-described procedures may be performed by devices other than the multifunction printer 10. For example, although it was explained that comparison images and difference images are obtained by being generated by the multifunction printer 10, comparison images and difference images may be generated by other devices connected to the multifunction printer 10, and the multifunction printer 10 may receive the generated comparison images and difference images. In addition, a process to determine whether or not jaggies occur based on the difference image may be performed by other devices connected to the multifunction printer 10, and the multifunction printer 10 may receive the result of this execution (determination result).
[0097] As described above, the multifunction printer of this embodiment can determine whether or not image quality degradation occurs in the jagged edges (jaggies) of characters in the binarized image after it has been determined to be a monochrome image by the Auto Color Selection (ACS) function during scanning or copying, and after various image processing such as sharpening and contrast correction has been applied. Furthermore, if image quality degradation occurs, the multifunction printer of this embodiment can control the gradation conversion process (gradation correction process) by selecting a gradation conversion method in the gradation conversion process according to the degree of image quality degradation (degree of jaggedness). This enables appropriate gradation reproduction processing and prevents image degradation. At this time, the gradation conversion method is selected based on an evaluation using indicators such as the frequency and intensity of jaggedness, so an appropriate gradation conversion method is selected.
[0098] According to this embodiment, unlike conventional methods, jaggedness detection and tone correction processing control are performed in the image processing process of binarization without pattern matching, by only adding a small amount of processing and controlling the processing. As a result, in this embodiment, processing necessary for detecting jaggedness on a pixel-by-pixel basis or determining the occurrence of jaggedness, as well as memory for storing patterns used to detect jaggedness, are unnecessary. Furthermore, since this embodiment requires less processing and hardware compared to conventional methods, processing time can be reduced and hardware costs can be kept to a minimum.
[0099] Furthermore, the multifunction printer of this embodiment uses the difference between the input image and the output image based on the character area information to determine whether or not jagged edges occur in the output image. This makes it possible to detect jagged edges that occur particularly in the character portion. In addition, if it is necessary to avoid the occurrence of jagged edges, the gradation correction method can be switched to an appropriate gradation conversion process while taking into account the degree of impact on image quality.
[0100] [2. Second Embodiment] Next, a second embodiment will be described. The second embodiment is an embodiment in which, in the grayscale conversion process of the first embodiment, the conditions used to determine the grayscale conversion method are changed according to which of the output image file size and output image quality is given priority. In this embodiment, Figure 3 of the first embodiment is replaced with Figure 12, and Figure 7 of the first embodiment is replaced with Figure 13. The same reference numerals are used for the same processes, and their descriptions are omitted.
[0101] [2.1 Functional Configuration] Figure 12 shows an example of the setting table 170 in this embodiment. In this embodiment, the setting table 170 includes an output mode (D200 in Figure 12) that indicates which of the output image file size and the output image quality should be prioritized.
[0102] Furthermore, the setting table 170 stores the conditions used to determine the tone conversion method when prioritizing the file size of the output image (file size priority) (D202 in Figure 12), and the conditions used to determine the tone conversion method when prioritizing the image quality of the output image (image quality priority) (D204 in Figure 12).
[0103] In the example shown in Figure 12, when prioritizing file size, the grayscale conversion method is selected in the following order of priority: grayscale-minor-color method (third output method), error diffusion method (second output method), and grayscale method (first output method). In other words, the grayscale-minor-color method is more likely to be selected.
[0104] On the other hand, in the example shown in Figure 12, when image quality is prioritized, the gradation conversion method is selected in the following order of priority: grayscale method (first output method), error diffusion method (second output method), and gray-based color-definite method (third output method). In other words, the grayscale method is more likely to be selected.
[0105] The conditions used to determine the output mode and the grayscale conversion method for each output mode are either pre-set or pre-set by the user. For example, the control unit 100 displays a settings screen on the display unit 140 in response to user operation, and stores the conditions used to determine the output mode and the grayscale conversion method for each output mode in the settings table 170 based on the settings entered by the user via the settings screen.
[0106] [2.2 Processing Flow] Figure 13 is a flowchart showing the flow of the gradation conversion process in this embodiment. In this embodiment, after the processing in step S182, the gradation conversion method determination unit 108 determines the gradation conversion method based on the conditions used to determine the gradation conversion method according to the output mode. Specifically, the gradation conversion method determination unit 108 determines whether the output mode is file size priority or not (step S182 → step S200). If the output mode is file size priority, the gradation conversion method determination unit 108 obtains the conditions used to determine the gradation conversion method corresponding to file size priority (step S200; Yes → step S202). On the other hand, if the output mode is image quality priority, the gradation conversion method determination unit 108 obtains the conditions used to determine the gradation conversion method corresponding to image quality priority (step S200; No → step S204). As a result, if the output mode is set to "file size priority," the gradation conversion method determination unit 108 can determine the gradation conversion method by prioritizing the method for converting the input image in the order of third output method, second output method, and first output method. Furthermore, if the output mode is set to "image quality priority," the gradation conversion method determination unit 108 can determine the gradation conversion method by prioritizing the method for converting the input image in the order of first output method, second output method, and third output method.
[0107] Next, the grayscale conversion method determination unit 108 determines the grayscale conversion method according to the classification in step S182 and the conditions used to determine the grayscale conversion method acquired in step S202 or step S204 (step S206).
[0108] This allows the tone conversion method determination unit 108 to change the priority of tone conversion processing depending on whether it prioritizes the file size of the output image or the image quality of the output image.
[0109] In the above explanation, it was stated that either the file size of the output image or the image quality of the output image should be prioritized. However, settings for the output image may be configured in ways other than those described above. For example, the multifunction printer 10 may allow the user to select one of five levels for the output image settings: image quality priority, slightly image quality priority, standard, slightly file size priority, or file size priority. The conditions used to determine the tone conversion method may be switched according to the selected setting. This allows the multifunction printer 10 to switch the priority of the tone conversion method and the likelihood of selecting a tone conversion method according to the settings for the output image.
[0110] Thus, the multifunction printer of this embodiment can switch the priority of the selected grayscale conversion method depending on whether the file size of the output image is prioritized or the image quality of the output image is prioritized, making it possible to output the image appropriately.
[0111] [3. Third Embodiment] Next, the third embodiment will be described. The third embodiment is an embodiment that makes it possible to change the detection level of jagged edges in the jagged edge detection process of the first embodiment. In this embodiment, Figure 3 of the first embodiment is replaced with Figure 14, and Figure 6 of the first embodiment is replaced with Figure 15. The same reference numerals are used for the same processes, and their descriptions are omitted.
[0112] [3.1 Functional Configuration] Figure 14 shows an example of the setting table 170 in this embodiment. In this embodiment, the setting table 170 includes a jagged edge detection level (D300 in Figure 14). The jagged edge detection level indicates how likely it is to be determined that jagged edges need to be avoided. The jagged edge detection level may be, for example, high, moderately high, standard, moderately low, or low. In this case, a jagged edge detection level of "high" indicates that jagged edges are likely to be detected, and a jagged edge detection level of "low" indicates that jagged edges are unlikely to be detected.
[0113] Furthermore, in this embodiment, a third threshold value is set according to the jaggedness detection level (D302 in Figure 14). In the example in Figure 14, when the jaggedness detection level is "high," jaggedness is determined to occur when the number of flagged blocks is 30 or more. On the other hand, when the jaggedness detection level is "low," jaggedness is determined to occur when the number of flagged blocks is 400 or more. As a result, the higher the jaggedness detection level, the easier it becomes to detect the occurrence of jaggedness.
[0114] The jaggedness detection level and the third threshold corresponding to the jaggedness detection level may be pre-set or pre-set by the user. For example, the control unit 100 may display a settings screen on the display unit 140 in response to user operation, and the jaggedness detection level and the third threshold may be set via the settings screen.
[0115] [3.2 Processing Flow] Figure 15 is a flowchart showing the flow of the grayscale conversion process in this embodiment. After executing the process in step S154, the jaggedness detection unit 106 acquires a third threshold according to the jaggedness detection level (step S154 → step S300). The jaggedness detection unit 106 also uses the third threshold acquired in step S300 to determine whether the number of flagged blocks is equal to or greater than the third threshold (step S156).
[0116] In this way, the jagged edge detection unit 106 can determine whether or not jagged edges occur according to the jagged edge detection level.
[0117] [3.3 Example of Operation] Figure 16 shows an example of the settings screen in this embodiment. The settings screen W300 shown in Figure 16 is a screen for adjusting (setting) the jagged edge detection level in the process of detecting the occurrence of jagged edges. The user can set the jagged edge detection level by selecting a jagged edge detection level from the list L300 for selecting the jagged edge detection level via the operation unit 150 and selecting the OK button B300. This allows the user to have the multifunction printer 10 determine whether jagged edges have occurred according to the set jagged edge detection level.
[0118] In the explanation above, it was stated that different third thresholds are set depending on the jaggedness detection level. However, different first and second thresholds may also be set depending on the jaggedness detection level. In this case, a smaller value should be set as the threshold when the jaggedness detection level is high, and a larger value should be set as the threshold when the jaggedness detection level is low.
[0119] Thus, with the multifunction printer of this embodiment, it is possible to detect the occurrence of jaggies according to the jaggies detection level. This allows the user to adjust the determination of whether or not jaggies are present as needed.
[0120] [4. Fourth Embodiment] Next, the fourth embodiment will be described. The fourth embodiment is an embodiment in which, in the grayscale conversion process of the first embodiment, it is possible to switch between using a grayscale conversion method specified by the user or using an automatically determined grayscale conversion method. In this embodiment, Figure 3 of the first embodiment is replaced with Figure 17, and Figure 7 of the first embodiment is replaced with Figure 18. The same reference numerals are used for the same processes, and their descriptions are omitted.
[0121] [4.1 Functional Configuration] Figure 17 shows an example of the setting table 170 in this embodiment. In this embodiment, the setting table 170 stores either a "user-specified" method for determining the tone conversion method (tone conversion method determination method), which uses a tone conversion method specified by the user, or an "automatic selection" method, which uses a tone conversion method that is automatically determined (D400 in Figure 17). The setting table 170 also stores the tone conversion method specified by the user (D402 in Figure 17).
[0122] The grayscale conversion method determination method and the grayscale conversion method specified by the user are set in advance by the user. For example, the control unit 100 displays a setting screen on the display unit 140 in response to user operation, and the grayscale conversion method determination method and the grayscale conversion method can be set via the setting screen.
[0123] [4.2 Processing Flow] Figure 18 is a flowchart showing the flow of the grayscale conversion process in this embodiment. When the grayscale conversion method determination unit 108 detects the occurrence of jagged edges, it determines whether the grayscale conversion method determination method is "user specified" or not (step S180 → step S400).
[0124] If the grayscale conversion method determination method is "user specified", the image processing unit 102 converts the input image according to the grayscale conversion method specified by the user (step S400; Yes → step S402). On the other hand, if the grayscale conversion method determination method is not "user specified", that is, if it is "automatic selection" (step S400; No), the grayscale conversion method determination unit 108 and the image processing unit 102 execute the processes from step S182 to step S192.
[0125] [4.3 Example of Operation] Figure 19 shows an example of the settings screen in this embodiment. The settings screen W400 shown in Figure 19 is a screen for specifying a grayscale conversion method (processing mode) to avoid the occurrence of jagged edges after it has been determined that jagged edges will occur. The user can specify the grayscale conversion method by selecting a grayscale conversion method from the list L400 for selecting grayscale conversion methods via the operation unit 150 and selecting the OK button B400. This allows the user to specify the grayscale conversion method to be used in the grayscale conversion processing of the input image when the occurrence of jagged edges is detected.
[0126] In addition to the settings screen W400 shown in Figure 19, a screen may be displayed to select either "User Specified" or "Automatic Selection" for determining the grayscale conversion method, allowing the user to select the grayscale conversion method.
[0127] Thus, the multifunction printer of this embodiment can convert an input image using a grayscale conversion method specified by the user. This allows the user to specify a grayscale conversion method for the input image in advance in order to obtain a desired output image when simple binarization processing of the input image would result in jagged edges.
[0128] [5. Variant] The present invention is not limited to the embodiments described above, and various modifications are possible. That is, embodiments obtained by combining technical means that are appropriately modified without departing from the gist of the present invention are also included in the technical scope of the present invention. Furthermore, in the embodiments described above, a case was explained in which a multifunction printer performs a process of determining whether or not jagged edges occur and converting the input image using a grayscale conversion method, but such a process may be provided as a service on the internet (cloud). Alternatively, it may be executed as an application on a smartphone or the like. In this way, a function to convert an input image into an appropriate output image and output it can be realized in a device other than an image processing device such as a multifunction printer.
[0129] Furthermore, although the embodiments described above are explained separately for the sake of explanation, they can, of course, be combined and implemented to the extent that is technically possible. For example, the third embodiment and the fourth embodiment may be combined. This allows the user to change the jaggedness detection level or to select the grayscale conversion method used in the grayscale conversion process that is executed when jaggedness is detected.
[0130] Furthermore, in the embodiments, the programs that run in each device are programs that control the CPU and the like (programs that make the computer function) in order to realize the functions of the embodiments described above. The information handled by these devices is temporarily stored in a temporary storage device (for example, RAM) during processing, and then stored in storage devices such as various ROMs (Read Only Memory) and HDDs, and read, modified, and written by the CPU as needed.
[0131] Here, the recording medium for storing the program may be any of the following: semiconductor media (e.g., ROM or non-volatile memory card), optical recording medium / magneto-optical recording medium (e.g., DVD (Digital Versatile Disc), MO (Magneto Optical Disc), MD (Mini Disc), CD (Compact Disc), BD (Blu-ray® Disc), etc.), magnetic recording medium (e.g., magnetic tape, flexible disk, etc.). Furthermore, in addition to realizing the functions of the above-described embodiment by executing the loaded program, the functions of the present invention may also be realized by processing in cooperation with the operating system or other application programs based on the instructions of the program.
[0132] Furthermore, when distributing the program to the market, it can be stored on a portable recording medium and distributed, or transferred to a server computer connected via a network such as the Internet. In this case, the storage device of the server computer is, of course, also included in the present invention.
[0133] Furthermore, each functional block or feature of the apparatus used in the embodiments described above may be implemented or executed by an electrical circuit, such as an integrated circuit or a combination of integrated circuits. An electrical circuit designed to perform the functions described herein may include a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or a combination thereof. The general-purpose processor may be a microprocessor, a conventional processor, controller, microcontroller, or state machine. The aforementioned electrical circuit may consist of digital circuits or analog circuits. Also, if advances in semiconductor technology lead to the emergence of integrated circuit technologies that replace current integrated circuits, one or more aspects of this disclosure may use new integrated circuits based on such technologies. [Explanation of symbols]
[0134] 10 Multifunction device 100 Control Unit 102 Image Processing Unit 104 Character area extraction part 106 Jaggedness detection unit 108-level grayscale conversion method determination unit 110 Image output processing unit 120 Image Input Section 130 Image forming unit 140 Display section 150 Operation section 160 Storage section 162 Input image storage area 164-character area map memory area 166 Comparison Image Storage Area 168 Differential image storage area 170 Configuration Table 190 Communications Department
Claims
1. A determination unit obtains a first image obtained by performing correction processing and simple binarization processing on a multi-level image, and a second image obtained by performing the correction processing on the multi-level image, and determines whether or not jagged edges occur by outputting the multi-level image as a simple binarized image using the difference in pixel values of each pixel of the second image compared to the first image. If jagged edges occur, a determination unit determines a method for transforming the multi-level image according to a statistical quantity calculated using the difference value, An output unit that outputs an image converted by the method determined by the determination unit, An image processing apparatus characterized by comprising:
2. The image processing apparatus according to claim 1, characterized in that the determination unit determines a method for converting the multi-level image from one of the following methods based on the entropy value of the difference value: a first output method that outputs the multi-level image in grayscale; a second output method that performs error diffusion processing on the multi-level image and outputs the multi-level image as a binarized image; or a third output method that outputs the multi-level image in gray with a small number of colors.
3. The image processing apparatus according to claim 2, characterized in that the determination unit determines a method for transforming the multi-level image based on the range of the entropy values of the difference values.
4. The aforementioned multi-level image can be output either prioritizing file size or prioritizing image quality. The aforementioned determination unit, When outputting the aforementioned multi-level image with the image quality priority, the priority order for determining the method of converting the aforementioned multi-level image shall be in the order of first output method, second output method, and third output method. When outputting the aforementioned multi-level image prioritizing file size, the priority order for determining the method of converting the multi-level image shall be in the order of third output method, second output method, and first output method. The image processing apparatus according to claim 3.
5. The image processing apparatus according to claim 1, characterized in that the correction process includes at least a process for correcting the contrast of the multi-level image.
6. The first image above is As part of the correction process, after sharpening is performed on the multi-level image, a process is performed to correct the contrast of the multi-level image. The result is obtained by performing a simple binarization process after the correction process. The image processing apparatus according to feature 5.
7. The image processing apparatus according to claim 1, characterized in that the determination unit detects the occurrence of jaggies using only pixels included in the character region of the multi-level image.
8. The image processing apparatus according to claim 7, characterized in that the determination unit determines that pixels whose difference value is equal to or greater than a first threshold are candidate pixels, and that jagged edges occur when the number of blocks in which the number of candidate pixels per block unit of the multi-level image is equal to or greater than a second threshold is equal to or greater than a third threshold.
9. The steps include: obtaining a first image obtained by performing correction processing and simple binarization processing on a multi-level image, and a second image obtained by performing the correction processing on the multi-level image; determining whether or not jaggies occur by outputting the multi-level image as a simple binarized image using the difference in pixel values of each pixel of the second image compared to the first image; If jagged edges occur, the step of determining a method for transforming the multi-level image according to a statistical quantity calculated using the difference value, The steps include outputting the image converted by the determined method, An image processing method characterized by including
10. On the computer, A determination function that determines whether or not jagged edges occur by obtaining a first image obtained by performing correction processing and simple binarization processing on a multi-level image, and a second image obtained by performing the correction processing on the multi-level image, and outputting the multi-level image as a simple binarized image using the difference in pixel values of each pixel of the second image compared to the first image, When jagged edges occur, a determination function determines a method for transforming the multi-level image according to a statistical quantity calculated using the difference value, An output function that outputs an image converted by the method determined by the aforementioned determination function, A program characterized by its ability to achieve this.
Citation Information
Patent Citations
Picture data binarization device
JP1994004663A
Method and device for improving resolution
JP1999154226A
Image processor and image processing method
JP2000125134A
Image processor, image processing program, and image processing method
JP2010004128A
Image processing device, control method therefor, and program
JP2012248912A