US7139289B2 - Device and method for error and sync detection - Google Patents
Device and method for error and sync detection Download PDFInfo
- Publication number
- US7139289B2 US7139289B2 US10/046,263 US4626302A US7139289B2 US 7139289 B2 US7139289 B2 US 7139289B2 US 4626302 A US4626302 A US 4626302A US 7139289 B2 US7139289 B2 US 7139289B2
- Authority
- US
- United States
- Prior art keywords
- data
- pdatai
- dobx
- calculation
- gxot
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related, expires
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
- H04N19/89—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
Definitions
- the present invention relates to a device and a method for performing an error detection operation and a sync detection operation when formatting digital data.
- the series of operations for converting packet data including Reed-Solomon decoded data where 1 byte is comprised of 7 bits to a transport stream data packet where 1 byte is comprised of 8 bits will hereinafter be referred to as an “MPEG framing process”.
- the MPEG framing process is shown in detail in ITU-T Recommendation J.83, ANNEX B, Digital multi-program System B, B.4 MPEG-2 transport framing. Particularly, Figure B.3/J.83 shows an actual decoding circuit.
- the circuit is a syndrome computation circuit for performing the sync byte detection operation.
- the specification of the circuit is such that the circuit receives data that is obtained by converting the 7-bit byte Reed-Solomon decoded data to serial bits, and performs a syndrome computation operation using the serial data so as to perform a parity check operation for error detection and to simultaneously perform a sync byte detection operation according to the result of the parity check operation. Then, after performing the parity check operation and the sync detection operation in a serial process, the output data is converted to 8-bit byte data where 1 byte is comprised of 8 bits, thus providing a transport stream data packet.
- the decoder circuit shown in Figure B.3/J.83 employs a sequence of converting 7-bit byte data to serial bit data, performing a process using a 1497-stage delay element, and then converting the data to 8-bit byte data. Therefore, performing the entire process requires a parallel-to-serial conversion circuit, an MPEG2 sync detection syndrome computation circuit using the 1497-stage delay element shown in Figure B.3/J.83, and a serial-to-parallel conversion circuit, whereby the circuit scale is significantly large.
- An object of the present invention is to provide an error and sync detection circuit that eliminates the need for the 1497-stage delay element and the serial-to-parallel conversion circuit in the output stage.
- the present invention realizes a sequence of first converting 7-bit byte data to 8-bit byte data in a byte-to-byte conversion, and then performing the parity check operation and the sync detection operation by 8-bit bytes, in view of the fact that the MPEG framing process as a whole is a byte-to-byte conversion of converting 7-bit byte data, after performing various operations on the 7-bit byte data.
- an error and sync detection device of the present invention includes: a data rearrangement block for receiving 7-bit byte data and converting the 7-bit byte data to 8-bit byte data; a parity check block for receiving the 8-bit byte data, which has been converted by the data rearrangement block, and performing an MPEG sync byte detection operation and a parity-check-based error detection operation using the received byte data; and a data storage block, capable of receiving/outputting 8-bit byte data, for receiving and storing the 8-bit byte data, which has been converted by the data rearrangement block, and 8-bit intermediate byte data produced during a calculation process for the MPEG sync byte detection operation and the parity-check-based error detection operation performed by the parity check block, whereby MPEG packet data that is a collection of 8-bit byte data including a sync byte is output from the parity check block.
- the parity check block includes a first calculation block and a second calculation block for performing a predetermined syndrome computation including an operation of delaying data by a predetermined number of clocks;
- the first calculation block receives the 8-bit byte data that is output from the data rearrangement block, and performs a calculation therewith before the operation of delaying the data by a predetermined number of clocks, so as to output intermediate byte data to the data storage block, the intermediate byte data representing a result of the calculation;
- the second calculation block receives the intermediate byte data from the data storage block, and performs the calculation therewith before the operation of delaying the data by a predetermined number of clocks, so as to output 8-bit byte data that has undergone the MPEG sync byte detection operation and the parity-check-based error detection operation.
- gxot[ 7 : 0 ] denotes data representing a result of a calculation that is performed using the byte data pdatai[ 7 : 0 ]
- gxot 7 d[ 7 : 0 ] denotes 8-bit byte data obtained by delaying the calculation result data gxot[ 7 : 0 ] by 7 clocks according to a predetermined reference clock
- gx[ 7 : 0 ] denotes an 8-bit intermediate variable that is used in a process of obtaining the calculation result data gxot[ 7 : 0 ]
- “ ⁇ ” denotes an exclusive OR operation between bits
- bxot 1 [ 7 : 0 ] denotes data representing a result of a calculation that is performed using the byte data dobx[ 7 : 0 ]
- dobx 7 d[ 7 : 0 ] denotes 8-bit byte data obtained by delaying the input byte data dobx[ 7 : 0 ] by 7 clocks according to a predetermined reference clock
- bx[ 7 : 0 ] denotes an 8-bit intermediate variable that is used in a process of obtaining the calculation result data
- gxot 1 d[ 7 : 0 ] denotes 8-bit byte data obtained by delaying the calculation result data gxot[ 7 : 0 ] from the first calculation block by 1 clock according to the reference clock
- “ ⁇ ” denotes an exclusive OR operation
- the data storage block receives the 8-bit byte data from the data rearrangement block and 8-bit byte data representing the result of the calculation performed by the first calculation block, and outputs the two 8-bit byte data after holding the two 8-bit byte data respectively for predetermined periods of time.
- the data storage block is a RAM.
- the error and sync detection device is implemented as a method.
- a series of 7-bit byte input data is first rearranged by the data rearrangement block to 8-bit byte data.
- the 8-bit byte data is input to and stored in the data storage block, and is also input to the parity check block.
- Each of the 8-bit byte data that has been input to the data storage block is delayed by a predetermined period of time (e.g., by 1496 clocks) before it is input to the parity check block.
- the parity check block performs the sync detection operation and the parity check operation by using the 8-bit byte data and those that have been delayed by a predetermined period of time.
- 7-bit byte data is converted in a byte-to-byte conversion to 8-bit byte data, and thereafter the 8-bit byte data is consistently used throughout the sync detection operation and the parity check operation.
- a RAM can be used as the data storage block, in which case the byte data stored in the RAM may be output after being delayed by a predetermined period of time. Therefore, the circuit scale can be significantly reduced as compared to cases where a delay element having a large number of stages, e.g., 1000 stages or more, is necessary, as in the prior art.
- the calculation process is performed by 8-bit bytes, the calculation method is suitable for CPU operations, etc. Therefore, the present invention is not limited to any particular hardware configuration, and can even be implemented as software.
- FIG. 1 is a block diagram illustrating a general configuration of an error and sync detection device in an embodiment of the present invention.
- FIG. 2 is a diagram illustrating a configuration of a data rearrangement block provided in the error and sync detection device.
- FIG. 3 is a diagram illustrating a data rearrangement method using the data rearrangement block.
- FIG. 4 is a block diagram illustrating a configuration of a parity check block provided in the error and sync detection device.
- FIG. 5 is a diagram illustrating a configuration of a first calculation block provided in the parity check block.
- FIG. 6 is a diagram illustrating a configuration of a second calculation block provided in the parity check block.
- FIG. 7A is a diagram illustrating data being stored in a RAM of a data storage block provided in the error and sync detection device.
- FIG. 7B is a diagram illustrating changes over time of data being input to and output from the data storage block.
- FIG. 8 is a diagram illustrating an operation timing chart of the data storage block.
- FIG. 9 is a diagram illustrating a section of a decoder circuit, before a 1947-stage delay, that is proposed in ITU-T recommendation J.83 for an MPEG framing process.
- FIG. 10 is a diagram illustrating a calculation process performed by the circuit section.
- FIG. 11 is a diagram illustrating a section of a decoder circuit, after a 1947-stage delay, that is proposed in ITU-T recommendation J.83 for an MPEG framing process.
- FIG. 12 is a diagram illustrating a calculation process performed by the circuit section.
- FIG. 13 is a diagram illustrating a general configuration of a decoder circuit that is proposed in ITU-T recommendation J.83 for an MPEG framing process.
- FIG. 1 is a block diagram illustrating a configuration of an error and sync detection device according to the present embodiment.
- the error and sync detection device includes a data rearrangement block 1 , a parity check block 2 , and a data storage block (data storage device) 3 .
- the data rearrangement block 1 receives 7-bit byte data and converts the 7-bit byte data to 8-bit byte data.
- the parity check block 2 performs an MPEG sync byte detection operation and a parity-check-based error detection operation by performing calculations using the 8-bit byte data that are successively input to the parity check block 2 .
- the data storage block 3 stores data which needs to be stored while the parity check block 2 performs the MPEG sync byte detection operation and the parity-check-based error detection operation.
- FIG. 2 illustrates an internal configuration of the data rearrangement block 1
- FIG. 3 illustrates a data conversion method of the data rearrangement block 1
- FIG. 4 is a block diagram illustrating an internal configuration of the parity check block 2 .
- the parity check block 2 includes a first calculation block 10 , a second calculation block 11 , and a selection circuit 12 .
- the function of the first and second calculation blocks 10 and 11 will be generally described below.
- the first calculation block 10 receives 8-bit byte data from the data rearrangement block 1 , performs a calculation on the received 8-bit byte data, and outputs byte data representing the calculation result to the data storage block 3 .
- the second calculation block 11 receives the 8-bit byte data representing the result of the calculation by the first calculation block 10 from the data storage block 3 after passage of a predetermined time period, performs a calculation on the received 8-bit byte data, and outputs data including an MPEG sync byte.
- the selection circuit 12 selectively outputs either one of the calculation result data from the second calculation block 11 and the byte data output from the data storage block 3 , as 8-bit MPEG2 transport stream data.
- FIG. 3 shows a process diagram illustrating a method for converting the input data.
- the 7-bit data is serialized, from which 8-bit data (A, B, . . . , J, . . . ) is produced by shifting the serial data by 1 bit for every clock.
- 8-bit byte data starting from “A” and 8-bit byte data starting from “I” are of an identical combination pattern.
- 8-bit byte data starting from “B” and 8-bit byte data starting from “J” are of an identical combination pattern.
- FIG. 2 illustrates an internal configuration of the data rearrangement block 1 performing the above-described operation.
- the data rearrangement block 1 includes two registers 1 a and 1 b and a selector 1 c.
- Each of the registers 1 a and 1 b stores serialized 7-bit data.
- the registers 1 a and 1 b are connected in series with each other. Therefore, when one 7-bit byte (“preceding byte data”) is stored in the register 1 b, the following 7-bit byte (“following byte data”) is stored in the register 1 a.
- the selector 1 c has first to seventh input terminals, and sequentially selects the input terminals one at a time.
- the first input terminal receives a total of 8 bits including all bits of the preceding byte data dataireg 2 [ 6 : 0 ] and the upper 1 bit of the following byte data dataireg 1 [ 6 ].
- the second input terminal receives a total of 8 bits including the lower 6 bits of the preceding byte data dataireg 2 [ 5 : 0 ] and the upper 2 bits of the following byte data dataireg 1 [ 6 : 5 ].
- the third input terminal receives a total of 8 bits including the lower 5 bits of the preceding byte data dataireg 2 [ 4 : 0 ] and the upper 3 bits of the following byte data dataireg 1 [ 6 : 4 ].
- the fourth input terminal receives a total of 8 bits including the lower 4 bits of the preceding byte data dataireg 2 [ 3 : 0 ] and the upper 4 bits of the following byte data dataireg 1 [ 6 : 3 ].
- the fifth input terminal receives a total of 8 bits including the lower 3 bits of the preceding byte data dataireg 2 [ 2 : 0 ] and the upper 5 bits of the following byte data dataireg 1 [ 6 : 2 ].
- the sixth input terminal receives a total of 8 bits including the lower 2 bits of the preceding byte data dataireg 2 [ 1 : 0 ] and the upper 6 bits of the following byte data dataireg 1 [ 6 : 1 ].
- the seventh input terminal receives a total of 8 bits including the least significant bit of the preceding byte data dataireg 2 [ 0 ] and all bits of the following byte data dataireg 1 [ 6 : 0 ].
- 7-bit byte data is rearranged into 8-bit byte data in the data rearrangement block 1 , and is output to the parity check block 2 .
- the parity check block 2 includes the first calculation block 10 , the second calculation block 11 and the selection circuit 12 .
- the first calculation block 10 and the second calculation block 11 perform a calculation equivalent to that performed by a specific decoder circuit shown in ITU-T Recommendation J.83, ANNEX B, Digital multi-program System B, B.4 MPEG-2 transport framing.
- the configuration of the specific decoder circuit is shown in FIG. 13 .
- the 8-bit byte data from the data rearrangement block 1 is input to the first calculation block 10 and at the same time is input to and stored in the data storage block 3 .
- the first and second calculation blocks 10 and 11 perform a parallel process by 8-bit byte data received from the data rearrangement block 1 .
- the first calculation block 10 performs a process equivalent to that performed by a circuit section that is preceding (on the input side of) the 1497-stage delay element in the decoder circuit of FIG. 13
- the second calculation block 11 performs a process equivalent to that performed by a circuit section that is following (on the output side of) the 1497-stage delay element in the decoder circuit of FIG. 13 .
- the process of the circuit section (whose circuit diagram is shown in FIG. 9 ) preceding (on the input side of) the 1497-stage delay element in the decoder circuit of FIG. 13 will be analyzed.
- FIG. 10 illustrates changes of the values over 8 clocks according to a predetermined reference clock, where the values at Point 7 to Point 0 are X 7 to X 0 , respectively, at a certain point in time and the circuit section starts receiving serial input data a 7 , a 6 , . . . , a 0 from the point in time. It is assumed that the time passes from time 1 to time 2 , time 3 , and so on. The result of the calculation process on the serial data is the value at Point 8 .
- the serial process calculations at Point 8 from time 1 to time 8 are performed in the first calculation block 10 in a simultaneous, parallel manner at a certain time, thereby realizing a parallel calculation.
- the 8-bit byte data input to the first calculation block 10 is subjected to a byte process by the following expressions.
- pdatai[ 7 : 0 ] denotes the input 8-bit byte data
- gxot[ 7 : 0 ] denotes data representing the result of the calculation that is performed using the byte data
- gxot 7 d[ 7 : 0 ] denotes 8-bit byte data obtained by delaying the calculation result data gxot[ 7 : 0 ] by 7 clocks according to a predetermined reference clock
- gx[ 7 : 0 ] denotes an 8-bit intermediate variable that is used in the process of obtaining the calculation result data gxot[ 7 : 0 ]
- “ ⁇ ” denotes an exclusive OR operation between bits, the respective bits gx[7], gx[6], gx[5], gx[4], gx[3], g
- FIG. 5 illustrates an internal configuration of the first calculation block 10 .
- An exclusive OR circuit (hereinafter referred to as an “XOR circuit”) 10 a in FIG. 5 calculates Expression (2-7), an XOR circuit 10 b calculates Expression (2-6), an XOR circuit 10 c calculates Expression (2-5), an XOR circuit 10 d calculates Expression (2-4), an XOR circuit 10 e calculates Expression (2-3), an XOR circuit 10 f calculates Expression (2-2), an XOR circuit 10 g calculates Expression (2-1), and an XOR circuit 10 h calculates Expression (2-0).
- XOR circuit 10 a in FIG. 5 calculates Expression (2-7)
- an XOR circuit 10 b calculates Expression (2-6)
- an XOR circuit 10 c calculates Expression (2-5)
- an XOR circuit 10 d calculates Expression (2-4)
- an XOR circuit 10 e calculates Expression (2-3)
- an XOR circuit 10 f calculates Expression (2-2)
- an XOR circuit 10 i calculates Expression (1-7)
- an XOR circuit 10 j calculates Expression (1-6)
- an XOR circuit 10 k calculates Expression (1-5)
- an XOR circuit 101 calculates Expression (1-4)
- an XOR circuit 10 m calculates Expression (1-3)
- an XOR circuit 10 n calculates Expression (1-2)
- an XOR circuit 10 o calculates Expression (1-1)
- an XOR circuit 10 p calculates Expression (1-0).
- a delay circuit 10 q delays the calculation result data gxot[7] by 7 clocks
- a delay circuit 10 r delays the calculation result data gxot[6] by 7 clocks
- a delay circuit 10 s delays the calculation result data gxot[5] by 7 clocks
- a delay circuit 10 t delays the calculation result data gxot[4] by 7 clocks
- a delay circuit 10 u delays the calculation result data gxot[3] by 7 clocks
- a delay circuit 10 v delays the calculation result data gxot[2] by 7 clocks
- a delay circuit 10 w delays the calculation result data gxot[1] by 7 clocks
- a delay circuit 10 x delays the calculation result data gxot[0] by 7 clocks.
- the 8-bit byte data that has been processed in the first calculation block 10 is passed to the data storage block 3 and delayed by 1496 clocks, after which it is passed to the second calculation block 11 .
- FIG. 11 illustrates the circuit section that is following (on the output side of) the 1497-stage delay element in the decoder circuit of FIG. 13 .
- FIG. 12 illustrates changes over time of the values at Point 0 to Point 9 shown in FIG. 11 .
- FIG. 12 illustrates changes over time of the values at Point 0 to Point 9 shown in FIG. 11 .
- FIG. 12 illustrates changes of the values over 8 clocks according to a predetermined reference clock, where the values at Point 7 to Point 0 are X 7 to X 0 , respectively, at a certain point in time and the circuit section starts receiving serial input data a 7 , a 6 , . . . , a 0 from the point in time. It is assumed that the time passes from time 1 to time 2 , time 3 , and so on. The result of the calculation process on the serial data is the value at Point 8 .
- the serial process calculations at Point 8 from time 1 to time 8 are performed in the second calculation block 11 in a simultaneous, parallel manner at a certain time, thereby realizing a parallel calculation.
- the calculation at Point 9 is performed in a serial process from time 1 to time 8 by using data that is obtained by delaying the output result data from the first calculation block 10 and the calculation result data at Point 8 .
- the serial process calculations at Point 8 and Point 9 from time 1 to time 8 are performed in the second calculation block 11 in a simultaneous, parallel manner at a certain time, thereby realizing a parallel calculation.
- the 8-bit byte data input to the second calculation block 11 is subjected to a byte process by the following expressions.
- dobx[ 7 : 0 ] denotes the input 8-bit byte data
- btox 1 [ 7 : 0 ] denotes data representing the result of the calculation that is performed using the byte data dobx[ 7 : 0 ]
- dobx 7 d[ 7 : 0 ] denotes 8-bit byte data obtained by delaying the input byte data dobx[ 7 : 0 ] by 7 clocks according to a predetermined reference clock
- bx[ 7 : 0 ] denotes an 8-bit intermediate variable that is used in the process of obtaining the calculation result data
- gxot 1 d[ 7 : 0 ] denotes 8-bit byte data obtained by delaying the calculation result data gxot[ 7 : 0 ] from the first calculation block 10 by 1
- FIG. 6 illustrates an internal configuration of the second calculation block 11 for performing the calculation as described above.
- an XOR circuit 11 a calculates Expression (3-7)
- an XOR circuit 11 b calculates Expression (3-6)
- an XOR circuit 11 c calculates Expression (3-5)
- an XOR circuit 11 d calculates Expression (4-7)
- an XOR circuit 11 e calculates Expression (4-6)
- an XOR circuit 11 f calculates Expression (4-5)
- an XOR circuit 11 g calculates Expression (4-4)
- an XOR circuit 11 h calculates Expression (4-3)
- an XOR circuit 11 i calculates Expression (4-2)
- an XOR circuit 11 j calculates Expression (4-1)
- an XOR circuit 11 k calculates Expression (4-0).
- an XOR circuit 11 l calculates Expression (5).
- a delay circuit 11 m delays the input 8-bit byte data dobx[ 7 : 0 ] by 7 clocks
- a delay circuit 11 n delays the calculation result data gxot[ 7 : 0 ] from the first calculation block 10 by 1 clock.
- the parity check block 2 of the present embodiment performs parity check by performing calculations on byte data in the first calculation block 10 and the second calculation block 11 , and the parity check block 2 outputs ‘47hex’ if no error is detected during the transmission of every 188 bytes of 8-bit byte data, or does not output ‘47hex’ if any error is detected.
- a parity check operation can be performed through a sync byte detection operation by detecting ‘47hex’.
- the selection circuit 12 in the parity check block 2 receives 8-bit byte data that is input thereto from the data storage block 3 and data that represents the parity check result from the second calculation block 11 . Then, if the output result data from the second calculation block 11 is ‘47hex’, which indicates a sync byte at the beginning of a transport stream packet, the selection circuit 12 selectively outputs the ‘47hex’ data. Otherwise, the selection circuit 12 selectively outputs the normal 8-bit byte data that is input thereto from the data storage block 3 .
- the data storage block 3 is a 1496-word, 16-bit, 2-port RAM, and is used for delaying input signals and calculation data by 1496 clocks.
- FIG. 7A illustrates a configuration of the data storage block 3
- FIG. 7B illustrates changes over time of the data in the data storage block 3
- FIG. 8 illustrates an input/output timing chart.
- the data storage block (RAM) 3 receives data di[15:0] (16-bit byte) as illustrated in FIG. 7A .
- the input data di[15:0] is obtained through a bit connecting operation with the output data pdatai[ 7 : 0 ] (8-bit byte) from the data rearrangement block 1 being the lower bits and the output data gxot[ 7 : 0 ] (8-bit byte) from the first calculation block 10 in the parity check block 2 being the upper bits.
- the RAM 3 also receives a read enable signal nre, a write enable signal nwe, a read address addrb[10:0] and a write address addra[10:0].
- the write address addra[10:0] is obtained by delaying the read address addrb[10:0] by 1 clock, so that a read operation performed on one address is immediately followed by a write operation on the same address.
- the read enable signal nre and the write enable signal nwe are always at low (low-active) during an asynchronous period, and are transitioned to low only when correct data is received, i.e., once for every 8 clocks, during a synchronous period.
- the input data di[15:0] received by the RAM 3 is output as output data do[15:0] after it is delayed by 1496 clocks from when it is input to the RAM 3 .
- the output data do[15:0] is taken in by the parity check block 2 as data doq[15:0] that is obtained by delaying (latching) the output data do[15:0] by 1 clock, and data of the upper 8 bits of the output data do[15:0], i.e., the output data gxot[ 7 : 0 ] from the first calculation block 10 , is subjected to the calculation by the second calculation block 11 .
- 7-bit byte data is converted to 8-bit byte data by the data rearrangement block 1 , and is input to the parity check block 2 and the data storage block 3 .
- the parity check block 2 a sync detection operation can be performed by performing calculations by 8-bit bytes while a parity check operation can be performed by performing calculations by 8-bit bytes.
- the data storage block 3 can also handle data by 8-bit bytes. Thus, data can be handled consistently by 8-bit bytes throughout the process starting from the data calculation operation to the transport stream output operation.
- the method for computing by 8-bit bytes according to the present invention can be implemented as software with a CPU being used as hardware.
- the method can be implemented in the form of an error and sync detection method that, as software, enables 8-bit byte processes.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Error Detection And Correction (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
Description
gx[0]=gxot7d[0];
gx[1]=gxot7d[1];
gx[2]=gxot7d[2]^gxot7d[0];
gx[3]=gxot7d[3]^gxot7d[1]^gxot7d[0];
gx[4]=gxot7d[4]^gxot7d[2]^gxot7d[1];
gx[5]=gxot7d[5]^gxot7d[3]^gxot7d[2];
gx[6]=gxot7d[6]^gxot7d[4]^gxot7d[3]; and
gx[7]=gxot7d[7]^gxot7d[5]^gxot7d[4]^gxot7d[0], and
gxot[7]=gx[7]^pdatai[7];
gxot[6]=gx[7]^gx[6]^pdatai[7]^pdatai[6];
gxot[5]=gx[7]^gx[6]^gx[5]^pdatai[7]^pdatai[6]^pdatai[5];
gxot[4]=gx[7]^gx[6]^gx[5]^gx[4]^pdatai[7]^pdatai[6]^pdatai[5]^pdatai[4];
gxot[3]=gx[7]^gx[6]^gx[5]^gx[4]^gx [3]^pdatai[7]^pdatai[6]^pdatai[5]^pdatai[4]^pdatai[3];
gxot[2]=gx[6]^gx[5]^gx[4]^gx[3]^gx[2]^pdatai[6]^pdatai[5]^pdatai[4]^pdatai[3]^pdatai[2];
gxot[1]=gx[5]^gx[4]^gx[3]^gx[2]^gx[1]^pdatai[5]^pdatai[4]^pdatai[3]^pdatai[2]^pdatai[1]; and
gxot[0]=gx[4]^gx[3]^gx [2]^gx[1]^gx[0]^pdatai[4]^pdatai[3]^pdatai[2]^pdatai[1]^pdatai[0].
bx[0]=dobx7d[0];
bx[1]=dobx7d[1];
bx[2]=dobx7d[2];
bx[3]=dobx7d[3];
bx[4]=dobx7d[4];
bx[5]=dobx7d[5]^dobx[1];
bx[6]=dobx7d[6]^dobx[2]; and
bx[7]=dobx7d[7]^dobx[3]^dobx[1],
btox1[7]=bx[7]^dobx[0];
btox1[6]=bx[6]^bx[0]^dobx[7];
btox1[5]=bx[5]^dobx[7]^dobx[6];
btox1[4]=bx[4]^bx[0]^dobx[6]^dobx[5];
btox1[3]=bx[3]^dobx[7]^dobx[5]^dobx[4];
btox1[2]=bx[2]^dobx[6]^dobx[4]^dobx[3];
btox1[1]=bx[1]^dobx[5]^dobx[3]^dobx[2]; and
btox1[0]=bx[0]^dobx[4]^dobx[2]^dobx[1], and
bxot2[7:0]=btox1[7:0]^gxot1d[7:0].
f(x)=[1+x 1497 b(x)]/g(x)
where g(x)=1+x+x 5 +x 6 +x 8, and
b(x)=1+x+x 3 +x 7.
gx[0]=gxot7d[0] (1-0);
gx[1]=gxot7d[1] (1-1);
gx[2]=gxot7d[2]^gxot7d[0] (1-2);
gx[3]=gxot7d[3]^gxot7d[1]^gxot7d[0] (1-3);
gx[4]=gxot7d[4]^gxot7d[2]^gxot7d[1] (1-4);
gx[5]=gxot7d[5]^gxot7d[3]^gxot7d[2] (1-5);
gx[6]=gxot7d[6]^gxot7d[4]^gxot7d[3] (1-6);
and
gx[7]=gxot7d[7]^gxot7d[5]^gxot7d[4]^gxot7d[0] (1-7),
and
the respective bits gxot[7], gxot[6], gxot[5], gxot[4], gxot[3], gxot[2], gxot[1] and gxot[0] of the calculation result data gxot[7:0] are calculated respectively by the following expressions using the intermediate variable gx[7:0]:
gxot[7]=gx[7]^pdatai[7] (2-7);
gxot[6]=gx[7]^gx[6]^pdatai[7]^pdatai[6] (2-6);
gxot[5]=gx[7]^gx[6]^gx[5]^pdatai[7]^pdatai[6]^pdatai[5] (2-5);
gxot[4]=gx[7]^gx[6]^gx[5]^gx[4]^pdatai[7]^pdatai[6]^pdatai[5]^pdatai[4] (2-4);
gxot[3]=gx[7]^gx[6]^[5]^[4]^gx[3]^pdatai[7]^pdatai[6]^pdatai[5]^pdatai[4]^pdatai[3] (2-3);
gxot[2]=gx[6]^gx[5]^gx[4]^gx[3]^gx[2]^pdatai[6]^pdatai[5]^pdatai[4]^pdatai[3]^pdatai[2] (2-2)
gxot[1]=gx[5]^gx[4]^gx[3]^gx[2]^gx[1]^pdatai[5]pdatai[4]pdatai[3]^pdatai[2]^pdatai[1] (2-1);
and
gxot[0]=gx[4]^gx[3]^gx[2]^gx[1]^gx[0]^pdatai[4]^pdatai[3]^pdatai[2]^[1]^pdatai[0] (2-0).
bx[0]=dobx7d[0] (3-0);
bx[1]=dobx7d[1] (3-1);
bx[2]=dobx7d[2] (3-2);
bx[3]=dobx7d[3] (3-3);
bx[4]=dobx7d[4] (3-4);
bx[5]=dobx7d[5]^dobx[1] (3-5);
bx[6]=dobx7d[6]^dobx[2] (3-6);
and
bx[7]=dobx7d[7]^dobx[3]^dobx[1] (3-7),
and
the respective bits btox1[7], btox1[6], btox1[5], btox1[4], btox1[3], btox1[2], btox1[1] and btox1[0] of the calculation result data btox1[7:0] are calculated respectively by the following expressions using the intermediate variable bx[7:0] and the 8-bit byte input data dobx[7:0]:
btox1[7]=bx[7]^dobx[0] (4-7);
btox1[6]=bx[6]^bx[0]^dobx[7] (4-6);
btox1[5]=bx[5]^dobx[7]^dobx[6] (4-5);
btox1[4]=bx[4]^bx[0]^dobx[6]^dobx[5] (4-4);
btox1[3]=bx[3]^dobx[7]^dobx[5]^dobx[4] (4-3);
btox1[2]=bx[2]^dobx[6]^dobx[4]^dobx[3] (4-2);
btox1[1]=bx[1]^dobx[5]^dobx[3]^dobx[2] (4-1);
and
btox1[0]=bx[0]^dobx[4]^dobx[2]^dobx[1] (4-0).
bxot2[7:0]=btox1[7:0]^gxot1d[7:0] (5).
Claims (8)
gx[0]=gxot7d[0];
gx[1]=gxot7d[1];
gx[2]=gxot7d[2]^gxot7d[0];
gx[3]=gxot7d[3]^gxot7d[1]^gxot7d[0];
gx[4]=gxot7d[4]^gxot7d[2]^gxot7d[1];
gx[5]=gxot7d[5]^gxot7d[3]^gxot7d[2];
gx[6]=gxot7d[6]^gxot7d[4]^gxot7d[3]; and
gx[7]=gxot7d[7]^gxot7d[5]^gxot7d[4]^gxot7d[0], and
gxot[7]=gx[7]^pdatai[7];
gxot[6]=gx[7]^gx[6]^pdatai[7]^pdatai[6];
gxot[5]=gx[7]^gx[6]^gx[5]^pdatai[7]^pdatai[6]^pdatai[5];
gxot[4]=gx[7]^gx[6]^gx[5]^gx[4]^pdatai[7]^pdatai[6]^pdatai[5]^pdatai[4];
gxot[3]=gx[7]^gx[6]^gx[5]^gx[4]^gx[3]^pdatai[7]^pdatai[6]^pdatai[5]^pdatai[4]^pdatai[3];
gxot[2]=gx[6]^gx[5]^gx[4]^gx[3]^gx[2]^pdatai[6]^pdatai[5]^pdatai[4]^pdatai[3]^pdatai[2];
gxot[1]=gx[5]^gx[4]^gx[3]^gx[2]^gx[1]^pdatai[5]^pdatai[4]^pdatai[3]^pdatai[2]^pdatai[1]; and
gxot[0]=gx[4]^gx[3]^gx[2]^gx[1]^gx[0]^pdatai[4]^pdatai[3]^pdatai[2]^pdatai[1]^pdatai[0].
bx[0]=dobx7d[0];
bx[1]=dobx7d[1];
bx[2]=dobx7d[2];
bx[3]=dobx7d[3];
bx[4]=dobx7d[4];
bx[5]=dobx7d[5]^dobx[1];
bx[6]=dobx7d[6]^dobx[2]; and
bx[7]=dobx7d[7]^dobx[3]^dobx[1],
btox1[7]=bx[7]^dobx[0];
btox1[6]=bx[6]^bx[0]^dobx[7];
btox1[5]=bx[5]^dobx[7]^dobx[6];
btox1[4]=bx[4]^bx[0]^dobx[6]^dobx[5];
btox1[3]=bx[3]^dobx[7]^dobx[5]^dobx[4];
btox1[2]=bx[2]^dobx[6]^dobx[4]^dobx[3];
btox1[1]=bx[1]^dobx[5]^dobx[3]^dobx[2]; and
btox1[0]=bx[0]^dobx[4]^dobx[2]^dobx[1], and
bxot2[7:0]=btox1[7:0]^gxot1d[7:0].
gx[0]=gxot7d[0];
gx[1]=gxot7d[1];
gx[2]=gxot7d[2]^gxot7d[0];
gx[3]=gxot7d[3]^gxot7d[1]^gxot7d[0];
gx[4]=gxot7d[4]^gxot7d[2]^gxot7d[1];
gx[5]=gxot7d[5]^gxot7d[3]^gxot7d[2];
gx[6]=gxot7d[6]^gxot7d[4]^gxot7d[3]; and
gx[7]=gxot7d[7]^gxot7d[5]^gxot7d[4]^gxot7d[0], and
gxot[7]=gx[7]^pdatai[7];
gxot[6]=gx[7]^gx[6]^pdatai[7]^pdatai[6];
gxot[5]=gx[7]^gx[6]^gx[5]^pdatai[7]^pdatai[6]^pdatai[5];
gxot[4]=gx[7]^gx[6]^gx[5]^gx[4]^pdatai[7]^pdatai[6]^pdatai[5]^pdatai[4];
gxot[3]=gx[7]^gx[6]^gx[5]^gx[4]^gx[3]^pdatai[7]^pdatai[6]^pdatai[5]^pdatai[4]^pdatai[3];
gxot[2]=gx[6]^gx[5]^gx[4]^gx[3]^gx[2]^pdatai[6]^pdatai[5]^pdatai[4]^pdatai[3]^pdatai[2];
gxot[1]=gx[5]^gx[4]^gx[3]^gx[2]^gx[1]^pdatai[5]^pdatai[4]^pdatai[3]^pdatai[2]^pdatai[1]; and
gxot[0]=gx[4]^gx[3]^gx[2]^gx[0]^pdatai[4]^pdatai[3]^pdatai[2]^pdatai[1]^pdatai[0].
bx[0]=dobx7d[0];
bx[1]=dobx7d[1];
bx[2]=dobx7d[2];
bx[3]=dobx7d[3];
bx[4]=dobx7d[4];
bx[5]=dobx7d[5]^dobx[1];
bx[6]=dobx7d[6]^dobx[2]; and
bx[7]=dobx7d[7]^dobx[3]^dobx[1],
btox1[7]=bx[7]^dobx[0];
btox1[6]=bx[6]^bx[0]^dobx[7];
btox1[5]=bx[5]^dobx[7]^dobx[6];
btox1[4]=bx[4]^bx[0]^dobx[6]^dobx[5];
btox1[3]=bx[3]^dobx[7]^dobx[5]^dobx[4];
btox1[2]=bx[2]^dobx[6]^dobx[4]^dobx[3];
btox1[1]=bx[1]^dobx[5]^dobx[3]^dobx[2]; and
btox1[0]=bx[0]^dobx[4]^dobx[2]^dobx[1]; and
bxot2[7:0]=btox1[7:0]^gxot1d[7:0].
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001-013632 | 2001-01-22 | ||
JP2001013632A JP3593039B2 (en) | 2001-01-22 | 2001-01-22 | Error and synchronization detection apparatus and method |
Publications (2)
Publication Number | Publication Date |
---|---|
US20020097751A1 US20020097751A1 (en) | 2002-07-25 |
US7139289B2 true US7139289B2 (en) | 2006-11-21 |
Family
ID=18880452
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/046,263 Expired - Fee Related US7139289B2 (en) | 2001-01-22 | 2002-01-16 | Device and method for error and sync detection |
Country Status (5)
Country | Link |
---|---|
US (1) | US7139289B2 (en) |
EP (1) | EP1227685B1 (en) |
JP (1) | JP3593039B2 (en) |
CN (1) | CN1194474C (en) |
DE (1) | DE60218766T2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8872970B2 (en) | 2011-10-31 | 2014-10-28 | Google Technology Holdings LLC | System and method for transport stream sync byte detection with transport stream having multiple emulated sync bytes |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102005055148B4 (en) * | 2005-11-18 | 2008-04-10 | Siemens Ag | Method, detection device and server device for evaluating an incoming communication at a communication device |
JP2018182429A (en) * | 2017-04-06 | 2018-11-15 | 株式会社村田製作所 | Data conversion device |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08179924A (en) | 1994-12-22 | 1996-07-12 | Canon Inc | Device and method for data processing |
US5646941A (en) | 1994-05-31 | 1997-07-08 | Matsushita Electric Industrial Co., Ltd. | Digital data transmission system including a device for data block, header and packet generation |
US5703887A (en) * | 1994-12-23 | 1997-12-30 | General Instrument Corporation Of Delaware | Synchronization and error detection in a packetized data stream |
JPH11252062A (en) | 1997-11-04 | 1999-09-17 | Hitachi Ltd | Method and device for effectively executing synchronization and cyclic redundancy check of signal in communication system |
US20010005385A1 (en) * | 1999-07-09 | 2001-06-28 | Tetsuichiro Ichiguchi | Multimedia information communication apparatus and method |
US20020004925A1 (en) * | 1997-12-16 | 2002-01-10 | Kunihiko Kodama | Error correcting device and data reproducing apparatus provided therewith |
US20030014763A1 (en) * | 2001-06-29 | 2003-01-16 | Chappell Christopher L. | Method and apparatus facilitating synchronization in a broadband communications system |
-
2001
- 2001-01-22 JP JP2001013632A patent/JP3593039B2/en not_active Expired - Fee Related
-
2002
- 2002-01-16 EP EP02000959A patent/EP1227685B1/en not_active Expired - Lifetime
- 2002-01-16 DE DE60218766T patent/DE60218766T2/en not_active Expired - Lifetime
- 2002-01-16 US US10/046,263 patent/US7139289B2/en not_active Expired - Fee Related
- 2002-01-22 CN CNB021023808A patent/CN1194474C/en not_active Expired - Fee Related
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5646941A (en) | 1994-05-31 | 1997-07-08 | Matsushita Electric Industrial Co., Ltd. | Digital data transmission system including a device for data block, header and packet generation |
JPH08179924A (en) | 1994-12-22 | 1996-07-12 | Canon Inc | Device and method for data processing |
US5703887A (en) * | 1994-12-23 | 1997-12-30 | General Instrument Corporation Of Delaware | Synchronization and error detection in a packetized data stream |
JPH11252062A (en) | 1997-11-04 | 1999-09-17 | Hitachi Ltd | Method and device for effectively executing synchronization and cyclic redundancy check of signal in communication system |
US20020004925A1 (en) * | 1997-12-16 | 2002-01-10 | Kunihiko Kodama | Error correcting device and data reproducing apparatus provided therewith |
US20010005385A1 (en) * | 1999-07-09 | 2001-06-28 | Tetsuichiro Ichiguchi | Multimedia information communication apparatus and method |
US20030014763A1 (en) * | 2001-06-29 | 2003-01-16 | Chappell Christopher L. | Method and apparatus facilitating synchronization in a broadband communications system |
Non-Patent Citations (1)
Title |
---|
"Digital Multi-Programme Systems for Television, Sound and Data Services for Cable Distribution" ITU-T Recommendation J.83, pp. 1-60, Apr. 1997. |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8872970B2 (en) | 2011-10-31 | 2014-10-28 | Google Technology Holdings LLC | System and method for transport stream sync byte detection with transport stream having multiple emulated sync bytes |
US9319446B2 (en) | 2011-10-31 | 2016-04-19 | Google Technology Holdings LLC | System and method for transport stream sync byte detection with transport stream having multiple emulated sync bytes |
Also Published As
Publication number | Publication date |
---|---|
CN1367584A (en) | 2002-09-04 |
JP3593039B2 (en) | 2004-11-24 |
JP2002217874A (en) | 2002-08-02 |
CN1194474C (en) | 2005-03-23 |
DE60218766T2 (en) | 2007-07-05 |
EP1227685B1 (en) | 2007-03-14 |
US20020097751A1 (en) | 2002-07-25 |
EP1227685A2 (en) | 2002-07-31 |
EP1227685A3 (en) | 2003-09-03 |
DE60218766D1 (en) | 2007-04-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6694476B1 (en) | Reed-solomon encoder and decoder | |
KR960043552A (en) | Error Correction Coded Decoding Method and Circuit Using the Method | |
JPH04284753A (en) | Crc arithmetic method and hec synchronization device in atm exchange system | |
JPH11252062A (en) | Method and device for effectively executing synchronization and cyclic redundancy check of signal in communication system | |
US5402429A (en) | Error detection and correction device to detect and correct single bit errors in a transmitted sequence of bits | |
US5852639A (en) | Resynchronization apparatus for error correction code decoder | |
US7139289B2 (en) | Device and method for error and sync detection | |
US5408476A (en) | One bit error correction method having actual data reproduction function | |
US7813566B2 (en) | Data processing apparatus and data processing method | |
US20020042804A1 (en) | Parallel processing syndrome calculating circuit and reed-solomon decoding circuit | |
JPH1098392A (en) | Crc code generating circuit, code error detecting circuit and crc circuit | |
CN114667698B (en) | Checksum calculation method and circuit | |
US5280484A (en) | Time-division multiplex communication system with a synchronizing circuit at the receiving end which responds to the coding of words inserted in the transmitted information | |
JP2555213B2 (en) | Time division multiplex communication system having a receiving end synchronization circuit responsive to encoding of a word inserted in transmission information | |
JPH06252874A (en) | Word synchronization detection circuit | |
CN118118953B (en) | Time domain block floating point compression and decompression algorithm of 5G communication system | |
US20020038444A1 (en) | Self orthogonal decoding circuit and self orthogonal decoding method | |
JP3452725B2 (en) | Trellis soft decision error correction circuit and trellis variation adjustment method | |
KR100268125B1 (en) | The circuit of parallel crc generator | |
EP1096691A1 (en) | Apparatus and method for viterbi decoding | |
US5500863A (en) | CRC operational system | |
JP3268926B2 (en) | Error correction circuit | |
JP3521558B2 (en) | Transmission equipment | |
JPH1098458A (en) | Sync word detection circuit | |
JP3410993B2 (en) | Error correction device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: MATSUSHITA ELECTRIC INDUSTRIAL CO., LTD., JAPAN Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:FUKUOKA, TOSHIHIKO;WADA, TAEMI;REEL/FRAME:012494/0106 Effective date: 20020109 |
|
FEPP | Fee payment procedure |
Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
FPAY | Fee payment |
Year of fee payment: 4 |
|
FEPP | Fee payment procedure |
Free format text: PAYER NUMBER DE-ASSIGNED (ORIGINAL EVENT CODE: RMPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
FPAY | Fee payment |
Year of fee payment: 8 |
|
AS | Assignment |
Owner name: SOCIONEXT INC., JAPAN Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:PANASONIC CORPORATION;REEL/FRAME:035294/0942 Effective date: 20150302 |
|
FEPP | Fee payment procedure |
Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.) |
|
LAPS | Lapse for failure to pay maintenance fees |
Free format text: PATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
STCH | Information on status: patent discontinuation |
Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362 |
|
FP | Lapsed due to failure to pay maintenance fee |
Effective date: 20181121 |