CA1089991A - Image encoding apparatus - Google Patents

Image encoding apparatus

Info

Publication number
CA1089991A
CA1089991A CA290,044A CA290044A CA1089991A CA 1089991 A CA1089991 A CA 1089991A CA 290044 A CA290044 A CA 290044A CA 1089991 A CA1089991 A CA 1089991A
Authority
CA
Canada
Prior art keywords
segment
segments
pel
active
pels
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired
Application number
CA290,044A
Other languages
French (fr)
Inventor
Ian D. Judd
John F. Minshull
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Application granted granted Critical
Publication of CA1089991A publication Critical patent/CA1089991A/en
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/20Contour coding, e.g. using detection of edges
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Image Processing (AREA)
  • Digital Computer Display Output (AREA)
  • Dot-Matrix Printers And Others (AREA)
  • Facsimiles In General (AREA)

Abstract

ABSTRACT

An image encoding apparatus and technique in which raster scanned data is processed so that the characters represented thereby are thinned into a series of strokes. These strokes represent the shape of the characters, either their centre lines or their outlines. The modified bit pattern representing these strokes is then processed in a line follower which detects contiguous bits and determines whether contiguous bits conform to a predetermined constraint. A series of segments are produced representing the tracked strokes. Each segment is coded by shape and the position of its end point. The image is thus encoded as a series of segments in a segment list.

Description

~JB~9~3~

1This invention relates to image encoding apparatus for receiving raster-scanned data indicative of an image and for producing therefrom encoded data.
It has previously been proposed that documents could be scanned, digitized and stored electronically in a computer. The stored data could then be recalled from storage, reconstituted and either displayed on a display or printed with a printer/plotter. A document which is to digitized can be scanned by a scanner whose output is a stream of bits which represent picture elements (pels) in successive lines of the l~raster scan. For an A4 size document (approximately 8 by l2 inches), approx-imately 1.5 million pels would be required to represent th~ document for a scanning resolution oF l20 pels per inch. There~ore ~nlqss ~rov-is-ion -is made to compress the data, the requirements for e1~ctron-ic s~nrage oF scanned documents would be prohibitively ~pensive.
Various compression techniques have been proposed. Applicant's Canddian Patent No. 990,393, issued June l, l976 describes a technique in wh~ch a predictor predicts whether a pel is "l" or llOII, i.e. "on"
or "of~". The predicted pel is comparecl with the actual pel and an ePrO~ s-ignal -is produced when they di~Fer. These error signals are run-l~n~h encod~d and th~ compressed data stored. The specification of ~pplicant's U.S. Paten-t No. 3,987,412~ issued October l9, 1976 d~scrib~s an alternat-ive techn-i~;ue in which a document -is scanned -in a ~astqr until an ob~ec-t (e.g. a character) is ioca-ted. The contour nf thR 4~C~ ~i5 followed, recortling each pel and moving to the next until thR cen-tre oF the ob~ect -is reacht-!d. The raster scan is resumed until th~ next object is encountered.
The specificat-ion oF Appl;cant's United Kingdom Patent Number 1,517,870, ~iled November 1, 1978, describes a technique and apparatus 3d ~or converting a scanned document into vectors.
Accord-ing to the present invention, image encoding apparatus comprises means adapted to receive a raster bit pattern representative .. . . ..
.

l of an image on a raster-scanned document and to dele~e active bits from the raster bit pattern to produce a modified raster bit pattern the active bits of which represent strokes indicative of the shape of objects in the image, and stroke tacking means adapted to receive said modified bit pattern and to produce therefrom a list of segments in the form of code-words representing end-points of the segments and code-words representing the shapes of the segments, said stroke tracking means including means adapted to examine each bit position in the modified b;t pattern to determine whether it represents an active pel, means adapted to determine whether a detected active pel . ;~ . .
is contiguous with a previously detected active pel either on the same scan line or the preceding scan line, means adapted to determine whether ccnti~uous active pels meet a predetermined constraint, means ad~pted to record the sta-tus of segments constituted by contiguous ~c;tive pels meeting said constraint, and means adapted to terminate segnl~nt and initiate another segment when contiguous active pels do not meet said constraint.
W;thin this specification, "active" bits and pels are those ~ ;
wh~ch represent marks on the document. Thus bits and pels may be
2~ black (on a whi-te background), or white (on a black background), or `~
some other colour or shade of grey.
Preferably, the strokes in the images are thinned to their oenEre llne although the outline forming technique described in the spq~lflcatl~n of ollr afarementloned U.K. Paten~ Number 1,~17.~70 ~olll(l b~ llsecl. The ilnage encodintJ technique to be d~ser~bed difFers From that clescribed in the Canadian Patent N~ 3 and th~t described in the specification oF our U.S.
P~tent No. 3,987,4l2 in that these attempt to reproduce all the data nn tlle scanned document. In the technique to be described, however, it ls not possible to reconstruct the original image from the coded form with absolute fidelity. This is because the coded form retains P~ , . .. .

~ 8~

1 information about the sh~pe, length, connectivity and position of the strokes making up the original image: thickness information is lost during thinning. However, thickening algorithms can be used which give a sufficiently accurate reconstruction that any loss in legibility is generally very small.
The invention will now be particularly described, by way of~xample, with reference to the accompanying drawings, in which:-Figure 1 is a block diagram showing the overall configurationof an image encoding apparatus in accordance with the present invention, :
Figures 2(a) to 2(f) show various steps during the thinning cf typ~cal characters, Fl~ures 3~a) to 3(d) illustrate how edges oF objects are d~qcted, Figures 4(a) to 4(d) illustrate how 90 corners are detected, Figure 5 illustrates how the connectivity of a character may be malntainecl during th;nning, - Fi~ure 6 shows constraints used during thinning, Figure 7 shows ~pparatus for 1 sub-cycle of thinning, ~3 Flgllre 7A ls a key showing the numbering of image pels, Figure a~ shows the typical input image, Figure 8~ shows how the image of Figure 8A may be represenked hy a numbqr segments, Fjg~lrq ac is a key to be used wi-th Figure 8B, Fi~llr~ 9 illustrates five phases dur~ng segment tracking, F~gure 1~ illustrates how -the characters of Figure 2 are ~v,ided ~nto segments, Figure 11 illustrates how the segments of Figure 10 are coded durlng tracking, Figure 12 shows a preferred embodiment of segment tracker for receiving thinned raster data and tracking and encoding segments, Figure 13 shows the format of a segment status word used in ~9-76-Q02 -4-lB . I ,` - .` !`` "

I the apparatus of Figure 12, Figures 14A to 14F show an example of segment tracking, Figure 15 is a block diagram of apparatus for encoding segment offsets, and Figure 16 shows the characters of Figure 2(f) after they have been thickened.
Before describing the preferred embodiment oF the present invention, attention is directed towards the specificiation of U,K.
1,517,870 mentioned above and filed simultaneously herewith.
I0 Apart from certain of the techniques being interchangeable, an understanding of one invention will a;d ;n the understanding of the oth~r. As an example, the pel stripping technique to produce an ~ ~;
oll~llne o-f the scanned objects could be used with the segment follower an~l coder of the present invention instead oF the thinning technique wh~ch will be described in detail below. Also, the vector following technique employing a read only store has some similarities with the segment tracking technique to be described below.
Figure 1 shows data compression apparatus in which data on a d~culnent 1 ls to digitized and stored in compressed Form. The d~u~ent 1 i5 raster~scanned in an optical scanner 2 whose output ;s d ser~es of bits representing l;ght and clark areas on the document.
The r~ster bit pattern from the scanner ;s passed through a pel s~rlpp~r 3 along llne ~ where bits are removed -From the bit pat~ern t~ lR~v~ a prnG~ssed or modifle~l b~t pattern in wh;ch the b~ts represent pr~ mln~ntl~ slngle-pel-wlde llnes. Either an outline can be ~ormed i5 d~$~rlb~d in the Complete Spec~-F;cation oF aforement~oned U.K.
~a~n~ No~ 1,517,~70 or preFerably a thinning algorithm is used to produce a bit pattern representing a skeleton of the objects seanned on the document. A preferred thinning algorithm will be ;0 described below.
The processed bit pattern from pel stripper 3 is passed along line S to a segment follower 6 whose purpose is to connect ", ., ~ "'..

1 neighbouring black pels in to segments constituting the objects.
The tracked segments are encoded in an encoder 7 and the resulting encoded data is stored in a data store 8. The store can be accessed and the data pertaining to a ~stored~ document can be expanded in a decompressor 9 for subsequent ~rinting or plotting un a plotter 10 or for display on a display unit 11. Data in the store 8 can be sent via transmitter 12 for transmission in compressed form to a remote receiver 13.
The scanner 1, the store 8, the plotter 10, the display 11, the transmitter 12 and the receiver 13 can be o-f any type and, since they do not ~ se constitute part of the present invention, they will not be described in detail. However reference is directed towards the specificiation of our co-pending Application Serial No.
for a discussion of the scanner. Within the following description, the pel stripper 3, the segment follower 6, and the encoder 7 will be described in some detail: those skilled in the art will appreciate that the decompressor 9 will correspond to the particular compression ~e~hnique employed.
Figure 2 illustrates the preferred thinning algorithm used in the pel stripper 3 and which represents the first stage ln the oompression process. Figure 2(a) illustrates three representative Ghar~ct~rs from a scanned document and shows the digital picture ~lemen~s tpels) making up those characters in greatly enlarged scale, F1~ures 2~b) to 2~e) shQwing the e~Fect oP 1 iteration oF the thinning prn~e~ on these characters. Figure 2(b) shows how, ln the first ph~se of the thinning process, the pels on the left hand boundary are removed. Various constraints will be described later with reference to Figures S and 6. Figure 2(c) shows how in the second ; ;
phase of the thinning process, the pels on the right hand boundary
3~ of the characters are removed. In a third phase of the thinning process, as represented by Figure 2(d), pels at the top edge are removed and in a fourth phase, represented by Figure 2(e), pels at UK~-76-002 -6-':

.

1~8~3 1 the bottom edge are removed.
Each iteration of this algorithm will generally remove a layer of boundary pels From the input object. The iterations may be continued indefinitely until the image remains invariant to obtain a skeleton. However, in many applications this is impractical for two reasons. Firstly where full page buffering is not employed, each iteration requires separate hardware. Secondly the input image may contain objects other than thin strokes. Any large areas of black pels would be reduced to a line which is nonsense for a human observer.
1~ The le31bility of large thick characters could be seriously reduced.
Therefore the number of iterations should be chosen to suit the part~cular application. In the embodiment to be described which is designed for typewritten documents, only one iteration is used since this has been found to reduce most typewritten characters to a l-pel thick skeleton if they have been scanned at 120 pels/inch.
Sharp 90 corners in l-pel thick lines contain a pel which is r~undant for connectivity. Thus in Figure 2(e), pels 20 are not n~ce~s~ry to connect the top and left-hand strokes of the characters "~" and "E". The thinning algorithm will round off such corners if suffiGlent iterations are used but when only one iteration is used, ~ome sn c~rners wlll be rounded and others will not. ThereFore, as ~11u~rated ~n FigurR 2(f), a final phase oF the thinning process is t~ ~ol~nd~of~ any rema~nin9 90 corners. It wlll be noted that this ~mpr4ves the symm~try of the characters, improves image compression, and does not degrade signlFicantly the legibility oF alphanumeric char~cters.
Figure 3 shows logical operators for determining whether each pel in the input array is an edge pel and one is used during each phase of the thinning algorithm. The centre pel of each 3 x 3 operator 3~ is ~n edge pel if the nine pels of the unmodified input data within the 3 x 3 window satlsFy the conditions of the operator. Thus Fl~l~re 3(a) shows the operator for determining whether pels are on UK-9-76-00~ -7-~lq~3~39 ~

1 the left-hand edge of the scanned object, the crosses representing a "don't care" state. If a pel is detected as constituting a left-hand edge, it will be removed subject to the constraints which will be described with reference to Figures 5 and 6. Edge pels are removed from the input image sequentially in the order of left to right, top to bottom raster scan. Figures 2(b), 2(c) and 2(d) show, respectively, the logical operators for determining whether a pel constitutes a r~ght-hand edge, a top edge, or a bottom edge.
Figure 4 shows logical operators for determing whether a pel constitutes a 90 corner and which are used during the final phase of the thinning algorithm. The same notations are used as in Figure 3.
Figures 4(a), 4(b), 4(c) and 4(d), respectively, show the operators for determining whether a pel constitutes a bottom left-hand corner, a ~o~tom ri~ht-hand corner, a top right-hand corner, and a top left-hand c~rner. When a 90 corner is detected, the central pel is dqleted as it is redundant.
F~ures 5 and 6 ~llustrate the constraints mentioned above which are used to determine whether an edge pel is removed. These constraints are determined from the partially processed input image. A first c~nstraint ls sho~n in Figures 5 and 6(a). A pel will not be removecl if removal w4uld al-ter the connectlvity oP the objects in the input d~a, Thls eonditlon will be satisfied lf the number of separate c~mponents ln the elght neighbours of the central pel is exactly one.
Th~ number of components is determined by logically traversin~ a ular pa~h around the central pel P by way oF the ei~ht neighbours ~s sh4wn ~n F~gure ~. The number oF whlte to black transit~ons batweqn consecut~ve a~ial (non-dlagonal) ne~ghbours is counted to ~bt~ln ~ '`cr4s~n9 number". A black to white transition does not lncrenlent the coun-t. Nor is the count incremented for a move between 3~ tW~ consecutive black axial neighbours via an intervening wh~te diagonal neighbour. In other words, the count can only be incremented when moving from a white axial neighour: whether the count will then . . . . . . ........ : , . . : . .. ~ .
.. . .. . .. .. .

~ 9~

1 be incremented depends on whether either of the immediately following diagonal neighbour or the following axial neighbour is black. Thus in the example shown in Figure 5, the count is 2. If the crossing number is 2, 3 or 4, the central pel P is essential to maintain connectivity and therefore removal is inhibited during the thinning process.
The second constraint is that the edge pel is not at the end of a l-pel thick line. This condition can be tested by determining whether the pel has only 1 neighbour. Figures 6(b) to 6(i) show logical operators, using a similar notation to Figures 3 and 4, for determining whether a pel is at the end of a l-pel thick line. If it is, removal of the pel is inhibited.
If the pel of interest is the centre pel of a "T"-junction, its removal may reduce the legibility of certain alphanumeric characters.
Therefore Figures 6(j) to 6(m) show logical operators necessary for determinlng whether or not the pel is located at the centre of a "T"-junction. If it is then its removal is inhibited.
H~ving described the thinning algorithm in some detail, a preferred apparatus for performing one phase of the thinning operation wlll now be described with reference to Figure 7. It will be seen that ~nst~ad of usin~ a full image buffer containing all raster-scanned bits, use is made of a plpe-line arrangement in which the raster-scanned image bit stream is serially processed. (It should be noted however that the ~nv~ntlon is not l~mited to usln~ such a pipe-line arrangement.) ReFerr~n9 now to F~ure 7, a matrix 50 oP 9 latches 51 provides ~h~ 3 x 3 window reFerred to above. The chain of latches 51 in the ~op r~w ls connected to the chain in the second row of the matrix 50 through a llne buffer 52 ~n the form of a shift register having a length equal to 3 less than the number of columns in the input image. The chain of latches 51 in the second row of the matrix 50 is connected to the third row of the matrix through a line buffer 53. Line buffer 53 is similar to buffer 52. The latches 51 within the matrix 50 constitute ; , , ,~, -~ 39~9'~

1 a "moving" window in the serial ima~e data. The contents of the latches correspond to the image before any pels are removed. The numbers within the latches 51 show their relationship with the image pels and from the key shown in Figure 7A it will be seen that the latches contain a horizontally and vertically reversed version of the window pels. The latches 51 in the matrix ~0 feed edge detection logic 5~ which uses one of the logical operators shown and described with reference to Figure 3 or all four of the corner detection operators of Figure 4.
The output 55 of the edge detection logic 54 forms one input of AND circuit 56 whose other input is constituted by the inverse output 57 of cons~raint detection logic 75. The inverse output ~ of -the AND circuit 56 forms one input of a second AND circuit 60 wh~se other input 61 is derived from the central latch 51 in the matrix 5~. The output 62 of the AND circuit 60 is connected to a latch 63 whose output is connected through a line bufFer 64 to three further latches 65. The latches 63 and 65 contain the updated contents of corresponding latches Sl in the matrix S0. (The latches 51 numbered 21, 13, 12 and 11 correspond to the latches 63 and 65 numbered 21', ~a 13', 12', ~nd 11' respectively.) The latches 51 in the dotted box 66 and the latches 63 and 65 in ~he dotted box 67 constltute a second window which feeds constraint d~tection logic 58. The logic 58 examines the pattern of blts within ~he la-tchRs connected -thereto and employs operators as shown and d~ lbed wi-th reference to Figures S and 6. It will be apparent that ~f th~ cen~ral latch Sl (khat numbered 22) in the matrix 50 contains a "1", -thi5 bi-t will be inhibited if the bit represents an edge pel and if there are no constraints on its removal. "1" set in the central latch will not be inhibited if it is not representing an edge pel or if it represents an edge pel but satisfies the constraints described above with reference to Figures S and 6.

1 It will be appreciated that the apparatus shown in Figure 7 corresponds to one phase of the thinning process. Thus in the five phase thinning process (four edge phases and one corner phase) described above, five stages corresponding to that shown in Figure 7 are required. The edge corner detection logic of each stage would require the appropriate logical operator of Figures 3 and 4: the constraint detection logic on the other hand performs every test in in each stage. Thus serial raster-scan data is received at inp~lt terminal 68, is processed so that bits representing edge pels are removed unless the constraint conditions are satisfied, and the resulting serial data is passed from the output 62 to the next stage.
In order that the various operators should work correctly on bi-ts representlng pels at the edges of the image, the latter must be prov~ded with a lngical border of "O"'s. This is most easily done by inhibltlng the output of the appropriate window latches when the centre latch contains an edge pel. This inhibition can be controlled by a counter (not shown) for the image columns.
The purpose of the segment tracking process is to link together neighbouring pels from the input image into segments. The shape of a particular segment can be represented by a code of the numbers 1 to 8 as deFined in Figure 8C. The special case of a point segment containing only one pel is represented by the code 0. The position of a segment within the input image is specified by means oP the row ~nd column address o~ the last pel, that is the end-point acldress.
F19ure 8A shows a typical character which has been thinned to consist o-F segments only a single pel wide. Figure 8B shows how the ~harac-ter can be encoded or represented as three segments 80, 81 and 82.
F~ure 8C is a key showing how different directions are numbered and it will be seen how each of the segments 80 to 82 is developed. Thus in vector 80, pel 83 is at direction 5 from pel 84, pel 85 is at direction
4 from pel 83, etc. The segments 80, 81 and 82 terminate at points 86, 87 and 88 respectively. The three segments can be represented ~Lq~ 3~3L
l aâ follows:
Segment 80 - X80,Y80(end point 86) 5,4,3,3,3,4,3,3.3 Segment 81 - X81,Y81(end point 87) 3,3,3,2,3,3,3 segment 82 - X82,Y82(end po~nt 88) 1 Aâ will be seen, the segment tracking technique to be described below iâ a variation of one o~ the vector tracking techniques described in the specification of our aforesaid Application Ser1al No. The input image is presented as a serial bit strea~ ~rom a raster scan and buffering is limited to three lines. The segment tracking apparatus must be able to build multiple segments in parallel and tracking is l;mited to directions 1 to 5 in Figure 8C. The technigue to be described is most suited to input data representing ~hreads o~ pels wh-ich are only l pel thick. Junctions of segments and ~rea clusters o~ pels can be handled but, due to the absence of back-track-ing or s-ignificant look-ahead, an optimum decision may not be made when a pel can be included in more than one segment or when a segment can continue to more than one pel. Nevertheless each pel in `
the input w-ill be included in one, and only one, segment. Unnecessary fragmentation into mult;ple segments ;s avo;ded by continuing segments 2~ ~lready running to -include new pels where possible rather than start-ing n~w ones. To perm;t -the use of the segment address coding scheme described later, completed segments appear on the output oP ~h~
tracking apparatus in order oF increasing row and column encl-po~nt ~d~lr~es~
Track~ing can be constrained to produce only segments whose codes ar~ members o~ a val-id segment set. For example a set containing no turns sharper than 45 could be used for alphanumer;c coding whereas a linear set m;ght be used for a graphics image. The tracking process ~ -works line by line with two buffers containing lines R and R+l. When processing of pels in line R is begun, all pels up to and including line R-l will already have been absorbed into segments. Tracking through line R proceeds in five phases as follows:-UK~-76-002 -12-''.

~61189~39'~
1 Phase 1 Active segments are continued diagonally to the right or ver~ically downwards on to line R. That is a pel in relative position 2 or 3 is added to each segment successfully continued. These segments are then continued as ~ar as possible to the right on line R
by adding further pels in relative position 1.
Phase 2 Active segments from line R~l are continued diagonally to the left on to line R. Thus a pel in relative position 4 is added to each segment successfully continued. Segments are then continued as ~ar as possible to the left on line R by adding fur~her pels in relative position 5. `
Phase 3 Active segments which cannot continue to line R are output.
Phase 4 New segments are started at left-hand open ends of pels on llne R and are then continued as far as possible to the right on line R
hy addlng further pels in relative position 1.
Ph~se 5 New segments are started at right-hand ends of any remaining pels on llne R and are continued as far as possible to the left on llne R by adding further pels in relative position 5.
F~gure 9 illustrates examples of these five phases of segment tracking. During phase 1, pels 90 to 92 are added to the segment 2~ which includes pel 93 on line R-l~ During phase 2, pels 9~ and 9S
~re ~dded -~o the segment which includes pel 96 on line R-l. During phase 3~ -the segment which includes pel 97 on line R-l is terminated ~nd sent as ~utput. During phase ~, a new segment is begun ~hich ~n~l~des pels 98 and 99 whilst during phase 5, a new segment ~ncluding ~ lan and 101 is started. It wlll be appreciated that, with the e~mple~ sh~wnl when line R~l ~s processed, pel 102 w~ll be added ~o th~ 5e9ment con~ain~ng pels 98 and 99 during phase 1, pel 103 wlll be added to the segment containing pels 100 and 101 during phase ~, and the segments containing pels 93, 90, 91 and 92 and pels 96, 94 ~a and 9S will be terminated during phase 3.
Flgure 10 shows how the thinned characters "C", "D" and "E" of Figure 2(f) may be represented as a number of segments. Thus the UK~-76-00~ -13-... , . ... ,, "..... . .

99~

1 character "C" can be represented as four segments A to D, the character "D" can be represented as four segments A to D, the character "D" can be represented as four segments E to H, and the character "E" can be represented by three segments I to K. Flgure 11 is a table showing the segment end points and the segment codes for the segments shown in Figure 10. Also shown in Figure 11 is the order in which the segments would appear on the output nf the segment tracking apparatus. In the example shown in Figure 10 and 11, segments are limited to a maximum length of 13 pels and not more than ~5 turns.
Figure 12 shows apparatus for tracking segments in accordance with the preferred technique described above. Active segments, that is segments which are being tracked, are contained within a segment status store (SSS) 110 which has one slot for each pel column across the input inla~e. Segments are stored within the SSS slot which corresponds ~o thelr current end-point address. There can be only one active segment per slot. Figure 13 shows the format of each segment status word stored within the segment status store 110. A first field 105 contains a status flag indicative o-f whether the slot is inactive, i.e. does not contain an active segment, or whether the slot is active, i.e. contains ~0 an active segment. In the latter case, the status flag is able to d~stlnguish between a segment that requires extending to the current l~ne and a segment that has already been extended to the current line.
A second Pield 106 ln the segment status word contains the se~ment code:
tha amount oP code willl oP course, depend on the current len~th oP the s~men~ b~in~ tracked.
Return~ng now to Figure 11, raster scanned data which represents s~n~la-pal~wlde se9ments ~s recelved at data input 111 Prom where it can be loaded into three line buPfers 112, 113, and 114 which contain the contents oP lines R, (R+l) and (R+2) respectively. As will be seen more clearly later, only two buffers (112 and 113) are required for the actual segment tracking operation: the buffer 114 for line R+2 is used -Por loading lines into the buffers. The buffers 112, 113 and ::
, .

.. ~; : ~ ~ . . ..

~)89~

114 are connected to a set of latches 115 to 120 which together Form a logical window 121 over the received bit stream. The line buffers 112 to 114 are shown as recirculating bidirectional shift registers but in practice could be implemented as random access memories. The three buffers are used in a circular sequence: thus for a particular l~ne, the tracking process will be performed with bufFers 112 and 113, these buffers being addressed with a column up/down counter 122.
In the meantime buffer 114 is addressed by a secondary counter, not shown, and filled with new input data.
Since it is sometimes necessary to inspect the contents of the ad~acent slot in the segment status store 110, two segment buf~ers 123 ~nd 1~4 are providecl at the output of store 110. The valid segment set for the particular lmage application is stored in a read only store ~R~S) 125 which is addressed by a combination oF the current segment code on lines 126 and the relative position oF the new pel on line 127. The output from the ROS 125 is the updated segment code on `
line 1~8 whlch ls stored in the appropriate slot in store 110 and a b~t on line 129 which is indicative of the validity of the extension.
~ontrol logic 130 controls operation oF incrementer/decrementer 131 t~ d~termlne whether the count in column counter 122 is maintained, de~reased by 1 or lncreased by 1. The control logic 130 also receives ~s ~nputs the output 13~ Prom window 121 for determining segment start and -Finlsh condlt~ons, the validity bit on line 129, and the status Pla~s ~ w~rds s-t~red in segment buFPers 123 and 124 on lines 135 and 136 r@spectively. Output 137 oP control logic 130 supplies update and AC~iVC bits to the segment store 110. Updated segment codes From the read only store 125 are returned directly to the segment status store 110 on line 128. The addition of a new pel to a segment can only occur when the updated segment code is a member of the valid segment 3~ set stored in the segment status store 110 and if the new-end point address will not correspond to a slot which is already occupied by another active segment.
UK~-76-002 -15-~ 9~

1 The apparatus shown in Figure 12 operates as fo11Ows.
First, active segments are continued if possible. During phase 1, the slots in the segment status store 110 are accessed in ascending order, the control logic 130 checking For active segments which have not yet been updated. When one is found, an attempt is made to extend it to line R by adding a pel at relative position 2 or 3.
IF this ach;eved, the status ~lag in the original slot is set to inactive. If possible the segment is ~urther extended on line R by adding pels at relative position 1. Finally when it can be extended no further, the segment status word is stored in the status store slot corresponding to its current end-point with the status flag set to "active~ updated segment". The remaining slots are then s~qu~nced ~o determlne whether there is a further active segment whlch has not yet been updated to line R. Phase 1 is Followed by pha~e 2 whlch is simllar except that the slots in the segment status store 110 are accessed in descending order. If an active non-updated segment ls found during phase 2, it is extended by adding a pel at relative position 4 (when first found) or relative position 5 to ext~nd it along line R.
~a ~urlng the output phase (phase 3), the slots are accessed in ~s~nding ~rder checking Por active segments which have not been update~ to llne R by phases 1 and 2 (the continue phases). The :
s~m~nt cades ~rom any slots with this status are copied to the output ~men~ list in lin~ 138 together wlth the encl point addresses on lin~s 13~ and 140 o~tained from the current values oF the row and ~olumn ~ounters 133 and 132 respectively~ The status flags in the s~lR~ted slots are -then set to "inactive".
The final two phases of the tracking operation are the "start"
phases. During phase 4 the line buffers 112 and 113 are examined ~n ln ascending order through window 121 looking ~or valid start conditions.
During phase 4, a start condition is defined as the left-hand open end of a thread containing two or more pels. (This condition is shown in iL~I~3~39 ~
1 Figure 14E.) During phase 5, the buffers 112 and 113 are examined in descending order: since phase 5 is the last phase of processing for line R, the start condition during phase 5 is any remaining pel. When a start condition is detected, the segment is extended as far as possible along line R by adding pels at relative position 1 (phase 4) or relative position 5 (phase 5). When it can be extended no further, the segment code is stored in the slot in the status store 110 corresponding to the current column address. The scan For start conditions is then resumed from the next column until all start conditions have been detected.
Output of segments on lines 13~, 139 and 140 is asynchronous and in certain conditions, it may be desirable to provide so~e bu~ferlng, not shawn, in the output.
Figure 14A shows the initial conditions of the line R and line R~l buffers and the corresponding segment status words for 5 examples.
F~gure 14B illustrates the condition of the segment status words after the first phase of the tracking operation. During phase 1, one segment has been extended by two pels in relative directions 2 and 1 whilst another segment has been extended by one pel in relative 2n d~rection 3. As pels are tracked, they are removed from the line R
bu~Per.
Figure 14C shows the situation after phase 2 in which one segment has been extended by one pel in relative direction ~. Flgure 1~ shaws how dllrln~ phase 3, two segments are copied to the segment s~nce -they cauld not be extended ~o line R.
In F~9ure 1~, a start cond~tion has been detected durlng phase wh~lst, as shown in Figure l~F, during phase 5 a second segment is started and extended in relative direction 5.
In the apparatus described so far, a raster-scanned image has had redundant pels removed therefrom, and the resulting bit pattern representing a thinned image has been converted into a segment list consisting of the end-point addresses of segments together with codes ~L~ 3~3~L

1 indicative of the shapes of the segments terminating at those points.
Clearly the compression ratio can be enhanced if the output of the tracking process is encoded in as few bits as possible. (The compression ratio is defined as the number of bits in the digital image to the number of bits in the coded representation).
However, there is usually a trade-off between the compression ratio and the cost of the encoding and decoding apparatus. This leads to the requirement that the code-word should be decodable without reference to subsequent code-words and that the encoding and decoding 1~ processes should not require large dictionaries. The development of codes requires two separate source data sets, a learning set and a test set. The learning set is used to gather statistics in order to optimize the design oF the code whereas the test set is used to evaluate ~he performance of the resulting code and must not be used to opt~mlze i-t. Ideally the learning and test sets will be generated by sampling all documents which are to be encoded. However in practice, a sufficiently large sample is chosen to reduce to negligible proportions the pnssibility that the sample is not typical of the documents as a whole.
Before designing a code for the segment shapes, the constraints ~P thq tracking process must be declded since these will affect the s~m~nt s~a~istlcs and therefore the optimum code. Some upper bound must b~ choscn for the number of pels in a single segment in order to llm~t the len9th of the segment status words in the segment status s~ . In ordqr to aYoid degradation oF the compression ratio for ~har~cter data, a single segment should be able to contaln the pels -fr~m nne typi~al vertical and one typical horizontal character-stroke.
F~r dat~ ccntalnln~ line clrawlngs, the segment should contain suFFicient pcls so that the overhead for starting new segments is small. Such 3~ considerations lead to the choice of 24 pels as the maximum segment length for the preferred embodiment.
UK9-76-002 -18- ; `:
: '' .

~3~3~3~

l A second constraint is the set o~ allowable segment shapes.
If this is too small, fragmentation occurs when ~racking excluded shapes and the compression ratio suffers. If the allowable set is too large, the segment code becomes too complex. A useful compromise is to allow all shapes containing 45 turns and to disallow others.
The segment status store preferably contains the segment shapes already in coded form and therefore log;cally performs decode and encode operations when new pels are added to a segment.
In each of the examples of coding described below, the shape of a segment is specified by a start code-word followed by a number of turn code-words. The start code-word gives the direction of the second pel in the segment relative to the first and this can take the values l to S. The special case of a point segment requires a 6th star~ cane-word.
T~ble I below gives the probability of each start event and the corresponding code-words as assigned by Huffman's algor;thm which is described in Proc. I.R.E., September 1952, pages 1098 to llOl.
Table I `
.... .

Start Direction Probability Code Word 2 0.2~ 00 3 0.22 01 0.20 lO
p~lnt 0.18 llO ;
0.10 1110 ' '`
l 0.06 llll It will be seen that with the sampled documents, the five second-pel 3~ directions have quite different probabilities. Thus direction l is much less probable than direction 5 since the starting condition for UK9-76-002 -l9-~. . . ~ . . .

~l~3~ 3~3~

1 phase 4 of the tracking process is much more stringent than that for phase 5.
The turn code-words describe the shape of the segment after the first two pels by incrementally encoding the direction changes, if any, and their sense: no turn code-words are used for point segments.
A "terminate" turn code-word is used to signal the end of a segment.
There are usually three possibilities for the direction of the next pel, no change, a left turn, or a right turn. However when the previous direction is 1 or 5, the sense of a turn is forced since tracking must always proceed in increasing row order and this can lead to a small economy in coding these turns. Because all the allowable turns are no sharper than 45, there is no need, in the prePerred embod~ment, to specify the amount of a direction change.
This codlng scheme has the property that two segments with ~dentical shapes but different orientations will have the same sequence oP turn code-words although their start code-words differ. Three different turn codes will now be described.
The turn code shown in Table II below always encodes one pel at a time and takes advantage of forced turns.
Table II

~ven-t Probability Code Word no change 0.62 0 terminate 0.16 10 -turn leF-t 0.10 110 turn rl~ht 0 09 111 Forced turn 0 03 11 The turn code shown in Table II is the simplest to implement.
However the small number of events gives little feasibility for matching the code-word lengths to the probabilities and some inefficiency may result. The performance on line drawings ~"

~ E39~3~L
l would be poor since the code always uses at least one bit per pel.
The turn code shown in Table III below attempts to overcome this disadvantage by encoding pels two at a time. It benefits from any correlation between successive turns but takes no advantage of forced turns since this would be more complex than the code of Table II.
Table III

Turn Par Probability Code Word ;
SS 0.473 0 : . .
T 0.l70 lO0 SL 0.059 lOlO
LS 0.054 lOll ST 0.044 llO0 SR 0.038 llOlO
RS 0.036 llOll - LR 0-034 ll' RL 0.033 lllOl LL O.Ol9 llllO0 RT 0.017 llllOl LT 0.013 lllllO
RR 0.012 llllll $ 3 no chan9~; L ~ tl1rn left; R ~ turn right; T = terminate ~l~h thl~ ~urn code, straight lines inclined at any multiple of ~5~ ~o the horizontal are encoded at 0.5 bits/pel iF the segment start and terminate are discounted. It will be seen from Table III
that four terminate code-words are required to allow For segments with even and odd numbers of pels. The code dictionary can be implemented in a small read only store or even in random logic.

. . ,. .. .: . .

~lO~3~39 ~3~
1 In a third turn code scheme, shown in Table IV below, turns to the left or right are encoded one at a time but pels with no change of direction are run-length encoded. Advantage is taken of forced turns. To achieve high performance without using a code-word dictionary, the code-words for runs consist of a prefix followed by a second code-word to indicate the run length. The prefix alone is sufficient to distinguish a run from the other events.
Table IV

Event Probability Code Words ~ . . .

Any run 0.30 00 ~ run length Terminate 0.26 01 Turn le-Pt 0.20 10 Turn ri~h-t 0.18 11 Forced turn 0.06 The run-length code-words are shown below on Table V.
Table V
Code-word sub-fields No. oFRun-length No. of (binary) Codes Bits 0 1 1 1 :
1 Q~ 1 2 3 ~ 11 0 3 3 5 1 01-11 1 10-11 0-1 12 1~ - 23 7 The run-length code words may be generated by a chain of five dual-base counters using bases (1,1)(1,3)(1,1)(2,2)(2,0): in this notation each pair of numbers gives in order the two bases used by the ., .
- ~ ~ " ~

3Lg~39~39 ~
1 corresponding counter in the chain. The use of dual-base counte~s for such a purpose will be described below with reference to Figure 15. The code shown in Tables IV and V provides an advantage over that shown in Table III for run lengths greater than 18 pels but is inferior on shorter runs. This is compensated by its greater efficiency for turns and terminations and it can readily be lmplemented without using a read only store.
The position of the segment could be encoded simply as a pair of numbers giving the row and column address of its end point but lQ such a scheme has two redundancies. Firstly it takes no advantage of the fact that segments are added to the segment list in order of increasing row and column address. Secondly, no account is taken qF correlat-ions between end points. Thus in an alphanumeric image~
each character will be represented as several segments with their end polnts clustered together and these clusters will tend to repeat at multiples of the line and character spacings.
These considerations suggest that a segment position coding scheme based on relative addresses (offsets) will give better compression. The compressed data stream consists oF an ordered list 2a oF code-w~rd pairs, each pair giving the position of a segment and sh~pe. The position is preferably encoded as a single number ~ivin9 -the column oF~set oF the segment end point relative to the imm~d-iately precedin9 end point in the same row. The oFFsek From the be~-innin~ oF the row is used for the ~irst end polnt in a row.
Th~ end nF each row is Indicated by including an "end-of-line" code word ~t ~ppr~prla~e polnts in the compressed list so that the row end p~lnt n-P ~ segment is determined by the number of end-of-line code words preceding it. The end-of-line code words diFfer from others in the list by not being paired with a segment shape code-word.
3~ In tests with scanned documents containing alphanumeric data, -it was found that over 50% of the offsets had a magnitude o~ less than 10. This means that considerable savings in the number of : ' ~

39~

compressed bits can be made using variable-length code-words.
A chain of dual-base counters is particularly effective since it can be used to count out the orfset directly during encoding and decoding. A suitable code generation apparatus using seven counters is shown in Table VI below. In this arrangement, the dual-base counters "~
would use the bases (1,7)(2,2)(2,2)(2,2)(2,2)(2,2)(4,0).

Table YI

1~Code Word Sub-fields No. of codes Offsets No. of (Decimal) Bits ;.
End of line 3 1~7 (~-1 14 1-14 5 1~7 2-3 0-1 28 14-~2 7 1-7 2-3 2-3 0-1 56 ~3-98 9 1-7 ~-3 2-3 2-3 2-3 0-1 224 211-434 13 ~ .
~ual-base counters provi(le an economical way of generating a varlabl~-length code-worcl From an event number which may take all ln~ r values From zero up to some predetermined maximum. This is partlcularly uscful when the number oF events is large and o~her m~hods~ such as ~luFFman codlng, are uneconomic because of ~he ~I-Ick-l~nary sl~e requlred. Each code-word will consist oF one or more sub-f~Qld3~ In the encocl~ng process the value oF each sub-P~eld is ~l~rlved from a corresponcling counter which counts out the event number.
Decodlng can be performed by a complementary process. The sub-fields 3n are of fixed length, the number of sub-fields in a code-word being a monotonically increasing function of the event number. The probability of individual events should generally decrease as the , , ~ 9~
event number increases for efficient coding: however the probability distribution can exhibit local maxima without affecting efficiency too much~
It was stated above that the segment offsets could be conveniently encoded by a chain of dual-base counters using the bases (1,7)(2,2)(2,2)(2,2)(2,2)(2,2)(4,0) where each pair of integers (Bl,B2) gives, in order, the two bases used by the corresponding counter. Figure 15 is a block diagram showing the first three counters 150 to 152 in the encoding chain. To generate the code word corresponding to a particular offset, the chain is flrst init-ialized using line 153 to set all the counters to zero.
A number of count pulses on input 154 is then injected. Each counter ini~ially counts normally up to its maximum value of Bl-~B2-1. (In o ther words Tn the example discussed, counter lSO will count to the value 7, counter 151 will count to the value 3 and counter 152 will count to the value 3.) The next pulse causes a carry and the count wraps back to the value Bl. Subsequently counting always proceeds through the values Bl, Bl-~l .... Bl~B2-1, i.e. effectively to base B2. Inputs 155 to 157 symbolically represent the loading oF
counters lSO to 152 with the values 1, 2 and 2 respectively. Since the values of the coun-ters appearing on l-ine 15~, lS9 and 160 g;ves dlrectly the values of the corresponding sub-fields in the code-word, 1~2 (Bl-~B2) must be an inte9er equal to the number of bits in the ~r~lclllar sub-Pield. Otherwise some combinations of the sub-Field w~uld never be us~d resultin9 in inefficiency. Bl and B2 cannot be zera except For the last counter in the chain where B2 may be zero.
Ilhen ln~ect-ion of the pulses on line 154 is finished, the counters will contain the required code word. The validity of a particular sub-field, and hence the code-word length, is determined from a decoder of the preceding counter in the chain using decoders 161, 162 and 163. If the count is greater than or equal to the base Blg then ;
the next sub-field is valid.

~l~38 9~
lWhen the compressed image data is to be displayed and/or printed, it must be expanded (de-compressed) into a format suitable for the display or printing apparatus. The decompression process does not form part of the present invention and will not therefore be described. However it should be noted that because certain pels have been stripped from the input image, the image cannot be reconstructed to its exact orignal form since no record of the origlnal thickness has been retained.
We have found that using the embodiment described above on lOdocuments containing alphanumeric data, legibility is maintained.
Because images have been reduced to single-pel-wide strokes, it may be necessary sometimes to use a line thickening algorithm to thicken : .
~hq d~splayed or printed characters. A suitable simple algorithm is to treat ~ach pel representing the centre line as one (for example the bottom right hand) corner of a 2 x 2 group of adjacent pels.
If the corner pel is black, all four pels in the group in the ~h~ck~ned ~mage are made black. Figure 16 shows the appearance o~
the thlnned characters of Figure 2(f) after such a thickening operation. The thickening process smoothes out quantization noise 2~~o that the thickened image may actually be more pleasing to the ~y~ th~n the or~glnal~ Also when uslng a raster-scanned refreshed ~R~ dlsplay, the thlckened image is frequently more legible than the ~entre-line version: this is because limited video band-width ~nd thq ~nherent Gausslan spot shape reduce the contrast of ~n?~p~ h~ck l~ne5.

: , , ':
' '" ' . ~ . .. . . .

Claims (15)

  1. The embodiments of the invention in which an exclusive property or privilege is claimed are defined as follows:
    l. Image encoding apparatus comprising means adapted to receive a raster bit pattern representative of an image on a raster-scanned document and to delete active bits from the raster bit pattern to produce a modified raster bit pattern the active bits of which represent strokes indicative of the shape of objects in the image, and stroke tracking means adapted to receive said modified bit pattern and to produce therefrom a list of segments in the form of code-words representing end-points of the segments and code-words representing the shapes of the segments, said stroke tracking means including means adapted to examine each bit position in the modified bit pattern to determine whether it represents an active pel, means adapted to determine whether a detected active pel is contiguous with a previously detected active pel either on the same scan line or the preceding scan line, means adapted to determine whether contiguous active pels meet a predetermined constraint, means adapted to record the status of segment constituted by con-tiguous active pels meeting said constraint, and means adapted to terminate a segment and initiate another segment when contiguous active pels do not meet said constraint.
  2. 2. Apparatus as claimed in claim 1, wherein said bit deleting means is adapted to produce a modified bit pattern representing strokes constituting the centre lines of objects in said image.
  3. 3. Apparatus as claimed in claim 2, wherein said bit deleting means com-prises left edge detection means, right edge detection means, upper edge detection means, and lower edge detection means for detecting active bits in said received bit pattern representing left hand, right-hand, upper and lower edges respectively of objects in said image, and means for deleting detected active bits representing said edges from said bit pattern to produce said modified bit pattern.
  4. 4. Apparatus as claimed in claim 3, wherein said bit deleting means further comprises corner detection means for detecting active bits in said received bit pattern which represent 90° corners and means for deleting detected active bits representing 90° corners.
  5. 5. Apparatus as claimed in claim 3 or claim 4, comprising means for inhibiting deletion of said detected edge and/or corner active deletion would cause fragmentation of the strokes represented by said modified pattern.
  6. 6. Apparatus as claimed in claim 3 or 4, comprising means for inhibiting deletion of detected edge active bits representing pels at the ends of single-pel-wide strokes.
  7. 7. Apparatus as claimed in claim 3 or 4, comprising means for inhibiting deletion of detected edge bits whenever said edge bits are surrounded by exactly three non-diagonal neighbouring active bits and no diagonal-neigh-bouring active bits.
  8. 8. Apparatus as claimed in claim 4, wherein each of said edge and/or corner detection means comprises nine latches allowing inspection of each bit in the received bit pattern and its eight neighbouring bits.
  9. 9. Apparatus as claimed in claim 1, wherein said stroke tracking means includes a segment status store adapted to contain segment status words relating to segments currently being tracked, each segment status word including a code-word indicative of the current shape of the segment.
  10. 10. Apparatus as claimed in claim 9, wherein said segment status store has a number of slots equal in number to the number of pel positions in a scan line of the image, and wherein each segment status word is stored in that slot which corresponds to its current end point.
  11. 11. Apparatus as claimed in claim 9 or claim 10, comprising a read only store containing a set of valid segment shapes, and means for determining whether each attempted extension of a segment being tracked is within said valid segment set.
  12. 12. Apparatus as claimed in claim 9 or 10, comprising means for scanning each modified raster line in both directions to determine whether it contains active bits representing valid extension to segments being tracked and for updating a segment when it has a valid extension, means for scanning each modified raster line to determine whether any existing segment should be terminated, and means for scanning each modified raster line in both direc-tions to determine whether any new segments require to be initiated.
  13. 13. Apparatus as claimed in claim 1, wherein segments in said segment list appear in ascending order of their end points.
  14. 14. Apparatus as claimed in claim 13, comprising means for coding the end point of each segment as an offset from the immediately preceding end point in the segment list.
  15. 15. Apparatus as claimed in claim 13 or 14, wherein the shape of seg-ments in the segment list is represented by a first code-word representing the orientation of the segment and a second code-word representing the shape of the segment.
CA290,044A 1976-12-20 1977-11-02 Image encoding apparatus Expired CA1089991A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB53034/76A GB1517869A (en) 1976-12-20 1976-12-20 Image encoding apparatus
GB53034/76 1976-12-20

Publications (1)

Publication Number Publication Date
CA1089991A true CA1089991A (en) 1980-11-18

Family

ID=10466361

Family Applications (1)

Application Number Title Priority Date Filing Date
CA290,044A Expired CA1089991A (en) 1976-12-20 1977-11-02 Image encoding apparatus

Country Status (7)

Country Link
JP (1) JPS5386532A (en)
AU (1) AU508981B2 (en)
CA (1) CA1089991A (en)
DE (1) DE2754230A1 (en)
FR (1) FR2374698A1 (en)
GB (1) GB1517869A (en)
IT (1) IT1114673B (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5915381B2 (en) * 1978-10-16 1984-04-09 日本電信電話株式会社 Pattern inspection method
JPS607579A (en) * 1983-06-24 1985-01-16 Sumitomo Electric Ind Ltd Method and device for picture processing
FR2552570B1 (en) * 1983-09-28 1989-02-24 Sacsi METHOD FOR READING IN DIGITAL FORM, WITH COMPRESSION BY RECOGNITION OF SHAPES, OF A DOCUMENT
EP0375805B1 (en) * 1988-12-30 1995-05-24 Yozan Inc. Vectorizing method

Also Published As

Publication number Publication date
GB1517869A (en) 1978-07-12
JPS5386532A (en) 1978-07-31
AU508981B2 (en) 1980-04-17
DE2754230A1 (en) 1978-06-22
JPS5646176B2 (en) 1981-10-31
FR2374698B1 (en) 1980-08-22
FR2374698A1 (en) 1978-07-13
AU3161477A (en) 1979-06-21
IT1114673B (en) 1986-01-27

Similar Documents

Publication Publication Date Title
US5974179A (en) Binary image data compression and decompression
US6243496B1 (en) Data compression
US6236762B1 (en) System and method for unified DCT and wavelet data coding
US4922544A (en) Image processing
US4280143A (en) Method and means for scale-changing an array of boolean coded points
EP0022490B1 (en) System and method for effecting orthogonal rotation of the scan direction of a digital raster image representation
US4712140A (en) Image reduction method
CN112383781A (en) Block matching coding and decoding method and device for determining reconstruction stage of reference block according to position of reference block
US4853971A (en) Method and apparatus for processing image data
EP0177640B1 (en) Image reduction method
US4231095A (en) Remote reproduction of images
US4876607A (en) Complex character generator utilizing byte scanning
CA1089991A (en) Image encoding apparatus
US6961474B1 (en) Huffman encoder for encoding/decoding DCT coefficients
US5404139A (en) Serial data decoder
US6246800B1 (en) Loss-less compression and decompression of bitmaps using strokes
JPH08130652A (en) Compression and expansion system for two-dimension image data
US20030123746A1 (en) Shape information coder and decoder dividing shape information into lower-resolution subsets
KR0173079B1 (en) Printing method
JPH0789621B2 (en) Encoder
JP3227237B2 (en) Encoding device
GB2187357A (en) Encoding image data
SU1104578A1 (en) Device for generating symbols
Ageenko Context-based Compression of Binary Images
SU1140148A1 (en) Graphic information conversion device

Legal Events

Date Code Title Description
MKEX Expiry