CA1290053C - Image encoding - Google Patents

Image encoding

Info

Publication number
CA1290053C
CA1290053C CA000508416A CA508416A CA1290053C CA 1290053 C CA1290053 C CA 1290053C CA 000508416 A CA000508416 A CA 000508416A CA 508416 A CA508416 A CA 508416A CA 1290053 C CA1290053 C CA 1290053C
Authority
CA
Canada
Prior art keywords
area
points
sub
picture
samples
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 - Fee Related
Application number
CA000508416A
Other languages
French (fr)
Inventor
Roger D. Turkington
Charles Nightingale
Hugh Spriggs
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.)
British Telecommunications PLC
Original Assignee
British Telecommunications PLC
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 British Telecommunications PLC filed Critical British Telecommunications PLC
Priority to CA000508416A priority Critical patent/CA1290053C/en
Application granted granted Critical
Publication of CA1290053C publication Critical patent/CA1290053C/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/004Predictors, e.g. intraframe, interframe coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

ABSTRACT

IMAGE ENCODING

Actual picture points of a picture area are compared with interpolated values derived from selected points. If the differences are small, data for only the selected points are transmitted, otherwise the area is subdivided and each sub-area processed in the same way, so that the number of points selected for transmission is greatest in detailed areas of the image.

Description

;3 DMA OE ENGODING

The present invention concerns methods and apparatus for image coding and transmission.
The proposals are suitable for the coding of both still pictures and moving pictures, and are particularly, though not exclusively, aimed at low bit rate video coding schemes for applications such as photovideotex and video conferencing.
They aim to reduce some of the drawbacks associated with transform coding whilst achieving a similar or better compression for a given picture quality.
According to one aspect of the invention, there is provided a method of image transmission comprising repetitively:
(a) generating an estimate of a picture area by interpolation from selected sample points thereof;
(b) comparing the estimated samples with the actual samples;
(c) if the estimated and actual samples differ by less than a threshold criterion, transmitting picture data and respect of the said selected sample points, and if they do not, notionally dividing the area under consideration into two or more sub-areas and subjecting each sub-area to steps (a), ~b) and (c) until a minimum sub-area size is reached.
A transmitter for such transmission may comprise interpolation means for generating an estimate of a picture area based on a subset of its samples, means for comparing the estimate with the actual sample values, and means arranged in dependence on whether the comparison indicates a difference of more or less than a threshold (a) to select the subset o~ samples for transmission or ~b) to notionally divide the picture area into two or more sub-areas and to process each sub-area in like manner.

~9~53 The subset of samples may be the four corner points of the area, and the interpolation process may be simple two-dimensional linear interpolation, but this is not essential.
The division into sub-areas may conveniently consist of divlsion into four substantially equal parts.
The data transmitted may comprise a sequence of division codes each indicating whether or not the corresponding area is divided; each division code being followed by the codes corresponding to parts of the respective one. In one preferred arrangement the sample point picture data are transmitted in groups of one or more samples, each group containing data in respect of the untransmitted selected sample(s) of a respective area7 the sequencP of groups being the same as that of the division codes which indicate that the relevant areas are undivided, whilst in another the sample point picture data are transmitted in groups, each group containing data in respect of those selected samples generated by a respective division, the sequence of groups being the same as that of the division codes which indicate the relevant division.
As indicated the invention may be applied directly to the coding of individual pictures. However, further ~5 economy in transmission may be combining it with inter-frame differential coding and applying the present coding method being applied to the difference signal (within the predictor loop).
It will be seen that the principle of the method is a non-uniform sample structure in which non-transmitted pels are inte~polatedO

~90~53 , It is based on the idea of avoiding the use of irrelevant block structures and frequency-derived transforms whose raisons d'etre are inappropriate mathematical models (Markov processes).
One embodiment of the invention will now be described with re~erence to the accompanying drawings, in which Figure 1, 2 and ~ illustrate diagrammatically an image area at various stages of the - 10 coding procedure;
Figure 4 is a flowchart for coder operation;
Figure 5 is a block diagram of a coder;
Figure 6 is a flowchart for decoder operation;
Figure 7 is a block diagram o~ a decoder;
Figure 8 illustrates a typical coder sequence; and Figure 9 is a block diagram of an inter-frame coder.
Operation 1 Referring to Figure 1, a block whose corner points are AB~D is schematically illustrated. The first step in coding is to calculate a new block in which all picture elements (pels~ are represented by values linearly interpolated from the corner values at A, B, C and D.
This new block is compared with the orginal and if no differences are found in excess of a certain threshold, t, then the process moves to operation 2.
Operation 2 The addresses and values of the poin~s A, B, C and D
are transmitted. In the receiver the whole block can be reconstructed by interpolation from these points in the knowledge that the resulting block will be a good 0~3 approximation to the original. If the picture includes more than one block the process then moves to a new block and repeats operation 1. Although the process may be started with the full frame as the first block so that large inactive blocks may be and often are transmitted, the process could, of course, start from an initial sub ~ ivisionO
In the case that differences found during operation 1 exceed the threshold t then operation 3 is performed.
Operation 3 The block ABCD is subdivided as shown in fig 2 and one of the newly obtained subblocks, AP~R for example, is selected to repeat the process from operation 1.
As the process proceeds a structure like that shown in Figure 3 will appear where the greatest number of sub-divisions wil occur at edges or over fine detail.
The process may continue until sub-division is no longer necessary, or no longer possible, but if desired a minimum block size may be defined.
It may be supposed that the addressing overhead for such a scheme would be very large, even prohibitive, but this is not the case, and a system which fully expoints the highly recursive nature of the process and reduces the address data two approximately one blt per corner point will now be described.
Starting with the full frame ABCD (figure 1), the addresses of the corner points are known in advance by the receiver (or are transmitted if not known in advancP).
Operation 1 is then carried out. If it is decided that the block can be interpolated from its corner values, a "O" is transmitted. If it is decided that the block must ~0~5~3 be sub-divided, a "1" is transmitted. ~he block is sub-divided into four by cutting it in half horizontally and vertically. Therefore the transmission of the "1" is sufficient to determine the addresses of the ~ive new points needed in the sub-division. (~he lengths of the sides of the block do not need to be powers of ~, provided the receiver and transmitter use the same rule for dividing odd numbers by 2). The addresses of the corner points of the four new blocks are placed on a "stack" in a predeternined order (eg as indicated by "4, 3, 2, 1" in ~igure 2, where 4 is at the top of the stack~. Each layer of the stack consists of information on one block, its corner points and the values at those points.
The block at the top of the stack is now processed in exactly the same way. If the block can be interpolated then it is simply removed from the stack and the next block down is processed. If it has to be sub-divided it is removed from the stack and replaced by the four new blocks.
The receiver can work out, from the "O"'s and "l"'s which are transmitted as above, the addresses of all the sample points and the order in which they are to be received. It works out that this addressing information is approximately one bit per sample point.
Transmission of the actual sample data may be interspersed with the 1/0 sub~division information sequence, or may ~ollow it. It will be appreciated that the addressing scheme described establishes an order of priority of the blocks~ and sample data conveniently can follow this order.
One possible method would be to transmit sample data ~or the corners of each block not sub-divided, (ie a set of data ~or each "O" of the sequence).

z~

In many instances each block will abut blocks to the left and above it (with the stack priority sequence given) whose data have already been transmitted or implied -and thus only one sample value, the bottom left-hand corner, needs to be sent.
Alternativzly, data may be regarded as associated with the act of dividing a block into four ie one set of data for each "11' of the sequence. This im,olies that A, B, C, D, have already been sent and that P, Q, R, S, T are required9 though P and R will usually have been sent (or interpolated at the receiver) as S or T of a preceding block.
A transmitter for coding in accordance with these methods may comprise a frame store, means to enter image samples and processing means arranged to perform the coding. A flowchart for carrying out the second sequence mentioned above is shown in figure 4. This could be carried out by a suitably programmed microprocessor, though for real-time processing of moving pictures, dedicated hardware would probably be necessary to achieve the desired speed of operation.
Figure 5 shows a coder with digital to analogue convertPr lO (with address control), frame store 12, processor 14 and data output port 16.
Figure 6 shows an image area, together with the resulting coded output. SA, S8 etc. indicate sample values corresponding to points A, B etc. Letters in brackets indicate the areas to which the division codes 1, 0 correspond; this information does not, however have to be transmitted since it can be deduced by the receiver.
Figure 7 shows a receiver with data input port 20, processor 22, frame store 24 and output D ~o A csnverter (and address control) 26. Receiver operation is illustrated in the flowchart of Figure 8.

There are a nuFber of methods of achieving and/or varyiny the degree of compression.
~a) The threshold may be increased so that larger blocks will be found to satisfy the criterion for transmission. This leads to fewer blocks and hence fewer corner points to be transmitted.
(b) The minimum allowable block size can be increased to prevent a myriad of very small blocks fram being generated with consequent saving on transmitted points.
(c) The number of bits used to represent a transmitted corner value can be reduced since contouring (sudden steps in brightness) is impossible with a scheme based on interpolation~
(d) Some values may not need to be transmitted since they, can be interpolated from already transmitted values.
; (e) Other transmitted actual values can be replaced by differences between actual and interpolated values with consequent reduction of variance and decrease in the number of bits required for transmission of some corner points.
Apart from (d) these all introduce some degradation in picture quality, and their application must be tempered with the experience of practice. Because of the novel nature of the scheme the types of degradation seen are themselves novel and their subjective effects and their effects on inte * rame coding are not yet well understood.
By way of clarification of possibiliti~s (d) and (e) 30, above, there follows a description ~f such a di~ferential coding method. When it has been decided that the block ABaD must be sub-divided, the values of five (but usually three) new points are required. Each of the new points is tested to see whether its value can be approximated by ~.2~ 53 interpolation from points already known; eg the interpolation value at P is midway between the values at A
and B. If the interpolation is sufficiently accurate a "O" is transmitted. If it is not sufficiently accurate a "1" is transmitted, followed by the actual value, suitably coded. At present the preferred coding scheme is to transmit the difference between the actual value and the interpolated value~ Thls normally gives a distribution of values with a small variance centred around zero, and o there~ore entropy coding can be used to reduce the average number of bits needed to be transmitted per sample value.
At the receiver it is simply necessary to calculate the interpolation for each sub-area transmi~ted, the sample values within that area, and enter the values into a frame store which, when the entire picture has been built up in this way, can then be read out.
Figure 9 shows a block diagram of a transmitter for transmitting inter-frame differences using the proposed method, the encoder and regenerator sperating as described above. That part of the circuit below the dotted line is in fact a receiver (input A, output B). At the transmitter, in fact, the interpolated signals could be extracted from the encoder rather than generated by a regenerator.

Claims (12)

1. A method of image transmission comprising repetitively:
(a) generating an estimate of a picture area by interpolation from selected sample points thereof;
(b) obtaining and comparing estimated samples with actual samples;
(c) if the estimated and actual samples differ by less than a threshold criterion, transmitting picture data in respect of the said selected sample points, and if they do not, notionally dividing the area under consideration into two or more sub-areas and subjecting each sub-area to steps (a), (b) and (c) until a minimum sub-area size is reached.
2. A method according to claim 1, in which the said area and sub-areas are rectangular or square and the estimate is generated by a two-dimensional interpolation process based on the four corner points of the square or rectangular area.
3. A method according to claim 1, in which in step (c), the notional division of the area is into four substantially equal parts.
4. A method according to claim 1, 2 or 3, in which the picture data transmitted in respect of the selected points after the first are the differences between the actual sample values of those points and the estimated values for those points.
5. A method according to any one of claims 1, 2 or 3, in which the data transmitted comprises a sequence of division codes each indicating whether or not the corresponding area is divided; each division code being followed by the codes corresponding to parts of the respective area.
6. A method according to any one of claims 1, 2 or 3, in which the said samples represent the differences between samples of the picture to be transmitted and those of a previously transmitted picture.
7. An apparatus comprising an interpolation means for generating an estimate of a picture area based on a subset of its samples, means for comparing the estimate with actual sample values, and means arranged in dependence on whether the comparison indicates a difference of more or less than a threshold (a) to select the subset of samples for transmission or (b) to notionally divide the picture area into two or more sub-areas and to process each sub-area in like manner.
8. An apparatus according to claim 7, in which the said area and sub-areas are rectangular or square and the estimate is generated by a two-dimensional interpolation process based on the four corner points of the square or rectangular area.
9. An apparatus according to claim 7, in which in step (c), the notional division of the area is into four substantially equal parts.
10. An apparatus according to any one of claims 7, 8 or 9, in which the picture data transmitted in respect of the selected points after the first are the differences between the actual sample values of those points and the estimated values for those points.
11. An apparatus according to any one of claims 7, 8 or 9, in which the data transmitted comprises a sequence of division codes each indicating whether or not the corresponding area is divided; each division code being followed by the codes corresponding to parts of the respective ones.
12. An apparatus for image transmission comprising means for generating differences between current image sample values and sample values of a previously transmitted image, comprising apparatus according to any one of claims 7, 8 or 9 for encoding the said differences.
CA000508416A 1986-05-05 1986-05-05 Image encoding Expired - Fee Related CA1290053C (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CA000508416A CA1290053C (en) 1986-05-05 1986-05-05 Image encoding

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CA000508416A CA1290053C (en) 1986-05-05 1986-05-05 Image encoding

Publications (1)

Publication Number Publication Date
CA1290053C true CA1290053C (en) 1991-10-01

Family

ID=4133061

Family Applications (1)

Application Number Title Priority Date Filing Date
CA000508416A Expired - Fee Related CA1290053C (en) 1986-05-05 1986-05-05 Image encoding

Country Status (1)

Country Link
CA (1) CA1290053C (en)

Similar Documents

Publication Publication Date Title
US4791486A (en) Recursive image encoding/decoding using interpolation within variably sub-divided picture areas
CN100355287C (en) Adaptive variable-length coding methods for image data
USRE36380E (en) Orthogonal transform coding apparatus
EP0349847B1 (en) Method of and apparatus for compressing image data
EP0550012B1 (en) Apparatus for compression encoding video signals
EP0401854A2 (en) An apparatus for orthogonal transform coding
JPH04326255A (en) Method and device for encoding image
WO1997049066A3 (en) Image data compression for interactive applications
US5007102A (en) Data compression using block list transform
US5590222A (en) Image signal processing apparatus utilizing a 2D Haar transform and adaptive selection of images based on a parameter such as a ratio of coefficients for reducing block distortion and method thereof
CN1155256C (en) Apparatus for encoding video signal employing hierarchical image segmentation technique
JP3202433B2 (en) Quantization device, inverse quantization device, image processing device, quantization method, inverse quantization method, and image processing method
US5793428A (en) Self-encoded deltas for digital video data transmission
CA1290053C (en) Image encoding
EP0238254B1 (en) Data compression using block list transform
EP0237229A1 (en) Encoding images
JP2806944B2 (en) How to improve the resolution of digital signals
JPH03283989A (en) Color picture coding system
JPH0244883A (en) Moving picture transmission system
JPH0681307B2 (en) Orthogonal transform coding method for image data
KR900004962B1 (en) Picture image transmiting system of telephone
JPH03102988A (en) Image coding system
JPH0775103A (en) Image encoder
EP0419141A2 (en) Bit-rate reduction
JPH04215385A (en) Method and device for encoding/decoding image data

Legal Events

Date Code Title Description
MKLA Lapsed