CA1222558A - Error correction method and apparatus - Google Patents
Error correction method and apparatusInfo
- Publication number
- CA1222558A CA1222558A CA000513552A CA513552A CA1222558A CA 1222558 A CA1222558 A CA 1222558A CA 000513552 A CA000513552 A CA 000513552A CA 513552 A CA513552 A CA 513552A CA 1222558 A CA1222558 A CA 1222558A
- Authority
- CA
- Canada
- Prior art keywords
- signal
- bits
- error
- data
- packet
- 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
Links
Landscapes
- Error Detection And Correction (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Abstract
ABSTRACT OF THE DISCLOSURE
A random multi-error correcting code having a maximum length block in a packet, for instance, a majority logic decodable (272, 190) shortened difference set cyclic code is used for the error correction in a character code broadcasting system. The error correcting ability of this code is increased. If errors cannot be corrected, the leading bit is shifted, so that more than 8-bit errors is to be corrected. Also, the correction is made by decreasing the threshold value, so that the error correcting ability is improved. Framing timing extraction circuit and a phase lock circuit for the framing timing are eliminated, so that a load of the hardware is reduced.
Preferably, the error correcting code is superposed on the television signal during a vertical blanking period.
A random multi-error correcting code having a maximum length block in a packet, for instance, a majority logic decodable (272, 190) shortened difference set cyclic code is used for the error correction in a character code broadcasting system. The error correcting ability of this code is increased. If errors cannot be corrected, the leading bit is shifted, so that more than 8-bit errors is to be corrected. Also, the correction is made by decreasing the threshold value, so that the error correcting ability is improved. Framing timing extraction circuit and a phase lock circuit for the framing timing are eliminated, so that a load of the hardware is reduced.
Preferably, the error correcting code is superposed on the television signal during a vertical blanking period.
Description
~Z225~;8 -The present invention relates generally to error correction method and apparatus adapted for use in a teletext broadcasting system, in which digitally coded characters, patterns or the like are superposed on the television signal during vertical blanking periods, and more particularly to error correction method and apparatus for restoring the coded information as completely as possible by correcting bit errors caused in a transmission path.
The realization of practical teletext broadcasting system (teletext in Europe and North America) for displaying characters and graphs on a display of an ordinary home-use TV receiver set by using the present TV
signal~ is progressing rapidly in various countries. In this system, the character and graphic information is converted to digital codes and multiplexed with the television signal during a vertical blanking period.
For the teletext broadcasting, two methods are being considered. That is, a pattern method that transmits character and graphic information by dissolving it into dot-patterns~ and a code-method teletext broadcasting that transmits charac~er and graphic information by changing it into codes. The pattern-method teletext broadcasting was established officially as a standard method for teletext broadcasting in Japan in December 19~2, after the Report by the Radio Technical Council of Japan was submitted to the Minister of Postal Services. On the other hand, with regard to the code-method teletext broadcasting, considerations are being carried out on the assumption that
The realization of practical teletext broadcasting system (teletext in Europe and North America) for displaying characters and graphs on a display of an ordinary home-use TV receiver set by using the present TV
signal~ is progressing rapidly in various countries. In this system, the character and graphic information is converted to digital codes and multiplexed with the television signal during a vertical blanking period.
For the teletext broadcasting, two methods are being considered. That is, a pattern method that transmits character and graphic information by dissolving it into dot-patterns~ and a code-method teletext broadcasting that transmits charac~er and graphic information by changing it into codes. The pattern-method teletext broadcasting was established officially as a standard method for teletext broadcasting in Japan in December 19~2, after the Report by the Radio Technical Council of Japan was submitted to the Minister of Postal Services. On the other hand, with regard to the code-method teletext broadcasting, considerations are being carried out on the assumption that
- 2 ~J~
it will maintain compatibility with the pattern-method teletext broadcasting so far developed, and also correspond to various kinds of services i~ the future using coded signals.
The code-method teletext broadcasting has many merits such as hi~h transmission efficiency, high system versatility and high expansibility, etc., in comparison with that of the pattern-method teletext broadcasting. On the other hand, however, it has demerits such as a high price problem of ROMs to be used in a receiving set character generator, and a problem that if a bit error exists in a transmission path, erroneous information will be displayed. However, according to the recent progress made in LSI technologies and wide spreading and use o~ word processors, etc., the R~M price will possibly be reduced by mass production.
In the Japanese character code broadcasting experimental system, which has already been announced~
there has long been used the (8, 4) extended Hamming code and the (16, 11) extended Hamming code, in order to correct one bit error in a block including 8 bits or 16 bits. This system is adapted for use with an excellent transmission path in which less bit error is expected. This system, however, cannot sufficiently function to correct error, i~
there exist many impulsive noises, so that there exists a bit error during a period of several consecutive bits in one block, or if transmission path characteristics are so poor that a bit error rate reaches as high as 10-2.
.... .
~n the other hand, in the case of error correcting operations for character code broadcasting, a so-called "framining synchronized reproduction'l for indicating a start of character codes in a packet is an important problem.
In the proposed system for reproducing a framining timing in a television receiver set, a predetermined bit pattern of a framing code transmitted immediately before the coded characters is detected for determining the framing timing, and thereafter the reception processing is made. With regard to this framing code, it is determined in advance that a distance between codes (~hat is, the number of inconsistent bits between the codes) is equal to or more than three. Therefore, it is possible to correct only one bit error.
However, an actual television transmission path is not satisfactory as a digital data transmission line, so that it is possible that framing code errors are caused by impulsive noise, waveform distortions, ghost inteference, etc. Therefore, there has been a disadvantage in that, when receiving framing codes, various countermeasures must be taken by utilizing, for instance, cyclic characteritstic of the framing code.
It is accordingly a first object of the present 2 25 invention is to provide an error correcting method with a i high degree of error correcting ability.
second objec~ of the present invention is to provide an error correcting and decoding method, in which a random multi-error correcting code suitable for use in the ' ~ - 4 -_~ .i .. ..
~L~2~;8 error correction of a character code broadcasting system is employed, and in which digitally coded characters, patterns or the like are multiplexed with the television signal during the vertical blanking periods, whereby a plurality of bit errors are to be corrected.
A third object of the present invention is to provide an error correcting and decoding method, with a high degree of error correcting ability which enables to shorten a processing time.
A fourth object of the present invention is to provide an error detection circuit~ in which the probability of erroneous error correction is minimized ~or the character code broadcasting.
A fifth object of the present invention is to provide a framing timing detection circuit, in which a framing code extraction circuit is eliminated on a receiving side, and it is ensured that a framing timing is reproduced.
In order to achieve the above objects in a broadcasting system for broadcasting character information, an error correction method for correcting an error included in the broadcasted character information according to the present invention comprises the steps of:
selecting a random multi-error correcting code ha~ing a maximum length block in a packet;
shortening the random multi-error correcting code by at least one bit;
~2~25S8 forming, as a character code signal containing character information, a data signal including a plurality of packets;
multiplying the received data signal as the character code signal by a matrix whose predetermined row all consists of 1 to increase an error correction probability; and decoding character information from the multiplied data signal.
Here, a signal including 273 data bits consisting of 191 information-bits and 82 parity-bits in the form of a majority logic difference set cyclic code for broadcasting character information may be selected and the random multi-error correcting code may be shortened by one bit so that 27~ data-bits form one pac~et. In addition, each of the data signal may have 272 data-bits consisting of 190 information-bits and 82 parity-bits.
Alternatively, a signal including 273 data-bits consisting of l91 information-bits and 82 parity-bits in the form of a majority logic difference set cyclic code for broadcasting character information may be selected and the random multi-error correcting code may be shortened by nine bits so that 264 data-bits form one packet. In this case, each of the data signal may have 264 data-bi~s consisting of 182 information-bits and 82 parity-bits.
In a broadcasting system having transmitting and receiving sides, an error correcting system for correcting an error in a transmission path between the transmitting and receiving sides according to the present invention comprises:
~ 2 ~Z ~ ~ 8 in the transmitting side;
means for generating a random multi-error correcting code having a maximum length block in a packet;
~eans for shortening the random multi-error correcting code by at least one bit; and means for forming a data signal including a plurality of packets.
means for transmitting the data signal; and in the receiving side:
means for receiving the transmitted signal;
means for multiplying the transmitted data signal by a matrix whose predetermined row all consists of 1 to increase an error correction probability; and means for decoding information from the multiplied data signal.
In this error correcting system, the means for generating the random multi-error correcting code may comprise means for generating a slgnal including 273 data-bits consisting of 191 information-bits and 82 parity-bits in the form of a majority logic difference set cyclic code.
The means for shortening the random multi-error correcting code may comprise means for shortening the signal by one bit to provide one packet containing 272 data bits. The means for forming the data signal may comprise means for forming a data signal including a plurality of packets, of which each has~272 data-bits consisting of 190 information-bits and 82 paritr bits.
Alternatively, the means for generating the random mul~i-error correcting code may comprise means for .. , ~2 ~ S ~ ~
generating a signal including 273 data-bits consisting of 191 information-bits and 82 parity-bits in the form of a majority logic difference set cyclic code. The means for shortening the random multi-error correcting code may comprise means for shortening the signal by nine bits to provide one packet containing 264 data bits. The means for forming the data signal may comprise means for forming a data signal including a plurality of packets, of which each has 264 data-bits consisting of 182 information-bits and 82 parity-bits.
Here, it is preferable that there are provided means for ilding and cycling the data signal by one bit and means for receiving the information bits and for cycling the received information by a plurality of bits, so that in response to the condition of the syndrome output with respect to the majority logic differential set cyclic code, errors in 9 bits or more than 9 bits per one packet can be corrected by the cycling means.
An error correction system according to the present invention may preferably comprise:
a syndrome register for receiving the parity bits;
a data register for receiving the information bits;
means for receiving the output from the syndrome register to deliver a majority decision of the output;
means for applying the output from the majority decision logic means to the syndrome register to correct syndrome; and ~2225~;8 means for adding the output from the majority decision logic means to the output from the data register to derive a decoded information.
Here, it is preferable that ~he information in one packet is divided into a plurality of groups, each consisting of a plurality of bits, so that the plurality of groups are transmitted by separate packets. There may be provided a memory having a storage capacity of information for 34 packets, and being accessed in accordance with a predetermined algorithm when a packet signal is written into or read out from the memory, to obtain a packet signal having a standard arrangement.
According to another aspect of the present invention, an error correction system comprises:
~ 15 a syndrome register for receiving parity bits;
a data register for receiving information bits;means for receiving the output from the syndrome register to deliver a majority decision of the outpu~;
a subtraction circuit provided in the majority decision logic circuit;
means for setting a decision threshold value of the majority decision logic circuit at a predetermined Yalue within the number of input elements to the majority decision logic circuit; and means for controlling the subtraction circuit in a manner that after a cyclic correction, a predetermined value is se~quentially subtracted from the decision threshold value by the subtraction circuit until the decision threshold value reaches a predetermined value, so that the decoding is effected with correction.
_ g _ ~2; :~558 Here, it is preferable that a signal consisting of a 272-bit data signal, a 190-bit information signal and an 82-bit partity is used, the decision threshold value of the majority decision logic circuit is preset at 17 and the specific number is set at 1, in a manner that the decision threshold value 17 is sequentially decreased until it reaches 9 to effect the correction and decoding.
In this aspect of the present invention, the setting of the decision threshold value may be modified in response to an instruction from an exterior device. The setting of the decision threshold value and the re-loading of data can be executed by hardware so that an error processing time period is shortened while software burden is decreased.
The decision threshold value may sequentially be decreased by 2 or 3 so that the error correction time is reduced.
The decision threshold value may be started from 13 so that the error correction time is shortened.
An error detection circuit for a character code broadcasting system of the type utilizing an error decoding system using a majority decision difference set cyclic code, according to the present invention comprises:
syndrome register for storing input information to perform cyclic correction;
means for counting the number of error correction bits generated from the syndrome register during the cyclic correction; and 1222~i8 means for deciding that an error is detected when the counted value reaches a predetermined value, even if the contents of ~he syndrome register are all set to zero~
whereby an erroneous display of characters is minimized~
Here~ the predetermined value can be varied in response to external reception conditions.
A framing timing detection circuit according to the present invention comprises:
first means for receiving a transmitted signal in which a pseudo random signal is added to a predetermined range of a packet signal for character code broadcasting;
second means for receiving the transmitted s.ignal and for adding specific signals to the leading and trailing ends thereof;
third means for executing a predetermined arithmetic operation to a predetermined range of the signal added with the specific signal;
fourth means for shifting a specific time point of the signal added with the specific signal by the second means by one bit sequentially; and fifth means for retrieving a timing at which the number of error bits is minimized, whereby the detection of a framing timing is ensured.
ID this framing timing detection circuit, it is preferable that specific signals are added to the leading and trailing ends of the received transmitted signal in which the exclusive OR result of the pseudo random signal is obtained in the portion succeeding a predetermined time point of the packet signal for character code broadcasting, ~L222558 .
and the exclusive OR operation of the pseudo random signal is effected in the portion succeeding to the predetermined time point of the signal added with the specific signals.
Also, it is preferable that on the transmission side the transmitted signal is formed by adding the pseudo random signal to the signal obtained by removing four bytes of a clock-run-in signal, a framing code signal, a service discrimination signal and an interrupt signal from the packet signal for character code broadcasting, in addition to a predetermined packet signal consisting of 34 bytes, each one byte is added to the leading and trailing ends of the packet signal, and on the reception side one packet signal is formed by sequentially shifting the leading bit of the received packet signal and the error correction of the one packet signal is effected by a (27~,190) error correction circuit, so that a timing at which the error of the one packet signal is corrected is obtained as the framing timing.
In this framing timing detection circuit, the shift number already determined can be stored, and thereafter a packet signal which is determined in response to the determined shift number can immediately be loaded into the error correction circuit. Here, it is preferable that the number of shifts which has been already determined is stored per one horizontal scan, so that the framing timing is dletected even when the phases of the transmitted signals are varied in respective horizontal scans. In the case that the errors of a packet signal is not corrected by a predetermined number of shifts, a framing timing may be Z~;5~
determined within a minimum time period in response to a predetermined algorithm.
Fig. 1 is a frequency rate diagram illustrating an example of a distribution of average error bit numbers in the received data obtained in the field tests;
Fig. 2 is a frequency rate diagram illustrating a distribution of error bit numbers, when the transmitted and received signal is interleaved in the outdoor experiments;
Fig. 3 is a frequency rate diagram illustrating a distribution of error bit numbers in one packet;
~ig. 4 is a frequency rate diagram illustrating a distribution of error bit numbers in one packet in the area where waveforms are distorted;
Fig. 5 is a frequency rate diagram illustrating a distribution of error burst lengths in one packe~ in an area having adversely affects by impulsive noise;
Fig. 6 is a frequency rate diagram illustrating a distribution of error burst lengths in one packet in an area where waveforms are distorted;
Fig. 7 is a diagram showing a cumulative distribution of frequency rates of error blocks with respect to b/n (%) in an area, having adverse effects by impulsive noise;
Fig. 8 is a diagram showing a cumulative distribution of frequency rates of error blocks with respect to b/n (%) in an area in which waveforms are distored;
Fig. 9 is a block diagram of an example of an error correctiDg and decoding circuit;
122255~3 Fig. 10 is a block diagram showing one embodiment of a signal transmission circuit used for carrying out the present invention;
Fig. ll is a block diagram showiDg another embodiment of an error correcting and decoding circuit in accordance with the present invention;
Fig. 12 is a block diagram showing one embodiment of a circuit which is applied to a practical character code broadcasting receiver in accordance with the present invention;
Fig. 13 is a block diagram showing one embodiment of a majority decision logic circuit in accordance with the present invention;
Fig. 14 is a flowchart showing the error correction procedure in accordance with the present invention;
Fig. 15 is a block diagram showing one embodiment of a circuit used for carrying out the present invention;
Fig. 16 is a waveform illustrating an example of a packet signal used in a character code broadcasting system;
~ ig. 17 shows an example of a packet signal in accordance with the present invention;
Fig. 18 shows another example of a packet signal in accordance with the present invention;
Fig. ~19 shows a further example of a packet signal in accordance with the present invention;
F;g. 20 is a diagram showing an example of a ROM
for decoding a scrambled signal in the case of the fourth ~L~zz~;~i8 example of a packet signal irl which an inverted information in each byte information is added to the signal as shown in Fig. 19;
Fig. 21 is a block diagram showing a first embodiment of an error correcting and detecting circuit in accordance with the present invention;
Fig. 22 is a flowchart showing an example of a control procedure of the first embodiment shown in Fig.
21;
Fig. 23 is a block diagram showing another embodiment of an error correcting and detecting circuit in accordance with the present invention;
Fig. 24 is a flowchart showing an example of a control procedure of the embodiment shown in Fig. 23;
Fig. 25 is an explanatory diagram used to explain operations of a majority logic circuit;
Fig. 26 is a block diagram showing an embodiment of an error detecting circuit in accordance with the present invention;
Fig. 27 is a diagram showing correct packet reception rates after error correction obtained by the computer simulation;
~ Figs. 28A, 28B, 28C and 28D are flowcharts showing an example of operation procedure of the embodiment shown in Fig. 21;
Fig. 29 is a block diagram showing another embodiment of an error detection circuit;
j Fig. 30 is a diagram showing a format of a character code signal to be transmitted:
. .
~L2225~3 -Fig. 31 is an explanatory diagram used to explain the underlying principle of the framing timing extraction according to the present invention;
Fig. 32 is a diagram illustrating a signal to be transmitted in accordance with the present invention, Fig. 33 is a diagram illustrating a packet signal loaded in a CPU;
Fig. 34 is an explanatory diagram used to explain the bit operation (erroneous framing timing) on a receiving side;
Fig. 35 is an explanatory diagram used to explain the bit operation (correct framing timing) on a receiv,ing side;
Figs~ 36A and 36B are flowcharts showing an example of a packet signal error correction procedure in accordance with the present invention;
Fig. 37 is a block diagram showing a signal fetching circuit in accordance with the present inven~ion;
Fig. 38 is a block diagram showing an embodiment of a circuit for detecting whether a clock-run-in signal is present or absent;
Fig. 39 is a diagram showing an example of a 36 byte data stored in a RAM of a CPU; and Fig. 40 is a flowchart showing an example of a practical framing phase retrieval procedure to be used in the present invention.
First of all, the characteristics of error bits in TV transmission path will be described. Fig. 1 shows the mean values of numbers of error bits in a byte (eight ... . . . .
bits), on condition that the data signal is transmitted in outdoor experiments and xecei~ed that data in an impulsive noise area. As shown in this Fig. 1, one-bit takes possession of 85%, so that it is seen that the correct effect will not reach by one digit, when the (8, 4) extended Hamming code is used which can correct one bit and detect two error bits (what i; called SEC-DED; Single ~rror Correction and Double Error Detection).
Fig. 2 shows similar distribution to that shown in Fig. 1, when the signal is transmitted in the form of interleaved arrangement and the received signal is de-interleaved. As shown in this Fig. 27 one-bit error is about 97.1%. In this case, the correction effect will not reach by two digits. Furthermore, in both the standard arrangement and interleaved arrangement, the efficiency is low and reaches only 50%. When the (16~ extended Hamming code, which is capable of correcting one bit and detecting two error bits (SE~-DED) in 16 bits is used, the efficiency is improved to 68.7~ as compared with the (8, 4) Hamming code. Bu~, the block error rate is not improved.
Next, the distribution of the number of error bits in one packet will be investigated. Fig. 3 shows that bit errors includin~ 1 through 8 bits reach 99.1% in the impulsive noise area.
In a waveform distortion area, all error bits include 1 through 8 bits as shown in Fi8. 4.
Figs. 5 and 6 show the distributions of the error burst lengths (which means the bit length from the first error bit t:o the last error bit, regardless of the number ~ ~Z~ 8 of error bits between them) in the impulsive area and the waveform distortion area, respectively.
Even if a code which is capable o~ correcting 68 bits burst errors is used, an improvement of one digit is effected in an impulsive noise area because of about 92 (90.8+1.6)% as shown in Fig. 5, while the improvement of one digit cannot be effected in the waveform distortion area because of about 75 (69.0+6.4)% as shown in Fig. 6.
Therefore, more improvements of error correction cannot be expected, when a burst error correction code such as a shortened interleaved cyclic code is used.
Figs. 7 and 8 show the cumulative distributions of error frequency rate in the impulsive noise area and waveform distortion area, respectively. In these Figs. 7 and 8, a parameter b/n (where, n = the length of one block, b = the number of error bits in one block) is used. It is seen that it would be advantageous ~hat the correction be made by using a long block. That is, when the block length is eight (n = 8) as shown in Fig. 7, b/n reaches 0.7; that is, six bits in eight bits must be all correcte~, in order to correct all error blocks. However, it is impossible to attain such correction, while maintaining a certain degree of efEiciency.
OD the other hand, when the block length n = 272 (the length of one packet in the case of the character code broadcasting), all the errors can be corrected with b/n =
0.04. As shown in Fig. 8, it is also seen that all the errors can be corrected with n = 272 and b/n = 0.03 in the wave-distortion area.
In view of the above, it is seen from the standpoint of error correcting ability, that the longer the block length, the more advantageous is obtained to correct one packet as one block, and that this scheme is realized.
Table 1 shows the evaluation of four typical error correction codes, with respect to the correction - ability, efficiency, scale of hardware ~algorithm), simultaneous processing of correction and detection of errors and adaptability to the packet signal.
s~
O O O X
t3 ~
4~ L) t O ~ O X O O
~ ~ o r~
e _, ~ ~ ~
Q~ O ~.~
it will maintain compatibility with the pattern-method teletext broadcasting so far developed, and also correspond to various kinds of services i~ the future using coded signals.
The code-method teletext broadcasting has many merits such as hi~h transmission efficiency, high system versatility and high expansibility, etc., in comparison with that of the pattern-method teletext broadcasting. On the other hand, however, it has demerits such as a high price problem of ROMs to be used in a receiving set character generator, and a problem that if a bit error exists in a transmission path, erroneous information will be displayed. However, according to the recent progress made in LSI technologies and wide spreading and use o~ word processors, etc., the R~M price will possibly be reduced by mass production.
In the Japanese character code broadcasting experimental system, which has already been announced~
there has long been used the (8, 4) extended Hamming code and the (16, 11) extended Hamming code, in order to correct one bit error in a block including 8 bits or 16 bits. This system is adapted for use with an excellent transmission path in which less bit error is expected. This system, however, cannot sufficiently function to correct error, i~
there exist many impulsive noises, so that there exists a bit error during a period of several consecutive bits in one block, or if transmission path characteristics are so poor that a bit error rate reaches as high as 10-2.
.... .
~n the other hand, in the case of error correcting operations for character code broadcasting, a so-called "framining synchronized reproduction'l for indicating a start of character codes in a packet is an important problem.
In the proposed system for reproducing a framining timing in a television receiver set, a predetermined bit pattern of a framing code transmitted immediately before the coded characters is detected for determining the framing timing, and thereafter the reception processing is made. With regard to this framing code, it is determined in advance that a distance between codes (~hat is, the number of inconsistent bits between the codes) is equal to or more than three. Therefore, it is possible to correct only one bit error.
However, an actual television transmission path is not satisfactory as a digital data transmission line, so that it is possible that framing code errors are caused by impulsive noise, waveform distortions, ghost inteference, etc. Therefore, there has been a disadvantage in that, when receiving framing codes, various countermeasures must be taken by utilizing, for instance, cyclic characteritstic of the framing code.
It is accordingly a first object of the present 2 25 invention is to provide an error correcting method with a i high degree of error correcting ability.
second objec~ of the present invention is to provide an error correcting and decoding method, in which a random multi-error correcting code suitable for use in the ' ~ - 4 -_~ .i .. ..
~L~2~;8 error correction of a character code broadcasting system is employed, and in which digitally coded characters, patterns or the like are multiplexed with the television signal during the vertical blanking periods, whereby a plurality of bit errors are to be corrected.
A third object of the present invention is to provide an error correcting and decoding method, with a high degree of error correcting ability which enables to shorten a processing time.
A fourth object of the present invention is to provide an error detection circuit~ in which the probability of erroneous error correction is minimized ~or the character code broadcasting.
A fifth object of the present invention is to provide a framing timing detection circuit, in which a framing code extraction circuit is eliminated on a receiving side, and it is ensured that a framing timing is reproduced.
In order to achieve the above objects in a broadcasting system for broadcasting character information, an error correction method for correcting an error included in the broadcasted character information according to the present invention comprises the steps of:
selecting a random multi-error correcting code ha~ing a maximum length block in a packet;
shortening the random multi-error correcting code by at least one bit;
~2~25S8 forming, as a character code signal containing character information, a data signal including a plurality of packets;
multiplying the received data signal as the character code signal by a matrix whose predetermined row all consists of 1 to increase an error correction probability; and decoding character information from the multiplied data signal.
Here, a signal including 273 data bits consisting of 191 information-bits and 82 parity-bits in the form of a majority logic difference set cyclic code for broadcasting character information may be selected and the random multi-error correcting code may be shortened by one bit so that 27~ data-bits form one pac~et. In addition, each of the data signal may have 272 data-bits consisting of 190 information-bits and 82 parity-bits.
Alternatively, a signal including 273 data-bits consisting of l91 information-bits and 82 parity-bits in the form of a majority logic difference set cyclic code for broadcasting character information may be selected and the random multi-error correcting code may be shortened by nine bits so that 264 data-bits form one packet. In this case, each of the data signal may have 264 data-bi~s consisting of 182 information-bits and 82 parity-bits.
In a broadcasting system having transmitting and receiving sides, an error correcting system for correcting an error in a transmission path between the transmitting and receiving sides according to the present invention comprises:
~ 2 ~Z ~ ~ 8 in the transmitting side;
means for generating a random multi-error correcting code having a maximum length block in a packet;
~eans for shortening the random multi-error correcting code by at least one bit; and means for forming a data signal including a plurality of packets.
means for transmitting the data signal; and in the receiving side:
means for receiving the transmitted signal;
means for multiplying the transmitted data signal by a matrix whose predetermined row all consists of 1 to increase an error correction probability; and means for decoding information from the multiplied data signal.
In this error correcting system, the means for generating the random multi-error correcting code may comprise means for generating a slgnal including 273 data-bits consisting of 191 information-bits and 82 parity-bits in the form of a majority logic difference set cyclic code.
The means for shortening the random multi-error correcting code may comprise means for shortening the signal by one bit to provide one packet containing 272 data bits. The means for forming the data signal may comprise means for forming a data signal including a plurality of packets, of which each has~272 data-bits consisting of 190 information-bits and 82 paritr bits.
Alternatively, the means for generating the random mul~i-error correcting code may comprise means for .. , ~2 ~ S ~ ~
generating a signal including 273 data-bits consisting of 191 information-bits and 82 parity-bits in the form of a majority logic difference set cyclic code. The means for shortening the random multi-error correcting code may comprise means for shortening the signal by nine bits to provide one packet containing 264 data bits. The means for forming the data signal may comprise means for forming a data signal including a plurality of packets, of which each has 264 data-bits consisting of 182 information-bits and 82 parity-bits.
Here, it is preferable that there are provided means for ilding and cycling the data signal by one bit and means for receiving the information bits and for cycling the received information by a plurality of bits, so that in response to the condition of the syndrome output with respect to the majority logic differential set cyclic code, errors in 9 bits or more than 9 bits per one packet can be corrected by the cycling means.
An error correction system according to the present invention may preferably comprise:
a syndrome register for receiving the parity bits;
a data register for receiving the information bits;
means for receiving the output from the syndrome register to deliver a majority decision of the output;
means for applying the output from the majority decision logic means to the syndrome register to correct syndrome; and ~2225~;8 means for adding the output from the majority decision logic means to the output from the data register to derive a decoded information.
Here, it is preferable that ~he information in one packet is divided into a plurality of groups, each consisting of a plurality of bits, so that the plurality of groups are transmitted by separate packets. There may be provided a memory having a storage capacity of information for 34 packets, and being accessed in accordance with a predetermined algorithm when a packet signal is written into or read out from the memory, to obtain a packet signal having a standard arrangement.
According to another aspect of the present invention, an error correction system comprises:
~ 15 a syndrome register for receiving parity bits;
a data register for receiving information bits;means for receiving the output from the syndrome register to deliver a majority decision of the outpu~;
a subtraction circuit provided in the majority decision logic circuit;
means for setting a decision threshold value of the majority decision logic circuit at a predetermined Yalue within the number of input elements to the majority decision logic circuit; and means for controlling the subtraction circuit in a manner that after a cyclic correction, a predetermined value is se~quentially subtracted from the decision threshold value by the subtraction circuit until the decision threshold value reaches a predetermined value, so that the decoding is effected with correction.
_ g _ ~2; :~558 Here, it is preferable that a signal consisting of a 272-bit data signal, a 190-bit information signal and an 82-bit partity is used, the decision threshold value of the majority decision logic circuit is preset at 17 and the specific number is set at 1, in a manner that the decision threshold value 17 is sequentially decreased until it reaches 9 to effect the correction and decoding.
In this aspect of the present invention, the setting of the decision threshold value may be modified in response to an instruction from an exterior device. The setting of the decision threshold value and the re-loading of data can be executed by hardware so that an error processing time period is shortened while software burden is decreased.
The decision threshold value may sequentially be decreased by 2 or 3 so that the error correction time is reduced.
The decision threshold value may be started from 13 so that the error correction time is shortened.
An error detection circuit for a character code broadcasting system of the type utilizing an error decoding system using a majority decision difference set cyclic code, according to the present invention comprises:
syndrome register for storing input information to perform cyclic correction;
means for counting the number of error correction bits generated from the syndrome register during the cyclic correction; and 1222~i8 means for deciding that an error is detected when the counted value reaches a predetermined value, even if the contents of ~he syndrome register are all set to zero~
whereby an erroneous display of characters is minimized~
Here~ the predetermined value can be varied in response to external reception conditions.
A framing timing detection circuit according to the present invention comprises:
first means for receiving a transmitted signal in which a pseudo random signal is added to a predetermined range of a packet signal for character code broadcasting;
second means for receiving the transmitted s.ignal and for adding specific signals to the leading and trailing ends thereof;
third means for executing a predetermined arithmetic operation to a predetermined range of the signal added with the specific signal;
fourth means for shifting a specific time point of the signal added with the specific signal by the second means by one bit sequentially; and fifth means for retrieving a timing at which the number of error bits is minimized, whereby the detection of a framing timing is ensured.
ID this framing timing detection circuit, it is preferable that specific signals are added to the leading and trailing ends of the received transmitted signal in which the exclusive OR result of the pseudo random signal is obtained in the portion succeeding a predetermined time point of the packet signal for character code broadcasting, ~L222558 .
and the exclusive OR operation of the pseudo random signal is effected in the portion succeeding to the predetermined time point of the signal added with the specific signals.
Also, it is preferable that on the transmission side the transmitted signal is formed by adding the pseudo random signal to the signal obtained by removing four bytes of a clock-run-in signal, a framing code signal, a service discrimination signal and an interrupt signal from the packet signal for character code broadcasting, in addition to a predetermined packet signal consisting of 34 bytes, each one byte is added to the leading and trailing ends of the packet signal, and on the reception side one packet signal is formed by sequentially shifting the leading bit of the received packet signal and the error correction of the one packet signal is effected by a (27~,190) error correction circuit, so that a timing at which the error of the one packet signal is corrected is obtained as the framing timing.
In this framing timing detection circuit, the shift number already determined can be stored, and thereafter a packet signal which is determined in response to the determined shift number can immediately be loaded into the error correction circuit. Here, it is preferable that the number of shifts which has been already determined is stored per one horizontal scan, so that the framing timing is dletected even when the phases of the transmitted signals are varied in respective horizontal scans. In the case that the errors of a packet signal is not corrected by a predetermined number of shifts, a framing timing may be Z~;5~
determined within a minimum time period in response to a predetermined algorithm.
Fig. 1 is a frequency rate diagram illustrating an example of a distribution of average error bit numbers in the received data obtained in the field tests;
Fig. 2 is a frequency rate diagram illustrating a distribution of error bit numbers, when the transmitted and received signal is interleaved in the outdoor experiments;
Fig. 3 is a frequency rate diagram illustrating a distribution of error bit numbers in one packet;
~ig. 4 is a frequency rate diagram illustrating a distribution of error bit numbers in one packet in the area where waveforms are distorted;
Fig. 5 is a frequency rate diagram illustrating a distribution of error burst lengths in one packe~ in an area having adversely affects by impulsive noise;
Fig. 6 is a frequency rate diagram illustrating a distribution of error burst lengths in one packet in an area where waveforms are distorted;
Fig. 7 is a diagram showing a cumulative distribution of frequency rates of error blocks with respect to b/n (%) in an area, having adverse effects by impulsive noise;
Fig. 8 is a diagram showing a cumulative distribution of frequency rates of error blocks with respect to b/n (%) in an area in which waveforms are distored;
Fig. 9 is a block diagram of an example of an error correctiDg and decoding circuit;
122255~3 Fig. 10 is a block diagram showing one embodiment of a signal transmission circuit used for carrying out the present invention;
Fig. ll is a block diagram showiDg another embodiment of an error correcting and decoding circuit in accordance with the present invention;
Fig. 12 is a block diagram showing one embodiment of a circuit which is applied to a practical character code broadcasting receiver in accordance with the present invention;
Fig. 13 is a block diagram showing one embodiment of a majority decision logic circuit in accordance with the present invention;
Fig. 14 is a flowchart showing the error correction procedure in accordance with the present invention;
Fig. 15 is a block diagram showing one embodiment of a circuit used for carrying out the present invention;
Fig. 16 is a waveform illustrating an example of a packet signal used in a character code broadcasting system;
~ ig. 17 shows an example of a packet signal in accordance with the present invention;
Fig. 18 shows another example of a packet signal in accordance with the present invention;
Fig. ~19 shows a further example of a packet signal in accordance with the present invention;
F;g. 20 is a diagram showing an example of a ROM
for decoding a scrambled signal in the case of the fourth ~L~zz~;~i8 example of a packet signal irl which an inverted information in each byte information is added to the signal as shown in Fig. 19;
Fig. 21 is a block diagram showing a first embodiment of an error correcting and detecting circuit in accordance with the present invention;
Fig. 22 is a flowchart showing an example of a control procedure of the first embodiment shown in Fig.
21;
Fig. 23 is a block diagram showing another embodiment of an error correcting and detecting circuit in accordance with the present invention;
Fig. 24 is a flowchart showing an example of a control procedure of the embodiment shown in Fig. 23;
Fig. 25 is an explanatory diagram used to explain operations of a majority logic circuit;
Fig. 26 is a block diagram showing an embodiment of an error detecting circuit in accordance with the present invention;
Fig. 27 is a diagram showing correct packet reception rates after error correction obtained by the computer simulation;
~ Figs. 28A, 28B, 28C and 28D are flowcharts showing an example of operation procedure of the embodiment shown in Fig. 21;
Fig. 29 is a block diagram showing another embodiment of an error detection circuit;
j Fig. 30 is a diagram showing a format of a character code signal to be transmitted:
. .
~L2225~3 -Fig. 31 is an explanatory diagram used to explain the underlying principle of the framing timing extraction according to the present invention;
Fig. 32 is a diagram illustrating a signal to be transmitted in accordance with the present invention, Fig. 33 is a diagram illustrating a packet signal loaded in a CPU;
Fig. 34 is an explanatory diagram used to explain the bit operation (erroneous framing timing) on a receiving side;
Fig. 35 is an explanatory diagram used to explain the bit operation (correct framing timing) on a receiv,ing side;
Figs~ 36A and 36B are flowcharts showing an example of a packet signal error correction procedure in accordance with the present invention;
Fig. 37 is a block diagram showing a signal fetching circuit in accordance with the present inven~ion;
Fig. 38 is a block diagram showing an embodiment of a circuit for detecting whether a clock-run-in signal is present or absent;
Fig. 39 is a diagram showing an example of a 36 byte data stored in a RAM of a CPU; and Fig. 40 is a flowchart showing an example of a practical framing phase retrieval procedure to be used in the present invention.
First of all, the characteristics of error bits in TV transmission path will be described. Fig. 1 shows the mean values of numbers of error bits in a byte (eight ... . . . .
bits), on condition that the data signal is transmitted in outdoor experiments and xecei~ed that data in an impulsive noise area. As shown in this Fig. 1, one-bit takes possession of 85%, so that it is seen that the correct effect will not reach by one digit, when the (8, 4) extended Hamming code is used which can correct one bit and detect two error bits (what i; called SEC-DED; Single ~rror Correction and Double Error Detection).
Fig. 2 shows similar distribution to that shown in Fig. 1, when the signal is transmitted in the form of interleaved arrangement and the received signal is de-interleaved. As shown in this Fig. 27 one-bit error is about 97.1%. In this case, the correction effect will not reach by two digits. Furthermore, in both the standard arrangement and interleaved arrangement, the efficiency is low and reaches only 50%. When the (16~ extended Hamming code, which is capable of correcting one bit and detecting two error bits (SE~-DED) in 16 bits is used, the efficiency is improved to 68.7~ as compared with the (8, 4) Hamming code. Bu~, the block error rate is not improved.
Next, the distribution of the number of error bits in one packet will be investigated. Fig. 3 shows that bit errors includin~ 1 through 8 bits reach 99.1% in the impulsive noise area.
In a waveform distortion area, all error bits include 1 through 8 bits as shown in Fi8. 4.
Figs. 5 and 6 show the distributions of the error burst lengths (which means the bit length from the first error bit t:o the last error bit, regardless of the number ~ ~Z~ 8 of error bits between them) in the impulsive area and the waveform distortion area, respectively.
Even if a code which is capable o~ correcting 68 bits burst errors is used, an improvement of one digit is effected in an impulsive noise area because of about 92 (90.8+1.6)% as shown in Fig. 5, while the improvement of one digit cannot be effected in the waveform distortion area because of about 75 (69.0+6.4)% as shown in Fig. 6.
Therefore, more improvements of error correction cannot be expected, when a burst error correction code such as a shortened interleaved cyclic code is used.
Figs. 7 and 8 show the cumulative distributions of error frequency rate in the impulsive noise area and waveform distortion area, respectively. In these Figs. 7 and 8, a parameter b/n (where, n = the length of one block, b = the number of error bits in one block) is used. It is seen that it would be advantageous ~hat the correction be made by using a long block. That is, when the block length is eight (n = 8) as shown in Fig. 7, b/n reaches 0.7; that is, six bits in eight bits must be all correcte~, in order to correct all error blocks. However, it is impossible to attain such correction, while maintaining a certain degree of efEiciency.
OD the other hand, when the block length n = 272 (the length of one packet in the case of the character code broadcasting), all the errors can be corrected with b/n =
0.04. As shown in Fig. 8, it is also seen that all the errors can be corrected with n = 272 and b/n = 0.03 in the wave-distortion area.
In view of the above, it is seen from the standpoint of error correcting ability, that the longer the block length, the more advantageous is obtained to correct one packet as one block, and that this scheme is realized.
Table 1 shows the evaluation of four typical error correction codes, with respect to the correction - ability, efficiency, scale of hardware ~algorithm), simultaneous processing of correction and detection of errors and adaptability to the packet signal.
s~
O O O X
t3 ~
4~ L) t O ~ O X O O
~ ~ o r~
e _, ~ ~ ~
Q~ O ~.~
3~ ~;< O O O
a ~ o a~ O O ~ O
.~ ~
~0 ..
d O O ~1 o~ _ ~
~ ~ .
J~ ~ O
o-~ o ~ ~ ~ ..
~; ~ o U ~ ~ , ~
c~ o ~ :~ o ~a o ~ o o o _ ~ e~ u ~, u _ Referring Table 1, it is seen that the majority logic decodable code has the highest evaluation with a less degree of defect, so that it is most adaptable for use in the error correction in the character code broadcasting.
There have been invented various ~ypes of majority logic decodable codes, but in view of ~he compatibility with the pattern-method character broadcasting, the (272,190) code, which is obtained by reducing one bit from the (273,191) difference set cyclic code (1 packet = 272 bits) is best adapted for the Japanese character code broadcasting. This code has an efficiency R. Where, efficiency R = 190/27~ = 0.70 In considering the error correcting ability, 8-bit random errors in one packet can be corrected. From Figs. 3 and 4, the error correction efficiency of 99.1% is expected in the impulsive noise area, while the correction efficiency of 100% in the waveform distortio~ area. Thus, the present invention uses this error correcting code.
Next, the underlying principle of this code will be described. First, the majority logic decodable code will be described. Let us assume the most simple example of the M-sequence code with a code length of 7, and an information digit of 3. The parity check matrix H o~ this code is given by.
H = 1110100 . . , Let e denote the vector representative of noise; that is, e = (eo, e~ , e6) and let S represent syndrome; that is, S = (So, S1, S2, S3) Then S = eHT
where, t indicates the transition of ~he vector.
The composite parity checks Al, A2 and A3 consisting of Sl, S2 and Sl + S3 are given as follows:
Al = So = eo + e2 + e3 A2 = S3 - eo + el ~ e5 As = Sl + S2 = eo + e4 + e6 It is seen that eo is included in all of Al, A2 and A3, while el through e6 are included in only one of Al~ A~ and A3. In this case, Al, A2 and A3 are referred to be "orthogonal with respect ~o eo".
Assume that eo has an error, then Al = A2 = A3 ~
1. When one of el through e6 is erred, one of Al, A2 and A3 becomes 1. Therefore, when the threshold value of Al, A2 and A3 is determined as 2 (or 3), the output from a majority logic circuit can correct the error bit eo. Since the M-sequence code is a cyclic code, when the above-described operation is repeated 7 times, one bit in 7 bits can be corrected without fail.
Fig. 9 shows an example of an error correction circuit for carrying out the above-described error correcting ~peration. Reference numeral 100 denotes a 7-; bit input signal. A syndrome register 101 is initially set to "0". Reference numeral 102 denotes a buffer register , ~L2;22~8 for temporarily storing the input data 100. Until the input signal 100 is completely entered into all the buffer registers 102, the same data are loaded in the syndrome register 101. In this case, a majority logic circuit 109 is not enabled. Reference numerals 103 through 107 denote modulo-two adders.
When all the 7-bit data have been completely entered into the registers 101 and 102, the error correcting operation is started. That is, the majority logic circuit or majority decision circuit 109 is enabled.
Three inputs 111, 112 and 113 are applied to the majority logic circuit or majority decision circuit 109. When two or three inputs of these three inputs are "l"s, the output 114 from the majority logic circuit 109 becomes "1" in response to which an error bit is corrected in the adder 107.
Simultaneously, in order to remove the adverse effect on the syndrome due to the error bit, the syndrome register 101 is modified in response to the output 11~.
Whether the error is completely corrected or not is detected by this operation. That is, if all the errors have been corrected upon completion of the operation for correcting every bit, the contents in the syndrome register 101 are all "0". If the contents in the syndrome register 101 are not "0", the decision is made that the correct correction has~not been accomplished. In this case, the generator polynomial is given as follows:
G(x) = X4 + x2 ~ X + 1 ~ 8 When the leading bit of the buffer register 102 is erred and then corrected, this correction corresponds to X7 bit.
It follows therefore that the effect to the syndrome register 101, due to X7, is given by {X7/G(x)} = 1 ~here, the symbol { } represents the residue class.
Therefore, in response to the output 114, a bit for modifying the syndrome is needed.
Next, the case of the actual transmission of data will be describedO
The generator matrix is given by 100101 1 ~
G = 0101110 ¦
In response to the three-bit information 001, the code C is given by C = (001) G = 0010111 When this code is transmitted without any error, the contents of the syndrome in a receiving side becomes naturally OOOOO The contents in the syndrome registex 101 changes as follows:
0100 the first, second, third and fourth bits are loadedO
1010 the first through fifth bits are loaded.
1101 the first through sixth bits are loaded.
0000 the first through seventh bits are loaded.
As describe~ above, the contents of the syndrome register 101 becomes 0000, so that every information without any error is derived from an output terminal 110.
Next, let us investigate the case, where the second bit is erred. In this case, the received data are 0110111. therefore, the syndrome S(x) is given by X5 + X4 + x2 + X + 1 S(X) = l G(X) = X3 + x2 + X
The contents of the syndrome register 101 become 0111 .
Next, let us investigate the operation of the error correction.
.
syndrome ~ _ _ __. ~ ;~ ~ a~ cy - ;~~~' c~rr~cCed register logic logic logic logic bit : I0l input 1 input 2 in~-t 3 ,_~__ ¦
1101 1 1 1 1 second bit _ Thus 3 the second bit can be corrected.
Next, the reason why the present invention selects the (273,191) majority logic decodable code will be described. The conventional majority logic decodable codes are the maximum length sequence code, the Hamming code 9 the Euclidian geometry code~ the finite projective geometry code and the difference set cyclic code etc. In these ~ ~5B
codes, the maximum length sequence code, the Hamming code and the Euclidian geometry code are in the form of 2m - 1.
In order to make one packet as one block, m = 9 and n =
Sll, then 239 bits must be shortend until n = 272. But, the transmission efficiency is remarkably decreased by this shortening. In the case of the finite projective geometry code, n can be attained to (2~lS -1)/(2S - 1). But, any code, which can be shortened so that error bits more than 8 8 bits in one packet may be corrected and the efficiency exceeds than 190/272, cannot be obtained.
The (273,191) majority logic decodable eode can be derived from the difference set cyclic code. The differences among the integers 0, 18, 24, 46, 50, 64, 103, 112, 115, 126, 128, 159, 166, 167~ 186, 196 and 201 are all different from each other. The generator polynomial of this code is given by G(X) = X82 ~ X77 + X76 ~ X71 + X67 + X66 + X56 ~
X52 + X48 + X40 ~ X36 + X34 + X24 + X22 +
X18 + xlO I X4 + 1 The inputs Al through A17 applied to the majority logic circuit or the majority decision circuit are given by Al = Slo + S5 A2 = S64 A3 = S76 + S58 A4 = S60 + S54 + S36 A5 - S78 + S56 + S50 + S32 A6 = S65 + S61 + S3g + S33 + Sls A7 = S46 + S29 ~ S25 + S3 A8 = S73 ~ S37 + S20 + S16 .
Ag = S79 + S70 + S34 + S17 + S13 Alo = S71 ~ S68 + S59 + S23 + S6 + S2 All = S80 + S69 + S66 + S57 -~ S21 + S4 + So A12 = S51 + S4g + S38 + S3s + S26 Al3 = S75 + S44 + S42 + S31 ~ S28 + Sl9 A14 = S81 + S74 + S43 + S41 + S30 + S27 + S18 A15 = S63 + S62 + S55 + S24 + S22 + S11 + S8 Al6 = S72 + S53 + S52 ~ S45 + S14 + S12 + Sl Al7 - S77 + S67 + S48 + S47 + S40 + Sg + S7 Fig. 10 shows a signal transmission circuit equiped in a trasmitting facilities. Reference numeral 200 represents an information bits of l90 bits, and is derived from the original code by reducing one bit. Thereforeg the information section comprises l90 bits. An 82-bit parity register 201 (which may be implemented~for exampleg in a MMI Programmable Logic Array Model 20X10) is initially set to "0", and switches 202, 203 and 204, are initially shifted to the positions indicated by the solid lines. The information bit 200 is transmitted through the switch 204, and is derived as a transmitted packet signal 205.
Simultaneously, the information bit 200 is transmitted through the switches 202, 2037 and an adder 206, whereby a parity bit is generated in accordance with Equation (1)~
After all the information bit 200 has been transmitted, the contents iD the parity register 201 are transmitted as parity bits. Therefore, from this time point~ the switches 2023 203 and 204 are shifted to the positions as indicated by the broken lines, so that the contents or signal in the :~z~`~:~
parity register 201 is derived as a transmitted packet signal 205. In this manner, one packet signal (272,190) is transmitted in the order of the information bit and the parity bit.
Fig. 11 shows a decoding circuit in accordance with the present invention. Reference numeral 300 represents an input signal (that is, the received signal), whose errors must be corrected. Bit "0" is added to the leading end of this input signal, thus one bit which has been shortened when transmitted is added. Therefore, the input signal comprises 273 bits. Except for this fact, the construction is substantially similar in principle to that as shown in Fig. ~. Reference numeral 301 represents a data register for storing the data which must be corrected, the register 301 being capable of holding 273 bits.
Reference numeral 302 represents a syndrome register, consisting of an 82-bit shift register. Reference numerals 303 through 323 represent modulo-two adders~ which generate the input signals to be applied to the majority logic circuit or majority decision circuit 341. The input numerals of the adders 307 through 323 represent the register numbers of the syndrome register 302. For instance~ the input 5, 10 of the adder 307 represent the outputs Ss and Slo, respectively, of the register stages Ss and S1o of the syndrome register 302. The output 324 through 340 fro~ the modulo-two adders 307 through 323 are applied to the majority logic circuit 341, and the correction signal 342 from the majority circuit 341 and the output signal from the register 301 are applied to a modulo-two adder 343.
~22~8 Initially, the syndrome register 302 is set to So = 0, ...., Sgl = 0. Until all the bits o~ the signal 300 have been entered into the data register 301, the majority logic circuit or majority decision circuit 341 remains disabled. When all data have been en~ered into the data register 301, the ~irst syndrome is determined by the register stages So through Sgl, and in response to the threshold value 9 (or 10), the maiority logic circuit 341 is enabled. Therefore, the leading bit error is corrected.
Whenever syndrome computation is advanced by one bit, the error correction is carried out, and the contents in the data register 301 is shifted by one bit. The adder 343 corrects the output from the register 301, in response to the correction signal 342~ whereby the corrected data 344 is derived.
The above-described decoding circuit shows the outline of decoding procedure. Fig. 12 shows a circuit which can be used in practice for receiving the character code broadcasting. Re~erence numeral 400 represents a CPU
bus line; 401, a 16-bit output port from a CPU (not shown);
403, an 82-bit syndrome register with a feedback capability; 404, a data register; 405, a majority logic circuit including 17 majority logic input circuits; 406, a 16-bit parallel-serial converter; 407, a 16-bit serial-parallel converter; 408, a 16-bit pulse generator; 409, a load-correct gate generator which generates a signal for data-loading and data-correcting; 410, a gate; 411, a read~
signal generator; 412, an error status register; 413, a 16-bit paralle~l input data; 414, a 16-bit parallel output - 29 ~
-data; 415, a start signal; 416, a load signal; 417, a correct instruction signal; 4L8, load-end signal; 419, a clock signal; 420, an input serial data; 421, an output serial data; 422, a 16-bit clock signal; 423, an 82-bit syndrome data; 424, an error correcting signal; 425, an error status signal; 426, a ready signal; and 427, a 16 bit carry signal.
In response to the start signal 415 transmitted from CPU, the syndrome register 403 is cleared, and the load-correct gate generator 409 is so controlled that the load gate signal 428 may be generated. In response to this signal, the input signal 420 to the syndrome register 403 is sequentially loaded into the syndrome register 403.
Thereafter, CPU transmits a 16 bit data to the data register within the output port 401, so that the load signal 416 is generated. In response to the load signal 4169 the 16-bit pulse generator 408 generates 16-bit cloc~
signals for shift operation, so that the data in the parallel-serial converter 406 are read out, and are loaded into the syndrome register 403 and the data register 404.
The 16-bit clock signal is generated, in response to ~he clock signal 419. If it is a signal with a frequency higher than 5 MHz, the errors in one packet can be corrected within a time of less than 1 m second. In response to the load signal, the ready signal generator 411 is reset, and is driven into the busy state. Upon completion of the transmission of the 16-bit shift clock, the 16-bit carry signal 427 is generated, so that the ready signal generator 411 is driven into the ready state. In response to the ready signal 426, the next instruction is requested to CPU. The above operation is repeated for 272 bi~s of one packet. Therefore, data set is repeated 272/16 = 17 times, while the load instruction is derived also 17 times.
When all the data have been set into the parallel-serial converter 406 and the load instruction has been generated, CPU generates the load end signal 418, so that the syndrome register 403 is shifted by one bit. This one bit corresponds to the one bit, which has been shortened. Thereafter, the error correction is carried out from the leading bit. The error correction is carried out for each 16 bits, and the error-corrected 16-bit data is read out by CPU. The correct signal 417 is an error correcting signal derived from CPU, and in response to one error correcting instruction, the error of the 16-bit data at the leading end of the data register 404 is corrected~
As in the case of the load instruction generated by the load signal 416, in response to the correct signal 417, the 16-bit clock signal is derived from the 16-bit pulse generator 408, so that the registers 403 and 404 are shifted by 16 bits. When the leading end of the data register 404 is detected as being an error, in response to the error correcting signal 424, the error bit is inverted, then its bit is sequentially loaded into the serial-parallel converter 407.
The error correcting signal 424 is derived from the majority logic circuit 405, ~nd is controlled by the output signal fro~ the load-correct gate generator 40~, ` ' '! , ~L2Z2~
which is controlled in response to the correct signal 417.
As in the case of the data loading, when the 16-bit errors have been corrected, the ready signal 426 informs CPU that 16 bits have been corrected, and that the data is loaded into the register 407 which is a serial-parallel converter.
The above-described operation is repeated 17 times, so that 272-bit data including a parity can be restored.
Reference numeral 412 represents an error status register, comprising an OR gate to which are applied 82 bits from the syndrome register 403. Whether the contents in the syndrome register 403 are all "O" or not is checked.
Under these conditions, when the error status signal 425 is applied to CPU, whether or not the correct correction has been made can be determined. That is, only when the contents in the syndrome register are all "O", the correct correction has been carried out.
So far each 16-bit data has been described as being loaded and after the errors in each 16 bit data have been corrected, the data is read by CPU, but it is to be understood that in principle, each 8 bit, 34-bit, 68-bit or 136-bit data can be processed in a manner substantially similar to that described above. From the standpoint of the scale of a conventional hardwaxe, it is suitable to handle a 16-bit data. If one instruction consists of many bits, the circuit components 401, 402, 406 and 407 will become large and complicated.
With regard to the majority logic decodable code 9 if the number of majority logic elements are increased, the ; number of logic circuits which are used in practice will be ~L2~
increased exponentially. Therefore, the code in which the number of the majority logic elements 17 is not used in practice. In order to provide such logic circuits, the number of logic OR inputs becomes ~ l7 CL~
i-9 That is, the number of OR inpu~ elements becomes the order of 104, so that the error correction method cannot be applied to homes television receivers. If it is attempted to carry out the error correction method with a ROM with 17 bit inputs, a ROM with 217bits would be needed. That is, speclal and large-sized ROMs would be needed. As a result, - the error correcting method cannot be applied to the home television receivers.
Therefore, according to the present invention, the 17 majority-decision-input (majority lo~ic element) logic can be realized, using simplest logic elements as shown in Fig. 13.
In Fig. 13, reference numerals 500 and 501 represent, respectively, ~ majority logic elements.
Reference numeral 502 represents the remaining one majority logic element. Reference numerals 503 and 504 represent 4 X 256 bit ROMs (which may be, for example, a Signetics Model 82S129); 505 and 506, the four-bit outputs, respectively, from the ROMs 503 and 504; and 507, a conventional adder (for example, a TI Model 7483) whose output is represented by 508. Reference numeral 509 represents a comparator ~for example, a TI Model 7485);
510, an input applied to side B of the comparator 509; and 511, an A ~ B output from the comparator 509.
In response to the 8-bit input 500, the output 505, which represents the number of "1" in the 8 bits by four bits, is derived from the ROM 503. For instance, if M0 = 1 and M1=M2=M3=M4=M5=M6=M7=0, the output 505 represents 1 by "1000". In like manner, another 8-bit input 501 is processed by the ROM 504, so that the output 506 which represents the number of "1" is derived. The adder 507 adds the binary outputs 505~ 506 and the 17-th majority logic element M16 which is a carry, so that the output 508 is derived. The input to side B is limited to 8, and only when the input to side A 508 is greater than the input 510, the A ~ B output 511 is derived as "1".
Therefore, when more than 9 inputs in the 17 inputs are "l"s, the majority logic or decision can be detected.
Until now, the underlying principle of the t272,190) majority logic decodable code, adapted for use in the error correcting method for the character code broadcasting in accordance with the presen~ invention, and the practical reception logic circuit construction have been described. In the case of the practical signal transmission, only the 82-bit parity signal or the 190-bit iDformation signal must be inverted for transmission, and must be restored when received. The reason is that, when the signals in one packet are all "0", they will not represent any code.
Thus far, the method is such that a packet signal is entered into a RAM in CPU, and the data in the RAM is delivered to the error control I/O, so that the error-corrected data is read again, but it is to be understood 2~
that, prior to entering the data into the RAM of CPU, the errors are corrected. In this case, the error correction time is substantially equal to the time required for loading the data into the shift register~ As a result, more than two error correcting circuits of the type described above will be needed.
The error correcting method described above is suitable for the bit error characteristics of TV
transmission path. According to this method, very efficient error correcting ability can be obtained.
Furthermore, 272 bits can be corrected as a whole by a simple decoding circuit, which is simpler compared with any other error correcting methods. As a conse~uence, the error correcting method in accordance with the present lS invention is best adapted for the application to an error correcting circuit of a home-use television receiver, which requires inexpensive hardware. In addition, the method of the present invention can simultaneously correct and detect errors, so that it is best adapted for use in the character code broadcasting system in which it is not permitted at all to display error codes.
The method in accordance with the present invention can be adapted to a system similar to a pattern-method teletext broadcasting system, recommended by the Radio Technical Council in Japan, since the method of the present invention uses a 272-bit digital signal to be ` transmltted per one scanning line of television signal.
Therefore, provided that a bit rate is the same~ the method of the present invention can also be applied to a digital - 3~ -~L:22~
facsimile system, a software broadcasting system, a braille broadcasting system for the blind and other code broadcasting systems in addition to the present teletext broadcasting system.
As described above, the (272,190) majority logic decodable code can correct any errors of less t~an 9 bits, which occur at any positions in one packet. In case of correction of an error of more than 9 bits, however, there exists only a few error correcting patterns, and in practice, it is impossible to correct almost all errors of more than 8 bits.
Therefore, another embodiment of the present invention, capable of correcting errors on the order of 9, 10, 11 and 12 bits with a relatively high degree of accuracy, will be described.
In the following embodiment, almost all error patterns of 9 bits can be completely corrected, so that the page error rate can considerably be improved.
~irst, the underlying principle will be described. As described above, the generator polynomial G~x) of the (273,191) code is given by G(x) = X82 + X77 + X76 + X71 + X67 ~ X66 + X56 +
X52 + X48 + X40 ~ X36 + X34 + X24 + x~2 +
xl8 + x10 ~ X4 ~ 1 Matrix expression of the generator polynomial is expressed as follows:
~Z2;~3 ~ - 191 ~ 82~
_ _ _ _ _ _ _ _ _ _ _ _ _ _ G = ~ I, P , 191 ~ 1-- -- -- -- t -- -- --' 1 1 where, I expresses a unit matrix of 191 x 191, p expresses a matrix of 82 X 191.
The check matrix H is expressed by ~ 191~ 82~ ~
H = ~ pT ~ 82 _ J
An orthogonal parity check sums in which each leading bit is orthogonal, may be produced by the linear combination of 82 column vectors of the matrix H. The leading portions of the 17 orthogonal parity check sums may be expressed as follows:
~ l (~) 1 1 ........
~ 1 - 1 ........
~ 1 ~1= $ 1 1 1 1 1 1 1 8 1 1 ::::::::
~ 1 1 1 ........
~ 1 ` 1 1 1 .. ------8 1 1 ~ :
.
3L;2;~:2~
Where, Hl is an orthogonal parity check sums obtained by the linear transformation of the check matrix H.
The reception vector r is r = c + e where, c is a code signal, and e is an error signal.
Therefore, the orthogonal parity check sums is expressed by r HlT = ( c ~ e ) ~lT = eHlT
Therefore, it is necessary to consider only errors, so that only eH1 will be investigated.
Provided that there exist more than 8 bits. In the case of an error of less than 9 bits, all the errors can be corrected, in view of the underlying principle of the code.
(1) When the first nine bits are all erroneous, the error vector e is expressed by 15e = ( l~ lgO~O~O~ O ) Hence, eH1 = (1,0,1,0,1,1 1,0,071,0,1,1,0,1,0,1,0,1) The number of ls is 11, which exceeds the thresold value 9, ~~
so that the first bit is corrected. The remaining 8 bits can naturally be corrected~ so that the nine bits can be corrected after all.
Therefore, in the case of an error of nine bits, if the leading error is detected prior to the correcting operation and then corrected~ the remaining eight erroneous bits can be corrected. Thus, all the 9 erroneous bits can be corrected. Therefore, if an error correction is impossible by a first error correcting operation, then the data is cyclically shifted by one or more bits, so that the error correcting operation is made again. While cyclically ~
' ! ~
~L222S~;8 shifting, the leading error bit can be detected, so that all the nine bit errors can be corrected.
(2) Let us consider the following 10 bit error:
e = ( l~ O~O~O~O~ o~O) (3) Provided that the first 11 bits are all erroneous, e = (1,1,1,1,1,1,1,1,1,1,1,0,0,0,...0) eHlT = (1,0,1,0,1,1,0,0,1,0~1,1,0,1,0,0,1) The number of ls is 9, so that the leading bit is corrected. The remaining ten erroneous bits can be corrected as described in Item (2). Therefore, the above described error pattern can be completely corrected.
eHlT = (l,O,l,O,l,l?O,O,l,O,ljl,O,l,l,O,l) Since the number of ls is ten, the leading bit is corrected. The remaining nine erroneous bits can be corrected as described in tl~, so that ten erroneous bits can be corrected.
a ~ o a~ O O ~ O
.~ ~
~0 ..
d O O ~1 o~ _ ~
~ ~ .
J~ ~ O
o-~ o ~ ~ ~ ..
~; ~ o U ~ ~ , ~
c~ o ~ :~ o ~a o ~ o o o _ ~ e~ u ~, u _ Referring Table 1, it is seen that the majority logic decodable code has the highest evaluation with a less degree of defect, so that it is most adaptable for use in the error correction in the character code broadcasting.
There have been invented various ~ypes of majority logic decodable codes, but in view of ~he compatibility with the pattern-method character broadcasting, the (272,190) code, which is obtained by reducing one bit from the (273,191) difference set cyclic code (1 packet = 272 bits) is best adapted for the Japanese character code broadcasting. This code has an efficiency R. Where, efficiency R = 190/27~ = 0.70 In considering the error correcting ability, 8-bit random errors in one packet can be corrected. From Figs. 3 and 4, the error correction efficiency of 99.1% is expected in the impulsive noise area, while the correction efficiency of 100% in the waveform distortio~ area. Thus, the present invention uses this error correcting code.
Next, the underlying principle of this code will be described. First, the majority logic decodable code will be described. Let us assume the most simple example of the M-sequence code with a code length of 7, and an information digit of 3. The parity check matrix H o~ this code is given by.
H = 1110100 . . , Let e denote the vector representative of noise; that is, e = (eo, e~ , e6) and let S represent syndrome; that is, S = (So, S1, S2, S3) Then S = eHT
where, t indicates the transition of ~he vector.
The composite parity checks Al, A2 and A3 consisting of Sl, S2 and Sl + S3 are given as follows:
Al = So = eo + e2 + e3 A2 = S3 - eo + el ~ e5 As = Sl + S2 = eo + e4 + e6 It is seen that eo is included in all of Al, A2 and A3, while el through e6 are included in only one of Al~ A~ and A3. In this case, Al, A2 and A3 are referred to be "orthogonal with respect ~o eo".
Assume that eo has an error, then Al = A2 = A3 ~
1. When one of el through e6 is erred, one of Al, A2 and A3 becomes 1. Therefore, when the threshold value of Al, A2 and A3 is determined as 2 (or 3), the output from a majority logic circuit can correct the error bit eo. Since the M-sequence code is a cyclic code, when the above-described operation is repeated 7 times, one bit in 7 bits can be corrected without fail.
Fig. 9 shows an example of an error correction circuit for carrying out the above-described error correcting ~peration. Reference numeral 100 denotes a 7-; bit input signal. A syndrome register 101 is initially set to "0". Reference numeral 102 denotes a buffer register , ~L2;22~8 for temporarily storing the input data 100. Until the input signal 100 is completely entered into all the buffer registers 102, the same data are loaded in the syndrome register 101. In this case, a majority logic circuit 109 is not enabled. Reference numerals 103 through 107 denote modulo-two adders.
When all the 7-bit data have been completely entered into the registers 101 and 102, the error correcting operation is started. That is, the majority logic circuit or majority decision circuit 109 is enabled.
Three inputs 111, 112 and 113 are applied to the majority logic circuit or majority decision circuit 109. When two or three inputs of these three inputs are "l"s, the output 114 from the majority logic circuit 109 becomes "1" in response to which an error bit is corrected in the adder 107.
Simultaneously, in order to remove the adverse effect on the syndrome due to the error bit, the syndrome register 101 is modified in response to the output 11~.
Whether the error is completely corrected or not is detected by this operation. That is, if all the errors have been corrected upon completion of the operation for correcting every bit, the contents in the syndrome register 101 are all "0". If the contents in the syndrome register 101 are not "0", the decision is made that the correct correction has~not been accomplished. In this case, the generator polynomial is given as follows:
G(x) = X4 + x2 ~ X + 1 ~ 8 When the leading bit of the buffer register 102 is erred and then corrected, this correction corresponds to X7 bit.
It follows therefore that the effect to the syndrome register 101, due to X7, is given by {X7/G(x)} = 1 ~here, the symbol { } represents the residue class.
Therefore, in response to the output 114, a bit for modifying the syndrome is needed.
Next, the case of the actual transmission of data will be describedO
The generator matrix is given by 100101 1 ~
G = 0101110 ¦
In response to the three-bit information 001, the code C is given by C = (001) G = 0010111 When this code is transmitted without any error, the contents of the syndrome in a receiving side becomes naturally OOOOO The contents in the syndrome registex 101 changes as follows:
0100 the first, second, third and fourth bits are loadedO
1010 the first through fifth bits are loaded.
1101 the first through sixth bits are loaded.
0000 the first through seventh bits are loaded.
As describe~ above, the contents of the syndrome register 101 becomes 0000, so that every information without any error is derived from an output terminal 110.
Next, let us investigate the case, where the second bit is erred. In this case, the received data are 0110111. therefore, the syndrome S(x) is given by X5 + X4 + x2 + X + 1 S(X) = l G(X) = X3 + x2 + X
The contents of the syndrome register 101 become 0111 .
Next, let us investigate the operation of the error correction.
.
syndrome ~ _ _ __. ~ ;~ ~ a~ cy - ;~~~' c~rr~cCed register logic logic logic logic bit : I0l input 1 input 2 in~-t 3 ,_~__ ¦
1101 1 1 1 1 second bit _ Thus 3 the second bit can be corrected.
Next, the reason why the present invention selects the (273,191) majority logic decodable code will be described. The conventional majority logic decodable codes are the maximum length sequence code, the Hamming code 9 the Euclidian geometry code~ the finite projective geometry code and the difference set cyclic code etc. In these ~ ~5B
codes, the maximum length sequence code, the Hamming code and the Euclidian geometry code are in the form of 2m - 1.
In order to make one packet as one block, m = 9 and n =
Sll, then 239 bits must be shortend until n = 272. But, the transmission efficiency is remarkably decreased by this shortening. In the case of the finite projective geometry code, n can be attained to (2~lS -1)/(2S - 1). But, any code, which can be shortened so that error bits more than 8 8 bits in one packet may be corrected and the efficiency exceeds than 190/272, cannot be obtained.
The (273,191) majority logic decodable eode can be derived from the difference set cyclic code. The differences among the integers 0, 18, 24, 46, 50, 64, 103, 112, 115, 126, 128, 159, 166, 167~ 186, 196 and 201 are all different from each other. The generator polynomial of this code is given by G(X) = X82 ~ X77 + X76 ~ X71 + X67 + X66 + X56 ~
X52 + X48 + X40 ~ X36 + X34 + X24 + X22 +
X18 + xlO I X4 + 1 The inputs Al through A17 applied to the majority logic circuit or the majority decision circuit are given by Al = Slo + S5 A2 = S64 A3 = S76 + S58 A4 = S60 + S54 + S36 A5 - S78 + S56 + S50 + S32 A6 = S65 + S61 + S3g + S33 + Sls A7 = S46 + S29 ~ S25 + S3 A8 = S73 ~ S37 + S20 + S16 .
Ag = S79 + S70 + S34 + S17 + S13 Alo = S71 ~ S68 + S59 + S23 + S6 + S2 All = S80 + S69 + S66 + S57 -~ S21 + S4 + So A12 = S51 + S4g + S38 + S3s + S26 Al3 = S75 + S44 + S42 + S31 ~ S28 + Sl9 A14 = S81 + S74 + S43 + S41 + S30 + S27 + S18 A15 = S63 + S62 + S55 + S24 + S22 + S11 + S8 Al6 = S72 + S53 + S52 ~ S45 + S14 + S12 + Sl Al7 - S77 + S67 + S48 + S47 + S40 + Sg + S7 Fig. 10 shows a signal transmission circuit equiped in a trasmitting facilities. Reference numeral 200 represents an information bits of l90 bits, and is derived from the original code by reducing one bit. Thereforeg the information section comprises l90 bits. An 82-bit parity register 201 (which may be implemented~for exampleg in a MMI Programmable Logic Array Model 20X10) is initially set to "0", and switches 202, 203 and 204, are initially shifted to the positions indicated by the solid lines. The information bit 200 is transmitted through the switch 204, and is derived as a transmitted packet signal 205.
Simultaneously, the information bit 200 is transmitted through the switches 202, 2037 and an adder 206, whereby a parity bit is generated in accordance with Equation (1)~
After all the information bit 200 has been transmitted, the contents iD the parity register 201 are transmitted as parity bits. Therefore, from this time point~ the switches 2023 203 and 204 are shifted to the positions as indicated by the broken lines, so that the contents or signal in the :~z~`~:~
parity register 201 is derived as a transmitted packet signal 205. In this manner, one packet signal (272,190) is transmitted in the order of the information bit and the parity bit.
Fig. 11 shows a decoding circuit in accordance with the present invention. Reference numeral 300 represents an input signal (that is, the received signal), whose errors must be corrected. Bit "0" is added to the leading end of this input signal, thus one bit which has been shortened when transmitted is added. Therefore, the input signal comprises 273 bits. Except for this fact, the construction is substantially similar in principle to that as shown in Fig. ~. Reference numeral 301 represents a data register for storing the data which must be corrected, the register 301 being capable of holding 273 bits.
Reference numeral 302 represents a syndrome register, consisting of an 82-bit shift register. Reference numerals 303 through 323 represent modulo-two adders~ which generate the input signals to be applied to the majority logic circuit or majority decision circuit 341. The input numerals of the adders 307 through 323 represent the register numbers of the syndrome register 302. For instance~ the input 5, 10 of the adder 307 represent the outputs Ss and Slo, respectively, of the register stages Ss and S1o of the syndrome register 302. The output 324 through 340 fro~ the modulo-two adders 307 through 323 are applied to the majority logic circuit 341, and the correction signal 342 from the majority circuit 341 and the output signal from the register 301 are applied to a modulo-two adder 343.
~22~8 Initially, the syndrome register 302 is set to So = 0, ...., Sgl = 0. Until all the bits o~ the signal 300 have been entered into the data register 301, the majority logic circuit or majority decision circuit 341 remains disabled. When all data have been en~ered into the data register 301, the ~irst syndrome is determined by the register stages So through Sgl, and in response to the threshold value 9 (or 10), the maiority logic circuit 341 is enabled. Therefore, the leading bit error is corrected.
Whenever syndrome computation is advanced by one bit, the error correction is carried out, and the contents in the data register 301 is shifted by one bit. The adder 343 corrects the output from the register 301, in response to the correction signal 342~ whereby the corrected data 344 is derived.
The above-described decoding circuit shows the outline of decoding procedure. Fig. 12 shows a circuit which can be used in practice for receiving the character code broadcasting. Re~erence numeral 400 represents a CPU
bus line; 401, a 16-bit output port from a CPU (not shown);
403, an 82-bit syndrome register with a feedback capability; 404, a data register; 405, a majority logic circuit including 17 majority logic input circuits; 406, a 16-bit parallel-serial converter; 407, a 16-bit serial-parallel converter; 408, a 16-bit pulse generator; 409, a load-correct gate generator which generates a signal for data-loading and data-correcting; 410, a gate; 411, a read~
signal generator; 412, an error status register; 413, a 16-bit paralle~l input data; 414, a 16-bit parallel output - 29 ~
-data; 415, a start signal; 416, a load signal; 417, a correct instruction signal; 4L8, load-end signal; 419, a clock signal; 420, an input serial data; 421, an output serial data; 422, a 16-bit clock signal; 423, an 82-bit syndrome data; 424, an error correcting signal; 425, an error status signal; 426, a ready signal; and 427, a 16 bit carry signal.
In response to the start signal 415 transmitted from CPU, the syndrome register 403 is cleared, and the load-correct gate generator 409 is so controlled that the load gate signal 428 may be generated. In response to this signal, the input signal 420 to the syndrome register 403 is sequentially loaded into the syndrome register 403.
Thereafter, CPU transmits a 16 bit data to the data register within the output port 401, so that the load signal 416 is generated. In response to the load signal 4169 the 16-bit pulse generator 408 generates 16-bit cloc~
signals for shift operation, so that the data in the parallel-serial converter 406 are read out, and are loaded into the syndrome register 403 and the data register 404.
The 16-bit clock signal is generated, in response to ~he clock signal 419. If it is a signal with a frequency higher than 5 MHz, the errors in one packet can be corrected within a time of less than 1 m second. In response to the load signal, the ready signal generator 411 is reset, and is driven into the busy state. Upon completion of the transmission of the 16-bit shift clock, the 16-bit carry signal 427 is generated, so that the ready signal generator 411 is driven into the ready state. In response to the ready signal 426, the next instruction is requested to CPU. The above operation is repeated for 272 bi~s of one packet. Therefore, data set is repeated 272/16 = 17 times, while the load instruction is derived also 17 times.
When all the data have been set into the parallel-serial converter 406 and the load instruction has been generated, CPU generates the load end signal 418, so that the syndrome register 403 is shifted by one bit. This one bit corresponds to the one bit, which has been shortened. Thereafter, the error correction is carried out from the leading bit. The error correction is carried out for each 16 bits, and the error-corrected 16-bit data is read out by CPU. The correct signal 417 is an error correcting signal derived from CPU, and in response to one error correcting instruction, the error of the 16-bit data at the leading end of the data register 404 is corrected~
As in the case of the load instruction generated by the load signal 416, in response to the correct signal 417, the 16-bit clock signal is derived from the 16-bit pulse generator 408, so that the registers 403 and 404 are shifted by 16 bits. When the leading end of the data register 404 is detected as being an error, in response to the error correcting signal 424, the error bit is inverted, then its bit is sequentially loaded into the serial-parallel converter 407.
The error correcting signal 424 is derived from the majority logic circuit 405, ~nd is controlled by the output signal fro~ the load-correct gate generator 40~, ` ' '! , ~L2Z2~
which is controlled in response to the correct signal 417.
As in the case of the data loading, when the 16-bit errors have been corrected, the ready signal 426 informs CPU that 16 bits have been corrected, and that the data is loaded into the register 407 which is a serial-parallel converter.
The above-described operation is repeated 17 times, so that 272-bit data including a parity can be restored.
Reference numeral 412 represents an error status register, comprising an OR gate to which are applied 82 bits from the syndrome register 403. Whether the contents in the syndrome register 403 are all "O" or not is checked.
Under these conditions, when the error status signal 425 is applied to CPU, whether or not the correct correction has been made can be determined. That is, only when the contents in the syndrome register are all "O", the correct correction has been carried out.
So far each 16-bit data has been described as being loaded and after the errors in each 16 bit data have been corrected, the data is read by CPU, but it is to be understood that in principle, each 8 bit, 34-bit, 68-bit or 136-bit data can be processed in a manner substantially similar to that described above. From the standpoint of the scale of a conventional hardwaxe, it is suitable to handle a 16-bit data. If one instruction consists of many bits, the circuit components 401, 402, 406 and 407 will become large and complicated.
With regard to the majority logic decodable code 9 if the number of majority logic elements are increased, the ; number of logic circuits which are used in practice will be ~L2~
increased exponentially. Therefore, the code in which the number of the majority logic elements 17 is not used in practice. In order to provide such logic circuits, the number of logic OR inputs becomes ~ l7 CL~
i-9 That is, the number of OR inpu~ elements becomes the order of 104, so that the error correction method cannot be applied to homes television receivers. If it is attempted to carry out the error correction method with a ROM with 17 bit inputs, a ROM with 217bits would be needed. That is, speclal and large-sized ROMs would be needed. As a result, - the error correcting method cannot be applied to the home television receivers.
Therefore, according to the present invention, the 17 majority-decision-input (majority lo~ic element) logic can be realized, using simplest logic elements as shown in Fig. 13.
In Fig. 13, reference numerals 500 and 501 represent, respectively, ~ majority logic elements.
Reference numeral 502 represents the remaining one majority logic element. Reference numerals 503 and 504 represent 4 X 256 bit ROMs (which may be, for example, a Signetics Model 82S129); 505 and 506, the four-bit outputs, respectively, from the ROMs 503 and 504; and 507, a conventional adder (for example, a TI Model 7483) whose output is represented by 508. Reference numeral 509 represents a comparator ~for example, a TI Model 7485);
510, an input applied to side B of the comparator 509; and 511, an A ~ B output from the comparator 509.
In response to the 8-bit input 500, the output 505, which represents the number of "1" in the 8 bits by four bits, is derived from the ROM 503. For instance, if M0 = 1 and M1=M2=M3=M4=M5=M6=M7=0, the output 505 represents 1 by "1000". In like manner, another 8-bit input 501 is processed by the ROM 504, so that the output 506 which represents the number of "1" is derived. The adder 507 adds the binary outputs 505~ 506 and the 17-th majority logic element M16 which is a carry, so that the output 508 is derived. The input to side B is limited to 8, and only when the input to side A 508 is greater than the input 510, the A ~ B output 511 is derived as "1".
Therefore, when more than 9 inputs in the 17 inputs are "l"s, the majority logic or decision can be detected.
Until now, the underlying principle of the t272,190) majority logic decodable code, adapted for use in the error correcting method for the character code broadcasting in accordance with the presen~ invention, and the practical reception logic circuit construction have been described. In the case of the practical signal transmission, only the 82-bit parity signal or the 190-bit iDformation signal must be inverted for transmission, and must be restored when received. The reason is that, when the signals in one packet are all "0", they will not represent any code.
Thus far, the method is such that a packet signal is entered into a RAM in CPU, and the data in the RAM is delivered to the error control I/O, so that the error-corrected data is read again, but it is to be understood 2~
that, prior to entering the data into the RAM of CPU, the errors are corrected. In this case, the error correction time is substantially equal to the time required for loading the data into the shift register~ As a result, more than two error correcting circuits of the type described above will be needed.
The error correcting method described above is suitable for the bit error characteristics of TV
transmission path. According to this method, very efficient error correcting ability can be obtained.
Furthermore, 272 bits can be corrected as a whole by a simple decoding circuit, which is simpler compared with any other error correcting methods. As a conse~uence, the error correcting method in accordance with the present lS invention is best adapted for the application to an error correcting circuit of a home-use television receiver, which requires inexpensive hardware. In addition, the method of the present invention can simultaneously correct and detect errors, so that it is best adapted for use in the character code broadcasting system in which it is not permitted at all to display error codes.
The method in accordance with the present invention can be adapted to a system similar to a pattern-method teletext broadcasting system, recommended by the Radio Technical Council in Japan, since the method of the present invention uses a 272-bit digital signal to be ` transmltted per one scanning line of television signal.
Therefore, provided that a bit rate is the same~ the method of the present invention can also be applied to a digital - 3~ -~L:22~
facsimile system, a software broadcasting system, a braille broadcasting system for the blind and other code broadcasting systems in addition to the present teletext broadcasting system.
As described above, the (272,190) majority logic decodable code can correct any errors of less t~an 9 bits, which occur at any positions in one packet. In case of correction of an error of more than 9 bits, however, there exists only a few error correcting patterns, and in practice, it is impossible to correct almost all errors of more than 8 bits.
Therefore, another embodiment of the present invention, capable of correcting errors on the order of 9, 10, 11 and 12 bits with a relatively high degree of accuracy, will be described.
In the following embodiment, almost all error patterns of 9 bits can be completely corrected, so that the page error rate can considerably be improved.
~irst, the underlying principle will be described. As described above, the generator polynomial G~x) of the (273,191) code is given by G(x) = X82 + X77 + X76 + X71 + X67 ~ X66 + X56 +
X52 + X48 + X40 ~ X36 + X34 + X24 + x~2 +
xl8 + x10 ~ X4 ~ 1 Matrix expression of the generator polynomial is expressed as follows:
~Z2;~3 ~ - 191 ~ 82~
_ _ _ _ _ _ _ _ _ _ _ _ _ _ G = ~ I, P , 191 ~ 1-- -- -- -- t -- -- --' 1 1 where, I expresses a unit matrix of 191 x 191, p expresses a matrix of 82 X 191.
The check matrix H is expressed by ~ 191~ 82~ ~
H = ~ pT ~ 82 _ J
An orthogonal parity check sums in which each leading bit is orthogonal, may be produced by the linear combination of 82 column vectors of the matrix H. The leading portions of the 17 orthogonal parity check sums may be expressed as follows:
~ l (~) 1 1 ........
~ 1 - 1 ........
~ 1 ~1= $ 1 1 1 1 1 1 1 8 1 1 ::::::::
~ 1 1 1 ........
~ 1 ` 1 1 1 .. ------8 1 1 ~ :
.
3L;2;~:2~
Where, Hl is an orthogonal parity check sums obtained by the linear transformation of the check matrix H.
The reception vector r is r = c + e where, c is a code signal, and e is an error signal.
Therefore, the orthogonal parity check sums is expressed by r HlT = ( c ~ e ) ~lT = eHlT
Therefore, it is necessary to consider only errors, so that only eH1 will be investigated.
Provided that there exist more than 8 bits. In the case of an error of less than 9 bits, all the errors can be corrected, in view of the underlying principle of the code.
(1) When the first nine bits are all erroneous, the error vector e is expressed by 15e = ( l~ lgO~O~O~ O ) Hence, eH1 = (1,0,1,0,1,1 1,0,071,0,1,1,0,1,0,1,0,1) The number of ls is 11, which exceeds the thresold value 9, ~~
so that the first bit is corrected. The remaining 8 bits can naturally be corrected~ so that the nine bits can be corrected after all.
Therefore, in the case of an error of nine bits, if the leading error is detected prior to the correcting operation and then corrected~ the remaining eight erroneous bits can be corrected. Thus, all the 9 erroneous bits can be corrected. Therefore, if an error correction is impossible by a first error correcting operation, then the data is cyclically shifted by one or more bits, so that the error correcting operation is made again. While cyclically ~
' ! ~
~L222S~;8 shifting, the leading error bit can be detected, so that all the nine bit errors can be corrected.
(2) Let us consider the following 10 bit error:
e = ( l~ O~O~O~O~ o~O) (3) Provided that the first 11 bits are all erroneous, e = (1,1,1,1,1,1,1,1,1,1,1,0,0,0,...0) eHlT = (1,0,1,0,1,1,0,0,1,0~1,1,0,1,0,0,1) The number of ls is 9, so that the leading bit is corrected. The remaining ten erroneous bits can be corrected as described in Item (2). Therefore, the above described error pattern can be completely corrected.
eHlT = (l,O,l,O,l,l?O,O,l,O,ljl,O,l,l,O,l) Since the number of ls is ten, the leading bit is corrected. The remaining nine erroneous bits can be corrected as described in tl~, so that ten erroneous bits can be corrected.
(4) When the first 12 bits are all erroneous, e = (1,1,1,1,1,1,1,1,1,1,1,1,0,...... ,0) eHlT = (1,0,1,0,1,1,0,0,0,0,1,1,0,1,0,0,1) The number of ls is 8, so that even though the leading bit is erroneous, the error correction cannot be made. That is, the correct correction is impossible.
(5) Next, let us consider the case in which 11 consecutive bits axe all erroneous, and the error starts from the second bit.
Then, e = (0,1,1~1,1,1,1,1,1,1~191,0,0,......... ,0) eHlT = (0,1,0,1,0,0,1,1,1,1,0,0,1,0,1,1,0) ~2;2~;~i8 Since there exist nine ls, the leading bit is corrected, even though the leading bit is correct. Therefore, even if the correction is made up tG the last bit, no correct correction is made. The fact that the correct correction is not made is de~ected by a content in the syndrome register, all of which are not "0".
In this case 7 the data is cyclically shifted by one bit, so that the error data has the same form as that of the error data as described in Item (3). As a result, the error correction can be made.
While, it has been described that the orthogonal -parity check sums Hl is so constructed that the firs-t bit of 273 bits may be orthgonal, it is to be understood that by applying the principle of the difference set, a matrix in which the second bit is orthogonal can be constructed.
In this case, the load end instruction (one bit shift of the shortened bit) described in conjunction with the practical circuit is not required. Therefore, the error correction can be made from the second bit, so that there is an advantage that a circuit can be simplified in construction.
As described above, if the leading bit of a group of erroneous bits is corrected as soon as possible, the remaining erroneous bits can be corrected with a high degree of probability.
Therefore, as described in Item (1), the possibility of correcting an error of more than 8 bits can be increased by shifting the received data by one bit, while utilizing the cyclic characteristic of the cyclic code, when it is judged that a complete correction is impossible after the first error correcting operation.
Fig. 14 shows an example of a flowchart of the error correcting operation.
Fig. 15 shows a prac~:ical hardware for carrying out the second embodiment of the present invention.
Reference numeral 600 represent:s a CPU bus line (CPU is not shown); 601, a CPU output port (for example~ a Motorola Model 6820); 602, a CPU input port (for example, a Motorola Model 6820); 603, a parallel-serial converter (for example, a MMI Model 16R6); 604, a serial-parallel converter (for - example, a MMI Model 16R6); 605 and 6063 gates; 607 and 637, modulo-two adders; 608, a data register (for example, ~- a TRW Model TDC1006J, a MMI Model 20x8); 609, a syndrome register (for example, a MMI Programmable Logic Array Model 20xlO); 610, a timing generator; 611, an error status register (for example, a MMI Model 20Cl); 612, a majority logic circuit; 613, a start instruction signal; 614, a clear signal; 615, a load instruction signal; 616, a load gate signal; 617; a load clock signal; 618, a correction gate signal; 619, correction clock signal; 620, an error status signal; 621, an 82-bit syndrome signal; 622, an error correcting signal; 623, a correction completion signal; 624; a fetch instruction signal; 6259 a fetch ready signal; 626, a fetch clock signal; 627, a load data; 628, a fetch data; 629, a load serial data; 630, a cycled load data; 631, a load data for obtaining the syndrome or rearranging the data; 532, a data register for holding an original data value which has been shifted; 633, a data lZZZ558 whose errors have been corrected; 634, a rearranged data shifted by one bit; 6359 a data shift clock signal; and 636, a parallel load signal.
Next, the operation of this circuit will be described. The mode of operation is divided into (1) a load mode in which an initial data is loaded from the CPU, (2) a correction mode in which correct is made and (3) a fetch mode in which the data is read out by the CPU after error correction.
(1) Load Mode In response to l packet signal of 272 bits, the CPU outputs the start instruction 631, and in response to ~^ the reset signal 614,82 states of the syndrome register 609are all set to "O". Thereafter, the CPU sets the data to r 15 be loaded into the output port, so that the load instruction signal 615 is produced. The parallel data is ; loaded into the register 603. In response to the load control signal 616, the gates 605 and 606 are controlled, so that the input signal 629 is sequentially loaded in~o the syndrome register 609 and the data register 632. One packet signal consists of 272 bits, then a content of the shortened first bit is set to "O". Parallel data is applied to the parallel-serial converter 630 in the form of an unit signal of 8 or 16 bits. Therefore, the load operation is repeated 35 or 18 times. When the loading of the data into the s~ndrome register 609 and the load data register 632 is completed, all of the data in the register 632 is copied into the data register 608 at the timing of the parallel load signal 636. In this stage, no error .....
~L2;225~8 .
correction signal 622 is generated in response to the correction gate signal 618, as a matter of course.
(2) Correct Mode Upon completion of the data loading operation from the CPU, the correction mode is started. The correction clock signal 619 is outputted consecutively for 273 bits. Here, the first bit is shortened, so that the duration of the correction gate signal 618 has a period of time corresponding to 272 bits. When the error correcting signal is outputted from the majority logic circuit 612, the data in the data register 609 and the syndrome in the syndrome register 609 are corrected in response to the error correcting signal 622. Thus, the error correction is completed in the bit sequence of the received packet signal.
Unless 82 bits in the syndrome register 609 are all detected 10ll by the error status register 611, the circuit advances to the next stage. This is initiated by the error status register signal 620. First, the original data series 632 is cyclically shifted by one bit~ The number of the bits of the shift clock signal 635 is the sum of one bit shift and the number of shifts for obtaining the syndrome; that is, the total number o~ bits is 274. This output signal is sequentially loaded, through the gates 605 and 606, into the syndrome register 609, so that the syndrome is produced. In this case, the clock signal 619 consists of 773 bits, because one bit is removed in order to change the bit position. When the data in the data register 632 is shifted for 274 bits, so that the syndrome ~L~22~
is produced. Then, in response to the parallel load signal 636, the 273 bits in the load data register 632 are loaded into the data register 608. Thereafter, the above-described error correcting operation is carried out.
However, it should be noted that the last bit, which is shortened, is not corrected.
(3) Fetch Mode Unless the error status signal 620 sho~s "No Error", the above described sequence of operations is automatically repeated. Error correcting operation is repeated 273 times by shifting the leading bit, which is ~o be corrected first, by one bit. A~ter this operation, the correction completion signal 623 is delivered to the CPU, since the state same as the original state is obtained.
The error status signal 620 is read in by the CPU . If all the errors are not corrected completely, an error state is detected, since the correction fails.
When the correction is correct, the CPU generates the fetch instruction signal 624, and the signal stored in the data register 608 is used. Further, the leading bit is not necessary, so that it is sufficient that the last 272 bits of the 273 bits is fetched. The data is sequentially loaded from the data register 607 into the serial-parallel converter 604. In response to the fetch ready signal 625, the CPU receives the si~nal from the serial-parallel converter 604, so that the next Eetch instruction 624 is generated. The above-described operation is repeated, so that one packet signal is restored in the ~PU.
~22558 While in the above-described examle, the operation is carried out in the last stage where the last bit comes to the leading end, a correctable error in almos~
all cases, indicates that the contents of the syndrome register 609 are all "0" during cyclic shifting operation by the error status signal 620.
After the completion of all error correction is instructed by the error status signal 620, the correction clock signal 619 proceeds a next operation. That is, the data in the data register 608 must be rearranged into the original bit arrangement. Let n denote the number of shifts, when the bits in the error status signal 620 is set, and let N denote the number of rearrangements of cyclically shifting the leading bit by one bit (that is, the mode in which the N-th bit from the leading bit is loaded into the syndrome register 609 as the leading bit).
Then, the leading bit is arranged at the leading bit position, after the shifts of (273-n ~ 273-N) times within the data register 608. At this time point, the correction completion signal 623 is set and is informed to the CPU.
In response to the above-described fetch instruction, the CPU reads the data, so that the correct data of the original bit arrangement can be obtained.
While the above-described embodiment employs the hardware for carrying out the various operations, it is to be understood that the operations may be carried out by a shift control software and the circuit shown in Fig. 12, if the data register 404 has 273 bits. That is, the shift of the data is carried out in the CPU, and the data is loaded ~z~%~
into the circuit as shown in Fig. 12. However, in this case, there is a disadvantage that the processing time becomes slightly longer. As to the shortened l bit, so far it has been described that the error correction operation is stopped, but it is to be understood that in order to simplify the circuit, the shortened bit can be treated like other bits, so that all the bits can be subjected to the ; error correction operation. In this case, the error - influence rate due to the shortened bit is 1/273.
While in the above embodiment, the data is cyclically shi~ted by one bit when one error correction is i impossible, it is to be understood that, in order to simplify the circuit or to speed up the processing time, ~ the data can be shifted by a plurality of bits. For ; 15 instance, if the data is shifted by two bits, there is an advantage that the processing time is reduced to one half.
Let us assume that the above-described (272,190) majority logic decodable code is used In this case, when there exists a burst error of more than 9 bits in one packet, or when more than two uncorrectable bits occur in the framing signal portion for frame synchronization~ there is a disadvantage that one packet signal is missed. The framing signal consists of 8 bits~ so that one bit error of the 8 bits can be corrected.
; 25 Fig. 16 shows a teletext broadcasting packet signal. Reference numeral 700 represents a horizontal synchronizing signal; 701, a color burst signal; 702, a clock-run-in signal for clock synchronization, 703, a framing signal for frame synchronization; and 704, a 34-byte packet signal.
:- . .
~Zz~5i58 Fig. 17 shows a packet signal transmitted in accordance with the present invention. One packet signal transmitted in a standard arrangement, is dissolved by 8 bit unit as indicated by X in Fig. 17, and the 8 bit units are dispersed into each packet. Therefore, one packet signal indicated by X is dispersedly transmitted by 34 packets. On the reception sicle, there is provided a buffer, which is substantially similar in scale to that as shown in Fig. 17. In the case of decoding, 8 bit units indicated by X are sequentially loaded in the buffer and converted into a standard arrangement signal. Then, the error correction is carried out for each packet. In this manner 7 by using the interleaved arrangement among the respective packets ~field) by 8 bits, errors caused by noise which is mixed into the packet in the form of burst, can be corrected. That is, even if all the bits of one packet signal are erroneous (such phenomenon hardly occurs in practice, and even if errors are mixed into the whole packet, the average is 272/2 = 136 bits.), the errors can be divided into each 8 bits, and uniformly distributed into 34 packets. As a result, any kind of 8 bit errors which occurs at random in one packet (272 bits) can be corrected by the (27291gO) error correcting code This means that, even if the whole data of one packet is lost due to a framing error, if the arrival of the signal is detected, an error can be sufficiently corrected by assuming that the received signal does not have a prede!termined value "0" or "1", once the signal arrival is dletected 5 since the received signal is correct .... . . . .
lZ225S~3 with a probability of lt2. When the received signal is assumed to have a predetermined value as described above 9 the number of average error bits is 272/2 = 136 bits.
Accordingly, an error can be corrected, even if there are two framing errors in average.
When the packet signal is transmitted in such a bit arrangement as described above, the urban noise such as noise from automobiles which occurs in the form of burst, and impulsive noise from home electrical appliances can be sufficiently eliminated. With regard to the noise which is generated at random, the effect is substantially similar to that in the case of the standard arrangement.
Next, the logic on the receiver side will be described. The RAM in the receiver is provided with a 34 x 34 = 1156 byte buffer, as shown in Fig. 17. Let A0 denote the leading address. Then, the packet signal which has been received first is stored in the addresses A0 through A0 +33. Next, received packet is stored in the addresses A0+34 through A0+670 That is, the most recent packet with the n address is stored in the addresses A0+34tn-1) through A0+34(n-1) + 33. When n becomes 34, the 1156 byte buffer is fully loaded, and the error correcting operation of the ~acket signal is started. The data which is loaded into the error correcting circuit is indicated by X in Fig. 17, and the addresses are A0~ A0~35, A0+70, A0+105, ... 0, A0+1155. The packet signal with n = 35 is stored again in the addresses A0 through A0 +33. Therefore, the general equation for expressing the addresses for storing the n-th packet signal is expressed by - 4~ -~ Z Z Z ~ ~ 8 A0 + 34 ({n/34}-1) through A0 + 34 {n/34} - 1 where, { } is a residue.
The packet which is to be decoded, when n = 35, is represented by 0 in Fig. 17. That is, A0 + 34, A0 +69, A0 S + 104, ...., A0 + 33. The general equation is given by A0 + 34 X ({n/34}-1) through A0 + 33-35 ~ ({n/34}-1) A0 + 33 - ({n/34}-1) through A0 + 33 + 34 X ({n/34}~1) In like manner, when n = 36, A is obtained sequentially, and when n = 37, ~ is obtained sequentially~ And they are loaded into the decoding circuit, so that the errors in one packet are corrected.
In the embodiment shown in Fig. 17, the received packet signals are sequentially written into the RAM in the CPU, and when they are passed through the error correcting decoder, one packet is decoded. In contrast, in Fig. 18, ~hen data is loaded into a packet buffer, it is sequentially stored in a predetermined address. When the data is read out, 34 bytes are read out from the consecutive addresses, so that the data for one packet can be directly obtained. In Fig. 18, the numerals show the transmitted packet numbers. The general equations for writting are expressed as follows:
A0+34(n~ A0+34(n-1)-33,....... A0+34(n~ 33(n-1) and A0 + 34 X 33 + {n/34}
A0 + 34 X 33 ~ {n/34} - 33 A0 + 34 X 33 + {n/34} - 33 (33 - {n/34}~
where A0 indicates the leading address, n indicates the n-th packet and ~22~ 8 { } indicates a residue.
When the 8-bit data is written in accordance with the above-described equations, the data for one packet can be obtained by sequentially reading out 34 byte data. In this case, the leading address is given by A0 + 34 ( n - 1 ~
The methods describecl above, with reference to Figs. 17 and 18, are such that one byte data is sequentially transmitted by delaying one packet. And, the data for one packet is restored after the reception of 34 packets. Further, in principle, it is possible to arrange each byte (8 bi~s) at random, so that this scramble transmission may be used for a pay TV system as secret transmission.
In Fig~ 19, only the second and third bytes shown in Fig. 17 are replaced from each other in order to explain the underlying principle of the scramble transmission of each byte among plural packets. The receiver is provided with a packet buffer as shown in Fig. 19, and when the 34-th packet is received, the bytes indicated by X are read out. Thus, the data for one packet is reconstructed, and then decoded. In like manner, upon reception of the 35-th packet, the bytes indicated by O are read out; upon reception of the 36-th packet, the bytes indicated by ~ are read out; and upon reception of the 37-th packet, the bytes indicated by~ are read out. Thus, the packet signals are sequentially restored. 0f course, the 35-th packet is stored from the addresses A0; the 36-th packet is received in the addresses starting from A0 + 34; and the 37-th ~ 8 packet is stored from the addresses A0 ~ 68. A0 shows the leading address of the packet b~lffer. If it is assumed that the leading byte of each packet is sequentially transmitted on the order of transmission, the number of available patterns is given by 33! ~ 8.68 X 1035 The whole number of packets, which can be transmi~ted in one day by utili~ing lH in the vertical blanking period of TV signal is given by 60 X 60 X 60 X 24 = 5.18 X 106 Therefore, even if someone knows the underlying principle of the scramble in accordance with the present invention, but does not know the scramble transmission pattern, 1029 days would be required for decipherment, even when the transmitted pattern is searched by producing random patterns on the receiver side. Thus, the decoding is impossible.
Furthermore, if information for reversing each of 33 bytes is added to the data~ 233 patterns are available, so that the astronomical figure of 233 X 1029 days would be required.
Fig. 20 shows ROM information for decoding the above-described scramble. The ROM has 34 X (5 + 1) bits = 204 bits.
In Fig. 20, the address shows a packet number, corresponding to a byte number which is required for restoring the first packet. It is sufficient to indicate from 0 to 33, so that fi~e bits are sufficient. The inversion information shows~ whether each by~e in one ~ 51 -~2Z~B
packet is inverted and transmitted or not. For this purpose, only 1 bit is required.
If the station gives new ROMs as shown in Fig.
20, whenever a broadcasting station changes its scramble addresses and inversion information9 no one can listen or view a program of that statio~n without permission or the ROM.
~ ven if either of the above-described scrambling systems may be used, the system satisfactorily functions.
It is apparent that the inversion information and the scramble addresses may be designated per a plurality of bits such as 16, 34 and 68.
As described above, in the embodiment where each byte forming one packet for teletext broadcasting is transmitted by different packets, an error correcting ability is enhanced, even when bit errors are produced in the form of burst. According to the eight bit error correcting method using the (272,190) code in accordance with the present invention, all information can be restored, even if one packet information is lost. That is, even when a framing error occurs, all errors can be corrected, if other 33 packets have no error.
In the case o~ the embodiment shown in Fig. 17, the receiver has a 34 X 34 byte packet buffer, and the received packet signal is cyclically written into the packet buffer 3` SO that each byte can be read out obliquely.
Thus, the si~na]L for one packet can be reconstructed.
In the embodiment shown in Fig. 18, the received packet signa]Ls are obliquely written in accordance with a ~L22~ ;8 predetermined rule, so that one packet signal can be obtained by reading out 34 bytes consecutively.
In the case of the embodiment shown in Fig. 1~, when the signal is transmitted, the packet of each byte to be transmitted is arranged at random, so that the embodiment can be applied for scrambler, while the error correcting ability can be maintained same as in the case of the embodiment described-above. Therefore, the broadcasting stations may consider the usage of this 1~ embodiment as a pay television system.
In the case of the embodiment sho~n in Fig. 20?
in addition to the embodiment shown in Fig. 19, the inversion information for each byte is added to the data, so that TV poaching is extremely diEficult.
The present invention, described above with reference to Figs. 1 through 20, has an advantage in that if an error correction cannot be made, it is sufficient that the bit position is shifted to correct errors.
Accordingly, it is possible to increase the probability that more than 8 bit errors which are essentially impossible to be corrected is corrected. In addition, the error detecting ability is not degraded. ~herefore, the present invention is very effective in correcting errors in the teletext broadcasting system, so that the teletext broadcasting service area can be considerably expanded.
While in the above described embodiments, the digital signal in which information is coded has been described as being inser~ed into the vertical blanking period of the television signal, it is to be understood ~:2;~2~i8 that such digital signal can be inserved in various forms in a transmission path or such digital signal can be used alone.
As described above, the error correcting method using the (272,190) code is best suitable for the teletext broadcasting system like in Japan and other countries.
But, when the above-described fundametal error correcting method is used, it is possible to correct 8 bit errors in one packet of 272 bits, hut it is almost impossible to correct more than 8 bit errors. According to the above-described improved error correcting method wherein, if errors cannot be correc~ed, the leading bit is shifted, so that more than 8 bit errors can be corrected, there exists a disadvantage in that the processing time becomes longer.
Therefore, referring to Figs. 21 through 25, an error correcting method, which not only improves the error correc~ing ability but also shortens the processing time, will be described below.
Fig. 21 shows such an embodiment of an error correcting circuit in accordance with the present invention. ~eference numeral 1100 denotes an output port;
1101, an input port; 1102, a parallel-serial/serial-parallel converter; 1103, a data register with 272 stages;
1104, a timing generator; 1105, a load gate circuit, 11069 a syndrome register with 82 stages; 1107, a majority logic circuit; 1108, a correction gate circuit; 1109~ an error status register; 1110, a start signal; 1111, a load signal;
1113, a correct signal; 1114, data which is to be corrected; 1115, data which has been corrected; 1116, a ~L~ ~ Z ~ ~ 8 serial load data; 1117, a ready signal; 1118, a syndrome register signal; 1119, an error correcting signal; 1120, a load gate signal; 1121, a correc:tion gate signal; 1122, a load timing signal; 1123, a loacl clock signal; 1124, a clear signal; 1126, an error correcting clock signal; 1127, an error status signal; 1128, a modulo-two adder; and 1129, a threshold value designation signal (5 bits).
The fundamental circu;t construction of this embodiment is substantially similar to that of the embodiments described above with reference to Figs. 1 through 20, except that (1) the threshold value can be varied in response to the signal 129; (2) the element of orthogonal parity check sums comprises the leading bit after one bit is shortened. Thus, iiE the leading bit of lS the transmission data is made orthogonal, then the load end signal can be eliminated.
~ext, the operation will be described. This embodiment is featured in that the correction is made by decreasing the threshold value in the order of 17, 16, 15, 14, 13, 129 11, 10 and 9, so that the error correcting ability is improved as will be described in detail below.
First, the CPU (not shown) sets the threshold level to 17 (5-bit iniEormation). Thereafter, the CPU
generates the start instruction (the start signal 1110), so that all the ~2 bits of the syndrome register 1106 are set to "0" (see the reset signal 1124). As a consequence, the next data is ready to be loaded. The CPU divides the information oiE 272 bit corresponding to one pa~ket into 16-bit groups, and loads 17 times sequentially. The CPU loads ~2Z;2~
the load data on the data 1114 to be corrected, so that the load instruction is generated (see the load signal 1111).
In response to the load signal 1111, the load gate signal 1120 and the load clock signal (16 bits) 1123 are generated. As a result, thle load gate circuit 1105 for leading the data to the syndromle register 1106 is controlled; the data 1114 to be corrected is loaded into the parallel-serial converter 1102; the data transferred from the parallel-serial converter 1102 to the data register 1103 is shifted by 16 bits; and the data in the syndrome register 1106 is shifted by 16 bits.
The above-described operation is repeated 17 times, so that the leading data reaches the leading end of the data register 1103. The syndrome register 1106 has already generated the syndrome. That is, the 82 bit syndrome register 1106 represents the residue class, obtained by the divisioo of the data by the generator polynominal G(2).
anx27l+ax27o~.... ... --+a270X+a27 Stx) = ~
g(x) where, S(x) is the syndrome, ao...... a271 are data of 727 bits g(x) is the generator polynominal explained before with reference to Figs. 1 through 20, and { } represents a residue class.
Next, the error correcting operation will be described. In response to the correction instruction, the ~LZ;~2~;8 CPU generates the correct signal 1113. Meanwhile, the timing generator 1104 generates the error correc~ing clock signal 1126, so that only 16 bits of the data stored in the data register 1103 are corrected, and then loaded into the serial-parallel converter 1102. This error correction is accomplished by an exclusive-or circuit (that is, the modulo-two adder) 1108. The error correcting signal 1119 makes 17 linear combinations from 82 bits ~ontent in the syndrome register. The 17 combinations are compared in the majority logic circuit 1107 (the initial threshold value is 17: the threshold value designation signal 1129), and then the output is derived.
However, the error correcting signal 1119 is so constructed that it responds to the correction gate signal 1121, so as to be transmitted only in the case of the error correction (see the correction gate circuit 1108). Like As in the case of the error correction, if there exists a bit error, the error correcting signal 1119 modifies the content of the syndrome register 1106, so that the influence of this bit can be eliminated.
After 16 bit errors have been corrected in this manner in response to the correct signal 1113, the CPU
confirms whether or not the ready signal 1117 has been generated, and then reads the data 1115 in the input port 1101. The correct signal 1113 is outputted 17 times, so that the signal consisting o~ one packet o~ 272 bits is restored~ In this case, whether or not the correct error correction has been made can be detected by investigating the error status signal 1127. If the contents of the 25~i~
syndrome register 1106 are not all llo", there still e~ists an error bit, so that the error correction is carried out again. In this case, the threshold value of the majority logic circuit 1107 is decremented by 1. That is, a new threshold value becomes 16, and the data which has been corrected with the threshold vaLue 17 is used.
The above-described operation is repeated, until the threshold values becomes 9. However, when the contents of the syndrome register 1106 become all "0" during the course of the operation, the error correcting operation is deemed to be completed. In other words, at this time point, the data has the correct value, so that it is not necessary to apply pass the data to the error correction circuit after this time point. While in this embodiment, the data on the input and output ports has 16 bits, it is to be understood that any desired number of bits are acceptable in like manner.
Fig. 22 shows the flowchart for showing the control procedure of the circuit as shown in Fig. 21. In this case, an orthogonal parity check sums are used in order to simplify a circuit arrangement. That is, it i.5 not orthogonal on the shortened bit, but it is orthogonal at the leading end of actual transmission bit. Therefore, as described before, the idle operation of the syndrome register, in response to the load end instruction signal, can be eliminated. In Gther words, the load end signal is not required.
Let So, Sl,....... S80~ Sgl denote the contents in the syndrome register 1106. Then, the orthogonal parity 2~
check sums Ao, Al,...., A16 which are orthogonal at the leading end of transmission bit are given by Ao = S16 Al = S70 + S75 A2 = S4 + S22 A3 = S20 + S26 + S44 A4 = S2 + S24 + S30 + S48 As = S34 + Ssl + S56 t S77 A6 = S7 + S43 + S60 + S64 A7 = Sl5 + Slg + S41 + S47 + S65 A8 = Sl + Slo + S46 ~ S63 + S67 Ag = S31 + S42 + S45 + S49 + S54 Alo = Sg ~ Sl2 + S2l ~ S57 + S94 + S78 All = S5 + S36 + S38 ~ S49 + S52 + S61 A12 = S6 + S37 + S39 + S50 + S53 + S62 A13 = So + Sll + S14 + S23 + S59 + S76 + S80 A14 = S8 + S27 + S28 + S35 + S66 + S68 + S79 Als = S3 ~ S13 + S32 + S33 + S40 + S71 + S73 A16 = S17 + S18 ~ S25 + S56 + S58 + S69 + S72 + S81 Next, the advantage obtained by decrementing the threshold value of the majority logic circuit (like 17, 16, 15, ...... , and 9) will be described. For instance, let us consider that the threshold value is 17. Then, when the number of errors is less than 16, a wrong correction will not be made. Buts when the threshold value is 9, it is possible that a wrong correction occurs. If the shortened bit is eliminated~ a matrix A to be composed by orthogonal parity check sums is given by 2~i~8 ~} ' , .....
~ 1 1 1 .
1 1 1 1 1 .
1 ;1 1 ........
1 1 ........
1 ........
1 1 1 ........
~ 1 1 ........
I ~ 1 ........
i ~ 1 1 1 1 ........
lo 8 1 1 ::::::::
If there are less than 16 errors except the position of the leading bit, the number of "l"s in the product of an error pattern and the matrix A is 16 at the most. The threshold value is 17, so that no error correction will be made.
That is, no wrong correction will be made. If less than 16 errors include the leading bit, the number of "l"s in the product of the error pattern and the matrix A becomes 17. Therefore, if only the leading bit is erroneous, the number becomes 17. If 15 errors are concentrated in each column of the matrix A including the leading bit, the number of "l"s becomes 17. In this case, the leading bit is corrected, so that only the leading bits are correctly corrected. The above-described operation is repeated 272 times. Therefore, if the threshold value is 17, some of the errors can be corrected, when there are less than 16 errors, and in this case no wrong correction will be made.
Next, the threshold value is decremented by one to 16, and the same operation as described above is ~L;22~5~
repeated. It is apparent that if there are less than 15 errors, no wrong correction will be made, and some of the errors are corrected.
The threshold value is decreased in like manner to 15, 14, 13, 13, 11 and 10, ancl the error correction is made. As a result, substantial number of errors (16 bits or 9 bits) can be corrected.
Finally, the threshold value is set to the original value 9, and the error correction is made. In this case, all of the remaining errors less than 8 bits can be corrected, because of the error correcting ability of the code.
As described above, according to the present invention, the threshold value is decreased sequentially from 17 to 9, so that all of less than 8 bit errors and most of 9 through 16 bit errors can be cQrrected.
Fig. 23 shows a further embodiment of the present invention, and Fig. 24 shows the flowchart for explaining the control procedure of the CPU (not shown).
In the error correcting circuit as shown in Fig.
21, the threshold value is set on each occasion, and the data obtained by the error correction is loaded again for re-correction. As a result9 a considerably long processing time is required. In the error correcting circuit as shown in Fig. 23, almost all the circuit components are hardware, so that the processing ti~e becomes faster. The circuit as shown in Fig 23 is substantially similar in construction to that as shown in Fig. 21, so that the same reference numerals are used to designate similar parts in both `22~
Figs. 21 and 23, except that error correcting process and setting of threshold value are automatically done in the embodiment as shown in Fig~ 23.
Reference numeral 130() denotes a data selector;
S 1301, a timing generator; 1302, a majority logic circuit 1303, a data read signal; 1304~ a dummy clock signal; 1305, a data load clock signal; 1306, correction clock signal;
1307, data reserved for the next use; 1308, serial data whose errors have been corrected; and 1309, a timing signal generated at the time point that the testing of one packet data is completed.
As described with reference to Fig. 21, the CPU
generates the start signal 1110. In response to this start signal, the timing generator 1301 generates a reset signal 1124, so that the contents of the syndrome register 1106 are all cleared. And at the same time~ the threshold value of the majority logic circuit 1302 is set to 17.
Thereafter, the CPU sets the data 1114 to ~e corrected as a parallel data, and generates the load signal 1111 so that the data is loaded. In response to the load clock signal 1122, the data is loaded into the parallel-serial converter 1102. After the parallel loading, in response to the load clock signal 1123, the data is loaded into the data register 1103 and the syndrome register 1106. The data selector 1300 is a gate circuit for passing the loaded data when the data is loaded, and for passing the data 1307 to be reserved in the case of the error correction. Thus, the loading of alL of the 272 bits in one packet is completed.
l~Z2~;~8 After the completion of data loading, the timing generator 1301 generates an error correcting signal. That is, the correction gate 1108 is opened, and in response to the correction clock signal 1306, the syndrome register 1106 is shifted, and the data register 1103 is also shifted for error correction. The threshold value first used is 17. As in the case of Fig. 21, all of the 272 bits are subjected to the error correction. In this case, the data (272 bits) which has been corrected with the threshold value of 17 is left in the data register 1103.
In this stage, if the error status signal 1127 shows an error, the data which is stored in the data register 1103 is still erroneous. Therefore, the threshold value is decremented by one, and the error correction is repeated.
The majority logic circuit 1302 receives the error status signal 1127. When it detects that there still exist some errors, the threshold value is decremented by one in response to the timing of the one packet end signal.
The period of the syndrome register 1106 is 273 bits, so that in response to the dummy clock signal 1304, the contents of the syndrome register 1106 are shifted by one bit. Thereafter, the error correction is continued using the threshold value of 16.
When the error status signal 1127 shows that all the errors have been corrected, the CPU enters the reading cycle of the clata.
If all the errors have not been corrected, even when the threshold value is decreased to 9, the error ~Z;2255~3 status signal 1127 indicates an error, and the ready signal 1117 is generated.
In response to the data read signal 1303, the data is read out. In response to the data read clock signal 1305, the data in the data register 1103 is transferred into the serial-parallel converter 1102. In response to the ready signal 1117, the CPU repeatedly outputted the data read signal 1303 for reading in the parallel data 1115, so that after the error correction, the data of one packet is restored.
Fig. 25 is a block diagram used to explain the operation of the majority logic circuit. Reference numeral 1500 denotes the input signal of majority logic elements (Ao through A16) to a majority logic circuit 1501, 1502, a substractor; 1503, a gate circuit; 1504, a substraction instruction signal for decrementing the threshold value by one; 15Q5, a threshold value signal; 1506, an output from the majority logic circuit 1501. As described before, the reference numeral 1108, a CQrreCtiO~ gate circuit; 1124, a reset signal; 1127, an error status signal; 1309, one packet end signal.
In response to the reset signal 1124, the subtractor 1502 is set to 17. That is, the first threshold value is 17. When 272 bits are corrected once one bit by one bit, in response to the one packet end signal 1309, the gate 1503 is enabled, so that the error status signal 1127 passes through it. In response to the subtraction instruction signal 1504, the initial threshold value 17 is decremented by one to 16, and the threshold value signal 22~ 8 1505 is transmitted. The majority logic circuit 1501 delivers the output signal 1506, only when the input signals Ao through A16 are greater than a predetermined threshold value indicated by th~e threshold value signal 1505. The above described operation is carried out for each bit, whereby the operation with the threshold value 16 is accomplished.
The similar operation is repeated as to the threshold values of 15 through 9.
In the embodiments as shown in Figs. 21 and 23, the threshold value is decreased sequentially from 17 to 9 for error correction. But, if intermediate threshold values 11, 10 and 9 are selected, the processing time can be shortened. In this case, the error correcting ability is slightly degraded. That is, all of less than 9 bit errors, and many portion of 9 and 10 bit errors are corrected. Furthermore, if the threshold value is decreased like 17, 15, 13~ 11 and 9, the error correction time can be also shortened.
As described above, all of less than 9 bit errors can be completely corrected, and many portion of 16 through 9 bit errors can be corrected. Thus, the teletext broadcasting service area can be increased, and the erroneous display can be minimized. According to the computer simulation, in cases of 9 and 10 bits, the errors are perfectly corrected 100%, and in the case of 11 bits, the errors are corrected by 95%.
In the embodiment as shown in Fig. 21, only the threshold value is designated from the exterior without 2~
modifying the fundamental error correcting circuit, so that there is an advantage that the present invention can be carried out in simple manner only by adding some softwares to the conventional circuit.
In the case of the embodiment as shown in Fig.
23, the software used in the embodiment as shown in Fig. 21 is replaced by hardware, so that the fast processing becomes possible.
In the last embodiment, the number of threshold values which are gradually decreased is diminished~ so that the time required for error correction can be shortened.
The embodiments described above with reference to Figs. 21 through 25 can be applied to the teletext broadcasting system utilizing the vertical blanking period of the television signal, but it is to be understood that the present invention may be equally applied to an exclusive type of code broadcasting system, in which all of the horizontal line are used. Furthermore, the present invention may be equally applied to a decoding circuit for other majority logic decodable code.
The embodiments described above with reference to Figs. 1 through 25 have a common disadvantage, that there exists some errors that cannot be detected. Therefore, referring to Figs. 26 through 29, an error detecting circuit will be described, in which a probability of erroneous correction can be reduced.
Fig. 26 shows one embodiment of an error detecting circuit in accordance with the present invention.
Fig. 27 shows the result of the simulation, when the error ~L~2Z~;~;8 correction is made while the threshold value being decreased; that is, Fig. 27 shows the differences be~ween the correcting ability with the initial threshold value.
In Fig. 27, Q indicates the initial threshold value of the majority logic circuit.
Figs. 28A through 28D show a flowchart for controlling the embodiment as shown in Fig. 26. In these figures, the blocks marked with * are carried out by the CPU. The remaining steps are automatically carried out by the circuit. The steps as shown in Fig. 28 will be explained, in conjunction with ~he description of the embodiment as shown in Fig. 26.
In Fig. 26, refe~ence numeral 2100 denotes a CPU
output port (the CPU is not shown); 2101, a parallel-serial/serial-parallel converter; 2102, a selector; 2103, a data register ~272 bits); 2104, a modulo-two adder; 2105, a CPU input port; 2106, a gate; 2107, a modulo-two adder;
2108, a timing generator; 2109, a syndrome register 128 bits); 2110, a majority logic circuit or majority decision circuit 2111, an error detecting circuit; 2112, a clock signal; 2113, data to be corrected; 2114, da~a which has been corrected; 2115, a reset signal; 2116, a load signal;
2117, a fetch signal; 2118, an error status signal; 2119, a ready signal; 2120, a data load control signal, 2121, a data load pulse signal; 2122, a data load clock signal;
2123, an error correcting gate signal; 2124, an error correcting signal; 2125, a syndrome shift clock signal;
2126, a fetch clock slgnal; 21~7, a serial load data; 212B, a cyclic data; 2929, a syndrome register signal; 2130, a
Then, e = (0,1,1~1,1,1,1,1,1,1~191,0,0,......... ,0) eHlT = (0,1,0,1,0,0,1,1,1,1,0,0,1,0,1,1,0) ~2;2~;~i8 Since there exist nine ls, the leading bit is corrected, even though the leading bit is correct. Therefore, even if the correction is made up tG the last bit, no correct correction is made. The fact that the correct correction is not made is de~ected by a content in the syndrome register, all of which are not "0".
In this case 7 the data is cyclically shifted by one bit, so that the error data has the same form as that of the error data as described in Item (3). As a result, the error correction can be made.
While, it has been described that the orthogonal -parity check sums Hl is so constructed that the firs-t bit of 273 bits may be orthgonal, it is to be understood that by applying the principle of the difference set, a matrix in which the second bit is orthogonal can be constructed.
In this case, the load end instruction (one bit shift of the shortened bit) described in conjunction with the practical circuit is not required. Therefore, the error correction can be made from the second bit, so that there is an advantage that a circuit can be simplified in construction.
As described above, if the leading bit of a group of erroneous bits is corrected as soon as possible, the remaining erroneous bits can be corrected with a high degree of probability.
Therefore, as described in Item (1), the possibility of correcting an error of more than 8 bits can be increased by shifting the received data by one bit, while utilizing the cyclic characteristic of the cyclic code, when it is judged that a complete correction is impossible after the first error correcting operation.
Fig. 14 shows an example of a flowchart of the error correcting operation.
Fig. 15 shows a prac~:ical hardware for carrying out the second embodiment of the present invention.
Reference numeral 600 represent:s a CPU bus line (CPU is not shown); 601, a CPU output port (for example~ a Motorola Model 6820); 602, a CPU input port (for example, a Motorola Model 6820); 603, a parallel-serial converter (for example, a MMI Model 16R6); 604, a serial-parallel converter (for - example, a MMI Model 16R6); 605 and 6063 gates; 607 and 637, modulo-two adders; 608, a data register (for example, ~- a TRW Model TDC1006J, a MMI Model 20x8); 609, a syndrome register (for example, a MMI Programmable Logic Array Model 20xlO); 610, a timing generator; 611, an error status register (for example, a MMI Model 20Cl); 612, a majority logic circuit; 613, a start instruction signal; 614, a clear signal; 615, a load instruction signal; 616, a load gate signal; 617; a load clock signal; 618, a correction gate signal; 619, correction clock signal; 620, an error status signal; 621, an 82-bit syndrome signal; 622, an error correcting signal; 623, a correction completion signal; 624; a fetch instruction signal; 6259 a fetch ready signal; 626, a fetch clock signal; 627, a load data; 628, a fetch data; 629, a load serial data; 630, a cycled load data; 631, a load data for obtaining the syndrome or rearranging the data; 532, a data register for holding an original data value which has been shifted; 633, a data lZZZ558 whose errors have been corrected; 634, a rearranged data shifted by one bit; 6359 a data shift clock signal; and 636, a parallel load signal.
Next, the operation of this circuit will be described. The mode of operation is divided into (1) a load mode in which an initial data is loaded from the CPU, (2) a correction mode in which correct is made and (3) a fetch mode in which the data is read out by the CPU after error correction.
(1) Load Mode In response to l packet signal of 272 bits, the CPU outputs the start instruction 631, and in response to ~^ the reset signal 614,82 states of the syndrome register 609are all set to "O". Thereafter, the CPU sets the data to r 15 be loaded into the output port, so that the load instruction signal 615 is produced. The parallel data is ; loaded into the register 603. In response to the load control signal 616, the gates 605 and 606 are controlled, so that the input signal 629 is sequentially loaded in~o the syndrome register 609 and the data register 632. One packet signal consists of 272 bits, then a content of the shortened first bit is set to "O". Parallel data is applied to the parallel-serial converter 630 in the form of an unit signal of 8 or 16 bits. Therefore, the load operation is repeated 35 or 18 times. When the loading of the data into the s~ndrome register 609 and the load data register 632 is completed, all of the data in the register 632 is copied into the data register 608 at the timing of the parallel load signal 636. In this stage, no error .....
~L2;225~8 .
correction signal 622 is generated in response to the correction gate signal 618, as a matter of course.
(2) Correct Mode Upon completion of the data loading operation from the CPU, the correction mode is started. The correction clock signal 619 is outputted consecutively for 273 bits. Here, the first bit is shortened, so that the duration of the correction gate signal 618 has a period of time corresponding to 272 bits. When the error correcting signal is outputted from the majority logic circuit 612, the data in the data register 609 and the syndrome in the syndrome register 609 are corrected in response to the error correcting signal 622. Thus, the error correction is completed in the bit sequence of the received packet signal.
Unless 82 bits in the syndrome register 609 are all detected 10ll by the error status register 611, the circuit advances to the next stage. This is initiated by the error status register signal 620. First, the original data series 632 is cyclically shifted by one bit~ The number of the bits of the shift clock signal 635 is the sum of one bit shift and the number of shifts for obtaining the syndrome; that is, the total number o~ bits is 274. This output signal is sequentially loaded, through the gates 605 and 606, into the syndrome register 609, so that the syndrome is produced. In this case, the clock signal 619 consists of 773 bits, because one bit is removed in order to change the bit position. When the data in the data register 632 is shifted for 274 bits, so that the syndrome ~L~22~
is produced. Then, in response to the parallel load signal 636, the 273 bits in the load data register 632 are loaded into the data register 608. Thereafter, the above-described error correcting operation is carried out.
However, it should be noted that the last bit, which is shortened, is not corrected.
(3) Fetch Mode Unless the error status signal 620 sho~s "No Error", the above described sequence of operations is automatically repeated. Error correcting operation is repeated 273 times by shifting the leading bit, which is ~o be corrected first, by one bit. A~ter this operation, the correction completion signal 623 is delivered to the CPU, since the state same as the original state is obtained.
The error status signal 620 is read in by the CPU . If all the errors are not corrected completely, an error state is detected, since the correction fails.
When the correction is correct, the CPU generates the fetch instruction signal 624, and the signal stored in the data register 608 is used. Further, the leading bit is not necessary, so that it is sufficient that the last 272 bits of the 273 bits is fetched. The data is sequentially loaded from the data register 607 into the serial-parallel converter 604. In response to the fetch ready signal 625, the CPU receives the si~nal from the serial-parallel converter 604, so that the next Eetch instruction 624 is generated. The above-described operation is repeated, so that one packet signal is restored in the ~PU.
~22558 While in the above-described examle, the operation is carried out in the last stage where the last bit comes to the leading end, a correctable error in almos~
all cases, indicates that the contents of the syndrome register 609 are all "0" during cyclic shifting operation by the error status signal 620.
After the completion of all error correction is instructed by the error status signal 620, the correction clock signal 619 proceeds a next operation. That is, the data in the data register 608 must be rearranged into the original bit arrangement. Let n denote the number of shifts, when the bits in the error status signal 620 is set, and let N denote the number of rearrangements of cyclically shifting the leading bit by one bit (that is, the mode in which the N-th bit from the leading bit is loaded into the syndrome register 609 as the leading bit).
Then, the leading bit is arranged at the leading bit position, after the shifts of (273-n ~ 273-N) times within the data register 608. At this time point, the correction completion signal 623 is set and is informed to the CPU.
In response to the above-described fetch instruction, the CPU reads the data, so that the correct data of the original bit arrangement can be obtained.
While the above-described embodiment employs the hardware for carrying out the various operations, it is to be understood that the operations may be carried out by a shift control software and the circuit shown in Fig. 12, if the data register 404 has 273 bits. That is, the shift of the data is carried out in the CPU, and the data is loaded ~z~%~
into the circuit as shown in Fig. 12. However, in this case, there is a disadvantage that the processing time becomes slightly longer. As to the shortened l bit, so far it has been described that the error correction operation is stopped, but it is to be understood that in order to simplify the circuit, the shortened bit can be treated like other bits, so that all the bits can be subjected to the ; error correction operation. In this case, the error - influence rate due to the shortened bit is 1/273.
While in the above embodiment, the data is cyclically shi~ted by one bit when one error correction is i impossible, it is to be understood that, in order to simplify the circuit or to speed up the processing time, ~ the data can be shifted by a plurality of bits. For ; 15 instance, if the data is shifted by two bits, there is an advantage that the processing time is reduced to one half.
Let us assume that the above-described (272,190) majority logic decodable code is used In this case, when there exists a burst error of more than 9 bits in one packet, or when more than two uncorrectable bits occur in the framing signal portion for frame synchronization~ there is a disadvantage that one packet signal is missed. The framing signal consists of 8 bits~ so that one bit error of the 8 bits can be corrected.
; 25 Fig. 16 shows a teletext broadcasting packet signal. Reference numeral 700 represents a horizontal synchronizing signal; 701, a color burst signal; 702, a clock-run-in signal for clock synchronization, 703, a framing signal for frame synchronization; and 704, a 34-byte packet signal.
:- . .
~Zz~5i58 Fig. 17 shows a packet signal transmitted in accordance with the present invention. One packet signal transmitted in a standard arrangement, is dissolved by 8 bit unit as indicated by X in Fig. 17, and the 8 bit units are dispersed into each packet. Therefore, one packet signal indicated by X is dispersedly transmitted by 34 packets. On the reception sicle, there is provided a buffer, which is substantially similar in scale to that as shown in Fig. 17. In the case of decoding, 8 bit units indicated by X are sequentially loaded in the buffer and converted into a standard arrangement signal. Then, the error correction is carried out for each packet. In this manner 7 by using the interleaved arrangement among the respective packets ~field) by 8 bits, errors caused by noise which is mixed into the packet in the form of burst, can be corrected. That is, even if all the bits of one packet signal are erroneous (such phenomenon hardly occurs in practice, and even if errors are mixed into the whole packet, the average is 272/2 = 136 bits.), the errors can be divided into each 8 bits, and uniformly distributed into 34 packets. As a result, any kind of 8 bit errors which occurs at random in one packet (272 bits) can be corrected by the (27291gO) error correcting code This means that, even if the whole data of one packet is lost due to a framing error, if the arrival of the signal is detected, an error can be sufficiently corrected by assuming that the received signal does not have a prede!termined value "0" or "1", once the signal arrival is dletected 5 since the received signal is correct .... . . . .
lZ225S~3 with a probability of lt2. When the received signal is assumed to have a predetermined value as described above 9 the number of average error bits is 272/2 = 136 bits.
Accordingly, an error can be corrected, even if there are two framing errors in average.
When the packet signal is transmitted in such a bit arrangement as described above, the urban noise such as noise from automobiles which occurs in the form of burst, and impulsive noise from home electrical appliances can be sufficiently eliminated. With regard to the noise which is generated at random, the effect is substantially similar to that in the case of the standard arrangement.
Next, the logic on the receiver side will be described. The RAM in the receiver is provided with a 34 x 34 = 1156 byte buffer, as shown in Fig. 17. Let A0 denote the leading address. Then, the packet signal which has been received first is stored in the addresses A0 through A0 +33. Next, received packet is stored in the addresses A0+34 through A0+670 That is, the most recent packet with the n address is stored in the addresses A0+34tn-1) through A0+34(n-1) + 33. When n becomes 34, the 1156 byte buffer is fully loaded, and the error correcting operation of the ~acket signal is started. The data which is loaded into the error correcting circuit is indicated by X in Fig. 17, and the addresses are A0~ A0~35, A0+70, A0+105, ... 0, A0+1155. The packet signal with n = 35 is stored again in the addresses A0 through A0 +33. Therefore, the general equation for expressing the addresses for storing the n-th packet signal is expressed by - 4~ -~ Z Z Z ~ ~ 8 A0 + 34 ({n/34}-1) through A0 + 34 {n/34} - 1 where, { } is a residue.
The packet which is to be decoded, when n = 35, is represented by 0 in Fig. 17. That is, A0 + 34, A0 +69, A0 S + 104, ...., A0 + 33. The general equation is given by A0 + 34 X ({n/34}-1) through A0 + 33-35 ~ ({n/34}-1) A0 + 33 - ({n/34}-1) through A0 + 33 + 34 X ({n/34}~1) In like manner, when n = 36, A is obtained sequentially, and when n = 37, ~ is obtained sequentially~ And they are loaded into the decoding circuit, so that the errors in one packet are corrected.
In the embodiment shown in Fig. 17, the received packet signals are sequentially written into the RAM in the CPU, and when they are passed through the error correcting decoder, one packet is decoded. In contrast, in Fig. 18, ~hen data is loaded into a packet buffer, it is sequentially stored in a predetermined address. When the data is read out, 34 bytes are read out from the consecutive addresses, so that the data for one packet can be directly obtained. In Fig. 18, the numerals show the transmitted packet numbers. The general equations for writting are expressed as follows:
A0+34(n~ A0+34(n-1)-33,....... A0+34(n~ 33(n-1) and A0 + 34 X 33 + {n/34}
A0 + 34 X 33 ~ {n/34} - 33 A0 + 34 X 33 + {n/34} - 33 (33 - {n/34}~
where A0 indicates the leading address, n indicates the n-th packet and ~22~ 8 { } indicates a residue.
When the 8-bit data is written in accordance with the above-described equations, the data for one packet can be obtained by sequentially reading out 34 byte data. In this case, the leading address is given by A0 + 34 ( n - 1 ~
The methods describecl above, with reference to Figs. 17 and 18, are such that one byte data is sequentially transmitted by delaying one packet. And, the data for one packet is restored after the reception of 34 packets. Further, in principle, it is possible to arrange each byte (8 bi~s) at random, so that this scramble transmission may be used for a pay TV system as secret transmission.
In Fig~ 19, only the second and third bytes shown in Fig. 17 are replaced from each other in order to explain the underlying principle of the scramble transmission of each byte among plural packets. The receiver is provided with a packet buffer as shown in Fig. 19, and when the 34-th packet is received, the bytes indicated by X are read out. Thus, the data for one packet is reconstructed, and then decoded. In like manner, upon reception of the 35-th packet, the bytes indicated by O are read out; upon reception of the 36-th packet, the bytes indicated by ~ are read out; and upon reception of the 37-th packet, the bytes indicated by~ are read out. Thus, the packet signals are sequentially restored. 0f course, the 35-th packet is stored from the addresses A0; the 36-th packet is received in the addresses starting from A0 + 34; and the 37-th ~ 8 packet is stored from the addresses A0 ~ 68. A0 shows the leading address of the packet b~lffer. If it is assumed that the leading byte of each packet is sequentially transmitted on the order of transmission, the number of available patterns is given by 33! ~ 8.68 X 1035 The whole number of packets, which can be transmi~ted in one day by utili~ing lH in the vertical blanking period of TV signal is given by 60 X 60 X 60 X 24 = 5.18 X 106 Therefore, even if someone knows the underlying principle of the scramble in accordance with the present invention, but does not know the scramble transmission pattern, 1029 days would be required for decipherment, even when the transmitted pattern is searched by producing random patterns on the receiver side. Thus, the decoding is impossible.
Furthermore, if information for reversing each of 33 bytes is added to the data~ 233 patterns are available, so that the astronomical figure of 233 X 1029 days would be required.
Fig. 20 shows ROM information for decoding the above-described scramble. The ROM has 34 X (5 + 1) bits = 204 bits.
In Fig. 20, the address shows a packet number, corresponding to a byte number which is required for restoring the first packet. It is sufficient to indicate from 0 to 33, so that fi~e bits are sufficient. The inversion information shows~ whether each by~e in one ~ 51 -~2Z~B
packet is inverted and transmitted or not. For this purpose, only 1 bit is required.
If the station gives new ROMs as shown in Fig.
20, whenever a broadcasting station changes its scramble addresses and inversion information9 no one can listen or view a program of that statio~n without permission or the ROM.
~ ven if either of the above-described scrambling systems may be used, the system satisfactorily functions.
It is apparent that the inversion information and the scramble addresses may be designated per a plurality of bits such as 16, 34 and 68.
As described above, in the embodiment where each byte forming one packet for teletext broadcasting is transmitted by different packets, an error correcting ability is enhanced, even when bit errors are produced in the form of burst. According to the eight bit error correcting method using the (272,190) code in accordance with the present invention, all information can be restored, even if one packet information is lost. That is, even when a framing error occurs, all errors can be corrected, if other 33 packets have no error.
In the case o~ the embodiment shown in Fig. 17, the receiver has a 34 X 34 byte packet buffer, and the received packet signal is cyclically written into the packet buffer 3` SO that each byte can be read out obliquely.
Thus, the si~na]L for one packet can be reconstructed.
In the embodiment shown in Fig. 18, the received packet signa]Ls are obliquely written in accordance with a ~L22~ ;8 predetermined rule, so that one packet signal can be obtained by reading out 34 bytes consecutively.
In the case of the embodiment shown in Fig. 1~, when the signal is transmitted, the packet of each byte to be transmitted is arranged at random, so that the embodiment can be applied for scrambler, while the error correcting ability can be maintained same as in the case of the embodiment described-above. Therefore, the broadcasting stations may consider the usage of this 1~ embodiment as a pay television system.
In the case of the embodiment sho~n in Fig. 20?
in addition to the embodiment shown in Fig. 19, the inversion information for each byte is added to the data, so that TV poaching is extremely diEficult.
The present invention, described above with reference to Figs. 1 through 20, has an advantage in that if an error correction cannot be made, it is sufficient that the bit position is shifted to correct errors.
Accordingly, it is possible to increase the probability that more than 8 bit errors which are essentially impossible to be corrected is corrected. In addition, the error detecting ability is not degraded. ~herefore, the present invention is very effective in correcting errors in the teletext broadcasting system, so that the teletext broadcasting service area can be considerably expanded.
While in the above described embodiments, the digital signal in which information is coded has been described as being inser~ed into the vertical blanking period of the television signal, it is to be understood ~:2;~2~i8 that such digital signal can be inserved in various forms in a transmission path or such digital signal can be used alone.
As described above, the error correcting method using the (272,190) code is best suitable for the teletext broadcasting system like in Japan and other countries.
But, when the above-described fundametal error correcting method is used, it is possible to correct 8 bit errors in one packet of 272 bits, hut it is almost impossible to correct more than 8 bit errors. According to the above-described improved error correcting method wherein, if errors cannot be correc~ed, the leading bit is shifted, so that more than 8 bit errors can be corrected, there exists a disadvantage in that the processing time becomes longer.
Therefore, referring to Figs. 21 through 25, an error correcting method, which not only improves the error correc~ing ability but also shortens the processing time, will be described below.
Fig. 21 shows such an embodiment of an error correcting circuit in accordance with the present invention. ~eference numeral 1100 denotes an output port;
1101, an input port; 1102, a parallel-serial/serial-parallel converter; 1103, a data register with 272 stages;
1104, a timing generator; 1105, a load gate circuit, 11069 a syndrome register with 82 stages; 1107, a majority logic circuit; 1108, a correction gate circuit; 1109~ an error status register; 1110, a start signal; 1111, a load signal;
1113, a correct signal; 1114, data which is to be corrected; 1115, data which has been corrected; 1116, a ~L~ ~ Z ~ ~ 8 serial load data; 1117, a ready signal; 1118, a syndrome register signal; 1119, an error correcting signal; 1120, a load gate signal; 1121, a correc:tion gate signal; 1122, a load timing signal; 1123, a loacl clock signal; 1124, a clear signal; 1126, an error correcting clock signal; 1127, an error status signal; 1128, a modulo-two adder; and 1129, a threshold value designation signal (5 bits).
The fundamental circu;t construction of this embodiment is substantially similar to that of the embodiments described above with reference to Figs. 1 through 20, except that (1) the threshold value can be varied in response to the signal 129; (2) the element of orthogonal parity check sums comprises the leading bit after one bit is shortened. Thus, iiE the leading bit of lS the transmission data is made orthogonal, then the load end signal can be eliminated.
~ext, the operation will be described. This embodiment is featured in that the correction is made by decreasing the threshold value in the order of 17, 16, 15, 14, 13, 129 11, 10 and 9, so that the error correcting ability is improved as will be described in detail below.
First, the CPU (not shown) sets the threshold level to 17 (5-bit iniEormation). Thereafter, the CPU
generates the start instruction (the start signal 1110), so that all the ~2 bits of the syndrome register 1106 are set to "0" (see the reset signal 1124). As a consequence, the next data is ready to be loaded. The CPU divides the information oiE 272 bit corresponding to one pa~ket into 16-bit groups, and loads 17 times sequentially. The CPU loads ~2Z;2~
the load data on the data 1114 to be corrected, so that the load instruction is generated (see the load signal 1111).
In response to the load signal 1111, the load gate signal 1120 and the load clock signal (16 bits) 1123 are generated. As a result, thle load gate circuit 1105 for leading the data to the syndromle register 1106 is controlled; the data 1114 to be corrected is loaded into the parallel-serial converter 1102; the data transferred from the parallel-serial converter 1102 to the data register 1103 is shifted by 16 bits; and the data in the syndrome register 1106 is shifted by 16 bits.
The above-described operation is repeated 17 times, so that the leading data reaches the leading end of the data register 1103. The syndrome register 1106 has already generated the syndrome. That is, the 82 bit syndrome register 1106 represents the residue class, obtained by the divisioo of the data by the generator polynominal G(2).
anx27l+ax27o~.... ... --+a270X+a27 Stx) = ~
g(x) where, S(x) is the syndrome, ao...... a271 are data of 727 bits g(x) is the generator polynominal explained before with reference to Figs. 1 through 20, and { } represents a residue class.
Next, the error correcting operation will be described. In response to the correction instruction, the ~LZ;~2~;8 CPU generates the correct signal 1113. Meanwhile, the timing generator 1104 generates the error correc~ing clock signal 1126, so that only 16 bits of the data stored in the data register 1103 are corrected, and then loaded into the serial-parallel converter 1102. This error correction is accomplished by an exclusive-or circuit (that is, the modulo-two adder) 1108. The error correcting signal 1119 makes 17 linear combinations from 82 bits ~ontent in the syndrome register. The 17 combinations are compared in the majority logic circuit 1107 (the initial threshold value is 17: the threshold value designation signal 1129), and then the output is derived.
However, the error correcting signal 1119 is so constructed that it responds to the correction gate signal 1121, so as to be transmitted only in the case of the error correction (see the correction gate circuit 1108). Like As in the case of the error correction, if there exists a bit error, the error correcting signal 1119 modifies the content of the syndrome register 1106, so that the influence of this bit can be eliminated.
After 16 bit errors have been corrected in this manner in response to the correct signal 1113, the CPU
confirms whether or not the ready signal 1117 has been generated, and then reads the data 1115 in the input port 1101. The correct signal 1113 is outputted 17 times, so that the signal consisting o~ one packet o~ 272 bits is restored~ In this case, whether or not the correct error correction has been made can be detected by investigating the error status signal 1127. If the contents of the 25~i~
syndrome register 1106 are not all llo", there still e~ists an error bit, so that the error correction is carried out again. In this case, the threshold value of the majority logic circuit 1107 is decremented by 1. That is, a new threshold value becomes 16, and the data which has been corrected with the threshold vaLue 17 is used.
The above-described operation is repeated, until the threshold values becomes 9. However, when the contents of the syndrome register 1106 become all "0" during the course of the operation, the error correcting operation is deemed to be completed. In other words, at this time point, the data has the correct value, so that it is not necessary to apply pass the data to the error correction circuit after this time point. While in this embodiment, the data on the input and output ports has 16 bits, it is to be understood that any desired number of bits are acceptable in like manner.
Fig. 22 shows the flowchart for showing the control procedure of the circuit as shown in Fig. 21. In this case, an orthogonal parity check sums are used in order to simplify a circuit arrangement. That is, it i.5 not orthogonal on the shortened bit, but it is orthogonal at the leading end of actual transmission bit. Therefore, as described before, the idle operation of the syndrome register, in response to the load end instruction signal, can be eliminated. In Gther words, the load end signal is not required.
Let So, Sl,....... S80~ Sgl denote the contents in the syndrome register 1106. Then, the orthogonal parity 2~
check sums Ao, Al,...., A16 which are orthogonal at the leading end of transmission bit are given by Ao = S16 Al = S70 + S75 A2 = S4 + S22 A3 = S20 + S26 + S44 A4 = S2 + S24 + S30 + S48 As = S34 + Ssl + S56 t S77 A6 = S7 + S43 + S60 + S64 A7 = Sl5 + Slg + S41 + S47 + S65 A8 = Sl + Slo + S46 ~ S63 + S67 Ag = S31 + S42 + S45 + S49 + S54 Alo = Sg ~ Sl2 + S2l ~ S57 + S94 + S78 All = S5 + S36 + S38 ~ S49 + S52 + S61 A12 = S6 + S37 + S39 + S50 + S53 + S62 A13 = So + Sll + S14 + S23 + S59 + S76 + S80 A14 = S8 + S27 + S28 + S35 + S66 + S68 + S79 Als = S3 ~ S13 + S32 + S33 + S40 + S71 + S73 A16 = S17 + S18 ~ S25 + S56 + S58 + S69 + S72 + S81 Next, the advantage obtained by decrementing the threshold value of the majority logic circuit (like 17, 16, 15, ...... , and 9) will be described. For instance, let us consider that the threshold value is 17. Then, when the number of errors is less than 16, a wrong correction will not be made. Buts when the threshold value is 9, it is possible that a wrong correction occurs. If the shortened bit is eliminated~ a matrix A to be composed by orthogonal parity check sums is given by 2~i~8 ~} ' , .....
~ 1 1 1 .
1 1 1 1 1 .
1 ;1 1 ........
1 1 ........
1 ........
1 1 1 ........
~ 1 1 ........
I ~ 1 ........
i ~ 1 1 1 1 ........
lo 8 1 1 ::::::::
If there are less than 16 errors except the position of the leading bit, the number of "l"s in the product of an error pattern and the matrix A is 16 at the most. The threshold value is 17, so that no error correction will be made.
That is, no wrong correction will be made. If less than 16 errors include the leading bit, the number of "l"s in the product of the error pattern and the matrix A becomes 17. Therefore, if only the leading bit is erroneous, the number becomes 17. If 15 errors are concentrated in each column of the matrix A including the leading bit, the number of "l"s becomes 17. In this case, the leading bit is corrected, so that only the leading bits are correctly corrected. The above-described operation is repeated 272 times. Therefore, if the threshold value is 17, some of the errors can be corrected, when there are less than 16 errors, and in this case no wrong correction will be made.
Next, the threshold value is decremented by one to 16, and the same operation as described above is ~L;22~5~
repeated. It is apparent that if there are less than 15 errors, no wrong correction will be made, and some of the errors are corrected.
The threshold value is decreased in like manner to 15, 14, 13, 13, 11 and 10, ancl the error correction is made. As a result, substantial number of errors (16 bits or 9 bits) can be corrected.
Finally, the threshold value is set to the original value 9, and the error correction is made. In this case, all of the remaining errors less than 8 bits can be corrected, because of the error correcting ability of the code.
As described above, according to the present invention, the threshold value is decreased sequentially from 17 to 9, so that all of less than 8 bit errors and most of 9 through 16 bit errors can be cQrrected.
Fig. 23 shows a further embodiment of the present invention, and Fig. 24 shows the flowchart for explaining the control procedure of the CPU (not shown).
In the error correcting circuit as shown in Fig.
21, the threshold value is set on each occasion, and the data obtained by the error correction is loaded again for re-correction. As a result9 a considerably long processing time is required. In the error correcting circuit as shown in Fig. 23, almost all the circuit components are hardware, so that the processing ti~e becomes faster. The circuit as shown in Fig 23 is substantially similar in construction to that as shown in Fig. 21, so that the same reference numerals are used to designate similar parts in both `22~
Figs. 21 and 23, except that error correcting process and setting of threshold value are automatically done in the embodiment as shown in Fig~ 23.
Reference numeral 130() denotes a data selector;
S 1301, a timing generator; 1302, a majority logic circuit 1303, a data read signal; 1304~ a dummy clock signal; 1305, a data load clock signal; 1306, correction clock signal;
1307, data reserved for the next use; 1308, serial data whose errors have been corrected; and 1309, a timing signal generated at the time point that the testing of one packet data is completed.
As described with reference to Fig. 21, the CPU
generates the start signal 1110. In response to this start signal, the timing generator 1301 generates a reset signal 1124, so that the contents of the syndrome register 1106 are all cleared. And at the same time~ the threshold value of the majority logic circuit 1302 is set to 17.
Thereafter, the CPU sets the data 1114 to ~e corrected as a parallel data, and generates the load signal 1111 so that the data is loaded. In response to the load clock signal 1122, the data is loaded into the parallel-serial converter 1102. After the parallel loading, in response to the load clock signal 1123, the data is loaded into the data register 1103 and the syndrome register 1106. The data selector 1300 is a gate circuit for passing the loaded data when the data is loaded, and for passing the data 1307 to be reserved in the case of the error correction. Thus, the loading of alL of the 272 bits in one packet is completed.
l~Z2~;~8 After the completion of data loading, the timing generator 1301 generates an error correcting signal. That is, the correction gate 1108 is opened, and in response to the correction clock signal 1306, the syndrome register 1106 is shifted, and the data register 1103 is also shifted for error correction. The threshold value first used is 17. As in the case of Fig. 21, all of the 272 bits are subjected to the error correction. In this case, the data (272 bits) which has been corrected with the threshold value of 17 is left in the data register 1103.
In this stage, if the error status signal 1127 shows an error, the data which is stored in the data register 1103 is still erroneous. Therefore, the threshold value is decremented by one, and the error correction is repeated.
The majority logic circuit 1302 receives the error status signal 1127. When it detects that there still exist some errors, the threshold value is decremented by one in response to the timing of the one packet end signal.
The period of the syndrome register 1106 is 273 bits, so that in response to the dummy clock signal 1304, the contents of the syndrome register 1106 are shifted by one bit. Thereafter, the error correction is continued using the threshold value of 16.
When the error status signal 1127 shows that all the errors have been corrected, the CPU enters the reading cycle of the clata.
If all the errors have not been corrected, even when the threshold value is decreased to 9, the error ~Z;2255~3 status signal 1127 indicates an error, and the ready signal 1117 is generated.
In response to the data read signal 1303, the data is read out. In response to the data read clock signal 1305, the data in the data register 1103 is transferred into the serial-parallel converter 1102. In response to the ready signal 1117, the CPU repeatedly outputted the data read signal 1303 for reading in the parallel data 1115, so that after the error correction, the data of one packet is restored.
Fig. 25 is a block diagram used to explain the operation of the majority logic circuit. Reference numeral 1500 denotes the input signal of majority logic elements (Ao through A16) to a majority logic circuit 1501, 1502, a substractor; 1503, a gate circuit; 1504, a substraction instruction signal for decrementing the threshold value by one; 15Q5, a threshold value signal; 1506, an output from the majority logic circuit 1501. As described before, the reference numeral 1108, a CQrreCtiO~ gate circuit; 1124, a reset signal; 1127, an error status signal; 1309, one packet end signal.
In response to the reset signal 1124, the subtractor 1502 is set to 17. That is, the first threshold value is 17. When 272 bits are corrected once one bit by one bit, in response to the one packet end signal 1309, the gate 1503 is enabled, so that the error status signal 1127 passes through it. In response to the subtraction instruction signal 1504, the initial threshold value 17 is decremented by one to 16, and the threshold value signal 22~ 8 1505 is transmitted. The majority logic circuit 1501 delivers the output signal 1506, only when the input signals Ao through A16 are greater than a predetermined threshold value indicated by th~e threshold value signal 1505. The above described operation is carried out for each bit, whereby the operation with the threshold value 16 is accomplished.
The similar operation is repeated as to the threshold values of 15 through 9.
In the embodiments as shown in Figs. 21 and 23, the threshold value is decreased sequentially from 17 to 9 for error correction. But, if intermediate threshold values 11, 10 and 9 are selected, the processing time can be shortened. In this case, the error correcting ability is slightly degraded. That is, all of less than 9 bit errors, and many portion of 9 and 10 bit errors are corrected. Furthermore, if the threshold value is decreased like 17, 15, 13~ 11 and 9, the error correction time can be also shortened.
As described above, all of less than 9 bit errors can be completely corrected, and many portion of 16 through 9 bit errors can be corrected. Thus, the teletext broadcasting service area can be increased, and the erroneous display can be minimized. According to the computer simulation, in cases of 9 and 10 bits, the errors are perfectly corrected 100%, and in the case of 11 bits, the errors are corrected by 95%.
In the embodiment as shown in Fig. 21, only the threshold value is designated from the exterior without 2~
modifying the fundamental error correcting circuit, so that there is an advantage that the present invention can be carried out in simple manner only by adding some softwares to the conventional circuit.
In the case of the embodiment as shown in Fig.
23, the software used in the embodiment as shown in Fig. 21 is replaced by hardware, so that the fast processing becomes possible.
In the last embodiment, the number of threshold values which are gradually decreased is diminished~ so that the time required for error correction can be shortened.
The embodiments described above with reference to Figs. 21 through 25 can be applied to the teletext broadcasting system utilizing the vertical blanking period of the television signal, but it is to be understood that the present invention may be equally applied to an exclusive type of code broadcasting system, in which all of the horizontal line are used. Furthermore, the present invention may be equally applied to a decoding circuit for other majority logic decodable code.
The embodiments described above with reference to Figs. 1 through 25 have a common disadvantage, that there exists some errors that cannot be detected. Therefore, referring to Figs. 26 through 29, an error detecting circuit will be described, in which a probability of erroneous correction can be reduced.
Fig. 26 shows one embodiment of an error detecting circuit in accordance with the present invention.
Fig. 27 shows the result of the simulation, when the error ~L~2Z~;~;8 correction is made while the threshold value being decreased; that is, Fig. 27 shows the differences be~ween the correcting ability with the initial threshold value.
In Fig. 27, Q indicates the initial threshold value of the majority logic circuit.
Figs. 28A through 28D show a flowchart for controlling the embodiment as shown in Fig. 26. In these figures, the blocks marked with * are carried out by the CPU. The remaining steps are automatically carried out by the circuit. The steps as shown in Fig. 28 will be explained, in conjunction with ~he description of the embodiment as shown in Fig. 26.
In Fig. 26, refe~ence numeral 2100 denotes a CPU
output port (the CPU is not shown); 2101, a parallel-serial/serial-parallel converter; 2102, a selector; 2103, a data register ~272 bits); 2104, a modulo-two adder; 2105, a CPU input port; 2106, a gate; 2107, a modulo-two adder;
2108, a timing generator; 2109, a syndrome register 128 bits); 2110, a majority logic circuit or majority decision circuit 2111, an error detecting circuit; 2112, a clock signal; 2113, data to be corrected; 2114, da~a which has been corrected; 2115, a reset signal; 2116, a load signal;
2117, a fetch signal; 2118, an error status signal; 2119, a ready signal; 2120, a data load control signal, 2121, a data load pulse signal; 2122, a data load clock signal;
2123, an error correcting gate signal; 2124, an error correcting signal; 2125, a syndrome shift clock signal;
2126, a fetch clock slgnal; 21~7, a serial load data; 212B, a cyclic data; 2929, a syndrome register signal; 2130, a
- 6~ -~1~2~i58 threshold value decrement signal; 2131, an error-correcting impossible signal.
The CPU receives a packet signal, and starts the process of error correction. F;rst 9 the CPU generates a r~set signal 2115. So that, 82 bits of the syndrome register 2109 are all set to "0"; the timing generator 2108 is set to the initial state; the threshold value of the majority logic circuit 2110 is set to the initial value of 17; and an error correction counter included in the error detecting circuit 2111 is set to "0". Thus, they are ready to receive the data.
Thereafter, the CPU loads a received packet signal ~that is, data 2113 to be corrected) into the parallel-serial converter 2101. If the converter 2101 consists of 8 bits, the packet signal is loaded 34 times, but if the converter 2101 consists of 16 bits~ the packet signal is loaded 17 times The loading is carried out, in response to the load signal 2116.
Upon reception of the load signal 2116, the timing generator 2108 generates the data load pulse signal 2121, so that the data 2113 to be corrected is set into the register of the converter 2101. In response to the data load clock signal 2122, the data in the converter 2101 is transferred into the data regis~er 2103 and the syndrome register 210~. In this case, in response to the data load control signal 2120, the gate 2106 is controlled, so that the serial load data 2127 may pass through it. The data selector 2102 is set to the mode for selecting the serial load data 2127. Of course, if the converter 2101 consists ~ 2~
of 8 bits, the number of pulses of the load clock signal is 8 bits. If the con~erter 2101 consists of 16 bits, the number of pulses of the load clock signal is 16 bits. In the case of ~oading, the majority logic circuit 2110 is inhibited (that is, disenabled) in response to the error correcting gate signal 2123, so that the error correcting signal 2124 is not outputted.
When all the data has been loaded into the data register 2103 and the syndrome register 2109, the circuit automatically initiates the error correcting operation.
For the first time, in respoDse to the control signal (error correcting gate signal) 2123, the majority logic circuit is enabled with the threshold value of 17, and delivers the error correcting signal 2124. When data contains no error at all, the error detecting circuit 2111 detects no error in response to the signal from the syndrome register signal 2129. As a result, no error correction is made. In response to the error status signal 2118, CPU detects that there is no error, so that the received packet signal stored in CPU is restored.
In the case of the error correction, the clock signal is supplied by the data load clock signal 2122.
When "a clock signal consisting of 272 bits as one cycle"
is delivered, in response to the one bit clock of the syndrome shift clock signal 2125, only the contents of the syndrome register 2109 are shifted by one bit. In this case, the err~r correcting gate signal 2123 is turned off, so that no error correction is made. The reason is that the period of the syndrome "273" is different from the data ~zz~s~
period "272". When all the errors are corrected in a cyclic operation, ~he error status signal 2118 represents that there exists no error, and in response to the ready signal 2119, the data is fetchecl into the CPU~ Therefore, it suffices for the CPU to watch the ready signal 2119 always. The ready signal 2119 may be supplied to an interrupt control line, so that the CPU may be informed.
The corrected data (cyclic data) 2128 which has passed the modulo-two adder 2104 passes through the data selector 2102, and is re-loaded into the data register 2103. The error detecting circuit 2111 Includes a counter for counting the error correcting signal 2124. ~hen this counter indicates 13, the impossible signal for error correction 2131 outputted, so that the error status signal 2118 normally represents the error detection.
In response to the above-described signal 2131, the generator 2108 delivers the ready signal 2119 at the point, where one cyclic bit shift has been completed. The CPU judges that there exists an error, in response to the error status signal 2118. Therefore, this packet is not used.
When the error correction is not accomplished during one cyclic data shift (that is, when all the contents of the syndrome register 2109 are not "0", or when the error correcting signal is not repeated more than or equal to 12 t;mes), iD response to the decrement signal for threshold value 2130 from the timing generator 2108, the threshold value of the majority logic circuit 2110 is decremented by one to 16, and the above-described operation ~ZZ~5~
is again repeated. If such a operation is repeated, there exists a chance that all the errors cannot be completely corrected. In this case, the threshold value is gradually decreased, until the operation with the threshold value 9 is accomplished. At this time point, if the error status signal 2118 does not represent that there exists no error, an error is detected, so that this data will not be used.
In this case, in response to the ready signal 2119 and the error status signal 2118, the CPU knows the error detection.
When the error correction is completed in the midway (that is, when the contents of the syndrome register become all "0", and the error correcting signal is outputted less than or equal to 12 times), the ready signal 2119 is delivered simultaneous with the completion of the 272 bit shift as to that threshold value. Therefore, in response to the error status signal ~118, the CPU judges that all the errors have been corrected.
The reason why the number of the counted number of the error correcting signals is fixed to "12" for error detection is that, in the method in which the error correction is made by gradually decreasing the threshold value to less than or equal to 10 bit errors can be completely corrected in all the cases, and the 11 bit errors can be corrected by 90%. Fig. 27 shows the results of the computer simulation.
WheD the error correction is accomplished tthat is, when the contents of the syndrome register 2109 are all "0", and the error correction counts is less than or equal ~L~2;25~3 to 11), the CPU delivers the fetch signal, so as to read the corrected data. In response to the fetch signal, the ready signal 2119 becomes temporarily busy state, but when the data is set into the serial-parallel converter 2101, the ready signal 2119 appears again. In response to the ready signal 2119, the CPU receives the data ~rom the converter 2101. The required data has a length of 190 bits, so that if 8 bits are fetched simultaneously, the fetch signal is generated 24 times, but if 16 bits are fetched in one time~ the fetch signal is generated 12 times. After the data of 190 bits has been fetched, the CPU interprets and displays the data, thereafter becomes the ready state for receiving the next packet.
Next, a further embodiment of an error detecting circuit in accordance with the present invention will be described.
In the embodiment (the error detecting circuit) as shown in Fig. 26, provided that the contents of the syndrome register 2109 are all "0" and when the error correction counts is less than or equal to 11, the error correction is judged as being correctly carried out. But, it is to be understood that the probability, that a packet signal can be correctly corrected and restored, would be increased by increasing the limitation of the error counts or varying the error counts. However, in this case, the erroneous rest~ration probability is also increased, so that it is required to check the errors in the data position by u~ing the CRC (Cyclic Redundancy Check).
25~;~
Fig. 29 shows a further embodiment of an error detecting circuit in accordance with the present invention.
Reference numeral 2400 represents an encoder; 2401, a counter; 2402, a comparator; 2403, an logic OR gate; 2404, a signal de~ived ~rom a push-button s~itch (not shown) which shows "11"; 2405, 2406, and 2407, signals from the push-button switches showing "12", "13" and "14", respectively; 2408, a signal derived from a push-button switch displaying the meaning of a limitless; 2409, a reset signal similar to the reset signal 2115 as shown in Fig.
26; 2410, an error correcting signal similar to the signal 2124 as shown in Fig. 26; 2411 through 2414, the encoded outputs from the encoder 2400; 2415, an output signal from the counter 2401; 2416 (which is similar to the signal 2131 as shown in Fig. 26), an error detecting signal which is outputted in response to the number of error corxections;
2417, an error detecting signal derived from the syndrome register.
In response to the push-button signals 2404 through 2408, one of them becomes "1" in response to an external switch, thus a threshold level for judging the error detection is designated. For instance, if the push-button signal 2404 is set to "1", the output signals 2411 through 2414 from the encoder 2400 represent "11". That is~ the signal 2411 becomes "1"; the signal 2412, "1"; the signal 2413~ "0"; and the signal 2412, "1". These encoded signals are applied to the comparator 2402.
Reference numeral 2409 indicates a reset signal, and is delivered when the error correction is started. In ~Z2;;~5~8 response to the reset signal 2409, the counter 24~1 is initially set to "0". Under these conditions, the operation for correcting the errors of a packet signal is started. Then, the counter input: signal (that is, the error correcting signal) are inputted for error correction, so that the counter 2401 is counled up. When the counted number exceeds the value designated by the encoded signals 2411 through 2414, the comparator output signal 2416 becomes ~ . Even if the error detecting signal 2417 from the syndrome register is lloll (that is, when the contents of the syndrome register are all lloll ), the comparator output signal 2416 which has passed the logic OR gate 2403 appears as an error status signal 2118 "1ll r Thus~ the error detection is displayed.
lS When the push-button signal showing l'limitless"
becomes l-l", the error detecting operation is halted in a special case, that is, when the value of one input to the comparator 2402 is set to the value that exceeds the number of 272, or when it is so directly controlled that the output signal 2416 from the comparator 2402 will not beco~e lll. There~ore, the circuit as shown in Fig. 29 functions, in a manner substantially similar to that described above with reference to Figs. 21 through 25. In this case, the error-correction probability can be increased, but ~5 naturally the lerroneous-correction probability will be increased. Therefore, the error detection function by CRC
becomes more important.
As described above, the value designated by the push-button signals 2404 through 2407 has been described as 1%22~5~3 being incremented by one, but it is to be understood that the same function can be attained by incrementing by "2", "3", "4" - . That is, the designated number may be not four, but may be more than or equal to fi~e, or less than or equal to three. Even so, the same function can be obtained. It is also apparent t:hat the same function or effect can be attained, even if the push-button signals 2404 through 2408 are selected in response to an instruction from the CRT.
A further embodiment of an error detecting circuit in accordance with the present inYention will be described.
In the embodiment described above, if error detecting signals 2416 and 2417 are set as other flags (cf.
Fig. 29) then which are identified by the CPU, the same effect can be obtained. ~hether or not only the error detecting signal 2417 from the syndrome register is used for the basis of detecting errors by the CPU, or whether or not the error detecting signal 2416 depending on the number of error corrections should be included in the information for identifying the error detection by the CPU, may be selected depending upon a user's program.
Finally, the fourth embodiment (an error detecting circuit) in accordance with the present invention will be described.
In the third embodiment described above, the CPU
may be so designated and constructed, that it can directly identify the output data from the counter 2401 without regard for the error detecting signal 2416. Therefore, it ~L%2Z~;~8 can be decided by a software, that whether or not the corrected data could be used.
In the case of the framing timing detection to be described below with reference t~ Figs. 30 through 4~, the threshold level is different from the threshold level of the error detection of the normal packet signal. If the CPU reads out the count number, whether the framing timing is correct or not can be determined by the error detecting signal 2417 and a program. In this case, the comparison by means of a comparator is not needed, of course, so that the error correction is carried out to the last stage (that is, until the threshold value ?19~ is reached). Furthermore, the error detection rate is always counted and controlled by a software, so that the threshold level in error detection is controlled. Thus, regardless of the reception conditions, the error correction probability can be maintained at a predetermined level. There is also an advantage that by utilizing the count number of error corrections, the adjustment of the slice level in a signal discrimination circuit and the adjustment of the sample phase can be made. And, the count number of error corrections can be used as a feedback information to a wave equalizer or the like.
Since each of the embodiments described above is based on the error correcting circuits described with reference to E'i`gs. 21 through 25, so that the error correcting effect substantially similar to that described above can be attained, by not setting the threshold value of the majorit:y logic circuit to "17" but to "13", or by ~L2ZZ~;S8 .
varying the threshold value not to "-l" but to "-2", "-3", etc. furthermore, by repeating the error correcting operation, until no error correction is required at a predetermined threshbld value, then by effecting the subtraction of the threshold value only when the error correction signal disappears.
As described above, the probable or rough counter number of the error correction bits can be identified by carrying out the present invention described with reference to Figs. 26 through 29,so that the probability of wrong error correction can be reduced.
Next9 the effects of the embodiments-described above are summarized.
Accordin~ to the first embodiment, the logic OR
operation of the error detection from the syndrome register and the error detection obtained by counting the error correction bits is obtained, and transmitted as a flag to the CPU, so that not only the circuit but also the program can be simplified.
According to the second embodiment, the threshold value of the count number of the error correction bits is variable, and is determined by the exterior push-buttons, a device including an A/D converter and the CPU, so that the threshold value of the count number of the error correction bits is increased in the poor reception area or field.
Therefore, the reception probability in the poor reception area or field can be increased.
According to the third embodiment, the error detection from the syndrome register and the error . ~,- . .
~;22~
detection due to the counting of number of the error correction bits are transmit~ed to the CPU as different flags, so that the determination of the error correction is made by the CPU. Depending upon the purpose for use, it is possible to neglect the error detection due to the counting of error correction bits.
According to the fourth embodiment, it is so designed and constructed, that the output from the counter representative of the count number of error correction bits is directly transmitted to the CPU9 thus the threshold value of the error detection can be determined by software.
The count number of the error correction can be applied to a signal discrimination circuit, a wave equalizer or the like. In this case, the threshold value to the comparator lS is not required to be determined directly by using the push-buttons or by the CPU. If the comparator input is applied to the CPU as a status signal, the construction similar to above described first, second and third embodiments can be obtained, by the COmpriSOD with the counter output by software.
As described above, according to the present invention described with reference to Figs. 26 through 29, the number of error correction bits is counted. Then, if the number of the counts is large, it is treated that "the error detection" occurs, even if the contents of the syndrome register are all "0", whereby the erroneous correction probability is reduced. Furthermore, according to the present invention, not only all the majority logic decodable error correcting codes, ~ut also other signals are able to have the function of the error detection.
2~
Next, referring to Figs. 30 through 40, the framing synchronizing reproduction for showing the start of the codes in a packet will be described.
Fig. 30 shows the construction of a transmission signal of a teletext broadcasting code signal~ Reference numeral 3100 denotes a horizontal syncronous signal; 3101, a colour burst signal; 3102, a clock-run-in signal; 3103, a framing code signal;3104, a character code signal to be transmitted consisting of 272 bits. In the case of reception, the clock synchronization is secured in response to the clock-run-in signal 3102, which is superposed on each line and transmitted, then the framing timing is detemined in response to the framing code signal 3103.
Thus, the character code signal 3104 is sequentially fetched from its leading bit.
Fig. 31 shows the underlying principle of the extraction of the framing timing, and shows the distance of the code between the framing code and the received 8-bit signal. Until a correct framing code is received, the minimum distance of the code is "3", so that it is possible to extract a correct framing timing, e~en if there exists one bit error. In Fig. 31, the reference numerals 3102 and 3103 represent the clock-run-in signal and the framing code signal, respectively; and 3200, a framing timing.
A first embodiment of a framing timing detection circuit in accordance with the present invention will be described with reference to Figs. 32 through 38.
Fig. 32 shows the construction of the transmitted signal of the embodiment. Reference numeral 3300 denotes a service discrimination and interruption signal; 3301, a information portion of a character code (182 bits); 330~, an error correcting parity signal t82 bits); 3303, an 8-bit M-sequence pseudo random pulse signal ~255 bits, which will be referred to as "PN" signal in this specification); 3304, a character code information portion after adding the PN
signal; 3305, a parity signal after adding the PN signal;
3306, an exclusive OR operator; 3307, a packet signal before adding the PN signal; 3308, a packet signal after adding the PN signal.
As described above, in the case of the Japanese character code broadcasting, it has been considered that the (272,190) error correcting system is optimum.
Therefore, as shown in Fig. 32, the character code signal 3104 is transmitted. That is , the service discrimination and interrupttion signal 3300 and the character code information portion 3301 act as the error correcting code of 190 bits.
According to this framing timing detection circuit, a strong ~raming timing extraction can be carried out by utilizing the fact? ~hat the new error correcting system is provided with the capability of error detection, and that when the PN signal 3303 slips the bit errors are reduced almost one half.
Therefore 9 the exclusive-OR of the packet signal 3307 without the PN signal and the PN signal 3303 is obtained one bit by one bit, and converted into the packet signal 3308. The service discrimination and interruption signal 3300, which is converte~ into the error correcting ~2~ ;8 code by the (8, 4) extended Hamming code, is transmitted without any modification or conversion, in view of the relationship with other systems. In the case of the pattern-method character broadcasting system~ in response to the service discrimination and interruption signal 3300, the sign~l 3300 can be decoded in a manner substantially similar to the conventional manner.
Next, the signal processing in the receiver will be described.
Fig. 33 shows the packet signal received by the CPU. Reference numeral 3400 denotes a fetch sign~l related to the detection of the conventional framing code; and 3401, a signal including a framing code used by this embodiment of the present invention and consisting of 36 bytes. The signal which is required practice is the signal 3402 consisting of 34 bytes.
In the receiver, the framing timing of the 36 byte signal 3401 fetched into the CPU is detected, in the process of the error correcting operation. First, the leading end of the received signal 3401 is treated as the framing timing, and the operation which is the reverse to the transmitting operation is carried out, so that 34 bytes (272 bits) are applied to the error correction circuit. If there exist many errors, the framing timing is identified as being not correct. ~ext, the position after shifting one bit is regàrded as the ~raming timing, and the same operation is repeated. The above-described operation is repeated.
~ Z~
When the correct framing timing is obtained, there exist the least number of error bits. Therefore, the leading timing of the signal 3401 is set to a suitable timing, after the clock-run-in signal 3102 has been detected. But, it must be fechedl in such a way that all 34 bytes are included, therefore as shown by the signal 3401, it is suitable to fetch the 36 byte data from the position that is one byte before the framing timing.
In general, the autocorrelation of the repeating pattern as to the M-sequence signal is 'l2n -1" when no bit is shifted, and is "-1" in the other cases. Where, n represents the order of the M-sequence. Therefore, in the case of 8 bits in accordance with this embodiment, n becomes eight, so that the number of coincidence bits becomes "255" when no shift is made. In the case of other shifts, the number of coincidence bits is "127" ( ( 7n _ 1)/2 ) ), and the number of in-coincidence bit becomes "128" ( ( 2n - 1)/ 2 ) + 1 ). That is~ when no shift is made, there is no error bit (in-coincidence bit), while in the other cases, the number of error bits becomes "128".
According to this embodiment, if the correct framing timing cannot be attained, the average of 218 error bits occurs. Of course, in the case of the correct framing timing, the number of error bits is 0.
Fig. 34 shows a 34 byte packet signal, in the case of an erroneous framing timing (that is, 8 bits before the correct framing timing)~ Reference numeral 3500 represents a packet signal, which is added with the PN
signal, in the receiver. And3 255 - 8 = 247 bits are ~.%;2;2~i8 included in the signal section 3501, then about half of these bits are erroneous. Thus, even if the packet signal 3500 is loaded into the (272,190) error correcting circuit for decoding, in almost all the cases, it becomes impossible to decode because of ~any errors.
Therefore 9 the data is shif~ed one b;t by one bit, and the operation described above with reference to Fig. 34 is repeated. Then, the correct timing packet signal 3600 can be obtained at the 8-th bit. That is, the signal 3600 has no error. In practice, errors caused in a transmission path are added. If the errors caused by the transmission path are less than or equal to 8 bits, the complete correction is possible by the (272,190) error correcting circuit, and the original packet signal per se is restored.
Figs. 36A and 36B show a flowchart explaining the packet signal error correction procedure described above.
That is, if error correction has not been made after 16 shifts~ it is handled as an error detection. The steps of the flowchart as shown iD Figs. 36A and 36B are as follows:
Step S2: Load 36 bytes.
Step S4: The number of shifts has been already determined?
Step S6: In response to a predetermined shift number, 34 bytes are constructed into one packet.
Step S8: Error correction possible?
Step S10: Packet processing.
Step S12: The leading 34 bytes are regarded as one packet.
Step S14: Error correction is possible?
~Z22~i~;8 Step Sl6: The shifts of 16 times have been made?
Step S18: 34 bytes are regarded as one packet, after one bit has been shifted.
Step S20: Set the number of shifts.
Step S22: The process of the error detection and error correction.
Fig. 37 shows a signal loading circuit of this embodiment. Reference numeral 3800 denotes a timing generator; 38019 a delay circuit; 3802, an address controller; 3803, a CPU; 3$04, a RAM in the CPU 3803; 3805, an error correcting circuit; 3806, a character code multiplexed signal; 3807, a clock signal; 3808, a line gate signal; 3809, a line code signal; 3810, a DMA request signal; 3811, a DMA grant signal; 3812, a write timing signal for character code; 3813, an address signal; 3814, a write control signal; 3815, an error correction control signal and a packet signal to be corrected; 3816, an error correction status signal and an error corrected packet signal.
It has been knowng that even if the character code broadcasting is multiplexed during the lOH through 21H
vertical blanking period, the picture display of the conventional television broadcasting is not adversely affected. Therefore, in practice, it may be considered to effect the mult`iplexed transmission of the character code signal, during lOH through 21H. The above-described the DMA request signal 3810 is used for directly writing the multiplexed character code signal, into the RAM 3804 within ~LZZ;~;58 the CPU. It is preferable that the timing is set to on about nineth line.
When the CPU 3803 receives the DMA request signal 3810~ the CPU outputs DMA grant signal 3811 to the address controller 3802, so that the RAM 3804 is controlled by the address controller 3802.
The line gate signal is a gate signal on a line, where a character code signal is superposed, and its rising timing is independent of the phase of the clock signal 3807. In general, the line gate signal 3808 includes a jitter component caused by some noise. In order to eliminate the adverse effect of the jitter, the delay circuit 3801 is so adjusted, that the phase of the line gate signal 3808 coincides with the midpoint of the phase of the clock signal 3807. That is, since the clock signal 3807 has the frequency of 5.73 MHz, the line gate signal 3808 is set to the phase of + 175/2 ns. Therefore, it can be prevented that the phase of the line gate signal 3808 is deviated for each H. In response to the gate signal 3812, which has no phase jitter in each H, the operation of the address controller 3802 is started.
In response to the line number of the line code signal 3809, the start address of the address controller 3802 is identified. Starting from this start address, data 3806 each consisting of 8 bits are stored in the RAM 3804.
The address signal 3813 and the write control signal 3814 are used to control the RAM 3804.
The above-described operation is carried out for each line. The CPU 3803 which has received the whole ~L;22%~;~;8 mul~iplexed signal carries out the above-described operation tcf. Fig. 36) for each packet signal. Since ~he error correction control signal, the packet signal 3815 to be corrected, the error correction status signal and the error corrected packet signal 3816 are irre~evant to this embodiment, so that no detailed explanation shall be made in this specification.
The signal loading circuit as shown in Fig. 37 can eliminate the detecting circuit for the framing signal.
That is, for each field, the contents of the RAM 3804 are all reset to "0", so that whether or not each line has a multiplexed signal is identified. Because, only when the clock line signal 3102 exists, the line gate signal 3808 is delivered. Alternatively, the same object can be attained by setting an information which represents that whether or not there exists the clock-run-in signal for each H, thereafter by reading out the data fro~ the register.
Fig. 38 shows an embodiment of a circuit for detecting whether or not there exists the clock-run-in signal. In other words, Fig. 38 shows a practical hardware construction, used in a system in which the clock-run-in signal for each H is detected, by causing the CPU 3803 to read the data from the register. Reference numeral 3900 denotes a line address decoder; 3901 through 3912, clock-run-in present signal regarding the lOH through the 21H
line; 3925 and `3913 through 3923, registers for displaying whether the clock-run-in signal is present or absent regarding the lOH through the 21H line; and 3924, an input signal to an input port of the CPU 3803.
- ~6 -~L;22Z5S~
In response to the DMA request signal 3810, the registers 3925 and 3913 Lhrough 3923 are all cleared to 0.
Next, ,~he contents of the line code signal 3809 are decoded by the address decoder 3900, and the line gate signal 3808 is divided into the signals 3901 through 3912, in response to each timing when clock-run-in signal is present.
Therefore, the registers 3925 and 3913 through 3923 are all set to "1". "0" shows that clock-run-in signal is absent, while "1" shows that clock-run-in signal is present.
Therefore, when the ~PU 3803 reads the data from the input port, the CPU can immediately identify that which line carries the superposed data.
The second embodiment of the framing timing detection circuit will be described.
ID the first embodiment described above, a correct shift number is uniformly determined, and based upon this shift number; that is, by using this shift number as a reference, a correct phase is detected. According to such system, if data is se~ for each H in different phase, it has no meaning at all. Therefore, an improvement of the first embodiment is provided. That is~ there is provided a system, in which the correct phases are memorized for each H. In this case, the control procedure is substantially similar to that described above with reference to Fig. 36.
But, the Step S4 in Fig. 36 should read from "the shift number" to "thè optimum shift number of the received H".
Further, the Step S20 should read to "Set to the optimum shift number of the received H".
25~
Finally, the third embodiment of the framing timing circuit will be described.
If it is impossible to effect the error correction with a predetermined shift number, it is possible to determine swiftly a desired shift number, by improving an algorithm for retrieving a correct shift number.
Fig. 39 shows a 36-byte data stored in the RAM of the CPU. Reference numeral 4000 denotes a 3~-byte packet signal. The point "a" indicates a framing timing, which has been determined in the previous step. "kl' is a variable for sequentially varying, and "X" indicates a fra~ing timing presumed at its time point. Tests are made with x = a + k where, aC x 15. It has no meaning, if x exceeds ~his range. A correcting framing time is retrieved, by shifting to the right and left about the point "a".
Fig. 40 shows the flowchart used to explain the framing phase retrieving procedure. Each step is apparent from Fig. 40, so that no detailed description shall be made in this specification.
As described in detail above, according the framing timing detection circuit in accordance with the present invention, a framing timing extraction circuit and a phase lock circuit for the framing ti~ing can be eliminated, so that a load of hardware is reduced.
Furthermore, the framing timing detecting ability is based on the (272,190) error correction system, the ability is considerably improved as compared with the conventional 8-bit framing code system.
~222S~8 In the systems described in conjunction with the first, second and third embodiments of the framing timing detection circuit, the superpose~ PN signal (that is, Exclusive-ORed signal) has been described as consisting of 255 bits (cf. Fig. 32), but it is apparent that the same effect can be also attained, by adding the first portion of the same PN signal to it~ and superposing the PN signal over the remaining portion. In this case, the PN signal to be added consists of 33 bytes = 264 bits. As described above, the 8-bit PN signal that has a period of 255 bits is used, but it is apparent that the same effect can be obtai-ned by using 9 or 10 bits.
According to the present invention, if the framing timing is wrong, in almost all the cases, the packet signal error correcting circuit represents that it is impossible to correct errors. Thus, it is possible to find a framing timing, without the use of a framing timing extraction circuit based on a framing code.
According to the first embodiment of the framing timing detection circuit, the data is loaded on the timing, which is earlier than 8 bits with regard to the normal framing timing phase, then by considering the whole data as consisting of 36 bytes, and by shifting the framing timing one bit by one bit. Thus, found timing is stored and, in the next step, in response to the stored framing timing, a packet signal îs restored. As a result, there is an advantage that a load of CPU can be decreased.
According to the second embodiment of the framing timing detection circuit, the system is employed, in which ~225~i8 the framing timing obtained in accordance with the first embodiment is stored for each H. Therefore, there is an advantage that the errors of a packet signal can be corrected within a shortest time period~ even if the multiplexed phases are different for each line.
According to the third embodiment of the framing timing detecting circuit, when the error correction is impossible with a predetermined framing timing, a framing timing is searched from the vicinity of a predetermined framing phase whose error correction is impossible. As a consequence, a framing timing can be searched within a shortest time period.
As described above, it has been considered that the shortened error correcting code has the length of 272 bits (i.e. 34 bytes). Alternatively, any kind of error correcting code that is to be shortened to a desired code length can be used. In other words, after selecting a random multi-error correcting code ha~ing a maximum length block in a packet, the random multi-error correcting code is shortened by n (n=1,2, ...) bits. For instance, in case of 33 bytes (i.e. 264 bits) as its code length, the (264,182) code is used. Therefore, the data register described in the embodiments requires a length of 182 bits, and then the idle operation is repeated nine times using the syndrome register to shorten nine bits at the time of load-ending. In this case, if the orthogonal parity check sums are constructed so that the ninth bit from the leading bit is orthogonal, it is apparent that the nine-bit idle operation of the syndrome register is required by all means.
The CPU receives a packet signal, and starts the process of error correction. F;rst 9 the CPU generates a r~set signal 2115. So that, 82 bits of the syndrome register 2109 are all set to "0"; the timing generator 2108 is set to the initial state; the threshold value of the majority logic circuit 2110 is set to the initial value of 17; and an error correction counter included in the error detecting circuit 2111 is set to "0". Thus, they are ready to receive the data.
Thereafter, the CPU loads a received packet signal ~that is, data 2113 to be corrected) into the parallel-serial converter 2101. If the converter 2101 consists of 8 bits, the packet signal is loaded 34 times, but if the converter 2101 consists of 16 bits~ the packet signal is loaded 17 times The loading is carried out, in response to the load signal 2116.
Upon reception of the load signal 2116, the timing generator 2108 generates the data load pulse signal 2121, so that the data 2113 to be corrected is set into the register of the converter 2101. In response to the data load clock signal 2122, the data in the converter 2101 is transferred into the data regis~er 2103 and the syndrome register 210~. In this case, in response to the data load control signal 2120, the gate 2106 is controlled, so that the serial load data 2127 may pass through it. The data selector 2102 is set to the mode for selecting the serial load data 2127. Of course, if the converter 2101 consists ~ 2~
of 8 bits, the number of pulses of the load clock signal is 8 bits. If the con~erter 2101 consists of 16 bits, the number of pulses of the load clock signal is 16 bits. In the case of ~oading, the majority logic circuit 2110 is inhibited (that is, disenabled) in response to the error correcting gate signal 2123, so that the error correcting signal 2124 is not outputted.
When all the data has been loaded into the data register 2103 and the syndrome register 2109, the circuit automatically initiates the error correcting operation.
For the first time, in respoDse to the control signal (error correcting gate signal) 2123, the majority logic circuit is enabled with the threshold value of 17, and delivers the error correcting signal 2124. When data contains no error at all, the error detecting circuit 2111 detects no error in response to the signal from the syndrome register signal 2129. As a result, no error correction is made. In response to the error status signal 2118, CPU detects that there is no error, so that the received packet signal stored in CPU is restored.
In the case of the error correction, the clock signal is supplied by the data load clock signal 2122.
When "a clock signal consisting of 272 bits as one cycle"
is delivered, in response to the one bit clock of the syndrome shift clock signal 2125, only the contents of the syndrome register 2109 are shifted by one bit. In this case, the err~r correcting gate signal 2123 is turned off, so that no error correction is made. The reason is that the period of the syndrome "273" is different from the data ~zz~s~
period "272". When all the errors are corrected in a cyclic operation, ~he error status signal 2118 represents that there exists no error, and in response to the ready signal 2119, the data is fetchecl into the CPU~ Therefore, it suffices for the CPU to watch the ready signal 2119 always. The ready signal 2119 may be supplied to an interrupt control line, so that the CPU may be informed.
The corrected data (cyclic data) 2128 which has passed the modulo-two adder 2104 passes through the data selector 2102, and is re-loaded into the data register 2103. The error detecting circuit 2111 Includes a counter for counting the error correcting signal 2124. ~hen this counter indicates 13, the impossible signal for error correction 2131 outputted, so that the error status signal 2118 normally represents the error detection.
In response to the above-described signal 2131, the generator 2108 delivers the ready signal 2119 at the point, where one cyclic bit shift has been completed. The CPU judges that there exists an error, in response to the error status signal 2118. Therefore, this packet is not used.
When the error correction is not accomplished during one cyclic data shift (that is, when all the contents of the syndrome register 2109 are not "0", or when the error correcting signal is not repeated more than or equal to 12 t;mes), iD response to the decrement signal for threshold value 2130 from the timing generator 2108, the threshold value of the majority logic circuit 2110 is decremented by one to 16, and the above-described operation ~ZZ~5~
is again repeated. If such a operation is repeated, there exists a chance that all the errors cannot be completely corrected. In this case, the threshold value is gradually decreased, until the operation with the threshold value 9 is accomplished. At this time point, if the error status signal 2118 does not represent that there exists no error, an error is detected, so that this data will not be used.
In this case, in response to the ready signal 2119 and the error status signal 2118, the CPU knows the error detection.
When the error correction is completed in the midway (that is, when the contents of the syndrome register become all "0", and the error correcting signal is outputted less than or equal to 12 times), the ready signal 2119 is delivered simultaneous with the completion of the 272 bit shift as to that threshold value. Therefore, in response to the error status signal ~118, the CPU judges that all the errors have been corrected.
The reason why the number of the counted number of the error correcting signals is fixed to "12" for error detection is that, in the method in which the error correction is made by gradually decreasing the threshold value to less than or equal to 10 bit errors can be completely corrected in all the cases, and the 11 bit errors can be corrected by 90%. Fig. 27 shows the results of the computer simulation.
WheD the error correction is accomplished tthat is, when the contents of the syndrome register 2109 are all "0", and the error correction counts is less than or equal ~L~2;25~3 to 11), the CPU delivers the fetch signal, so as to read the corrected data. In response to the fetch signal, the ready signal 2119 becomes temporarily busy state, but when the data is set into the serial-parallel converter 2101, the ready signal 2119 appears again. In response to the ready signal 2119, the CPU receives the data ~rom the converter 2101. The required data has a length of 190 bits, so that if 8 bits are fetched simultaneously, the fetch signal is generated 24 times, but if 16 bits are fetched in one time~ the fetch signal is generated 12 times. After the data of 190 bits has been fetched, the CPU interprets and displays the data, thereafter becomes the ready state for receiving the next packet.
Next, a further embodiment of an error detecting circuit in accordance with the present invention will be described.
In the embodiment (the error detecting circuit) as shown in Fig. 26, provided that the contents of the syndrome register 2109 are all "0" and when the error correction counts is less than or equal to 11, the error correction is judged as being correctly carried out. But, it is to be understood that the probability, that a packet signal can be correctly corrected and restored, would be increased by increasing the limitation of the error counts or varying the error counts. However, in this case, the erroneous rest~ration probability is also increased, so that it is required to check the errors in the data position by u~ing the CRC (Cyclic Redundancy Check).
25~;~
Fig. 29 shows a further embodiment of an error detecting circuit in accordance with the present invention.
Reference numeral 2400 represents an encoder; 2401, a counter; 2402, a comparator; 2403, an logic OR gate; 2404, a signal de~ived ~rom a push-button s~itch (not shown) which shows "11"; 2405, 2406, and 2407, signals from the push-button switches showing "12", "13" and "14", respectively; 2408, a signal derived from a push-button switch displaying the meaning of a limitless; 2409, a reset signal similar to the reset signal 2115 as shown in Fig.
26; 2410, an error correcting signal similar to the signal 2124 as shown in Fig. 26; 2411 through 2414, the encoded outputs from the encoder 2400; 2415, an output signal from the counter 2401; 2416 (which is similar to the signal 2131 as shown in Fig. 26), an error detecting signal which is outputted in response to the number of error corxections;
2417, an error detecting signal derived from the syndrome register.
In response to the push-button signals 2404 through 2408, one of them becomes "1" in response to an external switch, thus a threshold level for judging the error detection is designated. For instance, if the push-button signal 2404 is set to "1", the output signals 2411 through 2414 from the encoder 2400 represent "11". That is~ the signal 2411 becomes "1"; the signal 2412, "1"; the signal 2413~ "0"; and the signal 2412, "1". These encoded signals are applied to the comparator 2402.
Reference numeral 2409 indicates a reset signal, and is delivered when the error correction is started. In ~Z2;;~5~8 response to the reset signal 2409, the counter 24~1 is initially set to "0". Under these conditions, the operation for correcting the errors of a packet signal is started. Then, the counter input: signal (that is, the error correcting signal) are inputted for error correction, so that the counter 2401 is counled up. When the counted number exceeds the value designated by the encoded signals 2411 through 2414, the comparator output signal 2416 becomes ~ . Even if the error detecting signal 2417 from the syndrome register is lloll (that is, when the contents of the syndrome register are all lloll ), the comparator output signal 2416 which has passed the logic OR gate 2403 appears as an error status signal 2118 "1ll r Thus~ the error detection is displayed.
lS When the push-button signal showing l'limitless"
becomes l-l", the error detecting operation is halted in a special case, that is, when the value of one input to the comparator 2402 is set to the value that exceeds the number of 272, or when it is so directly controlled that the output signal 2416 from the comparator 2402 will not beco~e lll. There~ore, the circuit as shown in Fig. 29 functions, in a manner substantially similar to that described above with reference to Figs. 21 through 25. In this case, the error-correction probability can be increased, but ~5 naturally the lerroneous-correction probability will be increased. Therefore, the error detection function by CRC
becomes more important.
As described above, the value designated by the push-button signals 2404 through 2407 has been described as 1%22~5~3 being incremented by one, but it is to be understood that the same function can be attained by incrementing by "2", "3", "4" - . That is, the designated number may be not four, but may be more than or equal to fi~e, or less than or equal to three. Even so, the same function can be obtained. It is also apparent t:hat the same function or effect can be attained, even if the push-button signals 2404 through 2408 are selected in response to an instruction from the CRT.
A further embodiment of an error detecting circuit in accordance with the present inYention will be described.
In the embodiment described above, if error detecting signals 2416 and 2417 are set as other flags (cf.
Fig. 29) then which are identified by the CPU, the same effect can be obtained. ~hether or not only the error detecting signal 2417 from the syndrome register is used for the basis of detecting errors by the CPU, or whether or not the error detecting signal 2416 depending on the number of error corrections should be included in the information for identifying the error detection by the CPU, may be selected depending upon a user's program.
Finally, the fourth embodiment (an error detecting circuit) in accordance with the present invention will be described.
In the third embodiment described above, the CPU
may be so designated and constructed, that it can directly identify the output data from the counter 2401 without regard for the error detecting signal 2416. Therefore, it ~L%2Z~;~8 can be decided by a software, that whether or not the corrected data could be used.
In the case of the framing timing detection to be described below with reference t~ Figs. 30 through 4~, the threshold level is different from the threshold level of the error detection of the normal packet signal. If the CPU reads out the count number, whether the framing timing is correct or not can be determined by the error detecting signal 2417 and a program. In this case, the comparison by means of a comparator is not needed, of course, so that the error correction is carried out to the last stage (that is, until the threshold value ?19~ is reached). Furthermore, the error detection rate is always counted and controlled by a software, so that the threshold level in error detection is controlled. Thus, regardless of the reception conditions, the error correction probability can be maintained at a predetermined level. There is also an advantage that by utilizing the count number of error corrections, the adjustment of the slice level in a signal discrimination circuit and the adjustment of the sample phase can be made. And, the count number of error corrections can be used as a feedback information to a wave equalizer or the like.
Since each of the embodiments described above is based on the error correcting circuits described with reference to E'i`gs. 21 through 25, so that the error correcting effect substantially similar to that described above can be attained, by not setting the threshold value of the majorit:y logic circuit to "17" but to "13", or by ~L2ZZ~;S8 .
varying the threshold value not to "-l" but to "-2", "-3", etc. furthermore, by repeating the error correcting operation, until no error correction is required at a predetermined threshbld value, then by effecting the subtraction of the threshold value only when the error correction signal disappears.
As described above, the probable or rough counter number of the error correction bits can be identified by carrying out the present invention described with reference to Figs. 26 through 29,so that the probability of wrong error correction can be reduced.
Next9 the effects of the embodiments-described above are summarized.
Accordin~ to the first embodiment, the logic OR
operation of the error detection from the syndrome register and the error detection obtained by counting the error correction bits is obtained, and transmitted as a flag to the CPU, so that not only the circuit but also the program can be simplified.
According to the second embodiment, the threshold value of the count number of the error correction bits is variable, and is determined by the exterior push-buttons, a device including an A/D converter and the CPU, so that the threshold value of the count number of the error correction bits is increased in the poor reception area or field.
Therefore, the reception probability in the poor reception area or field can be increased.
According to the third embodiment, the error detection from the syndrome register and the error . ~,- . .
~;22~
detection due to the counting of number of the error correction bits are transmit~ed to the CPU as different flags, so that the determination of the error correction is made by the CPU. Depending upon the purpose for use, it is possible to neglect the error detection due to the counting of error correction bits.
According to the fourth embodiment, it is so designed and constructed, that the output from the counter representative of the count number of error correction bits is directly transmitted to the CPU9 thus the threshold value of the error detection can be determined by software.
The count number of the error correction can be applied to a signal discrimination circuit, a wave equalizer or the like. In this case, the threshold value to the comparator lS is not required to be determined directly by using the push-buttons or by the CPU. If the comparator input is applied to the CPU as a status signal, the construction similar to above described first, second and third embodiments can be obtained, by the COmpriSOD with the counter output by software.
As described above, according to the present invention described with reference to Figs. 26 through 29, the number of error correction bits is counted. Then, if the number of the counts is large, it is treated that "the error detection" occurs, even if the contents of the syndrome register are all "0", whereby the erroneous correction probability is reduced. Furthermore, according to the present invention, not only all the majority logic decodable error correcting codes, ~ut also other signals are able to have the function of the error detection.
2~
Next, referring to Figs. 30 through 40, the framing synchronizing reproduction for showing the start of the codes in a packet will be described.
Fig. 30 shows the construction of a transmission signal of a teletext broadcasting code signal~ Reference numeral 3100 denotes a horizontal syncronous signal; 3101, a colour burst signal; 3102, a clock-run-in signal; 3103, a framing code signal;3104, a character code signal to be transmitted consisting of 272 bits. In the case of reception, the clock synchronization is secured in response to the clock-run-in signal 3102, which is superposed on each line and transmitted, then the framing timing is detemined in response to the framing code signal 3103.
Thus, the character code signal 3104 is sequentially fetched from its leading bit.
Fig. 31 shows the underlying principle of the extraction of the framing timing, and shows the distance of the code between the framing code and the received 8-bit signal. Until a correct framing code is received, the minimum distance of the code is "3", so that it is possible to extract a correct framing timing, e~en if there exists one bit error. In Fig. 31, the reference numerals 3102 and 3103 represent the clock-run-in signal and the framing code signal, respectively; and 3200, a framing timing.
A first embodiment of a framing timing detection circuit in accordance with the present invention will be described with reference to Figs. 32 through 38.
Fig. 32 shows the construction of the transmitted signal of the embodiment. Reference numeral 3300 denotes a service discrimination and interruption signal; 3301, a information portion of a character code (182 bits); 330~, an error correcting parity signal t82 bits); 3303, an 8-bit M-sequence pseudo random pulse signal ~255 bits, which will be referred to as "PN" signal in this specification); 3304, a character code information portion after adding the PN
signal; 3305, a parity signal after adding the PN signal;
3306, an exclusive OR operator; 3307, a packet signal before adding the PN signal; 3308, a packet signal after adding the PN signal.
As described above, in the case of the Japanese character code broadcasting, it has been considered that the (272,190) error correcting system is optimum.
Therefore, as shown in Fig. 32, the character code signal 3104 is transmitted. That is , the service discrimination and interrupttion signal 3300 and the character code information portion 3301 act as the error correcting code of 190 bits.
According to this framing timing detection circuit, a strong ~raming timing extraction can be carried out by utilizing the fact? ~hat the new error correcting system is provided with the capability of error detection, and that when the PN signal 3303 slips the bit errors are reduced almost one half.
Therefore 9 the exclusive-OR of the packet signal 3307 without the PN signal and the PN signal 3303 is obtained one bit by one bit, and converted into the packet signal 3308. The service discrimination and interruption signal 3300, which is converte~ into the error correcting ~2~ ;8 code by the (8, 4) extended Hamming code, is transmitted without any modification or conversion, in view of the relationship with other systems. In the case of the pattern-method character broadcasting system~ in response to the service discrimination and interruption signal 3300, the sign~l 3300 can be decoded in a manner substantially similar to the conventional manner.
Next, the signal processing in the receiver will be described.
Fig. 33 shows the packet signal received by the CPU. Reference numeral 3400 denotes a fetch sign~l related to the detection of the conventional framing code; and 3401, a signal including a framing code used by this embodiment of the present invention and consisting of 36 bytes. The signal which is required practice is the signal 3402 consisting of 34 bytes.
In the receiver, the framing timing of the 36 byte signal 3401 fetched into the CPU is detected, in the process of the error correcting operation. First, the leading end of the received signal 3401 is treated as the framing timing, and the operation which is the reverse to the transmitting operation is carried out, so that 34 bytes (272 bits) are applied to the error correction circuit. If there exist many errors, the framing timing is identified as being not correct. ~ext, the position after shifting one bit is regàrded as the ~raming timing, and the same operation is repeated. The above-described operation is repeated.
~ Z~
When the correct framing timing is obtained, there exist the least number of error bits. Therefore, the leading timing of the signal 3401 is set to a suitable timing, after the clock-run-in signal 3102 has been detected. But, it must be fechedl in such a way that all 34 bytes are included, therefore as shown by the signal 3401, it is suitable to fetch the 36 byte data from the position that is one byte before the framing timing.
In general, the autocorrelation of the repeating pattern as to the M-sequence signal is 'l2n -1" when no bit is shifted, and is "-1" in the other cases. Where, n represents the order of the M-sequence. Therefore, in the case of 8 bits in accordance with this embodiment, n becomes eight, so that the number of coincidence bits becomes "255" when no shift is made. In the case of other shifts, the number of coincidence bits is "127" ( ( 7n _ 1)/2 ) ), and the number of in-coincidence bit becomes "128" ( ( 2n - 1)/ 2 ) + 1 ). That is~ when no shift is made, there is no error bit (in-coincidence bit), while in the other cases, the number of error bits becomes "128".
According to this embodiment, if the correct framing timing cannot be attained, the average of 218 error bits occurs. Of course, in the case of the correct framing timing, the number of error bits is 0.
Fig. 34 shows a 34 byte packet signal, in the case of an erroneous framing timing (that is, 8 bits before the correct framing timing)~ Reference numeral 3500 represents a packet signal, which is added with the PN
signal, in the receiver. And3 255 - 8 = 247 bits are ~.%;2;2~i8 included in the signal section 3501, then about half of these bits are erroneous. Thus, even if the packet signal 3500 is loaded into the (272,190) error correcting circuit for decoding, in almost all the cases, it becomes impossible to decode because of ~any errors.
Therefore 9 the data is shif~ed one b;t by one bit, and the operation described above with reference to Fig. 34 is repeated. Then, the correct timing packet signal 3600 can be obtained at the 8-th bit. That is, the signal 3600 has no error. In practice, errors caused in a transmission path are added. If the errors caused by the transmission path are less than or equal to 8 bits, the complete correction is possible by the (272,190) error correcting circuit, and the original packet signal per se is restored.
Figs. 36A and 36B show a flowchart explaining the packet signal error correction procedure described above.
That is, if error correction has not been made after 16 shifts~ it is handled as an error detection. The steps of the flowchart as shown iD Figs. 36A and 36B are as follows:
Step S2: Load 36 bytes.
Step S4: The number of shifts has been already determined?
Step S6: In response to a predetermined shift number, 34 bytes are constructed into one packet.
Step S8: Error correction possible?
Step S10: Packet processing.
Step S12: The leading 34 bytes are regarded as one packet.
Step S14: Error correction is possible?
~Z22~i~;8 Step Sl6: The shifts of 16 times have been made?
Step S18: 34 bytes are regarded as one packet, after one bit has been shifted.
Step S20: Set the number of shifts.
Step S22: The process of the error detection and error correction.
Fig. 37 shows a signal loading circuit of this embodiment. Reference numeral 3800 denotes a timing generator; 38019 a delay circuit; 3802, an address controller; 3803, a CPU; 3$04, a RAM in the CPU 3803; 3805, an error correcting circuit; 3806, a character code multiplexed signal; 3807, a clock signal; 3808, a line gate signal; 3809, a line code signal; 3810, a DMA request signal; 3811, a DMA grant signal; 3812, a write timing signal for character code; 3813, an address signal; 3814, a write control signal; 3815, an error correction control signal and a packet signal to be corrected; 3816, an error correction status signal and an error corrected packet signal.
It has been knowng that even if the character code broadcasting is multiplexed during the lOH through 21H
vertical blanking period, the picture display of the conventional television broadcasting is not adversely affected. Therefore, in practice, it may be considered to effect the mult`iplexed transmission of the character code signal, during lOH through 21H. The above-described the DMA request signal 3810 is used for directly writing the multiplexed character code signal, into the RAM 3804 within ~LZZ;~;58 the CPU. It is preferable that the timing is set to on about nineth line.
When the CPU 3803 receives the DMA request signal 3810~ the CPU outputs DMA grant signal 3811 to the address controller 3802, so that the RAM 3804 is controlled by the address controller 3802.
The line gate signal is a gate signal on a line, where a character code signal is superposed, and its rising timing is independent of the phase of the clock signal 3807. In general, the line gate signal 3808 includes a jitter component caused by some noise. In order to eliminate the adverse effect of the jitter, the delay circuit 3801 is so adjusted, that the phase of the line gate signal 3808 coincides with the midpoint of the phase of the clock signal 3807. That is, since the clock signal 3807 has the frequency of 5.73 MHz, the line gate signal 3808 is set to the phase of + 175/2 ns. Therefore, it can be prevented that the phase of the line gate signal 3808 is deviated for each H. In response to the gate signal 3812, which has no phase jitter in each H, the operation of the address controller 3802 is started.
In response to the line number of the line code signal 3809, the start address of the address controller 3802 is identified. Starting from this start address, data 3806 each consisting of 8 bits are stored in the RAM 3804.
The address signal 3813 and the write control signal 3814 are used to control the RAM 3804.
The above-described operation is carried out for each line. The CPU 3803 which has received the whole ~L;22%~;~;8 mul~iplexed signal carries out the above-described operation tcf. Fig. 36) for each packet signal. Since ~he error correction control signal, the packet signal 3815 to be corrected, the error correction status signal and the error corrected packet signal 3816 are irre~evant to this embodiment, so that no detailed explanation shall be made in this specification.
The signal loading circuit as shown in Fig. 37 can eliminate the detecting circuit for the framing signal.
That is, for each field, the contents of the RAM 3804 are all reset to "0", so that whether or not each line has a multiplexed signal is identified. Because, only when the clock line signal 3102 exists, the line gate signal 3808 is delivered. Alternatively, the same object can be attained by setting an information which represents that whether or not there exists the clock-run-in signal for each H, thereafter by reading out the data fro~ the register.
Fig. 38 shows an embodiment of a circuit for detecting whether or not there exists the clock-run-in signal. In other words, Fig. 38 shows a practical hardware construction, used in a system in which the clock-run-in signal for each H is detected, by causing the CPU 3803 to read the data from the register. Reference numeral 3900 denotes a line address decoder; 3901 through 3912, clock-run-in present signal regarding the lOH through the 21H
line; 3925 and `3913 through 3923, registers for displaying whether the clock-run-in signal is present or absent regarding the lOH through the 21H line; and 3924, an input signal to an input port of the CPU 3803.
- ~6 -~L;22Z5S~
In response to the DMA request signal 3810, the registers 3925 and 3913 Lhrough 3923 are all cleared to 0.
Next, ,~he contents of the line code signal 3809 are decoded by the address decoder 3900, and the line gate signal 3808 is divided into the signals 3901 through 3912, in response to each timing when clock-run-in signal is present.
Therefore, the registers 3925 and 3913 through 3923 are all set to "1". "0" shows that clock-run-in signal is absent, while "1" shows that clock-run-in signal is present.
Therefore, when the ~PU 3803 reads the data from the input port, the CPU can immediately identify that which line carries the superposed data.
The second embodiment of the framing timing detection circuit will be described.
ID the first embodiment described above, a correct shift number is uniformly determined, and based upon this shift number; that is, by using this shift number as a reference, a correct phase is detected. According to such system, if data is se~ for each H in different phase, it has no meaning at all. Therefore, an improvement of the first embodiment is provided. That is~ there is provided a system, in which the correct phases are memorized for each H. In this case, the control procedure is substantially similar to that described above with reference to Fig. 36.
But, the Step S4 in Fig. 36 should read from "the shift number" to "thè optimum shift number of the received H".
Further, the Step S20 should read to "Set to the optimum shift number of the received H".
25~
Finally, the third embodiment of the framing timing circuit will be described.
If it is impossible to effect the error correction with a predetermined shift number, it is possible to determine swiftly a desired shift number, by improving an algorithm for retrieving a correct shift number.
Fig. 39 shows a 36-byte data stored in the RAM of the CPU. Reference numeral 4000 denotes a 3~-byte packet signal. The point "a" indicates a framing timing, which has been determined in the previous step. "kl' is a variable for sequentially varying, and "X" indicates a fra~ing timing presumed at its time point. Tests are made with x = a + k where, aC x 15. It has no meaning, if x exceeds ~his range. A correcting framing time is retrieved, by shifting to the right and left about the point "a".
Fig. 40 shows the flowchart used to explain the framing phase retrieving procedure. Each step is apparent from Fig. 40, so that no detailed description shall be made in this specification.
As described in detail above, according the framing timing detection circuit in accordance with the present invention, a framing timing extraction circuit and a phase lock circuit for the framing ti~ing can be eliminated, so that a load of hardware is reduced.
Furthermore, the framing timing detecting ability is based on the (272,190) error correction system, the ability is considerably improved as compared with the conventional 8-bit framing code system.
~222S~8 In the systems described in conjunction with the first, second and third embodiments of the framing timing detection circuit, the superpose~ PN signal (that is, Exclusive-ORed signal) has been described as consisting of 255 bits (cf. Fig. 32), but it is apparent that the same effect can be also attained, by adding the first portion of the same PN signal to it~ and superposing the PN signal over the remaining portion. In this case, the PN signal to be added consists of 33 bytes = 264 bits. As described above, the 8-bit PN signal that has a period of 255 bits is used, but it is apparent that the same effect can be obtai-ned by using 9 or 10 bits.
According to the present invention, if the framing timing is wrong, in almost all the cases, the packet signal error correcting circuit represents that it is impossible to correct errors. Thus, it is possible to find a framing timing, without the use of a framing timing extraction circuit based on a framing code.
According to the first embodiment of the framing timing detection circuit, the data is loaded on the timing, which is earlier than 8 bits with regard to the normal framing timing phase, then by considering the whole data as consisting of 36 bytes, and by shifting the framing timing one bit by one bit. Thus, found timing is stored and, in the next step, in response to the stored framing timing, a packet signal îs restored. As a result, there is an advantage that a load of CPU can be decreased.
According to the second embodiment of the framing timing detection circuit, the system is employed, in which ~225~i8 the framing timing obtained in accordance with the first embodiment is stored for each H. Therefore, there is an advantage that the errors of a packet signal can be corrected within a shortest time period~ even if the multiplexed phases are different for each line.
According to the third embodiment of the framing timing detecting circuit, when the error correction is impossible with a predetermined framing timing, a framing timing is searched from the vicinity of a predetermined framing phase whose error correction is impossible. As a consequence, a framing timing can be searched within a shortest time period.
As described above, it has been considered that the shortened error correcting code has the length of 272 bits (i.e. 34 bytes). Alternatively, any kind of error correcting code that is to be shortened to a desired code length can be used. In other words, after selecting a random multi-error correcting code ha~ing a maximum length block in a packet, the random multi-error correcting code is shortened by n (n=1,2, ...) bits. For instance, in case of 33 bytes (i.e. 264 bits) as its code length, the (264,182) code is used. Therefore, the data register described in the embodiments requires a length of 182 bits, and then the idle operation is repeated nine times using the syndrome register to shorten nine bits at the time of load-ending. In this case, if the orthogonal parity check sums are constructed so that the ninth bit from the leading bit is orthogonal, it is apparent that the nine-bit idle operation of the syndrome register is required by all means.
Claims (23)
EXCLUSIVE PROPERTY OR PRIVILEGE IS CLAIMED ARE AS FOLLOWS:
1. In a broadcasting system having transmitting and receiving sides for respectively transmitting and receiving character information in packets having data signal portions of predetermined length, an error correcting system for correcting errors in a transmission path between said transmitting and receiving sides comprising:
in said transmitting side:
means for generating a random multi-error correcting code having a block length that is at least as great as the length of the data signal portion of a packet, and for shortening the block length if necessary to fit in the data signal portion of the packet; and means for broadcasting a data signal including at least one packet; and in said receiving side:
means for receiving the broadcast data signal;
means for multiplying the received data signal by a matrix having a predetermined column all consisting of ones to reproduce a character code signal; and means for decoding character information from the reproduced character code signal.
in said transmitting side:
means for generating a random multi-error correcting code having a block length that is at least as great as the length of the data signal portion of a packet, and for shortening the block length if necessary to fit in the data signal portion of the packet; and means for broadcasting a data signal including at least one packet; and in said receiving side:
means for receiving the broadcast data signal;
means for multiplying the received data signal by a matrix having a predetermined column all consisting of ones to reproduce a character code signal; and means for decoding character information from the reproduced character code signal.
2. An error correcting system as claimed in claim 1, wherein the data signal portion of a packet has a length of 272 bits; wherein said means for generating said random multi-error correcting code cornprises means for generating a signal including 273 data-bits consisting of 191 information-bits and 82 parity-bits in the form of a majority logic difference set cyclic code, and means for shortening said signal by one information-bit so that 272 data-bits remain to form the data signal portion of a packet; and wherein said means for broadcasting comprises means for forming as said data signal a plurality of packets, each having 272 data-bits consisting of 190 information-bits and 82 parity-bits.
3. An error correcting system as claimed in claim 1, wherein the data signal portion of a packet has a length of 264 bits; wherein said means for generating said random multi-error correcting code comprises means for generating a signal including 273 data-bits consisting of 191 information-bits and 82 parity-bits in the form of a majority logic difference set cyclic code, and means for shortening said signal by nine information-bits so that 264 data bits remain to form the data signal portion of a packet; and wherein said means for broadcasting comprises means for forming as said data signal a plurality of packets, each having 264 data-bits consisting of 182 information-bits and 82 parity-bits.
4. An error correction system as claimed in claim 1, wherein said multiplying means comprises:
a syndrome register receiving the data signal portion of a packet for checking a bit error in the data signal portion;
a data register receiving the data signal portion of the packet for storing the data signal portion;
logic means receiving the output from said syndrome register for delivering a majority decision of said output;
means for correcting the leading bit of the output from said data register in accordance with the output from said majority decision logic means; and means for correcting the content of said syndrome register in accordance with the output from said majority decision logic means.
a syndrome register receiving the data signal portion of a packet for checking a bit error in the data signal portion;
a data register receiving the data signal portion of the packet for storing the data signal portion;
logic means receiving the output from said syndrome register for delivering a majority decision of said output;
means for correcting the leading bit of the output from said data register in accordance with the output from said majority decision logic means; and means for correcting the content of said syndrome register in accordance with the output from said majority decision logic means.
5. An error correction system as claimed in claim 1, wherein information that could fit within the data signal portion of a single packet is divided into a plurality of groups, each consisting of a plurality of bits, and the groups are allotted into separate packets.
6. An error correction system as claimed in claim 5, wherein said receiving means comprises means for storing the data signal portions for 34 packets, and a signal which is formatted to accord with the data format on the broadcasting side is written into or read out from said storing means.
7. An error correction system as claimed in claim 4, further comprising:
means for setting a decision threshold value to said majority decision logic means, said decision threshold value being within the number of input elements to said majority decision logic means; and means for controlling said setting means in such a manner that after all the bits in the data signal portion of one packet are entirely corrected, a predetermined value is sequentially subtracted from said decision threshold value until the decision threshold value reaches a predetermined threshold value.
means for setting a decision threshold value to said majority decision logic means, said decision threshold value being within the number of input elements to said majority decision logic means; and means for controlling said setting means in such a manner that after all the bits in the data signal portion of one packet are entirely corrected, a predetermined value is sequentially subtracted from said decision threshold value until the decision threshold value reaches a predetermined threshold value.
8. An error correction system as claimed in claim 7, wherein the data signal portion of a packet has a length of 272 bits and accommodates a 190-bit information signal and an 82-bit parity signal, and wherein the decision threshold value of said majority decision logic means is preset an 17 and said predetermined value that is sequentially subtracted is set at 1, in such a manner that said decision threshold value 17 is sequentially decreased until it reaches 9.
9. An error correction system as claimed in claim 7, wherein said decision threshold value is set in response to an instruction from an exterior device.
10. An error correction system as claimed in claim 7, further comprising means for setting said decision threshold value and means for re-loading data read out from said data register.
11. An error correction system as claimed in claim 7, wherein said decision threshold value is sequentially decreased by 1.
12. An error correction system as claimed in claim 7, wherein said decision threshold value is started from an initial value selected from a number group from 9 to 16.
13. An error correction system as claimed in claim 7, further comprising an error detection circuit including:
means for counting the number of error correction bits generated from said majority decision logic means during the cyclic correction; and means for deciding that an error is detected when the counted value from said counting means reaches a predermined value, even if the contents of said syndrome register are all set to zero.
means for counting the number of error correction bits generated from said majority decision logic means during the cyclic correction; and means for deciding that an error is detected when the counted value from said counting means reaches a predermined value, even if the contents of said syndrome register are all set to zero.
14. An error detection circuit as claimed in claim 13, wherein said predetermined value is set in response to an instruction from an external device.
15. An error correction system as claimed in claim 7, wherein said decision threshold value is sequentially decreased by an integer larger than 1.
16. An error correction system as claimed in claim 4, further comprising a detection circuit including:
means for counting the number of error correction bits generated from said majority decision logic means during cyclic correction; and means for deciding that an error is detected when the counted value from said counting means reaches a predetermined value, even if the contents of said syndrome register are all set to zero.
means for counting the number of error correction bits generated from said majority decision logic means during cyclic correction; and means for deciding that an error is detected when the counted value from said counting means reaches a predetermined value, even if the contents of said syndrome register are all set to zero.
17. An error correction system as claimed in claim 4, wherein only said syndrome register is shifted bit by bit by the number of bits corresponding to the difference between said block length and the length of the signal data portion of a packet while the output from said majority decision logic means is disabled, and said syndrome register and said data register are shifted when the shift of said syndrome register by said number of bits is completed.
18. An error correction system as claimed in claim 1, further comprising a framing timing detection circuit, including:
first means for receiving a transmitted signal in which a pseudo random signal is added to a predetermined range of a packet signal for character code broadcasting;
second means for receiving said transmitted signal and for adding specific signals to the leading and trailing ends thereof;
third means for executing a predetermined arithmetic operation to a predetermined range of the signal added with said specific signal;
fourth means for shifting a specific time point of said signal added with said specific signal by said second means by one bit sequentially; and fifth means for retrieving a timing at which the number of error bits is minimized, whereby the detection of a framing timing is ensured.
first means for receiving a transmitted signal in which a pseudo random signal is added to a predetermined range of a packet signal for character code broadcasting;
second means for receiving said transmitted signal and for adding specific signals to the leading and trailing ends thereof;
third means for executing a predetermined arithmetic operation to a predetermined range of the signal added with said specific signal;
fourth means for shifting a specific time point of said signal added with said specific signal by said second means by one bit sequentially; and fifth means for retrieving a timing at which the number of error bits is minimized, whereby the detection of a framing timing is ensured.
19. An error correction system as claimed in claim 18, wherein specific signals are added to the leading and trailing ends of the received transmitted signal in which the exclusive OR result of said pseudo random signal is obtained in the portion succeeding a predetermined time point of said packet signal for character code broadcasting, and the exclusive OR operation of said pseudo random signal is effected in the portion succeeding to said predetermined time point of the signal added with said specific signals.
20. An error correction system as claimed in claim 18, wherein on the transmission side said transmitted signal is formed by adding said pseudo random signal to the signal obtained by removing four bytes of a clock-run-in signal, a framing code signal, a service discrimination signal and an interrupt signal from said packet signal for character code broadcasting, in addition to a predetermined packet signal consisting of 34 bytes, each one byte is added to the leading and trailing ends of said packet signal, and on the reception side one packet signal is formed by sequentially shifting the leading bit of the received packet signal and the error correction of said one packet signal is effected by a (272,190) error correction circuit, so that a timing at which the error of said one packet signal is corrected is obtained as the framing timing.
21. An error correction system as claimed in claim 20, wherein said shift number already determined is stored, and thereafter a packet signal which is determined in response to said determined shift number is immediately loaded into said error correction circuit.
22. An error correction system as claimed in claim 21, wherein the number of shifts which has been already determined is stored per one horizontal scan, so that the framing timing is detected even when the phases of the transmitted signals are variecl in respective horizontal scans.
23. An error correction system as claimed in claim 22, wherein in the case that the errors of a packet signal is not corrected by a predetermined number of shifts, a framing timing is determined within a minimum time period in response to a predetermined algorithm.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CA000513552A CA1222558A (en) | 1983-01-20 | 1986-07-10 | Error correction method and apparatus |
Applications Claiming Priority (10)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP6,579/1983 | 1983-01-20 | ||
JP58006579A JPS59133751A (en) | 1983-01-20 | 1983-01-20 | Error correcting and decoding system |
JP58054002A JPS59181841A (en) | 1983-03-31 | 1983-03-31 | Error correcting and decoding system |
JP54,002/1983 | 1983-03-31 | ||
JP160,523/1983 | 1983-09-02 | ||
JP58160523A JPS6053389A (en) | 1983-09-02 | 1983-09-02 | Framing timing detecting circuit |
JP198,363/1983 | 1983-10-25 | ||
JP58198363A JPS6090430A (en) | 1983-10-25 | 1983-10-25 | Error detecting circuit |
CA000445657A CA1216059A (en) | 1983-01-20 | 1984-01-19 | Error correction method and apparatus |
CA000513552A CA1222558A (en) | 1983-01-20 | 1986-07-10 | Error correction method and apparatus |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA000445657A Division CA1216059A (en) | 1983-01-20 | 1984-01-19 | Error correction method and apparatus |
Publications (1)
Publication Number | Publication Date |
---|---|
CA1222558A true CA1222558A (en) | 1987-06-02 |
Family
ID=33437203
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA000513552A Expired CA1222558A (en) | 1983-01-20 | 1986-07-10 | Error correction method and apparatus |
Country Status (1)
Country | Link |
---|---|
CA (1) | CA1222558A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116820828A (en) * | 2023-08-29 | 2023-09-29 | 苏州浪潮智能科技有限公司 | Method and device for setting correctable error threshold, electronic equipment and storage medium |
-
1986
- 1986-07-10 CA CA000513552A patent/CA1222558A/en not_active Expired
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116820828A (en) * | 2023-08-29 | 2023-09-29 | 苏州浪潮智能科技有限公司 | Method and device for setting correctable error threshold, electronic equipment and storage medium |
CN116820828B (en) * | 2023-08-29 | 2024-01-09 | 苏州浪潮智能科技有限公司 | Method and device for setting correctable error threshold, electronic equipment and storage medium |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4630271A (en) | Error correction method and apparatus for data broadcasting system | |
US4852099A (en) | Error correction method using Reed-Solomon code | |
US4718067A (en) | Device for correcting and concealing errors in a data stream, and video and/or audio reproduction apparatus comprising such a device | |
US5684810A (en) | Error correcting decoder and error correction decoding method | |
US4654853A (en) | Data transmission method | |
US4567518A (en) | System for decoding and displaying encoded television pictures | |
US4607367A (en) | Correcting errors in binary data | |
CA1152599A (en) | Processing binary data | |
US4819231A (en) | Framing timing detection circuit for a character code broadcasting system | |
US4748628A (en) | Method and apparatus for correcting errors in digital audio signals | |
US5430767A (en) | Method and apparatus for deinterleaving digital transmission data | |
US5596589A (en) | Method and apparatus for encoding and decoding error correction codes in a radio communication system | |
CA1222558A (en) | Error correction method and apparatus | |
KR100309885B1 (en) | Method and apparatus for performing error correction processing in small capacity | |
JP3286205B2 (en) | Data transmission system, error correction device, error correction method, and DVD playback device | |
JP3169832B2 (en) | Data error correction method for frame-structured digital signal and apparatus used therefor | |
JPH0634313B2 (en) | Error correction method | |
JPH0546131B2 (en) | ||
US5357526A (en) | Method and apparatus for correcting errors of compressed data | |
JP2785822B2 (en) | High-efficiency encoding device and decoding device for television signal | |
JP3338320B2 (en) | Burst error correction method and apparatus | |
KR0166755B1 (en) | Device and method for generating control signal to correct errors of digital recording/reproducing system | |
JP3305152B2 (en) | Data transmission method | |
JP3277062B2 (en) | Error correction code decoding device | |
JPH0376612B2 (en) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MKEX | Expiry |