WO1996025010A2 - Video image colour encoding - Google Patents

Video image colour encoding Download PDF

Info

Publication number
WO1996025010A2
WO1996025010A2 PCT/IB1996/000062 IB9600062W WO9625010A2 WO 1996025010 A2 WO1996025010 A2 WO 1996025010A2 IB 9600062 W IB9600062 W IB 9600062W WO 9625010 A2 WO9625010 A2 WO 9625010A2
Authority
WO
WIPO (PCT)
Prior art keywords
colour
predominant
run
code
colours
Prior art date
Application number
PCT/IB1996/000062
Other languages
French (fr)
Other versions
WO1996025010A3 (en
Inventor
David Edward Penna
Asher John Hoskins
Original Assignee
Philips Electronics N.V.
Philips Norden Ab
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=26306435&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=WO1996025010(A2) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Priority claimed from GBGB9502172.1A external-priority patent/GB9502172D0/en
Priority to PL96316679A priority Critical patent/PL186340B1/en
Priority to AT96900402T priority patent/ATE191600T1/en
Priority to EP96900402A priority patent/EP0754393B1/en
Priority to AU43985/96A priority patent/AU695626B2/en
Priority to HU9602710A priority patent/HU228534B1/en
Priority to JP52410396A priority patent/JP3688297B2/en
Application filed by Philips Electronics N.V., Philips Norden Ab filed Critical Philips Electronics N.V.
Priority to DE69607529T priority patent/DE69607529T2/en
Priority to BR9605110A priority patent/BR9605110A/en
Priority to CA002187018A priority patent/CA2187018C/en
Publication of WO1996025010A2 publication Critical patent/WO1996025010A2/en
Publication of WO1996025010A3 publication Critical patent/WO1996025010A3/en
Priority to EA199700011A priority patent/EA000082B1/en
Priority to HK98114635A priority patent/HK1013385A1/en
Priority to GR20000401274T priority patent/GR3033579T3/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N11/00Colour television systems
    • H04N11/04Colour television systems using pulse code modulation
    • H04N11/042Codec means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/005Statistical coding, e.g. Huffman, run length coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/46Colour picture communication systems
    • H04N1/64Systems for the transmission or the storage of the colour picture signal; Details therefor, e.g. coding or decoding means therefor
    • H04N1/644Systems for the transmission or the storage of the colour picture signal; Details therefor, e.g. coding or decoding means therefor using a reduced set of representative colours, e.g. each representing a particular range in a colour space

Definitions

  • the present invention relates to the encoding and decoding of digital video image frames, and particularly to the coding of pixel colour values.
  • run length coding used for example as one of the coding modes in the Compact Disc interactive (CD-i) standard.
  • the technique allows sets of adjacent pixel values to be coded more compactly by specifying the colour once and then the count of the number (n) of identical pixels instead of repeating the colour code (n) times.
  • Further information about run length coding may be found in, for example, "Principles of Interactive Computer Graphics" by W M Newman and R F Sproul, International Student Edition, 1979, pp 287-289, pub McGraw-Hill, ISBN 0- 07-066455-2, and a brief summary of the relevant points will be given below with reference to prior art Figures 1 to 3 of the accompanying drawings.
  • run length coding is very efficient in terms of data compression for long runs, this efficiency is reduced for shorter runs and frames with a large number of short runs can be computationally expensive to encode.
  • a method of encoding pixel colour values for a digital video image frame in which each different colour within the image is assigned a colour value, where a predominant colour is identified for the image frame, and runs of at least two successive pixels of the predominant colour are encoded as a first code word indicating a run and a second code word indicating the run length, and wherein pixels having colours other than the predominant colour are encoded as codes containing at least the respective colour values.
  • video image encoding apparatus arranged to encode pixel colour values for a digital video image frame by assigning to each different colour within the image a respective colour value, wherein a predominant colour is identified for the image frame, the apparatus including means operable to identify runs of at least two successive pixels of the predominant colour and encode each such run as a first code word indicating a run and a second code word indicating the run length, and means operable to determine pixels having colours other than the predominant colour and encode these as codes containing at least the respective colour values.
  • a video image signal comprising encoded frames of pixel colour values, wherein runs of two or more successive pixels of a predetermined predominant colour for the frame are encoded in the form of a first code word indicating a run and a second code word indicating the run length, and pixels of colours other than the predetermined colour are encoded in the form of a code containing at least the respective colour value.
  • a storage medium (such as a compact or floppy disc) carrying such a video image signal is also provided, together with initialisation data including specification of the said predetermined predominant colour.
  • the invention additionally provides a video image display apparatus arranged to receive and decode signals such as described above, the said apparatus including at least one look-up table of pixel colours, including the predominant colour, for the digital video image frames addressed by the encoded pixel colour values, and means operable to generate for display runs of at least two successive pixels of the predominant colour as well as individually generated pixels having colours other than the predominant colour.
  • the predominant colour of the frame is run length coded.
  • the predominant colour it is not necessary to specify the colour code each time a run is specified.
  • the efficiency is improved as the likelihood of runs is generally highest. A particularly common situation will be that there will be many runs of short to medium length in the predominant colour with fewer such runs in other colours.
  • all runs of, for example, two or more pixels of the same colour might be run-length encoded to achieve high data compression but still without the requirement for at least the short to medium length runs (e.g 3 to 9 pixels) to contain a colour code where the run is of the predominant colour.
  • the first code word may suitably include a sub-code indicating one of a number of ranges of run lengths, with the second code word indicating a run length from within the range indicated. In this way, the length of the second code word can be kept shorter than would be the case if the absolute length were required to be specified.
  • a further code may be provided including specification of a colour value, wherein subsequent to the placing of the further code in a stream of pixel colour codes, the predominant colour specified for encoded runs is changed to the colour specified in the further code.
  • This further code is referred to as a CHANGE BACKGROUND code in the following description, and may comprise a first code word indicating a run and a sub-code indicating a change of predominant colour, and a second code word comprising the colour value for the new predominant colour.
  • the number of "control" codes is kept to a minimum, thus allowing a greater number of "free” codes to be assigned to colours.
  • runs of one or two pixels of the predominant colour may be respectively coded as one or two successive iterations of the colour value for the predominant colour, or unique short codes may be respectively assigned.
  • the code sequence for a frame may suitably commence with the further code specifying the initial predominant colour, that is to say instructing a change to the specified predominant colour to be used for all subsequent runs, even if unchanged from the previous frame.
  • a subset of the colours within the image may be identified as predominant colours, with colours (other than predominant) being assigned respective colour codes of a first length, predominant colours being assigned respective colour codes of a second length shorter than the first, and runs of one of the predominant colours being encoded as a first code word indicating a predominant colour run and a second code word indicating in separate sub ⁇ codes the run length and (shorter) colour code respectively.
  • Figure 1 represents a known colour code for a single pixel
  • Figure 2 represents a known colour code for a pixel run of length L
  • Figure 3 represents a sequence of pixel colour values converted to colour codes as in Figures 1 and 2;
  • Figure 4 is a table of code values according to a first embodiment of the invention.
  • Figure 5 is an alternative version of the table of Figure 4, representing a first alternative embodiment of the invention
  • Figures 6 and 7 are tables of code values for background and non- background pixels respectively, representing a further alternative embodiment of the invention.
  • Figure 8 is a block schematic diagram of a pixel code detector stage for a decoder apparatus; and Figures 9 to 1 3 are flow charts illustrating operation of the controller of Figure 8.
  • the first embodiment of the invention provides coding for the particular case where an image principally consists of one background colour with few instances of significant runs of any other colour value. In such circumstances it is preferred to run length code runs of pixels of the background colour but to individually colour code the pixels of other runs. This eliminates the need to indicate in the coded data stream which colour values in the coded stream represent run length coded material and which do not: in this way the initial bit setting of 0 or 1 (as with Figures 2 and 3) is not required. The technique also ensures that the run length coded data need only contain a count value; since one colour is specified as background, it is not necessary to specify a colour value for the run.
  • variable length code which may comprise variable length code words, to further optimise performance.
  • all the variable length codes are set to be an integer number of four-bit words (nibbles) long.
  • Each pixel colour value is defined in four bits. Conventionally, this would allow sixteen possible colours to be specified by the use of a colour look up table, although in this embodiment the number of different colours is limited to fifteen, for reasons explained below, in order to improve the operation of the coding scheme.
  • Colour codes 1 to 1 5 (expressed as nibble values 0001 to 1 1 1 ) are not compressed, but are simply added to the coded data stream without further compression.
  • the coding used to indicate background colour run lengths is shown in the table of Figure 4: the names given to the different codes (SHORT, MEDIUM etc) are merely illustrative and have no effect on the codes themselves.
  • the benefits of run length coding can clearly be seen from the longest code shown in Figure 4, that for a run of 303 background colour pixels which, rather than requiring a colour code nibble for each pixel, requires only 4 nibbles to define the run.
  • colour code 0 (binary 0000) is placed in the coded stream to indicate the start of a run coded sequence of colour 0, which is assumed to be the background colour. If the following four bit code is in the range 001 1 to 1 1 1 1 then the run (SHORT) is of a length between 3 and 1 5 pixels, with the binary coded number of the second nibble directly representing the length of the run. Where the second nibble is also code 0 (0000), the run (MEDIUM) is of a length between 1 7 and 31 pixels, with a third nibble specifying a value from 1 to 1 5 (binary 0001 to 1 1 1 1 ) to be added to 1 6 to give the run length.
  • the third nibble in the data stream has values between 0000 and 1 1 1 1 representing run lengths (LONG) between 32 and 47 pixels.
  • Huffman coding assigning the shortest codes to the most commonly specified run lengths
  • codes of 8-bits or more may be used where it is necessary to have a large range of available colours, and 2-bit codes may be used where very few colours are required.
  • the above-recited method may be modified as described below with reference to the table of Figure 5 to allow the background colour represented by the colour code 0000 to be changed dynamically. This would be useful where the background colour changed part way down an image or where there is a large area of some other colour where the advantage of run coding outweighed the overhead of changing the run coded colour.
  • Comparison of Figures 4 and 5 will show that the two schemes are virtually identical save in that the codes for runs of 4 pixels upwards of the original embodiment now respectively represent run lengths one pixel shorter.
  • This alternative embodiment allows a change in the general background colour of the image to be specified at a cost of 12 bits of data.
  • a temporary change to allow a long run of some non-background colour to be coded will cost 24 bits ( 12 to change to the non-background colour and
  • a second colour code (e.g 1 ) were assigned to the background colour
  • the single background pixel could be coded in a single nibble, as with the schemes of Figures 4 and 5, albeit at the expense of a reduction in available colour codes.
  • the particular saving for this scheme occurs with background runs of from three to nine pixels, each of which is encoded in a two nibble code.
  • the same run-length coding scheme is used as for non-background colours (shown in Figure 7), that is to say comprising the run code (code 0), a range code ( 1 100 or 1 101 for MEDIUM or LONG runs respectively) the run length (4-bits for MEDIUM, 8-bits for LONG) and the colour code.
  • runs of 1 to 3 pixels of non-background colour are simply coded as separate instances of the colour code.
  • Runs of from 4 to 7 pixels are coded as the run code (code 0) a run length code (4 to 7 indicated by respective binary values 1000 to 101 1 ) and the colour code
  • a further code is provided (0000 0000) to indicate the end of a block. Determination as to the start of a code will be handled at system level, such that the appearance of two consecutive nibbles of 0000 after the start of a code (as in the code for a run of 25 background pixels) will not be taken as indicating the end of a block.
  • the benefits arising from selection of a predominant or background colour may be extended to allow for a subset of predominant colours to be specified: in this way the repeated use of the CHANGE BACKGROUND code of the scheme of Figure 5 may be avoided.
  • the first word indicates a run of one of the predominant colours
  • the first half of the second word specifies the run length (0001 to 01 1 1 )
  • the second half of the second word comprises the 4-bit colour code.
  • the first bit of the second word is 0 in this arrangement: this allows other coding possibilities including a full range of colours (indicated by using 1 at the start of this word).
  • the above technique of subsets could be applied to a 4-bit scheme, although the range of available run lengths or colour codes would be greatly restricted.
  • the code detector for use in a decoder apparatus, may suitably be formed in hardware and have an arrangement as shown in Figure 8, where controller 20 controls the output nibble value (the colour code for each particular pixel) as well as an output clock signal, which clocks those nibble values.
  • controller 20 controls the output nibble value (the colour code for each particular pixel) as well as an output clock signal, which clocks those nibble values.
  • the controller requests input of a nibble on line 22 by sending a trigger signal on line 24.
  • This input nibble is supplied to the first input of a multiplexer 26 as well as to each of three comparator stages 28,30 and 32, the outputs of which are supplied to the controller 20.
  • the three comparators 28,30,32 respectively compare the input nibble with codes 0000, 0001 and 0010: if the output from comparator 28 is positive, that is to say the input nibble is code 0000, then the start of a run is indicated, in which case the controller sends a signal on select line 34 to the multiplexer 26 causing it to select, rather than the input nibble value, the colour code for the predominant (background) colour stored in register 36.
  • the next nibble will be called for (via line 24) and, if the outputs of any of comparators 28,30 or 32 are positive, this will indicate the run is within the ranges identified as MEDIUM, LONG, or LONGER respectively as identified in Figure 4. If the output of none of the comparators is positive, then the run is in the SHORT range, that is to say between three and fifteen pixels and the input nibble value is actually the duration of the run. This nibble value is clocked into an 8-bit counter 38 as the least significant nibble under control of a clock signal on line 40 from the controller 20.
  • the output clock signal on line 32 clocks the background colour value from register 36 on the output line 44 until such time as the nibble value has been counted out, when a zero detect signal from the counter is passed to the controller via line 46.
  • the following nibble (once called for) will be clocked into the counter 38 as the least significant nibble (in the case of positive output from comparators 28 or 30) and the following two nibbles will be read into the counter as respectively the most and least significant nibbles in the case of a positive output from comparator 32.
  • the most significant nibble is clocked into the counter under control of a further clock line 48 from the controller.
  • the nibble value is 0000 a run is indicated which is processed generally as shown in Figure 10.
  • the processing of a run starts at step 81 , with the triggering of the next input nibble and, at step 82, by setting the multiplexer 26 ( Figure 8) to output colour code 0000 from register 36.
  • the new input nibble is checked at steps 83, 84 and 85 to see whether it corresponds to one of the nibble 2 codes from Figure 4 representing a MEDIUM, LONG, or LONGER run as identified in that Figure. If the answer is "No" to all of these checks, then the run is in the range of three to fifteen pixels and the nibble value, loaded into the 8-bit counter, sets the value to be clocked.
  • the value 0000 from register 36 is clocked out 1 6 times, following which a new input nibble is triggered at step 92 which nibble is clocked into the 8-bit counter at step 93.
  • This least significant nibble value in counter 38 is then clocked out by countdown/zero detect loop (steps 94, 95 and 96) until the counter reaches zero, at which point the process returns to start A ( Figure 9) for the next input nibble.
  • the run is between 32 and 47 pixels which is handled as shown in Figure 12.
  • the handling of the LONG run in Figure 12 is substantially identical to that for the MEDIUM run of Figure 1 1 , save in that the colour code 0000 is clocked out 32 times at stage 101 prior to triggering and clocking into the counter of the next nibble value at steps 102 and 103. Again, the countdown loop of steps 104, 105 and 106 causes output of the additional clock values beyond 32 forming the total run length.
  • step 85 of Figure 10 Where the output of step 85 of Figure 10 is positive, that is to say the run is LONGER of length between 48 and 303 pixels, the run is handled as shown in Figure 13. In this case, the process starts by clocking out the value 0000 48 times at step 1 1 1 following which the next input nibble is triggered at step 1 12. Since, for a LONGER run, the run length beyond 48 pixels is specified as an 8-bit code, the nibble triggered at step 1 12 represents the most significant half of the 8-bit code and is clocked into the 8-bit counter as such under control of a signal from the controller on line 48 ( Figure 8).
  • nibble comprising the least significant half of the 8-bit code is clocked in as the least significant nibble into 8-bit counter 38.
  • the countdown loop formed by steps 1 16, 1 17 and 1 18 counts down the 8-bit value represented in the counter until this reaches zero at which point the process returns to start A of Figure 9.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Color Television Systems (AREA)
  • Image Processing (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Processing Of Color Television Signals (AREA)

Abstract

A method is described of encoding pixel colour values for a digital video image frame in which each different colour within the image is assigned a colour value. A predominant colour is identified for the image frame and, in a first embodiment, each pixel having a colour other than the predominant colour is separately coded as its respective colour value (0010 to 1111), with runs of three or more successive pixels of the predominant colour being run-length encoded. A further code (0000 0011 cccc), similar in arrangement to that indicating a run, is provided to allow a change in the specified predominant colour during the course of a frame. In a further embodiment, runs of all colours are run-length encoded but with a shorter coding scheme for runs of the predominant colour or, in a still further embodiment, a small range of predominant colours. A principle use for these coding schemes is to improve efficiency of coding for certain classes of image material.

Description

VIDEO IMAGE COLOUR ENCODING
The present invention relates to the encoding and decoding of digital video image frames, and particularly to the coding of pixel colour values.
A well known technique is run length coding, used for example as one of the coding modes in the Compact Disc interactive (CD-i) standard. The technique allows sets of adjacent pixel values to be coded more compactly by specifying the colour once and then the count of the number (n) of identical pixels instead of repeating the colour code (n) times. Further information about run length coding may be found in, for example, "Principles of Interactive Computer Graphics" by W M Newman and R F Sproul, International Student Edition, 1979, pp 287-289, pub McGraw-Hill, ISBN 0- 07-066455-2, and a brief summary of the relevant points will be given below with reference to prior art Figures 1 to 3 of the accompanying drawings.
Whilst run length coding is very efficient in terms of data compression for long runs, this efficiency is reduced for shorter runs and frames with a large number of short runs can be computationally expensive to encode.
Accordingly, it is an object of the present invention to provide a coding scheme which achieves at least a reasonable degree of compression without incurring large overheads due to complexity. In accordance with the present invention there is provided a method of encoding pixel colour values for a digital video image frame in which each different colour within the image is assigned a colour value, where a predominant colour is identified for the image frame, and runs of at least two successive pixels of the predominant colour are encoded as a first code word indicating a run and a second code word indicating the run length, and wherein pixels having colours other than the predominant colour are encoded as codes containing at least the respective colour values.
Also in accordance with the present invention there is provided video image encoding apparatus arranged to encode pixel colour values for a digital video image frame by assigning to each different colour within the image a respective colour value, wherein a predominant colour is identified for the image frame, the apparatus including means operable to identify runs of at least two successive pixels of the predominant colour and encode each such run as a first code word indicating a run and a second code word indicating the run length, and means operable to determine pixels having colours other than the predominant colour and encode these as codes containing at least the respective colour values.
Still further in accordance with the present invention there is provided a video image signal comprising encoded frames of pixel colour values, wherein runs of two or more successive pixels of a predetermined predominant colour for the frame are encoded in the form of a first code word indicating a run and a second code word indicating the run length, and pixels of colours other than the predetermined colour are encoded in the form of a code containing at least the respective colour value. A storage medium (such as a compact or floppy disc) carrying such a video image signal is also provided, together with initialisation data including specification of the said predetermined predominant colour.
The invention additionally provides a video image display apparatus arranged to receive and decode signals such as described above, the said apparatus including at least one look-up table of pixel colours, including the predominant colour, for the digital video image frames addressed by the encoded pixel colour values, and means operable to generate for display runs of at least two successive pixels of the predominant colour as well as individually generated pixels having colours other than the predominant colour. In a first embodiment of the invention, only the predominant colour of the frame is run length coded. Thus, for the predominant colour it is not necessary to specify the colour code each time a run is specified. Also, as the predominant colour, the efficiency is improved as the likelihood of runs is generally highest. A particularly common situation will be that there will be many runs of short to medium length in the predominant colour with fewer such runs in other colours. To achieve higher efficiency for this situation, all runs of, for example, two or more pixels of the same colour might be run-length encoded to achieve high data compression but still without the requirement for at least the short to medium length runs (e.g 3 to 9 pixels) to contain a colour code where the run is of the predominant colour.
The first code word may suitably include a sub-code indicating one of a number of ranges of run lengths, with the second code word indicating a run length from within the range indicated. In this way, the length of the second code word can be kept shorter than would be the case if the absolute length were required to be specified.
In order to allow for situations where the predominant colour changes within the frame (for example a "split-screen" with a different colour background in each part), a further code may be provided including specification of a colour value, wherein subsequent to the placing of the further code in a stream of pixel colour codes, the predominant colour specified for encoded runs is changed to the colour specified in the further code. This further code is referred to as a CHANGE BACKGROUND code in the following description, and may comprise a first code word indicating a run and a sub-code indicating a change of predominant colour, and a second code word comprising the colour value for the new predominant colour. By having the same sub-code in the first code word to indicate both a run and a change of predominant colour, with the difference being indicated by a specific sub-code of the first code word, the number of "control" codes is kept to a minimum, thus allowing a greater number of "free" codes to be assigned to colours.
To avoid the inefficiency associated with run-length coding of short runs, runs of one or two pixels of the predominant colour may be respectively coded as one or two successive iterations of the colour value for the predominant colour, or unique short codes may be respectively assigned.
To allow for the situation where the predominant colour changes between successive frames, the code sequence for a frame may suitably commence with the further code specifying the initial predominant colour, that is to say instructing a change to the specified predominant colour to be used for all subsequent runs, even if unchanged from the previous frame.
If it is the case that the predominant colour may change a number of times during the course of a frame, the change command may prove inefficient. Accordingly, in a still further embodiment of the present invention a subset of the colours within the image may be identified as predominant colours, with colours (other than predominant) being assigned respective colour codes of a first length, predominant colours being assigned respective colour codes of a second length shorter than the first, and runs of one of the predominant colours being encoded as a first code word indicating a predominant colour run and a second code word indicating in separate sub¬ codes the run length and (shorter) colour code respectively.
Preferred embodiments of the present invention will now be described, by way of example only, and with reference to the accompanying drawings in which:
Figure 1 represents a known colour code for a single pixel; Figure 2 represents a known colour code for a pixel run of length L; Figure 3 represents a sequence of pixel colour values converted to colour codes as in Figures 1 and 2;
Figure 4 is a table of code values according to a first embodiment of the invention;
Figure 5 is an alternative version of the table of Figure 4, representing a first alternative embodiment of the invention;
Figures 6 and 7 are tables of code values for background and non- background pixels respectively, representing a further alternative embodiment of the invention;
Figure 8 is a block schematic diagram of a pixel code detector stage for a decoder apparatus; and Figures 9 to 1 3 are flow charts illustrating operation of the controller of Figure 8.
By way of illustration, it will initially be useful to consider a conventional scheme for encoding pixel colour values, with reference to Figures 1 to 3. In the case where each pixel colour value occupies seven bits (Figure 1 ), as in the run length coding used for CD-i, the run specification (Figure 2) occupies two bytes. One byte contains the colour value C in seven of its bits and the other contains a count value L. For a run of more than two pixels length, the run length coded form will be more compact than separately coding each pixel of the run.
However, in this case coding a single pixel as a run of length one would be inefficient since this would occupy two bytes whereas the single colour pixel could be contained in one byte. The run length coding scheme used for CD-i therefore allows two adjacent pixels to be defined in both a repeated one byte code and a two byte run length sequence. The spare bit in the colour byte (the most significant bit) is used to indicate this difference. If a colour byte has its most significant bit set to zero then it is a single colour value as in Figure 1 while if the most significant bit is set to one then this byte is the start of a run specification and will be followed by a length byte as in Figure 2. These one and two byte codes are combined as required to produce a coded sequence, a selection of which is shown in Figure 3.
The first embodiment of the invention provides coding for the particular case where an image principally consists of one background colour with few instances of significant runs of any other colour value. In such circumstances it is preferred to run length code runs of pixels of the background colour but to individually colour code the pixels of other runs. This eliminates the need to indicate in the coded data stream which colour values in the coded stream represent run length coded material and which do not: in this way the initial bit setting of 0 or 1 (as with Figures 2 and 3) is not required. The technique also ensures that the run length coded data need only contain a count value; since one colour is specified as background, it is not necessary to specify a colour value for the run.
As will be described below, the method uses variable length code, which may comprise variable length code words, to further optimise performance. In the particular implementation to be described, all the variable length codes are set to be an integer number of four-bit words (nibbles) long.
Each pixel colour value is defined in four bits. Conventionally, this would allow sixteen possible colours to be specified by the use of a colour look up table, although in this embodiment the number of different colours is limited to fifteen, for reasons explained below, in order to improve the operation of the coding scheme.
Colour codes 1 to 1 5 (expressed as nibble values 0001 to 1 1 1 1 ) are not compressed, but are simply added to the coded data stream without further compression. The coding used to indicate background colour run lengths is shown in the table of Figure 4: the names given to the different codes (SHORT, MEDIUM etc) are merely illustrative and have no effect on the codes themselves. The benefits of run length coding can clearly be seen from the longest code shown in Figure 4, that for a run of 303 background colour pixels which, rather than requiring a colour code nibble for each pixel, requires only 4 nibbles to define the run.
For background runs of 3 or more pixels, colour code 0 (binary 0000) is placed in the coded stream to indicate the start of a run coded sequence of colour 0, which is assumed to be the background colour. If the following four bit code is in the range 001 1 to 1 1 1 1 then the run (SHORT) is of a length between 3 and 1 5 pixels, with the binary coded number of the second nibble directly representing the length of the run. Where the second nibble is also code 0 (0000), the run (MEDIUM) is of a length between 1 7 and 31 pixels, with a third nibble specifying a value from 1 to 1 5 (binary 0001 to 1 1 1 1 ) to be added to 1 6 to give the run length.
If, on the other hand, the second nibble of the sequence is 0001 , then the third nibble in the data stream has values between 0000 and 1 1 1 1 representing run lengths (LONG) between 32 and 47 pixels.
The final case (LONGER) is that the second nibble has value 0010, and the two following four bit nibbles are taken together as an eight bit value representing run lengths between 48 and 303. In order to allow a single pixel of background colour to be represented in a single four-bit nibble, without the following code being misconstrued as a run length, colour code 0001 is also taken to represent the background colour: this is the reason why only 1 5 colours can be represented in this scheme. Additionally, unless it directly follows colour code 0000 (as in the codes for 1 7, 32 or 49 pixel run lengths), code 0001 represents a single pixel of the background colour. As will be noted from Figure 4, there will never be more than two colour 0 codes (0000) in sequence: this enables the scheme to satisfy MPEG constraints, where a series of such codes is used to indicate a re-synchronisation. Since the coding arrangement described above only allows background colour runs of 3 or more pixels, a background colour run of length 2 (SINGLE + ) is represented by two consecutive colour values of 0001 . Also, a background colour run of a length 16 (SHORT + ) is provided as a coded run of length 1 5 followed by a single pixel coded 0001 . By the use of this second colour code for the predominant or background colour, expansion is avoided - that is to say a screen of N pixels will be coded in a maximum of N codes, and generally much fewer.
In an environment where code lengths are not constrained to be a multiple of four bits, Huffman coding (assigning the shortest codes to the most commonly specified run lengths) could give even more efficient compression. Codes of 8-bits or more may be used where it is necessary to have a large range of available colours, and 2-bit codes may be used where very few colours are required.
In an alternative embodiment, the above-recited method may be modified as described below with reference to the table of Figure 5 to allow the background colour represented by the colour code 0000 to be changed dynamically. This would be useful where the background colour changed part way down an image or where there is a large area of some other colour where the advantage of run coding outweighed the overhead of changing the run coded colour. Comparison of Figures 4 and 5 will show that the two schemes are virtually identical save in that the codes for runs of 4 pixels upwards of the original embodiment now respectively represent run lengths one pixel shorter. the original embodiment code for a 3 pixel run (0000 001 1 ) is now used as a CHANGE BACKGROUND code which indicates that the binary value (cccc) from 1 to 1 5 of the following nibble (0 is reserved to the general designation of the background) is the colour code for the new background colour. The new background will be used until the code 0000 001 1 0001 (change code
+ original background colour code) is received or a change to a third background colour is specified. Note that with a changed background, the code for a run of 1 5 pixels length will have the colour code for that new background as the third nibble.
This alternative embodiment allows a change in the general background colour of the image to be specified at a cost of 12 bits of data.
A temporary change to allow a long run of some non-background colour to be coded will cost 24 bits ( 12 to change to the non-background colour and
1 2 to switch back to the background colour again), which gives savings for runs of 9 or more pixels.
In a further alternative embodiment, all runs of colour values
(predominant/background or otherwise) may be run-length encoded, whilst still using the identification of a predominant colour to produce savings for the most common occurrence, that is to say relatively short runs of background colour pixels. The coding schemes for background and non- background runs are shown in Figures 6 and 7 respectively. In this scheme, colour codes 0 to 1 5 are available (indicated in Figure 7 as four-bit code cccc) with only code 0 reserved to the predominant colour. Since code 0 is also used to indicate the start of a run (of any colour) the code for a single background pixel (0000 1 1 1 1 ) is wasteful but necessary to avoid anomalies. If a second colour code (e.g 1 ) were assigned to the background colour, the single background pixel could be coded in a single nibble, as with the schemes of Figures 4 and 5, albeit at the expense of a reduction in available colour codes. As shown by Figure 6, the particular saving for this scheme occurs with background runs of from three to nine pixels, each of which is encoded in a two nibble code. For background runs of 10 pixels or more, the same run-length coding scheme is used as for non-background colours (shown in Figure 7), that is to say comprising the run code (code 0), a range code ( 1 100 or 1 101 for MEDIUM or LONG runs respectively) the run length (4-bits for MEDIUM, 8-bits for LONG) and the colour code.
As shown in Figure 7, runs of 1 to 3 pixels of non-background colour are simply coded as separate instances of the colour code. Runs of from 4 to 7 pixels are coded as the run code (code 0) a run length code (4 to 7 indicated by respective binary values 1000 to 101 1 ) and the colour code
(cccc). In similar manner to the SHORT + codes of the Figures 4 and 5 schemes, a run of eight non-background pixels is coded as a seven pixel run followed by a repetition of the colour code (i.e the code for a single pixel) .
As the coded pixel values will generally be sent or stored as blocks of values, a further code is provided (0000 0000) to indicate the end of a block. Determination as to the start of a code will be handled at system level, such that the appearance of two consecutive nibbles of 0000 after the start of a code (as in the code for a run of 25 background pixels) will not be taken as indicating the end of a block. In a still further alternative embodiment, the benefits arising from selection of a predominant or background colour may be extended to allow for a subset of predominant colours to be specified: in this way the repeated use of the CHANGE BACKGROUND code of the scheme of Figure 5 may be avoided. The specification of a subset has particular benefit where longer codes are used, for example an 8-bit scheme where 256 colour codes are available. With such a scheme, the 16 most commonly used colours are coded as 4-bit (rather than 8-bit) values. In this way runs of between 3 and 9 pixels may be coded in two 8-bit words as
0000 0000 0LLL cccc where the first word indicates a run of one of the predominant colours, the first half of the second word specifies the run length (0001 to 01 1 1 ) and the second half of the second word comprises the 4-bit colour code. It will be noted that the first bit of the second word is 0 in this arrangement: this allows other coding possibilities including a full range of colours (indicated by using 1 at the start of this word). As will be appreciated, whilst the benefits are greater for higher number bit schemes, the above technique of subsets could be applied to a 4-bit scheme, although the range of available run lengths or colour codes would be greatly restricted.
Turning now to apparatus for applying the above described schemes, encoding will generally be carried out by a suitably programmed microprocessor performing the functions of identification of the predominant colour, assignment of colour codes to pixels, and detecting single instances and runs of the predominant colour. Dedicated hardware may instead be provided but the flexibility of a reprogrammable system is preferred. Considering in detail the implementation of the scheme of Figure 4, the code detector, for use in a decoder apparatus, may suitably be formed in hardware and have an arrangement as shown in Figure 8, where controller 20 controls the output nibble value (the colour code for each particular pixel) as well as an output clock signal, which clocks those nibble values. The controller requests input of a nibble on line 22 by sending a trigger signal on line 24. This input nibble is supplied to the first input of a multiplexer 26 as well as to each of three comparator stages 28,30 and 32, the outputs of which are supplied to the controller 20. The three comparators 28,30,32 respectively compare the input nibble with codes 0000, 0001 and 0010: if the output from comparator 28 is positive, that is to say the input nibble is code 0000, then the start of a run is indicated, in which case the controller sends a signal on select line 34 to the multiplexer 26 causing it to select, rather than the input nibble value, the colour code for the predominant (background) colour stored in register 36.
Having determined that a run is commencing, the next nibble will be called for (via line 24) and, if the outputs of any of comparators 28,30 or 32 are positive, this will indicate the run is within the ranges identified as MEDIUM, LONG, or LONGER respectively as identified in Figure 4. If the output of none of the comparators is positive, then the run is in the SHORT range, that is to say between three and fifteen pixels and the input nibble value is actually the duration of the run. This nibble value is clocked into an 8-bit counter 38 as the least significant nibble under control of a clock signal on line 40 from the controller 20. As the counter 38 counts down the value represented by the nibble, the output clock signal on line 32 clocks the background colour value from register 36 on the output line 44 until such time as the nibble value has been counted out, when a zero detect signal from the counter is passed to the controller via line 46.
In the case where a run has been detected and the second nibble produces a positive output from one of comparators 28, 30 or 32, the following nibble (once called for) will be clocked into the counter 38 as the least significant nibble (in the case of positive output from comparators 28 or 30) and the following two nibbles will be read into the counter as respectively the most and least significant nibbles in the case of a positive output from comparator 32. Where two nibbles are clocked into the 8-bit counter 38, that is to say in the case of a LONGER run the most significant nibble is clocked into the counter under control of a further clock line 48 from the controller. The operations of the controller 20 of Figure 8 in determining whether the input code describes a run, and if so, how long it is, will now be described with reference to the flow charts of Figures 9 to 1 3. From a start point A (Figure 9) a new input nibble is triggered at 71 following which the output of the comparators is checked, at step 72, to see whether the nibble is code 0000. If not, the code accordingly represents the colour code (colour other than background) for a pixel and, at step 73, the multiplexer 26 (Figure 8) is set to output the input nibble value. At step 74, one clock signal for this nibble value is also output following which the procedure returns to start point A for the next input nibble.
Where, at step 72, the nibble value is 0000 a run is indicated which is processed generally as shown in Figure 10. The processing of a run starts at step 81 , with the triggering of the next input nibble and, at step 82, by setting the multiplexer 26 (Figure 8) to output colour code 0000 from register 36. Following this, the new input nibble is checked at steps 83, 84 and 85 to see whether it corresponds to one of the nibble 2 codes from Figure 4 representing a MEDIUM, LONG, or LONGER run as identified in that Figure. If the answer is "No" to all of these checks, then the run is in the range of three to fifteen pixels and the nibble value, loaded into the 8-bit counter, sets the value to be clocked. The repeated outputting of clock signals for the colour code 0000 is handled by loop stages 87, 88 and 89 which repeatedly decrement the clock value and check for zero whilst outputting the clock signal until such time as the counter reaches zero at which point the process returns to start A (Figure 9) for the next input nibble value. Where any of the stages 83, 84 or 85 of Figure 10 answers "Yes", a run in the range of 1 7 to 303 pixels is specified. Where it is the output from stage 83 which is "Yes" (the second nibble value is 0000), the run is in the range of 1 7 to 31 pixels and is handled as shown in Figure 1 1 . Initially, at stage 91 , the value 0000 from register 36 is clocked out 1 6 times, following which a new input nibble is triggered at step 92 which nibble is clocked into the 8-bit counter at step 93. This least significant nibble value in counter 38 is then clocked out by countdown/zero detect loop (steps 94, 95 and 96) until the counter reaches zero, at which point the process returns to start A (Figure 9) for the next input nibble.
Where the nibble 2 value is detected as 0001 , at step 84 of Figure 10, the run is between 32 and 47 pixels which is handled as shown in Figure 12. The handling of the LONG run in Figure 12 is substantially identical to that for the MEDIUM run of Figure 1 1 , save in that the colour code 0000 is clocked out 32 times at stage 101 prior to triggering and clocking into the counter of the next nibble value at steps 102 and 103. Again, the countdown loop of steps 104, 105 and 106 causes output of the additional clock values beyond 32 forming the total run length.
Where the output of step 85 of Figure 10 is positive, that is to say the run is LONGER of length between 48 and 303 pixels, the run is handled as shown in Figure 13. In this case, the process starts by clocking out the value 0000 48 times at step 1 1 1 following which the next input nibble is triggered at step 1 12. Since, for a LONGER run, the run length beyond 48 pixels is specified as an 8-bit code, the nibble triggered at step 1 12 represents the most significant half of the 8-bit code and is clocked into the 8-bit counter as such under control of a signal from the controller on line 48 (Figure 8). Following this the next nibble is triggered at step 1 14 which nibble, comprising the least significant half of the 8-bit code is clocked in as the least significant nibble into 8-bit counter 38. Finally, the countdown loop formed by steps 1 16, 1 17 and 1 18 counts down the 8-bit value represented in the counter until this reaches zero at which point the process returns to start A of Figure 9.
Whilst not shown in Figure 8, it will be appreciated that, where a change of background is permitted (as with the table of Figure 5) the contents of register 36 may be modified under control of the controller 20 to contain the newly selected background colour value rather than 0000. In addition, the number of times this value is initially clocked out for a run, at steps 91 , 101 and 1 1 1 of Figures 1 1 , 12 and 13 respectively, will be 1 5, 31 and 47 rather than 1 6, 32 and 48 as previously described.
In order to effect the coding scheme of Figures 6 and 7, the modifications to the apparatus of Figure 8 will be generally apparent to the skilled reader and will not be discussed in detail. It will be understood that the comparison stages 28,30,32 will need to be configured to check for the particular code words used, and that register 36 will have provision for receiving, storing and outputting (under control of controller 26) colour values other than the background colour value during runs of the non-background colours. Similar considerations apply to the embodiment supporting subsets of predominant colours.
From reading the present disclosure, other modifications will be apparent to persons skilled in the art. Such modifications may involve other features which are already known in the field of video signal encoding systems and devices and component parts thereof and which may be used instead of or in addition to features already described herein. Although claims have been formulated in this application to particular combinations of features, it should be understood that the scope of the disclosure of the present invention also includes any novel feature or any novel combination of features disclosed herein either explicitly or implicitly or any generalisation thereof, whether or not it relates to the same invention as presently claimed in any claim and whether or not it mitigates any or all of the same technical problems as does the present invention. The applicants hereby give notice that new claims may be formulated to such features and/or combinations of features during the prosecution of the present application or of any further application derived therefrom.

Claims

1 . A method of encoding pixel colour values for a digital video image frame in which each different colour within the image is assigned a colour value, wherein a predominant colour is identified for the image frame, and runs of at least two successive pixels of the predominant colour are encoded as a first code word indicating a run and a second code word indicating the run length, and wherein pixels having colours other than the predominant colour are encoded as codes containing at least the respective colour values.
2. A method as claimed in Claim 1 , wherein each pixel having a colour other than the predominant colour is separately coded as its respective colour value only.
3. A method as claimed in Claim 1 , wherein runs of two or more successive pixels of a colour other than the predominant colour are encoded together as a first code word indicating a run, a second code word indicating the run length and a third code word indicating the colour value.
4. A method as claimed in Claim 1 , wherein the first code word includes a sub-code indicating one of a number of ranges of run lengths and the second code word indicates a run length from within the range indicated.
5. A method as claimed in any of Claims 1 to 4, in which a further code is provided including specification of a colour value, wherein subsequent to the placing of the further code in a stream of pixel colour codes, the predominant colour specified for encoded runs is changed to the colour specified in the further code.
A method as claimed in Claim 5, wherein the further code comprises a first code word indicating a run and a sub-code indicating a change of predominant colour, and a second code word comprising the colour value for the new predominant colour.
7. A method as claimed in Claim 1 , wherein runs of one or two pixels of the predominant colour are respectively coded as one or two successive iterations of the colour value for the predominant colour.
8. A method as claimed in Claim 5, wherein the code sequence for a frame commences with the further code specifying the initial predominant colour.
9. A method as claimed in Claim 1 , in which a subset of the colours within the image are identified as predominant colours, colours other than predominant colours are assigned respective ones of a first range of colour value codes of a first length, the predominant colours are assigned respective ones of a second range of colour value codes of a second length shorter than the first length, and a run of at least two pixels of one of the predominant colours is encoded as a first code word indicating a predominant colour run and a second code word indicating in separate sub-codes the run length and colour value code respectively.
10. A method as claimed in Claim 1 wherein the second code word precedes the first code word in the code for a run.
1 1 . Video image encoding apparatus arranged to encode pixel colour values for a digital video image frame by assigning to each different colour within the image a respective colour value, wherein a predominant colour is identified for the image frame, the apparatus including means operable to identify runs of at least two successive pixels of the predominant colour and encode each such run as a first code word indicating a run and a second code word indicating the run length, and means operable to determine pixels having colours other than the predominant colour and encode these as codes containing at least the respective colour values.
12. A video image signal comprising encoded frames of pixel colour values, wherein runs of two or more successive pixels of a predetermined predominant colour for the frame are encoded in the form of a first code word indicating a run and a second code word indicating the run length, and pixels of colours other than the predetermined colour are encoded in the form of a code containing at least the respective colour value.
1 3. A storage medium carrying a video image signal as claimed in Claim 12, together with initialisation data including specification of the said predetermined predominant colour.
14. Video image display apparatus arranged to receive and decode the signal of Claim 1 2, said apparatus including at least one look-up table of pixel colours, including the predominant colour, for the digital video image frames addressed by the encoded pixel colour values, and means operable to generate for display runs of at least two successive pixels of the predominant colour as well as individually generated pixels having colours other than the predominant colour.
PCT/IB1996/000062 1995-02-03 1996-01-26 Video image colour encoding WO1996025010A2 (en)

Priority Applications (12)

Application Number Priority Date Filing Date Title
BR9605110A BR9605110A (en) 1995-02-03 1996-01-26 Process of encoding pixel color values for a digital video image frame apparatus for video image encoding and displaying video image signal and storage media
CA002187018A CA2187018C (en) 1995-02-03 1996-01-26 Video image colour encoding
DE69607529T DE69607529T2 (en) 1995-02-03 1996-01-26 CODING VIDEO COLOR IMAGES
EP96900402A EP0754393B1 (en) 1995-02-03 1996-01-26 Video image colour encoding
AU43985/96A AU695626B2 (en) 1995-02-03 1996-01-26 Video image colour encoding
HU9602710A HU228534B1 (en) 1995-02-03 1996-01-26 Method and apparatus for encoding pixel colour values of digital video images
JP52410396A JP3688297B2 (en) 1995-02-03 1996-01-26 Video image color encoding
PL96316679A PL186340B1 (en) 1995-02-03 1996-01-26 Method of encoding colour image video signals
AT96900402T ATE191600T1 (en) 1995-02-03 1996-01-26 CODING OF VIDEO COLOR IMAGES
EA199700011A EA000082B1 (en) 1995-02-03 1997-01-26 Video image colour encoding
HK98114635A HK1013385A1 (en) 1995-02-03 1998-12-22 Video image colour encoding
GR20000401274T GR3033579T3 (en) 1995-02-03 2000-05-31 Video image colour encoding

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
GB9502172.1 1995-02-03
GBGB9502172.1A GB9502172D0 (en) 1995-02-03 1995-02-03 Video image encoding
GBGB9503063.1A GB9503063D0 (en) 1995-02-03 1995-02-16 Video image colour encoding
GB9503063.1 1995-02-16

Publications (2)

Publication Number Publication Date
WO1996025010A2 true WO1996025010A2 (en) 1996-08-15
WO1996025010A3 WO1996025010A3 (en) 1996-10-10

Family

ID=26306435

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IB1996/000062 WO1996025010A2 (en) 1995-02-03 1996-01-26 Video image colour encoding

Country Status (23)

Country Link
US (1) US6301389B1 (en)
EP (1) EP0754393B1 (en)
JP (1) JP3688297B2 (en)
CN (1) CN1181694C (en)
AR (1) AR001077A1 (en)
AT (1) ATE191600T1 (en)
AU (1) AU695626B2 (en)
BR (1) BR9605110A (en)
CA (1) CA2187018C (en)
CZ (1) CZ289508B6 (en)
DE (1) DE69607529T2 (en)
EA (1) EA000082B1 (en)
ES (1) ES2145991T3 (en)
GR (1) GR3033579T3 (en)
HK (1) HK1013385A1 (en)
HU (1) HU228534B1 (en)
IL (1) IL117028A (en)
IN (1) IN187262B (en)
MY (1) MY115792A (en)
PL (1) PL186340B1 (en)
PT (1) PT754393E (en)
TR (1) TR199600787T1 (en)
WO (1) WO1996025010A2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999050819A2 (en) * 1998-03-31 1999-10-07 Koninklijke Philips Electronics N.V. Pixel colour value encoding and decoding
EP1587299A3 (en) * 2004-04-13 2009-04-08 Lg Electronics Inc. Compressing and decompressing image of a mobile communication terminal
WO2010018494A1 (en) * 2008-08-11 2010-02-18 Nxp B.V. Image compression

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2806227B1 (en) * 2000-03-09 2003-09-05 Auteuil Participation Et Conse METHOD FOR CODING IMAGES
US20030086605A1 (en) * 2001-11-08 2003-05-08 Doner John R. Compression method for aviation weather products
EP1494456A1 (en) * 2003-07-01 2005-01-05 Deutsche Thomson-Brandt GmbH Method for run-length encoding of a bitmap data stream
US7010033B2 (en) * 2004-02-02 2006-03-07 Adams Platform Pty Ltd. System and method for compressing and encoding video
ES2728097T3 (en) * 2005-05-27 2019-10-22 Ericsson Telefon Ab L M Weight based image processing
EP1988703A1 (en) * 2007-05-02 2008-11-05 TTPCOM Limited Image transformation
JP5228111B2 (en) * 2008-09-23 2013-07-03 テレフオンアクチーボラゲット エル エム エリクソン(パブル) Pixel block processing
US20120082395A1 (en) * 2010-09-30 2012-04-05 Microsoft Corporation Entropy Coder for Image Compression
CN103186544B (en) * 2011-12-28 2017-11-14 广东新岸线计算机系统芯片有限公司 A kind of color bits depth access method and system
US9772849B2 (en) 2014-11-14 2017-09-26 Intel Corporation Four-dimensional morton coordinate conversion processors, methods, systems, and instructions
US9772850B2 (en) * 2014-11-14 2017-09-26 Intel Corporation Morton coordinate adjustment processors, methods, systems, and instructions
US9772848B2 (en) 2014-11-14 2017-09-26 Intel Corporation Three-dimensional morton coordinate conversion processors, methods, systems, and instructions
US20160373735A1 (en) * 2015-06-18 2016-12-22 Telekom Malaysia Berhad Method For Encoding Four Bits Color Construct Code
JP6855722B2 (en) * 2016-09-21 2021-04-07 富士ゼロックス株式会社 Image processing equipment and programs
US10341689B1 (en) * 2017-05-23 2019-07-02 Moddable Tech, Inc. Weighted runlength encoding
CN116453455B (en) * 2023-06-14 2023-11-14 长春希达电子技术有限公司 Pixel multiplexing method, data transmission system and display screen control system and method

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4760459A (en) * 1986-07-30 1988-07-26 Kabushiki Kaisha Toshiba Binary data compression and expansion processing apparatus
US4843466A (en) * 1988-04-27 1989-06-27 Universal Video Communications Corp. Method and system for decompressing color video slope encoded data
US5353132A (en) * 1989-02-06 1994-10-04 Canon Kabushiki Kaisha Image processing device

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4229768A (en) * 1978-03-30 1980-10-21 Canon Kabushiki Kaisha Information processing apparatus
US4301469A (en) * 1980-04-30 1981-11-17 United Technologies Corporation Run length encoder for color raster scanner
US4610027A (en) * 1983-12-30 1986-09-02 International Business Machines Corporation Method for converting a bit map of an image to a run length or run end representation
US4646356A (en) * 1984-06-29 1987-02-24 International Business Machines Corporation Method for converting a bit map of an image to a run length or run end representation
US4673977A (en) * 1985-06-20 1987-06-16 International Business Machines Corporation Method of spatially thresholding a discrete color image
US4847677A (en) * 1988-04-27 1989-07-11 Universal Video Communications Corp. Video telecommunication system and method for compressing and decompressing digital color video data
JPH02179071A (en) * 1988-12-28 1990-07-12 Fuji Photo Film Co Ltd Picture compressor
JP2766302B2 (en) * 1989-04-06 1998-06-18 株式会社東芝 Variable length code parallel decoding method and apparatus
US5172237A (en) * 1989-05-17 1992-12-15 Ricoh Corporation High quality color image compression system
JP2511158B2 (en) * 1989-12-19 1996-06-26 シャープ株式会社 Image compression device
US5046119A (en) * 1990-03-16 1991-09-03 Apple Computer, Inc. Method and apparatus for compressing and decompressing color video data with an anti-aliasing mode
US5198898A (en) * 1990-10-10 1993-03-30 Fuji Xerox Co., Ltd. Data compressing system for compressing serial image data with color information
JP3095810B2 (en) * 1991-05-31 2000-10-10 株式会社リコー Image data encoding device
JPH05130434A (en) * 1991-10-31 1993-05-25 Canon Inc Picture compressor
US5339164A (en) * 1991-12-24 1994-08-16 Massachusetts Institute Of Technology Method and apparatus for encoding of data using both vector quantization and runlength encoding and using adaptive runlength encoding
US5552832A (en) * 1994-10-26 1996-09-03 Intel Corporation Run-length encoding sequence for video signals

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4760459A (en) * 1986-07-30 1988-07-26 Kabushiki Kaisha Toshiba Binary data compression and expansion processing apparatus
US4843466A (en) * 1988-04-27 1989-06-27 Universal Video Communications Corp. Method and system for decompressing color video slope encoded data
US5353132A (en) * 1989-02-06 1994-10-04 Canon Kabushiki Kaisha Image processing device

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999050819A2 (en) * 1998-03-31 1999-10-07 Koninklijke Philips Electronics N.V. Pixel colour value encoding and decoding
WO1999050819A3 (en) * 1998-03-31 1999-12-16 Koninkl Philips Electronics Nv Pixel colour value encoding and decoding
US6574364B1 (en) 1998-03-31 2003-06-03 Koninklijke Philips Electronics N. V. Pixel color value encoding and decoding
EP1587299A3 (en) * 2004-04-13 2009-04-08 Lg Electronics Inc. Compressing and decompressing image of a mobile communication terminal
WO2010018494A1 (en) * 2008-08-11 2010-02-18 Nxp B.V. Image compression

Also Published As

Publication number Publication date
PL186340B1 (en) 2003-12-31
CN1181694C (en) 2004-12-22
PT754393E (en) 2000-09-29
HUP9602710A3 (en) 1999-07-28
GR3033579T3 (en) 2000-09-29
EP0754393A1 (en) 1997-01-22
CZ289508B6 (en) 2002-02-13
BR9605110A (en) 1997-10-14
CZ288596A3 (en) 1997-03-12
JPH10500273A (en) 1998-01-06
US6301389B1 (en) 2001-10-09
CA2187018A1 (en) 1996-08-15
IL117028A (en) 1999-06-20
EA199700011A1 (en) 1997-09-30
IL117028A0 (en) 1996-06-18
CA2187018C (en) 2005-10-18
AU695626B2 (en) 1998-08-20
PL316679A1 (en) 1997-02-03
EA000082B1 (en) 1998-06-25
AU4398596A (en) 1996-08-27
DE69607529D1 (en) 2000-05-11
ES2145991T3 (en) 2000-07-16
IN187262B (en) 2002-03-16
AR001077A1 (en) 1997-09-24
DE69607529T2 (en) 2000-10-12
TR199600787T1 (en) 1997-03-21
WO1996025010A3 (en) 1996-10-10
ATE191600T1 (en) 2000-04-15
HK1013385A1 (en) 1999-08-20
HU228534B1 (en) 2013-03-28
EP0754393B1 (en) 2000-04-05
MY115792A (en) 2003-09-30
CN1148927A (en) 1997-04-30
JP3688297B2 (en) 2005-08-24
HUP9602710A2 (en) 1997-05-28

Similar Documents

Publication Publication Date Title
AU695626B2 (en) Video image colour encoding
EP0766223B1 (en) Color image display apparatus and method therefor
US5227789A (en) Modified huffman encode/decode system with simplified decoding for imaging systems
US6219457B1 (en) Method and system for decoding data encoded in a variable length code word
JP3332619B2 (en) Decoding device and method thereof
JP3341962B2 (en) Variable length decoder and method for decoding variable length code value
EP0734126A1 (en) Two-stage compression with runlength encoding and lempel-ziv encoding
JP3410629B2 (en) Variable length coding circuit and variable length coding method
JPH0645950A (en) Apparatus and method for generation of signal
JPH05276052A (en) Method for decoding huffman code word and device therefor
JPH1065549A (en) Device for determining length of variable length encoded data value, device for decoding data stream of variable length encoded data value, and method for determining length of variable length encoded data value
JPH08213916A (en) Variable-length decoder using relative address
US5198898A (en) Data compressing system for compressing serial image data with color information
JPS60140980A (en) Method and device for encoding signal representing flow of digital data group
US5654806A (en) Code manipulation for a high speed JPEG decoder
US6020835A (en) Code decoding apparatus
KR100404526B1 (en) Video image color encoding method and apparatus
JP3021329B2 (en) Variable length decoding method and apparatus
US5185820A (en) System for compressing image data having blank lines
JPS6276931A (en) Data compressor
EP0499225A2 (en) Variable-length code decoding device
JPH0311883A (en) Decoding system for variable length code, and facsimile equipment and still picture transmission system
JPH05336378A (en) Image processing device
JPH0851543A (en) Coding device and method therefor
JPS63157564A (en) Coding and decoding device in hierarchical picture

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 96190224.8

Country of ref document: CN

AK Designated states

Kind code of ref document: A2

Designated state(s): AL AM AU BB BG BR CA CN CZ EE FI GE HU IS JP KP KR LK LR LT LV MD MG MK MN MX NO NZ PL RO SG SI SK TR TT UA UZ VN AZ BY KG KZ RU TJ TM

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): KE LS MW SD SZ UG AT BE CH DE DK ES FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN ML MR NE SN TD TG

WWE Wipo information: entry into national phase

Ref document number: 1996900402

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 1199690234

Country of ref document: VN

WWE Wipo information: entry into national phase

Ref document number: PV1996-2885

Country of ref document: CZ

WWE Wipo information: entry into national phase

Ref document number: 2187018

Country of ref document: CA

WWE Wipo information: entry into national phase

Ref document number: 96/00787

Country of ref document: TR

WWE Wipo information: entry into national phase

Ref document number: 1019960705635

Country of ref document: KR

AK Designated states

Kind code of ref document: A3

Designated state(s): AL AM AU BB BG BR CA CN CZ EE FI GE HU IS JP KP KR LK LR LT LV MD MG MK MN MX NO NZ PL RO SG SI SK TR TT UA UZ VN AZ BY KG KZ RU TJ TM

AL Designated countries for regional patents

Kind code of ref document: A3

Designated state(s): KE LS MW SD SZ UG AT BE CH DE DK ES FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWP Wipo information: published in national office

Ref document number: 1996900402

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 199700011

Country of ref document: EA

WWP Wipo information: published in national office

Ref document number: PV1996-2885

Country of ref document: CZ

WWG Wipo information: grant in national office

Ref document number: 1996900402

Country of ref document: EP

WWG Wipo information: grant in national office

Ref document number: PV1996-2885

Country of ref document: CZ