Image processing apparatus and method

Abstract: There is provided an image processing apparatus for modulating a concentration of input image data, comprising: an inputting device to input image data; an RAM to store first image data input by the inputtng device; a processing unit to execute a modulating process to at least one area such as a non-rectangular area in second image data input by the inputting device by using the first image data stored in the RAM; and a detector to detect a predetermined color of the second image data. The area is specified by the color detected by the detector. The inputting device includes a CCD for reading an original and generating RGB color component signals. With this apparatus, a texture process is executed to at least one non-rectangular area and the result can be output in a real-time manner.

Description: BACKGROUND OF THE INVENTION Field of the Invention The present invention relates to an image processing apparatus for concentration modulating input image data. Related Background Art Hitherto, an apparatus which can execute a process (hereinafter, referred to as a texture process) for concentration modulating image data by using arbitrary pattern data is limited to a relatively large scale computer. The texture process will now be briefly described. For instance, the texture process denotes that an input image as shown in Fig. 7A is concentration modulated by using pattern data as shown in Fig. 7B, so that an output image as shown in Fig. 7C is obtained. Assuming that the texture pattern of Fig. 7B is a pattern of a cloth design, the cloth pattern can be synthesized to the area in the L-shaped character of Fig. 7A. In an image processing apparatus for outputting an image from an image input in a real-time manner, the apparatus which can execute such a texture process does not exist. On the other hand, hitherto, in the case of executing the texture process to a plurality of areas, the process must be sequentially executed every area and it is troublesome. Therefore, even in the case of synthesizing the same texture pattern to a plurality of areas, it takes a time in proportion to the number of areas. In addition, even in the case of executing the texture process to a non-rectangular area instead of a rectangular area, a mask must be produced to designate such an area, so that it is very complicated. Further, in the case of variably magnifying a texture pattern and executing the concentration modulation to the input image data, after the variably magnifying process was executed to the texture pattern every process, the texture process must be performed, so that it is troublesome. On the other hand, for instance, an apparatus of a construction as shown in Fig. 1 is considered as a method of realizing that the texture process is executed to an input image in a real-time manner. That is, according to the method, a pattern image for the texture process is previously read and stored, and when an original image which is subjected to the texture process is read, the stored pattern image is read out and calculated by an image modulator and the concentration is modulated. However, in such an apparatus, since there is a limitation in the capacity of a memory unit to store the pattern image for the texture process, if the pattern image to be processed is smaller than the original image data to be processed, the pattern image must be repetitively used. In the case of repetitively using the pattern image as mentioned above, no problem occurs for an image such that the patterns are relatively continuous at the right/left and upper/lower joint surfaces of the pattern image. However, in many cases, since the patterns at the joint surfaces are discontinuous, there is a drawback such that the image after completion of the texture process suddenly changes at the joint surfaces of the pattern and an unnatural line of the concentration difference appears in the image. For instance, Fig. 16A shows a finite size pattern. Fig. 16B shows concentration difference lines which are generated when the texture process of the repetitive pattern was executed to an area larger than the size of the finite size pattern of Fig. 16A. Such a drawback inevitably occurs in the image process for concentration modulating an image in accordance with a certain pattern. A paper by J.F. Blinn et al entitled "Texture and Reflection in Computer Generated Images", published in Volume 19, No. 10, October 1976, at pages 542-546 in the Journal Communications of the Association for Computing Machinery, discloses a computer-implemented texture mapping method wherein a sample object modelled in three-dimensions, for example a teapot, has a texture pattern applied to its surface. The texture pattern may come from a hand-drawn digitised picture or from a photograph which has been scanned-in. The pattern when applied to the sample object is modified in dependence upon the shape and orientation of the sample object. A paper by F. Martinez et al entitled "Helios: Terminal vidéo-interactif par la synthèse d'images réalistes", published in Volume 27, No. 30, May 1982, pages 42-47 in the Journal Le Nouvel Automatisme discloses a computer-based system for generating and displaying synthesised images comprising synthesised texture patterns. The present invention is made in consideration of the above background and it is the first object of the invention to provide an image processing apparatus which can execute the desired texture process in a real-time manner. The present invention provides an image processing apparatus comprising: reading means for reading an original and generating image data representing the original; processing means for processing the image data generated by the reading means and outputting the processed image data; transmitting means for transmitting the processed image data to an image forming unit which forms an image in accordance with the processed image data; characterised in that the processing means includes memory means for storing in advance first image data representing a first original which has been read by the reading means; in that means for producing an area signal is provided for specifying at least one area in a second original which has been read by the reading means; in that the processing means includes modulating means, responsive to the area signal, for modulating second image data representative of the second original within the at least one area by using the first image data read out from the memory means, so as to include image features of the first original within the specified area of the second original, and in that reading of the second original by the reading means, modulating of the second image data by the modulating means and transmitting of the processed image data by the transmitting means are performed successively. The present invention also provides an image processing method using such an apparatus. The above and other objects and features of the present invention will become apparent from the following detailed description and the appended claims with reference to the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS Fig. 1 is a whole block diagram of an image processing apparatus of the first embodiment of the present invention; Fig. 2 is a diagram for explaining a texture processing circuit; Fig. 3 is an explanatory diagram of an area generating circuit 111; Figs. 4A and 4B are diagrams showing a practical example of a texture process; Fig. 5 is an explanatory diagram of the area generating circuit 111 in the second embodiment of the invention; Figs. 6A and 6B are diagrams showing a practical example of a texture process in the second embodiment of the invention; Figs. 7A to 7C are diagrams showing the relation between the texture and the modulation pattern; Fig. 8 is a whole block diagram of an image processing apparatus in the third embodiment of the invention; Figs. 9-1 and 9-2 are block diagrams of image modulators; Figs. 10-1 and 10-2 are flowcharts for the operation of the image processing apparatus of the third embodiment of the invention; Fig. 11-1 is a constructional diagram of an RAM for a texture pattern; Fig. 11-2 is a diagram showing a method of calculating coordinates for a filtering process; Fig. 11-3 is a diagram showing a practical example of the calculation of the coordinates for the filtering process; Fig. 12-1 is a diagram showing a range which is subjected to the filtering process; Fig. 12-2 is a diagram showing an example of a smoothing filter which is used in the filtering process; Fig. 12-3 is a diagram showing a texture pattern before the filtering process is executed; Fig. 12-4 is a diagram showing the texture pattern after completion of the filtering process; Fig. 13-1 is a diagram showing the case where the texture pattern before the filtering process was repeated; Fig. 13-2 is a diagram showing the case where the texture pattern after completion of the filtering process was repeated; Fig. 14 is a diagram showing a filter matrix; Fig. 15 is a diagram showing an algorithm of the fourth embodiment of the invention; Figs. 16A to 16C are diagrams for explaining a problem in the conventional texture process; Figs. 17A to 17C are diagrams for explaining a practical example of the texture process in the embodiment; Figs. 18A and 18B are diagrams showing states of a pattern memory in the fourth embodiment of the invention; Fig. 19 is a block diagram of the fifth embodiment of the invention; Fig. 20 is a diagram showing pulses for the texture process according to the fifth embodiment of the invention; Fig. 21 is a diagram showing counters which are used in the texture process in the fifth embodiment of the invention; and Fig. 22 is a diagram showing the sixth embodiment of the invention. DESCRIPTION OF THE PREFERRED EMBODIMENTS (Embodiment 1) Fig. 1 is a block diagram including a texture process of a color copying apparatus as an image processing apparatus of the embodiment. The apparatus of the embodiment comprises: a CPU 108 for processing and calculating which is connected to a CPU bus 117; an ROM 109 in which programs for the texture process and the like are previously stored; an RAM 110 for auxiliary storage which is used as a work area; a CCD 100 to read image data; an A/D conversion unit 101 for converting an analog signal into a digital signal; a color masking unit 102; an undercolor removing unit or undercolor removal unit (hereinafter, simply referred to as an UCR unit) 103 for removing the undercolor from output data 123 of the color masking unit 102; a gradation correction unit 104 to execute the gamma conversion to image data 124; an operation unit 105 to execute various inputs; an image modulator 114 to execute the texture process on the basis of image data 120 and data of an RAM 113; an area generation circuit 111 to generate an area signal (particularly, the area signal is used as an enable signal of a counter 112 and an enable signal of the texture process); an enlargement/reduction unit 115 to execute an enlarging/reducing process in the horizontal direction to image data 126; and a printer unit 116 to output a final hard copy. A digitizer 106 is connected to the apparatus through a serial 1/F 107. A color laser beam printer is used as a printer unit 116 in the example. The printer unit 116 sequentially develops the colors of Y (yellow), M (magenta), C (cyan), and K (black) and obtains a full-color image output. Fig. 3 is an explanatory diagram of the area generation circuit 111. The area designation circuit 111 comprises: a counter 300 which is counted up by the input of an image clock VCK and is reset by the input of a horizontal sync signal HSYNC and outputs a count signal 304; comparators 301 and 302 to indicate an active start point and an active end point of the area signal on the basis of data which is input from the digitizer 106; and a JK flip-flop (JK F/F) 303 which executes the toggling operation on the basis of outputs of the two comparators 301 and 302 and generates an area signal, that is, an enable signal 128-1 of the texture process. In the case of using a plurality of area signals 128-1, 128-2, ..., it is sufficient to provide the blocks shown by broken lines of the number as many as only the number of areas. Fig. 2 is a diagram for explaining a texture processing circuit as a characteristic section of the invention. Explanation will now be made individually hereinbelow with respect to a writing unit to write modulation data (texture pattern) 218 into the RAM 113 and a calculating unit (texture processing unit) of data 216 from the RAM 113 and image data 215 which is subjected to the texture process. (Writing unit to write data into the RAM 113) 1. Writing of modulation data (texture pattern) from a CCD A calculator (1) 201 comprises: luminance to concentration converters for receiving input signals of R (red), G (green), and B (blue) and outputting signals of Y (yellow), M (magenta), and C (cyan); and a YMC mean value circuit. For RGB input signals 122, (Y + M + C)/3, that is concentration data 219 of eight bits is obtained. The concentration data 219 is input to the B side of a selector 200. On the other hand, data of eight bits is input to the A side of the selector 200 through the CPU bus 117. This 8-bit data is the video data and is the read image data which is not transmitted through the calculator (1) 201. When data is written into the memory, the selector 200 selects the concentration data on the B side in response to an instruction of the CPU 108. Then, a selector 202 selects the A side. On the other hand, an OR circuit 207 calculates the OR of the enable signal 128 and the VCK. A selector 208 selects the B side by an instruction of the CPU 108. To write the modulation pattern into the memory 113, a signal 220 is input as an enable signal to a WE input terminal of the memory 113 and to a driver 203. A memory address signal is produced by a vertical counter 212 which is counted up synchronously with the horizontal sync signal HSYNC and a horizontal counter 211 which is counted up synchronously with the image clock VCK. A selector 210 selects the B side and the selected memory address signal is input to an address in the memory 113. As mentioned above, the concentration pattern of the input image is written into the memory 113. In general, for such a pattern, the position of an original is designated by the digitizer 106 and the CCD 100 then the pattern of the designated position is written into the memory 113. 2. Writing of modulation data (texture pattern) from the CPU In the case where the modulation data from the CPU 108 is written into the memory 113, the selector 202 selects the B side to input the CPU data. On the other hand, the selector 208 selects the WE signal of the CPU on the A side. The WE signal is input as WE of the memory 113 and an enable signal of the driver 203. For the memory address, the CPU address signal on the A side is selected by the selector 210 and is input to an address in the memory 113. In this manner, by switching the addresses in the case where the pattern data from the reader is stored into the memory 113 and the case where the pattern data from the CPU 108 is stored, the pattern data even from any input can be stored. As mentioned above, an arbitrary concentration pattern is written into the memory 113. (Calculating unit of data 216 of the RAM 113 and image data 215) The above calculation is realized by a calculator (2) 215. The calculator (2) comprises a multiplier. The calculation of the data 216 and 215 is executed in only the portion where the enable signal 128 generated by the area generation circuit 111 is active, so that the texture process is executed. When the enable signal 218 is disenabled, the data 215 is set to the through state, so that the image data 126 of eight bits which is not subjected to the texture process is output. When the texture process is executed to the broken line area of an image as shown in Fig. 4A, the OR of the area signals of 1 ○ to 3 ○ is input as an enable signal, so that an output image as shown in Fig. 4B can be obtained. It is now assumed that the modulation pattern is as shown in Fig. 7B. As mentioned above, by calculating the OR of a plurality of area signals, the process to synthesize the same texture pattern can be executed by merely adding a procedure to designate a plurality of areas. (Calculating unit of data 216 of the RAM 113 and image data 215) The calculation to synthesize the data (texture pattern data) 216 of the RAM 113 and the image data 215 is realized by the calculator (2) 215. The calculator (2) comprises a multiplier. The calculation of the data 216 of the calculator and the data 215 is executed in only the portion where the enable signal 218 to control whether the texture process is executed or not is active. When the signal 218 is disenable, the data 215 is set to the through state. The input image data 215 is the data 120 on the A side which is selected by the selector 200, that is, the video data. Another input data 216 is the texture pattern data which is output from the memory 113. In a manner similar to the writing mode, when the data from the memory 113 is read out as well, in the case where pattern data 219 from the CCD has been stored, the address control is executed by using the horizontal counter 211 and vertical counter 212 on the B side of the selector 210. When the pattern data from the CPU 108 has been stored, the CPU address on the A side of the selector 210 is used. A method of variably magnifying the modulation data (texture pattern data) independently of the input image data will now be described. (Reduction) The reducing process is executed when image data 217 is written into the memory 113. Data are set into two r.m.p. (rate multipliers) 213 and 214 by the CPU 108 so that the image clocks VCK are thinned out by the r.m.p. 213 and the horizontal sync signals HSYNC are thinned out by the r.m.p. 214. Due to this, the counting-up speeds of the horizontal counter 211 and vertical counter 212 become slow, so that the reduced data is written into the memory 113. When the calculation of the data 216 of the RAM 113 and the image data 215 is executed (when the texture process is performed), data are set into the r.m.p. 213 and 214 from the CPU 108 so that the VCK and HSYNC are not thinned out, respectively. (Enlargement) On the contrary, when image data is written into the memory 113, data are respectively set into the r.m.p. 213 and 214 by the CPU 108 so that the clocks which are not thinned out are set into the two counters. When the calculation of the data 216 of the RAM 113 and the image data 215 is executed (when the texture process is performed), data are respectively set into the two r.m.p. so that the VCK and HSYNC are thinned out. Due to this, the counting-up speeds of the two address counters become slow, so that the texture pattern is modulated in an enlarged form. Although the same enlarging/reducing processes in the horizontal and vertical directions have been executed in the above embodiment for simplicity of explanation, since the r.m.p. is independently provided for each process, by changing the data which are set into the r.m.p. 213 and 214, it is possible to independently variably magnify in the horizontal and vertical directions in a manner such as to enlarge in only the horizontal direction and to reduce in only the vertical direction, or to reduce in the horizontal direction and to enlarge in only the vertical direction, or the like. (Repetitive texture) By repeating the counting operations until certain values of the horizontal counter 211 and vertical counter 212, the same pattern is repeated and the texture process can be executed. On the other hand, a fineness of the repetitive pattern can be arbitrarily determined by the above enlarging and reducing processes. [Embodiment 2] The fundamental construction is similar to Fig. 1. Only a different point relates to a construction of the area generation circuit 111. In the embodiment, the area generation circuit 111 comprises the circuits shown in Figs. 3 and 5. Fig. 5 will now be described. The area generation circuit 111 outputs a "1" signal from an AND gate 507 when the area signal generated from the circuit of Fig. 3 is set to 1 and when color separation data R (122-1), G (122-2), and B (122-3) of the input image data lie within a predetermined luminance range which has been preset by the CPU 108. Reference numeral 511 denotes a timing circuit which is provided to synchronize the enable signal 128. With the above construction, from an original as shown in Fig. 6A such that red characters are drawn on a green background, an output image in which the texture process was executed to only the red character portion as shown in Fig. 6B can be obtained. A modulation pattern as shown in Fig. 7B is used here. By providing the circuit as shown in Fig. 5, the non-rectangular texture process can be executed without using a memory to designate an area although it is difficult to adjust the timing. As described above, according to the apparatus of the embodiment, the texture process can be easily executed to at least one area, particularly, a non-rectangular area in a real-time manner. The apparatus can be widely applied to the design field. On the other hand, since the modulation pattern can be variably magnified independently of the image data to be modulated, the image data can be easily modulated by the variably magnified modulation pattern in a real-time manner. There is an advantage such that the apparatus can be widely applied to the design field. [Embodiment 3] According to the third embodiment of the invention which will be explained hereinlater, by executing a filtering process to an area near the outer frame portion of the pattern image for the texture process, particularly, since the memory unit to store the pattern image has a limited size, in the case where the pattern image must be continuously used or the like, the discontinuity at the joint surfaces of the images in the right/left and upper/lower positions is weakened, thereby enabling the image process to be more continuously executed. Fig. 8 is a block diagram including the texture process in the image processing apparatus of the embodiment of the invention. A fundamental construction of the image processing apparatus in the embodiment is also similar to that in Fig. 1. Therefore, the description of each section is omitted. Fig. 9-1 is a diagram for explaining a texture processing circuit. Since a construction of Fig. 9-1 is also similar to Fig. 2, its description is omitted. The image processing apparatus using the invention includes the operation unit (105 in Fig. 8) having: means (key input means) for selecting the texture mode; and means (key input means) for making the effect of the filtering process of the invention operative or inoperative in the texture process. Each means can set, check, and change. When the texture mode is selected by the mode selecting key, the operating mode is set to the texture processing mode from the ordinary processing mode. The operation of the invention will now be described herein below. Fig. 10-1 is a flowchart showing an outline of the operation of the apparatus. First, an operation command is input from the operation unit 105 (step S-400). A check is made to see if the operation command is a copy start command or not. If it is not the copy start command, a check is made to see if the operation command is a texture pattern reading command or not (S-402). If the operation command is the texture pattern reading command (S-403), an original is scanned and the image data obtained is stored into the texture pattern RAM 113 (S-408). On the other hand, if the operating command is not the reading command, a check is made to see if the operating command indicates to execute other process or not (S-405). If YES, the other process is executed (S-407). When the reading operation is finished, if the execution of the filtering process is not set (S-410), the apparatus again waits for the input of the operation command (S-400). If the execution of the filtering process has been set (S-409), the filtering process as will be explained hereinlater is performed. A general filter of an average in a block as shown in Fig. 12-2 is used as a smoothing filter. For instance, it is now assumed that a size of RAM 113 for the texture pattern is set to 512 dots x 512 dots as shown in Fig. 11-1. When executing the filtering process to the RAM 113 by a matrix of 3 x 3, the address calculations of the memory are as shown in Fig. 11-2. Fig. 11-2 shows a matrix of 3 x 3 indicative of the addresses in the memory. If all of total nine pixels of 3 x 3 which are used in the filtering process lie within an area of 512 dots x 512 dots, the filtering process can be directly executed. However, in the case of filtering the outer peripheral portion of the texture pattern, some of the nine pixels are deviated out of the area of 512 dots x 512 dots. Therefore, in such a case, the address calculations are executed by setting as follows with respect to the x and y directions, respectively. Due to this, unnecessary lines among the repetitive patterns in the repetition of the texture pattern as shown in Fig. 13-1 can be prevented (Fig. 13-2). Fig. 11-3 shows a practical example. As shown in the diagram, to execute the filtering process to (1, 1), it is necessary to use the texture data of x = 512 or y = 512. Therefore, all of the texture data are first stored into the RAM 113 and some of the texture data which are necessary to the filtering process are input to the CPU 108 and calculated on the basis of the address calculations mentioned above. That is, when the images each having the size of 512 dots x 512 dots are arranged, the calculation is executed with respect to the adjacent pixels at the edges of the image patterns. The operation which is executed in the circuit of Fig. 9-1 will be described with reference to a flowchart for the CPU 108 in Fig. 10-2. The texture pattern data which was set through the selector 202 is now stored in the RAM 113. First, the first block data of 3 x 3 pixels (Fig. 12-2) is read out of the RAM 113 and is input to the CPU 108 through the drivers 204 and 206 (S-500). The calculation is executed in accordance with the smoothing calculating equation shown in Fig. 12-2 (S-501). The result of the calculation is written as a value of a central pixel e into the RAM 113 through the driver 205, selector 202, and driver 203 (S-502). In the address control of the RAM 113 in such a case, an address control signal of the CPU 108 on the A side of the selector 210 is used. The above calculation is sequentially executed (S-503) with respect to the hatched area in Fig. 12-1, which will be explained later, that is, the peripheral area of the texture pattern. In the above example, the smoothing calculation has been performed every pixel (refer to S-503). However, it is also possible to construct such that all of the data in the RAM 113 are read out and input to the CPU 108 and the calculations are executed in a lump and the results of the calculations are sequentially written into the RAM 113. On the other hand, as shown in Fig. 9-2, it is also possible to construct in a manner such that a smoothing circuit 600 to execute the smoothing calculation as shown in Fig. 12-2 is provided for the hardware construction and the enable control is performed by the CPU 108 so as to execute the smoothing process with respect to a predetermined area. The filtering process is executed to the area near the outer frame of the texture pattern as shown in Fig. 12-1. The filtering process is performed to only the portion in a range from the pixel of the outermost position to the pixel which is inside therefrom by only a proper number of pixels. If a width of such a portion is narrowed, the effect decreases. However, if the width is set to be too wide, the effect of the texture process is reduced. The width corresponding to the number of pixels can be set to be large or small by the operation unit 105. The CPU 108 changes the size of area which is subjected to the smoothing process in accordance with the setting of such a width by the operation unit 105. Fig. 12-4 shows the result in the case where the area near the outer frame of the pattern shown in Fig. 12-3 was subjected to the filtering process. Figs. 13-1 and 13-2 show the patterns in which the areas which were subjected to the filtering process are repetitively arranged. Although the drawings relate to the case where the pattern has been repeated only in the lateral direction, the effect similar to the case of the lateral direction can be also obtained with regard to the vertical direction. On the other hand, if the operation command is a copy start command (S-401), a check is made to see if the texture process has been selected or not. If the texture process has been selected (S-412), the image modulator 114 is made operative. If the texture process is not selected (S-413), the operating mode of the image modulator 114 is set to the image through mode and the ordinary original reading operation is executed (S-416). In the embodiment, the matrix of 3 x 3 has been used to execute the filtering process. However, the matrix size is not limited to 3 x 3. A matrix of 5 x 5, 7 x 7, or the like can be also used. The width of the area which is subjected to the filtering process, that is, the width of the hatched area of Fig. 12-1 can be properly determined in accordance with a degree of a desired filtering effect. On the other hand, it is also possible to execute the filtering process in only the vertical or lateral direction. Further, the kind of filter is not limited to the average in the matrix but can be also set to the maximum value (Fig. 8), minimum value, or the like in the matrix. As mentioned above, according to the embodiment, as the result of that a sample image for the texture process was repetitively arranged, if the joint surfaces of the sample images become unnatural, by executing the filtering process to the outside frame portion of the sample image, a situation such that the process unnaturally changes at the joint surfaces can be avoided. Even in the case where the memory size of the sample image is relatively small, the natural texture effect can be also derived. As described above, according to the embodiment, by providing, inputting means (CCD 100 or the like) for inputting first image data, memory means (RAM 113) for storing the first image data, means (image modulator 114) for executing the filtering process to the first image data, and means (image modulator 114) for modulating a concentration of the second image data by an output from the means for executing the filtering process, the generation of the lines of the concentration difference due to a sudden change in concentration when the concentration modulation is executed to the image data can be prevented. The above embodiment has been described with respect to the filtering process in the case of executing the texture process by using a repetitive pattern. However, even in the case of using the repetitive pattern, when the texture process is executed to a part of the original image, an effect such that the boundary with the non-processing portion becomes smooth can be obtained. (Embodiment 4) In a manner similar to the embodiment 3, the embodiment 4 also intends to prevent the concentration different lines which are generated when a texture pattern is repeated. In the embodiment, such an object is accomplished by the folding-back process of the data in the texture pattern memory 113. A whole construction of the fourth embodiment of the invention is similar to Fig. 1. In addition, since the circuits to execute the texture process are also substantially similar to those in Fig. 3, their descriptions are omitted. Fig. 15 is a diagram for explaining an algorithm of the embodiment. In step 1, a concentration pattern (texture pattern) of an original put on an original base is read. The reading operation is similar to that in the case of the first embodiment. In step 2, a folding-back operation, which will be explained later, is executed to the memory into which the read pattern was stored. A pattern which is point symmetrical with respect the center of the memory as an origin is formed. Figs. 17A to 17C, 18A, and 18B are diagrams for explaining a practical example. Assuming that the pattern memory size is set to n x m, first, the following substitution is executed (Fig. 18A). P(x, y) → P(n+1-x, y) where, x = 1 to n/2, y = 1 to m/2 Thus, the content of the pattern memory becomes as shown in Fig. 17B. Next, the following substitution is performed (Fig. 18B). P(x, y) → P(x, m+1-y) where, x = 1 to n, y = 1 to m/2 Thus, the content of the pattern memory becomes as shown in Fig. 17C. A pattern which is point symmetrical with respect to the center of the memory as an origin is produced. The above process is executed in accordance with a procedure of the program of the CPU 108. The operation of the texture processing circuit (Fig. 2) is similar to the case of the embodiment 3. In step 3, the texture process is executed by the pattern produced. In the pattern produced, the concentrations of the left, right, upper, and lower edges are equally repeated. Even if the patterns are arranged in the upper, lower, right, and lift positions, no concentration variation occurs at the boundaries. Therefore, if the texture process is executed by using the produced pattern, even if a texture pattern of a limit size is used, the texture process such as not to cause any concentration different line at the boundaries is executed and a good image pattern can be output. That is, for instance, if the texture pattern as shown in Fig. 16A is read, the texture process is executed by the pattern as shown in Fig. 16C. In the embodiment, a point symmetrical pattern has been used as a pattern for the concentration modulation. However, by executing the similar process, a line symmetrical pattern is generated and the concentration modulation can be also executed on the basis of the line symmetrical pattern. In this case, it is possible to execute the texture process having no concentration different line with respect to at least either the vertical or lateral direction. (Embodiment 5) The embodiment 5 relates to the case where when a texture pattern is read, that is, when the concentration modulation is executed, a pattern which is point symmetrical with respect to the center of the pattern as an origin is read out. The fundamental system of the embodiment 5 is substantially the same as the fourth embodiment and can be realized by replacing the horizontal counter 211 and vertical counter 212 in Fig. 3 to counters shown in Fig. 19. The system of Fig. 19 comprises: a horizontal up counter 801; a horizontal down counter 802; a vertical up counter 803; a vertical down counter 804; OR gates 805, 806, 807', 811, and 817; AND gates 810 and 816; EXOR gates 813 and 819; frequency demultipliers 808 and 814; D flip-flops (D F/F) 809 and 815; and selectors 812 and 818. Since horizontal and vertical counters have substantially the same construction except that the clocks are different, explanation will now be made by using the horizontal counters hereinafter. Assuming that the texture pattern has a size of n x m, first, when the address of the up counter is equal to or larger than the length of 1/2 of the pattern size (until n/2 in the horizontal direction), a waveform is formed by the frequency demultiplier so as to select the address of the down counter by a selector (a (a') in Fig. 20). At the changing point of the selection of the counter, the values set by the CPU 108 are loaded into the counters, respectively, (load pulse in Fig. 20). Practically speaking,  is loaded into the horizontal up counter 801 and n/2 is loaded into the horizontal down counter 802. Fig. 21 is a diagram showing the case where the above operation is applied in the horizontal and vertical directions. Due to this, even if the pattern of Fig. 17A is the read pattern, a pattern as shown in Fig. 17C can be read out. When the pattern is read, by using  as a register value which is set into the gates 810, 811, 816, and 817, the horizontal up counter and the vertical up counter are selected, so that the ordinary pattern is read. As described above, by generating a pattern which is point symmetrical with respect to the center of a texture pattern of a limited size, it is possible to provide a cheap image processing apparatus of a high performance which can reduce the concentration different line of the boundary portions which are generated in the case of executing the texture process to an area larger than the size of the pattern memory by using the pattern memory of the limited size. [Embodiment 6] In the above embodiments 1 to 5, the concentration modulation has been executed to the multivalue color image data by using the multivalue single color concentration data. However, in the sixth embodiment, the concentration modulation is executed by using the multivalue color image data. Therefore, as shown in Fig. 22, in the embodiment, the texture processing unit in Fig. 2 from which the calculator (1) to execute the mean value process of each color component is omitted is provided for each color component of R, G, and B (900, 901, 902), thereby enabling the texture process to be executed every color component. Each of the texture processing units 900 to 902 has a construction similar to that in the case of Fig. 2. The address signal of the memory and the enable signal can be commonly used for the R, G, and B signals. In such a case, the counters and the like can be commonly used. The embodiment can be also applied to the embodiments 1 to 5. According to the embodiment 6, since the mutual calculations among the multivalue color image data are executed, the effect of the texture process becomes typical. A printer which can output a color image such as color laser printer, color ink jet printer, color dot printer, color thermal copy transfer printer, color printer using a recording material responsive to three primary colors of light, etc. can be used as a printer unit 116 which is used in the invention. In the embodiments, the construction of the texture process for executing the concentration modulation to the color image input in a real-time manner has been shown. However, a white and black image may be also used as an image which is subjected to the texture process. In the above embodiment, both of the texture pattern and the image to be texture processed use the multivalue data. However, either one or both of them can use binary data. Various kinds of arithmetic operating circuits such as adder, AND circuit, OR circuit, etc. can be also used in place of the multipliers. A method of forming the pattern data is not limited to (R + G + B)/3. That is, the pattern data can be formed on the basis of the maximum or minimum value among the R, G, and B signals. Image inputting means is not limited to the CCD but, for instance, external inputting means such as still video camera, video camera, or the like can be also used. The memory to store the pattern data is not limited to the RAM but memory means such as a magnetic disk or the like can be also used. The present invention is not limited to the foregoing embodiments but many modifications and variations are possible within the scope of the appended claims of the invention.

Claims: An image processing apparatus comprising: reading means (100) for reading an original and generating image data representing the original; processing means (114) for processing the image data generated by said reading means and outputting the processed image data; transmitting means (115) for transmitting the processed image data to an image forming unit (116) which forms an image in accordance with the processed image data; characterised in that said processing means includes memory means (113) for storing in advance first image data representing a first original which has been read by said reading means; in that means (111) for producing an area signal is provided for specifying at least one area in a second original which has been read by said reading means; in that said processing means includes modulating means (215), responsive to said area signal, for modulating second image data representative of said second original within said at least one area by using the first image data read out from said memory means, so as to include image features of said first original within the specified area of said second original, and in that reading of the second original by said reading means, modulating of the second image data by said modulating means and transmitting of the processed image data by said transmitting means are performed successively. An apparatus according to claim 1, wherein said means (111) for producing an area signal is responsive to designating means (106) for designating said at least one area of the second original. An apparatus according to claim 1 or 2, wherein said at least one area is a non-rectangular area. An apparatus according to any of claims 1 to 3, further comprising means for detecting a predetermined colour of the second image data, and wherein said at least one area is specified by the colour detected by said detecting means. An apparatus according to claims 1 to 4, wherein said reading means (100) includes a charge-coupled device (CCD) for reading an original and generating colour component signals of R (red), G (green) and B (blue). An apparatus according to claims 1 to 5, wherein said memory means (113) is a random access memory (RAM). An apparatus according to claims 1 to 6, wherein said modulating means (215) multiplies the second image data by the first image data stored in said memory means (113). An apparatus according to claims 1 to 7, further comprising means (208) for selecting one of said reading means (100) and another means (108) for inputting the image data. An apparatus according to claim 8, wherein said another means is a central processing unit (CPU). An apparatus according to claim 8, wherein one of a plurality of address control signals for said memory means (113) is selected (210) in accordance with the selection by said selecting means (208). An apparatus according to claim 10, wherein said address control signal is either an address control signal which is generated on the basis of a counter output or an address control signal of a central processing unit (CPU). An apparatus according to claims 1 to 11, further comprising magnifying means (213, 214) for variably magnifying the first image data. An apparatus according to claim 12, wherein said magnifying means (213, 214) executes a variable magnification by using address control of said memory means (113) by a counter. An apparatus according to claims 1 to 13, wherein the first image data is multilevel intensity data. An apparatus according to claims 1 to 14, further comprising filtering processing means (117) for executing a filtering process on the first image data. An apparatus according to claim 15, wherein said filtering process is executed by a convolution arithmetic operation. An apparatus according to claim 15, wherein the filtering process is a smoothing process. An apparatus according to claim 15, further comprising means for changing an area which is subjected to the filtering process. An apparatus according to claims 1 to 18, wherein said modulating means (215) modulates the second image data by repetitively using the first image data. An apparatus according to claim 19, further comprising means for eliminating discontinuity in a boundary portion of the first image data. An apparatus according to claim 20, wherein said eliminating means eliminates the discontinuity by executing a filtering process in the boundary portion. An apparatus according to claim 21, wherein the filtering process is a smoothing process. An apparatus according to claim 20, wherein said eliminating means sets an image which is expressed by the first image data to be point symmetrical with respect to the center of the image. An apparatus according to claim 20, wherein said eliminating means includes a plurality of counters (801-804) to execute a process for setting the image to be point symmetrical. An apparatus according to claim 5, further comprising correcting means (102, 103, 104) for performing a colour correction on the colour component signals, and wherein said modulating means (215) modulates the colour component signals corrected by said correcting means, by using the first image data. An apparatus according to claim 25, wherein said correcting means (102) performs a colour masking. An apparatus according to claim 25, wherein said correcting means (103) performs an under colour removal. An apparatus according to claim 25, wherein said correcting means (104) performs a gradation correction. An apparatus according to claim 25, further comprising inputting means for inputting the colour image data. An apparatus according to claims 1 to 29, wherein said image forming unit (116) comprises a laser beam printer. A method of image processing comprising the steps of: reading an original and generating image data representing the original; processing the image data generated in said reading step and outputting the processed image data; transmitting the processed image data to the image forming unit which forms an image in accordance with the processed image data; characterised in that said processing step is performed using an apparatus according to any of claims 1 to 30 and includes the step of storing in advance first image data representing a first original which has been read in; in that the method further comprises the step of producing an area signal for specifying at least one area in a second original which has been read in by said reading step; in that said processing step includes the step of modulating second image data representative of said second original within said at least one area, by using the stored first image data; and in that the step of reading the second original, the step of modulating the second image data and the step of transmitting the processed image data are performed successively.

Inventors: ICHIKAWA HIROYUKI, IKEDA YOSHINORI, KADOWAKI TOSHIHIRO, KATO KOICHI, KITAMURA TOSHIYUKI, KURITA MITSURU, SUZUKI YASUMICHI, ICHIKAWA, HIROYUKI, IKEDA, YOSHINORI, KADOWAKI, TOSHIHIRO, KATO, KOICHI, KITAMURA, TOSHIYUKI, KURITA, MITSURU, SUZUKI, YASUMICHI
Applicants: CANON KK, CANON KABUSHIKI KAISHA
Application year: 1989
Main classification: G06T11
IPC codes: G06T11