Image information code processing system

Abstract: An image information code processing system in this invention compresses and encodes a 2-valued image information in a facsimile, etc. For example, an image is expressed by a set of component patterns using bit patterns of divided 4 × 4 bits rectangular blocks, and a codeword train of matched codewords of the component patterns are determined as a block code. In this system, using a four times expanded block process, the one block code of the expanded block is determined and the system expands to determine a partial pattern of three other blocks. A division mark located between the codewords of a codeword train can be abbreviated where a special condition exists between adjacent codewords. Further shortening can be obtained by coding wherein a prediction pattern is obtained and only a portion in which a real pattern is different from the prediction pattern is encoded. As a result, the 2-valued image information is compressed and the 2-valued image information can be transmitted and processed with a higher efficiency.

Description: BACKGROUND OF THE INVENTION 1) Field of the Invention The present invention relates to an image information code processing system wherein bit pattern information expressing a 2-valued picture is compressed and coded in a facsimile application and so on. 2) Description of the Related Art As well known, one page of a document is sent under optical scanning by, e.g., 8 lines/mm and sampling intervals of 8 pixels/mm, in a facsimile and, therefore, a large amount of digital image information included in a bit pattern obtained by the above scanning is set or stored. Accordingly, various redundant compression coding systems have been developed; typical of which are those recommended as a facsimile coding standard by the CCITT (International Telegraph and Telephone Consultative Committee). As also well known, the recommendation shows an MH one dimensional coding system and an MR two dimensional sequential coding system. In the MH system, a run-length coding for a bit pattern of 2-valued image information obtained along a scanning line compresses the information by conversion into a comparatively short codeword, combining continued bits having a same value. In the MR system, a bit pattern along a scanning line is compared with a bit pattern along the adjacent next scanning line, and a difference bit pattern is obtained. The difference bit pattern is coded using the principle of the run-length coding, and by sequentially applying the same process, generally a higher information compression is obtained than with the MH system. These compression coding systems can compress information to a certain degree of satisfaction as a general purpose system applied to various image information. However, these systems do not utilize a feature of the figure of the object image, and if the features of the figure are considered, a higher compression of the information is possible, and a coding system by which the above compression can be performed is desired. US-A-3 980 809 discloses an image compression system. Predetermined blocks of incoming data are compared with a library of reference patterns. If some bits in the incoming data block remain unmatched with the selected reference pattern the unmatched bits are noted and a further reference pattern which matches the unmatched bits is searched for. The image data block is thus encoded as a composite of reference patterns. SUMMARY OF THE INVENTION An object of the present invention is to provide an image information code processing system wherein a compression rate in a coding process of a 2-valued image information can be increased by using the geometrical features of the information. These objects are attained by an image information code processing system as set out in claim 1. In a first aspect of the present invention, there is provided an image information code processing system comprising a component pattern supply means, a component pattern processor means, and a code processor means. The system receives bit pattern information as an input signal and outputs a coded output. In a second aspect of the present invention, there is provided an image information codeword processor system further comprising a division mark processor means in addition to the elements of the first aspect of the invention. The code processor means arranges predetermined codewords in a predetermined order, which codewords identify the component patterns expressing a bit pattern, and inserts a predetermined division mark between adjacent codewords. The division mark processor means detects whether a head mark of the codeword satisfies predetermined conditions for the preceding arranged codeword, and suppresses an insertion of the division mark between the codewords. In a third aspect of the present invention, there is provided an image information code processor system comprising a prediction pattern supply means, for example, a prediction processor means, and a code processor means as a code forming means. The system receives bit pattern information, determines a predetermined codeword expressing bit pattern of a rectangular block having a predetermined dimension to which 2-valued image information expressed by the bit pattern is divided, and outputs the coded outputs. The prediction pattern supply means generates a prediction pattern from bit patterns of at least one block. The code forming means forms an object block codeword using a predetermined mark indicating a coincidence between a bit pattern of the object block and a prediction pattern determined by bit patterns of blocks in contact with the object block at predetermined sides, and in the case of a non-coincidence, using the necessary predetermined codeword expressing a predetermined bit pattern. BRIEF DESCRIPTION OF THE DRAWINGS Figure 1 is a block diagram showing a constitution of a first embodiment of the present invention; Fig. 2 is a detailed block diagram showing the embodiment in Fig. 1; Fig. 3 is a flow chart of processing steps in a component pattern processor in Fig. 2; Fig. 4 is a flow chart for forming an expanded block in the embodiment in Fig. 2; Figs. 5A, 5B, and 5C are diagrams explaining preprocessings in the embodiments; Figs. 6A and 6B are diagrams showing a process for obtaining a prime implicant in the embodiments; Fig. 7 is a diagram showing examples of the prime implicants in the embodiments; Fig. 8 is a diagram explaining an expanded block in the embodiments; Fig. 9 is a block diagram showing a constitution of a second embodiment of the present invention; Fig. 10 is a diagram showing a flow chart of the division mark processor in the embodiment in Fig. 9; Figs. 11A and 11B are diagrams showing a second example of a division mark abbreviation in the embodiment in Fig. 9; Figs. 12A and 12B are diagrams showing a third example of the division mark abbreviation in the embodiment in Fig. 9; Fig. 13 is a block diagram showing a constitution of a third embodiment of the present invention; Fig. 14 is a diagram showing a flow chart of process steps of the embodiment in Fig. 13; and Fig. 15 is a diagram explaining a pattern prediction process. DESCRIPTION OF THE PREFERRED EMBODIMENTS Embodiments of the present invention are explained below. Figure 1 shows a block diagram of a first embodiment, and Fig. 2 is a detailed view of Fig. 1. In Fig. 1, a system of the first embodiment comprises a component pattern processor (COMP. PAT. PROC.) 10, a component pattern supply section (COMP. PAT. SUPPLY) 6, and a code processor (CODE PR0C.) 11. A bit pattern information (BIT PAT. INF.) 1 is applied to the component pattern processor 10 as an input signal. An output of the code processor 11 is a coded output 7. The component pattern processor 10 is supplied with component patterns necessary for constituting a bit pattern from the component pattern supply section 6 and determines a matched codeword of the component pattern. The code processor 11 combines a codeword for a bit pattern of a block included in a 2-valued image information. The bit pattern information 1 is a 2-valued image information to be processed. In order to encode the bit pattern information 1, the 2-valued image is divided into rectangular blocks or square blocks having a predetermined dimension and rectangular expanded blocks having a predetermined number of blocks. The component pattern supply section 6 stores or generates a plurality of kinds of component patterns necessary for constituting the bit pattern of each of the expanded blocks. The component pattern is made to express the requested bit pattern only by itself or by more than two logical summations, and is given a matched codeword for distinction. The component pattern processor 10 receives the expanded block information in the bit pattern information 1, and a block located at a predetermined position in the blocks included in the expanded block is determined as an object block. The object block is processed as follows. That is, the bit pattern of the expanded block is collated with the component pattern in the component pattern supply section 6, a set of the component patterns corresponding to, for example, the set of "1" bits in the object bit pattern is obtained, and then the component patterns necessary for completing the bit pattern of the object block are selected. Since a portion of the bit pattern of each object block is generally included in the component pattern already selected in other expanded blocks, it is not necessary for the selected component pattern in this process to cover the set of the bits. The code processor 11 receives a matched codeword of each component pattern which is selected in the above process, and then a codeword train which is an arrangement of one or a plurality of matched codewords is constituted as a codeword of the current object block. Then, the code processor 11 generates a coded output, in which the borders of the codeword are shown by division marks. The formation of a component pattern is now explained. [Formation of Component Pattern] In Fig. 1, the bit pattern information 1 is a 2-valued image information for an object signal to be processed. For example, the bit pattern information is utilized in a facsimile apparatus. When the 2-valued image comprising the bit patterns for characters and pictures is divided into, e.g., 4 x 4 bits square blocks, the types of stroke appearing in the block are generally limited to a small number. Accordingly, the object pattern is divided into as few component strokes as possible, the number of necessary component stroke types for constituting all the patterns is determined to be as low as possible, and if the codeword which expresses the bit pattern of each block by a matched codeword for the component stroke is obtained, compression of an image information can be carried out. However, noise type information exists in the bit pattern information after immediate pick up from an original image, and thus such bit patterns are preferably eliminated. Also, to further strengthen the compression effect, preferably a preprocessing for simplifying the bit pattern appearing in the above blocks is carried out, so that the image reproduced from the bit pattern is not degraded. In this preprocessing, for example, if a pixel bit in the bit pattern of a monochromatic 2-valued image satisfies neither of the following conditions (1) and (2), the bit is an illegal pixel, and the illegal bit or a bit near the illegal bit is inverted to eliminate the illegal bit. Condition (1): Three adjacent bits having the same color (white or black) as an object bit exist in the upper, lower, left, or right directions of the object bit. Condition (2): Two bits which are the same color as the object bit and are adjacent to the object bit in the upper, lower, left, or right directions, are diagonally adjacent to each other. In Figs. 5A, 5B, and 5C, examples of the illegal bits are shown by a circle at the left side of the figure. The illegal bits are processed as at the right side of the figures. In Fig. 5A, the border line between white and black is smoothed out, and in Fig. 5B, the fine line is emphasized. The illegal bit remaining after the process, is processed to simplify the image, for example, as shown in Fig. 5C. In this embodiment, an expression system by a prime implicant is utilized to encode the above preprocessed bit pattern information. This system is a preferred means for obtaining an appropriate component pattern. Using this system, a 4 x 4 bits block pattern is expressed by the above-mentioned component pattern set. In this system, the above-mentioned block is made to correspond to Karnaugh's map, well known in switching circuit theory (McCluskey, E.J.: Introduction to the Theory of Switching Circuits, McGrow Hill (1965)), and the values ("0" and "1") expressing white and black shades in a bit pattern are allotted to a block of the Karnaugh map, and then the black pattern expressed by "1" can be thought of as a set of points satisfying a logical equation. That is, as shown above, if blocks are 4 x 4 bits, the Karnaugh map is a diagram for showing a state of a logical equation consisting of four logical variables X₁ , X₂ , X₃ , and X₄ , as shown in Fig. 6B. Sixteen blocks correspond to combinations having a special value of logical variables which are indicated at the upper side and left side. For example, in the case of the pattern shown in Fig. 6A, logical values are allotted as in Fig. 6B. A set consisting of the minimum number of prime implicants which can express the logical equation by a known sequence using the above Karnaugh map in Fig. 6B, utilizing a simplified logical equation, is obtained. If there are a plurality of sets of prime implicants, the set having a minimum numbers of variables is selected, so that one prime implicant can cover as wide an area of the pattern as possible. Thus, in the example of the Karnaugh map of Fig. 6B, a logical equation f = X₂ X ₃ + X₁ constituted of a prime implicant X₂ X ₃ and a prime implicant X₁ is defined. The above processing is performed for the bit pattern appearing in the blocks, then, all the prime implicants necessary for expressing the block pattern are obtained. In order to obtain a component pattern, the following consideration must be made. For a black picture and white background, for example, the prime implicant X ₂ expressing a black pattern of each of the columns at the left and right edges is excluded, since the appearances thereof are few. That is, the X ₂ is expressed by X ₁ X ₂ + X₁ X ₂. Also, all white blocks are added as a prime implicant. The prime implicants obtained by the above process, for example, are expressed as 37 examples by the Karnaugh map notation as shown in Fig. 7. There, the figures under each prime implicant are the frequencies of appearance of bit patterns obtained from two test charts for facsimile as defined in CCITT, as a reference. The upper figures show one test chart and lower figures show the other test chart. The component pattern supply section 6 stores the bit pattern corresponding to each of the above prime implicants as a component pattern. Each component pattern is given a matched codeword which is, for example, a number, to distinguish the component pattern. Therefore, the component pattern stored in the component pattern supply section 6 expresses a bit pattern appearing in a block by one or over two logical summation(s), as clear in correspondence to the Karnaugh map. The component pattern supply section 6 may be formed to generate the above-mentioned necessary component pattern receiving a bit pattern in response to the request from the component pattern processor 10. [Block Coding] The component pattern processor 10 comprises an extraction of prime implicant section 101, an extraction of component patterns section 102, and an arrangement for component patterns section 103; receives information of one block as bit pattern information 1 through a block extraction section 5; compares the information with the component patterns; and selects the set of the minimum number of a component pattern or component patterns identical with the set of bits of the block, by selection from, e.g., as small number of component patterns as possible belonging to black bit set. The code processor 11 comprises a component pattern code storage section 111 and a matched pattern encoder 112, and arranges matched codewords in an appropriate order after receiving the matched codewords of the component patterns selected in each block by the component pattern processor 10. Then, the code processor 11 determines the codeword to be an expression codeword for the block and inserts a predetermined mark which can be distinguished from the pattern matched codeword as a division mark, i.e., segmentation codeword, between the matched codewords. The division mark is generally necessary because the bit length of the codeword is variable, however, as mentioned later, an abbreviation of the division mark is possible between the codewords having special relationships so that the coded output can be further shortened. Figure 3 shows the process steps of the component pattern processor 10 in Fig. 2. In step 31 (S31), after extraction of the prime implicant, one extracted prime implicant is selected. In step 32 (S32), if a selection is not made, the process proceeds to step 34 (S34). When a selection is made, the process proceeds to step 33 (S33). In step 33, it is determined whether the component pattern is a match or mismatch with the prime implicant. If the selected pattern matches the prime implicant, the process proceeds to step 34 and if not, the process returns to step 32. In step 34, the matched component pattern is arranged and output to a matched pattern encoder 112. [Expanded Block Coding] In the above-described block coding, the coding is performed for each 4 x 4 bits block. By the expansion as mentioned below, for example, an expanded block coding comprising 4 blocks of square domain can obtain a higher coding compression. The block coding is a special example in which the expanded block coding is degenerated to one block and the process thereof simplified. In the expanded block coding, for example, a block is 4 x 4 bits, an expanded block is defined to have 4 adjacent blocks in the upper, lower, left, and right directions. When a block is coded, for example, the block (hereinafter called object block) located at the upper left position, the following processes are carried out. For these processes, the component patterns to the expanded block are formed and prepared. In this example, instead of the above four variables of X₁ to X₄ , an 8 x 8 Karnaugh map having 6 variables of X₁ to X₆ is used (conf. Fig. 8), and in the map, the bit pattern is applied and a prime implicant obtained. Here, in the thus obtained prime implicants, only the prime implicants which cover the patterns of object blocks are expanded prime implicants. The component pattern is constituted by the expanded prime implicants. In the example of Fig. 8, the block A is the object block, blocks A, B, C, and D constitute an expanded block and X₂ X ₅ X ₆ , X₁ X ₆ , X₁ X ₅ , and X₁ X ₂ , which are encompassed by broken lines, are the expanded prime implicants. The component pattern corresponding to the expanded prime implicant obtained by the above way is formed and stored in the component pattern supply section 6 and given a matched codeword. The component pattern processor 10 receives an expanded block information wherein a block to be processed is the object block, to sequentially process each block of the bit pattern information 1. The expanded block information is compared with the component pattern from the component pattern supply section 6, and a set of the minimum number of component patterns is selected, which set is a set of component patterns belonging to a set of black bits and is necessary to complete the bit pattern of the object block. Where the adjacent blocks are processed in order from left to right and from upper to lower as an object block, except for an upper left block, each block is processed at least once as a member other than the object block of the expanded block until each block is processed as an object block. Generally in each block, bits included in the component pattern determining another block as an object block are included as a part thereof. Therefore, the component pattern processor 10 memorizes the above-mentioned processed bits for each block of the processed expanded block. When the block is included again in the expanded block to be processed, it is not necessary to cover the already processed bits by the selected component pattern, that is, the bits are "don't care" bits in the switching circuit theory. The component pattern processor 10 selects the component pattern, the set of which belongs to the set of black bits of the expanded block. At that time, the set of the above-mentioned processed bits may or may not belong to the set of black bits. For the object block, the minimum component pattern set is selected from the set of the component patterns so that the set of the not processed bits in the set of the black bits belongs to the selected set of the component patterns. In the example of Fig. 8, if X₂ of the object block (grating) is already the set of processed bits, X₁ X ₆ , X₁ X ₅ , and X₁ X ₂ may be the component pattern. If in blocks B, C, and D, the processed bits are not included, the component pattern corresponding to X₁ X ₂ is selected so that the most not processed black bits are covered. The code processor 11 receives the matched codeword of component patterns which are selected by the component pattern processor 10, as mentioned above, in each object block and sequentially generates a coded output 7 as in the case of the block coding. Figure 4 shows process steps using the expanded block. In step 41 (S41), a new object block A is selected. In step 42 (S42), the component pattern is extracted in block A, and in step 43 (S43), an expanded block definition (EXP. BLOCK DEF.) is performed. If definition is possible, the process proceeds to step 45 (S45). If definition is not possible, the process proceeds to step 44 (S44). In step 45, the prime implicant is extracted, and in a step 47 (S47), the prime implicant in the expanded block including a component pattern of block A is extracted. After step 47, the process proceeds to step 46 (S46). In step 44, the usual process is performed as for peripheral blocks. In step 46, the extracted prime implicant is selected as an expanded block component pattern. After steps 44 and 46, the process moves to the code processor 11. After step 46, on the other hand, in step 48 (S48), the bit pattern selected in step 46 in the blocks B, C, and D, is marked as "don't care". In step 49 (S49), the adjacent block is selected as a new object block A. If selection is possible, the process returns to step 41, and if selection is not possible, the process ends. A second embodiment of the invention is explained below with reference to Fig. 9. This embodiment is provided with a division mark processor 12 in addition to components described in the first embodiment. The division mark processor 12 receives an output of the code processor 11 and suppresses a division mark output between the codewords which satisfies predetermined conditions. In this embodiment, the condition in which the head mark of a codeword is not included in the preceding codewords, is adopted. The division mark processor 12 examines the relationship between each codeword and the next head mark, and if the condition is satisfied, the insertion of the division mark at a point preceding the codeword is suppressed, and as a result, the coded output 8 can be shortened. The division mark abbreviation process is now explained. [Division Mark Abbreviation Process] As in the preceding description, generally a predetermined division mark must be inserted between codewords of the coded output 7 to show a border of codewords. The division mark processor 12 in Fig. 9 compares a codeword on the coded output and the following head mark of the next codeword (component pattern matched codeword), and if the head mark is not included in the preceding codeword, the division mark which should be located before the head mark can be omitted and thus a shorter coded output 8 is obtained. In the apparatus utilizing the coded output 8, the signal of the coded output 8 is taken out from the head, and if the next signal of the codeword train followed by the codeword determined hereinafter or the division mark is a division mark or a codeword satisfying the preceding conditions, the codeword train is considered as one code. In a first example of the above conditions, the matched codewords of the component patterns are added in a predetermined order. The code processor 11 arranges the matched codewords of the selected component patterns in one block to a codeword train, in the predetermined order. The division mark processor 12 compares the last mark of a codeword and the head mark of the next codeword and, when the two marks are only in the predetermined order, the division mark is left as it is, and when the two marks are the same or are not in the predetermined order, the division mark is eliminated. In a second example of the above conditions, when it is assumed that component patterns corresponding to each prime implicant constituting the preceding logical equations are provided, the division mark processor 12 detects whether the component pattern distinguished by the head mark of the codeword belongs to the set of the component patterns distinguished by the mark of the preceding codeword (i.e., included completely in the bit pattern of the set), or conversely, the former belongs to the latter, and under such conditions, the division mark is eliminated. This condition is satisfied in the following state, wherein, for example, as shown in Figs. 11A and 11B, the matched codeword is expressed by P i , the component pattern of the left block in Fig. 11A is expressed by P₁ + P₂ , and the head component pattern included in the following right block is expressed as P₃. That is, in this example, if P₃ is P₁ + P₂ + P₃ and P₃ is included in the left block codeword, the bit pattern expressed thereby, as shown in Fig. 11B is identical with P₃ , and the above state does not comply with the definition that the bit pattern expression corresponds to the logical equation comprising prime implicants. Therefore, P₃ is not included in the left block codeword and, at that time if the division mark is abbreviated, the border of the codeword can be distinguished. In the example of the third condition, assuming that the bit pattern information 1 is completely preprocessed as mentioned above, the division mark processor 12 temporarily makes a bit pattern combining component pattern distinguished by head mark of the codeword and the preceding codeword mark, and if the temporarily made bit pattern includes the bit pattern which is eliminated by the preprocessing, the division mark is abbreviated. Where the condition as shown in Figs. 12A and 12B is satisfied the pattern of the left block in Fig. 12A is expressed by P₁ + P₂ , and the component pattern of the head of the following right block is expressed as P₃. That is, if the above P₃ is combined with P₁ + P₂ the combined bit pattern is as shown in Fig. 12B. The bits enclosed by a circle in Fig. 12B are illegal bits. This state shows that the preprocessing is not complete and does not comply with the assumption. Therefore, in this case, the division mark is abbreviated. The division mark processor 12 carries out the abbreviation of the division mark by applying one or a combination of more than two conditions. In Fig. 10, a flow chart in the division mark processor in the second embodiment is shown. In step 51 (S51), the signal from the code processor determine the order of the component patterns. If the order of the preceding component pattern is higher than or equal to the order of the next component pattern, the process proceeds to step 54 (S54). If the order of the component pattern is lower than the order of the next component pattern, the process proceeds to step 52 (S52). In step 52, inclusion between the component patterns is determined. If one is included in the other, the process proceeds to step 54. If not, the process proceeds to step 53 (S53). In step 53, by the logical sum of the preceding (or before) and the next (or behind) patterns, the generation of the illegal bit pattern is detected. If the generation occurs, the process proceeds to step 54. If the generation does not occur, the process ends and the system outputs the coded output. In step 54, the abbreviation of the division mark is processed, and the process after step 54 is the same as that of step 53. A third embodiment of the present invention is explained below. In Fig. 13, reference numeral 13 denotes a prediction processor which supplies a coincidence state, etc., between a prediction pattern from a prediction pattern supply section 9 and an image bit pattern, to a component pattern processor 14, and 15 is a code processor generating a coded output 16 from the coincidence state mark supplied from the component pattern processor 14 and the matched codeword of the component pattern. The prediction pattern supply section 9 generates a prediction pattern to predict a bit pattern of block after processed from a bit pattern of the block located at a predetermined related position, for a sequentially processed block. The prediction processor 13, in each object block, compares the bit pattern of the block with prediction pattern taken out from the prediction pattern supply section 9 based on the bit pattern of the block having a predetermined adjacent relationship, and forms a predetermined mark showing a coincidence state of both patterns and a necessary bit pattern in each state other than the coincidence state. The formed patterns are supplied to the component pattern processor 14. The component pattern processor 14 encodes the supplied bit pattern with reference to the component pattern supply section 6 only in a case except for the coincidence state, supplies the codeword of the selected component pattern and the mark of the coincidence state to the code processor 15, and the code processor 15 outputs the coded output 16. A pattern prediction used in this embodiment is now explained. [Pattern Prediction] In the above block coding system and the expanded block coding system, a bit pattern of the following block is predicted from the already defined block, when the prediction and the following bit pattern coincide, only a "success" of the coincidence with the prediction is expressed, and the coding which expresses the real bit pattern directly is abbreviated, and thus the coded output is shortened. In addition, where the prediction pattern belongs to the real bit pattern, the expression "partial success" is made, and a codeword expressing the bit set out of the prediction pattern is added to the expression. Thus, a further information compression can be expected. In a case other than "success" and "partial success", "failure" is expressed and the whole bit pattern is coded. The prediction processor 13 in Fig. 13 applies the above prediction to, e.g., the bit pattern of the block supplied from the bit pattern information 1, and the results are sent to the component pattern processor 14. The prediction pattern supply section 9 picks up or calculates a prediction pattern from the bit pattern which is the base of the prediction pattern to be predicted, and supplies the same to the prediction processor 13. As shown in an example of Fig. 15, the bit pattern of block D is predicted by the bit patterns of columns of block C and rows of block B in contact with the upper and left side of block D. The prediction pattern is formed by a logical summation of two bit patterns so that the upper column bit pattern and the left row bit pattern move to all the columns and rows of block D as is. Namely, when the bit pattern corresponds to the 4 x 4 Karnaugh map, the prediction pattern is expressed by the logical summation of each logical equation in only the portions expressing the characters X₃ and X₄ in the logical equation expressing the fourth row pattern of block B and characters X₁ and X₂ in the logical equation expressing the fourth column pattern of block C. The prediction processor 13, for the object block D, supplies a bit pattern of the fourth row in block B adjacent to the left of and the fourth column in block C adjacent above the prediction pattern portion 9. Then, the prediction processor 13 receives a prediction pattern D′ and compares the same with the real bit pattern of block D. As a result, if both patterns coincide, a predetermined mark "success", which expresses a successful coincidence, is supplied to the component pattern processor 14. The component pattern processor 14, in this case, for example, outputs the "success" mark to the code processor 15 as is, and the process of the block is then ended. The code processor 15 determines the "success" mark as a codeword of the block and outputs a coded output 16. If a portion of the pattern of the block D coincides with a prediction pattern D′, that is, in the case that, in the example of Fig. 15, the prediction pattern is all black in the D′ portion and the other is all white, while in the real pattern D′ is black and D″ in Fig. 15 is partially black, i.e., a partial coincidence is achieved; the prediction processor 13 removes the portion which coincides with the prediction pattern, makes a partial pattern which is D″ pattern, and supplies the partial pattern and the predetermined "partial success" mark to the component pattern processor 14. The component pattern processor 14 selects a set of the component pattern constituting the supplied partial pattern from the component pattern supply section 6 and supplies the set together with a "partial success" mark to the code processor 15. Therefore, the code processor 15, for example, pre-locates the "partial success" mark to the codeword train of the matched codeword of the component pattern. If the prediction pattern and the pattern of block D are not in one of the above two states, the prediction processor 13 supplies a predetermined "failure" mark and the bit pattern of the block D to the component pattern processor 14. The component pattern processor 14 selects a set of component patterns constituting the supplied bit pattern from the component pattern supply section 6, and supplies the set together with a "failure" mark to the code processor 15. The code processor 15 pre-locates the "failure" mark to the codeword train of the matched codeword of the component pattern. In this system, by using appropriate marks such as "success", "partial success", and "failure", these marks can function as the division mark and can abbreviate the division mark of the coded output 16. Figure 14 shows a flow chart of the prediction process. At first, in step 61 (S61), an object block D is selected, and in step 62 (S62), the upper adjacent block B and the left adjacent block C are selected. Then, in step 63 (S63), the bit pattern of the fourth row in the block B is extracted. On the other hand, after step 62, the process also proceeds to step 64 (S64). In step 64, the bit pattern of the fourth column in the block C is extracted. After steps 63 and 64, the process proceeds to step 65 (S65). In step 65, the prediction pattern in the block D is taken out or calculated. The patterns from steps 61 and 65 are compared in step 66 (S66). If the coincidence of the two patterns is obtained, the process is handled as a "success". If the coincidence cannot be obtained, the process proceeds to step 67 (S67). In step 67, inclusion between the two patterns is determined. If one pattern is included in the other, the process is handled as a "partial success". If one pattern is not included in the other, the process is handled as a "failure" and proceeds to step 68 (S68). In step 68, the bit pattern of the block D is left as it is and the process proceeds to that of the component pattern processor. When the process is a "partial success", after step 67, the included pattern in the bit pattern of the object block D is made to the "don't care" state in step 69 (S69). After step 69, the process proceeds as for step 68. As clear from the above, this invention can be applied to an image information code processing system and a 2-valued image information compressed and encoded with a higher code compression rate.

Claims: An image data processing system for encoding binary data representing image pixels having first and second values, said system initially grouping said binary data into object blocks, each object block representing a 2 p x 2 q block of pixels in said image, and wherein any first-value pixels within each of said 2 p x 2 q block of pixels form a pattern for analysis, the system comprising: means (6) for storing or generating data representing a plurality of different component patterns, each component pattern being a pattern of first-value pixels; means (10/14) for processing the data of each object block so as to analyse the pattern of first-value pixels represented by said object block into a set of said component patterns, which set of component patterns substantially reproduces said represented pattern; and encoding means (11/15) for generating, for each object block, an object block code identifying the corresponding set of component patterns; characterized in that: the processing means (10/14) is adapted to analyse the object block data based on a representation of said data as a 2 p x 2 q Karnaugh map and by evaluating the logical function to which said representation corresponds, each term of said evaluated logical function being an evaluated prime implicant; the component pattern storing or generating means (6) is arranged to store or generate component pattern data corresponding to prime implicants of a 2 p x 2 q Karnaugh map; and the processing means (10/14) identifies as said set of component patterns the component patterns which correspond to the evaluated prime implicants. An image data processing system according to claim 1, wherein said object blocks are grouped into expanded blocks each containing an integer number of object blocks; and the processing means (10/14) is adapted to disregard the precise binary value of the data at a given cell of said Karnaugh map representation of an object block in a particular expanded block if previous processing of data in that expanded block included an assignment of a component pattern to a pattern including the pixel to which said data relates. An image data processing system according to claim 1 or 2, wherein there is provided means for preprocessing the binary data whereby to eliminate isolated pixels of said first or second value in the pixel image represented by said binary data. An image data processing system according to claim 3, wherein the component pattern storing or generating means (6) is arranged to store or generate component patterns corresponding to a sub-set of the prime implicants for a 2 p x 2 q Karnaugh map, said sub-set representing the prime implicants which occur more frequently in logical expressions derived from representations of image data as Karnaugh maps. An image data processing system according to claim 3, wherein the component pattern storing or generating means (6) is arranged to store or generate component patterns corresponding to a sub-set of the prime implicants for a 2 p x 2 q Karnaugh map, said sub-set omitting the prime implicants which correspond to groups of first-value pixels which are logically contiguous but physically non-contiguous. An image data processing system according to any previous claim, wherein the encoding means (11) is adapted to generate division marks for insertion between successive object block codes to mark the boundary therebetween; and there is provided means (12) for inhibiting the insertion of a division mark between successive object block codes when the sequence of component patterns identified by portions of said successive object block codes adjacent to said boundary is a sequence which cannot occur within a single object block code. An image data processing system according to claim 6, wherein the encoding means (11) is adapted to form each object block code such that each component pattern in said set of patterns is identified in the object code block in a predetermined order and said inhibiting means (12) is adapted to inhibit insertion of a division mark at the boundary between successive object block codes when the sequence of component patterns indicated by object block code portions before and after the boundary violates said predetermined order. An image data processing system according to claim 6, wherein the processing means (10) is adapted to analyse each pattern into a set of component patterns such that none of the component patterns in the set is a sub-set of another of the component patterns in said set and said inhibiting means (12) is adapted to inhibit insertion of a division mark at the boundary between successive object block codes when a component pattern indicated by an object block code portion on one side of the boundary is a sub-set of a component indicated by an object block code portion on the other side of the boundary. An image data processing system according to claim 6, wherein there is provided means for preprocessing the binary data whereby to eliminate isolated pixels of said first or second value in the pixel image represented by said binary data and said inhibiting means (12) is adapted to inhibit insertion of a division mark at the boundary between successive object block codes when a superposition of component patterns indicated by object block code portions before and after the boundary produces a pattern including isolated pixels of said first or second value. An image data processing system according to claim 1, 3, 4 or 5, and further comprising: prediction means (9) for processing one or more first object blocks whereby to predict a pattern of first-value pixels expected to be represented by a further object block; and comparison means (13) for comparing the predicted pattern with the actual pattern of first-value pixels represented by said further object block and indicating any excess first-value pixels in the actual pattern which are not present in the predicted pattern; wherein the processing means (14) is adapted to analyze the pattern of the excess first-value pixels indicated by the comparison means into a corresponding set of component patterns; and the encoding means (15) is adapted to encode said further object block according to the output of the comparison means, the resultant object block code including a first portion indicating whether the predicted pattern equalled the actual pattern, was a sub-set of the actual pattern or fulfilled neither of those conditions and, except in the case where the predicted pattern equalled the actual pattern, a second portion identifying the set of component patterns identified by the comparison means as corresponding to said excess first-value pixels. An image data processing system according to claim 10, wherein the prediction means (9) is arranged such that said one or more first object blocks which are processed in the prediction means are two object blocks which represent blocks of pixels adjacent to two predetermined sides of the block of pixels represented by said further object block. An image data processing system according to claim 11, wherein the prediction means (9) is adapted to generate a predicted pattern based upon the patterns of first-value pixels in the blocks of pixels represented by said two object blocks at the sides thereof adjacent to said further object block.

Inventors: CHOU MING-KOU, ENOMOTO HAJIME, CHOU, MING-KOU, ENOMOTO, HAJIME
Applicants: FUJITSU LTD, FUJITSU LIMITED
Application year: 1988
Main classification: H04N1
IPC codes: H04N1, G06T9