EP0343742B1 - Decoders for Hamming encoded data - Google Patents

Decoders for Hamming encoded data Download PDF

Info

Publication number
EP0343742B1
EP0343742B1 EP89201300A EP89201300A EP0343742B1 EP 0343742 B1 EP0343742 B1 EP 0343742B1 EP 89201300 A EP89201300 A EP 89201300A EP 89201300 A EP89201300 A EP 89201300A EP 0343742 B1 EP0343742 B1 EP 0343742B1
Authority
EP
European Patent Office
Prior art keywords
bytes
parity
parity check
block
successive
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
EP89201300A
Other languages
German (de)
French (fr)
Other versions
EP0343742A3 (en
EP0343742A2 (en
Inventor
David Robert Tarrant
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.)
Philips Electronics UK Ltd
Koninklijke Philips NV
Original Assignee
Philips Electronics UK Ltd
Koninklijke Philips Electronics NV
Philips Electronics NV
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
Priority claimed from GB888812592A external-priority patent/GB8812592D0/en
Application filed by Philips Electronics UK Ltd, Koninklijke Philips Electronics NV, Philips Electronics NV filed Critical Philips Electronics UK Ltd
Publication of EP0343742A2 publication Critical patent/EP0343742A2/en
Publication of EP0343742A3 publication Critical patent/EP0343742A3/en
Application granted granted Critical
Publication of EP0343742B1 publication Critical patent/EP0343742B1/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/025Systems for the transmission of digital non-picture data, e.g. of text during the active part of a television frame
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/19Single error correction without using particular properties of the cyclic codes, e.g. Hamming codes, extended or generalised Hamming codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/025Systems for the transmission of digital non-picture data, e.g. of text during the active part of a television frame
    • H04N7/035Circuits for the digital non-picture data signal, e.g. for slicing of the data signal, for regeneration of the data-clock signal, for error detection or correction of the data signal
    • H04N7/0357Circuits for the digital non-picture data signal, e.g. for slicing of the data signal, for regeneration of the data-clock signal, for error detection or correction of the data signal for error detection or correction

Definitions

  • This invention relates to decoders for Hamming encoded data in the form of a serial bit stream, successive blocks of which are Hamming encoded.
  • the invention also relates to a method of decoding Hamming encoded data.
  • the invention is particularly applicable to such decoders for use in the reception of teletext information.
  • This specification specifies the use of so-called EXTENSION packets and some of these packets, but particularly so-called "packet 26" "packet 28", “packet 29” and some versions of "packet 27” has coded data encoded using the 24/18 Hamming coding scheme where each 18 data bits are protected by 6 protection bits.
  • This form of Hamming coding allows a single bit error to be detected and corrected and 2 bit errors to be detected within the group of 24 bits.
  • Such extension packets are used to help control the teletext decoder or to supply additional information so that superior decoders can enhance the appearance of the basic display page.
  • the enhancements may take the form of accented characters, improved graphics, etc. It is therefore necessary in a teletext decoder of a teletext receiver to provide a means of decoding the 24/18 Hamming protected data.
  • the decoding of some of the Hamming protected data has been carried out in the teletext decoder by a microprocessor using software techniques, but this places great demands on the microprocessor and compromises the performance of the decoder. It would be advantageous if the decoding could be carried out using suitable hardware which could be incorporated on the teletext decoder integrated circuit, and thereby reduce the demand on the microprocessor.
  • a decoder for Hamming encoded data in the form of a serial bit stream successive blocks of which are Hamming encoded characterised in that said decoder comprises serial to parallel converter means for converting each of said blocks into a plurality of successive parallel bytes, a plurality of first parity check circuits for carrying out a parity check on all bytes of a block, comprising partial check circuits for carrying out successive partial parity checks on each of the bytes of a block as each byte is received, and including a parity check on said successive partial parity checks, and a plurality of second parity check circuits for carrying out parity checks on at least part of selected ones of said bytes as they are received.
  • the outputs of said first and second parity check circuits are decoded to afford an output indicative of whether the Hamming encoded data block is usable or not.
  • an output indicative of whether the Hamming encoded data block is usable or not is achieved that it is not necessary to await the receipt of all the bits of a block before decoding can be commenced.
  • the partial parity checks carried out on successive bytes of a block preferably take account of the partial parity check carried out on the previous byte. This allows the partial parity check on each byte and the parity check on successive partial parity checks to be carried out by the same parity check circuit.
  • the serial to parallel converter means converts each block into 3 successive bytes, 4 first parity check circuits being provided for carrying out successive parity checks on each of said bytes, and two second parity check circuits being provided for carrying out parity checks on at least part of the second and third bytes respectively of said block.
  • byte delay means may be provided for delaying each block of bytes until said parity checks have been carried out and parity check decoder means to which the outputs of said parity check circuits are applied which is operable on the delay block of bytes for affording an error corrected output.
  • each of said first parity check circuits comprises a parity checker the output of which is applied to a latch, the output of said latch being fed back as an input to said parity checker via an AND gate in dependence upon which byte of each block is being checked.
  • a teletext decoder including a decoder according to said first aspect.
  • a method of decoding Hamming encoded data in the form of a serial bit stream successive blocks of which are Hamming encoded characterised by the steps of serial to parallel converting each of said blocks into a plurality of successive parallel bytes, carrying out a plurality of first parity checks on all bytes of a block by carrying out successive partial parity checks on each of the bytes of a block as each byte is received and including a parity check on said successive partial parity checks, carrying out a plurality of second parity checks on at least part of selected ones of said bytes as they are received, and decoding (PCD) said first and second parity checks to afford an output (F) indicative of whether the Hamming encoded data block is usable or not.
  • PCD decoding
  • bit b24 is a parity check over the whole three bytes, the remaining eighteen bits being information bits D.
  • rows (c) of Figure 1 are set out the various parity checks P1 to P6 which need to be carried out by a decoder in order to determine whether the triplet T is error free or not.
  • the symbol x is used to indicate the combination of bits of the triplet which need to be checked for parity for each of the parity checks P1 to P6.
  • parity checks P1, P2, P3 and P6 are concerned, the parts of the parity checks which relate to each of the bytes B1, B2 and B3 of the triplet T are the same for each byte.
  • parity check P1 the odd numbered bits of each of the bytes B1, B2 and B3 are checked; in parity check P2 the second, third, sixth and seventh bits of each of the bytes B1, B2 and B3 are checked; in parity check P3 the fourth, fifth, sixth and seventh bits of each of the bytes B1, B2 and B3 are checked; and in parity check P6 all of the bits of each byte are checked.
  • parity checks P4 and P5 are similar in that the first seven bits of one byte are included with the last bit of the previous byte for parity checking.
  • the twenty-four bits of the triplet T in serial form are applied to a serial-to-parallel converter arrangement 1 which converts it into three successive 8-bit bytes afforded over parallel output bus B.
  • the outputs from bus B are selectively applied to six parity check circuits PC1 to PC6 which correspond respectively to parity checks P1 to P6 set out in row (c) of Figure 1 of the drawings.
  • parity check circuit PC1 this has the outputs from the bus B corresponding to the odd numbered bits of each byte applied to it and carries out, for example, an odd parity check on the inputs applied to it and affords an output which is stored in latch L1.
  • the output from the latch L1 is fed to a parity check decoder PCD the operation of which will be described hereinafter and also to an AND gate A1.
  • the other input of the AND gate A1 is set high if either byte B2 or B3 is being processed by the parity check circuit PC1, in which case the output from the latch L1 is fed back as an input to the parity check circuit PC1 and is included in the parity check which is carried out by it.
  • the parity check circuit thus far described operates as follows:-
  • the parity check circuit PC1 carries out a partial parity check on the inputs applied to it and affords an output to the latch L1.
  • the second input to the AND gate A1 will be set low, and the output from the latch L1 is not fed back to the parity check circuit PC1.
  • the parity check circuit PC1 carries out a further partial parity check on the inputs applied to it and affords an output to the latch L1.
  • the parity check circuit carries out a further partial parity check on the inputs applied to it and affords an output to the latch L1.
  • the final output which is afforded to the latch L1 corresponds to the parity check P1 set out diagrammatically in rows (c) of Figure 1 of the drawings.
  • parity check circuits PC2, PC3 and PC6, with their respective latch and AND gate operate in the same way as parity check circuit PC1, except that different combinations of the outputs from the bus B are applied to them. For example:-
  • Parity check circuit PC2 will have the second, third, fifth and sixth bits of each byte applied to it and will afford a final output to its latch L2 which corresponds to the parity check P2 set out diagrammatically in rows (c) of Figure 1 of the drawings:- Parity check circuit PC3 will have the fourth, fifth, sixth and seventh bits of each byte applied to it and will afford a final output to its latch L3 which corresponds to the parity check P3 set out diagrammatically in rows (c) of Figure 1 of the drawings; and Parity check circuit PC6 will have all of the bits from each byte applied to it and will afford a final output to its latch L6 which corresponds to the parity check P6 set out diagrammatically in rows (c) of Figure 1 of the drawings.
  • the parity check circuit PC4 carries out a parity check on the first seven bits of byte B2 and the last bit from the previous byte as held in latch L7, and affords an output to latch L4 which is retained for the byte B2 until it is updated.
  • the parity check circuit PC5 carries out a similar parity check on the corresponding bits in bytes B3 and B2 and affords an output to its latch L5 which is retained for the byte B3 until it is updated.
  • the outputs 01 to 06 from the latches L1 to L6 respectively are applied as inputs to the parity check decoder PCD.
  • the output bus B is also applied to a delay arrangement conveniently in the form of a shift register SR so that the bytes B1, B2 and B3 of the triplet which has been processed by the parity check procedure just described are available at the decoder D so that any necessary corrections, as determined by the outputs 01 to 06 as will hereinafter be explained, can be made.
  • a timing circuit 2 is provided for controlling the timing of the various partial and full parity checks, etc. in known manner.
  • each of the odd parity check circuits PC1 to PC6 afford a logic '0' if the parity check is positive i.e. correct and a logic '1' if the parity check is negative i.e. parity error has been detected.
  • the outputs 01 to 06 of the parity check circuits PC1 to PC6 respectively will be a logic '0' or a logic '1' dependent upon whether the respective parity check is positive or negative.
  • the outputs 01 to 05 are considered in the following order:- 05 04 03 02 01 then the combination of these outputs can be used to determine which single bit of the 24 bits of a triplet, if any, is in error, and would enable that bit to be corrected.
  • the binary number 0 1 1 0 1 will be obtained. It will be appreciated that this binary number is equivalent to the number 13 which corresponds to the bit number that is in error.
  • the parity check decoder PCD in Figure 2 can ascertain from the outputs 01 to 06 applied to it the error status of a triplet that has been processed and can afford a corrected data output CD corresponding to the information bits D in the original 24 bit triplet and can afford an output F which is indicative of whether the data output CD is usable data or not.

Description

  • This invention relates to decoders for Hamming encoded data in the form of a serial bit stream, successive blocks of which are Hamming encoded. The invention also relates to a method of decoding Hamming encoded data. The invention is particularly applicable to such decoders for use in the reception of teletext information.
  • The document "World System Teletext and Data Broadcasting System-Technical Specification", December 1987, compiled by the Department of Trade and Industry of the U.K. Government, disclosed a system for transmitting teletext information in 625-line and 525-line television systems.
  • This specification, amongst other things, specifies the use of so-called EXTENSION packets and some of these packets, but particularly so-called "packet 26" "packet 28", "packet 29" and some versions of "packet 27" has coded data encoded using the 24/18 Hamming coding scheme where each 18 data bits are protected by 6 protection bits. This form of Hamming coding allows a single bit error to be detected and corrected and 2 bit errors to be detected within the group of 24 bits. Such extension packets are used to help control the teletext decoder or to supply additional information so that superior decoders can enhance the appearance of the basic display page. The enhancements may take the form of accented characters, improved graphics, etc. It is therefore necessary in a teletext decoder of a teletext receiver to provide a means of decoding the 24/18 Hamming protected data.
  • Up to the present time, the decoding of some of the Hamming protected data has been carried out in the teletext decoder by a microprocessor using software techniques, but this places great demands on the microprocessor and compromises the performance of the decoder. It would be advantageous if the decoding could be carried out using suitable hardware which could be incorporated on the teletext decoder integrated circuit, and thereby reduce the demand on the microprocessor.
  • It is an object of the present invention to provide a decoder for Hamming encoded data which can be implemented in hardware form.
  • According to one aspect of the present invention there is provided a decoder for Hamming encoded data in the form of a serial bit stream successive blocks of which are Hamming encoded, characterised in that said decoder comprises serial to parallel converter means for converting each of said blocks into a plurality of successive parallel bytes, a plurality of first parity check circuits for carrying out a parity check on all bytes of a block, comprising partial check circuits for carrying out successive partial parity checks on each of the bytes of a block as each byte is received, and including a parity check on said successive partial parity checks, and a plurality of second parity check circuits for carrying out parity checks on at least part of selected ones of said bytes as they are received. The outputs of said first and second parity check circuits are decoded to afford an output indicative of whether the Hamming encoded data block is usable or not. Herewith is achieved that it is not necessary to await the receipt of all the bits of a block before decoding can be commenced.
  • The partial parity checks carried out on successive bytes of a block preferably take account of the partial parity check carried out on the previous byte. This allows the partial parity check on each byte and the parity check on successive partial parity checks to be carried out by the same parity check circuit.
  • In a preferred arrangement in which the serial data stream consists of blocks of 24 bits each block including 18 data bits and 6 Hamming encoded protection bits, it will be arranged that the serial to parallel converter means converts each block into 3 successive bytes, 4 first parity check circuits being provided for carrying out successive parity checks on each of said bytes, and two second parity check circuits being provided for carrying out parity checks on at least part of the second and third bytes respectively of said block.
  • Advantageously, byte delay means may be provided for delaying each block of bytes until said parity checks have been carried out and parity check decoder means to which the outputs of said parity check circuits are applied which is operable on the delay block of bytes for affording an error corrected output.
  • Also, it may be arranged that each of said first parity check circuits comprises a parity checker the output of which is applied to a latch, the output of said latch being fed back as an input to said parity checker via an AND gate in dependence upon which byte of each block is being checked.
  • According to another aspect of the present invention there is provided a teletext decoder including a decoder according to said first aspect.
  • According to a further aspect of the present invention there is provided a method of decoding Hamming encoded data in the form of a serial bit stream successive blocks of which are Hamming encoded, characterised by the steps of serial to parallel converting each of said blocks into a plurality of successive parallel bytes, carrying out a plurality of first parity checks on all bytes of a block by carrying out successive partial parity checks on each of the bytes of a block as each byte is received and including a parity check on said successive partial parity checks, carrying out a plurality of second parity checks on at least part of selected ones of said bytes as they are received, and decoding (PCD) said first and second parity checks to afford an output (F) indicative of whether the Hamming encoded data block is usable or not.
  • An exemplary embodiment of the invention will now be described reference being made to the accompanying drawings, in which:-
    • Figure 1 is a table which is useful in explaining the operation of a decoder for 24/18 Hamming encoded data; and
    • Figure 2 is a block diagram of a decoder for Hamming coded data in accordance with the present invention.
  • The aforementioned "World System Teletext and Data Broadcasting System - Technical Specification" sets out in APPENDIX 3 thereof under the title "HAMMING PROTECTED DATA" and in its accompanying Figure 2 the precise form that the aforementioned 24/18 Hamming encoded data takes and also specifies what parity checks a decoder needs to make in order to detect errors therein.
  • In Figure 1 of the accompanying drawings there is shown a table which is useful in explaining the operation of such a decoder.
  • In row (a) of Figure 1 there is set out a group of three bytes B1, B2 and B3 which in combination form a triplet T comprising 24 bits which, for convenience, are numbered b1 to b24. In row (b) of Figure 1 is depicted whether the bits b1 to b24 are information or data bits D or protection bits P. It will be seen that bits b1, b2, b4, b8 and b16 are binary weighted protection bits P and bit b24 is a parity check over the whole three bytes, the remaining eighteen bits being information bits D. In rows (c) of Figure 1 are set out the various parity checks P1 to P6 which need to be carried out by a decoder in order to determine whether the triplet T is error free or not. The symbol x is used to indicate the combination of bits of the triplet which need to be checked for parity for each of the parity checks P1 to P6.
  • In prior known teletext decoders the decoding of the triplet T shown in row (a) of Figure 1 in accordance with the parity checks P1 to P6 has been carried out by the microprocessor thereof and it would be preferable if the decoding could be carried out using hardware which could be provided on the teletext decoder integrated circuit, thereby leaving the microprocessor free for other processing tasks.
  • It has been appreciated and as can be seen in rows (c) of the table of Figure 1 that as far as the parity checks P1, P2, P3 and P6 are concerned, the parts of the parity checks which relate to each of the bytes B1, B2 and B3 of the triplet T are the same for each byte. For example, in parity check P1 the odd numbered bits of each of the bytes B1, B2 and B3 are checked; in parity check P2 the second, third, sixth and seventh bits of each of the bytes B1, B2 and B3 are checked; in parity check P3 the fourth, fifth, sixth and seventh bits of each of the bytes B1, B2 and B3 are checked; and in parity check P6 all of the bits of each byte are checked. Also, parity checks P4 and P5 are similar in that the first seven bits of one byte are included with the last bit of the previous byte for parity checking.
  • Because of this similarity in the parity checks required within each of the bytes B1, B2 and B3, it has been appreciated that it is not necessary to await the receipt of all the bits b1 to b24 of the triplet T before decoding can be commenced but that partial parity checks can be initiated as soon as the first byte B1 of the triplet T has been received, the partial parity checks being repeated, where appropriate, for the remaining bytes together with the other necessary parity checks. A decoder for Hamming encoded data which operates in accordance with this procedure is shown in Figure 2 of the drawings.
  • In Figure 2, the twenty-four bits of the triplet T in serial form are applied to a serial-to-parallel converter arrangement 1 which converts it into three successive 8-bit bytes afforded over parallel output bus B. The outputs from bus B are selectively applied to six parity check circuits PC1 to PC6 which correspond respectively to parity checks P1 to P6 set out in row (c) of Figure 1 of the drawings.
  • Considering firstly parity check circuit PC1, this has the outputs from the bus B corresponding to the odd numbered bits of each byte applied to it and carries out, for example, an odd parity check on the inputs applied to it and affords an output which is stored in latch L1. The output from the latch L1 is fed to a parity check decoder PCD the operation of which will be described hereinafter and also to an AND gate A1. The other input of the AND gate A1 is set high if either byte B2 or B3 is being processed by the parity check circuit PC1, in which case the output from the latch L1 is fed back as an input to the parity check circuit PC1 and is included in the parity check which is carried out by it. The parity check circuit thus far described operates as follows:-
  • As soon as the first byte B1 of the triplet appears on the bus B the parity check circuit PC1 carries out a partial parity check on the inputs applied to it and affords an output to the latch L1. At this time, as only the byte B1 is being processed the second input to the AND gate A1 will be set low, and the output from the latch L1 is not fed back to the parity check circuit PC1.
  • When the second byte B2 of a triplet appears on the bus B, the second input to the AND gate A1 is set high and the output from the latch L1, which corresponds to the partial parity check carried out on byte B1 of the triplet is fed back as an input to the parity check circuit PC1. The parity check circuit PC1 carries out a further partial parity check on the inputs applied to it and affords an output to the latch L1.
  • When the third byte B3 of a triplet appears on the bus B, the second input to the AND gate A1 will be maintained high and the output from the latch L1, which corresponds to the partial parity check carried out on bytes B1 and B2 of the triplet is fed back as an input to the parity check circuit P1. The parity check circuit carries out a further partial parity check on the inputs applied to it and affords an output to the latch L1. The final output which is afforded to the latch L1 corresponds to the parity check P1 set out diagrammatically in rows (c) of Figure 1 of the drawings.
  • The parity check circuits PC2, PC3 and PC6, with their respective latch and AND gate, operate in the same way as parity check circuit PC1, except that different combinations of the outputs from the bus B are applied to them. For example:-
  • Parity check circuit PC2 will have the second, third, fifth and sixth bits of each byte applied to it and will afford a final output to its latch L2 which corresponds to the parity check P2 set out diagrammatically in rows (c) of Figure 1 of the drawings:-
       Parity check circuit PC3 will have the fourth, fifth, sixth and seventh bits of each byte applied to it and will afford a final output to its latch L3 which corresponds to the parity check P3 set out diagrammatically in rows (c) of Figure 1 of the drawings; and
       Parity check circuit PC6 will have all of the bits from each byte applied to it and will afford a final output to its latch L6 which corresponds to the parity check P6 set out diagrammatically in rows (c) of Figure 1 of the drawings.
  • The parity check circuit PC4 carries out a parity check on the first seven bits of byte B2 and the last bit from the previous byte as held in latch L7, and affords an output to latch L4 which is retained for the byte B2 until it is updated.
  • The parity check circuit PC5 carries out a similar parity check on the corresponding bits in bytes B3 and B2 and affords an output to its latch L5 which is retained for the byte B3 until it is updated.
  • The outputs held in latches L4 and L5 correspond to the parity checks P4 and P5 respectively, which are set out diagrammatically in rows (c) of Figure 1.
  • The outputs 01 to 06 from the latches L1 to L6 respectively are applied as inputs to the parity check decoder PCD. The output bus B is also applied to a delay arrangement conveniently in the form of a shift register SR so that the bytes B1, B2 and B3 of the triplet which has been processed by the parity check procedure just described are available at the decoder D so that any necessary corrections, as determined by the outputs 01 to 06 as will hereinafter be explained, can be made. In Figure 2 a timing circuit 2 is provided for controlling the timing of the various partial and full parity checks, etc. in known manner.
  • The parity checks carried out by each of the odd parity check circuits PC1 to PC6 afford a logic '0' if the parity check is positive i.e. correct and a logic '1' if the parity check is negative i.e. parity error has been detected. Thus the outputs 01 to 06 of the parity check circuits PC1 to PC6 respectively will be a logic '0' or a logic '1' dependent upon whether the respective parity check is positive or negative.
  • Consider now the parity checks P1 to P5 set out in the rows (c) of Figure 1. Assume, for example, that an error exists in bit b13, then it can be seen that bit 13 is included in each of the parity checks P1, P3 and P4, and the outputs 01, 03 and 04 corresponding to these parity checks will each be a logic '1'. The outputs 02 and 05 will be a logic '0'.
  • If the outputs 01 to 05 are considered in the following order:-
       05   04   03   02   01
    then the combination of these outputs can be used to determine which single bit of the 24 bits of a triplet, if any, is in error, and would enable that bit to be corrected. In the example being considered the binary number
       0   1   1   0   1
    will be obtained. It will be appreciated that this binary number is equivalent to the number 13 which corresponds to the bit number that is in error.
  • However, it may happen that two bits of the 24 bit triplet are in error and to ascertain this the output 06 which corresponds to the parity check P6 in row (c) of Figure 1 has to be considered in conjunction with the outputs 01 to 05. It can be shown that the following conditions apply:
    If 06 is logic '0' & 01 to 05 are all logic '0' - no errors
    If 06 is logic '1' & 01 to 05 are all logic '0' - error in b24 only
    If 06 is logic '1' & 01 to 05 are not all logic '0' - single bit error
    If 06 is logic '0' & 01 to 05 are not all logic '0' - double error
  • Since single errors are correctable, only if a double error exists is the triplet not usable.
  • From the foregoing it will be appreciated that the parity check decoder PCD in Figure 2 can ascertain from the outputs 01 to 06 applied to it the error status of a triplet that has been processed and can afford a corrected data output CD corresponding to the information bits D in the original 24 bit triplet and can afford an output F which is indicative of whether the data output CD is usable data or not.
  • Turning now to the use of the decoder described with reference to Figure 2 in the teletext decoder, the provision of the various parity check circuits PC1 to PC6 and their associated circuitry for effecting the necessary parity checks that need to be carried out on the Hamming encoded data, enables most if not all of the encoder to be incorporated on the teletext decoder integrated circuit and thereby eases the demand on the microprocessor. A further advantage is obtained in that decoding of each triplet is commenced as soon as the first byte of the triplet has been received and it is not necessary to await the full receipt of the triplet.
  • Although it is envisaged that the immediate application of the decoder which has been described is in a teletext decoder, it should be appreciated that general use of the decoder is envisaged.

Claims (7)

  1. A decoder for Hamming encoded data in the form of a serial bit stream successive blocks (T) of which are Hamming encoded, characterised in that said decoder comprises:
       serial to parallel converter means (1) for converting each of said blocks into a plurality of successive parallel bytes (B1,B2,B3),
       a plurality of first parity check circuits for carrying out a parity check on all bytes of a block, comprising partial check circuits (PCi,Li,Ai, i=1,2,3,6) for carrying out successive partial parity checks on each of the bytes of a block as each byte is received, and including a parity check on said successive partial parity checks,
       a plurality of second parity check circuits (PC4,PC5) for carrying out parity checks on at least part of selected ones of said bytes as they are received,
       the outputs of said first and second parity check circuits being decoded (PCD) to afford an output (F) indicative of whether the Hamming encoded data block is usable or not.
  2. A decoder as claimed in Claim 1, characterised in that the partial parity checks carried out on successive bytes of a block take account of the partial parity check carried out on the previous byte.
  3. A decoder as claimed in Claim 1 or Claim 2, in which the serial data stream consists of blocks (T) of 24 bits each block including 18 data bits and 6 Hamming encoded protection bits, characterised in that the serial to parallel converter means (1) converts each block into three successive bytes, four first parity check circuits (PCi) being provided for carrying out successive parity checks on each of said bytes, and two second parity check circuits (PC4, PC5) being provided for carrying out parity checks on at least part of the second and third bytes respectively of said block.
  4. A decoder as claimed in any preceding claim, characterised by byte delay means (SR) for delaying each block of bytes until said parity checks have been carried out and parity check decoder means (PCD) to which the outputs of said parity check circuits are applied which is operable on the delayed block of bytes for affording an error corrected output (CD).
  5. A decoder as claimed in any preceding claim, characterised in that each of said first parity check circuits comprises a parity checker (PCi) the output of which is applied to a latch (Li), the output of said latch being fed back as an input to said parity checker via an AND gate (Ai) in dependence upon which byte of each block is being checked.
  6. A teletext decoder comprising:
       means for receiving data packets in the form of a serial bit stream, selected packets including successive Hamming encoded data blocks,
       data packet decoding means;
       means for processing the decoded data packets;
    characterized in that the data packet decoding means include a decoder for Hamming encoded data as claimed in any preceding claim.
  7. A method of decoding Hamming encoded data in the form of a serial bit stream successive blocks (T) of which are Hamming encoded, characterised by the steps of:
       serial to parallel converting (1) each of said blocks into a plurality of successive parallel bytes (B1,B2,B3),
       carrying out a plurality of first parity checks on all bytes of a block by carrying out successive partial parity checks (PCi,Li,Ai, i=1,2,3,6) on each of the bytes of a block as each byte is received, and including a parity check on said successive partial parity checks,
       carrying out a plurality of second parity checks (PC4,PC5) on at least part of selected ones of said bytes as they are received, and
       decoding (PCD) said first and second parity checks to afford an output (F) indicative of whether the Hamming encoded data block is usable or not.
EP89201300A 1988-05-27 1989-05-22 Decoders for Hamming encoded data Expired - Lifetime EP0343742B1 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
GB8812592 1988-05-27
GB888812592A GB8812592D0 (en) 1988-05-27 1988-05-27 Teletext decoder
GB8910339 1989-05-05
GB898910339A GB8910339D0 (en) 1988-05-27 1989-05-05 Decoders for hamming encoded data

Publications (3)

Publication Number Publication Date
EP0343742A2 EP0343742A2 (en) 1989-11-29
EP0343742A3 EP0343742A3 (en) 1991-07-24
EP0343742B1 true EP0343742B1 (en) 1995-08-09

Family

ID=26293942

Family Applications (1)

Application Number Title Priority Date Filing Date
EP89201300A Expired - Lifetime EP0343742B1 (en) 1988-05-27 1989-05-22 Decoders for Hamming encoded data

Country Status (4)

Country Link
US (1) US5111462A (en)
EP (1) EP0343742B1 (en)
JP (1) JP2900943B2 (en)
DE (1) DE68923736T2 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03272224A (en) * 1990-03-20 1991-12-03 Canon Inc Information signal processing method
WO1996024217A1 (en) * 1995-02-02 1996-08-08 Philips Electronics N.V. Merging of video mosaic with teletext
US5805614A (en) * 1996-07-03 1998-09-08 General Signal Corporation Fault tolerant switch fabric with control and data correction by hamming codes
US5812556A (en) * 1996-07-03 1998-09-22 General Signal Corporation Fault tolerant switch fabric with control and data correction by hamming codes and error inducing check register
GB2593677B (en) * 2020-03-25 2023-11-01 Smiths Heimann Sas Vehicle inspection controlled using image information

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US23601A (en) * 1859-04-12 needham
US3601800A (en) * 1969-09-30 1971-08-24 Ibm Error correcting code device for parallel-serial transmissions
JPS5286011A (en) * 1976-01-12 1977-07-16 Nec Corp Error correction device for parallel processing
US4312068A (en) * 1976-08-12 1982-01-19 Honeywell Information Systems Inc. Parallel generation of serial cyclic redundancy check
DE3122381A1 (en) * 1981-06-05 1982-12-23 Ibm Deutschland Gmbh, 7000 Stuttgart METHOD AND DEVICE FOR GENERATING TEST BITS FOR SAVING A DATA WORD
US4454600A (en) * 1982-08-25 1984-06-12 Ael Microtel Limited Parallel cyclic redundancy checking circuit
US4494234A (en) * 1982-12-29 1985-01-15 International Business Machines Corporation On-the-fly multibyte error correcting system
US4791641A (en) * 1986-09-15 1988-12-13 Thinking Machines Corporation Parallel processor error checking

Also Published As

Publication number Publication date
JP2900943B2 (en) 1999-06-02
EP0343742A3 (en) 1991-07-24
EP0343742A2 (en) 1989-11-29
JPH0243820A (en) 1990-02-14
DE68923736D1 (en) 1995-09-14
US5111462A (en) 1992-05-05
DE68923736T2 (en) 1996-03-21

Similar Documents

Publication Publication Date Title
US5144304A (en) Data and forward error control coding techniques for digital signals
US4356564A (en) Digital signal transmission system with encoding and decoding sections for correcting errors by parity signals transmitted with digital information signals
GB2241413A (en) Detecting a frame alignment word in a data stream
US4032886A (en) Concatenation technique for burst-error correction and synchronization
EP0343742B1 (en) Decoders for Hamming encoded data
US4748619A (en) Packet demultiplexing of a mac/packet broadcast signal
US5854596A (en) Encoding arrangement and method for encoding (n-1)-bit information words into n-bit channel words and decoding arrangement and method for decoding the channel words into information words
GB2187013A (en) Digital companding circuit
US4723245A (en) IC chip error detecting and correcting method including automatic self-checking of chip operation
US4521886A (en) Quasi-soft decision decoder for convolutional self-orthogonal codes
EP0240146B1 (en) Method and apparatus for the channelized serial transmission of redundantly encoded binary data
EP0310220A2 (en) An apparatus useful for correction of single bit errors and detection of double bit errors in the transmission of data
EP1151383B1 (en) Content addressable memory addressable by redundant form input data.
US5124992A (en) Error correcting encoder/decoder for a digital transmission installation
GB2174577A (en) Digital communication system
US6357031B1 (en) Serial data transmission apparatus and method with a data checking feature
US4860241A (en) Method and apparatus for cellular division
US6392570B1 (en) Method and system for decoding 8-bit/10-bit data using limited width decoders
US4739504A (en) IC chip error detecting and correcting method
US4698814A (en) Arrangement for checking the parity of parity-bits containing bit groups
JP2712502B2 (en) Transmission line encoding / decoding method
SU1481900A2 (en) Differential pulse coder of tv signal
SU1249589A1 (en) Device for checking memory
EP0152974A1 (en) Arrangement for checking the parity bit-containing bit groups
JPS61147629A (en) Pattern detecting circuit

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

AK Designated contracting states

Kind code of ref document: A2

Designated state(s): DE FR GB IT SE

PUAL Search report despatched

Free format text: ORIGINAL CODE: 0009013

AK Designated contracting states

Kind code of ref document: A3

Designated state(s): DE FR GB IT SE

17P Request for examination filed

Effective date: 19920124

RAP3 Party data changed (applicant data changed or rights of an application transferred)

Owner name: N.V. PHILIPS' GLOEILAMPENFABRIEKEN

Owner name: PHILIPS ELECTRONICS UK LIMITED

17Q First examination report despatched

Effective date: 19940513

GRAA (expected) grant

Free format text: ORIGINAL CODE: 0009210

AK Designated contracting states

Kind code of ref document: B1

Designated state(s): DE FR GB IT SE

REF Corresponds to:

Ref document number: 68923736

Country of ref document: DE

Date of ref document: 19950914

ITF It: translation for a ep patent filed

Owner name: ING. C. GREGORJ S.P.A.

ET Fr: translation filed
PLBE No opposition filed within time limit

Free format text: ORIGINAL CODE: 0009261

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT

26N No opposition filed
PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: SE

Payment date: 19980527

Year of fee payment: 10

REG Reference to a national code

Ref country code: FR

Ref legal event code: CD

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: SE

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 19990523

EUG Se: european patent has lapsed

Ref document number: 89201300.4

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: FR

Payment date: 20010523

Year of fee payment: 13

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: GB

Payment date: 20010531

Year of fee payment: 13

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: DE

Payment date: 20010717

Year of fee payment: 13

REG Reference to a national code

Ref country code: GB

Ref legal event code: IF02

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: GB

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20020522

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: DE

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20021203

GBPC Gb: european patent ceased through non-payment of renewal fee

Effective date: 20020522

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: FR

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20030131

REG Reference to a national code

Ref country code: FR

Ref legal event code: ST

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: IT

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20050522