Abstract:
An image forming apparatus is provided with the following: rewritable RAM which outputs as output image data, data at an address corresponding to an input image data; a ROM in which a data to be written in the RAM is stored; a data processing CPU capable of processing and changing the data to be written in the RAM before the data are written; and a RAM. The ROM also stores parameter data representative of the characteristic of the data stored therein. The CPU and the RAM process the data to be written in the RAM with reference to the parameter data.

Description:
BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     The present invention relates to an image forming apparatus such as an electrographic copying machine. 
     2. Description of the Prior Art 
     In an electrographic copying machine, if an image data of an original read out by a scanner is printed out without being processed, no correct image is obtained. This is because of a characteristic of the scanner, a light quantity difference between information on the three primary colors of light and colors reproduced by toner and a gap between the tone of the input image data and the reproduction characteristic of the toner. Therefore, various processings are performed on the image data before it is printed out. Image processing data used for the processings are stored in a read only memory (hereinafter, referred to as &#34;data ROM&#34;), and read out, when necessary, to be used for the processings of the input image data. Table 1 shows a mapping of a data ROM in a conventional copying machine. 
     Since the data used for image processing usually have many characteristics, it is desirable to perform an adjustment and processing in accordance with the characteristics. However, since no data representative of the characteristics are stored in the data ROM, the conventional copying machine conjectures the characteristics on a computer program to obtain the characteristics. The adjustments and processings are performed based on the characteristics. For example, an output half tone processor which performs a half tone processing on the input image data sets a data (threshold value) of a random access memory (RAM) of the output half tone processor by reading-out the data from the data ROM. When the copying machine is of a characteristic such that the image output tends to be insufficient in high density portions and too large in low density portions as shown in FIG. 5, the threshold value of the RAM is necessarily corrected in view of the characteristic. 
     In this case, to increase the density at a portion where the tone of the input data is high, since the tone of the input data corresponds to the address of the data ROM, for an input data of 250 tones, it is suitable to use the value at the address 260 which is 250+10. However, since the ROM only has the data of addresses 0 to 255, it is necessary to perform a calculation to obtain the data corresponding to the address 260. In that case, information such as the way of increase of the data (threshold value) of the ROM is necessary, and the information is obtained by conjecture. Specifically, the data (threshold value) of the address 260 is calculated by conjecturing the way of increase of the matrix of the data (matrix order, pixel order, cross order, etc.), the order of increase of the matrix of the pixels and the like from the data (threshold values) stored, for example, at the addresses 252, 253, 254 and 255 of the existing addresses of the ROM. 
     However, there may be an error in the conjecture. In addition, a program is necessary for the conjecture and the processing requires time. In some machines, comprehensive adjustments and processings for all the characteristics are performed without performing any conjecture. However, such adjustments and processings are not optimal for the image data, so that high performance and high accuracy are not obtained as a result of the image processing. 
     SUMMARY OF THE INVENTION 
     An object of the present invention is to provide an image forming apparatus capable of a highly accurate image formation processing in view of the characteristics of the image processing data. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     This and other objects and features of this invention will become clear from the following description, taken in conjunction with the preferred embodiments with reference to the accompanied drawings in which: 
     FIG. 1 is a block diagram of a relevant portion of a digital electrographic copying machine embodying the present invention; 
     FIG. 2 is a block diagram showing the general arrangement of the electrographic copying machine; 
     FIG. 3 is a flowchart of an example of an operation of the copying machine of FIG. 2; 
     FIGS. 4A to 4D show the order of increase of the output threshold value data; 
     FIG. 5 shows an example of an input/output characteristic of the electrographic copying machine; and 
     FIG. 6 shows a case where a correction is made to the characteristic of FIG. 5. 
    
    
     DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     FIG. 1 shows the details of an operation unit 3 and an image processing unit 5 in the block diagram of a digital electrographic copying machine of FIG. 2. Referring to FIG. 2, reference numeral 1 represents a copying machine, reference numeral 2 represents a scanner unit, and reference numeral 4 represents a printer unit. The scanner unit 2 reads out an original image and supplies its image data S1 to the image processing unit 5. The scanner unit 2 also outputs a horizontal synchronizing signal S2 (synchronizing signal in the main scanning direction) and a vertical synchronizing signal S3 (synchronizing signal in the sub scanning direction) which are transmitted to the image processing unit 5. 
     The operation unit 3 supplies various image processing data (image mode data, fine adjustment data, etc.) to the image processing unit 5. The image processing unit 5 performs various adjustments and processings on the input image data S1 and transmits the processed data to the printer unit 4. The image processing unit 5 is formed on one circuit board and incorporated in the copying machine 1. 
     Referring to FIG. 1, the operation unit 3 includes a central processing unit (CPU) 6 and a backed-up memory 7. While the backed-up memory 7 is a static random access memory (SRAM) backed up by a back up power source, an electrically erasable programmable read only memory (EEPROM) may be used instead of the SRAM. In the backed-up memory 7, the initial values of the copying machine and the image processing data are stored. With respect to the image quality mode, the mode numbers of modes such as the character mode and the photo mode are provided. The subsequently-described photo mode is stored as a data named mode 10. 
     When the input and output characteristic of the copying machine is such that the image output tends to be insufficient in high density portions and too large in low density portions as shown in FIG. 5, a data representative of the characteristic is also stored. A part of the data stored in the backed-up memory 7 are transferred to the image processing unit 5 when the power is activated. The remaining data such as the image quality mode is transferred when the mode selecting operation is performed by operating a key prior to the copying. 
     The image processing unit 5 includes a CPU 8, a data ROM 9, a work RAM 11 and an output half tone processor 12. The output half tone processor 12 includes a RAM 13. The mapping of the data ROM 9 is as shown in Table 2. This mapping is different from that of the prior art of Table 1 in that an output threshold value parameter storing area 20 is provided for storing output threshold value parameters. The output threshold value parameters represent the characteristic with respect to the output threshold value data (stored in an area 21 below the output threshold value parameter). 
     The mapping in the output threshold value area 21 is as shown in FIG. Table 3. The numerals lined on the left of a frame 15 and the numerals lined above the frame 15 are address data. In the case of the photo mode, a data file mod10 (ht-md10) at an address (02000H, 800H) is specified. Table 4 shows the mapping in the output threshold value data parameter area 20. The numerals on the left and above a frame 16 are address data. The parameter relating to the data on the photo mode is stored in a file mod10 (ht-md10) at an address (00080H, 20H). 
     Table 5 shows the details of the parameter data of the output threshold value data. The bottom row (00H) shows data representative of the way of increase of the matrix. When the matrix is increased in the matrix order as shown in FIG. 4C, a flag 0 is set. When the matrix is increased in the pixel order as shown in FIGS. 4A and 4B, a flag 1 is set. When the matrix is increased in the cross order as shown in FIG. 4D, a flag 3 is set. The second row from the bottom (i.e. 01H) shows the matrix size of a 1×2 or 2×2 dither matrix. This data consists of 8 bits. Of the 8 bits, 0 to 3 bits represent the vertical size and 4 to 7 bits represent the horizontal size. 
     In the 2×2 matrices (multi-value dither matrix) shown in FIGS. 4A to 4D, in the matrix of FIG. 4A, the matrix increases clockwise with respect to four pixels. In the matrix of FIG. 4B, the matrix increases in the order of the first line, the second line. In the matrix of FIG. 4C, the matrix increases clockwise but in the subdivided units unlike the matrix of FIG. 4A. 
     Specifically, when the tone number of the input image data is for example 150, in the matrix of FIG. 4A, the matrix ends with the first pixel on the upper left and the second pixel on the upper right being all filled up and with 150-127=23 tones of the third pixel on the lower right being filled up, whereas in the matrix of FIG. 4C, the pixels are filled up in the order of (1), (2), (3) in the subdivided units, so that blank portions are left in each pixel for 150 tones. In the matrix of FIG. 4D, the first and fourth pixels are alternately filled in the subdivided units, and when they are all filled up, the second and third pixels are alternately filled in the subdivided units. 
     Returning to Table 5, 03H to 06H represent the upper limits of the divisional number of pulse width modulation (PWM) of the pixels, and 07H to 0A11 represent the lower limits thereof. The PWM divisional number represents steps corresponding to the thickness of the laser beam of the printer unit, i.e. the number of widths of a pulse (this pulse is a PWM signal) which drives the semiconductor laser of the printer unit. With respect to the maximum value thereof, specifically, with reference to the example of FIGS. 4A, the upper limit of the first pixel is 63, the upper limit of the second pixel is 127, the upper limit of the third pixel is 255, and the upper limit of the fourth pixel is 191. Likewise, the lower limits of the first, second, third and fourth pixels are 0, 64, 191 and 128, respectively. In Table 5, 0BH to 0EH represent the orders of increase of the pixels. 
     Subsequently, an operation to perform image processing by using the parameters in the data ROM 9 will be described with reference to the flowchart of FIG. 3. When the program of the output threshold value data processing is activated, at step #10, the CPU 8 of the image processing unit 5 selects an output threshold value data in the data ROM 9 based on an output threshold value mode data (in this case, output threshold value mode 10) from the operation unit 3 and transfers the selected data to the work RAM. 
     Then, at step #20, a fine adjustment processing is performed on the work RAM 11. At this time, the processing is performed based on an output threshold value parameter data of the data ROM 9 and a fine adjustment data transmitted from the operation unit 3 on the basis of the threshold value mode data from the operation unit 3. The fine-adjustment-processed output threshold value data is transferred to the RAM 13 of the output half tone processor 12 and set (step #30). 
     When the input characteristic of the machine is the above-described one shown in FIG. 5, to make a correction as shown in FIG. 6, it is necessary to set a data (threshold value) corresponding to the address 260 to the address 250 of the RAM of the output half tone processor 12 as described with reference to the prior art, and the data (threshold value) corresponding to the address 260 is calculated on the work RAM 11. In that case, since the rule parameters such as the way of increase of the matrix of the threshold value can be obtained from the data ROM 9, it is unnecessary to conjecture the rule, so that the data (threshold value) corresponding to the address 260 can be calculated with high accuracy for a short period of time. 
     The obtained data (threshold value) is set in the address 250 of the RAM 13 of the output half tone processor 12. The input image data S1 serves as an address data of the RAM 13, and a data of the RAM 13 corresponding to the address is outputted as an output image data S 0 . The output image data S 0  is supplied to the printer unit 14. 
     As described above, according to the present invention, parameter data representative of the characteristics of image processing data are stored in a memory where the image processing data is stored, so that the setting of various data for processing input image data is easily and accurately performed. This is very advantageous. 
     Obviously, many modifications and variations of the present invention are possible in light of the above teachings. It is therefore to be understood that within the scope of the appended claims, the invention may be practiced other than as specifically described. 
     
                       TABLE 1______________________________________  Blank  Other data  Filter data    Q mode  Font data  Black          P mode  generating  data  Scanner data   M mode  Output         N mode  threshold  value  data______________________________________ 
    
     
                       TABLE 2______________________________________  Blank  Other data  Filter data    Q mode  Font data  Black          P mode  generating  data  Scanner        M mode  data  Output         N mode  threshold value  data parameter  Output         N mode  threshold  value  data______________________________________ 
    
     
                                           TABLE 3__________________________________________________________________________Mapping in Output Threshold Value Data Area18000H0H      400H    800H     COOH                              ##STR1##__________________________________________________________________________17000Hmod92(ht.sub.-- md92)        mod93(ht.sub.-- md93)                mod94(ht.sub.-- md94)                         mod95(ht.sub.-- md95)16000Hmod88(ht.sub.-- md88)        mod89(ht.sub.-- md89)                mod810(ht.sub.-- md90)                         mod91(ht.sub.-- md91)15000Hmod84(ht.sub.-- md84)        mod85(ht.sub.-- md85)                mod86(ht.sub.-- md86)                         mod87(ht.sub.-- md87)14000Hmod80(ht.sub.-- md80)        mod81(ht.sub.-- md81)                mod82(ht.sub.-- md82)                         mod83(ht.sub.-- md83)13000Hmod76(ht.sub.-- md76)        mod77(ht.sub.-- md77)                mod78(ht.sub.-- md78)                         mod79(ht.sub.-- md79)12000Hmod72(ht.sub.-- md72)        mod73(ht.sub.-- md73)                mod74(ht.sub.-- md74)                         mod75(ht.sub.-- md75)11000Hmod68(ht.sub.-- md68)        mod69(ht.sub.-- md69)                mod70(ht.sub.-- md70)                         mod71(ht.sub.-- md71)10000Hmod64(ht.sub.-- md64)        mod65(ht.sub.-- md65)                mod66(ht.sub.-- md66)                         mod67(ht.sub.-- md67)0F000Hmod60(ht.sub.-- md60)        mod61(ht.sub.-- md61)                mod62(ht.sub.-- md62)                         mod63(ht.sub.-- md63)0E000Hmod56(ht.sub.-- md56)        mod57(ht.sub.-- md57)                mod58(ht.sub.-- md58)                         mod59(ht.sub.-- md59)0D000Hmod52(ht.sub.-- md52)        mod53(ht.sub.-- md53)                mod54(ht.sub.-- md54)                         mod55(ht.sub.-- md55)0C000Hmod48(ht.sub.-- md48)        mod49(ht.sub.-- md49)                mod50(ht.sub.-- md50)                         mod51(ht.sub.-- md51)0B000Hmod44(ht.sub.-- md44)        mod45(ht.sub.-- md45)                mod46(ht.sub.-- md46)                         mod47(ht.sub.-- md47)0A000Hmod40(ht.sub.-- md40)        mod41(ht.sub.-- md41)                mod42(ht.sub.-- md42)                         mod43(ht.sub.-- md43)09000Hmod36(ht.sub.-- md36)        mod37(ht.sub.-- md37)                mod38(ht.sub.-- md38)                         mod39(ht.sub.-- md39)08000Hmod32(ht.sub.-- md32)        mod33(ht.sub.-- md33)                mod34(ht.sub.-- md34)                         mod35(ht.sub.-- md35)07000Hmod28(ht.sub.-- md28)        mod29(ht.sub.-- md29)                mod30(ht.sub.-- md30)                         mod31(ht.sub.-- md31)06000Hmod24(ht.sub.-- md24)        mod25(ht.sub.-- md25)                mod26(ht.sub.-- md26)                         mod27(ht.sub.-- md27)05000Hmod20(ht.sub.-- md20)        mod21(ht.sub.-- md21)                mod22(ht.sub.-- md22)                         mod23(ht.sub.-- md23)04000Hmod16(ht.sub.-- md16)        mod17(ht.sub.-- md17)                mod18(ht.sub.-- md18)                         mod19(ht.sub.-- md19)03000Hmod12(ht.sub.-- md12)        mod13(ht.sub.-- md13)                mod14(ht.sub.-- md14)                         mod15(ht.sub.-- md15)02000Hmod08(ht.sub.-- md08)        mod09(ht.sub.-- md09)                mod10(ht.sub.-- md10)                         mod11(ht.sub.-- md11)01000Hmod04(ht.sub.-- md04)        mod05(ht.sub.-- md05)                mod06(ht.sub.-- md06)                         mod07(ht.sub.-- md07)00000Hmod00(ht.sub.-- md00)        mod01(ht.sub.-- md01)                mod02(ht.sub.-- md02)                         mod03(ht.sub.-- md03)__________________________________________________________________________ 
    
     
                                           TABLE 4__________________________________________________________________________Mapping in Output Threshold Value Data Area00000H0H      10H     20H      30H                              ##STR2##__________________________________________________________________________005C0Hmod92(ht.sub.-- md92)        mod93(ht.sub.-- md93)                mod94(ht.sub.-- md94)                         mod95(ht.sub.-- md95)00580Hmod88(ht.sub.-- md88)        mod89(ht.sub.-- md89)                mod810(ht.sub.-- md90)                         mod91(ht.sub.-- md91)00540Hmod84(ht.sub.-- md84)        mod85(ht.sub.-- md85)                mod86(ht.sub.-- md86)                         mod87(ht.sub.-- md87)00500Hmod80(ht.sub.-- md80)        mod81(ht.sub.-- md81)                mod82(ht.sub.-- md82)                         mod83(ht.sub.-- md83)004C0Hmod76(ht.sub.-- md76)        mod77(ht.sub.-- md77)                mod78(ht.sub.-- md78)                         mod79(ht.sub.-- md79)00480Hmod72(ht.sub.-- md72)        mod73(ht.sub.-- md73)                mod74(ht.sub.-- md74)                         mod75(ht.sub.-- md75)00440Hmod68(ht.sub.-- md68)        mod69(ht.sub.-- md69)                mod70(ht.sub.-- md70)                         mod71(ht.sub.-- md71)00400Hmod64(ht.sub.-- md64)        mod65(ht.sub.-- md65)                mod66(ht.sub.-- md66)                         mod67(ht.sub.-- md67)003C0Hmod60(ht.sub.-- md60)        mod61(ht.sub.-- md61)                mod62(ht.sub.-- md62)                         mod63(ht.sub.-- md63)00380Hmod56(ht.sub.-- md56)        mod57(ht.sub.-- md57)                mod58(ht.sub.-- md58)                         mod59(ht.sub.-- md59)00340Hmod52(ht.sub.-- md52)        mod53(ht.sub.-- md53)                mod54(ht.sub.-- md54)                         mod55(ht.sub.-- md55)00300Hmod48(ht.sub.-- md48)        mod49(ht.sub.-- md49)                mod50(ht.sub.-- md50)                         mod51(ht.sub.-- md51)002C0Hmod44(ht.sub.-- md44)        mod45(ht.sub.-- md45)                mod46(ht.sub.-- md46)                         mod47(ht.sub.-- md47)00280Hmod40(ht.sub.-- md40)        mod41(ht.sub.-- md41)                mod42(ht.sub.-- md42)                         mod43(ht.sub.-- md43)00240Hmod36(ht.sub.-- md36)        mod37(ht.sub.-- md37)                mod38(ht.sub.-- md38)                         mod39(ht.sub.-- md39)00200Hmod32(ht.sub.-- md32)        mod33(ht.sub.-- md33)                mod34(ht.sub.-- md34)                         mod35(ht.sub.-- md35)001C0Hmod28(ht.sub.-- md28)        mod29(ht.sub.-- md29)                mod30(ht.sub.-- md30)                         mod31(ht.sub.-- md31)00180Hmod24(ht.sub.-- md24)        mod25(ht.sub.-- md25)                mod26(ht.sub.-- md26)                         mod27(ht.sub.-- md27)00140Hmod20(ht.sub.-- md20)        mod21(ht.sub.-- md21)                mod22(ht.sub.-- md22)                         mod23(ht.sub.-- md23)00100Hmod16(ht.sub.-- md16)        mod17(ht.sub.-- md17)                mod18(ht.sub.-- md18)                         mod19(ht.sub.-- md19)000C0Hmod12(ht.sub.-- md12)        mod13(ht.sub.-- md13)                mod14(ht.sub.-- md14)                         mod15(ht.sub.-- md15)00080Hmod08(ht.sub.-- md08)        mod09(ht.sub.-- md09)                mod10(ht.sub.-- md10)                         mod11(ht.sub.-- md11)00040Hmod04(ht.sub.-- md04)        mod05(ht.sub.-- md05)                mod06(ht.sub.-- md06)                         mod07(ht.sub.-- md07)00000Hmod00(ht.sub.-- md00)        mod01(ht.sub.-- md01)                mod02(ht.sub.-- md02)                         mod03(ht.sub.-- md03)__________________________________________________________________________ 
    
     
                       TABLE 5______________________________________Details of Output Threshold Value Data Parameter Data______________________________________10H0FH      4th pixel matrix increase order (dm 3!)     in the order of 0, 1, 2, 3!0EH      3rd pixel matrix increase order (dm 2!)     in the order if 0, 1, 2, 3!0DH      2nd pixel matrix increase order (dm 1!)     in the order of 0, 1, 2, 3!0CH      1st pixel matrix increase order (dm 0!)     in the order of 0, 1, 2, 3!0BH      Lower limit of PWM divisional number of 4th pixel     pixel order!(1c 3!)0AH      Lower limit of PWM divisional number of 3rd pixel     pixel order!(1c 2!)09H      Lower limit of PWM divisional number of 2n4d pixel     pixel order!(1c 1!)08H      Lower limit of PWM divisional number of 1st pixel     pixel order!, or    lower limit of PWM divisional number of all pixels     other order!(1c 0!)07H      Upper limit of PWM divisional number of 4th pixel     pixel order!(uc 3!)06H      Upper limit of PWM divisional number of 3rd pixel     pixel order!(uc 2!)05H      Upper limit of PWM divisional number of 2nd pixel     pixel order!(uc 1!)04H      Upper limit of PWM divisional number od 1st pixel     pixel order!, or    upper limit of PWM divisional number of all pixels     other order!(uc 0!)03H      PWM divisional number    (e.g. 256 tones: OFFH divisional number = data+1)02H      Matrix size    (bit0-3: vertical size, bit4-7: horizontal size)01H      Way of increase of matrix    (0: matrix order, 1: pixel order, 2: cross order)00H______________________________________