Image contour detecting apparatus

Abstract: An apparatus for detecting one or more contours of an image formed on a screen. The apparatus comprises a scanner for raster scanning pixels located on scan lines extending in parallel with each other in the X direction of a two-dimentional coordinate system to successively produce binary pixel data regarding the scanned pixels. The binary pixel data have a first value representing a background forming pixel or a second value representing an object forming pixel. The binary pixel data are transferred to a pixel data matrix forming circuit which thereby forms a pixel data matrix stored therein. The pixel data matrix includes pixel data regarding two adjacent pixels located on the next scan line. The latter two adjacent pixels are respectively adjacent to the former two adjacent pixels in the Y direction of the two-dimentional coordinate system. The apparatus also comprises a processing circuit which receives the pixel data matrix transferred thereto from the pixel data matrix forming circuit for producing data indicating the image contour(s).

Description: The invention relates to an apparatus for detecting one or more contours of an image formed on a screen. Contour following apparatus for detecting an image contour are known for instance in US-A-4 630 306 and FR-A-2 507 419. An image on a screen is entered into a contour following apparatus by means of a scanner. The scanner scans pixels on the screen and produces pixel data each time it scans a pixel. The pixel data from the scanned pixels are successively stored in a memory to form a secondary image. The contour following apparatus extracts pixels which form the image contour and follows the contour forming pixels one by one based on the secondary image. One difficulty associated with conventional contour following apparatus is the large amount of memory required. An apparatus for converting a multi-line image of binary pixel data into a multi-line image of contour pixel data, comprising raster means for scanning of an image line by line, the lines extending parallel to each other in the X-direction of a two dimensional coordinate system, to produce a serial binary pixel data stream representing the scanned image; a forming circuit which receives the serial binary pixel data stream representing the scanned image as input and which rearranges this input to form 2 X 2 pixel data matrices, each pixel data matrix having a first and second row representing a first and second pair of horizontally adjacent pixels of a first and second scan line respectively, and a first and second column representing a first and second pair of vertically adjacent pixels respectively; a decision circuit which receives the pixel data matrices as input, and changes those elements of each pixel data matrix which do not form part of a contour of a scanned image from 1 to 0, thereby forming an output data matrix with corresponding elements; and an address generating circuit for generating a memory address for each pixel of the scanned image stored in one or more memories, whereby each pixel is storable and accessible , in particular pixels belonging to the same scan line are storable and accessible, is known for instance from US-A-4 630 306. It is the main object of the invention to provide an image contour detecting apparatus which can reduce the number of necessary memory sections to a remarkable extent. Another object of the invention is to provide an image contour detecting apparatus which can perform contour following processes at a higher speed. An apparatus of the initially named kind is provided in accordance with one aspect of the invention which further comprises an editing or pixel data matrix de-forming circuit, which receives the output data matrices from the decision circuit as input, converts them back into serial form and outputs a serial data stream representing the originally scanned image but now in the form of a contour image. In another aspect of the invention an apparatus of the initially named kind is provided in accordance with a second aspect of the invention which further comprises a 2 X 2 flag data matrix forming circuit for indicating the course of the contour following process, which receives a pair of front and a pair of rear flag data bits to form the flag data matrix, said front flag data being from the first pair of horizontally adjacent pixels and having first and second values representing respectively a decided or undecided connection of the corresponding pixel to a following contour forming pixel, said rear flag data being from the second pair of horizontally adjacent pixels and having first and second values representing respectively a decided or undecided connection of the corresponding pixel to a preceding contour forming pixel; a flag updating circuit which receives both the pixel and flag data matrices as input and comprises means for deciding whether a connection to the preceding contour forming pixel is required, for accordingly updating the flag data matrix and for outputting this updated flag data matrix to the flag data matrix forming circuit; a command generating circuit which produces command data output as a function of the pixel and flag data matrices which it receives as input according to a relationship programmed into it; and wherein the command data output together with the address generating circuit output provides sufficient input information for a contour analyzing section to store the contour information of the originally scanned image in highly compressed form. Both the first and second aspects of the invention described above convert a signal representing a general multi-line image into a corresponding contour image by processing 2 X 2 pixel data matrices individually. This contrasts with the prior art which, as mentioned above, uses a vector pointer system whereby the contour of each object present in the input image is followed separately by means of a series of adjoining vector pointers in order to create the corresponding contour image. The apparatus of the invention therefore requires much less memory, in fact effectively no dedicated memory at all, and performs the image processing substantially faster. The processing system, in accordance with the first and second aspects of the invention, requires substantially less memory due to the fact that a_contour following method is not used, but rather a method whereby the contour image is produced by a clocked rastering through the multi-line image two lines at a time. At each clock cycle there is thus one 2 X 2 pixel data matrix present in the apparatus according to the invention and this 2 X 2 matrix is individually modified in such a way as to convert the status of these four pixels into the status required for the contour image. The contour image is thus built up piecewise in 2 X 2 elements without reference to other, more remote parts of the image. This is fundamentally different from the prior art which operates by building up a separate block of information (e.g. using stacks and pointers) for every object contained in the image. The invention thus achieves a substantial reduction in the complexity and cost of image processing apparatus of the initially named kind by providing apparatus which performs a straightforward twin-line rastering in place of the laborious contour following technique of the prior art. BRIEF DESCRIPTION OF THE DRAWINGS The features of this invention which are believed to be novel are set forth with particularity in the appended claims. The invention together with its further objects and advantages thereof, may be best understood, however, by reference to the following description taken in conjunction with the accompanying drawings, in which like reference numerals identify like elements in the several figures and in which: Fig. 1 is a schematic block diagram showing one embodiment of an image contour detecting apparatus made in accordance with the invention; Fig. 2 is a diagram showing a raster scanning process used in entering pixel data into the apparatus; Fig. 3 is a table showing one example of the relationship programmed in the decision circuit of Fig. 1; Fig. 4 is a table showing another example of the relationship programmed into the decision circuit of Fig. 1; Fig. 5 is a circuit diagram showing the memory included in the editing circuit of Fig. 1; Figs. 6A, 6B and 6C are diagrams used in explaining the operation of the image contour detecting apparatus of Fig. 1; Fig. 7 is a schematic block diagram showing a second embodiment of the image contour detecting apparatus of the invention; Fig. 8 is a block diagram showing the contour detecting section of the image contour detecting apparatus of Fig. 7; Fig. 9 is a diagram showing a pixel data matrix stored in the pixel data memory of Fig. 8; Fig. 10 is a diagram showing a flag data matrix stored in the flag data memory of Fig. 8; Figs. 11 and 12 are diagrams used in explaining the operation of the flag updating circuit of Fig. 8; Fig. 13 is a table showing one example of the relationship programmed into the command generator circuit of Fig. 8; Fig. 14 is a table showning another example of the relationship programmed into the command generator circuit of Fig. 8; and Fig. 15 is a diagram used in explaining the operation of the periphery detector circuit of Fig. 8. DETAILED DESCRIPTION OF THE INVENTION With reference to the drawings, where like numerals refer to like parts in the several views, and in particular to Fig. 1, there is a schematic illustration of an image contour detecting apparatus embodying the invention. Image information on a screen can be entered into the image contour detecting apparatus by means of a scanner 10. The image is comprised of picture elements (or pixels) placed on the screen in a Cartesian coordinate system having a horizontal (X) and vertical (Y) axis. These pixels are represented as coordinate pairs; e.g., x1, y1; x2, y2; x3, y3; etc. The scanner 10 may, for example, comprise a raster scanner and digitizer. The raster scanner scans an electron beam across the surface of the screen in such a manner as indicated by the solid arrows of Fig. 2, to successively sense the light intensities of the respective pixels on the screen. The digitizer compares the light intensity of each of the scanned pixels with one or more threshold values to produce binary pixel data. The pixels include object forming pixels which form the object(s) on the screen and background forming pixels which form the background on the screen. A pixel (x, y) = 1 represents an object forming pixel, while a pixel (x, y) = 0 represents a background forming pixel. For simplicity, description will be made on an assumed that the image is black and white. A black/white image can be represented by assigning a value of 1 or 0 to each pixel P(x, y). Thus, P(x, y) = 1 represents a black pixel, while P(x, y) = 0 represents a white pixel. The binary pixel data signal is supplied from the scanner 10 through a data line 12 to a pixel data matrix forming circuit 14. The pixel data matrix forming circuit 14 includes a memory 18 having four 1-bit memory sections. The memory 18 may be taken in the form of a shift register matrix consisting of a first bank including front and rear shift registers connected in series with each other and a second bank including front and rear shift registers connected in series with each other. The first bank front shift register has an input connected directly to the data line 12, while the second bank front shift register has an input connected through a 1H delay circuit 16 to the data line 12. The 1H delay circuit 16 delays application of the binary pixel data signal to the second bank front shift register a time period equal to one horizontal scanning interval. Assuming now that the scanner 10 scans a new pixel P(x1, y1) and produces binary pixel data regarding the pixel P(x1, y1), the binary pixel data signal is applied directly to the memory 18 so that the value d of the pixel P(x1, y1) is stored in the front register of the first bank and the value c of the last pixel P(x1-1, y1) is shifted to the rear shift register of the first bank. At this time, the 1H delay circuit 16 produces binary pixel data regarding a pixel P(x1, y1-1). The value b of the pixel P(x1, y1-1) is stored in the front register of the second bank and the value a of the pixel P(x1-1, y1-1) is shifted to the rear shift register of the second bank. This condition is shown in Fig. 1. Thus, the memory 18 stores a pixel data matrix having 4-bit pixel data regarding two horizontally adjacent pixels P(x1, y1) and P(x1-1, y1) located on a new scan line Lk and two horizontally adjacent pixels P(x1, y1-1) and P(x1-1, y1-1) located on the last scan line Lj, the latter two pixels P(x1, y1-1) and P(x1-1, y1-1) being adjacent vertically to the former two pixels P(x1, y1) and P(x1-1, y1), respectively, as shown in Fig. 2. It is to be noted that a pixel data matrix which contains pixel data regarding one pair of black pixels adjacent vertically or horizontally to each other or which contains pixel data regarding one pair of black pixels adjacent horizontally to each other and pixel data regarding another pair of black pixels adjacent vertically to each other will be referred through this invention to as "a 4-connectedness pixel data matrix" except for a pixel data matrix having pixel data regarding four black pixels. In addition, a pixel data matrix which contains pixel data regarding one pair of black pixels adjacent horizontally or vertically to each other, or which contains pixel data regarding one pair of black pixels adjacent horizontally to each other and another pair of black pixels adjacent vertically to each other, or which contains pixel data regarding one pair of black pixels adjacent diagonally to each other will be referred through this invention to as "an 8-connectedness pixel data matrix" except for a pixel data matrix containing pixel data regarding four black pixels. The 4-bit pixel data stored in the memory 18 are transferred to a decision circuit 20 in synchronism with the operation of the scanner 10; e.g., each time the scanner 10 scans a new pixel and produces binary pixel data regarding the new pixel to the pixel data matrix forming cicuit 14. The decision circuit 20 has a relationship programmed thereinto. This relationship defines 4-bit output data as a function of 4-bit input data for converting the transferred 4-bit pixel data into proper 4-bit output data form a 4-connectedness or 8-connectedness pixel data matrix. Fig. 3 shows the relationship between the 4-bit pixel data transferred to the decision circuit 20 from the memory 18 and the 4-bit output data produced from the decision circuit 20. In this case, the decision circuit 20 produces 4-bit output data which are the same as the transferred 4-bit pixel data when the transferred 4-bit pixel data form a 4-connectedness pixel data matrix such as pixel data No. 3, No. 5, No. 7, No. 10, No. 11, No. 12, No. 13 or No. 14. Otherwise, the decision circuit 20 outputs 4-bit data "0000". Fig. 4 shows the relationship between the 4-bit pixel data transferred to the decision circuit 20 from the memory 18 and the 4-bit output data produced from the decision circuit 20. In this case, the decision circuit 20 produces 4-bit output data according to the fact whether the transferred 4-bit pixel data from an 8-connectedness pixel data matrix such as pixel data No. 3, No. 5, No. 6, No. 7, No. 9, No. 10, No. 11, No. 12, No. 13 or No. 14. When the transferred 4-bit pixel data form an 8-connectedness pixel data matrix such as pixel data No. 3, No. 5, No. 6, No. 9, No. 10 or No. 12, the decision circuit 20 produces 4-bit pixel data which are the same as the transferred 4-bit pixel data when the transferred 4-bit pixel data form an 8-connectedness pixel data matrix such as pixel data No. 7, No. 11, No. 13, or No. 14, the decision circuit 20 produces 4-bit pixel data which are the same as the transferred 4-bit pixel data except for a value of the pixel which is decided, from the adjacent 4-bit pixel data matrices, as a pixel not forming the contour of the image. The pixel data No. 7 show an example where the decision circuit 20 decides that the pixel having a value d forms no part fo the contour of the image and produces a value d′ changed from 1 to 0. The pixel data No. 11 show an example where the decision circuit 20 decides that the pixel having a value c forms no part of the contour of the image and produces a value c′ changed from 1 to 0. The pixel data No. 13 show an example where the decision circuit 20 decides that the pixel having a value b forms no part of the contour of the image and produces an value b′ changed from 1 to 0. The pixel data No. 14 show an example where the decision circuit 20 decides that the pixel having a value a forms no part of the contour of the image and produces a value a′ changed from 1 to 0. Otherwise, the decision circuit 20 outputs 4-bit data "0000". The image contour detecting apparatus also includes an editing circuit 22 connected to the decision circuit 20. The editing circuit 22 includes a memory 26 having four 1-bit memory sections to which the 4-bit output data are transferred from the decision circuit 20. For example, the memory 26 may be taken in the form of a shift register matrix consisting of four shift registers each comprising an R-S flip-flop circuit, as shown in Fig. 5. The shift register matrix includes a first bank including front and rear shift registers FF4 and FF3 connected in series with each other and a second bank including front and rear shift registers FF2 and FF1 connected in series with each other. The first bank rear shift register FF3 has an output connected to a 1H delay circuit 24. The second bank front shift register FF2 has an input connected through the 1H delay circuit 24 to the output of the first bank rear shift register FF3. The second bank rear shift register FF1 has an output connected to a memory or display unit (not shown). The 1H delay circuit 24 delays application of the signal from the first bank rear shift register FF3 to the second bank front shift register FF2 a time period equal to one horizontal scanning interval. The shift register matrix operates on bit clock pulses generated in synchronism with the operation of the scanner 10. Thus, the editing circuit 22 produce a series of contour pixel data having a value 1 or 0 in the order or sequence where the scanner 10 scans the respective pixels. Contour pixel data having a value of 1 represent a pixel forming a part of the contour of the image. Assuming now that the scanner 10 produces binary pixel data, as shown in Fig. 6A, the editing circuit 22 produces contour pixel data, as shown in Fig. 6B, when the decision circuit 20 is arranged to operate in response to 4-connectedness pixel data matrixes. In Fig. 6B, the symbols o, x and ⊗ indicate contour pixel data having a value of 1. The symbol o indicates contour pixel data representing pixels forming the outer contour of the image, the symbol x indicates contour image data representing the pixels forming the inner contour of the image, and the symbol ⊗ indicates contour pixel data representing pixels located commonly on the inner and outer contours of the image. When the decision circuit 20 is arranged to operate in response to 8-connectedness pixel data matrixes, the editing circuit 22 produces contour pixel data as shown in Fig. 6C. In Fig. 6C, the symbols o and x indicate contour pixel data having a value of 1. The symbol o indicates contour pixel data representing pixels forming the outer contour of the image, and the symbol x indicates contour pixel data representing pixels forming the inner contour of the image. Referring to Fig. 7, there is illustrated a second embodiment of the image contour detecting apparatus of the invention. In this embodiment, the image contour detecting apparatus includes a contour detecting section generally designated by the numeral 30. The contour detecting section 30 has an input connected through the data line 12 to the scanner 10 (Fig. 1). The contour detecting section 30 includes a pixel data forming circuit for forming a pixel data matrix from pixel data fed thereto from the scanner. The contour detecting section 30 also includes a flag data matrix forming circuit which forms a flag data matrix indicating the course of the contour following process. The contour detecting section 30 produces command data from a relationship programmed thereinto. The relationship defines the command data as a function of pixel data matrix and flag data matrix. The command data are transferred to a contour analyzing section 50 which thereby provides one or more sequences of the contour forming pixels for forming the image contour. Referring to Fig. 8, the contour detecting section 30 includes a pixel data memory 32 having four 1-bit memory sections. The pixel data memory 32 may be taken in the form of a shift register matrix consisting of a first bank including front and rear shift registers connected in series with each other and a second bank including front and rear shift registers connected in series with each other. The first bank front shift register has an input connected to the data line 12 and the first bank rear shift register has an output connected to a line memory 34. The line memory 34 has memory sections for storing pixel data regarding successive pixels in number equal to the number of pixels located on a scan line. The second bank front shift register has an input connected to the line memory 34. The line memory 34 feeds pixel data to the front shift register of the second bank according to address data fed thereto from an address generator circuit 36. The address generator circuit 36 produces address data (x, y) in synchronism with the operation of the scanner 10 (Fig. 1). The address data correspond to the coordinates (x, y) of the newly scanned pixel. The line memory 34 successively feeds pixel data regarding the pixel assigned by the x component of the address data (x, y). In other words, the line memory 34 feeds pixel data regarding the pixel P(x1, y1-1) assuming now that the new pixel is P(x1, y1). Thus, the pixel data memory 32 stores a pixel data matrix D P having pixel data d1 and d2 regarding two horizontally adjacent pixels P(x1, y1) and P(x1-1, y1) located on a new scan line and pixel data d3 and d4 regarding two horizontally adjacent pixels P(x1, y1-1) and P(x1-1, y1-1) located on the last scan line, the latter two pixels P(x1, y1-1) and P(x1-1, y1-1) being adjacent vertically to the former two pixels P(x1, y1) and P(x1-1, y1), respectively, as shown in Fig. 9. The contour detecting section 30 also includes a flag data matrix forming circuit which includes front and rear flag memories 40 and 42 and a flag data memory 44. The front flag memory 40, which may be substantially the same as the line memory 34, has memory sections for storing front flag data in number equal to or greater than the number of the pixels forming one scan line segment. The front flag memory 40 operates, according to the address data fed thereto from the address generator circuit 36, for storing front flag data fed thereto from a flag updating circuit 46 and supplying front flag data to the flag data memory 44. A value of 1 or 0 is assigned to front flag data R(x) regarding a contour forming pixel (x, y) as a result of a contour following process following pixels forming the contour of the image. For example, R(x) = 1 indicates that the connection of a contour forming pixel to the following contour forming pixel is not decided and R(x) = 0 indicates that the connection of a contour forming pixel to the following contour forming pixel is decided. The rear flag memory 42, which may be substantially the same as the line memory 34, has memory sections for storing rear flag data in number equal to or greater than the number of the pixels forming one scan line segment. The rear flag memory 42 operates, according to the address data fed thereto from the address generator circuit 36, for storing rear flag data fed thereto from the flag updating circuit 46 and supplying rear flag data to the flag data memory 44. A value of 1 or 0 is assigned to rear flag data T(x) regarding a contour forming pixel (x, y) as a result of a contour following process following pixels forming the contour of the image. For example, T(x) = 1 indicates that the connection of a contour forming pixel to the preceding contour forming pixel is not decided and T(x) = 0 indicates that the connection of a contour forming pixel to the preceding contour forming pixel is decided. The flag data memory 44 has four 1-bit memory sections for storing front and rear flag data R(x1-1) and T(x1-1) transferred thereto from the flag updating circuit 46 and front and rear flag data R(x1) and T(x1) transferred thereto from the front and rear flag memories 40 and 42, respectively. Thus, the flag data memory 44 stores a flag data matrix D F , as shown in Fig. 10, which forms connection data indicating whether or not the connection of the contour forming pixel included in the corresponding pixel data matrix to the following and/or preceding contour forming pixel. The flag data matrix is transferred from the flag data memory 44 to the flag updating circuit 46 and also to a command generator circuit 48. The flag updating circuit 46 receives a pixel data matrix D P transferred thereto from the pixel data memory 32 and a flag data matrix D F transferred thereto from the flag data memory 44 for detecting preceding and new contour forming pixels included in the transferred pixel data matrix D P and deciding the connection of the preceding contour forming pixel to the new contour forming pixel. The flag updating circuit 46 changes or updates the transferred flag data matrix D F according to the decided connection. It is now assumed that the contour following process is performed for the pixels P(x1, y1), P(x1-1, y1), P(x1, y1-1) and P(x1-1, y1-1). The pixel data memory 32 transfers a pixel data matrix D P including pixel data d1, d2, d3 and d4, as shown in Fig. 9, to the flag updating circuit 46 and also to the command generator circuit 48. The transferred pixel data matrix D P is shown by a bold square in Fig. 11. At this time, the flag data memory 44, which have stored a flag data matrix D F formed by the front and rear flag data R2 and T2 transferred from the flag updating circuit 46, the front flag flag data R3 transferred from the front flag memory 40, and the rear flag data T3 transferred from the rear flag memory 42, transfers this flag data matrix D F to the flag updating circuit 46. The transferred flag data matrix D F is shown by a bold square in Fig. 11. The flag updating circuit 46 detects preceding and new contour forming pixels included in the transferred pixel data matrix and decides the connection of the preceding contour forming pixel P3 to the new contour forming pixel P1, as indicated by an arrow in Fig. 12. Accordingly, the flag updating circuit 46 changes the front flag data R2 from "1" to "0" indicating that the connection of the following contour forming pixel P3 to the new contour forming pixel P1 is decided and it changes the front flag data R3 from "0" to "1" indicating that the connection of the pixel P1 to the following contour forming pixel is not decided. The flag updating circuit 46 transfers the front flag data R2 having a value of 0 to the front flag memory 40 and the rear flag data T2 having a value of 0 to the rear flag memory 42. The flag updating circuit 46 transfers the front flag data R3 having a value of 1 and the rear flag data T3 having a value of 0 to the flag data memory 44. The flag updating circuit 46 newly generates a contour forming pixel when the transferred pixel data matrix has no proceding contour forming pixel. The command generator circuit 48 receives the pixel data matrix D P transferred thereto from the pixel data memory 32 and also receives the flag data matrix D F transferred thereto from the flag data memory 44 for generating a command signal to the contour analyzing section 50 (Fig. 7). The command generator circuit 48 determines whether or not the contour analyzing section 50 is required to perform a process for connecting or provides the sequence of the contour forming pixels from a relationship programmed thereinto. This relationship define the command signal as a function of pixel data matrix D P and flag data matrix D F . Fig. 13 shows one example of the relationship programmed into the command generator circuit 48. This relationship is used to produce command data requiring the contour analyzing section 50 to connect the contour forming pixels in a 4-connectedness fashion where the last contour forming pixel is connected to a new contour forming pixel adjacent horizontally or vertically to the last contour forming pixel. Fig. 14 shows another example of the relationship programmed into the command generator circuit 48. This relationship is used to produce command data requiring the contour analyzing section 50 to connect the contour forming pixels in an 8-connectedness fashion where the last contour forming pixel is connected to a new contour forming pixel adjacent horizontally, vertically or diagonally to the last contour forming pixel. In Figs. 13 and 14, the symbol x indicates an impossible combination. The symbol o indicates a requirement of producing command data through the data line 30b, causing the contour analyzing section 50 to perform a process to connect the contour forming pixels. The empty space indicates a requirement of producing a command signal through the signal line 30a, causing the contour analyzing section 50 to perform no process. The symbole Δ indicates the same command as indicated by the empty space. In this case, however, the command generator circuit 48 may produce command data through the data line 30b to cause the contour analyzing circuit 50 to perform a process necessary for connecting the contour forming pixels and a process necessary for run length coding. Returning to Fig. 8, the numeral 38 designates a periphery detector circuit which receives address data from the address generator circuit 36 for producing a data signal to the pixel data memory 32, the flag data memory 44 and the command generator circuit 48. The data signal indicates that the pixel data matrix and/or the flag data matrix handled in the respective circuits 32, 44 and 48 is out of the periphery of the screen. These circuits 32, 44 and 48 perform a process for changing the pixel data to a value representing a white pixel when they are receives the data signal from the periphery detector circuit 38, as shown in Fig. 15. While this invention has been described in conjunction with specific embodiments thereof, it is evident that many alternatives, modifications and variations will be apparent to those skilled in the art. Accordingly, it is intended to embrace all alternatives, modifications and variations that fall within the scope of the appended claims.

Claims: An apparatus for converting a multi-line image of binary pixel data into a multi-line image of contour pixel data, comprising raster means (10) for scanning of an image line by line, the lines extending parallel to each other in the X-direction of a two dimensional coordinate system, to produce a serial binary pixel data stream (12) representing the scanned image; a forming circuit (14) which receives the serial binary pixel data stream (12) representing the scanned image as input and which rearranges this input to form 2 X 2 pixel data matrices (D P ), each pixel data matrix having a first and second row representing a first (a,b) and second (c,d) pair of horizontally adjacent pixels of a first (Y1-1) and second (Y1) scan line respectively, and a first and second column representing a first (a,c) and second (b,d) pair of vertically adjacent pixels respectively; a decision circuit (20) which receives the pixel data matrices (D P ) as input and processes them to form a contour image, characterised in that the decision circuit (20) changes those elements (a,b,c,d) of each pixel data matrix (D P ) which do not form part of a contour of a scanned image from 1 to 0, thereby forming an output data matrix with corresponding elements (a′ ,b′ ,c′ , d′) ; and in that the apparatus further comprises an editing or pixel data matrix de-forming circuit (22), which receives the output data matrices from the decision circuit (20) as input, converts them back into serial form and outputs a serial data stream representing the originally scanned image but now in the form of a contour image. An apparatus in accordance with claim 1, characterised in that the decision circuit (20) changes from 1 to 0 those elements which do not form part of a contour according to the 4-connectedness convention. An apparatus in accordance with claim 1, characterised in that the decision circuit (20) changes from 1 to 0 those elements which do not form part of a contour according to the 8-connectedness convention. An apparatus in accordance with one of the preceding claims, characterised in that the editing or pixel data matrix de-forming circuit (22) comprises a single horizontal line (1H) delay circuit (24) and four flip-flops (FF₄,FF₃,FF₂,FF₁) each receiving one of the elements (d′,c′,b′,a′) of the output data matrix as latchable inputs; and in that said flip-flops are connected together in series in the manner of a shift register, but with the peculiarity that the output of a first pair or bank of the flip-flops (FF₄,FF₃) is not connected directly to the input of a second pair or bank of the flip-flops (FF₂,FF₁) but via the single horizontal line (1H) delay circuit (24); and in that the flip-flop (FF₂) of the first bank whose output is not connected to the delay circuit (24) has a grounded input (D); and in that the flip-flop (FF₁) of the second bank whose input is not connected to the delay circuit (24) has a terminal (Q a ′) from which the contour pixel data is output. An apparatus for detecting the contours in a multi-line image of binary pixel data, comprising raster means (10) for scanning of an image line by line, the lines extending parallel to each other in the X-direction of a two dimensional coordinate system, to produce a serial binary pixel data stream (12) representing the scanned image; a forming circuit (32,34) which receives the serial binary pixel data stream (12) representing the scanned image as input and which rearranges this input to form 2 X 2 pixel data matrices (D P ), each pixel data matrix having a first and second row representing a first (d₁,d₂) and second (d₃,d₄) pair of horizontally adjacent pixels of a first (Y1-1) and second (Y) scan line respectively, and a first and second column representing a first (d₂,d₄) and second (d₁,d₃) pair of vertically adjacent pixels respectively; an address generating circuit (36) for generating a memory address for each pixel of the scanned image stored in one or more memories, whereby each pixel is storable and accessible , in particular pixels belonging to the same scan line are storable and accessible, characterised in that the apparatus further comprises a 2 X 2 flag data matrix (D F ) forming circuit (40,42,44) for indicating the course of the contour following process, which receives a pair of front (R) and a pair of rear (T) flag data bits to form the flag data matrix (D F ), said front flag data (R) being from the first pair of horizontally adjacent pixels (d₁,d₂) and having first and second values representing respectively a decided or undecided connection of the corresponding pixel to a following contour forming pixel, said rear flag data being from the second pair of horizontally adjacent pixels (d₃,d₄) and having first and second values representing respectively a decided or undecided connection of the corresponding pixel to a preceding contour forming pixel; a flag updating circuit (46) which receives both the pixel and flag data matrices (D P , D F ) as input and comprises means for deciding whether a connection to the preceding contour forming pixel is required, for accordingly updating the flag data matrix (D F ) and for outputting this updated flag data matrix (D F ) to the flag data matrix forming circuit (40,42,44); a command generating circuit (48) which produces command data output (30a,30b) as a function of the pixel and flag data matrices (D P ,D F ) which it receives as input according to a relationship programmed into it; and wherein the command data output (30a,30b) together with the address generating circuit output (30c) provides sufficient input information for a contour analyzing section (50) to store the contour information of the originally scanned image in highly compressed form. An apparatus in accordance with claim 5, characterised in that a periphery detecting circuit (38) is provided for detecting when elements of the pixel data matrix (D P ) and/or the flag data matrix (D F ) are out of the periphery of the screen and for accordingly changing said pixel data matrix elements to a value representing a white pixel.

Inventors: FURUKOORI HITOSHI, FURUKOORI, HITOSHI
Applicants: MEIDENSHA ELECTRIC MFG CO LTD, KABUSHIKI KAISHA MEIDENSHA
Application year: 1988
Main classification: G06T9
IPC codes: G06T5