Image processing method and apparatus

Abstract: Outline vectors representing an arrangement of pixels of a binary image obtained by a binary image obtaining unit are extracted by an outline extractor. From the extracted outline vector, isolated points are extracted. These isolated points are stored in an isolated point data generator 7 as information indicative of the position of isolated point. The outline vectors other than the isolated points are stored in the vector generator 3 as vector data. When a binary image is reproduced, the stored position information of the isolated points is developed to vector data by the isolated point data developer 8. Accordingly, since the isolated points are stored not in the form of outline vectors, but position information, the storage capacity for storing the outline vectors can be small. This construction is effective in halftone image in particular.

Description: The present invention relates to an image processing method and apparatus capable of executing image processing by using outline information of the image. Conventional image processing apparatus is such that outlines of the read image are extracted and the read image is stored as outline vectors representing the outline. In this apparatus, an outline vector is determined by a start point and an end point, that is, a single vector is determined by coordinates of two points. In US patent 5091976, there is described an image coding method which extracts a contour from a bi-level image and divides the contour into a plurality of segments by fitting to the contour a predetermined curve expressed by control points. The control points are encoded to permit transmission and reconstruction of the contour. However, in the conventional apparatus, since outline vector data is even generated for each isolated pixel, a large capacity is required to store vector data of an image having many isolated pixels such as a pseudo halftone image. Accordingly, it is a concern of the present invention to provide an image processing method and apparatus capable of storing an image as outline vector data in a small storage capacity. It is another concern of the present invention to reduce a storage capacity required for recording by storing information indicative of the position of an extracted isolated pixel and generating an outline vector of the isolated point from the position information. It is another concern of the present invention to start an outline vector processing, without waiting until all outlines are extracted, by storing a part of an outline each time it is detected or extracting from an isolated point. It is still another concern of the present invention to reduce the storage capacity required for recording by storing an outline vector as a difference between a vector of interest and its neighbouring vector, and storing the isolated pixel at that position. According to a first aspect of the present invention, there is provided apparatus for storing binary image data comprising: extraction means for extracting outline vector data based on image data, characterized by: detection means for detecting isolated pixels from the image data; and storage means for storing both the outline vector data extracted by said extraction means in relation to the non-isolated pixels and position data of the isolated pixels detected by said detection means, the position data of the isolated pixels having a form different from that of the outline vector data of the non-isolated pixels, so as to store the image data inputted by said input means as compressed data. According to a second aspect, the present invention provides a method for storing binary image data comprising the steps of; extracting outline vector data based on the image data, characterized by: detecting isolated pixels from the image data inputted in said inputting step; and storing the outline vector data extracted in said extracting step in relation to the non-isolated pixels and position data of the isolated pixels detected in said detecting step, the position data of the isolated pixels having a form different from that of the outline vector data of the non-isolated pixels, so as to store the image data inputted in said inputting step as compressed data. In a third aspect, the invention provides an image processing apparatus having apparatus for storing binary image data comprising: extraction means for extracting outline vector data based on image data, characterized by: detection means for detecting isolated pixels from the image data; and storage means for storing both the outline vector data extracted by said extraction means in relation to the non-isolated pixels and position data of the isolated pixels detected by said detection means, the position data of the isolated pixels having a form different from that of the outline vector data of the non-isolated pixels, so as to store the image data inputted by said input means as compressed data and further comprising reproduction means for reproducing image data on the basis of the outline vector data and the position data stored in said storage means. A fourth aspect of the invention provides an image processing method in which binary data is stored using a method comprising the steps of; extracting outline vector data based on the image data, characterized by: detecting isolated pixels from the image data inputted in said inputting step; and storing the outline vector data extracted in said extracting step in relation to the non-isolated pixels and position data of the isolated pixels detected in said detecting step, the position data of the isolated pixels having a form different from that of the outline vector data of the non-isolated pixels, so as to store the image data inputted in said inputting step as compressed data, the method further comprising a step of reproducing image data on the basis of the outline vector data and the position data stored in said storing step. Other features and advantages of the present invention will be apparent from the following description taken in conjunction with the accompanying drawings, in which like reference characters designate the same or similar parts throughout the figures thereof. In the drawings: Fig. 1 is a block diagram illustrating the control structure of an image processing apparatus of the embodiment; Fig. 2 is a diagram for explaining how an outline is extracted from a raster scanning type binary image; Fig. 3 is a diagram showing an example of the extraction of a outline vector between a pixel of interest and the neighboring pixel; Fig. 4 is a diagram showing an example of a rough outline vector loop extracted by an outline extractor; Fig. 5 is a diagram showing the storage state of the outline data outputted from the outline extractor; Fig. 6 is a diagram showing the outline vector coordinates when an isolated point is extracted; Fig. 7 is a block diagram illustrating the hardware construction of an outline processor of the image processing apparatus of the embodiment; Fig. 8 is a block diagram of a vector data generator; Fig. 9 is a flowchart for explaining a processing of vector data generation; Fig. 10 is a diagram illustrating the data format of an outline start point; Fig. 11 is a block diagram showing the processing state where coded vector difference value data is generated; Fig. 12 is a diagram illustrating the storage state of an outline vector data table; Fig. 13 is a flowchart illustrating the procedure of outline smoothing/various magnification processing; Fig. 14 is a diagram showing an example of a second smoothing processing; Fig. 15 is a flowchart illustrating a procedure of isolated point data development processing; Fig. 16 is a block diagram illustrating the control structure of a processor which converts a vector expression in a coordinate difference value into the ordinary coordinate expression; Fig. 17 is a diagram illustrating a part of vectors comprising an outline; Fig. 18 is a diagram illustrating the data storage state of the image processing apparatus of the second embodiment; Fig. 19 is a flowchart showing a procedure to select a processing for isolated point data and an outline smoothing/variable magnification processing; Fig. 20A is a diagram illustrating an interface between the outline extractor and the outline smoothing/variable magnification unit in the image processing apparatus of a third embodiment; Fig. 20B is a diagram illustrating an interface between the outline extractor and the isolated point data generator in the image processing apparatus in the third embodiment; Fig. 21 is a block diagram illustrating the construction when the image processing apparatus of the present invention is applied to a facsimile terminal at a receiving side; Fig. 22 is a block diagram illustrating the construction when the image processing apparatus of the present invention is applied to a facsimile terminal at a transmitting side; Fig. 23 is a block diagram illustrating the image processing apparatus of the present invention is applied to a facsimile terminal for reception/transmission; and Fig. 24 is a block diagram illustrating the reproduction process of a vector difference value from coded vector difference value data. Fig. 1 is a block diagram illustrating the control structure of the image processing apparatus of a first embodiment. In Fig. 1, a binary image obtaining unit 1 obtains digital binary image to be subject to a variable magnification processing and outputs a raster scanning type binary image signal. Outline extractor 2 extracts a rough outline vector (the outline vector before a smoothing/variable magnification processing is performed) from the binary image signal. Vector data generator 3 generates variable length data from the rough outline vector data represented by coordinate values with respect to the difference of the coordinate values. The outline smoothing/variable magnification unit 4 performs smoothing and variable magnification processing of the outline vector. Subsequently, binary image reproduction unit 5 reproduces binary image from the outline vector data as raster scanning type binary image data. Binary image output unit 6 displays the binary image, prints hard copy and outputs the binary image data to a communication path. Isolated point data generator 7 generates isolated point data with respect to an isolated point which is extracted by said outline extractor 2. Furthermore, an isolated point data developer 8 develops the isolated point data to coordinate value data (outline vector data). The binary image obtaining unit 1, such as an image reader, is comprised of a well-known raster scanning type binary image output apparatus which reads and binarizes an image, and outputs the binary image in a raster scanning type. The outline extractor 2 receives a pixel of interest from the image in the raster scanning order and detects a vector in the horizontal direction and vertical direction based on the pixel of interest and the neighboring pixel. The detected state of vector connection is used to extract an outline of the image. Note that an outline processor 100 comprises the outline extractor 2, vector data generator 3, outline smoothing/variable magnification unit 4, binary image reproducing unit 5, isolated point data generator 7 and isolated point data developer 8. Fig. 2 is a diagram for explaining how the raster scanning type binary image data outputted from the binary image obtaining unit 1 which is an input of the outline extractor 2 is extracted. That is, the binary image data outputted from the image obtaining unit 1 is used as input data of the outline extractor 2. In Fig. 2, the symbol ⊗ indicates a pixel of interest 101 of a binary image in the raster scanning and a 9-pixel area 102 including the pixel of interest and its 8 neighboring pixels is enlarged. The outline extractor 2 changes the pixel of interest in the raster scanning order, and detects a vector (a horizontal vector or a vertical vector) between the pixel of interest and the neighboring pixel in accordance with the state of each pixel (if a white pixel or a black pixel) in the 9-pixel area 102. In the case where there are outline vectors, data such as coordinates of a start point and direction is extracted, and the outline vectors are connected while a rough outline vector loop is extracted. Fig. 3 is a diagram illustrating an example of the extraction state of the vector between a pixel of interest and the neighboring pixel. In Fig. 3, the symbol Δ represents a start point of vertical vector and the symbol "○" represents a start point of horizontal vector. Fig. 4 shows an example of rough outline vector loops which are extracted by the outline extractor 2. Each square represents a pixel position of an input image. Each empty square represents a white pixel, while a symbol "" represents a black pixel. Similar to Fig. 3, the symbol Δ represents a start point of vertical vector and the symbol "○" represents a start point of horizontal vector. A rough outline vector loop is a group of outline vectors consisted of horizontal vectors and vertical vectors which are alternatively connected to each other to form an area of black pixels. As shown in Fig. 4, the outline extractor 2 extracts a rough outline vector loop so that the pixels at the right side in the vector's direction become black pixels. The start point of each outline vector is extracted as an intermediate position between two pixels of an input image and a line having the width of a pixel is extracted as a rough outline vector loop enclosing the pixels which form the line. The group of the rough vector loops extracted in the above-described way is outputted from the outline extractor 2 in the data format shown in Fig. 5. The data shown in Fig. 5 is comprised of the total number "N" of outline vector loops which are extracted from the image and the group of data of each outline vector loop from the first outline vector loop and the N-th outline vector loop. Each rough outline vector loop data is comprised of the total number of start points of vectors in a rough outline vector loop (can be considered as the total number of outline vectors) and a set of coordinates of start points of each outline vector (abscissa x, ordinate y). Each ordered pair in the set is arranged in the order that the start of a horizontal vector and that of vertical vector are alternatively arranged. Note that the group of data shown in Fig. 5 is referred to as an "outline vector data table". When the outline extractor 2 extracts a rough outline vector, if all neighboring pixels with respect to the black pixel of interest are white pixels, that is, if isolated point shown in Fig. 6 is extracted, the pixel of interest is not processed as a rough outline vector loop as described above, but as isolated point data in the isolated point data generator 7. Fig. 7 is a diagram illustrating the hardware construction of the outline processor 100 in the image processing apparatus in the embodiment. In Fig. 7, CPU 71 is connected to ROM 72, I/O port 73 and RAM 74 via a bus 75. With this construction, an output of the outline extractor 2 is stored in the RAM 74 in the form of data shown in Fig. 5. The isolated point shown in Fig. 6 is a pixel enclosed by four points (x 0 , y 0 ), (x 0 +1, y 0 ), (x 0 +1, y 0 +1) and (x 0 , y 0 +1). Only the data of isolated point (x 0 , y 0 ) is stored in the form shown in Fig. 8 in a storage area of isolated point data. That is, the number "k" of isolated points in image data and x-coordinate value and y-coordinate value of each isolated point are stored. The vector data generator 3 uses rough outline vector loop data outputted from the outline extractor 2 as input data to obtain a difference value between the coordinates of an end point and a start point determining a outline vector representing a part of an outline, and generates outline vector data by expressing the difference value in variable length. The vector generation processing can be executed when the CPU 71 processes the procedure of Fig. 9. The vector generation processing in the vector data generator 3 is described below with reference to Fig. 9. The procedure of the flowchart in Fig. 9 is processed when the CPU 71 executes the programs stored in the ROM 72 or the RAM 74. Similar operation is needed for the other flowcharts attached to this specification. At step S1, the coordinates of the first point of an outline vector loop of interest is determined as a start point and generates start-point coordinate value data in a fixed length to be stored in the RAM 74. The start-point coordinate value data is 32-bit fixed-length data as shown in Fig. 10. The most significant bits such as the 32nd bit and the 16th bit are not used, but 15 bits from the 17th bit to the 31st bit represent x-coordinates, while 15 bits from the 1st bit to the 15th bit represent y-coordinates. Accordingly, abscissa "x" and ordinate "y" of a coordinate value (x, y) are respectively represented by a 15-bit integer without sign. At step S2, a coordinate difference value is obtained by subtracting the start-point coordinate value from the end-point coordinate value of the vector of interest. At step S3, data is generated for the coordinate difference value. If an ordinal coordinate expression is regarded as a difference between a position of interest and the origin, it is easily understood that the difference of the coordinate points next to each other is smaller than that of the ordinal expression. Accordingly, the coordinate expression by the difference is used as variable length data in accordance with the difference value. At step S4, the outline vector of interest is advanced to the following vector, and it is determined whether or not the processing is performed on vectors in an outline vector loop at step S5. If not, the steps from S2 to S4 are repeated and coordinate difference value data is generated in each vector. On the other hand, if the processing has ended for an outline vector loop, the process proceeds to a new outline vector loop at step S6, and it is examined if the processing has ended for all outline vector loops. If not, the steps S1 to S6 are repeated for the new outline vector loop. Accordingly, the data of an outline vector loop represented by coordinate difference values is formed. The data is stored as a set of ordered pairs in each outline vector loop in a similar way to the data table of Fig. 5. In this case, the start point of the outline vector loop is represented by an ordinal coordinate value, and points following the start point are expressed by difference values and stored in a table. Fig. 12 shows the storage state of the outline vector data table. Note that both Δx 1 and Δy 1 are difference value data and variable length data. The outline smoothing/variable magnification unit 4 is realized when the CPU 71 having the construction of Fig. 7 processes the procedure of Fig. 13. The procedure of the processing in the outline smoothing/variable magnification unit 4 is shown in Fig. 13. At step S11, outline vector data outputted by the vector data generator 3 is received as an input. At step S12, each outline vector is classified into a pattern based on the combination of direction and length with the preceding or following vector. Based on the pattern, outline points for the vector of interest after the first smoothing processing are defined. These outline points are points which consist of corner points and other representative points. The first smoothing processing has three features as follows: (1) Removal of noise from an original; (2) Preservation of a sharp angle; and (3) Smoothing of a gentle slant line. Furthermore, enlargement and reduction processings of image are performed with the above processings. At step S13, a weighting average is calculated from coordinate values of a point of interest and the preceding or following point in each representative point except a corner point on each outline vector loop. With respect to the corner point, coordinates at the corner point themselves are used as outline point coordinate values. Weighting coefficients used for weighing average are 1/4 for the preceding or following point of interest and 1/2 for the point of interest. The second smoothing processing is shown in Fig. 14. In Fig. 14, the coordinates of the outline point before smoothing processing is expressed by Pi. On each component of Pi (x, y), the point Qi is obtained by the following equation: Qi = (1/4)·Pi-1 + (1/2)·Pi + (1/4)·Pi+1 The outline consisted of the point Qi is an outline after the second smoothing processing. At step S14, the outline vector data on which the second smoothing processing is performed is outputted, and then the smoothing/variable magnification processing is ended. The processing in a case where isolated data exists is described along with the flowchart of Fig. 15. In Fig. 15, at step S21, the smoothing/variable magnification processing (the flowchart of Fig. 13) is performed by the outline smoothing/variable magnification 4. At step S22, it is determined if isolated data as shown in Fig. 8 exists. If it does, the process proceeds to step S23, while if not, the present processing ends. At step S23, the isolated point developer 8 develops the isolated point data (x 0 , y 0 ) to coordinate value data. The coordinate value data can be obtained from the isolated point data (x 0 , y 0 ) are (k x x 0 , k y y 0 ), (k x (x 0 +1), k y y 0 ), (k x (x 0 +1), k y (y 0 +1)), (k x x 0 , k y (y 0 +1)). Note that k x and k y are respectively magnification rates in the main scanning direction and the sub-scanning direction. When the development processing of isolated point data ends, the data is transferred to the binary image reproduction unit 5 with the output from the outline smoothing/variable magnification unit 4. The binary image reproduction unit 5 converts the outline vector data transferred via the I/O after the second smoothing processing, and outputs a binary raster scanning image of the enclosing outline vector loops. The outputted raster scanning type data is visualized by the binary image output unit 6 such as a video printer. The outline smoothing/variable magnification unit 4 sequentially obtains a needed coordinate value from the outline start-point coordinate value outputted from the vector data generator 3 and coordinate difference value of the outline vector, and performs the smoothing/variable processing after the data in difference expression is converted to the ordinal coordinate expression. The block diagram of the control structure of the processor where the expression by the coordinate difference value is converted to the ordinal coordinate expression is shown in Fig. 16. In Fig. 16, the outputs of the vector data generator 3 is inputted into the input unit 141, and the outline start-point coordinate value 142 is held in latch 145, while the difference value 143 is held in latch 144. The values in the latch 144 and 145 are added in the adder 146, and the obtained coordinate value is outputted to the output unit 147 and the value in the latch 145 is updated to the value obtained by the adder 146. In this case, if an initial value of the difference value 143 is "0", the coordinate value 142 is outputted as a start point. The coordinate value outputted in this way is an input of the outline smoothing/variable magnification unit 4. This processing is executed when the CPU 71 processes control programs stored in the ROM 72. The binary image reproduction unit 5 converts the image into raster type data. In the image, the outline vector is regarded as an outline and one side of the outline vector is blackened. For the conversion, three vectors such as a vector of interest, the preceding and the following vector are required. Fig. 17 shows a part of the vectors comprising an outline. As apparent form Fig. 17, the binary image reproduction unit 5 using three continuing vectors requires four coordinate points such as P1∼P4. The binary image reproduction unit 5 is operated by using registers (not shown) to hold four coordinate values. These four registers delete the oldest coordinate values and use the latest coordinate values which are sequentially inputted while a vector of interest is updated. The processing by the binary image reproduction unit 5 can be a well-known procedure. The binary image output unit 6 displays an output on a CRT or prints the output by a printer based on the raster data obtained in the binary image reproduction unit 5. As described above, according to the image processing apparatus of the embodiment, in the outline processing of a digital binary image, outline vectors are expressed by the difference coordinate with the neighboring points, thus compressing the vector data. Furthermore, the information concerning the isolated point data is not stored as vector data, but as position information, and this position data is developed and processed in a case of image processing. Accordingly, a storage capacity required for holding the outline vector data is reduced for the image such as a pseudo halftone image. In the image processing apparatus with the above construction, the isolated data is stored in an area separated from the area for outline vector data, however, those data can be stored in the same area. In this case, as shown in Fig. 18, the number of start points in an outline of the isolated data is set to "1". Selection between the processing of the isolated data and that of the outline smoothing/variable magnification processing is shown in the flowchart of Fig. 19. At step S31, it is checked if the total number of start points in the outline is "1". If not, it means that the data is not data of an isolated point, therefore, the process proceeds to step S32 where the smoothing/variable magnification is executed for an ordinal outline vector. On the other hand, if the total number is "1", it means that the data is an isolated point data, therefore, the process proceeds to step S33 where outline vector data of isolated points is developed. Accordingly, the processing is selected between the reproduction processing of isolated vector or the conventional smoothing/variable magnification processing based on the total number of start points. Accordingly, a single image is expressed by the data of a single table by storing isolated point data in an outline vector loop table. In the embodiment, the rough outline vector loop data extracted by the outline extractor 2 which is outputted from the RAM 74 of Fig. 7 is used as an input for the vector data generator 3. However, instead of using the memory, as shown in Fig. 20A, data transmission/reception can be performed between the outline extractor 2 and the vector data generator 3 through communication between I/Os. That is, the vector data generator 3 receives data from the outline extractor 2 via I/O, instead of receiving the data when all the data is prepared. The data includes the total number of start points in an image, the total number of start points in the first outline, the abscissa of the first start point, the ordinate of the first start point, ..., and the vector data generator 3 receives the data in this order. Similarly, as shown in Fig. 20B, vector data can be transferred sequentially if the outline extractor 2 and the isolated point data generator 7 are connected by the I/O. Furthermore, the vector data can be transferred by not only separated I/Os, but also the same I/O. Accordingly, the vector data generator 3 can be constructed so as to generate vector data while coordinate values of following outline point are received by using the coordinate values received in the way as described above. As described above, the vector data generator 3 sequentially performs processing on the extracted outline vector data. Accordingly, the outline vector data is generated while outline vector loops are extracted, thus the data processing efficiency can be improved. [Second Embodiment] The case where the image processing apparatus according to the first embodiment is applied to a facsimile apparatus is described below. The construction is shown in Figs. 21, 22 and 23. Fig. 21 is a diagram illustrating the control structure when the image processing apparatus of the first embodiment is applied to a facsimile apparatus 210 at reception side. Binary image obtaining unit 1a includes a MODEM 211, code memory 212, decoder 213 and control circuit 214. The binary image obtaining unit 1a receives transmission data which is coded by MH coding via the MODEM 211. The decoder 213 decodes the received data, generates input binary image data, and transfers the data to the outline processor 215. The outline processor 215 includes the outline extractor 2, vector data generator 3, outline smoothing/variable magnification unit 4, binary image reproduction unit 5, isolated point data generator 7 and isolated point data developer 8, and performs the processings described in the first embodiment. The image data processed in the outline processor 215 is outputted to a paper by a recording apparatus 6a or displayed on a display apparatus (not shown). Fig. 22 is a block diagram illustrating the control structure when the image processing apparatus of the first embodiment is applied to the facsimile apparatus 220 at transmission side. Binary image obtaining unit 1b binarizes an image signal inputted by a scanner 221 in a binarizing unit 222 to form input image data. This input image data is transferred to the outline processor 227 and is subject to the processings described in the first embodiment. The binary image which is processed and reproduced in the outline processor 227 is stored in the image memory 223, converted to a code such as MH code by the coder 224, and transmitted via the MODEM 225. Fig. 23 is a block diagram illustrating the control structure when the image processing apparatus of the first embodiment is applied to the facsimile apparatus 230 for transmission/reception. This is the case where the above two embodiments are combined. The portions which are identical to those in the first embodiment have the same reference numerals. The transmission/reception control circuit 234 shown in Fig. 23 determines an originator of image data (either the binary image obtaining unit 1a or 1b) and a designation (either the binary image output unit 6a or 6b) with respect to the outline processor 231. Here, it is possible to select the reader 1b as a binary image obtaining unit and the recorder 6a as a binary image output unit. In this case, a digital copier (or a copy mode) having a variable magnification function can be executed. Furthermore, vector data can be expressed by difference value data on which the Huffman coding is performed, instead of variable length data in accordance with the above-described difference value. This can be applied not only to this embodiment, but also the image processing apparatus of the first embodiment. Fig. 11 is a diagram illustrating the control structure of the difference value data generation processing. The Huffman coder 12 has a Huffman code table (can have a plurality of tables) in advance, and outputs vector data 13 which is coded by allotting Huffman code to the difference value 11 of each outline vector. In this case, the processing shown in Fig. 24 is performed before the difference value described in Fig. 16 is converted to coordinate data, and the difference value on which the Huffman coding is performed is converted to the ordinal difference value. That is, the processing described in Fig. 16 is performed after the coded vector data 241 is decoded in accordance the Huffman code table prepared in advance, and the difference value 243 of the outline vector is reproduced. The facsimile apparatus as described above performs a smoothing/variable magnification processing on image data in the form of outline vector data table. This data includes the vector expressed by the difference and isolated point value expressed by position. Accordingly, the amount of data to be held as outline vector data can be small and the required storage capacity and processing time can be reduced. This is particularly effective for pseudo halftone image data. The present invention can be applied to a system constituted by a plurality of devices, or to an apparatus comprising a single device. Furthermore, it goes without saying that the invention is applicable also to a case where the object of the invention is attained by supplying a program to a system or apparatus. As many apparently widely different embodiments of the present invention can be made without departing from the scope thereof, it is to be understood that the invention is not limited to the specific embodiments thereof except as defined in the appended claims.

Claims: An apparatus for storing binary image data comprising: extraction means (2) for extracting outline vector data based on image data, characterized by: detection means (2) for detecting isolated pixels from the image data; and storage means (3,7) for storing both the outline vector data extracted by said extraction means in relation to the non-isolated pixels and position data of the isolated pixels detected by said detection means, the position data of the isolated pixels having a form different from that of the outline vector data of the non-isolated pixels, so as to store the image data as compressed data. An apparatus according to claim 1 wherein said storage means (3,7) sequentially stores data which represents positions of the isolated pixels as the isolated pixels are detected by said detection means. An image processing apparatus comprising an apparatus for storing binary image data according to claim 1 or claim 2, and further comprising reproduction means (4,5) for reproducing image data on the basis of the outline vector data and the position data stored in said storage means (3,7). An apparatus according to claim 3, wherein the reproduction means comprises generation means (8) for generating outline vector data on the basis of the position data stored in said storage means, and wherein said reproduction means (4,5) includes smoothing/variable magnification means for performing smoothing and/or magnification processing by using the outline vector data generated by said generation means. An apparatus according to claim 3, further comprising generation means (8) for generating outline vector data on the basis of the position data stored in said storage means, wherein the outline vector data obtained by said extraction means or said generation means represents a boundary between black pixels and white pixels, and wherein the outline vector data corresponding to an outline vector is represented as a difference between start-point coordinates of the outline vector and those of a neighbouring vector. An apparatus according to claim 3, further comprising output means (6) for outputting the image data reproduced by said reproduction means. An apparatus according to claim 1 or claim 2, wherein the position data corresponding to each of the isolated pixels is coordinate data of a start-point of a set of outline vectors which enclose that isolated pixel. An apparatus according to claim 1 or claim 2, wherein the outline vector data includes vector data of horizontal vectors and vertical vectors. An apparatus according to claim 1 or claim 2, wherein said detection means detects the isolated pixels from the image data inputted by said input means based on the outline vector data extracted by said extraction means. An method for storing binary image data comprising the steps of; extracting outline vector data based on the image data, characterized by: detecting isolated pixels from the image data; and storing the outline vector data extracted in said extracting step in relation to the non-isolated pixels and position data of the isolated pixels detected in said detecting step, the position data of the isolated pixels having a form different from that of the outline vector data of the non-isolated pixels, so as to store the image data as compressed data. A method according to claim 10, wherein data which represents positions of the isolated pixels is stored sequentially in said storing step as the isolated pixels are detected in said detecting step. An image processing method including the data storing method according to claim 10 or claim 11, and further comprising a step of reproducing image data on the basis of the outline vector data and the position data stored in said storing step. A method according to claim 12, further comprising a step of generating outline vector data on the basis of the position data stored in said storing step, wherein the outline vector data obtained in said extracting step or said generation step represent a boundary between black pixels and white pixels, and wherein smoothing/variable magnification processing is performed in said reproducing step by using the outline vector data generated in said generating step. A method according to claim 12, wherein the reproduction step comprises a step of generating outline vector data on the basis of the position data of the isolated pixels stored in said storing step, wherein the outline vector data obtained in said extracting step or said generating step represent a boundary between black pixels and white pixels, and wherein the outline vector data corresponding to an outline vector is represented as a difference between start-point coordinates of the outline vector and those of a neighbouring vector. A method according to claim 12, further comprising a step of outputting the image data reproduced in said reproducing step. A method according to claim 10 or claim 11, wherein the position data corresponding to each of the isolated pixels is coordinate data of a start-point of a set of outline vectors which enclose that isolated pixel. A method according to claim 10 or claim 11, wherein the outline vector data includes vector data of horizontal vectors and vertical vectors. A method according to claim 10 or claim 11, wherein the isolated pixels are detected in said detecting step from the image data inputted in said inputting step based on the outline vector data extracted at said extracting step.

Inventors: ISHIDA YOSHIHIRO, YAMAKAWA JUNICHI, ISHIDA, YOSHIHIRO, YAMAKAWA, JUNICHI, ISHIDA, YOSHIHIRO, C/O CANON KABUSHIKI KAISHA, YAMAKAWA, JUNICHI, C/O CANON KABUSHIKI KAISHA
Applicants: CANON KK, CANON KABUSHIKI KAISHA
Application year: 1993
Main classification: H04N1
IPC codes: G06T3, G09G5, G06T9