[go: up one dir, main page]

GB2245797A - Reducing television bandwidth by data compression - Google Patents

Reducing television bandwidth by data compression Download PDF

Info

Publication number
GB2245797A
GB2245797A GB9111462A GB9111462A GB2245797A GB 2245797 A GB2245797 A GB 2245797A GB 9111462 A GB9111462 A GB 9111462A GB 9111462 A GB9111462 A GB 9111462A GB 2245797 A GB2245797 A GB 2245797A
Authority
GB
United Kingdom
Prior art keywords
data
field
base
horizontal
signal
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.)
Granted
Application number
GB9111462A
Other versions
GB9111462D0 (en
GB2245797B (en
Inventor
Kenneth James Fenning
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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Publication of GB9111462D0 publication Critical patent/GB9111462D0/en
Publication of GB2245797A publication Critical patent/GB2245797A/en
Application granted granted Critical
Publication of GB2245797B publication Critical patent/GB2245797B/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4347Demultiplexing of several video streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/2365Multiplexing of several video streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/20Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

Data compression techniques utilizing similarities between successive television frames or fields are applied to one or more digital television or video signals to produce one signal with reduced bandwidth for broadcast transmission. The techniques rely on receiver end equipment retaining details of the preceding frame or field. The techniques may utilize non-randomness within individual television frames or fields, may rely on receiver end equipment retaining information about preceding parts of the frame or field being processed and other transmitted data, and may use data built into equipment. Data sufficient to generate a frame or field without reference to preceding data is transmitted sufficiently frequently for viewing to commence with minimal delay. Data scheduling improves bandwidth consistency. Receiver end equipment processes the transmitted signal to reproduce a full television signal. Processing is fast enough for viewing of broadcast television signals. The receiver includes three frame stores 16-18 and reference data stores 20, 21. <IMAGE>

Description

REDUCING TELEVISION BANDWIDTH BY DATA COMPRESSION This invention relates to reducing the bandwidth required for the broadcast transmission of one or more television signals in such a manner that reception may commence at any time during transmission.
The large bandwidth required for television channels places severe limitations on the number of television channels which can be broadcast. According to current technology each television channel is transmitted independently and by means of techniques which are capable of transmitting fully random sequences of images. However television pictures are not random and normally consist of a sequence of similar images known as frames or fields, each of which is in itself significantly non-random with significant vertical and horizontal repetition and other patterns. The majority of television programmes are pre-recorded and a transmission delay of up to thirty seconds is commonly acceptable in so-called "live" transmissions to enable unacceptable material to be edited out.
According to the present invention there is provided a television signal processing apparatus which reduces the bandwidth required for transmission of a television signal by utilising the non-randomness and continuity inherent in the signal and which occasionally transmits sufficient information for reception to commence without reference to preceding data; wherein each field of a television signal is processed by a pattern recognition unit by various methods to produce a compressed signal; wherein the pattern recognition unit derives and outputs digital instructions and data which represent the field by means of examining the field for regularities patterns and correlations with the available-data, and may also derive and output temporary reference-data which aids processing and which remains available for use in fields up to but excluding the next base-field;; and wherein the available-data consists of processed parts of the current field data in a preceding-field store permanent reference-data and temporary reference-data; and wherein the pattern recognition unit employs any combination of various tests on a picture area and any part of the available-data, the various tests including - being identical/being sufficiently similar to require only a small difference-error signal/repetition/no variation /limited variation/linear variation - and these tests may be combined with various changes to the data, the various changes including - movement/compression/expansion/ distortion/rotation/signal-component interchange/signal value reversal/fixed-value addition or subtraction/fixed value multiplication or division/Fourier analysis - with emphasis on comparisons with the preceding horizontal-scan line in the same field and with the corresponding horizontal-scan line in the same preceding-field; and wherein the picture area under examination may be the entire field, a horizontal-scan line, part of a horizontal-scan line or any other part of the field;; and wherein the pattern recognition unit may process data more than once, outputs uncompressed data when compression is not possible, selects the more compact form when different forms are possible, and transmitted data may not directly correspond to individual pixels or the original sequence within a horizontal-scan line or field; and wherein a base-field is a field which is processed without reference to the preceding-field or preceding temporary reference-data thus enabling reception to begin, and a basefield will be accompanied by temporary reference-data produced during processing of the base-field; and wherein signal-timing is modified by transmitting data for each base-field in parts in association with data for fields which normally precede the base-field by delaying non base-field data, base-field data being stored in a base-field store until transmitted;; and where reception is facilitated by equipment which incorporates a pattern generator and base-field store, the pattern generator functioning in a manner complementary to the pattern recognition unit, received parts of the base-field being stored in the base-field store.
EXISTING TECHNOLOGY: Although data compression techniques have been applied to images in certain specialized circumstances the existing methods are not suitable for broadcasting purposes. Some techniques and their limitations are as follows.
Existing Technique Number 1: Video Disk: One existing method used in arcade games and video encyclopedias stores highly compressed images on a video disk, the overall compression level depending on sub-images being used in many complete images but only stored once. While this is practical with a series of permanent images stored on a random-access storage device such as a video disk this method is entirely unsuitable for transmission where decompression may be required to begin after the transmission has begun, where a requirement to store all the data before viewing could commence would impose unacceptable delays and would impose a requirement for large amounts of random access memory which would make such a device prohibitively expensive.
Existing Technique Number 2: Fractal Transformation: A technique known as fractal transformation essentially applies the same mathematical transformation many times to compress images by ratios of about 500 to 1, but can require 1000 such transformations for one television frame, can take 100 hours to compress a single frame and can take an expensive mini-computer 60 seconds to decompress a single frame. This is unsuitable for a broadcasting system which must decompress each frame in the frame time (currently 1/25 of a second in the United Kingdom), because domestic equipment should cost significantly less than a typical television, and because it must be possible to process the material to be broadcast within a reasonable timescale.
Existing Technique Number 3 Frame Replenishment Coding: Frame replenishment coding (as described in "Digital Image Processing" by W K Pratt pages 636-637, and in United Kingdom Patent Specifications 1525264 and 1439162) compares each pixel with the same pixel in the preceding frame and transmits data only if there is a significant difference, or transmits a difference signal of limited dynamic range. The receiver stores an entire frame in memory and alters this in response to transmitted differences, e buffer making variable transmittedsignal timing consistent for output. This system is unable to cope with a large number changes of even the simplest kind as this results in a requirement to transmit a large amount of data, thereby exceeding the required reduced bandwidth.This can be ameliorated by temporarily increasing the differencetransmission threshold but results in an inferior picture, an approximation rather than an exact representation.
Frame replenishment coding is unsuitable for broadcast purposes as even simple motion such as panning from left to right or zooming in on an image can change every pixel and overwhelm the system, as can a change of scene, and since reception depends on having access to the preceding frame viewing cannot commence mid-transmission.
A modification to the frame replenishment coding method suppresses the taking of further samples when the data buffer is full (as described in United Kingdom Patent Specification 1326450), and is unsuitable for the reasons given in the above paragraph.
A variation on the frame replenishment coding method (as described in International Patent Cooperation Treaty document WO 86/03922) provides means to establish a new reference frame "at a long time constant", but is unsuitable for rapidly changing images, only makes comparisons with the corresponding pixel in the reference frame, operates in a strictly sequential fashion, and does not provide for the advance transmission of the new reference frame.
Another variation on frame replenishment coding (as described in International Patent Cooperation Treaty document WO 86/02516 > , intended for recording rather than broadcasting, uses intra-frame coding for the first frame in a sequence and then relies on inter-frame coding. The method is unsuitable for broadcasting as there is no advance transmission of the first frame in each sequence leading to an unacceptable switchon delay and signal disruption when subsequent "first frames" are transmitted by means of relatively large amounts of data.
Frame replenishment coding differs from the present invention in several respects, including being designed to occasionally produce an approximation of the input image, restricting comparison to corresponding pixels in the previous frame, not using a sophisticated pattern recognition unit, operating strictly sequentially, and in that no means is provided for reception to commence unless reception is synchronised with the commencement of transmission.
By contrast the invention described in this patent uses a variety of signal compression methods by means of a sophisticated pattern recognition unit and is not restricted to comparing a pixel with it s predecessor, does not rely on simply transmitting a difference signal, and allows reception to commence part-way through by means of "base" fields.
Existing Technique Number 4: Predictive Coding: Predictive coding (as described in "Digital Image Processing" by W K Pratt, pages 637-646) regenerates each pixel in sequence by means of predictive-formula and error signal.
Each pixel is regenerated using a formula applied to local parameters (such as data based on the history of the pixel, its previous and current surroundings) and a relatively small error signal is added to the predicted signal to close the gap between prediction and actuality. Only one formula is used, so only the error signal need be transmitted, but is transmitted for each and every pixel. For data compression to occur the transmitted error signal must contain less data for each pixel than the full data, so some rapid changes must be approximated and contrasting fine detail is lost or homogenized, and resulting errors persist. In principle transmission errors may persist for ever and spread as the predictive formula leads to contamination of neighbouring pixels.
The predictive coding method is unsuitable for compressing broadcast television signals since acceptable picture quality is not possible by this method with significant bandwidth reduction, since minor transmission errors lead to unacceptable blemishes, and since reception depends on having access to previous-frame data viewing cannot commence mid-transmission.
By contrast, the invention described in this patent differs from the predictive coding method in that does not necessarily operate on a pixel-by-pixel basis, it relies on a sophisticated pattern recognition unit, it may transmit data corresponding to areas other than a single pixel, each pixel may be altered more than once, picture areas may be generated in a non-sequential fashion, a wide variety of formulae and methods are used by the pattern recognition unit some of which make no use of preceding data, base-fields periodically eliminate accumulated errors and some methods write entirely fresh data, and this invention allows reception to commence part-way through by means of "base" fields.
Existing Technique Number 5: Image Transmission System The Image Transmission System (as described in UK Patent Application GB-A-2209256) uses up to eight previous frame stores to transmit a 10 Mbit/sec equivalent signal via a 64 Kbit/sec telephone line for video conferencing purposes. The text refers to 288 lines 360 pixels wide and 10 frames a second, which is significantly less than broadcast standard television typically with 575 on-screen lines 768 pixels wide and 25 frames a second in the United Kingdom. In essence large parts of the current frame are generated by copying and moving small blocks of the eight preceding frames, requiring little more than the transmission of mapping data in the form of a three-dimensional matrix. The system reproduces a fair approximation of the original signal (as measured by Mean Absolute Error) rather than reproducing an exact copy.Rapid motion may defeat the encoder. Overall the system is suitable for the special circumstances surrounding video conferencing.
Despite reducing channel requirements from lOMbit/sec to 64Kbit/sec the system does not appear to have been used for broadcasting, and is described in the context of video conferencing, which suggests limitations. For error recovery the system depends on the decoder sending a signal back to the coder which revises its output accordingly, a system entirely unsuitable for broadcasting as few homes are equipped with the means to transmit a signal back to a terrestrial or satellite transmitter and a system which responds to thousands of viewers may have to transmit a massive amount of recovery data, possibly eliminating the original advantages as well as introducing unacceptable delays.
The system is also unsuitable for broadcasting as it depends on the start of reception being synchronised with the start of broadcasting. Unless this occurs the encoder will assume that all decoders contain the previous eight frames when some may contain none. Successful decoding depends on the uninterrupted decoding of frames or a two-way dialogue which does not tally with broadcasting where viewing is largely unsynchronised and often subject to "channel hopping".
By contrast, the invention described in this patent is based on entirely different concepts, and provides as an essential feature a method whereby viewing may commence in an uncoordinated fashion, does not require two-way communication, uses a preceding-field store in between "base" fields, utilises a sophisticated pattern recognition unit which uses a wide spectrum of methods to compress the data, and reproduces an exact copy of the original broadcast quality television signal.
Existing Technique Number 6: Digital Video System The Digital Video Signal Transmission System (as described in UK Patent Application GB-A-2134346) uses a microprocessor, partial prior frame memory and previous line memory to achieve bandwidth reduction by focussing on signal change and similarities between the current line and the previous line or the corresponding line in the previous frame store. It works strictly sequentially at input and output stages, and only operates on pixels and horizontal-scan line parts. Although it uses a microprocessor the scope is limited to correspondence with the previous line or the corresponding line in the previous frame, and changes within the line.
The system is unsuitable for broadcasting since even a simple repetitive image consisting of many identical changes cannot be greatly compressed, and no means exists for ensuring that the bandwidth requirement remains constant, so the worst case bandwidth must be assumed. No means is provided for the initialisation of the previous line store or previous frame store, so the start of reception must be co-ordinated with the start of transmission, which is contrary to current broadcasting practice and impractical.
By contrast, the invention described in this patent uses a sophisticated pattern recognition unit to operate in whatever manner works best within a field, may alter some pixels several times by overlaying detail, may operate non-sequentially, "base" fields enable reception to begin at any point and enable the maximum bandwidth to be controlled.
PRACTICAL REQUIREMENTS: For a data compression system to be suitable for broadcast television, the equipment for use with domestic receivers must be inexpensive yet the system must achieve a worthwhile level of data compression. Such a system must output a television signal shortly after it is switched on, and must not place overly noticeable restrictions on when viewing may commence.
Therefore a system is required which utilises the sequential patterns inherent in a series of related images in addition to other techniques in the compression process yet does not require viewers to switch receivers on at specified times or to avoid changing channels.
According to the present invention one television signal is processed by the application of digital compression techniques utilising the similarity of each television frame or field to the next, by means of a pattern recognition unit and supporting field-stores or frame-stores and other data.
The television signal is also processed by a wide variety of digital data compression techniques utilising the nonrandomness within each television field or frame. Sufficient information is transmitted for reception to commence virtually at any time without reference to preceding transmitted data.
The amounts of information which are included in the transmitted signal to enable reception to commence without reference to preceding transmitted data are varied. When a group of television signals are processed together some data is associated with more than one television signal.
Signals may be processed at transmission time or before.
Pre-processing a signal can enable techniques which are more effective but too slow for real-time use to be used.
EXAMPLE A specific embodiment of the invention will now be described in the sections up to and including the paragraph headed "Summary", the embodiment being described by way of example with reference to the accompanying schematic drawings in which: Figure 1 schematically indicates the functional units in a processing system which processes a single television signal prior to transmission; Figure 2 schematically indicates the functional units within a receiver end processor; Figure 3 schematically indicates the functional units in an processing system which processes three television signals prior to transmission; Figure 4 schematicelly indicates that the data content for an ordinary television signal which has not been processed consists entirely of pixel data;; Figure 5 schematically indicates the typical data content for a single television signal when processed for transmission as indicated in Figure 1; Figure 6 schematically indicates the typical data content where three television signals are processed together as indicated in Figure 3; Figure 7 schematically indicates the data content when three television signals are processed together as indicated in Figure 3 and one signal temporarily has an unusually large amount of data associated with it; and Figure 8 schematicelly indicates the data content when three television signals are processed together as indicated in Figure 3 and subsequent to one signal temporarily having an unusually large amount of data associated with it.
Comparative Figures For the purposes of this example it is assumed that: a television signal which has not been processed consists of three components < luminance and two colour components), that the luminance signal within one horizontal-scan line may be represented by 768 pixels each digitized into 8 binary digits, that the two colour components both have half the horizontal resolution of the luminance signal and can therefore be represented as 384 groups of 8 binary digits. It is therefore assumed that one horizontal-scan line which has not been processed can be digitized into 768x8 + 384x2x8 binary digits, a total of 12288 binary digits.For the purposes of providing comparative figures it will be assumed that a horizontal-scan line which has been digitized but has not been processed by other means has no other data associated with it such as error detection, line identification, or synchronisation. By contrast and for simplicity the signal compression equipment in this example uses three colour components each resolved to 768 pixels in each horizontal-scan line.
The numbers used in this example are for illustration only, and may differ in actual use and according to the format of the television signal in use. This invention is not restricted to any particular variety of television signal format.
Terminology Where examples of numbers represented as 8 binary digits are given each set of 8 binary digits is represented as a pair of hexadecimal digits in accordance with a common computing practice, other numbers being mostly represented in the normal decimal fashion as indicated by the text.
The term "colour" is used to refer a specific combination of values of the three colour components in a television signal rather than the hue or relative levels of the components.
The term "frame" refers to a complete set of horizontal-scan lines which form one complete television picture, and a "field" consists of alternate horizontal-scan lines within a frame, two successive fields forming a frame.
The term "pixel" refers to the smallest picture element in the system, a small portion of one horizontal-scan line.
For simplicity the example refers to comparisons between successive fields end successive horizontal-scan lines, however a practical system for use with an interlaced television signal may compare combinations of both successive frames and fields, and preceding horizontal-scan lines within both the frame and field.
General Description Referring to the schematic diagram Figure 1, each field of a television signal 1 is processed by means of altering a representation of the field so as to reduce the amount of data required for transmission. A single field of the television signal 1 is converted into a digital representation by the digitization unit 2. Each horizontal-scan line of the field is passed to a pattern recognition unit 3 which examines the digitized field for similarities to the preceding field as stored in the preceding-field store 4, and for patterns within the field. Where no pattern is recognised the data is not altered by the processing, and this may apply to a whole horizontal-scan line part of a horizontal-scan line or single pixels, and may be additional to processing which only generates some parts of the image accurately.
In this example the pattern recognition unit 3 largely operates on each horizontal-scan line in turn and is therefore optimised to detect patterns based on horizontal-scan lines.
The pattern recognition unit 3 is capable of recognising a range of patterns corresponding to instructions recognised by the pattern generation unit 15 located in receiver end equipment.
The pattern recognition unit 3 also carries out similar comparisons for parts of horizontal-scan lines, for example part of the horizontal-scan line may be a uniform colour or identical to another.
When the pattern recognition unit 3 recognises a pattern it determines whether the altered data can be transmitted in less data than the original data, and provided that this is the case the pattern recognition unit 3 outputs altered data consisting of an instruction and related data sufficient to reconstruct that part of the picture.
For example, processing might enable an entire horizontalscan line of a uniform colour to be represented as "03 0 12 34 56" where "03" is the instruction for a horizontal-scan line of uniform colour, two binary digits of value 0 select the "full data mode" from the four colour modes available, and "12 34 56" are the three eight binary digit numbers representing the specific colour components, giving 34 binary digits in all.
When the pattern recognition unit 3 recognises several patterns it uses the one which will require the least data to transmit. For example, the horizontal-scan line of uniform colour referred to above may consist entirely of a colour identical to "reference" colour "78" built into the receiver end processor unit as permanent reference data, for which only an instruction to look up data is required, enabling the horizontal-scan line to be transmitted as "03 2 78" comprising an eight binary digit instruction, a two binary digit number to select "8 binary digit reference colour mode", and the appropriate 8 binary digit colour reference number, this 18 binary digit number being nearly twice as compact as the instruction "03 0 12 34 56" detailed above.Equally the horizontal-scan line might be identical to the horizontal-scan line in the same position in the preceding field, enabling it to be transmitted as the single eight binary digit instruction "13" meaning "copy the same horizontal-scan line from the preceding field", which is even more compact.
When a field, horizontal-scan line, pixel or other partimage which has not been changed into a more compact form is output it is preceded by an instruction which indicates that the data has not been altered.
Conversion equipment 5 converts the processed data into a form suitable for transmission such as a UHF television signal, and the resulting signal is output 9 and transmitted in less bandwidth than the original digitized signal would require for transmission.
The signal is received and processed to generate a replica of the original television signal as shown in the schematic diagram Figure 2.
The transmitted signal 11 is received by a television receiver 12, digitized 13 and passed to the receiver end processor 14. The receiver end processor 14 receives data and uses this to generate a replica of the complete current field.
When the current field is complete it is output and copied to the preceding-field store 16 to enable the next set of references to the preceding field to take place. The receiver end processor consists of three field stores, other memory circuits for reference data, a pattern generator 15 and data path selection circuitry 19. Digital data is output to conversion equipment 23 which converts the signal format into an ordinary television signal which is output 24.
The pattern generator 15 uses available data to generate television picture elements which are output to the selection unit 19. The available data consists of data from the input signal 11 which has been received 12 and digitized 13, data from the preceding field 16, data from existing parts of the current field 17, permanent reference data 20 and temporary reference data 21. Typically'the pattern generator produces horizontal-scan lines one at a time.
The preceding-field store 16 stores data from the preceding field, all or part of which may be copied or modified for use in the current field. Storing the preceding field 16 enables the preceding field to be taken as a starting point for the process of image generation and is essential if data compression uses references to parts of the preceding field.
Typical references to the preceding field involve copying or modifying parts of the preceding field to generate the current field.
The current field store 17 stores as much of the field currently being generated as has been generated so far, or some parts of this. The current field store 17 is particularly useful when processing techniques do not generate a simple sequence of horizontal-scan lines and when the techniques operate through the application of more than one instruction and it is therefore necessary to pass data held in the current field store 17 to the pattern generator 15 for further processing before the horizontal-scan line can be output. The current field store 17 is also necessary when instructions to duplicate preceding parts of the current field are received.
The base field store 18 stores as much of the next "base" field as has been generated so far. The base field store 18 enables the "base" field to be built up gradually and is essential for reception to begin at any time during transmission.
Permanent reference data 20 is permanently built into the receiver end processor 14 and may be used as a basis for pattern generation. Primery colours and outlines of shapes such as circles ere particularly suitable for use as permanent reference data 20.
Temporary reference data 21 is transmitted as part of the signal and is typically only retained until the "base" field 18 which is being built up is used as the current field 17, this being a good point at which to refresh the temporary reference data 21. Colours and other data repeatedly used in the signal being processed are stored as temporary reference data 21 to reduce the overall amount of data transmitted. An example of the use of temporary reference data 21 is when the background of a scene consists of wallpaper with a regular pattern and one such a pattern is transmitted along with brief instructions to store it as temporary reference data 21 and then to duplicate it with local variations in size and darkness, resulting in a high level of data compression.
The use of data from the preceding field 16 enables the transmitted data to be particularly compact, as in broadcasting applications it is very often the case that each field is very similar to the preceding one except when the scene changes entirely. It is sometimes only necessary to transmit data sufficient to describe relative movement.
The selection unit 19 selectively passes picture elements generated by the pattern generator 15 to the current field store 17 or to the temporary reference data store 21 or to the base field store 18 as appropriate.
Instruct ions within the received signal instruct the pattern generator to generate picture data and other data from transmitted data and transmitted picture elements, stored data and stored picture elements, with particular emphasis on the use of stored picture elements contained in the preceding-field store 16. The resulting data may be used within the receiver end processor or output as a television signal, or both.
As described so far it is essential for the receiver end processor 14 to have been continuously processing the signal since transmission began due to constant references to the preceding field 16, thereby preventing viewers from changing channels or switching equipment off when not in use. To overcome this limitation once every second a "base" field is transmitted which has been processed for transmission without reference to previously transmitted data and which can be generated by equipment which holds no previously transmitted data.
Instructions and reference colours permanently built in to the receiver end processor as permanent reference data 20 may be used in processing "base" fields for transmission as these are always available for use by the receiver end processor 14.
The data content of "base" fields will usually be higher than for other processed fields, potentially resulting in an increase in the bandwidth required for transmission for the duration of the "base" field. It is therefore advantageous to transmit each "base" field in advance of its use. To achieve this without disrupting the other fields the "base" field is transmitted in parts with the other fields, and is built up in the base field store 18 of the receiver end processor 14 until the "base" field is complete and required for output.
In a system transmitting one "base" field a second and a total of fifty fields a second the "base" field can be transmitted in fifty parts. The system schematically shown in Figure 1 contains a delay unit 6, a base field store 7 and data selection unit 8 which facilitate the advance transmission of "base" fields in parts and ahead of subsequent fields. At the receiver end all fields other than "base" fields are generated and output without delay and these fields are therefore referred to as "current" fields. When processed for transmission all "current" fields are delayed by the delay unit 6, enabling parts of the "base" fields to be passed to the pattern recognition unit 3 ahead of the "current" fields. The data selection unit 8 controls whether the pattern recognition unit 3 receives data from the "base" field or the other fields.
The data selection unit 8 also prevents data from the "base" field being inappropriately passed to the preceding-field store 4.
Most of the time the transmitted data during each field period therefore relates to a complete "current" field and one fiftieth of the next "base" field, both processed for transmission as schematically indicated in Figure 5. Once a second the "current" field catches up with the "base" field, at which time these are indistinguishable, and the transmitted data therefore consists of the remaining data for the "base" field and nothing else.
Referring to the receiver end processor 14 schematically illustrated in Figure 2, the received parts of the "base" field are processed by the pattern generator 15 which generates picture elements of the "base" field from the available data.
The output of the pattern generator 15 is directed by the selection unit 19 to the base field store 18 where the "base" field is built up until it is complete and required for output.
When a suitable instruction is received the complete "base" field is output from the base field store 18 to the current field store 17, replaces whatever is in the preceding-field store 16 and is converted 23 into a television signal which is output 24.
The advance transmission of "base" fields in parts as described above makes it possible for viewing to commence at any time during transmission subject to a maximum delay of just under two seconds. The maximum delay between switching on the receiver end equipment and seeing the first field will occur when the receiver end processor 14 just misses the beginning of a "base" field being transmitted and has to wait until transmission of the next one begins before input signal processing may commence. The maximum delay may be reduced in some instances by transmitting the "base" field in autonomous parts rather than parts whose processing depends on comparisons with preceding parts of the same "base" field although this may reduce the level of data compression possible or may be restricted to fields which consist of distinct and separate sub-images.
Partial Field Stores The example given so far requires the use of three digital full-field stores in the receiver end processor 14. While this is simple to envisage this invention can function with a receiver end processor 14 which has three partial-field stores which store selected essential parts of the three fields rather than the three fields in their entirety.
In one implementation of this invention which uses partialfield stores the partial-field store for the preceding-field 16 only stores thirty selected horizontal-scan lines chosen for the ease with which the current field can be generated, the partial-field store for the "base" field 18 only stores sixty horizontal-scan lines plus sufficient instructions and associated data to generate the "base" field when required, and the partial-field store for the current field 17 only stores the thirty horizontal-scan lines which are subsequently passed to the preceding-field store 16 plus another thirty horizontal scan lines which are duplicated or manipulated within the current field. To operate in this fashion each horizontal scan line is output as soon as it is generated rather than the whole current field being generated and then output as a whole.
Instruction Set The following extensive list of instructions is referred to in this example. Each instruction is given in sufficient detail to illustrate the example. These instructions and associated data may be output by the transmitter end pattern recognition unit 3. The receiver end pattern generation unit responds to the instructions and associated data as described.
Although the list is lengthy it shows that it is practical to have a comprehensive instruction set and to achieve the data compression levels referred to in this example.
Instructions are 8 binary digits long hence hexadecimal values "00" to "FF" are possible1 and the operations that they instruct the receiver end equipment to carry out fall into the following broad groups: instruct ions OO-OF; full data / partial data, instructions 10-1F; preceding field, instructions 20-2F; copy, swop & interchange, instructions 30-3F; draw, instructions 40-4F; screen shifts, instructions 50-5F; windows / signal formats, instructions 60-6F; compress/expand/rotate/invert, instructions 70-7F; definitions/reset, and instructions 80-FF; spare instructions.
Most of these instructions require additional data notably pixel co-ordinates and colour component values, and in many cases the precise method of operation may be selected or modified by additional information such as the Extended Instruction Sets which are described after all of the instructions to avoid repetition. The amount of additional data or information may vary in accordance with pre-defined rules.
The x co-ordinate (horizontal co-ordinate) and y co-ordinate (vertical co-ordinate, also known as horizontal-scan line number) are each defined by 10 binary digits when required.
Directional shifts only use 8 binary digits and larger shifts must be specified as several smaller shifts. Directional shifts may be denoted as "dx" or "dy".
The meaning of individual instructions is indicated below, with an indication of additional data and modifiers following the initial part of each description.
Instructions 00-07: Full Data 00: Full data for whole screen; 24 binary digits of colour data for each pixel.
01: Whole Screen of one colour; colour mode data.
02: Full data for one horizontal-scan line; horizontal-scan line number, 24 binary digits of colour data for each pixel.
03: Whole horizontal-scan line of one colour; horizontal-scan line number, colour mode data.
04: Full data for one pixel; pixel co-ordinates, 24 binary digits of colour data.
05: Full data for consecutive pixels in a horizontal-scan line; start co-ordinates, number of pixels, 24 binary digits of colour data for each pixel.
06: Full data for a defined rectangle; start and end co-ordinates (x1,yl,x2,y2), 24 binary digits of colour data for each pixel.
07: Full data for independent pixels; number of pixels, co-ordinates and 24 binary digits of colour data for each pixel.
Instructions 08-OF: Partial data These are the same as instructions 00-07 but modified by the Extended Instruction Sets to give various data compression methods.
Instructions 10-lF: PRECEDING FIELD 10: Copy preceding field; (no data required).
11: Copy-Shift preceding field; shifted by dx-dy, wrap-select.
12: Copy-Distort preceding field; old area description, new base co-ordinate, scaling, rotation, inversion, curvature.
13: Copy same horizontal-scan line from the preceding field; (no data as the horizontal-scan line number is implied).
14: Copy series of horizontal-scan lines from preceding field; 4 binary digits specify a number of horizontal-scan lines between decimal values 0 and 15 inclusive (the first horizontal-scan line number is implied).
15: Copy any horizontal-scan line from preceding field; old and new horizontal-scan line numbers.
16: Copy multiple horizontal-scan lines from preceding field; number of horizontal-scan lines, pairs of old and new horizontal-scan line numbers.
17: Copy part horizontal-scan line from preceding field; old co-ordinates, new base x co-ordinate (x3).
18: Copy multiple part horizontal-scan lines from the preceding field; old co-ordinates (xl,yl,x2), new base x co-ordinate (x3).
19: Copy any rectangle from preceding field; old co-ordinates (x1,yi,x2,y2), new base co-ordinates (x3, y3).
1A: Copy any circle from preceding field: old circle description, new base co-ordinate (x3,y3).
1B: Copy an area from preceding field; old area description, new base co-ordinate (x3,y3).
1C: Copy pixel from preceding field; old co-ordinates (new co-ordinates the same).
1D: Copy any pixel from preceding field; old co-ordinates (x1,yl), new co-ordinates (x3,y3).
1E: Copy any pixel from preceding field to area; old co-ordinates (xl,yl), new area definition and base co-ordinates (x3, y3).
1F: Copy-distort area from preceding field; old area description, new base co-ordinates (x3,y3), scaling, rotation, inversion, curvature.
Instructions 20-2F: COPY, SWOP & INTERCHANGE: 20: Copy above horizontal-scan line within current field; (no data as horizontal-scan line numbers are implied).
21: Copy series of horizontal-scan lines within current field; first original horizontal-scan line number, number of horizontal-scan lines (0-15), and first new horizontal-scan line number.
22: Copy any horizontal-scan line within the current field; old and new horizontal-scan line numbers.
23: Consecutive Multiple Copies of any horizontal-scan line within the current field; old horizontal-scan line number, first new horizontal-scan line number, 4 bytes specify number of copies (0-15).
24: Copy part horizontal-scan line within the current field; old co-ordinates (xl,yl,x2), new base x co-ordinate (x3).
25: Copy rectangle within the current field; old co-ordinates (x1,yl,x2,y2), new base co-ordinates (x3, y3).
26: Copy an area within the current field; old area description, new base co-ordinate, scaling, rotation, inversion, curvature.
27: Copy any pixel to area; pixel co-ordinates, 1 binary digit selects whether copied from the current or preceding field, 2 binary digits select from four area types (horizontal-scan line, rectangle, triangle or circle), appropriate area definition data.
28: Swop pixels; both co-ordinates (xl,yl,x2,y2), 1 binary digit selects operation on all or some data, for some data 1 binary digit selects colour components or binary digits, and 3 or 24 binary digits as appropriate select the colour components or individual binary digits to be swopped.
29: Swop horizontal-scan lines; both horizontal-scan line numbers.
2A: Swop rectangles; co-ordinates of one rectangle (x1,y1,x2,y2), base co ordinate (x3,y3) of the other rectangle.
2B: Swop shapes; complex boundary definitions for the first shape, base co ordinates < x3,y3) of the second shape.
2C: Colour Component Interchange; 3 binary digits select which of the 5 available interchange methods is used (available methods are Red- > Green- > Blue- > Red, Red < -Green < -Blue < -Red, Red < - > Green, Red < - > Blue, and Green < - > Blue), value scaling, area description.
2D: Cross-Colour Component Operations; 3 binary digits select from 7 available methods (available methods are Add, Subtract, Total binary digits, Parity, OR, XOR, AND), 1 binary digit selects from individual colour component operation or complex operation, complex operation requires further parameters to define sources, combination methods and targets.
2E: Explode/Collapse Colour Values; 1 binary digit selects whether to treat colour components as a sequence or individually, and if selected this needs to be followed by sequence definition, 24 binary digits for the centre value, and 24+24 binary digits for the fractional explode/collapse ratio, otherwise 3 binary digits select which colour components are used, 8 binary digits per colour component give the centre values, and 8+8 binary digits per colour component detail the fractional explode/collapse ratio.
2F: Soft en/Sharpen Edges; 4 binary digits select the degree of softening/sharpening from 16 options, 4 binary digits select the radius taken into account giving values from 0 to 15 pixels either side.
Instruct ions 30-3F: DRAW: 30: Draw a General Straight Line; end points, thickness.
31: Draw a Triangle with Vertical and Horizontal Edges; vertices (x1,yl,x2,y2), fill method.
32: Draw a General Triangle; vertices (x1,yl, x2,y2,x3,y3), fill method.
33: Draw a Rectangle with Vertical and Horizontal Edges vertices (xl,yl,x2,y2), fill method.
34: Draw any Quadrangle; vertices (x1,yl,x2,y2,x3,y3,x4,y4), fill method.
35: Draw a Circle; circle parameters, fill method.
36: Draw Enclosure with up to 15 sides; curve and straight edge parameters, fill method.
37: Draw Arc (part circumference of a circle); curve parameters, arc centre co-ordinates, line thickness.
38: Draw Sector (solid angle of a circle to centre); curve parameters, centre co-ordinates, fill method.
39: Draw Segment (part circle circumference bounded by straight line); curve parameters, fill method.
3A: Full Screen Fourier Analysis; 4 binary digits detail accuracy and data volume, Extended Instruction Sets.
3B: Horizontal-Scan Line Fourier Analysis; horizontal-scan line no, 4 binary digit detail accuracy and data volume, Extended Instruction Sets.
3C: Fourier Analysis of Part of a Horizontal-Scan Line; select colour components, select 4 or 8 binary digit accuracy, Extended Instruction Sets.
3D: Binary Digit Shuffling (re-arrange sequence of binary digits); 24 binary digit source list specifies which binary digits are to be re-arranged, 5 binary digit number per source binary digit specifies new locations, 1 binary digit selects from same or different target and source areas, area definition for source, area definition for target if these are different areas.
3E: Binary Predictive Coding; based on a 5 by 5 matrix centred on the target pixel, operates separately on each binary digit, and each pixel within the matrix may be Ignored Added Subtracted ANDed ORed or XORed, output may depend on the result exceeding, equalling or being less than a specified Threshold or satisfying a Parity condition, and may be Inverted.
3F: Parametric Predictive Coding; based on a 5 by 5 matrix centred on the target pixel, operates on each colour component, each pixel within the matrix may be Ignored Added Subtracted or Scaled by a multiplier, and may be Inverted.
Instructions 40-4F: SCREEN SHIFTS: 40: Screen X Shift; 1 binary digit selects move left or right, 8 binary digits specify amount, wrap-select (any "uncovered area" is changed to the current colour slope), x stretch parameters.
41: Horizontal-Scan Line X Linear Shift; Horizontal-scan line number, 1 binary digit selects move left or right, 8 binary digits specify amount, (no wrapping - uncovered edge is changed to current colour slope).
42: Horizontal-Scan Line X Stretch Shift; Horizontal-scan line number, 1 binary digit selects move existing data left or right, 8 binary digits specify amount, x stretch parameters, (no wrapping, uncovered edge uses colour slope).
43: Area X Shift; 1 binary digit selects move data left or right, 8 binary digits specify amount, 2 binary digits specify stretch/compress method (options are None, Linear, Non linear, and Template), Linear is followed by x stretch parameters, Non-linear is followed by a series of numbers and the interpolation method, Template is followed by the reference Template number, area definition, wrap-select, if no wrapping is selected specify fill method otherwise specify whether wrapped within line or block.
44-47: Shift by Y; as instructions 40-43 except that the shift is vertical rather than horizontal.
48-4B: Shift by X and Y; as instructions 40-43 except that the shift is horizontal and vertical with independent parameters for the two directions.
4C-4F: Shift by X and Y; as instructions 40-43 except that the shift is horizontal and vertical with independent parameters for the two directions, with additional options of rotation, curvature, inversion, and value fade jri-out.
Instructions 50-5F: Windows / Signal Formats 50: Reset All Windows - Can Write Whole Screen; (no data).
51: Reset All Windows - Protect Whole Screen; (no data).
52: Reset A Window; 8 binary digit window number.
53: Context Boundaries; (define a window in terms of current data, window may store boundaries only or whole bounded areas), select window definition based on luminance or one colour component or weighted colour components or independent colour components, method based on data values or rate of data change, threshold may be one value or multiple values, boundary or area mode, 54: Define Rectangular Write Window; 8 binary digit window number, co-ordinates (x1,yl,x2,y2).
55: Define Rectangular Protect Window; 8 binary digit window number, co-ordinates (xl,yl,x2,y2).
56: Define Horizontal-Scan Line Write Window; 8 binary digit window number, horizontal-scan line number.
57: Define Horizontal-Scan Line Protect Window; 8 binary digit window number, horizontal-scan line number.
58: Define Area Write Window; 8 binary digit window number, area definition.
59: Define Area Protect Window; 8 binary digit window number, area definition.
5A: Check Sums; (receiver end equipment may use this to validate data) method, data extent.
5B: Data Format; (specifies which data system is in use, and which scrambling method is in use), 8 binary digits specify the data system ("00" means clear - no data compression system, "10" means the system detailed here), 8 binary digits specify the scrambling method ("00" means clear - no scrambling system).
5C; Odd or Even Field; 1 binary digit (optional for data integrity).
5D: Black-and-White or Colour in Area; 1 binary digit specifies black-and-white or colour, area definition, (overrides whole field instruction, has the effect of confining colour components to limited values within defined area).
5E: Black-and-White or Colour - Whole Field; 1 binary digit specifies black-and-white or colour.
5F: Signal Type; specify scan rate (options are 50, 60, 75, 1001 120, 150 fields per second), interlaced or non-interlaced, picture signal format (options include PAL, NTSC, SECAM, MAC), maximum screen size (16 binary digits for both co ordinates), colour component resolution (4 binary digits per colour component specify number of binary digits actually used).
Instructions 60-6F: COMPRESS, EXPAND, ROTATE or INVERT 60: Compress X-Axis; centre x co-ordinate, 8 binary digits specify compress factor, area definition.
61: Compress Y-Axis; centre y co-ordinate, 8 binary digits specify compress factor, area definition.
62: Compress XY-Axes; centre x and y co-ordinates, 8 and 8 binary digits specify x and y compress factors, area definition.
63: Simple Rotate; 3 binary digits select angle (options are 0, 45, 90, 135, 180, 225, 270, 315 degrees), area definition.
64: Expand X-axis; centre x co-ordinate, 8+8 binary digits specify expand factor, area definition.
65: Expand Y-axis; centre x co-ordinate, 8+8 binary digits specify expand factor, area definition.
63: Expand XY-axes; centre x and y co-ordinates, 8+8 and 8+8 binary digits specify expand factors, area definition.
67: General Rotation; 10 binary digits select angle, area definition, 1 binary digit specifies whether x co-ordinates correspond exactly to y co-ordinates, 8+8 binary digits specify optional x-to y scaling, curvature parameters, fill method, write method (options are Write, Sum, Subtract, Reverse-subtract, Add, AND, OR, XOR).
68: Invert Left-Right; area definition.
69: Invert Left-Right and Move; area definition, 1 binary digit specifies move left or right, 8 binary digits specify amount to move, fill method for uncovered area.
6A: Invert Top-Bottom; area definition.
6B: Invert Move Top-Bottom; area definition, 1 binary digit specifies move up or down, 8 binary digits specify amount to move, fill method for uncovered area.
6C: Invert Left-Right and Top-Bottom; area definition.
6D: Invert Left-Right and Top-Bottom and Move; area definition, 2 binary digits specify move left or right/up or down, 8 and 8 binary digits specify amounts to move, fill method for uncovered area.
6E: Fade In; 3 binary digits select fade method (options are Add, Subtract, Shift binary digits, Multiply/Divide, Non-linear scale), associated data, area definition.
6F: Fade Out; 3 binary digits select fade method (options are Add, Subtract, Shift binary digits, Multiply/Divide, Non-linear scale), associated data, area definition.
Instructions 70-7F: DEFINITIONS: 70: Set X Pixelation Scale; 10 binary digits specify apparent pixel size.
71: Set Y Pixelation Scale; 10 binary digits specify apparent pixel size.
72: Set X and Y Pixelation Scale; 10 and 10 binary digits specify apparent pixel size in both directions.
73: Define Colour Slope, Reference Pattern, Reference Shape or Reference Stretch Template; 2 binary digits specify colour slope, reference pattern, reference shape or reference stretch template, data associated with a colour slope is 8 binary digit identifier, colour slope type (options are gradual, mixed, linear, linear series, non-linear, copy another, amend, reset), defined Area (options are whole screen, current window, relative area, x co-ordinate range, y co-ordinate range, x and y co-ordinate range), selectable slope edge softening, other data defines reference pattern, reference shape, reference template.
74: Reset X & Y Pixelation Scales; (no data).
75: Define Reference Colour Number O; 24 binary digits specify three colour components.
76: Define Any Reference Colour; 8 binary digits identify the reference colour, 24 binary digits specify three colour components.
77: Release Field; 1 binary digit selects current or base field (releases data in appropriate field store for output, usually when data is complete).
78: Start Field; (no data).
79: End Field Data; (no data, prevents data corruption which may arise through spurious other instructions).
7A: Identify Base Field Data; (no data).
7B: End Base Field Data; (no data).
7C: Reset Base-Field Store; (no data).
7D: Reset Temporary Reference Data; (no data).
7E: Reset Preceding-Field Store (no data).
7F: Reset Current Field Store (no data).
Additional Data Formats The following data formats are common to a variety of the aforementioned instructions.
Area Description: Various instructions apply to areas, and these areas can be defined in different ways. 3 binary digits select from the following eight methods: O; full screen - no further data; 1; horizontal-scan line - horizontal-scan line number yl; 2; one pixel - co-ordinates (xl,yl); 3; simple rectangle - co-ordinates (xl,yl,x2,y2); 4; simple triangle, - co-ordinates (xl,yl,x2,y2); 5; general triangle, - co-ordinates (xi, yl, x2, y2, x3, y3); 6; curve form, - data as curve forms; 7; general polygon, - data consists of number of points, first co-ordinate (xl,yl), and series of points of these types point type 0 which signifies end of data, point type 1 for a straight line (co-ordinate data), point type 2 for an arc (arc data less 1st co-ordinate).
Base Co-Ordinate: Some shapes are defined by a source shape, and the target shape only need be located by one point, a "base point", other points in the target shape having relative locations.
Circle Parameters: Used to define filled circular areas such as complete circles or circles which are complete in so much as they are on screen, and includes ellipses.
Data consists of 1 binary digit to select exact or parametric data, radius and centre co-ordinates (exact data) or curvature parameters and co-ordinates of two end points (parametric data), degree of ellipticity, and angle of major ellipse axis.
Colour Mode; Colour data can be defined in a variety of ways. What is being defined may comprise all 24 binary digits for 3 colour components, or 8 or 16 binary digits for only one or two colour components.
Data consists of 3 binary digits to select from the following eight methods and data associated with the specified method, the associated data length depending on the number of relevant colour components: 0; colour remains as it is (in the current field), 1; use the "last colour" (a temporary reference value defined by various operations), 2; use specified colour data (8, 16 or 24 binary digits follow), 3; use a specified reference colour (8 binary digits follow), 4; use a specified reference colour slope (8 binary digits follow), 5; use a local reference colour slope (defined in data accompanying this instruction), 6; use data from the preceding field, and 7; use data from the above horizontal-scan line.
Curve Forms: Used in the definition of complex shapes and distortions. 2 binary digits select from the following four methods: 0; circle, uses circle parameters; 1; segment < bounded by centre and two perimeter points), uses curve parameters; 2; chord (bounded by curve and straight edge), uses curve parameters; 3; arc (curve with thickness), uses curve parameters and 8 binary digit line thickness.
Curve Parameters: Used for curves rather than circles, and uses the same parameters as circle parameters, except that end points are always defined.
Distortion Curvature: Mainly used in conjunction with shift operations, to define a distortion superimposed on the area being operated on. Takes the form of a series of displacements perpendicular to an axis, where the axis may be horizontal, vertical or at another angle.
Data consists of 2 binary digits to specify whether the axis is horizontal, vertical or at another angle, and in the latter case data to define the angle, 2 binary digits select from four possible curve-forms (the possibilities being a circle or ellipse, parabola, multiple-small-curves, and an itemisedlist), and associated data for the selected curve-form. An itemised distortion has specified values at points along the axis rather than conforming to a curve formula.
Fill Method: Mainly used when some form of shift operation has a mismatch in the area used for source data and the area covered by the shifted data.
3 binary digits select the fill method from the following eight methods: 0; data remains as it was originally (current field), 1; uniformly set equal to the "last colour" (a temporary reference value defined by various operations), 2; specified colour, 3; specified reference colour, 4; specified colour slope, 5; specified reference pattern, 6; interpolation of colour values to either side of the uncovered area", in horizontal or vertical slices as specified by 1 binary digit, and 7; interpolation of the colour values based on the whole perimeter of the "uncovered area".
Additional data follows for methods 2, 3, 4, 5 and 6.
Inversion: 2 binary digits specify whether left-right inversion is required and whether top-bottom inversion is required.
Rotation: 1 binary digit selects whether rotation is required or not, provided rotation is selected 1 binary digit selects whether simple or full angle specification is required. For simple specification 3 binary digits specify one of 0, 45, 90, 135, 180, 225, 270 or 315 degree rotation. For full angle specification 10 binary digits specify the rotation angle.
Scaling: Part of a field may have it's horizontal or vertical extent increased or decreased by scaling. 1 binary digit specifies whether it is increased or decreased. If increased 16 binary digits consisting of 8 for the integer part and 8 for the fractional part define the multiplier. If decreased then 8 binary digits specify a fractional number which is the multiplier. Different scaling factors may apply horizontally and vertically.
Value Scaling: A colour component may be scaled when, for example, 3 components are added together to give luminance, the 3 components having different weighting in the calculation of this. 1 binary digit specifies whether the colour component is scaled or is used unaltered, and if scaling is selected 8 binary digits specify a fractional number which is the scaling fact or.
Wrap-Select: 1 binary digit selects whether the edges are wrapped or not.
In general when an area is shifted part of the shifted area is outside the original area and part of the original area is uncovered. When wrapping is selected data which would otherwise have been outside the original area appears in the area which would otherwise be uncovered - in effect the excess to one side "wraps" around to the other side.
X Stretch Parameters and Y Stretch Parameters: 1 binary digit selects whether this is used or not, provided it is selected 1 binary digit selects stretch or compress, either 8+8 binary digits specify stretch factor or 8 binary digits specify the compress factor.
Extended Instruction Sets These modify the operation of the aforementioned instructions.
8 binary digits indicate which of the 7 available methods have been selected, and only appropriate data follows (an 8th option has not been defined). The amount of data associated with each method may vary according to further options though there is a degree of uniformity resulting in slight data redundancy. The available methods form Extended Instruction Sets #0 to &num;6.
Extended Instruction Set #0: COLOUR MODE; 3 binary digits indicate if all three colour components are altered or only selected colour components, 1 further binary digit indicates whether the selected colour components are independent or whether data is common to all three.
Extended Instruction Set #1: SCALING FACTORS; If data is common to two or three colour components then; 3 binary digits (one for each colour component) indicate whether they use the same data without modification, or whether a scaling factor is required; if appropriate; 2 8 binary digit numbers give relevant scaling factors.
Scaling relates to the first selected colour component.
Extended Instruction Set #2: DATA LENGTH; A 4 binary digit instruction indicates the data compression method for each independent colour component; O; all 8 binary digits are transmitted for direct use Set-up data; none.
1; only the top 4 binary digits are transmitted Set-up data; fixed value for the other 4 binary digits 2; only the lower 4 binary digits are transmitted Set-up data; fixed value for the other 4 binary digits 3; range of 4 binary digits: Set-up data; 8 binary digits for a base value.
4; compressed 4 binary digits Set-up data; 8 binary digits identify which of the 8 possible binary digits the 4 transmitted binary digits correspond to, 4 binary digits give fixed values for the other 4 binary digits.
5; different number of binary digits Set-up data; 3 binary digits say how many binary digits are used, 8 binary digits identify which of the 8 the possible binary digits the transmitted binary digits correspond to, 8 binary digits give fixed values for appropriate other binary digits.
6; binary digit mapping, with 1 binary digit per pixel to say whether data which has not been selected should be a reference colour or existing data.
Set-up data; 8 binary digit reference colour identifier.
7; binary digit mapping, with 1 binary digit per pixel to say whether data which has not been selected should be a reference colour or follow a colour slope.
Set-up data; 8 binary digit reference colour identifier or colour slope identifier.
8; 1 binary digit per pixel selects from 2 reference colours.
Set-up data; 2 8 binary digit reference colour identifiers.
9; 2 binary digit flag per pixel selects from 3 reference colours or existing data.
Set-up data; 3 8 binary digit reference colour identifiers.
A; 2 binary digit flag per pixel selects from 3 reference colours or colour slope.
Set-up data; 3 8 binary digit reference colour identifiers, and one 8 binary digit colour slope identifier.
B; 2 binary digit fleg per pixel selects from 4 reference colours.
Set-up data; 4 8 binary digit reference colour identifiers.
C; 4 binary digit flag per pixel selects from 15 reference colours or existing data.
Set-up data; 1 binary digit to states whether reference colours are temporary reference colours &num;1-&num;15 or whether at least some are selected from permanent reference data.
In the former case the values # 15 correspond directly to reference colour identifiers, otherwise 15 8 binary digit reference colour identifiers follow.
D; 4 binary digit flag per pixel selects from 15 reference colours or a colour slope.
Set-up data; 4 binary digit colour slope identifier, 1 binary digit states whether reference colours are temporary reference colours #1-#15 or whether at least some are selected from permanent reference data. In the former case the values &num;1-&num;15 correspond directly to reference colour identifiers, otherwise 15 8 binary digit reference colour identifiers follow.
E; 4 binary digit flag for 16 reference colours.
Set-up data; 1 binary digit states whether reference colours are temporary reference colours #0-#15 or whether at least some are selected from permanent reference data.
In the former case the values &num;01-&num;15 correspond directly to reference colour identifiers, otherwise 16 8 binary digit reference colour identifiers follow.
F; Trapdoor System; 3 binary digits per pixel and colour values vary about a centre value by between -3 and +3. In use the 8th possible value leads to a further 3 binary digits which instruct the system to jump to a value which is out of the immediate data range, as specified by a further 2 binary digits which follow the 3 binary digits - the "trapdoor" may be used differently on each occasion; O - "FULL"; full 8 binary digit data follows for current pixel 1 - "RESET"; set value to 00 2 - "SET"; set value to 255 3 - "MID"; set value to 127 Set-up data; none.
Extended Instruction Set &num;3; APPLICATION METHOD; 3 binary digits specifying how to apply the data to each pixel.
Set-up data; 3 binary digits whose values have the following meanings: 0; write data direct (default), 1; add to current value, 2; subtract from existing values, 3; subtract existing values from transmitted data, 4; logical OR, 5; logical Exclusive OR with current value, 6; logical AND with current value, 7; INVERT binary digit.
Extended Instruction Set &num;4; FOLLOW ON; 3 binary digit instruction indicating whether accumulative functions carry across from pixel to pixel, and where the first operand comes from.
Set-up data; 3 binary digits whose values have the following meanings: O; no follow-on; use data for the target pixel, 1; accumulative data is based on pixel to the left or the left edge if operating on the left edge, 2; accumulative data is based on pixel to the right or the right edge if operating on the right edge, 3; accumulative data is based on pixel in the horizontal-scan line above or the top horizontal-scan line if operating on the top horizontal-scan line, 4; accumulative data is based on pixel in the horizontal-scan line below or the bottom horizontal-scan line if operating on the bottom horizontal-scan line, 5; accumulative data is based on previous result, or "00" if no previous result or after reset, 6; spare instruction, 7; spare instruction.
Extended Instruction Set &num;5; BIT MAPPING; 1 binary digit indicates the presence or absence of data for each pixel or other picture area. These binary digits form a series which is followed by appropriate data in sequence. May be used independently of extended instruction set &num;2 < Data Length) in which case picture areas which have not been selected retain previous values.
Set-up data; 2 binary digits select the mapping method; 0; spare instruction, 1; binary digit map: the map binary digit indicates "no data" or "data" for each pixel or other area, 2; binary pyramid binary digit map - the map binary digit selects an area which contains 2 further binary digits down to the pixel level or required picture area, Additional set-up data; 8 binary digits for block size, 3; quadrantal pyramid binary digit map - the map binary digit selects an area which contains 4 further binary digits down to a smaller block size, and so on down to pixel level or required picture area, Additional set-up data; 8 binary digits for block size.
Extended Instruction Set &num;6; Operate On All Colours Like Example; 3 binary digits identify the pixel matching method, 1 binary digit specifies whether pixels which satisfy the criteria should be included or excluded from the operation, 24 binary digits flag relevant binary digits in colour components - binary digits equal to 0 here are ignored in match criteria, entire colour components set to 0 are disregarded, 24 binary digits specify parameters which must be matched for inclusion or exclusion, being three numeric values or a list or binary digits which must be matched.
The pixel matching methods are; O; all 24 binary digits must exactly match criteria 1; each relevant colour component must equal or exceed minimum value, 2; each relevant colour component must be less than maximum value, 3; ratio of red colour component to green and blue colour components must equal or exceed minimum values, 4; ratio of blue colour component to red and green colour components must equal or exceed minimum values, 5; ratio of green colour component to red and blue colour components must equal or exceed minimum values, 6; luminance must equal or exceed minimum value, 7; luminance must be less than maximum value.
Image Processing A detailed example of the processing and subsequent data compression of a television signal will now be given to illustrate the operation of this invention. A scene consists of sky at the top, a wheat field in the foreground and a person who walks across the scene. This scene is processed by means of the techniques described below.
A "base" field is built up as described below.
The top horizontal-scan line is uniformly sky blue, and is totally described in.29 binary digits by means of the instruction "03 yl 3 cc" consisting of 8 binary digits for the instruction "03" meaning "a horizontal-scan line of uniform specified reference colour", 10 binary digits identify a horizontal-scan line yl, 3 binary digits select colour mode 3 meaning "use a specified reference colour", and 8 binary digits specify the reference colour "cc". The reference colour data is stored in either the permanent reference data store 20 or the temporary reference data store 21 and is copied to the pattern generation unit 15.
The next five horizontal-scan lines are identical to the first horizontal-scan line and can be described by means of the instruction "23 yl y2 n" in 32 binary digits as follows: 8 binary digits for the instruction "23" meaning "consecutive multiple copies of any horizontal-scan line within the current field"; 10 binary digits specify which horizontal-scan line yl should be copied; 10 binary digits specify which horizontal-scan line y2 to start the repetition at; and 4 binary digits specify how many copies.
Note the use of only 4 binary digits to specify how many horizontal-scan lines as large numbers of horizontal-scan lines will only rarely be repeated exactly, which enables data to be kept to a minimum.
The next fifty horizontal-scan lines consist of complex cloud shapes using only four colours, one of which (brilliant white) is reference colour number "00" built into receiver end processor units. These fifty horizontal-scan lines can be described in 80020 binary digits by the following methods.
40 binary digits set up each of the 3 temporary reference colours by means of instructions "76 nn vv vv vv" consisting of 8 binary digits "76" for the instruction meaning "define a temporary reference colour", the details of which are stored in the temporary reference data store 21, 8 binary digits "nn" give the reference number, 24 binary digits "vv vv vv" detail the three colour components, thus requiring a total of 120 binary digits for the 3 reference colours.
Each of the fifty subsequent horizontal-scan line is described by means 1598 binary digits by means of instructions "OA yn 04 B rr rr rr rr 768x(2 binary digits)" consisting of 8 binary digit instruction "OA" meaning "Partial data for one horizontal-scan line", 10 binary digits "yn" to identify the horizontal-scan line, 8 binary digits identify which of the Extended Instruction Sets are in use - "04" means Extended Instruction Set &num;2 ("data length") only, 4 binary digits specify Data Length method "B" wherein 2 binary digits select from 4 reference colours, 4x8 binary digit numbers identify the relevant reference colours "rr" (3 of which were defined in the previous instruction), and 768X2 binary digits specify the reference colour to be used for each of 768 pixels; which amounts to 1598X50=79900 binary digits for fifty horizontal-scan lines.
The total data required to fully describe and transmit these fifty horizontal-scan lines is therefore (120 + 79900) binary digits amounting to 80020 binary digits, as stated above.
These fifty horizontal-scan lines can be described and transmitted in a more compact form by describing all horizontal-scan lines other than the first only in terms of differences from preceding horizontal-scan lines.
The first of these horizontal-scan lines differs considerably from the preceding horizontal-scan line and is therefore fully described in 120 + 1598 binary digits as described above.
For the remaining forty-nine horizontal-scan lines within this group an 8 binary digit instruction "20" instructs the receiver end processor to "Copy above horizontal-scan line within current field". Since the field in question is a "base" field this means passing a copy of the appropriate horizontal scan line from the base field store 18 to the pattern generation unit 15 and back via the selection unit 19 to the base field store 18 where the duplicate is stored as a new horizontal-scan line.This is followed by an instruction "OA yn 24 B rr rr rr rr 1 768x1 qqx(2 binary digits)" which informs the receiver end processor that a single binary digit for each pixel in the horizontal-scan line follows and that this is followed by 2 binary digits to identify a reference colour for only those pixels which differ from their counterparts in the preceding horizontal-scan line as identified by the corresponding binary digits being set equal to "1" rather than "0", thus; 8 binary digit instruction "OA" meaning "partial data for one horizontal-scan line", 10 binary digits identify the horizontal-scan line "yn", 8 binary digits specify which Extended Instruction Sets are in use thus "4" of "24" means Extended Instruction Set #2 ("data length"), and the "2" means Extended Instruction Set &num;;5 ("bit mapping"), 4 binary digits select Data Length method "B" wherein 2 binary digits select from 4 reference colours, 4x8 binary digit numbers identify the relevant reference colours "rr", 2 binary digits select "bit map" method "1" meaning simple "bit mapping" wherein each "map bit" corresponds directly to one pixel, 768 binary digits state whether amended data exists for each pixel, and variable number "qq" of groups of 2 binary digits specify the reference colour to be used for each relevant pixel; If on average 1/16th of each horizontal-scan line differs from the preceding one then 768/16 pixels amounting to 48 pixels differ from the preceding horizontal-scan line.Each of these forty-nine horizontal-scan lines can therefore be described and transmitted in 8 + (8 + 10 + 8 + 4+4x8 +1+768 + 48 > c2) = 935 binary digits.
The fifty horizontal-scan lines can therefore be described with (120 + 1598 + 49x935) binary digits, a total of 47533 binary digits.
These fifty horizontal-scan lines can be described and transmitted in a yet more compact form by using a variation on the "bit map", the quadrantal "bit map".
The first of these horizontal-scan lines is again fully described in 120 + 1598 binary digits as described above.
For horizontal-scan lines other than the first an 8 binary digit instruction "20" instructs the receiver end processor to "copy above horizontal-scan line within current field", and is followed by an instruction "OA yn 24 B rr rr rr rr 3 10 48x1 ssx4 rrx4 qqx(2 binary digits)" which is as above, except that the value "3" selects the quadrantal "bit map" mode and "10" defines a "mapping superblock size" of 16 pixels instead of individual pixels. 768 pixels form 48 "super-blocks" of 16 pixels, each "super-block" corresponding to 1 "super-map bit" the value of which indicates the presence or absence of any amended data within the "superblock". "ss" of the "super-map bits" are equal to 1 and in turn point to groups of 4 sub-blocks, and the "map bits" "rr" within these sub-blocks point to individual pixels, only "qq" pixels differing from the preceding horizontal-scan line.
As before, on average "qq" equates to 48 individual pixels.
In this instance these are unevenly distributed among 24 subblocks of 4 pixels so "rr"=24. Also in this instance the subblocks are unevenly distributed among 12 "super-blocks" of 16 pixels so "ss"=12.
Therefore the average amount of data associated with each horizontal-scan line is 8 + (8+10+8+4+4X8+2+8+48+12x4+24x4+48x2) = 368 binary digits.
The 50 horizontal-scan lines can therefore be described in (120 + 1598 + 49x368) = 19750 binary digits.
The quadrantal "bit map" is particularly effective when only a few pixels differ from the preceding horizontal-scan line, but in other circumstances other techniques are useful.
The fifty-six horizontal-scan lines described can therefore be compressed into a total of 19811 binary digits comprising the 29 + 32 + 19750 binary digits detailed above, giving an overall ratio of processed data to original data for these 56 horizontal-scan lines of 19811 to 56x12288 which is 19811 to 688128, better than 1 to 34.
Part of the function of the pattern recognition unit 3 is to find the most compact representation of an image as it will often be possible to use different methods to represent a given image. The most compact representation may be arrived at by means of a computer program which applies and compares different methods, or by purpose built electronics which carries out an equivalent function. How the most compact representation is arrived at is essentially a mathematical process, and as such is outside the scope of this patent. This patent is concerned with the overall system, rather than the mathematical method employed within one stage.
Similar techniques to those outlined above to describe the first fifty-six horizontal-scan lines can be used to describe the remainder of the field, which consists of a wheat field.
Should generating the wheat field require more than four colours then sixteen colours could be specified by setting the Extended Instruction Set &num;2 ("data length") equal to "E" in which case a maximum of 4 binary digits would be required for each pixel instead of the full data requirement for 24 binary digits.
In practice much of each horizontal-scan line will resemble the preceding horizontal-scan line, so further data compression is possible. Given that for some horizontal-scan lines 1 pixel in 4 differs from it s predecessor most horizontal-scan lines would be accurately described by the 8 binary digit instruction "20" to "Copy the above horizontal-scan line within current field" followed by the 8 binary digit instruction "OA" for "Partial data for one horizontal-scan line" and associated data, thus "20 OA 24 E 1 16xcc 1 768X1 nx4" where data is modified by the Extended Instruction Sets #2 ("data length") and *5 #5 ("bit mapping") whose respective binary values of "04" and "20" give the combined value "24", the 4 binary digit value "E" which means that 4 binary digits define one of 16 reference colours where data differs from existing data as defined by "bit mapping", the one binary digit "1" means that 8 binary digit identifiers for the 16 reference colours follow (rather than using 4 binary digit identifiers), the 16 blocks of eight binary digits "l6xcc" identify the sixteen reference colours to be used, the 2 binary digit value "1" selects simple "bit mapping" where 768 binary digits directly correspond to the 768 pixels in the horizontal-scan line, and a number "n" of these binary digits are set, each being associated with a further 4 binary digits to define the amended colour.
In this instance only one pixel in four differs from it s predecessor, so "n" has a value of 768/4 which equals 192, and the entire horizontal-scan line can be described in (8+8+8+4+1 + 16X8 + 1 + 768 + 192x4) = 1694 binary digits.
Wheat fields are not noted for rapid colour variations, so this example assumes that one horizontal-scan line in four is described in 1694 binary digits as described above, while three in four are described in 8 binary digits simply by copying the preceding horizontal-scan line plus an average of 5x52 binary digits which fully specify and over-write 5 pixels per horizontal-scan line by means of the instruction "04 yl xl cc cc cc", where "04" is the instruction for "full data for one pixel", "yl" and "xl" are both 10 binary digit co-ordinates and "cc cc cc" are the three colour components each requiring 8 binary digits.
The few exceptional pixels may be transmitted after the appropriate horizontal-scan line has been copied to form the basis of the next line if the exceptional colours do not persist, thereby eliminating the need to transmit "cleaning up data" by the use of out-of-sequence data.
Four horizontal scan lines can therefore be defined in 1694 + 3x(8 + 5x52) = 2498 binary digits, compared with 4x12288 equalling 49152 binary digits for data which has not been processed, a compression ratio of about 19 to 1.
These techniques and others are used to build up the whole "-base" field without reference to preceding data and as indicated above can give 20-fold compression despite the field being quite complex.
The compressed data corresponding to this "base" field is divided into 50 portions, all but one of which are appended to the preceding fields at the transmitter end by means of a signal delay 6 and digital combination of tie two resulting data sets in the pattern recognition unit 3, the start of each block of "base" field data being identified by instruction, "7A" and the end of it being identified by instruction "7B". The first portion should be preceded by an instruction "7C" to "reset base field store". This "base" field data is gradually built up in the receiver end base field store 18 until the final portion is transmitted on its own, completion of the "base" field being signalled by instruction "77" to "release field" followed by one binary digit to signify that it is the "base" field which is being released for use.
Viewing may therefore commence at this point, despite the receiver end preceding-field store 16 holding no pertinent information, subject only to a 1 second delay while the "base" field is transmitted in full.
The use of techniques which duplicate or modify the preceding field will now be described. In this example fields subsequent to the "base" field which has just been described are extremely similar to the "base" field and can therefore be described with much less data.
First, due to the high degree of similarity between fields in this context, the 8 binary digit instruction "10" instructs the pattern generator unit 15 to "copy preceding field" in it's entirety from the preceding-field store 16 to the current field store 17.
The wheat field in the background sways slightly with the wind such that the surface is moved slightly to one side by a nearly uniform amount, this being largely accomplished in 32 binary digits for each horizontal-scan line by means of a general purpose instruction to move an area to one side by variable amounts.The format of the instruction is "43 s dx 1 1 1 yl 1" where 8 binary digits specify the instruction "43" meaning "Area X Shift", 1 binary digit "s" selects left or right movement, 8 binary digits "dx" specify the amount by which the area is to be moved, 1 binary digit "1" selects "linear" x stretching 3 binary digits "1" select the horizontal-scan line area from the eight area types available, 10 binary digits "yl" identify the horizontal-scan line, and 1 binary digit "1" selects "wrapping" so that the portion of the horizontal-scan line which goes beyond one edge of the screen re-appears to the other side, In applications such as this where the horizontal-scan line has a repetitive structure it is useful for the horizontal-scan line to "wrap-around" as this can largely eliminate the need to transmit data describing something highly similar to the existing image.
The ratio of compressed to original data for one such horizontal-scan line is 32 binary digits to 12288 binary digits, which is a compression ratio of about 1 to 384.
A walker takes a second to walk across the picture, moving across an average of 2% of the screen in each field as there are 50 fields a second. The walker starts by covering up about an additional 2 of the original scenery field during each field until both the front and back of the walker are in the picture. After this 2% of the scenery is covered up at the front and 2% of the scenery is uncovered behind as the walker progresses during each field, until finally the walker starts to leave the picture uncovering about 2&commat;/. of of the scenery in each field.
In this example of motion the area uncovered behind the walker is broadly similar to the area covered up at the front, which is often the case even where the picture is more complex, failing this the area uncovered is often similar to the area further behind the moving object. The area uncovered can therefore be approximately described by copying the area covered up or another part of the picture, and then altering small details. When first appearing the walker appears as an entirely new image, but containing patterns such as areas of uniformly coloured clothing which enable the walker to be described with compressed data. As the walker moves the broad shape and colour will remain largely unaltered with only small variations due to relative motion such as swinging arms and motion of the head or rustling clothing, so the walker can be moved by means of small amounts of data for overall horizontal movement plus small amounts of data for changes to the walkers shape.
Therefore despite 2% or even 4% of each field being very different from the preceding one when compared pixel to pixel due to the person walking across the screen, it is only necessary to transmit data corresponding to much less than 2% of the original data for each field after the "base" field, resulting in compression ratios in excess of 50 to 1.
Supposing now that the sky darkens to one side. The process of selectively replacing the existing blue can be carried out with an overhead of 69 binary digits to define the required colour slope, plus and additional 81 binary digits for each horizontal-scan line affected.
First the instruction "73 0 nn O cl cl cl c2 c2 c2" defines a colour slope which is a simple graduation from one colour to another across the screen; 8 binary digits "73" meaning "define colour slope ...", 2 binary digits "0" select "colour slope" operation, 8 binary digits "nn" identify the colour slope, 3 binary digits "0" meaning "simple left-right slope", 24 binary digits "cl cl cl" define the left edge colour, and 24 binary digits "c2 c2 c2" define the right edge colour.
The instruction to apply. the colour slope to only the blue parts of the picture is "OA yl 48 1 1 1 mm mm mm vv vv vv" where; 8 binary digits "OA" select the instruction "partial data for one horizontal-scan line", 10 binary digits "yl" identify the horizontal-scan line, 8 binary digits "48" select Extended Instruction Sets &num;3 (Application Method) and &num;6 (Operate On Colours Like Example), 3 binary digits "1" select "add to existing data" operation method, 1 binary digit "1" selects "data inclusion" 3 binary digits "1" select "minimum value criteria", 24 binary digits "mm mm mm" define a numeric mask which filters out binary digits which are not required, 24 binary digits "vv vv vv" specify the minimum values that each colour component must have for the relevant pixel to be operated upon.
Using an incremental colour slope which adds to existing data, rather than over-writing existing values with the new value preserves any existing subtleties. Using the "Operate On Colours Like Example" Extended Instruction Set enables non-blue cloud, foreground and even the walker to be filtered out of the operation.
For 56 lines this task can be achieved in 69 + 56x81 = 4605 binary digits, compared with 56x12288 = 688128 binary digits in this many horizontal-scan lines, a compression ratio of about 1 to 149.
Next the camera pulls back slightly to take in a wider view.
This can be largely achieved in 244 binary digits as follows.
Instruction "62 xl yl cx cy" compresses the existing field, compression centring on horizontal and vertical axes "x1" and "yl" respectively, and the compression factor in each direction being specified by the 8 binary digit numbers "cx" and "cy", creating a gap surrounding the compressed field, this bordering gap being filled with original data which needs to be amended.
Two instructions "25 xl yl x2 y2 x3 y3" copy a rectangle from "xl,yl" to "x2,y2" comprising the left hand edge of the compressed field to the far left edge "x3,y3", and likewise copy another rectangle comprising the right hand edge to the far right edge, thus filling some of gaps created by compression.
Two instructions "21 yl n y2" copy groups of "n" horizontalscan lines from the top of the compressed field to the top of the full field, and from the bottom of compressed field to the bottom of the full field, thus filling the remaining gaps.
"yl" is a 10 binary digit number specifying the first horizontal-scan line to be copied. "n" is a 4 binary digit number which may have values between 0 and 15. "y2" is the first new horizontal-scan line. If more than 15 horizontalscan lines need to be copied at the top or bottom of the field the instruction "21 yl n dy" will be needed more than twice.
These five short instructions have compressed the field and generated a border which is a fair first approximation of the correct data. Additional data may be required to correct detail in the border, but the number of pixels which will need altering will be small compared to the overall amount of data.
For a short while the scene remains unchanged. Each field can be replicated with the single 8 binary digit instruction 'to10" which requires no additional data, and which copies the entire preceding field from the preceding field store 16 to the current field store 17.
Small changes can be accomplished by the instruction "07 nn nnx(xn yn cn cn cn]" which specifies details of a series of pixels, and where "07" is the instruction for "full data for independent pixel series", "nn" is an 8 binary digit number which specifies the number of pixels between 0 and 255, and data consisting of co-ordinates "xn" and "yn" and three colour components "cn cn cn" are associated with each pixel so specified. Each pixel requires the transmission of 44 binary digits and there is an overhead of 16 binary digits. One thousand changed pixels can therefore be transmitted as four blocks of amended pixels in a total of 1000x44 + 16x4 = 44064 binary digits as opposed to the 575x12288 = 7065600 binary digits required for a full frame consisting of 575 on screen lines, a comparative ratio of about 160 to 1.
At times when particularly high levels of compression are achieved there is effectively spare bandwidth capacity compared to the average requirement, and this surplus may be used to transmit a disproportionately large amount of the next "base" field in association with this field. Having a variable ratio of current to "base" field data within a fixed total thus enables some other "current" fields to use a relatively large amount of data without penalty by means of a corresponding reduction in the amount of "base" field data associated with the other "current" fields.
If a distant aeroplane crosses the sky approaching the camera as it does so it can be represented quite efficiently.
Assuming that the changing aircraft image is too complex to be broken into a few rectangles of uniform colour it can still be draw as a series of horizontal-scan line parts, using instructions such as "05 nn yy xl nnxEcn cn cunt", where "05" is the instruction for "full data for consecutive pixels in a horizontal-scan line", "nn" is the number of pixels to be specified within the particular horizontal-scan line, "yy xl" are co-ordinates which specify the location of the first pixel within the horizontal-scan line, and 24 binary digits "cn cn cn" specify the three colour components for each of the non pixels.Within a horizontal-scan line co-ordinates need only be given once, simplifications may be available through use of the Extended Instruction Set, the use of uniform colours, and shifting similar existing data. Thus even in the extreme of having to give full data for a changing picture area the data may be transmitted efficiently, hence the total transmitted data is a small fraction of that required for a full field without compression.
Suppose now that the camera pans to one side. This can be largely accomplished by these two sets of instructions; "11 dl dx d2 dy w" "26 3 xl yl x2 y2 x3 y3 Sc r in c".
The first instruction is the one for "Copy-Shift Previous Field" (move the whole screen horizontally > in direction "dl" (left or right) by "dx" pixels, direction "d2" (up or down) by "dy" pixels, and with wrap parameters "w". The second instruction is the one to "copy area with the current field", 3 binary digits specifying area type 3 which is a rectangle, two pairs of co-ordinates "xi yl x2 y2" define the existing rectangle, "x3 y3" define the base co-ordinate of the copied rectangle, 2 binary digits "sc" select no scaling in either direction, 1 binary digit "r" selects no rotation, 2 binary digits "in" select no inversion in either direction, and 1 binary digit "c" selects no distortion curvature. Thus the entire preceding field has been replicated shifted to one side and the gap created by shifting filled with a counter-shifted strip down one edge in only 92 binary digits, which is considerably less than the amount of data normally required for even one horizontal-scan line.
While simply duplicating the existing edge might not always re-create the entire original field perfectly it will do so with a high degree of accuracy. Sloping boundaries at the dupliceted edge can be well accommodated by introducing a vertical displacement, possibly using several instructions "26" with different vertical displacements In the rare circumstance when a full field height vertical edge enters the scene, in which case the new structure is likely to be comparatively simple and described in terms of rectangles in a small amount of data.
Due to these techniques and particularly due to the high degree of similarity between successive fields a compression ratio much in excess of 50 to 1 is achieved over one second.
Figure 4 schematically indicates that the data content for one field of an ordinary television signal which has not been processed consists entirely of pixel data, while Figure 5 indicates that the corresponding data content for one field period of a single television signal processed for transmission consists of processed data 51 relating to one field and data relating to the next "base" field 52 which is typically 1/50 of the "base" field in question.
Few television pictures consist of horizontal-scan lines of uniform colour or precise repetitions of the preceding horizontal-scan line, however it can be seen that the pattern recognition unit 3 has a wide variety of techniques at its disposal, yet still depends on the basic techniques of taking the all or part of the preceding field as an essential reference point, repetition of parts of the current field, and frequently transmitting "base" reference data to enable receiver end processing to begin part way through a transmission.
Advance Transmission Although these techniques can greatly reduce the amount of data required to transmit a television signal there may be variation in the amount of data required from field to field, and thus variation in the broadcast signal bandwidth if these techniques are applied directly. It is possible to reduce or eliminate the variation by transmitting some data ahead of the need for it. For example ten fields may be identical and nine can therefore be fully specified by an eight binary digit instruction "10" meaning "copy preceding field" while the eleventh field may be very different requiring 100000 binary digits of data for transmission even in a processed form.Much of the data may be transmitted during the ten identical fields and built up as the next "base" field in the base field store 18, thus reducing the peak signal size almost tenfold from 110000 binary digits to 10008 binary digits.
Advance transmission of some data can also facilitate receiver end processing techniques which would otherwise be too slow. Scheduling thus evens out the highs and lows of data content and permits the use of more effective but slower receiver end processing techniques.
Variable "Base" Field Content To further reduce variation in the amount of data transmitted during each field period the amount of the "base" field transmitted with each field preceding use of the "base" field may be varied from field to field provided that the entire "base" field has been transmitted when it is required for use. Depending on the application it may be acceptable to extend the period between "base" fields when there are particularly large amounts of data to transmit.
All the above mentioned techniques reduce the average amount of data and the maximum amount of data which needs to be transmitted at any time during transmission, thus reducing the bandwidth required to transmit a television signal.
Multiple Signals and Common Data When multiple television signals are transmitted in common additional techniques may be used to reduce average and peak bandwidth. Some reference data or other signal components may be required for more than one signal, enabling this to be transmitted once only as common data. This will be illustrated by example and with reference to Figures 3, 6, 7 and 8.
Figure 3 schematically illustrates the functional units and data paths required for processing of three television signals for combined transmission. Three separate television signals are input 31 and separately digitized 32. Patterns within each individual signal are recognised by three separate pattern recognition units 33, a common patterns recognition unit 34 spots patterns which occur in more than one signal, thereby outputting common data 35 as well as data relating to the three individual signals 36. An optimizing unit 37 ensures that where it is advantageous to use shared data this is done. In some cases it will not be advantageous to share data between signals due to processing overheads, while in other cases shared data is deleted from the individual signals.The shared data 38 and three revised individual data sets 39 contain data with minimal duplication and are combined by a combination unit 40 into one signal with sufficient header information for the data elements to be identified, and are output for transmission 41.
Figure 6 schematically indicates the resulting data content of the transmitted signal when three television signals are processed together as in Figure 3. The combined data consists of data 61 62 63 which is unique to each of the three individual signals, "base" field data 64 65 66 for each of the three individual signals, data 67 common to two or more signals, and a data header 68 which enables receiver end processor units to distinguish the various data types.
The simultaneous transmission of multiple signals enables scheduling techniques to operate between signals as well as within them. For example one signal may be changing slowly while another changes rapidly, the average of both signals having less variation than the extreme of the two. When ten signals are transmitted together the overall level of variation may be very small and a high degree of compression possible.
It is important for the variation to be minimised as in most broadcast applications the maximum possible signal size determines the bandwidth which must be allocated, even if the maximum possible bandwidth is only rarely fully utilized.
Figure 7 schematically indicates the data composition when one field of one of three television signals described above temporarily has a relatively high data content and data scheduling is used to minimise variation in the overall amount of data per field period. Two signals 71 73 are processed into the same amount of data as usual while the other 72 requires more data than usual. The overall signal size remains the same as in Figure 6 by means of deferring transmission of data which is not required for immediate use. In this case all three "base" field elements have been deferred. Common data 74 and header data 74 are required and are included in the signal as usual.
The data content of the field immediately after the field depicted in Figure 7 is schematically indicated in Figure 8.
Amounts of header data 81 and common data 82 are at typical levels. Data 84 for the signal which had a high data content previously now requires less data than usual as the scene has been set and now only changes slowly. The preceding field amounted to a scene change and used "base" field data so the next "base" field for this signal will be one second hence, giving the ordinary requirement for "base" field data 87 for this signal. The other two signals 83 85 are processed for transmission into typical amounts of data but are associated with double the usual amounts of "base" field data 86 88 due to some of this being deferred from the preceding combined field signal.
Summary Depending on the exact application this technology can enable ten television signals to be transmitted in the bandwidth required for a single television signal which has not been processed.

Claims (15)

What is claimed is:
1. A television signal processing apparatus which reduces the bandwidth required for transmission of a television signal by utilising the non-randomness and continuity inherent in the signal and which occasionally transmits sufficient information for reception to commence without reference to preceding data; wherein each field of a television signal is processed by a pattern recognition unit by various methods to produce a compressed signal; wherein the pattern recognition unit derives and outputs digital instructions and data which represent the field by means of examining the field for regularities patterns and correlations with the available-data, and may also derive and output temporary reference-data which aids processing and which remains available for use in fields up to but excluding the next base-field;; and wherein the available-data consists of processed parts of the current field data in a preceding-field store permanent reference-data and temporary reference-data; and wherein the pattern recognition unit employs any combination of various tests on a picture area and any part of the available-data, the various tests including - being identical/being sufficiently similar to require only a small difference-error signal/repetition/no variation /limited variation/linear variation - and these tests may be combined with various changes to the data, the various changes including - movement/compression/expansion/ distortion/rotation/signal-component interchange/signal value reversal/fixed-value addition or subtraction/fixed value multiplication or division/Fourier analysis - with emphasis on comparisons with the preceding horizontal-scan line in the same field and with the corresponding horizontal-scan line in the same preceding-field; and wherein the picture area under examination may be the entire field, a horizontal-scan line, part of a horizontal-scan line or any other part of the field;; and wherein the pattern recognition unit may process data more than once, outputs uncompressed data when compression is not possible, selects the more compact form when different forms are possible, and transmitted data may not directly correspond to individual pixels or the original sequence within a horizontal-scan line or field; and wherein a base-field is a field which is processed without reference to the preceding-field or preceding temporary reference-data thus enabling reception to begin, and a basefield will be accompanied by temporary reference-data produced during processing of the base-field; and wherein signal-timing is modified by transmitting data for each base-field in parts in association with data for fields which normally precede the base-field by delaying non base-field data, base-field data being stored in a base-field store until transmitted;; and where reception is facilitated by equipment which incorporates a pattern generator and base-field store, the pattern generator functioning in a manner complementary to the pattern recognition unit, received parts of the base-field being stored in the base-field store.
2. Apparatus according to claim 1 which operates on television picture frames instead of fields.
3. Apparatus according to claim 1 which operates on any mixture of television picture fields and frames instead of operating on fields only.
4. Apparatus according to claim 1, 2 or 3 which outputs a base-field or base-frame at regular intervals.
5. Apparatus according to claim 1, 2 or 3 which outputs a base-field or base-frame when the scene changes.
6. Apparatus according to claim 1, 2 or 3 which outputs a base-field or base-frame when a field or frame may be transmitted in less than a predetermined amount of data if processed without reference to preceding data.
7. Apparatus as claimed in any preceding claim which uses intra-signal data scheduling by appending differing amounts of the base-field or base-frame and temporary reference-data to non-base-fields or non-base-frames, wherein the amount of data appended is complementary to the amount of data in each nonbase-field or non-base-frame.
8. Apparatus as claimed in any preceding claim which outputs a combined signal consisting of more than one processed television signal, wherein each signal has a variable amount of data within en overall bandwidth limit.
9. Apparatus according to claim 8 wherein the combined signal only contains one copy of data which is common to more than one processed television signal.
10. Apparatus according to claim 8 which uses inter-signal data scheduling by appending differing amounts of the various sets of base-field or base-frame and temporary reference-data to the combined non-base-fields or non-base-frames wherein the overall amount of data appended is complementary to the overall amount of data in the combined non-base-fields or non-base-frames.
11. Apparatus according to claim 8 wherein the number of channels in the combined signal is variable and which uses an indexing system to describe the contents of each signal.
12. Apparatus according to claim 1, 2 or 3 which transmits and subsequently uses data for the base-field or base-frame in autonomous parts.
13. Apparatus according to claim 1, 2 or 3 which uses partial field or frame stores rather than full field or frame stores.
14. Apparatus substantially as described herein.
15. Apparatus substantially as described herein but lacking a preceding-field store in reception end equipment all references to the preceding-field store being replaced by references to the current field store.
GB9111462A 1990-05-30 1991-05-28 Reducing television bandwidth by data compression Expired - Fee Related GB2245797B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB9012037A GB9012037D0 (en) 1990-05-30 1990-05-30 Reducing television bandwidth by data compression

Publications (3)

Publication Number Publication Date
GB9111462D0 GB9111462D0 (en) 1991-07-17
GB2245797A true GB2245797A (en) 1992-01-08
GB2245797B GB2245797B (en) 1994-10-12

Family

ID=10676765

Family Applications (2)

Application Number Title Priority Date Filing Date
GB9012037A Pending GB9012037D0 (en) 1990-05-30 1990-05-30 Reducing television bandwidth by data compression
GB9111462A Expired - Fee Related GB2245797B (en) 1990-05-30 1991-05-28 Reducing television bandwidth by data compression

Family Applications Before (1)

Application Number Title Priority Date Filing Date
GB9012037A Pending GB9012037D0 (en) 1990-05-30 1990-05-30 Reducing television bandwidth by data compression

Country Status (1)

Country Link
GB (2) GB9012037D0 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0634872A2 (en) * 1993-07-12 1995-01-18 Sony Corporation Processing digital video data
WO1995034172A2 (en) * 1994-06-03 1995-12-14 Idt International Digital Technologies Deutschland Gmbh Apparatus and method for decoding video images
US5706367A (en) * 1993-07-12 1998-01-06 Sony Corporation Transmitter and receiver for separating a digital video signal into a background plane and a plurality of motion planes
GB2370479A (en) * 2000-09-28 2002-06-26 Roke Manor Research A method of compressing data packets
WO2013116906A1 (en) 2012-02-10 2013-08-15 Ibrahim Nahla Data, multimedia & video transmission updating system

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1130922A2 (en) * 1993-07-12 2001-09-05 Sony Corporation Processing digital video data
EP0634872A3 (en) * 1993-07-12 1995-07-19 Sony Corp Processing digital video data.
EP1051038A3 (en) * 1993-07-12 2005-05-11 Sony Corporation Processing digital video data
EP0634872A2 (en) * 1993-07-12 1995-01-18 Sony Corporation Processing digital video data
US5706367A (en) * 1993-07-12 1998-01-06 Sony Corporation Transmitter and receiver for separating a digital video signal into a background plane and a plurality of motion planes
EP1130922A3 (en) * 1993-07-12 2005-05-11 Sony Corporation Processing digital video data
EP1051038A2 (en) * 1993-07-12 2000-11-08 Sony Corporation Processing digital video data
WO1995034172A3 (en) * 1994-06-03 1996-05-23 Idt Deutschland Gmbh Apparatus and method for decoding video images
US6046773A (en) * 1994-06-03 2000-04-04 Idt International Digital Technologies Deutschland Gmbh Apparatus and method for decoding video images
WO1995034172A2 (en) * 1994-06-03 1995-12-14 Idt International Digital Technologies Deutschland Gmbh Apparatus and method for decoding video images
GB2370479A (en) * 2000-09-28 2002-06-26 Roke Manor Research A method of compressing data packets
GB2370479B (en) * 2000-09-28 2004-07-21 Roke Manor Research A method of processing data packets
AU2001293963B2 (en) * 2000-09-28 2006-11-30 Siemens Aktiengesellschaft A method of processing data packets
US8073973B2 (en) 2000-09-28 2011-12-06 Siemens Aktiengesellschaft Method of processing data packets
WO2013116906A1 (en) 2012-02-10 2013-08-15 Ibrahim Nahla Data, multimedia & video transmission updating system

Also Published As

Publication number Publication date
GB9012037D0 (en) 1990-07-18
GB9111462D0 (en) 1991-07-17
GB2245797B (en) 1994-10-12

Similar Documents

Publication Publication Date Title
US8416847B2 (en) Separate plane compression using plurality of compression methods including ZLN and ZLD methods
US8170095B2 (en) Faster image processing
US4597005A (en) Digital color photographic image video display system
US6483521B1 (en) Image composition method, image composition apparatus, and data recording media
JP2797959B2 (en) Multidimensional image compression / expansion method
EP0909096B1 (en) Picture encoder and picture decoder
EP0164825A2 (en) Apparatus for encoding image data
MXPA02010002A (en) Enhanced compression of gray level images.
WO1995033337A1 (en) A method for specifying a video window&#39;s boundary coordinates to partition a video signal and compress its components
GB2274754A (en) Compressing image data in accordance with block contrast
JP3189031B2 (en) Data rate conversion method and apparatus
JP3645922B2 (en) Image processing method and apparatus
KR100573527B1 (en) How to compress and restore graphic images
US5577134A (en) Method and apparatus for encoding a segmented image without loss of information
JP3462867B2 (en) Image compression method and apparatus, image compression program, and image processing apparatus
GB2245797A (en) Reducing television bandwidth by data compression
US5023720A (en) Single channel video push effect
JP2846809B2 (en) Raster format conversion circuit for high-definition television
US4918530A (en) Processing of video image signals
Whybray et al. Video coding—techniques, standards and applications
US5867143A (en) Digital image coding
JPH05153550A (en) Recorder and reproducing device for video signal
JPH01181280A (en) Coding system for picture signal
JP2810585B2 (en) Image encoding method and image decoding method
GB2291553A (en) Digital image compression system

Legal Events

Date Code Title Description
PCNP Patent ceased through non-payment of renewal fee

Effective date: 19970528