# US 2014/0208186 A1 · Device for encoding and decoding using smaller block of symbols

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2014/0208186 A1
- Document ID: US20140208186A1
- Status: Published application
- Kind: A1
- Application number: 14/220,241
- Filed: 2014-03-20
- Published: 2014-07-24
- Earliest claimed: 2002-01-21
- Assignees: Koninklijke Philips N.V.
- Applicants: Koninklijke Philips N.V.
- Inventors: Aalbert STEK; Cornelis Marinus SCHEP; Martinus Wilhelmus BLUM
- Web page: https://patentgrep.com/patent/US20140208186A1

## CPC

- H03M 13/616: {Matrix operations, especially for generator matrices or check matrices, e.g. column or row permutations}
- G06F 11/10: Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G11B 20/1833: {by adding special lists or symbols to the coded information (G11B20/1806, G11B20/1866 take precedence)}
- H03M 13/1515: {Reed-Solomon codes}
- H03M 13/2942: {wherein a block of parity bits is computed only from combined information bits or only from parity bits, e.g. a second block of parity bits is computed from a first block of parity bits obtained by systematic encoding of a block of information bits, or a block of parity bits is obtained by an XOR combination of sub-blocks of information bits}
- H03M 13/63: {Joint error correction and other techniques (H03M13/31 and H03M13/33 take precedence)}
- H03M 13/6516: {Support of multiple code parameters, e.g. generalized Reed-Solomon decoder for a variety of generator polynomials or Galois fields}
- H03M 13/3761: {using code combining, i.e. using combining of codeword portions which may have been transmitted separately, e.g. Digital Fountain codes, Raptor codes or Luby Transform [LT] codes}
- H03M: CODING; DECODING; CODE CONVERSION IN GENERAL (using fluidic means F15C4/00; optical analogue/digital converters G02F7/00; coding, decoding or code conversion, specially adapted for particular applications, see the relevant subclasses, e.g. G01D, G01R, G06F, G06T, G09G, G10L, G11B, G11C, H04B, H04L, H04M, H04N; ciphering or deciphering for cryptography or other purposes involving the need for secrecy G09C)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G11B: INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER (recording measured values in a way that does not require playback through a transducer G01D9/00; recording or playback apparatus using mechanically marked tape, e.g. punched paper tape, or using unit records, e.g. punched or magnetically marked cards G06K; transferring data from one type of record carrier to another G06K1/18; circuits for coupling output of reproducer to radio receiver H04B1/20; gramophone pick-ups or like acoustic electromechanical transducers or circuits therefor H04R)

## Abstract

A method of encoding user data into codevectors of an error correcting code, includes generating a first block of data symbols including user data symbols and dummy data symbols; encoding the first block using an ECC encoder to obtain a codeword comprising the first block of data symbols and a second block of parity symbols; and generating a codevector by selecting a user data portion of the user data symbols from the first block and a parity portion of the parity symbols from the second block. The sum of a number of the user data portion and a number of the parity portion is smaller than the sum of a number of the user data symbols and a number of the parity symbols of the second block.

## Claims

### Claim 1

A method of encoding user data into a codevector of an error correcting code (ECC), comprising the acts of:
generating a first block of data symbols including user data symbols and dummy data symbols;
encoding the first block using an ECC encoder to obtain a codeword comprising the first block of data symbols and a second block of parity symbols; and
generating the codevector by selecting a user data portion of the user data symbols from the first block and a parity portion of the parity symbols from the second block,
wherein a sum of a number of the user data portion and a number of the parity portion is smaller than a sum of a number of the user data symbols and a number of the parity symbols of the second block.

### Claim 2

A method of decoding a codevector of an error correcting code (ECC) into user data, the codevector having been generated from a codeword comprising a first block and a second block by selecting a user data portion of user data symbols from the first block and selecting a parity portion of parity symbols from the second block, the first block including the user data symbols and dummy data symbols, and the second block including the parity symbols, the method comprising the acts of:
generating the codeword comprising the dummy data symbols, the codevector and filling symbols, wherein a sum of a number of the dummy data symbols, a number of the filling symbols and a number of symbols in the codevector is equal to said a sum of symbols in the codeword; and
decoding the codeword using an ECC decoder to obtain the user data symbols embedded in the codevector.

### Claim 3 (depends on 2)

The method of claim 2, further comprising the act of providing an erasure flag to the ECC decoder before decoding the codeword, the erasure flag indicating that the codeword contains the filling symbols to be corrected by the ECC decoder.

### Claim 4 (depends on 3)

The method of claim 3, wherein the erasure flag indicates to the ECC decoder at least one of a position and the number of the filling symbols in the codeword.

### Claim 5 (depends on 2)

The method of claim 2, wherein the generating act is controlled such that an order of the dummy data symbols, the codevectors and the filling symbols corresponds to an order of the codeword encoded by an encoder, wherein the filling symbols are arranged at positions of user data symbols and/or parity symbols of the codeword encoded by the encoder which are not included in the codevector.

### Claim 6 (depends on 2)

The method of claim 2, further comprising the act of recording the user data on an optical record carrier.

### Claim 7 (depends on 2)

The method of claim 2, further comprising the act of recording the user data on a DVR disc in a special purpose zone (SPZ) or a burst cutting area (BCA), wherein the decoding act is performed by an ECC decoder used for decoding codevectors of a long distance codeword or a Burst Indicator Subcode (BIS) codeword.

### Claim 8 (depends on 2)

The method of claim 2, wherein said error correcting code (ECC) is a (32, 16, 17) code and the ECC decoder is configured to decode a (248, 216, 33) RS code or a (62, 30, 33) RS code.

### Claim 9 (depends on 2)

The method of claim 2, wherein the ECC decoder uses a priori known user data symbols for the act of decoding the codeword.

### Claim 10

A device for encoding user data into a codevector of an error correcting code (ECC), comprising:
a generator configured to generate a first block of data symbols including user data symbols and dummy data symbols;
an encoder configured to encode the first block to obtain a codeword comprising the first block of data symbols and a second block of parity symbols; and
a writer configured to output the codevector by selecting a user data portion of the user data symbols from the first block and a parity portion of the parity symbols from the second block,
wherein a sum of a number of the user data portion and a number of the parity portion is smaller than a sum of a number of the user data symbols and a number of the parity symbols of the second block.

### Claim 11

A device for decoding a codevector of an error correcting code (ECC) into user data, the codevector having been generated from a codeword comprising a first block and a second block by selecting a user data portion of user data symbols from the first block and selecting a parity portion of parity symbols from the second block, the first block including the user data symbols and dummy data symbols, and the second block including the parity symbols, the device comprising:
a generator configured to generate the codeword comprising the dummy data symbols, the codevector and filling symbols, wherein a sum of a number of the dummy data symbols, a number of the filling symbols and a number of symbols in the codevector is equal to said a sum of symbols in the codeword; and
a decoder configured to decode the codeword to obtain the user data symbols embedded in the codevector.

### Claim 12

A non-transitory computer readable medium comprising computer instructions which, when executed by a processor, configure the processor to perform the acts of:
generating a first block of data symbols including user data symbols and dummy data symbols;
encoding the first block using an ECC encoder to obtain a codeword comprising the first block of data symbols and a second block of parity symbols; and
generating a codevector by selecting a user data portion of the user data symbols from the first block and a parity portion of the parity symbols from the second block,
wherein a sum of a number of the user data portion and a number of the parity portion is smaller than a sum of a number of the user data symbols and a number of the parity symbols of the second block.

### Claim 13

A non-transitory computer readable medium comprising computer instructions which, when executed by a processor, configure the processor to perform a method of decoding a codevector of an error correcting code (ECC) into user data, the codevector having been generated from a codeword comprising a first block and a second block by selecting a user data portion of user data symbols from the first block and selecting a parity portion of parity symbols from the second block, the first block including the user data symbols and dummy data symbols, and the second block including the parity symbols, the method comprising the acts of:
generating the codeword comprising the dummy data symbols, the codevector and filling symbols, wherein a sum of a number of the dummy data symbols, a number of the filling symbols and a number of symbols in the codevector is equal to said a sum of symbols in the codeword; and
decoding the codeword using an ECC decoder to obtain the user data symbols embedded in the codevector.

### Claim 14

A non-transitory computer readable medium comprising a codevector of an error correcting code encoded by a method comprising the acts of:
generating a first block of data symbols including user data symbols and dummy data symbols;
encoding the first block using an ECC encoder to obtain a codeword comprising the first block of data symbols and a second block of parity symbols; and
generating the codevector by selecting a user data portion of the user data symbols from the first block and a parity portion of the parity symbols from the second block,
wherein a sum of a number of the user data portion and a number of the parity portion is smaller than a sum of a number of the user data symbols and a number of the parity symbols of the second block.

### Claim 15

A device for encoding an information word into a codeword, the device comprising:
an encoder configured to receive the information word and a matrix, the encoder being further configured to encode the information word comprising k information symbols using the matrix comprising k rows and n+k columns for output of an intermediate codeword having k+n symbols; and
a codeword generator configured to receive the intermediate codeword and output the codeword by omitting a number of symbols of the intermediate codeword.

### Claim 16 (depends on 15)

The device of claim 15, wherein each column of the k columns of the matrix includes a single non-zero entry at a mutually different position than other columns of the k columns.

### Claim 17 (depends on 15)

The device of claim 15, wherein the number of symbols omitted from the intermediate codeword corresponds to a difference between a number of columns of the matrix, being n+k columns, and a precursor matrix from which the matrix had been generated by increasing a number of columns of the precursor matrix, being n columns, by k columns, resulting in the codeword having n symbols.

### Claim 18

A device for decoding a codeword for output of an information word, the device comprising:
an extender configured to receive the codeword comprising n symbols and to extend the codeword by adding k erasures for output of a first pseudo codeword having a length determined based on a matrix used by an encoder to form the codeword;
a replacement unit configured to replace the k erasures of the first pseudo codeword with known information symbols for output of a second pseudo codeword; and
a decoder configured to receive the second pseudo codeword and the matrix and decode the second pseudo codeword using the matrix into the information word comprising k symbols.

### Claim 19 (depends on 18)

The device of claim 18, wherein a number of symbols of the first pseudo codeword corresponds to a number of columns of the matrix.
