Receiving device and receiving method

By employing LDPC coding with structured check matrices and group-wise interleaving for data transmission, the method addresses communication quality issues in LDPC-based systems, improving transmission performance through optimized symbol mapping to 16QAM signal points.

JP7736146B2Active Publication Date: 2025-09-09SONY GROUP CORP
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
JP2024189555
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2018-01-18
Filing Date
2024-10-29
Publication Date
2025-09-09
Estimated Expiration
2038-03-05

AI Technical Summary

Technical Problem

Existing data transmission systems using LDPC codes face challenges in ensuring good communication quality, particularly in converting symbols for quadrature modulation and mapping to signal points, which can lead to suboptimal transmission performance.

Method used

The implementation of LDPC coding with specific check matrices and group-wise interleaving followed by mapping to 16QAM signal points, utilizing a structured parity check matrix and defined bit group arrangements, enhances data transmission quality.

Benefits of technology

This approach improves communication quality by optimizing LDPC code transmission and reception, addressing the challenges of symbol conversion and mapping, thereby enhancing overall data transmission performance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007736146000008
    Figure 0007736146000008
  • Figure 0007736146000009
    Figure 0007736146000009
  • Figure 0007736146000010
    Figure 0007736146000010
Patent Text Reader

Abstract

To secure a good communication quality in a data transmission using an LDPC coding.SOLUTION: In a group wise inter leave, an LDPC coding of which a coding length N is 17280 bits is inter-leaved in a unit of a bit group 0 to 47 of 360 bits. The group wise inter leave, an arrangement of the LDPC coding after the group wise inter leave is returned to an original arrangement. The present technique can be adopted to the case where, e.g., a data transmission or the like using the LDPC coding is performed.SELECTED DRAWING: Figure 89
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present technology relates to a receiving device and a receiving method, and more particularly to a receiving device and a receiving method that can ensure good communication quality in data transmission using, for example, LDPC codes. [Background technology]

[0002] LDPC (Low Density Parity Check) codes have high error correction capabilities, and in recent years have been widely adopted in transmission systems for digital broadcasting, such as DVB (Digital Video Broadcasting)-S.2, DVB-T.2, and DVB-C.2 in Europe, and ATSC (Advanced Television Systems Committee) 3.0 in the United States (see, for example, Non-Patent Document 1).

[0003] Recent research has shown that LDPC codes, like turbo codes, can achieve performance approaching the Shannon limit as the code length is increased. LDPC codes also have the property that the minimum distance is proportional to the code length, which gives them good block error probability characteristics. Another advantage is that they rarely suffer from the so-called error floor phenomenon observed in the decoding characteristics of turbo codes and the like. [Prior art documents] [Non-patent literature]

[0004] [Non-Patent Document 1] ATSC Standard:Physical Layer Protocol(A / 322), 7 September 2016 Summary of the Invention [Problem to be solved by the invention]

[0005] In data transmission using LDPC codes, for example, the LDPC codes are converted (symbolized) into symbols for quadrature modulation (digital modulation) such as QPSK (Quadrature Phase Shift Keying), and the symbols are mapped to signal points of the quadrature modulation and transmitted.

[0006] Data transmission using LDPC codes as described above is becoming more widespread worldwide, and there is a demand to ensure good communication (transmission) quality.

[0007] The present technology has been made in view of such circumstances, and makes it possible to ensure good communication quality in data transmission using LDPC codes. [Means for solving the problem]

[0008] A first transmission method / apparatus of the present technology includes: a coding step / unit that performs LDPC coding based on a check matrix of an LDPC code having a code length N of 17280 bits and a coding rate r of 3 / 16; a group-wise interleaving step / unit that performs group-wise interleaving of the LDPC code in units of 360-bit bit groups; and a mapping step / unit that maps the LDPC code to one of 16 signal points of 16QAM Uniform Constellation (UC) in units of 4 bits, wherein in the group-wise interleaving, the (i+1)-th bit group from the beginning of the LDPC code is defined as bit group i, and a sequence of bit groups 0 to 47 of the 17280-bit LDPC code is defined as bit group i. 32 42 35 16 45 38 29 30 9 43 31 11 34 25 39 7 13 4 0 21 46 15 5 20 33 47 44 40 37 19 23 8 12 3 26 14 1 10 28 36 24 22 18 2 6 27 41 17 the parity check matrix includes an A matrix at the top left of the parity check matrix, which has M1 rows and K columns and is represented by a predetermined value M1 and an information length K=N×r of the LDPC code, a B matrix of a staircase structure adjacent to the right of the A matrix, which has M1 rows and M1 columns, a Z matrix which is a zero matrix adjacent to the right of the B matrix, which has M1 rows and N-K-M1 columns, a C matrix adjacent below the A matrix and the B matrix, which has N-K-M1 rows and K+M1 columns, and a D matrix which is an identity matrix adjacent to the right of the C matrix, which has N-K-M1 rows and N-K-M1 columns, the predetermined value M1 is 1440, the A matrix and the C matrix are represented by a parity check matrix initial value table, and the parity check matrix initial value table is a table which represents positions of elements of 1 in the A matrix and the C matrix every 360 columns, 10 1155 1332 1608 8228 8253 11662 483 1297 1433 4678 5776 10410 13553 862 967 1036 1842 2950 10129 12042 258 872 1037 7129 9442 9491 10644 215 260 590 6003 7554 10499 197 521 1190 1670 3696 4410 4436 4686 5350 5651 7397 7503 8553 9844 10729 11421 11605 11742 11835 12338 12422 288 560 1427 1492 1932 3255 4508 4628 5259 5881 6136 8019 8152 8192 8230 8669 8880 10289 11160 11665 12374 694 1175 1205 2363 2756 2962 3097 3374 4268 4811 6072 6393 6942 9514 9733 10681 11081 11360 12386 13467 13980 25 1200 1266 3036 3441 4940 5161 5254 7231 7585 8088 9414 10217 10349 10409 11177 12151 12497 12934 13123 14029 2599 5475 6890 7755 8567 9088 11980 2708 2836 6062 6328 8890 9831 11173 2522 2634 4989 6831 9523 10731 12107 4738 5653 7862 11986 12773 12839 13045 The present invention relates to a transmission method / apparatus.

[0009] In a first transmission method / apparatus of the present technology, LDPC coding is performed based on a check matrix of an LDPC code having a code length N of 17280 bits and a coding rate r of 3 / 16, and group-wise interleaving is performed to interleave the LDPC code in 360-bit bit group units. Then, the LDPC code is mapped to one of 16 signal points of UC (Uniform Constellation) of 16QAM in 4-bit units. In the group-wise interleaving, the (i+1)-th bit group from the beginning of the LDPC code is defined as bit group i, and the arrangement of bit groups 0 to 47 of the 17280-bit LDPC code is defined as bit group i. 32 42 35 16 45 38 29 30 9 43 31 11 34 25 39 7 13 4 0 21 46 15 5 20 33 47 44 40 37 19 23 8 12 3 26 14 1 10 28 36 24 22 18 2 6 27 41 17 The parity check matrix includes an A matrix of M1 rows and K columns at the top left of the parity check matrix, which is expressed by a predetermined value M1 and an information length K=N×r of the LDPC code, a B matrix of M1 rows and M1 columns with a staircase structure adjacent to the right of the A matrix, a Z matrix of M1 rows and N-K-M1 columns which is a zero matrix adjacent to the right of the B matrix, a C matrix of N-K-M1 rows and K+M1 columns which is adjacent below the A matrix and the B matrix, and a D matrix of N-K-M1 rows and N-K-M1 columns which is an identity matrix adjacent to the right of the C matrix, wherein the predetermined value M1 is 1440, and the A matrix and the C matrix are represented by a parity check matrix initial value table, and the parity check matrix initial value table is a table which represents positions of elements of 1 in the A matrix and the C matrix every 360 columns, 10 1155 1332 1608 8228 8253 11662 483 1297 1433 4678 5776 10410 13553 862 967 1036 1842 2950 10129 12042 258 872 1037 7129 9442 9491 10644 215 260 590 6003 7554 10499 197 521 1190 1670 3696 4410 4436 4686 5350 5651 7397 7503 8553 9844 10729 11421 11605 11742 11835 12338 12422 288 560 1427 1492 1932 3255 4508 4628 5259 5881 6136 8019 8152 8192 8230 8669 8880 10289 11160 11665 12374 694 1175 1205 2363 2756 2962 3097 3374 4268 4811 6072 6393 6942 9514 9733 10681 11081 11360 12386 13467 13980 25 1200 1266 3036 3441 4940 5161 5254 7231 7585 8088 9414 10217 10349 10409 11177 12151 12497 12934 13123 14029 2599 5475 6890 7755 8567 9088 11980 2708 2836 6062 6328 8890 9831 11173 2522 2634 4989 6831 9523 10731 12107 4738 5653 7862 11986 12773 12839 13045 It has become.

[0010] A first receiving device / method of the present technology includes: a coding step of performing LDPC coding based on a check matrix of an LDPC code having a code length N of 17280 bits and a coding rate r of 3 / 16; a group-wise interleaving step of performing group-wise interleaving of the LDPC code in units of 360-bit bit groups; and a mapping step of mapping the LDPC code to one of 16 signal points of UC (Uniform Constellation) of 16QAM in units of 4 bits, wherein in the group-wise interleaving, the (i+1)-th bit group from the beginning of the LDPC code is defined as bit group i, and a sequence of bit groups 0 to 47 of the 17280-bit LDPC code is defined as bit group i. 32 42 35 16 45 38 29 30 9 43 31 11 34 25 39 7 13 4 0 21 46 15 5 20 33 47 44 40 37 19 23 8 12 3 26 14 1 10 28 36 24 22 18 2 6 27 41 17 the parity check matrix includes an A matrix at the top left of the parity check matrix, which has M1 rows and K columns and is represented by a predetermined value M1 and an information length K=N×r of the LDPC code, a B matrix of a staircase structure adjacent to the right of the A matrix, which has M1 rows and M1 columns, a Z matrix which is a zero matrix adjacent to the right of the B matrix, which has M1 rows and N-K-M1 columns, a C matrix adjacent below the A matrix and the B matrix, which has N-K-M1 rows and K+M1 columns, and a D matrix which is an identity matrix adjacent to the right of the C matrix, which has N-K-M1 rows and N-K-M1 columns, the predetermined value M1 is 1440, the A matrix and the C matrix are represented by a parity check matrix initial value table, and the parity check matrix initial value table is a table which represents positions of elements of 1 in the A matrix and the C matrix every 360 columns, 10 1155 1332 1608 8228 8253 11662 483 1297 1433 4678 5776 10410 13553 862 967 1036 1842 2950 10129 12042 258 872 1037 7129 9442 9491 10644 215 260 590 6003 7554 10499 197 521 1190 1670 3696 4410 4436 4686 5350 5651 7397 7503 8553 9844 10729 11421 11605 11742 11835 12338 12422 288 560 1427 1492 1932 3255 4508 4628 5259 5881 6136 8019 8152 8192 8230 8669 8880 10289 11160 11665 12374 694 1175 1205 2363 2756 2962 3097 3374 4268 4811 6072 6393 6942 9514 9733 10681 11081 11360 12386 13467 13980 25 1200 1266 3036 3441 4940 5161 5254 7231 7585 8088 9414 10217 10349 10409 11177 12151 12497 12934 13123 14029 2599 5475 6890 7755 8567 9088 11980 2708 2836 6062 6328 8890 9831 11173 2522 2634 4989 6831 9523 10731 12107 4738 5653 7862 11986 12773 12839 13045 The receiving device / method includes a decoding unit / step for decoding the LDPC code obtained from data transmitted by the above transmission method.

[0011] In the first receiving device / method of the present technology, the LDPC code obtained from data transmitted by a first transmission method is decoded.

[0012] A second transmission method / apparatus of the present technology includes: a coding step / unit that performs LDPC coding based on a check matrix of an LDPC code having a code length N of 17280 bits and a coding rate r of 5 / 16; a group-wise interleaving step / unit that performs group-wise interleaving of the LDPC code in units of 360-bit bit groups; and a mapping step / unit that maps the LDPC code to one of 16 signal points of UC (Uniform Constellation) of 16QAM in units of 4 bits, wherein in the group-wise interleaving, the (i+1)-th bit group from the beginning of the LDPC code is defined as bit group i, and a sequence of bit groups 0 to 47 of the 17280-bit LDPC code is defined as bit group i. 33 16 0 26 35 31 21 34 42 43 32 29 7 47 37 28 5 9 30 25 3 17 23 24 41 45 20 12 27 39 8 4 1 6 2 38 10 40 18 19 46 11 36 13 22 14 15 44 the parity check matrix includes an A matrix at the top left of the parity check matrix, which has M1 rows and K columns and is represented by a predetermined value M1 and an information length K=N×r of the LDPC code, a B matrix of a staircase structure adjacent to the right of the A matrix, which has M1 rows and M1 columns, a Z matrix which is a zero matrix adjacent to the right of the B matrix, which has M1 rows and N-K-M1 columns, a C matrix adjacent below the A matrix and the B matrix, which has N-K-M1 rows and K+M1 columns, and a D matrix which is an identity matrix adjacent to the right of the C matrix, which has N-K-M1 rows and N-K-M1 columns, the predetermined value M1 is 720, the A matrix and the C matrix are represented by a parity check matrix initial value table, and the parity check matrix initial value table is a table which represents positions of elements of 1 in the A matrix and the C matrix every 360 columns, 301 342 350 1797 7970 8230 10820 11305 139 530 615 1566 6290 6425 9185 9466 48 419 444 1773 3213 4793 8594 10480 246 455 531 3011 5845 7383 8393 10709 39 262 290 3282 5208 9539 10955 11204 234 267 623 1033 1537 8766 11527 11557 494 661 671 1123 4497 ​​6601 6715 10473 164 425 436 3259 4505 5614 8192 10221 326 377 477 7699 10162 11174 11878 206 360 557 891 930 1847 2427 3888 4491 6494 6911 8084 8945 9549 402 588 657 888 3271 4858 5257 6398 6631 6972 9678 11140 11159 11398 39 111 168 1192 1879 3121 3127 5987 8385 8488 9302 9884 10891 11879 639 640 693 1477 1790 2442 3388 3547 4622 6890 7315 7478 7905 11518 337 544 604 1184 1238 1334 2434 5239 6832 7770 9123 9397 9646 10254 32 77 604 762 1428 2756 2758 6854 7193 7311 7517 9105 10765 11173 910 1918 2342 3280 3362 3913 4586 6316 7693 8878 10922 11145 11863 790 1177 1386 1961 2437 3571 5179 5961 8222 9195 9569 10414 11498 The present invention relates to a transmission method / apparatus.

[0013] In a second transmission method / apparatus of the present technology, LDPC coding is performed based on a check matrix of an LDPC code having a code length N of 17280 bits and a coding rate r of 5 / 16, and group-wise interleaving is performed to interleave the LDPC code in 360-bit bit group units. Then, the LDPC code is mapped to one of 16 signal points of UC (Uniform Constellation) of 16QAM in 4-bit units. In the group-wise interleaving, the (i+1)-th bit group from the beginning of the LDPC code is defined as bit group i, and the arrangement of bit groups 0 to 47 of the 17280-bit LDPC code is defined as bit group i. 33 16 0 26 35 31 21 34 42 43 32 29 7 47 37 28 5 9 30 25 3 17 23 24 41 45 20 12 27 39 8 4 1 6 2 38 10 40 18 19 46 11 36 13 22 14 15 44 The parity check matrix includes an A matrix at the top left of the parity check matrix, which has M1 rows and K columns and is expressed by a predetermined value M1 and an information length K=N×r of the LDPC code, a B matrix of a staircase structure adjacent to the right of the A matrix, which has M1 rows and M1 columns, a Z matrix which is a zero matrix adjacent to the right of the B matrix, which has M1 rows and N-K-M1 columns, a C matrix which is adjacent below the A matrix and the B matrix, which has N-K-M1 rows and K+M1 columns, and a D matrix which is an identity matrix adjacent to the right of the C matrix, which has N-K-M1 rows and N-K-M1 columns, wherein the predetermined value M1 is 720, and the A matrix and the C matrix are represented by a parity check matrix initial value table, and the parity check matrix initial value table is a table which represents positions of elements of 1 in the A matrix and the C matrix every 360 columns, 301 342 350 1797 7970 8230 10820 11305 139 530 615 1566 6290 6425 9185 9466 48 419 444 1773 3213 4793 8594 10480 246 455 531 3011 5845 7383 8393 10709 39 262 290 3282 5208 9539 10955 11204 234 267 623 1033 1537 8766 11527 11557 494 661 671 1123 4497 ​​6601 6715 10473 164 425 436 3259 4505 5614 8192 10221 326 377 477 7699 10162 11174 11878 206 360 557 891 930 1847 2427 3888 4491 6494 6911 8084 8945 9549 402 588 657 888 3271 4858 5257 6398 6631 6972 9678 11140 11159 11398 39 111 168 1192 1879 3121 3127 5987 8385 8488 9302 9884 10891 11879 639 640 693 1477 1790 2442 3388 3547 4622 6890 7315 7478 7905 11518 337 544 604 1184 1238 1334 2434 5239 6832 7770 9123 9397 9646 10254 32 77 604 762 1428 2756 2758 6854 7193 7311 7517 9105 10765 11173 910 1918 2342 3280 3362 3913 4586 6316 7693 8878 10922 11145 11863 790 1177 1386 1961 2437 3571 5179 5961 8222 9195 9569 10414 11498 It has become.

[0014] A second receiving apparatus / method of the present technology includes: a coding step of performing LDPC coding based on a check matrix of an LDPC code having a code length N of 17280 bits and a coding rate r of 5 / 16; a group-wise interleaving step of performing group-wise interleaving of the LDPC code in units of 360-bit bit groups; and a mapping step of mapping the LDPC code to one of 16 signal points of UC (Uniform Constellation) of 16QAM in units of 4 bits, wherein in the group-wise interleaving, the (i+1)-th bit group from the beginning of the LDPC code is defined as bit group i, and a sequence of bit groups 0 to 47 of the 17280-bit LDPC code is defined as bit group i. 33 16 0 26 35 31 21 34 42 43 32 29 7 47 37 28 5 9 30 25 3 17 23 24 41 45 20 12 27 39 8 4 1 6 2 38 10 40 18 19 46 11 36 13 22 14 15 44 the parity check matrix includes an A matrix at the top left of the parity check matrix, which has M1 rows and K columns and is represented by a predetermined value M1 and an information length K=N×r of the LDPC code, a B matrix of a staircase structure adjacent to the right of the A matrix, which has M1 rows and M1 columns, a Z matrix which is a zero matrix adjacent to the right of the B matrix, which has M1 rows and N-K-M1 columns, a C matrix adjacent below the A matrix and the B matrix, which has N-K-M1 rows and K+M1 columns, and a D matrix which is an identity matrix adjacent to the right of the C matrix, which has N-K-M1 rows and N-K-M1 columns, the predetermined value M1 is 720, the A matrix and the C matrix are represented by a parity check matrix initial value table, and the parity check matrix initial value table is a table which represents positions of elements of 1 in the A matrix and the C matrix every 360 columns, 301 342 350 1797 7970 8230 10820 11305 139 530 615 1566 6290 6425 9185 9466 48 419 444 1773 3213 4793 8594 10480 246 455 531 3011 5845 7383 8393 10709 39 262 290 3282 5208 9539 10955 11204 234 267 623 1033 1537 8766 11527 11557 494 661 671 1123 4497 ​​6601 6715 10473 164 425 436 3259 4505 5614 8192 10221 326 377 477 7699 10162 11174 11878 206 360 557 891 930 1847 2427 3888 4491 6494 6911 8084 8945 9549 402 588 657 888 3271 4858 5257 6398 6631 6972 9678 11140 11159 11398 39 111 168 1192 1879 3121 3127 5987 8385 8488 9302 9884 10891 11879 639 640 693 1477 1790 2442 3388 3547 4622 6890 7315 7478 7905 11518 337 544 604 1184 1238 1334 2434 5239 6832 7770 9123 9397 9646 10254 32 77 604 762 1428 2756 2758 6854 7193 7311 7517 9105 10765 11173 910 1918 2342 3280 3362 3913 4586 6316 7693 8878 10922 11145 11863 790 1177 1386 1961 2437 3571 5179 5961 8222 9195 9569 10414 11498 The receiving device / method includes a decoding unit / step for decoding the LDPC code obtained from data transmitted by the above transmission method.

[0015] In the second receiving device / method of the present technology, the LDPC code obtained from data transmitted by the second transmission method is decoded.

[0016] A third transmission method / apparatus of the present technology includes: a coding step / unit that performs LDPC coding based on a check matrix of an LDPC code having a code length N of 17280 bits and a coding rate r of 7 / 16; a group-wise interleaving step / unit that performs group-wise interleaving of the LDPC code in units of 360-bit bit groups; and a mapping step / unit that maps the LDPC code to one of 16 signal points of UC (Uniform Constellation) of 16QAM in units of 4 bits, wherein in the group-wise interleaving, the (i+1)-th bit group from the beginning of the LDPC code is defined as bit group i, and a sequence of bit groups 0 to 47 of the 17280-bit LDPC code is defined as bit group i. 41 10 21 37 9 8 11 27 16 23 25 2 34 7 29 28 5 15 31 45 4 43 33 22 18 13 35 30 6 12 44 1 20 40 42 39 19 17 36 38 26 0 32 3 47 14 24 46 The LDPC code includes information bits and parity bits, the check matrix includes an information matrix portion corresponding to the information bits and a parity matrix portion corresponding to the parity bits, the information matrix portion is represented by a check matrix initial value table, and the check matrix initial value table is a table that represents the position of an element of 1 in the information matrix portion for every 360 columns, 193 217 530 596 789 1340 1569 1662 1887 1889 2299 2610 2629 2790 3464 3607 3935 4439 5460 5721 5758 6094 6280 6350 6449 6613 6682 6826 6906 7048 7425 8229 8627 8679 8735 8814 9079 9146 435 572 815 903 1063 1962 1989 2215 2417 2862 2914 3182 3980 4414 4566 4895 4950 5163 5336 5388 5642 5764 6586 6719 6787 7262 7609 8000 8561 8790 9027 9334 9358 9420 9444 9553 9614 250 3557 3865 4350 4394 4644 5303 6590 8377 8497 9655 21 602 1038 1212 1243 3938 4136 5620 6516 6777 8226 134 214 1550 1554 1615 3178 5113 5163 5201 7168 7574 134 2692 3810 4954 6766 2394 4734 5731 7427 7653 509 1009 3867 5069 9121 540 2975 6248 4 831 3592 503 1385 7170 348 7774 8897 67 3553 5134 623 6525 8314 2871 7545 8960 4330 4839 7689 4793 5327 8046 2877 3422 8836 2069 7584 9102 1376 3862 4352 4693 7147 9461 The present invention relates to a transmission method / apparatus.

[0017] In a third transmission method / apparatus of the present technology, LDPC coding is performed based on a check matrix of an LDPC code having a code length N of 17280 bits and a coding rate r of 7 / 16, and group-wise interleaving is performed to interleave the LDPC code in 360-bit bit group units. Then, the LDPC code is mapped to one of 16 signal points of UC (Uniform Constellation) of 16QAM in 4-bit units. In the group-wise interleaving, the (i+1)-th bit group from the beginning of the LDPC code is defined as bit group i, and the arrangement of bit groups 0 to 47 of the 17280-bit LDPC code is defined as bit group i. 41 10 21 37 9 8 11 27 16 23 25 2 34 7 29 28 5 15 31 45 4 43 33 22 18 13 35 30 6 12 44 1 20 40 42 39 19 17 36 38 26 0 32 3 47 14 24 46 The LDPC code includes information bits and parity bits, the check matrix includes an information matrix portion corresponding to the information bits and a parity matrix portion corresponding to the parity bits, the information matrix portion is represented by a check matrix initial value table, and the check matrix initial value table is a table representing the position of an element of 1 in the information matrix portion for each of 360 columns, 193 217 530 596 789 1340 1569 1662 1887 1889 2299 2610 2629 2790 3464 3607 3935 4439 5460 5721 5758 6094 6280 6350 6449 6613 6682 6826 6906 7048 7425 8229 8627 8679 8735 8814 9079 9146 435 572 815 903 1063 1962 1989 2215 2417 2862 2914 3182 3980 4414 4566 4895 4950 5163 5336 5388 5642 5764 6586 6719 6787 7262 7609 8000 8561 8790 9027 9334 9358 9420 9444 9553 9614 250 3557 3865 4350 4394 4644 5303 6590 8377 8497 9655 21 602 1038 1212 1243 3938 4136 5620 6516 6777 8226 134 214 1550 1554 1615 3178 5113 5163 5201 7168 7574 134 2692 3810 4954 6766 2394 4734 5731 7427 7653 509 1009 3867 5069 9121 540 2975 6248 4 831 3592 503 1385 7170 348 7774 8897 67 3553 5134 623 6525 8314 2871 7545 8960 4330 4839 7689 4793 5327 8046 2877 3422 8836 2069 7584 9102 1376 3862 4352 4693 7147 9461 It has become.

[0018] A third receiving apparatus / method of the present technology includes: a coding step of performing LDPC coding based on a check matrix of an LDPC code having a code length N of 17280 bits and a coding rate r of 7 / 16; a group-wise interleaving step of performing group-wise interleaving of the LDPC code in units of 360-bit bit groups; and a mapping step of mapping the LDPC code to one of 16 signal points of UC (Uniform Constellation) of 16QAM in units of 4 bits, wherein in the group-wise interleaving, the (i+1)-th bit group from the beginning of the LDPC code is defined as bit group i, and a sequence of bit groups 0 to 47 of the 17280-bit LDPC code is defined as bit group i. 41 10 21 37 9 8 11 27 16 23 25 2 34 7 29 28 5 15 31 45 4 43 33 22 18 13 35 30 6 12 44 1 20 40 42 39 19 17 36 38 26 0 32 3 47 14 24 46 The LDPC code includes information bits and parity bits, the check matrix includes an information matrix portion corresponding to the information bits and a parity matrix portion corresponding to the parity bits, the information matrix portion is represented by a check matrix initial value table, and the check matrix initial value table is a table that represents the position of an element of 1 in the information matrix portion for every 360 columns, 193 217 530 596 789 1340 1569 1662 1887 1889 2299 2610 2629 2790 3464 3607 3935 4439 5460 5721 5758 6094 6280 6350 6449 6613 6682 6826 6906 7048 7425 8229 8627 8679 8735 8814 9079 9146 435 572 815 903 1063 1962 1989 2215 2417 2862 2914 3182 3980 4414 4566 4895 4950 5163 5336 5388 5642 5764 6586 6719 6787 7262 7609 8000 8561 8790 9027 9334 9358 9420 9444 9553 9614 250 3557 3865 4350 4394 4644 5303 6590 8377 8497 9655 21 602 1038 1212 1243 3938 4136 5620 6516 6777 8226 134 214 1550 1554 1615 3178 5113 5163 5201 7168 7574 134 2692 3810 4954 6766 2394 4734 5731 7427 7653 509 1009 3867 5069 9121 540 2975 6248 4 831 3592 503 1385 7170 348 7774 8897 67 3553 5134 623 6525 8314 2871 7545 8960 4330 4839 7689 4793 5327 8046 2877 3422 8836 2069 7584 9102 1376 3862 4352 4693 7147 9461 The receiving device / method includes a decoding unit / step for decoding the LDPC code obtained from data transmitted by the above transmission method.

[0019] In the third receiving device / method of the present technology, the LDPC code obtained from data transmitted by the third transmission method is decoded.

[0020] A fourth transmission method / apparatus of the present technology includes: a coding step / unit that performs LDPC coding based on a check matrix of an LDPC code having a code length N of 17280 bits and a coding rate r of 9 / 16; a group-wise interleaving step / unit that performs group-wise interleaving of the LDPC code in units of 360-bit bit groups; and a mapping step / unit that maps the LDPC code to one of 16 signal points of UC (Uniform Constellation) of 16QAM in units of 4 bits, wherein in the group-wise interleaving, the (i+1)-th bit group from the beginning of the LDPC code is defined as bit group i, and a sequence of bit groups 0 to 47 of the 17280-bit LDPC code is defined as bit group i. 15 21 29 10 12 32 1 9 31 47 23 30 26 18 0 28 7 20 43 44 3 45 5 17 16 46 40 39 6 38 34 36 22 33 27 24 25 13 14 37 19 8 42 11 4 2 35 41 The LDPC code includes information bits and parity bits, the check matrix includes an information matrix portion corresponding to the information bits and a parity matrix portion corresponding to the parity bits, the information matrix portion is represented by a check matrix initial value table, and the check matrix initial value table is a table that represents the position of an element of 1 in the information matrix portion for every 360 columns, 42 549 1187 1203 1694 1741 2290 2776 2839 2886 3435 3503 3697 4031 4580 4627 5176 5223 5539 5772 6368 6917 6964 7513 13 192 415 563 699 934 1176 1484 1855 2426 3147 3369 3389 4068 4380 4578 4618 4937 4989 5381 5910 6281 6831 7202 1319 1687 2423 3518 3737 4273 5242 6209 6535 6966 7397 1273 2244 2896 3018 3949 4065 4414 4763 5461 5673 7555 344 735 1706 2320 2669 3367 3800 5112 6201 6857 7248 33 1088 1439 2013 2881 3774 3936 5447 5810 6697 7368 615 1580 2410 2698 3801 4182 4991 5483 6046 6292 6538 4564 4745 6784 550 3081 7463 950 2455 2786 1218 2118 6232 3475 4980 6548 4769 5585 6837 450 1681 3707 4038 4889 7174 1432 5762 6265 60 2951 6848 2766 3597 4872 140 2141 4243 874 4142 7054 807 2368 5619 3391 6408 6657 2073 2609 6079 1558 4944 5690 276 875 4345 3273 3767 7300 2695 6102 6743 The present invention relates to a transmission method / apparatus.

[0021] In a fourth transmission method / apparatus of the present technology, LDPC coding is performed based on a check matrix of an LDPC code having a code length N of 17280 bits and a coding rate r of 9 / 16, and group-wise interleaving is performed to interleave the LDPC code in units of 360-bit bit groups. Then, the LDPC code is mapped in units of 4 bits to one of 16 signal points of UC (Uniform Constellation) of 16QAM. In the group-wise interleaving, the (i+1)-th bit group from the beginning of the LDPC code is defined as bit group i, and the arrangement of bit groups 0 to 47 of the 17280-bit LDPC code is defined as bit group i. 15 21 29 10 12 32 1 9 31 47 23 30 26 18 0 28 7 20 43 44 3 45 5 17 16 46 40 39 6 38 34 36 22 33 27 24 25 13 14 37 19 8 42 11 4 2 35 41 The LDPC code includes information bits and parity bits, the check matrix includes an information matrix portion corresponding to the information bits and a parity matrix portion corresponding to the parity bits, the information matrix portion is represented by a check matrix initial value table, and the check matrix initial value table is a table representing the position of an element of 1 in the information matrix portion for each of 360 columns, 42 549 1187 1203 1694 1741 2290 2776 2839 2886 3435 3503 3697 4031 4580 4627 5176 5223 5539 5772 6368 6917 6964 7513 13 192 415 563 699 934 1176 1484 1855 2426 3147 3369 3389 4068 4380 4578 4618 4937 4989 5381 5910 6281 6831 7202 1319 1687 2423 3518 3737 4273 5242 6209 6535 6966 7397 1273 2244 2896 3018 3949 4065 4414 4763 5461 5673 7555 344 735 1706 2320 2669 3367 3800 5112 6201 6857 7248 33 1088 1439 2013 2881 3774 3936 5447 5810 6697 7368 615 1580 2410 2698 3801 4182 4991 5483 6046 6292 6538 4564 4745 6784 550 3081 7463 950 2455 2786 1218 2118 6232 3475 4980 6548 4769 5585 6837 450 1681 3707 4038 4889 7174 1432 5762 6265 60 2951 6848 2766 3597 4872 140 2141 4243 874 4142 7054 807 2368 5619 3391 6408 6657 2073 2609 6079 1558 4944 5690 276 875 4345 3273 3767 7300 2695 6102 6743 It has become.

[0022] A fourth receiving apparatus / method of the present technology includes: a coding step of performing LDPC coding based on a check matrix of an LDPC code having a code length N of 17280 bits and a coding rate r of 9 / 16; a group-wise interleaving step of performing group-wise interleaving of the LDPC code in units of 360-bit bit groups; and a mapping step of mapping the LDPC code to one of 16 signal points of UC (Uniform Constellation) of 16QAM in units of 4 bits, wherein in the group-wise interleaving, the (i+1)-th bit group from the beginning of the LDPC code is defined as bit group i, and a sequence of bit groups 0 to 47 of the 17280-bit LDPC code is defined as bit group i. 15 21 29 10 12 32 1 9 31 47 23 30 26 18 0 28 7 20 43 44 3 45 5 17 16 46 40 39 6 38 34 36 22 33 27 24 25 13 14 37 19 8 42 11 4 2 35 41 The LDPC code includes information bits and parity bits, the check matrix includes an information matrix portion corresponding to the information bits and a parity matrix portion corresponding to the parity bits, the information matrix portion is represented by a check matrix initial value table, and the check matrix initial value table is a table that represents the position of an element of 1 in the information matrix portion for every 360 columns, 42 549 1187 1203 1694 1741 2290 2776 2839 2886 3435 3503 3697 4031 4580 4627 5176 5223 5539 5772 6368 6917 6964 7513 13 192 415 563 699 934 1176 1484 1855 2426 3147 3369 3389 4068 4380 4578 4618 4937 4989 5381 5910 6281 6831 7202 1319 1687 2423 3518 3737 4273 5242 6209 6535 6966 7397 1273 2244 2896 3018 3949 4065 4414 4763 5461 5673 7555 344 735 1706 2320 2669 3367 3800 5112 6201 6857 7248 33 1088 1439 2013 2881 3774 3936 5447 5810 6697 7368 615 1580 2410 2698 3801 4182 4991 5483 6046 6292 6538 4564 4745 6784 550 3081 7463 950 2455 2786 1218 2118 6232 3475 4980 6548 4769 5585 6837 450 1681 3707 4038 4889 7174 1432 5762 6265 60 2951 6848 2766 3597 4872 140 2141 4243 874 4142 7054 807 2368 5619 3391 6408 6657 2073 2609 6079 1558 4944 5690 276 875 4345 3273 3767 7300 2695 6102 6743 The receiving device / method includes a decoding unit / step for decoding the LDPC code obtained from data transmitted by the above transmission method.

[0023] In the fourth receiving device / method of the present technology, the LDPC code obtained from data transmitted by the fourth transmission method is decoded.

[0024] A fifth transmission method / apparatus of the present technology includes: a coding step / unit that performs LDPC coding based on a check matrix of an LDPC code having a code length N of 17280 bits and a coding rate r of 11 / 16; a group-wise interleaving step / unit that performs group-wise interleaving of the LDPC code in units of 360-bit bit groups; and a mapping step / unit that maps the LDPC code to one of 16 signal points of 16QAM Uniform Constellation (UC) in units of 4 bits, wherein in the group-wise interleaving, the (i+1)-th bit group from the beginning of the LDPC code is defined as bit group i, and a sequence of bit groups 0 to 47 of the 17280-bit LDPC code is defined as bit group i. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 The LDPC code includes information bits and parity bits, the check matrix includes an information matrix portion corresponding to the information bits and a parity matrix portion corresponding to the parity bits, the information matrix portion is represented by a check matrix initial value table, and the check matrix initial value table is a table that represents the position of an element of 1 in the information matrix portion for every 360 columns, 91 382 494 654 681 695 1643 2171 2576 3027 3115 3390 3633 3644 3812 3883 4474 4607 4674 384 396 982 988 1053 1867 2215 2345 2472 3323 3503 3573 3883 4159 4576 4917 5104 5130 456 580 1590 1715 1786 1843 1934 2251 2261 2466 2525 2958 3467 4334 4530 4779 4885 5021 227 381 394 502 1059 1108 1480 1508 1523 1620 1840 1996 2436 2989 3716 3957 4072 4243 4482 4517 4717 4910 5105 5220 5238 5279 376 957 1706 2028 2228 2439 2552 4249 5234 89 676 1098 1103 1127 1449 1605 2362 4640 66 613 1692 1901 2247 3025 3244 4864 5050 1628 2015 2596 521 802 3804 3178 4080 5057 344 3486 3948 595 2538 2964 300 1355 3476 1292 2761 4819 462 773 3996 133 3494 4342 37 3698 4382 345 3624 4745 124 4197 4978 873 2686 4266 989 2966 4180 1468 1932 4913 1140 4164 5060 3361 4952 5287 2584 4646 5260 809 2481 4893 1201 1532 3877 128 2430 4279 621 4810 5249 200 717 5066 2283 2998 4164 704 2587 4736 106 2080 3279 The present invention relates to a transmission method / apparatus.

[0025] In a fifth transmission method / apparatus of the present technology, LDPC coding is performed based on a check matrix of an LDPC code having a code length N of 17280 bits and a coding rate r of 11 / 16, and group-wise interleaving is performed to interleave the LDPC code in units of 360-bit bit groups. Then, the LDPC code is mapped in units of 4 bits to one of 16 signal points of UC (Uniform Constellation) of 16QAM. In the group-wise interleaving, the (i+1)-th bit group from the beginning of the LDPC code is defined as bit group i, and the arrangement of bit groups 0 to 47 of the 17280-bit LDPC code is defined as bit group i. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 The LDPC code includes information bits and parity bits, the check matrix includes an information matrix portion corresponding to the information bits and a parity matrix portion corresponding to the parity bits, the information matrix portion is represented by a check matrix initial value table, and the check matrix initial value table is a table representing the position of an element of 1 in the information matrix portion for each of 360 columns, 91 382 494 654 681 695 1643 2171 2576 3027 3115 3390 3633 3644 3812 3883 4474 4607 4674 384 396 982 988 1053 1867 2215 2345 2472 3323 3503 3573 3883 4159 4576 4917 5104 5130 456 580 1590 1715 1786 1843 1934 2251 2261 2466 2525 2958 3467 4334 4530 4779 4885 5021 227 381 394 502 1059 1108 1480 1508 1523 1620 1840 1996 2436 2989 3716 3957 4072 4243 4482 4517 4717 4910 5105 5220 5238 5279 376 957 1706 2028 2228 2439 2552 4249 5234 89 676 1098 1103 1127 1449 1605 2362 4640 66 613 1692 1901 2247 3025 3244 4864 5050 1628 2015 2596 521 802 3804 3178 4080 5057 344 3486 3948 595 2538 2964 300 1355 3476 1292 2761 4819 462 773 3996 133 3494 4342 37 3698 4382 345 3624 4745 124 4197 4978 873 2686 4266 989 2966 4180 1468 1932 4913 1140 4164 5060 3361 4952 5287 2584 4646 5260 809 2481 4893 1201 1532 3877 128 2430 4279 621 4810 5249 200 717 5066 2283 2998 4164 704 2587 4736 106 2080 3279 It has become.

[0026] A fifth receiving apparatus / method of the present technology includes: a coding step of performing LDPC coding based on a check matrix of an LDPC code having a code length N of 17280 bits and a coding rate r of 11 / 16; a group-wise interleaving step of performing group-wise interleaving of the LDPC code in units of 360-bit bit groups; and a mapping step of mapping the LDPC code to one of 16 signal points of 16QAM Uniform Constellation (UC) in units of 4 bits, wherein in the group-wise interleaving, the (i+1)-th bit group from the beginning of the LDPC code is defined as bit group i, and a sequence of bit groups 0 to 47 of the 17280-bit LDPC code is defined as bit group i. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 The LDPC code includes information bits and parity bits, the check matrix includes an information matrix portion corresponding to the information bits and a parity matrix portion corresponding to the parity bits, the information matrix portion is represented by a check matrix initial value table, and the check matrix initial value table is a table that represents the position of an element of 1 in the information matrix portion for every 360 columns, 91 382 494 654 681 695 1643 2171 2576 3027 3115 3390 3633 3644 3812 3883 4474 4607 4674 384 396 982 988 1053 1867 2215 2345 2472 3323 3503 3573 3883 4159 4576 4917 5104 5130 456 580 1590 1715 1786 1843 1934 2251 2261 2466 2525 2958 3467 4334 4530 4779 4885 5021 227 381 394 502 1059 1108 1480 1508 1523 1620 1840 1996 2436 2989 3716 3957 4072 4243 4482 4517 4717 4910 5105 5220 5238 5279 376 957 1706 2028 2228 2439 2552 4249 5234 89 676 1098 1103 1127 1449 1605 2362 4640 66 613 1692 1901 2247 3025 3244 4864 5050 1628 2015 2596 521 802 3804 3178 4080 5057 344 3486 3948 595 2538 2964 300 1355 3476 1292 2761 4819 462 773 3996 133 3494 4342 37 3698 4382 345 3624 4745 124 4197 4978 873 2686 4266 989 2966 4180 1468 1932 4913 1140 4164 5060 3361 4952 5287 2584 4646 5260 809 2481 4893 1201 1532 3877 128 2430 4279 621 4810 5249 200 717 5066 2283 2998 4164 704 2587 4736 106 2080 3279 The receiving device / method includes a decoding unit / step for decoding the LDPC code obtained from data transmitted by the above transmission method.

[0027] In the fifth receiving device / method of the present technology, the LDPC code obtained from data transmitted by the fifth transmission method is decoded.

[0028] A sixth transmission method / apparatus of the present technology includes: a coding step / unit that performs LDPC coding based on a check matrix of an LDPC code having a code length N of 17280 bits and a coding rate r of 13 / 16; a group-wise interleaving step / unit that performs group-wise interleaving of the LDPC code in units of 360-bit bit groups; and a mapping step / unit that maps the LDPC code to one of 16 signal points of UC (Uniform Constellation) of 16QAM in units of 4 bits, wherein in the group-wise interleaving, the (i+1)-th bit group from the beginning of the LDPC code is defined as bit group i, and a sequence of bit groups 0 to 47 of the 17280-bit LDPC code is defined as bit group i. 31 23 1 42 36 25 47 3 12 30 32 8 11 27 21 40 16 13 34 4 26 35 46 20 29 28 5 43 18 39 24 14 0 10 7 41 37 9 38 33 2 6 19 45 17 15 22 44 The LDPC code includes information bits and parity bits, the check matrix includes an information matrix portion corresponding to the information bits and a parity matrix portion corresponding to the parity bits, the information matrix portion is represented by a check matrix initial value table, and the check matrix initial value table is a table that represents the position of an element of 1 in the information matrix portion for every 360 columns, 225 274 898 916 1020 1055 1075 1179 1185 1343 1376 1569 1828 1972 2852 2957 3183 548 602 628 928 1077 1474 1557 1598 1935 1981 2110 2472 2543 2594 2721 2884 2981 59 69 518 900 1158 1325 1367 1480 1744 2069 2119 2406 2757 2883 2914 2966 3232 1330 1369 1712 2133 2206 2487 2596 2606 2612 2666 2726 2733 2754 2811 2948 3030 391 542 689 748 810 1716 1927 2006 2296 2340 2357 2514 2797 2887 2896 3226 256 410 799 1126 1377 1409 1518 1619 1829 2037 2303 2324 2472 2475 2874 2992 862 1522 1905 809 842 945 561 1001 2857 2132 2592 2905 217 401 1894 11 30 1860 210 1188 2418 1372 2273 2455 407 2537 2962 939 2401 2677 2521 3077 3173 1374 2250 2423 23 188 1320 472 714 2144 2727 2755 2887 1814 2824 2852 148 1695 1845 595 1059 2702 1879 2480 2578 17 411 559 146 783 2154 951 1391 1979 1507 1613 3106 642 882 2356 1008 1324 3125 196 1794 2474 1129 1544 2931 765 1681 2591 1550 1936 3048 1596 1607 2794 156 1053 2926 1246 1996 3179 348 752 1943 The present invention relates to a transmission method / apparatus.

[0029] In a sixth transmission method / apparatus of the present technology, LDPC coding is performed based on a check matrix of an LDPC code having a code length N of 17280 bits and a coding rate r of 13 / 16, and group-wise interleaving is performed to interleave the LDPC code in units of 360-bit bit groups. Then, the LDPC code is mapped in units of 4 bits to one of 16 signal points of UC (Uniform Constellation) of 16QAM. In the group-wise interleaving, the (i+1)-th bit group from the beginning of the LDPC code is defined as bit group i, and the arrangement of bit groups 0 to 47 of the 17280-bit LDPC code is defined as bit group i. 31 23 1 42 36 25 47 3 12 30 32 8 11 27 21 40 16 13 34 4 26 35 46 20 29 28 5 43 18 39 24 14 0 10 7 41 37 9 38 33 2 6 19 45 17 15 22 44 The LDPC code includes information bits and parity bits, the check matrix includes an information matrix portion corresponding to the information bits and a parity matrix portion corresponding to the parity bits, the information matrix portion is represented by a check matrix initial value table, and the check matrix initial value table is a table representing the position of an element of 1 in the information matrix portion for each of 360 columns, 225 274 898 916 1020 1055 1075 1179 1185 1343 1376 1569 1828 1972 2852 2957 3183 548 602 628 928 1077 1474 1557 1598 1935 1981 2110 2472 2543 2594 2721 2884 2981 59 69 518 900 1158 1325 1367 1480 1744 2069 2119 2406 2757 2883 2914 2966 3232 1330 1369 1712 2133 2206 2487 2596 2606 2612 2666 2726 2733 2754 2811 2948 3030 391 542 689 748 810 1716 1927 2006 2296 2340 2357 2514 2797 2887 2896 3226 256 410 799 1126 1377 1409 1518 1619 1829 2037 2303 2324 2472 2475 2874 2992 862 1522 1905 809 842 945 561 1001 2857 2132 2592 2905 217 401 1894 11 30 1860 210 1188 2418 1372 2273 2455 407 2537 2962 939 2401 2677 2521 3077 3173 1374 2250 2423 23 188 1320 472 714 2144 2727 2755 2887 1814 2824 2852 148 1695 1845 595 1059 2702 1879 2480 2578 17 411 559 146 783 2154 951 1391 1979 1507 1613 3106 642 882 2356 1008 1324 3125 196 1794 2474 1129 1544 2931 765 1681 2591 1550 1936 3048 1596 1607 2794 156 1053 2926 1246 1996 3179 348 752 1943 It has become.

[0030] A sixth receiving apparatus / method of the present technology includes: a coding step of performing LDPC coding based on a check matrix of an LDPC code having a code length N of 17280 bits and a coding rate r of 13 / 16; a group-wise interleaving step of performing group-wise interleaving of the LDPC code in units of 360-bit bit groups; and a mapping step of mapping the LDPC code to one of 16 signal points of 16QAM Uniform Constellation (UC) in units of 4 bits, wherein in the group-wise interleaving, the (i+1)-th bit group from the beginning of the LDPC code is defined as bit group i, and a sequence of bit groups 0 to 47 of the 17280-bit LDPC code is defined as bit group i. 31 23 1 42 36 25 47 3 12 30 32 8 11 27 21 40 16 13 34 4 26 35 46 20 29 28 5 43 18 39 24 14 0 10 7 41 37 9 38 33 2 6 19 45 17 15 22 44 The LDPC code includes information bits and parity bits, the check matrix includes an information matrix portion corresponding to the information bits and a parity matrix portion corresponding to the parity bits, and the information matrix portion is represented by a check matrix initial value table; The parity check matrix initial value table is a table representing positions of elements of 1 in the information matrix section for every 360 columns, 225 274 898 916 1020 1055 1075 1179 1185 1343 1376 1569 1828 1972 2852 2957 3183 548 602 628 928 1077 1474 1557 1598 1935 1981 2110 2472 2543 2594 2721 2884 2981 59 69 518 900 1158 1325 1367 1480 1744 2069 2119 2406 2757 2883 2914 2966 3232 1330 1369 1712 2133 2206 2487 2596 2606 2612 2666 2726 2733 2754 2811 2948 3030 391 542 689 748 810 1716 1927 2006 2296 2340 2357 2514 2797 2887 2896 3226 256 410 799 1126 1377 1409 1518 1619 1829 2037 2303 2324 2472 2475 2874 2992 862 1522 1905 809 842 945 561 1001 2857 2132 2592 2905 217 401 1894 11 30 1860 210 1188 2418 1372 2273 2455 407 2537 2962 939 2401 2677 2521 3077 3173 1374 2250 2423 23 188 1320 472 714 2144 2727 2755 2887 1814 2824 2852 148 1695 1845 595 1059 2702 1879 2480 2578 17 411 559 146 783 2154 951 1391 1979 1507 1613 3106 642 882 2356 1008 1324 3125 196 1794 2474 1129 1544 2931 765 1681 2591 1550 1936 3048 1596 1607 2794 156 1053 2926 1246 1996 3179 348 752 1943 The receiving device / method includes a decoding unit / step for decoding the LDPC code obtained from data transmitted by the above transmission method.

[0031] In the sixth receiving device / method of the present technology, the LDPC code obtained from data transmitted by the sixth transmission method is decoded.

[0032] The transmitting device and receiving device may be independent devices or may be internal blocks constituting a single device. [Effects of the Invention]

[0033] According to the present technology, good communication quality can be ensured in data transmission using LDPC codes.

[0034] The effects described here are not necessarily limited to those described herein, and may be any of the effects described in this disclosure. [Brief explanation of the drawings]

[0035] [Figure 1] FIG. 2 is a diagram illustrating a check matrix H of an LDPC code. [Figure 2] 10 is a flowchart illustrating a decoding procedure for an LDPC code. [Figure 3] FIG. 1 is a diagram illustrating an example of a check matrix of an LDPC code. [Figure 4] FIG. 10 is a diagram illustrating an example of a Tanner graph of a parity check matrix. [Figure 5] FIG. 10 is a diagram illustrating an example of a variable node. [Figure 6] FIG. 2 is a diagram illustrating an example of a check node. [Figure 7] 1 is a diagram illustrating an example of the configuration of an embodiment of a transmission system to which the present technology is applied. [Figure 8] FIG. 2 is a block diagram showing an example of the configuration of a transmission device 11. [Figure 9] FIG. 10 is a block diagram showing an example of the configuration of a bit interleaver 116. [Figure 10] FIG. 10 is a diagram illustrating an example of a check matrix. [Figure 11] FIG. 10 is a diagram illustrating an example of a parity matrix. [Figure 12] 1 is a diagram illustrating a check matrix of an LDPC code defined in the DVB-T.2 standard. [Figure 13] 1 is a diagram illustrating a check matrix of an LDPC code defined in the DVB-T.2 standard. [Figure 14] FIG. 1 is a diagram illustrating an example of a Tanner graph for decoding an LDPC code. [Figure 15] FIG. 1 is a diagram illustrating an example of a parity matrix H T having a staircase structure and a Tanner graph corresponding to the parity matrix H T. [Figure 16] FIG. 10 is a diagram illustrating an example of a parity matrix H T of a check matrix H corresponding to an LDPC code after parity interleaving. [Figure 17] 10 is a flowchart illustrating an example of processing performed by the bit interleaver 116 and the mapper 117. [Figure 18] FIG. 2 is a block diagram showing an example of the configuration of an LDPC encoder 115. [Figure 19] 10 is a flowchart illustrating an example of processing performed by the LDPC encoder 115. [Figure 20] FIG. 10 is a diagram illustrating an example of a check matrix initial value table for a coding rate of 1 / 4 and a code length of 16200. [Figure 21] 10 is a diagram illustrating a method for obtaining a check matrix H from a check matrix initial value table. FIG. [Figure 22] FIG. 10 is a diagram illustrating the structure of a parity check matrix. [Figure 23] FIG. 10 is a diagram illustrating an example of a check matrix initial value table. [Figure 24] FIG. 10 is a diagram illustrating matrix A generated from the check matrix initial value table. [Figure 25] FIG. 10 is a diagram illustrating parity interleaving of a B matrix. [Figure 26] FIG. 10 is a diagram illustrating a C matrix generated from a check matrix initial value table. [Figure 27] FIG. 10 is a diagram illustrating parity interleaving of a D matrix. [Figure 28] FIG. 10 is a diagram showing a parity check matrix obtained by performing column permutation on the parity check matrix as parity deinterleaving to restore parity interleaving to its original state. [Figure 29] FIG. 10 is a diagram showing a transformed check matrix obtained by performing row permutation on a check matrix. [Figure 30]FIG. 10 is a diagram showing an example of a check matrix initial value table for a Type A code where N=17280 bits and r=2 / 16. [Figure 31] FIG. 10 is a diagram showing an example of a check matrix initial value table for a Type A code where N=17280 bits and r=3 / 16. [Figure 32] FIG. 10 is a diagram showing an example of a check matrix initial value table for a Type A code where N=17280 bits and r=4 / 16. [Figure 33] FIG. 10 is a diagram showing an example of a check matrix initial value table for a Type A code where N=17280 bits and r=5 / 16. [Figure 34] FIG. 10 is a diagram showing an example of a check matrix initial value table for a Type A code where N=17280 bits and r=6 / 16. [Figure 35] FIG. 10 is a diagram showing an example of a check matrix initial value table for a Type A code where N=17280 bits and r=7 / 16. [Figure 36] FIG. 10 is a diagram showing an example of a check matrix initial value table for a Type B code where N=17280 bits and r=7 / 16. [Figure 37] FIG. 10 is a diagram showing an example of a check matrix initial value table for a Type B code where N=17280 bits and r=8 / 16. [Figure 38] FIG. 10 is a diagram showing an example of a check matrix initial value table for a Type B code where N=17280 bits and r=9 / 16. [Figure 39] FIG. 10 is a diagram showing an example of a check matrix initial value table for a Type B code where N=17280 bits and r=10 / 16. [Figure 40] FIG. 10 is a diagram showing an example of a parity check matrix initial value table for a Type B code where N=17280 bits and r=11 / 16. [Figure 41] FIG. 10 is a diagram showing an example of a check matrix initial value table for a Type B code where N=17280 bits and r=12 / 16. [Figure 42] FIG. 10 is a diagram showing an example of a check matrix initial value table for a Type B code where N=17280 bits and r=13 / 16. [Figure 43] FIG. 10 is a diagram showing an example of a check matrix initial value table for a Type B code where N=17280 bits and r=14 / 16. [Figure 44] FIG. 10 is a diagram illustrating an example of a Tanner graph of an ensemble of degree sequences with column weight 3 and row weight 6. [Figure 45] FIG. 10 is a diagram illustrating an example of a Tanner graph of a multi-edge type ensemble. [Figure 46] FIG. 10 is a diagram illustrating a parity check matrix of the Type A method. [Figure 47] FIG. 1 is a diagram illustrating a parity check matrix of the Type A method. [Figure 48] FIG. 10 is a diagram illustrating a parity check matrix of the Type B method. [Figure 49] FIG. 10 is a diagram illustrating a parity check matrix of the Type B method. [Figure 50] FIG. 10 is a diagram showing a check matrix initial value table for a new type-A code with N=17280 bits and r=4 / 16. [Figure 51] FIG. 10 is a diagram showing parameters of a check matrix H of a new type-A code with r=4 / 16. [Figure 52] FIG. 10 is a diagram showing a check matrix initial value table for a new type-B code with N=17280 bits and r=9 / 16. [Figure 53] FIG. 10 is a diagram showing parameters of a check matrix H of a new type-B code with r=9 / 16. [Figure 54] FIG. 10 is a diagram illustrating an example of coordinates of UC signal points when the modulation method is QPSK. [Figure 55] FIG. 10 is a diagram illustrating an example of the coordinates of signal points of a 2D-NUC when the modulation method is 16QAM. [Figure 56] FIG. 10 is a diagram illustrating an example of the coordinates of signal points of 1D-NUC when the modulation method is 1024QAM. [Figure 57] FIG. 10 is a diagram showing the relationship between a 1024QAM symbol y and a position vector u. [Figure 58] FIG. 10 is a diagram illustrating an example of coordinates zq of a signal point of QPSK-UC. [Figure 59] FIG. 10 is a diagram illustrating an example of coordinates zq of a signal point of QPSK-UC. [Figure 60] FIG. 10 is a diagram illustrating an example of coordinates zq of a 16QAM-UC signal point. [Figure 61] FIG. 10 is a diagram illustrating an example of coordinates zq of a 16QAM-UC signal point. [Figure 62] FIG. 10 is a diagram illustrating an example of coordinates zq of a 64QAM-UC signal point. [Figure 63] FIG. 10 is a diagram illustrating an example of coordinates zq of a 64QAM-UC signal point. [Figure 64] FIG. 10 is a diagram illustrating an example of coordinates zq of a signal point of 256QAM-UC. [Figure 65] FIG. 10 is a diagram illustrating an example of coordinates zq of a signal point of 256QAM-UC. [Figure 66] FIG. 10 is a diagram illustrating an example of coordinates zq of a 1024QAM-UC signal point. [Figure 67] FIG. 10 is a diagram illustrating an example of coordinates zq of a 1024QAM-UC signal point. [Figure 68] FIG. 10 is a diagram illustrating an example of coordinates zq of a 4096QAM-UC signal point. [Figure 69] FIG. 10 is a diagram illustrating an example of coordinates zq of a 4096QAM-UC signal point. [Figure 70] FIG. 10 is a diagram illustrating an example of coordinates zs of a signal point of 16QAM-2D-NUC. [Figure 71] FIG. 10 is a diagram illustrating an example of coordinates zs of a signal point of 64QAM-2D-NUC. [Figure 72] FIG. 10 is a diagram illustrating an example of the coordinates zs of a signal point of 256QAM-2D-NUC. [Figure 73] FIG. 10 is a diagram illustrating an example of the coordinates zs of a signal point of 256QAM-2D-NUC. [Figure 74] FIG. 10 is a diagram illustrating an example of the coordinates zs of a signal point of 1024QAM-1D-NUC. [Figure 75] FIG. 10 is a diagram showing the relationship between a 1024QAM symbol y and a position vector u. [Figure 76] FIG. 10 is a diagram illustrating an example of coordinates zs of a signal point of 4096QAM-1D-NUC. [Figure 77] FIG. 10 is a diagram showing the relationship between a 4096QAM symbol y and a position vector u. [Figure 78]FIG. 10 is a diagram showing the relationship between a 4096QAM symbol y and a position vector u. [Figure 79] FIG. 2 is a diagram illustrating block interleaving performed by the block interleaver 25. [Figure 80] FIG. 2 is a diagram illustrating block interleaving performed by the block interleaver 25. [Figure 81] FIG. 2 is a diagram illustrating group-wise interleaving performed by group-wise interleaver 24. [Figure 82] FIG. 10 is a diagram illustrating a first example of a GW pattern for an LDPC code having a code length N of 17280 bits. [Figure 83] FIG. 10 is a diagram illustrating a second example of a GW pattern for an LDPC code having a code length N of 17280 bits. [Figure 84] FIG. 10 is a diagram illustrating a third example of a GW pattern for an LDPC code having a code length N of 17280 bits. [Figure 85] FIG. 10 is a diagram illustrating a fourth example of a GW pattern for an LDPC code having a code length N of 17280 bits. [Figure 86] FIG. 10 is a diagram illustrating a fifth example of a GW pattern for an LDPC code having a code length N of 17280 bits. [Figure 87] FIG. 10 is a diagram illustrating a sixth example of a GW pattern for an LDPC code having a code length N of 17280 bits. [Figure 88] FIG. 10 is a diagram illustrating a seventh example of a GW pattern for an LDPC code having a code length N of 17280 bits. [Figure 89] FIG. 11 is a diagram illustrating an eighth example of a GW pattern for an LDPC code having a code length N of 17280 bits. [Figure 90] FIG. 13 is a diagram illustrating a ninth example of a GW pattern for an LDPC code having a code length N of 17280 bits. [Figure 91] FIG. 17 is a diagram illustrating a tenth example of a GW pattern for an LDPC code having a code length N of 17280 bits. [Figure 92] FIG. 11 is a diagram illustrating an eleventh example of a GW pattern for an LDPC code having a code length N of 17,280 bits. [Figure 93] FIG. 12 is a diagram illustrating a twelfth example of a GW pattern for an LDPC code having a code length N of 17280 bits. [Figure 94] FIG. 13 is a diagram illustrating a thirteenth example of a GW pattern for an LDPC code having a code length N of 17280 bits. [Figure 95] FIG. 14 is a diagram illustrating a fourteenth example of a GW pattern for an LDPC code having a code length N of 17280 bits. [Figure 96] FIG. 15 is a diagram illustrating a 15th example of a GW pattern for an LDPC code having a code length N of 17280 bits. [Figure 97] FIG. 16 is a diagram illustrating a sixteenth example of a GW pattern for an LDPC code having a code length N of 17,280 bits. [Figure 98] FIG. 17 is a diagram illustrating a seventeenth example of a GW pattern for an LDPC code having a code length N of 17,280 bits. [Figure 99] FIG. 18 is a diagram illustrating an 18th example of a GW pattern for an LDPC code having a code length N of 17,280 bits. [Figure 100] FIG. 19 is a diagram illustrating a 19th example of a GW pattern for an LDPC code having a code length N of 17,280 bits. [Figure 101] FIG. 13 is a diagram illustrating a twentieth example of a GW pattern for an LDPC code having a code length N of 17,280 bits. [Figure 102] FIG. 21 is a diagram illustrating a 21st example of a GW pattern for an LDPC code having a code length N of 17,280 bits. [Figure 103] FIG. 22 is a diagram illustrating a 22nd example of a GW pattern for an LDPC code having a code length N of 17280 bits. [Figure 104] FIG. 23 is a diagram illustrating a 23rd example of a GW pattern for an LDPC code having a code length N of 17280 bits. [Figure 105] FIG. 24 is a diagram illustrating a 24th example of a GW pattern for an LDPC code having a code length N of 17280 bits. [Figure 106] FIG. 25 is a diagram illustrating a 25th example of a GW pattern for an LDPC code having a code length N of 17280 bits. [Figure 107]FIG. 26 is a diagram illustrating a 26th example of a GW pattern for an LDPC code having a code length N of 17,280 bits. [Figure 108] FIG. 27 is a diagram illustrating a 27th example of a GW pattern for an LDPC code having a code length N of 17,280 bits. [Figure 109] FIG. 28 is a diagram illustrating a 28th example of a GW pattern for an LDPC code having a code length N of 17,280 bits. [Figure 110] FIG. 29 is a diagram illustrating a 29th example of a GW pattern for an LDPC code having a code length N of 17,280 bits. [Figure 111] FIG. 10 is a diagram illustrating a 30th example of a GW pattern for an LDPC code having a code length N of 17,280 bits. [Figure 112] FIG. 10 is a diagram illustrating a 31st example of a GW pattern for an LDPC code having a code length N of 17,280 bits. [Figure 113] FIG. 10 is a diagram illustrating a 32nd example of a GW pattern for an LDPC code having a code length N of 17280 bits. [Figure 114] FIG. 10 is a diagram illustrating a 33rd example of a GW pattern for an LDPC code having a code length N of 17,280 bits. [Figure 115] FIG. 10 is a diagram illustrating a 34th example of a GW pattern for an LDPC code having a code length N of 17,280 bits. [Figure 116] FIG. 10 is a diagram illustrating a 35th example of a GW pattern for an LDPC code having a code length N of 17,280 bits. [Figure 117] FIG. 10 is a diagram illustrating a 36th example of a GW pattern for an LDPC code having a code length N of 17,280 bits. [Figure 118] FIG. 10 is a diagram illustrating a 37th example of a GW pattern for an LDPC code having a code length N of 17,280 bits. [Figure 119] FIG. 10 is a diagram illustrating a 38th example of a GW pattern for an LDPC code having a code length N of 17,280 bits. [Figure 120] FIG. 10 is a diagram illustrating a 39th example of a GW pattern for an LDPC code having a code length N of 17,280 bits. [Figure 121]FIG. 10 is a diagram illustrating a 40th example of a GW pattern for an LDPC code having a code length N of 17,280 bits. [Figure 122] FIG. 41 is a diagram illustrating a 41st example of a GW pattern for an LDPC code having a code length N of 17,280 bits. [Figure 123] FIG. 42 is a diagram illustrating a 42nd example of a GW pattern for an LDPC code having a code length N of 17,280 bits. [Figure 124] FIG. 43 is a diagram illustrating a 43rd example of a GW pattern for an LDPC code having a code length N of 17280 bits. [Figure 125] FIG. 44 is a diagram illustrating a 44th example of a GW pattern for an LDPC code having a code length N of 17,280 bits. [Figure 126] FIG. 10 is a diagram illustrating a 45th example of a GW pattern for an LDPC code having a code length N of 17,280 bits. [Figure 127] FIG. 2 is a block diagram showing an example of the configuration of a receiving device 12. [Figure 128] FIG. 10 is a block diagram showing an example of the configuration of a bit deinterleaver 165. [Figure 129] 10 is a flowchart illustrating an example of processing performed by a demapper 164, a bit deinterleaver 165, and an LDPC decoder 166. [Figure 130] FIG. 1 is a diagram illustrating an example of a check matrix of an LDPC code. [Figure 131] FIG. 10 is a diagram showing an example of a matrix (transformed parity check matrix) obtained by performing row permutation and column permutation on a parity check matrix. [Figure 132] FIG. 10 is a diagram showing an example of a transformed check matrix divided into 5×5 units. [Figure 133] FIG. 10 is a block diagram showing an example of the configuration of a decoding device that performs P node operations at once. [Figure 134] FIG. 2 is a block diagram showing an example of the configuration of an LDPC decoder 166. [Figure 135] FIG. 10 is a diagram illustrating block deinterleaving performed by the block deinterleaver 54. [Figure 136] FIG. 10 is a block diagram showing another example configuration of the bit deinterleaver 165. [Figure 137] It is a block diagram showing a first configuration example of a reception system to which the reception device 12 can be applied. [Figure 138] It is a block diagram showing a second configuration example of a reception system to which the reception device 12 can be applied. [Figure 139] It is a block diagram showing a third configuration example of a reception system to which the reception device 12 can be applied. [Figure 140] It is a block diagram showing a configuration example of an embodiment of a computer to which the present technology is applied. **[Embodiments for Carrying Out the Invention]**

[0036] Hereinafter, embodiments of the present technology will be described. Before that, the LDPC code will be described.

[0037] <LDPC code>

[0038] Note that the LDPC code is a linear code and does not necessarily have to be binary, but here it will be described as being binary.

[0039] The LDPC code is characterized in that the parity check matrix defining the LDPC code is sparse. Here, a sparse matrix is a matrix in which the number of "1"s in the elements of the matrix is very small (a matrix in which most elements are 0).

[0040] FIG. 1 is a diagram showing an example of the parity check matrix H of the LDPC code.

[0041] In the parity check matrix H of FIG. 1, the weight (column weight) (number of "1"s) of each column is "3", and the weight (row weight) of each row is "6".

[0042] In encoding with the LDPC code (LDPC encoding), for example, a generator matrix G is generated based on the parity check matrix H, and this generator matrix G is multiplied by binary information bits to generate a codeword (LDPC code).

[0043] Specifically, the coding device that performs LDPC coding first generates a transposed matrix H of the check matrix H. T Between the equation GH T = 0. Here, if generator matrix G is a K × N matrix, the encoding device multiplies generator matrix G by a bit string (vector u) of K information bits to generate a codeword c (= uG) consisting of N bits. The codeword (LDPC code) generated by this encoding device is received at the receiving side via a predetermined communication channel.

[0044] Decoding of LDPC codes is an algorithm proposed by Gallager called Probabilistic Decoding, and can be performed by a message-passing algorithm using belief propagation on a Tanner graph consisting of variable nodes (also called message nodes) and check nodes. Hereinafter, variable nodes and check nodes will be referred to simply as nodes where appropriate.

[0045] FIG. 2 is a flowchart showing the procedure for decoding an LDPC code.

[0046] In the following, the real value (received LLR) that expresses the likelihood of the value being "0" of the i-th code bit of the LDPC code (one code word) received on the receiving side as a log likelihood ratio is referred to as the received value u 0i Also, the message output from the check node is called u j The message output from the variable node is v i Let's say.

[0047] First, in decoding an LDPC code, as shown in FIG. 2, in step S11, an LDPC code is received and a message (check node message) u jis initialized to "0", and a variable k that takes an integer and serves as a counter for repeated processing is initialized to "0", and the process proceeds to step S12. In step S12, the received value u obtained by receiving the LDPC code is 0i Based on this, the message (variable node message) v is generated by performing the calculation (variable node calculation) shown in Equation (1). i is required, and furthermore, this message v i Based on this, the message u is generated by performing the operation (check node operation) shown in equation (2). j is required.

[0048]

number

[0049]

number

[0050] Here, d in Equation (1) and Equation (2) v and d c are arbitrarily selectable parameters that indicate the number of "1"s in the vertical direction (columns) and horizontal direction (rows) of the check matrix H. For example, in the case of an LDPC code ((3,6) LDPC code) for a check matrix H with a column weight of 3 and a row weight of 6 as shown in FIG. 1, d v =3,d c =6.

[0051] In the variable node operation of formula (1) and the check node operation of formula (2), messages input from edges (lines connecting variable nodes and check nodes) that are about to output messages are not included in the operation, so the range of operation is from 1 to d. v -1 or 1 to d cThe check node operation of equation (2) is actually performed by creating a table of the function R(v1, v2) shown in equation (3), which is defined as one output for two inputs v1 and v2, in advance, and then using this table continuously (recursively) as shown in equation (4).

[0052]

number

[0053]

number

[0054] In step S12, the variable k is further incremented by "1", and the process proceeds to step S13. In step S13, it is determined whether the variable k is greater than a predetermined number of decoding iterations C. If it is determined in step S13 that the variable k is not greater than C, the process returns to step S12, and the same processes are repeated thereafter.

[0055] If it is determined in step S13 that the variable k is greater than C, the process proceeds to step S14, where the message v i is calculated and output, and the LDPC code decoding process is completed.

[0056]

number

[0057] Here, the operation of formula (5) differs from the variable node operation of formula (1) in that it receives messages u from all edges connected to the variable node. j This is done using

[0058] FIG. 3 is a diagram showing an example of a parity check matrix H of a (3,6) LDPC code (coding rate 1 / 2, code length 12).

[0059] In the parity check matrix H in FIG. 3, the column weight is 3 and the row weight is 6, similar to FIG.

[0060] FIG. 4 is a diagram showing a Tanner graph of the parity check matrix H of FIG.

[0061] Here, in Figure 4, check nodes are represented by plus signs "+" and variable nodes are represented by equal signs "=". Check nodes and variable nodes correspond to the rows and columns of the parity check matrix H, respectively. The connection between a check node and a variable node is an edge, which corresponds to the element "1" of the parity check matrix.

[0062] That is, when the element in the j-th row and i-th column of the parity check matrix is ​​1, in FIG. 4, the i-th variable node from the top (node ​​marked "=") and the j-th check node from the top (node ​​marked "+") are connected by a branch. The branch indicates that the code bit corresponding to the variable node has a constraint corresponding to the check node.

[0063] In a sum product algorithm, which is a decoding method for LDPC codes, variable node calculations and check node calculations are repeatedly performed.

[0064] FIG. 5 is a diagram showing variable node operations performed at the variable node.

[0065] At the variable node, the message v corresponding to the branch to be calculated is i is the message u1 and u2 from the remaining branches connected to the variable node, and the received value u 0i The messages corresponding to the other branches can be calculated in the same way.

[0066] FIG. 6 is a diagram illustrating check node operations performed at a check node.

[0067] Here, the check node operation of equation (2) can be rewritten as equation (6) using the relationship of the equation a×b=exp{ln(|a|)+ln(|b|)}×sign(a)×sign(b), where sign(x) is 1 when x≧0 and −1 when x<0.

[0068]

number

[0069] If we define the function φ(x) as φ(x)=ln(tanh(x / 2)) for x≧0, then the function φ -1 (x)=2tanh -1 (e -x ) holds, so equation (6) can be transformed into equation (7).

[0070]

number

[0071] At the check nodes, the check node operation of equation (2) is performed according to equation (7).

[0072] That is, at the check node, as shown in Figure 6, the message u corresponding to the branch to be calculated is j is calculated by the check node calculation of equation (7) using messages v1, v2, v3, v4, and v5 from the remaining edges connected to the check node. Messages corresponding to other edges can be calculated in the same way.

[0073] The function φ(x) in equation (7) is expressed as φ(x)=ln((e x +1) / (e x -1), and for x>0, φ(x)=φ -1 (x). The functions φ(x) and φ -1 When (x) is implemented in hardware, it may be implemented using an LUT (Look Up Table), but both will be the same LUT.

[0074] <Configuration example of a transmission system applying this technology>

[0075] FIG. 7 is a diagram showing an example of the configuration of an embodiment of a transmission system to which the present technology is applied (a system refers to a logical collection of multiple devices, and it does not matter whether the devices are located in the same housing or not).

[0076] In FIG. 7, the transmission system is made up of a transmitting device 11 and a receiving device 12.

[0077] The transmitting device 11 transmits (broadcasts) (transmits), for example, television broadcast programs, etc. That is, the transmitting device 11 encodes target data to be transmitted, such as image data or audio data as a program, into an LDPC code, and transmits the encoded data via a communication path 13, such as a satellite line, terrestrial wave, or cable (wired line).

[0078] The receiving device 12 receives the LDPC code transmitted from the transmitting device 11 via the communication path 13, decodes it into target data, and outputs it.

[0079] Here, the LDPC code used in the transmission system of FIG. 7 is known to exhibit extremely high performance in an AWGN (Additive White Gaussian Noise) communication channel.

[0080] On the other hand, burst errors and erasures may occur in the communication path 13. For example, in an OFDM (Orthogonal Frequency Division Multiplexing) system, particularly when the communication path 13 is a terrestrial wave, in a multipath environment where the D / U (Desired to Undesired Ratio) is 0 dB (Undesired = echo power is equal to Desired = main path power), the power of a specific symbol may become 0 (erasure) depending on the delay of the echo (path other than the main path).

[0081] Furthermore, even in a flutter channel (a channel with zero delay and an echo with a Doppler frequency added), if the D / U is 0 dB, the Doppler frequency can cause the power of the entire OFDM symbol at a specific time to become 0 (erasure).

[0082] Furthermore, burst errors may occur due to the condition of the wiring from the receiving unit (not shown) such as an antenna that receives signals from the transmitting device 11 to the receiving device 12, or due to instability in the power supply of the receiving device 12.

[0083] On the other hand, in decoding the LDPC code, the columns of the check matrix H, and in turn, the variable nodes corresponding to the code bits of the LDPC code, are used to decode the received values ​​u 0i Since the variable node operation of equation (1) involves the addition of (a) and (b), if an error occurs in the sign bit used in the variable node operation, the accuracy of the message obtained will decrease.

[0084] In decoding an LDPC code, the check node calculation of equation (7) is performed at a check node using a message obtained at a variable node connected to that check node. Therefore, if there are a large number of check nodes where multiple connected variable nodes (corresponding code bits of the LDPC code) simultaneously have errors (including erasures), the decoding performance will deteriorate.

[0085] That is, for example, when two or more variable nodes connected to the check node are simultaneously erased, a check node returns to all variable nodes a message with an equal probability that the value is 0 and that the value is 1. In this case, the check node that returns a message with equal probability does not contribute to one decoding process (one set of variable node calculation and check node calculation), and as a result, the decoding process needs to be repeated many times, degrading the decoding performance and further increasing the power consumption of the receiving device 12 that decodes the LDPC code.

[0086] Therefore, the transmission system of FIG. 7 can improve the tolerance to burst errors and erasures while maintaining the performance in an AWGN communication path (AWGN channel).

[0087] <Configuration example of transmitter 11>

[0088] FIG. 8 is a block diagram showing an example of the configuration of the transmitting device 11 of FIG.

[0089] In the transmitting device 11, one or more input streams as target data are supplied to a mode adaptation / multiplexer 111.

[0090] The mode adaptation / multiplexer 111 performs processing such as mode selection and multiplexing of one or more input streams supplied thereto as necessary, and supplies the resulting data to a padder 112 .

[0091] The padder 112 performs necessary zero padding (insertion of nulls) on the data from the mode adaptation / multiplexer 111 and supplies the resulting data to a BB scrambler 113 .

[0092] The BB scrambler 113 performs BB scrambling (Base-Band Scrambling) on ​​the data from the padder 112 and supplies the resulting data to a BCH encoder 114 .

[0093] The BCH encoder 114 performs BCH encoding on the data from the BB scrambler 113, and supplies the resulting data to an LDPC encoder 115 as LDPC target data that is to be LDPC encoded.

[0094] The LDPC encoder 115 (encoding unit) performs LDPC encoding on the LDPC target data from the BCH encoder 114, for example, according to a check matrix in which the parity matrix, which is the part corresponding to the parity bits of the LDPC code, has a staircase (dual diagonal) structure, and outputs an LDPC code in which the LDPC target data is information bits.

[0095] That is, the LDPC encoder 115 performs LDPC encoding on the LDPC target data to encode the LDPC target data into an LDPC code (corresponding to a check matrix) specified in a predetermined standard such as DVB-S.2, DVB-T.2, DVB-C.2, or ATSC3.0, or another LDPC code, and outputs the resulting LDPC code.

[0096] Here, the LDPC code specified in the DVB-S.2 and ATSC3.0 standards is an IRA (Irregular Repeat Accumulate) code, and the parity matrix (part or all) in the check matrix of the LDPC code has a staircase structure. The parity matrix and the staircase structure will be described later. The IRA code is described, for example, in "Irregular Repeat-Accumulate Codes," by H. Jin, A. Khandekar, and RJ McEliece, in Proceedings of the 2nd International Symposium on Turbo Codes and Related Topics, pp. 1-8, September 2000.

[0097] The LDPC code output by the LDPC encoder 115 is supplied to a bit interleaver 116 .

[0098] The bit interleaver 116 performs bit interleaving, which will be described later, on the LDPC code from the LDPC encoder 115 and supplies the bit-interleaved LDPC code to a mapper 117 .

[0099] The mapper 117 performs quadrature modulation (multi-level modulation) by mapping the LDPC code from the bit interleaver 116 to a signal point representing one symbol of quadrature modulation in units of one or more code bits (symbol units) of the LDPC code.

[0100] That is, the mapper 117 performs orthogonal modulation by mapping the LDPC code from the bit interleaver 116 to a signal point determined by a modulation method for orthogonally modulating the LDPC code on a constellation, which is an IQ plane defined by an I axis representing an I component that is in-phase with the carrier wave and a Q axis representing a Q component that is orthogonal to the carrier wave.

[0101] The number of signal points of the constellation used in the modulation method of the quadrature modulation performed by the mapper 117 is 2m In this case, the m-bit code bits of the LDPC code are treated as a symbol (1 symbol), and the mapper 117 divides the LDPC code from the bit interleaver 116 into 2 symbols. m are mapped to signal points representing symbols among the signal points.

[0102] Here, the modulation method of the quadrature modulation performed by the mapper 117 includes, for example, modulation methods defined in the DVB-S.2 and ATSC3.0 standards, and other modulation methods, that is, for example, BPSK (Binary Phase Shift Keying), QPSK (Quadrature Phase Shift Keying), 8PSK (Phase-Shift Keying), 16APSK (Amplitude Phase-Shift Keying), 32APSK, 16QAM (Quadrature Amplitude Modulation), 16QAM, 64QAM, 256QAM, 1024QAM, 4096QAM, 4PAM (Pulse Amplitude Modulation), etc. Which modulation method is used for quadrature modulation in the mapper 117 is set in advance, for example, according to an operation by an operator of the transmission device 11.

[0103] The data obtained by the processing in the mapper 117 (the mapping result of mapping symbols to signal points) is supplied to a time interleaver 118 .

[0104] The time interleaver 118 performs time interleaving (interleaving in the time direction) on a symbol-by-symbol basis on the data from the mapper 117, and supplies the resulting data to a SISO / MISO (Single Input Single Output / Multiple Input Single Output) encoder 119.

[0105] The SISO / MISO encoder 119 performs space-time coding on the data from the time interleaver 118 and supplies the data to a frequency interleaver 120 .

[0106] The frequency interleaver 120 performs frequency interleaving (interleaving in the frequency direction) on the data from the SISO / MISO encoder 119 in units of symbols, and supplies the data to a frame builder & resource allocation unit (Frame Builder & Resource Allocation) 131 .

[0107] On the other hand, the BCH encoder 121 is supplied with control data (signalling) for transmission control, such as BB signaling (Base Band Signaling) (BB Header).

[0108] The BCH encoder 121 BCH-encodes the control data supplied thereto in the same manner as the BCH encoder 114 , and supplies the resulting data to the LDPC encoder 122 .

[0109] The LDPC encoder 122 LDPC-encodes the data from the BCH encoder 121 as LDPC target data in the same manner as the LDPC encoder 115 , and supplies the resulting LDPC code to the mapper 123 .

[0110] Similar to the mapper 117, the mapper 123 performs orthogonal modulation by mapping the LDPC code from the LDPC encoder 122 to a signal point representing one symbol of orthogonal modulation in units of one or more code bits (symbol units) of the LDPC code, and supplies the resulting data to the frequency interleaver 124.

[0111] Similar to the frequency interleaver 120 , the frequency interleaver 124 performs frequency interleaving on the data from the mapper 123 in units of symbols, and supplies the data to a frame builder / resource allocation unit 131 .

[0112] The frame builder / resource allocation unit 131 inserts pilot symbols into required positions in the data (symbols) from the frequency interleavers 120 and 124, and constructs a frame (e.g., a PL (Physical Layer) frame, a T2 frame, a C2 frame, etc.) consisting of a predetermined number of symbols from the resulting data (symbols), and supplies it to an OFDM generation unit (OFDM generation) 132.

[0113] The OFDM generating unit 132 generates an OFDM signal corresponding to the frame from the frame supplied from the frame builder / resource allocating unit 131, and transmits the signal via the communication path 13 (FIG. 7).

[0114] The transmitting device 11 can be configured without some of the blocks shown in FIG. 8, such as the time interleaver 118, the SISO / MISO encoder 119, the frequency interleaver 120, and the frequency interleaver 124.

[0115] <Configuration example of bit interleaver 116>

[0116] FIG. 9 is a block diagram showing an example of the configuration of the bit interleaver 116 in FIG.

[0117] The bit interleaver 116 has a function of interleaving data, and is made up of a parity interleaver 23 , a group-wise interleaver 24 , and a block interleaver 25 .

[0118] The parity interleaver 23 performs parity interleaving to interleave the parity bits of the LDPC code from the LDPC encoder 115 at the positions of other parity bits, and supplies the LDPC code after the parity interleaving to the group-wise interleaver 24.

[0119] The group-wise interleaver 24 performs group-wise interleaving on the LDPC code from the parity interleaver 23, and supplies the LDPC code after the group-wise interleaving to the block interleaver 25.

[0120] Here, in the group-wise interleaving, the LDPC code for one code is divided into 360-bit units equal to the parallel factor P described later from the beginning, and the 360 bits of one division are used as a bit group, and the LDPC code from the parity interleaver 23 is interleaved in units of bit groups.

[0121] When performing group-wise interleaving, the error rate can be improved compared to the case where group-wise interleaving is not performed. As a result, good communication quality can be ensured in data transmission.

[0122] The block interleaver 25 performs block interleaving for demultiplexing the LDPC code from the group-wise interleaver 24. For example, the LDPC code for one code is symbolized into m-bit symbols, which are the units of mapping, and supplied to the mapper 117 (FIG. 8).

[0123] Here, in the block interleaving, for example, columns as storage areas for storing a predetermined number of bits in the column (vertical) direction are arranged in the row (horizontal) direction in a storage area where the number equal to the number of bits m of the symbol is arranged, and the LDPC code from the group-wise interleaver 24 is written in the column direction and read in the row direction, so that the LDPC code is symbolized into m-bit symbols.

[0124] <Check matrix of LDPC code>

[0125] FIG. 10 is a diagram showing an example of the check matrix H used for LDPC encoding in the LDPC encoder 115 of FIG. 8.

[0126] The check matrix H has an LDGM (Low-Density Generation Matrix) structure, and the information matrix H of the part of the code bits of the LDPC code corresponding to the information bits is A and the parity matrix H corresponding to the parity bits T Therefore, the formula H=[H A |H T ](information matrix H A The elements of are the left elements, and the parity matrix H T The right-hand element of the matrix is ​​the element of

[0127] Here, the number of information bits and the number of parity bits among the code bits of one LDPC code (one code word) are called the information length K and the parity length M, respectively, and the number of code bits of one LDPC code (one code word) is called the code length N (= K + M).

[0128] The information length K and parity length M for an LDPC code with a certain code length N are determined by the coding rate. The check matrix H is an M×N matrix (a matrix with M rows and N columns). A is an M×K matrix, and the parity matrix H T is an M×M matrix.

[0129] FIG. 11 shows the parity matrix H of the check matrix H used for LDPC encoding in the LDPC encoder 115 of FIG. T FIG.

[0130] The parity matrix H of the check matrix H used for LDPC encoding in the LDPC encoder 115 T For example, a parity matrix H similar to the check matrix H of the LDPC code specified in standards such as DVB-T.2 is used. T can be adopted.

[0131] Parity matrix H of the check matrix H of the LDPC code specified in standards such as DVB-T.2 TAs shown in Figure 11, the parity matrix H is a lower bidiagonal matrix in which the elements of 1 are arranged in a staircase pattern. T The row weight is 1 for the first row and 2 for all remaining rows. The column weight is 1 for the last column and 2 for all remaining columns.

[0132] As mentioned above, the parity matrix H T An LDPC code for a check matrix H having a staircase structure can be easily generated using the check matrix H.

[0133] That is, the LDPC code (one code word) is represented by a row vector c, and the column vector obtained by transposing the row vector is c T In addition, the information bit portion of row vector c, which is an LDPC code, is represented by row vector A, and the parity bit portion is represented by row vector T.

[0134] In this case, row vector c can be expressed as c = [A|T] (a row vector with elements of row vector A as the left elements and elements of row vector T as the right elements) using row vector A as the information bits and row vector T as the parity bits.

[0135] The check matrix H and the row vector c=[A|T] as the LDPC code are expressed by the formula Hc T = 0, and the formula Hc T = 0, the row vector T as the parity bit that constitutes the row vector c=[A|T] is the check matrix H=[H A |H T ]'s parity matrix H T When the step structure shown in Figure 11 is formed, the formula Hc T =0 column vector Hc T It can be calculated sequentially (in order) by setting the elements of each row to 0, starting from the first row.

[0136] FIG. 12 is a diagram illustrating a check matrix H of an LDPC code defined in standards such as DVB-T.2.

[0137] The first KX columns of the check matrix H of an LDPC code specified in standards such as DVB-T.2 have a column weight of X, the next K3 columns have a column weight of 3, the next M-1 columns have a column weight of 2, and the last column has a column weight of 1.

[0138] Here, KX+K3+M-1+1 is equal to the code length N.

[0139] FIG. 13 is a diagram showing the numbers of columns KX, K3, and M, and the column weight X for each coding rate r of the LDPC code defined in standards such as DVB-T.2.

[0140] Standards such as DVB-T.2 prescribe LDPC codes with code lengths N of 64,800 bits and 16,200 bits.

[0141] For an LDPC code with a code length N of 64,800 bits, eleven coding rates (nominal rates) 1 / 4, 1 / 3, 2 / 5, 1 / 2, 3 / 5, 2 / 3, 3 / 4, 4 / 5, 5 / 6, 8 / 9, and 9 / 10 are specified, and for an LDPC code with a code length N of 16,200 bits, ten coding rates 1 / 4, 1 / 3, 2 / 5, 1 / 2, 3 / 5, 2 / 3, 3 / 4, 4 / 5, 5 / 6, and 8 / 9 are specified.

[0142] Hereinafter, a code length N of 64,800 bits will also be referred to as 64 kbits, and a code length N of 16,200 bits will also be referred to as 16 kbits.

[0143] In an LDPC code, the code bits corresponding to columns with larger column weights in the parity check matrix H tend to have lower error rates.

[0144] In the check matrix H specified in standards such as DVB-T.2 shown in Figures 12 and 13, the column weight tends to be larger as it approaches the beginning (left side). Therefore, for the LDPC code corresponding to the check matrix H, the code bits at the beginning tend to be more resistant to errors (more resistant to errors), and the code bits at the end tend to be more susceptible to errors.

[0145] <Parity interleave>

[0146] Parity interleaving by the parity interleaver 23 of FIG. 9 will be described with reference to FIGS.

[0147] FIG. 14 is a diagram showing an example of (a part of) a Tanner graph of a parity check matrix of an LDPC code.

[0148] As shown in Fig. 14, when two or more of the variable nodes (corresponding code bits) connected to the check node simultaneously become erasure or other errors, the check node returns a message to all variable nodes connected to the check node, with the probability that the value is 0 and the probability that the value is 1 being equal. For this reason, when multiple variable nodes connected to the same check node simultaneously become erasure or other errors, decoding performance deteriorates.

[0149] Incidentally, the LDPC code output by the LDPC encoder 115 in FIG. 8 is an IRA code, similar to the LDPC code defined in the standards such as DVB-T.2, and the parity matrix H of the check matrix H is T As shown in Figure 11, the structure is a staircase.

[0150] Figure 15 shows the parity matrix H T and its parity matrix H T FIG. 1 is a diagram illustrating an example of a Tanner graph corresponding to

[0151] A in Figure 15 shows the parity matrix H T15A shows an example of the parity matrix H T The Tanner graph corresponding to

[0152] The parity matrix H has a staircase structure T In each row, elements with a value of 1 are adjacent (except the first row). Therefore, the parity matrix H T In the Tanner graph of T Two adjacent variable nodes corresponding to a column of two adjacent elements where the value of is 1 are connected to the same check node.

[0153] Therefore, when parity bits corresponding to the two adjacent variable nodes described above become erroneous at the same time due to a burst error, erasure, or the like, the check nodes connected to the two variable nodes corresponding to the two erroneous parity bits (variable nodes that use the parity bits to find a message) return messages with equal probabilities of being 0 and 1 to the variable nodes connected to those check nodes, degrading decoding performance.As the burst length (the number of consecutive erroneous parity bits) increases, the number of check nodes that return messages with equal probabilities increases, further degrading decoding performance.

[0154] Therefore, in order to prevent the above-mentioned degradation of decoding performance, the parity interleaver 23 (FIG. 9) performs parity interleaving, which interleaves the parity bits of the LDPC code from the LDPC encoder 115 at the positions of other parity bits.

[0155] FIG. 16 shows the parity matrix H of the check matrix H corresponding to the LDPC code after parity interleaving performed by the parity interleaver 23 in FIG. T FIG.

[0156] Here, the information matrix H of the check matrix H corresponding to the LDPC code output by the LDPC encoder 115 is Ahas a cyclic structure, similar to the information matrix of the check matrix H corresponding to the LDPC code defined in standards such as DVB-T.2.

[0157] A cyclic structure is a structure in which a column is the same as a cyclic shift of another column, and includes, for example, a structure in which the position of 1 in each row of each P column is cyclically shifted in the column direction by a predetermined value, such as a value proportional to the value q obtained by dividing the first column of each P column by the parity length M. Hereinafter, the P columns in a cyclic structure will be referred to as a parallel factor as appropriate.

[0158] As described with reference to FIGS. 12 and 13, there are two types of LDPC codes defined in standards such as DVB-T.2, with code lengths N of 64,800 bits and 16,200 bits, and for both of these two types of LDPC codes, the parallel factor P is defined as 360, which is one of the divisors of the parity length M excluding 1 and M.

[0159] Furthermore, the parity length M is a value other than a prime number expressed by the equation M = q × P = q × 360, with the value q varying depending on the coding rate. Therefore, like the parallel factor P, the value q is one of the divisors of the parity length M other than 1 and M, and is obtained by dividing the parity length M by the parallel factor P (the product of P and q, which are divisors of the parity length M, is the parity length M).

[0160] As described above, the parity interleaver 23 interleaves the K+qx+y+1-th code bit of the code bits of the N-bit LDPC code to the K+Py+x+1-th code bit position, where K is the information length, x is an integer greater than or equal to 0 and less than P, and y is an integer greater than or equal to 0 and less than q, as parity interleaving.

[0161] The K+qx+y+1th code bit and the K+Py+x+1th code bit are both parity bits since they are code bits after the K+1th bit. Therefore, according to parity interleaving, the position of the parity bit of the LDPC code is moved.

[0162] With such parity interleaving, variable nodes (corresponding parity bits) connected to the same check node are spaced apart by the parallel factor P, i.e., 360 bits in this case. Therefore, if the burst length is less than 360 bits, it is possible to avoid a situation in which multiple variable nodes connected to the same check node experience an error at the same time, thereby improving resistance to burst errors.

[0163] The LDPC code after parity interleaving, in which the K+qx+y+1-th code bit is interleaved at the K+Py+x+1-th code bit position, matches the LDPC code of the check matrix (hereinafter also referred to as the transformed check matrix) obtained by performing column permutation, in which the K+qx+y+1-th column of the original check matrix H is replaced with the K+Py+x+1-th column.

[0164] Furthermore, as shown in FIG. 16, a quasi-cyclic structure appears in the parity matrix of the converted parity check matrix, with P columns (360 columns in FIG. 16) as a unit.

[0165] Here, the pseudo-cyclic structure means a structure in which all but a part are cyclic structures.

[0166] The transformed check matrix obtained by performing column permutation equivalent to parity interleaving on the check matrix of an LDPC code specified in standards such as DVB-T.2 has a 360 row x 360 column part in the upper right corner of the transformed check matrix (the shift matrix described below) that is missing one element of 1 (it becomes an element of 0), and in that respect it is not a (complete) cyclic structure, but rather a quasi-cyclic structure.

[0167] The conversion check matrix for the check matrix of the LDPC code output by the LDPC encoder 115 has a quasi-cyclic structure, similar to the conversion check matrix for the check matrix of the LDPC code defined in standards such as DVB-T.2.

[0168] The transformed check matrix in Figure 16 is a matrix in which, in addition to column permutation equivalent to parity interleaving, row permutation (row permutation) has also been performed on the original check matrix H so that the transformed check matrix is ​​composed of the constituent matrices described below.

[0169] FIG. 17 is a flowchart illustrating the processing performed by the LDPC encoder 115, the bit interleaver 116, and the mapper 117 in FIG.

[0170] The LDPC encoder 115 waits for the LDPC target data to be supplied from the BCH encoder 114, and in step S101 encodes the LDPC target data into an LDPC code based on the check matrix, supplies the LDPC code to the bit interleaver 116, and the process proceeds to step S102.

[0171] In step S102, the bit interleaver 116 performs bit interleaving on the LDPC code from the LDPC encoder 115, and supplies the symbols obtained by the bit interleaving to the mapper 117, after which the process proceeds to step S103.

[0172] That is, in step S102, in the bit interleaver 116 (FIG. 9), the parity interleaver 23 performs parity interleaving on the LDPC code from the LDPC encoder 115, and supplies the parity-interleaved LDPC code to the group-wise interleaver 24.

[0173] The group-wise interleaver 24 performs group-wise interleaving on the LDPC code from the parity interleaver 23 and supplies the result to the block interleaver 25 .

[0174] The block interleaver 25 performs block interleaving on the LDPC code after group-wise interleaving by the group-wise interleaver 24 , and supplies the resulting m-bit symbol to the mapper 117 .

[0175] In step S103, the mapper 117 converts the symbols from the block interleaver 25 into two symbols determined by the modulation method of the quadrature modulation performed by the mapper 117. m signal points and orthogonally modulated, and the resulting data is supplied to a time interleaver 118.

[0176] As described above, by performing parity interleaving or group-wise interleaving, it is possible to improve the error rate when multiple code bits of an LDPC code are transmitted as one symbol.

[0177] Here, in Figure 9, for the sake of convenience of explanation, the parity interleaver 23, which is a block that performs parity interleaving, and the group-wise interleaver 24, which is a block that performs group-wise interleaving, are configured separately, but the parity interleaver 23 and the group-wise interleaver 24 can be configured as an integrated unit.

[0178] In other words, both parity interleaving and group-wise interleaving can be performed by writing and reading code bits to memory, and can be represented by a matrix that converts the address at which the code bits are written (write address) into the address at which the code bits are read (read address).

[0179] Therefore, if a matrix obtained by multiplying a matrix representing a parity interleaving and a matrix representing a group-wise interleaving is obtained, by those matrices, by converting the code bits, parity interleaving can be performed, and further, a result of group-wise interleaving the LDPC code after the parity interleaving can be obtained.

[0180] In addition to the parity interleaver 23 and the group-wise interleaver 24, the block interleaver 25 can also be integrally configured.

[0181] That is, the block interleaving performed by the block interleaver 25 can also be represented by a matrix that converts the write address of the memory storing the LDPC code into the read address.

[0182] Therefore, if a matrix obtained by multiplying a matrix representing a parity interleaving, a matrix representing a group-wise interleaving, and a matrix representing a block interleaving is obtained, by those matrices, parity interleaving, group-wise interleaving, and block interleaving can be performed collectively.

[0183] Note that one or both of the parity interleaving and the group-wise interleaving can be not performed.

[0184] <Configuration example of LDPC encoder 115>

[0185] FIG. 18 is a block diagram showing a configuration example of the LDPC encoder 115 of FIG. 8.

[0186] Note that the LDPC encoder 122 of FIG. 8 is also configured in the same manner.

[0187] As described in FIGS. 12 and 13, in standards such as DVB-T.2, LDPC codes with two code lengths N of 64800 bits and 16200 bits are defined.

[0188] For an LDPC code with a code length N of 64,800 bits, eleven coding rates are specified: 1 / 4, 1 / 3, 2 / 5, 1 / 2, 3 / 5, 2 / 3, 3 / 4, 4 / 5, 5 / 6, 8 / 9, and 9 / 10, and for an LDPC code with a code length N of 16,200 bits, ten coding rates are specified: 1 / 4, 1 / 3, 2 / 5, 1 / 2, 3 / 5, 2 / 3, 3 / 4, 4 / 5, 5 / 6, and 8 / 9 (Figures 12 and 13).

[0189] The LDPC encoder 115 can perform, for example, encoding (error correction encoding) using an LDPC code with a code length N of 64,800 bits or 16,200 bits and each coding rate, based on a check matrix H prepared for each code length N and each coding rate.

[0190] Furthermore, the LDPC encoder 115 can perform LDPC encoding based on a check matrix H of an LDPC code having a code length N of 17280 bits or any other arbitrary code length N and a coding rate r of 2 / 16, 3 / 16, 4 / 16, 5 / 16, 6 / 16, 7 / 16, 8 / 16, 9 / 16, 10 / 16, 11 / 16, 12 / 16, 13 / 16, 14 / 16 or any other arbitrary coding rate r.

[0191] The LDPC encoder 115 is made up of an encoding processing unit 601 and a storage unit 602 .

[0192] The encoding processing unit 601 is composed of a coding rate setting unit 611, an initial value table reading unit 612, a check matrix generation unit 613, an information bit reading unit 614, an encoding parity calculation unit 615, and a control unit 616, and performs LDPC encoding of the LDPC target data supplied to the LDPC encoder 115, and supplies the resulting LDPC code to the bit interleaver 116 (FIG. 8).

[0193] That is, the coding rate setting unit 611 sets the code length N and coding rate r of the LDPC code, and other specific information that identifies the LDPC code, in response to, for example, an operation by an operator.

[0194] The initial value table reading unit 612 reads from the storage unit 602 a check matrix initial value table, which will be described later, that indicates the check matrix of the LDPC code specified by the specification information set by the coding rate setting unit 611 .

[0195] The check matrix generation unit 613 generates a check matrix H based on the check matrix initial value table read by the initial value table reading unit 612, and stores the generated check matrix H in the storage unit 602. For example, the check matrix generation unit 613 generates an information matrix H corresponding to an information length K (=code length N-parity length M) according to the code length N and coding rate r set by the coding rate setting unit 611. A The elements of 1 are arranged in the column direction at a period of 360 columns (parallel factor P) to generate a check matrix H, which is stored in the storage unit 602.

[0196] The information bit reading unit 614 reads (extracts) information bits of an information length K from the LDPC target data supplied to the LDPC encoder 115.

[0197] The encoding parity calculation unit 615 reads out the check matrix H generated by the check matrix generation unit 613 from the memory unit 602, and uses the check matrix H to calculate parity bits for the information bits read out by the information bit reading unit 614 based on a predetermined formula, thereby generating a codeword (LDPC code).

[0198] The control unit 616 controls each block that constitutes the encoding processing unit 601 .

[0199] The storage unit 602 stores a plurality of check matrix initial value tables corresponding to a plurality of coding rates shown in Fig. 12 and Fig. 13 for each code length N of 64800 bits, 16200 bits, etc., a check matrix initial value table corresponding to each coding rate of 2 / 16, 3 / 16, 4 / 16, 5 / 16, 6 / 16, 7 / 16, 8 / 16, 9 / 16, 10 / 16, 11 / 16, 12 / 16, 13 / 16, 14 / 16 for a code length N of 17280 bits, and other check matrix initial value tables of the check matrix H of the LDPC code of any code length N and any coding rate r.In addition, the storage unit 602 temporarily stores data required for the processing of the encoding processing unit 601.

[0200] FIG. 19 is a flowchart illustrating an example of processing by the LDPC encoder 115 of FIG.

[0201] In step S201, the coding rate setting unit 611 sets the code length N and coding rate r for LDPC coding, as well as other specific information for specifying the LDPC code.

[0202] In step S202, the initial value table reading unit 612 reads from the storage unit 602 a predetermined check matrix initial value table that is specified by the code length N, the coding rate r, and the like, as the specific information set by the coding rate setting unit 611.

[0203] In step S203, the check matrix generation unit 613 uses the check matrix initial value table read out from the storage unit 602 by the initial value table reading unit 612 to determine (generate) the check matrix H of the LDPC code having the code length N and coding rate r set by the coding rate setting unit 611, and supplies it to the storage unit 602 for storage.

[0204] In step S204, the information bit reading unit 614 reads out information bits of an information length K (=N×r) corresponding to the code length N and coding rate r set by the coding rate setting unit 611 from the LDPC target data supplied to the LDPC encoder 115, and also reads out the check matrix H calculated by the check matrix generation unit 613 from the storage unit 602 and supplies it to the encoding parity calculation unit 615.

[0205] In step S205, the coded parity calculation unit 615 uses the information bits from the information bit reading unit 614 and the check matrix H to sequentially calculate parity bits of the codeword c that satisfy equation (8).

[0206] Hc T =0 ···(8)

[0207] In equation (8), c represents a row vector as a codeword (LDPC code), and c T represents the transpose of the row vector c.

[0208] Here, as described above, in the row vector c as an LDPC code (one code word), when the information bit portion is represented by row vector A and the parity bit portion is represented by row vector T, the row vector c can be expressed by the formula c = [A|T] using the row vector A as the information bit and the row vector T as the parity bit.

[0209] The check matrix H and the row vector c=[A|T] as the LDPC code are expressed by the formula Hc T = 0, and the formula Hc T = 0, the row vector T as the parity bit that constitutes the row vector c=[A|T] is the check matrix H=[H A |H T ]'s parity matrix H T When the step structure shown in Figure 11 is formed, the formula Hc T =0 column vector Hc TIt can be calculated sequentially by setting the elements of each row to 0, starting from the elements of the first row.

[0210] The encoding parity calculation unit 615 calculates a parity bit T for the information bit A from the information bit reading unit 614, and outputs the code word c = [A|T] represented by the information bit A and the parity bit T as the LDPC encoding result of the information bit A.

[0211] Thereafter, in step S206, the control unit 616 determines whether or not to end the LDPC encoding. If it is determined in step S206 that the LDPC encoding should not be ended, that is, for example, if there is still LDPC target data to be LDPC encoded, the process returns to step S201 (or step S204), and the processes of steps S201 (or step S204) to S206 are repeated.

[0212] Also, if it is determined in step S206 that the LDPC encoding is to be ended, that is, for example, if there is no LDPC target data to be LDPC encoded, the LDPC encoder 115 ends the process.

[0213] A check matrix initial value table (representing a check matrix) for LDPC codes with various code lengths N and coding rates r can be prepared in advance for the LDPC encoder 115. The LDPC encoder 115 can perform LDPC encoding into LDPC codes with various code lengths N and coding rates r by using a check matrix H generated from the check matrix initial value table prepared in advance.

[0214] <Example of a check matrix initial value table>

[0215] The check matrix initial value table is, for example, an information matrix H corresponding to an information length K according to the code length N and coding rate r of the LDPC code (LDPC code defined by the check matrix H) of the check matrix H. A10 for each of 360 columns (parallel factor P), and is created in advance for each check matrix H for each code length N and each coding rate r.

[0216] That is, the check matrix initial value table includes at least the information matrix H A The position of the 1 element is represented for each of the 360 ​​columns (parallel factor P).

[0217] In addition, the check matrix H contains a parity matrix H T All of the check matrices have a staircase structure, and the parity matrix H T There is a check matrix in which a part of it has a staircase structure and the remaining part is a diagonal matrix (identity matrix).

[0218] Below, the parity matrix H T The representation method of the parity check matrix initial value table, which represents a parity check matrix in which a part of the matrix has a staircase structure and the remaining part is a diagonal matrix, is also called the Type A method. T The representation method of the check matrix initial value table representing the check matrix in which all of the check matrices have a staircase structure is also called Type B method.

[0219] An LDPC code for a parity check matrix indicated by a parity check matrix initial value table of the Type A system is also called a Type A code, and an LDPC code for a parity check matrix indicated by a parity check matrix initial value table of the Type B system is also called a Type B code.

[0220] The designations "Type A" and "Type B" are based on the ATSC 3.0 standard. For example, ATSC 3.0 uses both Type A and Type B codes.

[0221] In addition, DVB-T.2 and the like use Type B coding.

[0222] FIG. 20 is a diagram showing an example of a parity check matrix initial value table of the Type B method.

[0223] That is, Figure 20 shows a check matrix initial value table (representing the check matrix H) for a Type B code (defined in the DVB-T.2 standard) with a code length N of 16,200 bits and a coding rate (the notational coding rate in DVB-T.2) r of 1 / 4.

[0224] The check matrix generation unit 613 (FIG. 18) uses the check matrix initial value table of the Type B method to obtain the check matrix H as follows.

[0225] FIG. 21 is a diagram for explaining a method for obtaining a check matrix H from a check matrix initial value table of the Type B method.

[0226] That is, FIG. 21 shows a check matrix initial value table for a Type B code with a code length N of 16200 bits and a coding rate r of 2 / 3, as defined in the DVB-T.2 standard.

[0227] The check matrix initial value table of the Type B method is an information matrix H corresponding to the information length K according to the code length N and the coding rate r of the LDPC code. A It is a table that represents the positions of all elements of 1 in each of 360 columns (parallel factor P), and in the i-th row, the row numbers of elements of 1 in the 1+360×(i-1)th column of the check matrix H (row numbers where the row number of the first row of the check matrix H is 0) are arranged in the same order as the column weight of the 1+360×(i-1)th column.

[0228] Here, the parity matrix H corresponding to the parity length M of the check matrix H of the Type B system is T Since (Fig. 10) is determined to have a staircase structure as shown in Fig. 15, the information matrix H corresponding to the information length K is calculated using the check matrix initial value table. A If (FIG. 10) can be obtained, the check matrix H can be obtained.

[0229] The number of rows k+1 of the check matrix initial value table of the Type B method varies depending on the information length K.

[0230] The relationship of equation (9) holds between the information length K and the number of rows k+1 of the parity check matrix initial value table.

[0231] K = (k + 1) × 360 ···(9)

[0232] Here, 360 in equation (9) is the parallel factor P explained in FIG.

[0233] In the parity check matrix initial value table of FIG. 21, 13 numerical values ​​are arranged in the first to third rows, and 3 numerical values ​​are arranged in the fourth to k+1th rows (the 30th row in FIG. 21).

[0234] Therefore, the column weight of the check matrix H obtained from the check matrix initial value table of Figure 21 is 13 from the 1st column to the 1+360×(3-1)-1th column, and 3 from the 1+360×(3-1)th column to the Kth column.

[0235] The first row of the parity check matrix initial value table in Figure 21 is 0, 2084, 1613, 1548, 1286, 1460, 3196, 4297, 2481, 3369, 3451, 4620, 2622, which indicates that in the first column of parity check matrix H, the elements in the rows with row numbers 0, 2084, 1613, 1548, 1286, 1460, 3196, 4297, 2481, 3369, 3451, 4620, 2622 are 1 (and the other elements are 0).

[0236] In addition, the second row of the parity check matrix initial value table in Figure 21 is 1,122,1516,3448,2880,1407,1847,3799,3529,373,971,4358,3108, which indicates that in the 361st (=1+360×(2-1))th column of the parity check matrix H, the elements of the rows with row numbers 1,122,1516,3448,2880,1407,1847,3799,3529,373,971,4358,3108 are 1.

[0237] As described above, the check matrix initial value table is the information matrix H A Represents the position of the 1 element in every 360 columns.

[0238] Columns other than the 1+360×(i-1)th column of the check matrix H, i.e., each column from the 2+360×(i-1)th column to the 360×ith column, are arranged by periodically cyclically shifting the element of 1 in the 1+360×(i-1)th column, which is determined by the check matrix initial value table, downward (downward in the column) according to the parity length M.

[0239] That is, for example, the 2+360×(i-1)th column is the 1+360×(i-1)th column cyclically shifted downward by M / 360(=q), and the next 3+360×(i-1)th column is the 1+360×(i-1)th column cyclically shifted downward by 2×M / 360(=2×q) (the 2+360×(i-1)th column cyclically shifted downward by M / 360(=q)).

[0240] Now, let the value in the ith row (ith from the top) and jth column (jth from the left) of the check matrix initial value table be h i,j and the row number of the j-th element of 1 in the w-th column of the check matrix H is expressed as H w-j Then, the row number H of the element of 1 in the w-th column, which is a column other than the 1+360×(i-1)-th column of the check matrix H, is w-j can be calculated using equation (10).

[0241] H w-j =mod(h i,j +mod((w-1),P)×q,M) ···(10)

[0242] Here, mod(x,y) means the remainder when x is divided by y.

[0243] Furthermore, P is the above-mentioned parallel factor, which in this embodiment is 360, similar to the standards such as DVB-T.2 and ATSC3.0. Furthermore, q is a value M / 360 obtained by dividing the parity length M by the parallel factor P (=360).

[0244] The check matrix generation unit 613 (FIG. 18) identifies the row number of the element of 1 in the 1+360×(i−1)th column of the check matrix H using the check matrix initial value table.

[0245] Furthermore, the check matrix generation unit 613 (FIG. 18) generates a row number H of an element of 1 in the w-th column, which is a column other than the 1+360×(i−1)-th column of the check matrix H. w-j is calculated according to equation (10), and a check matrix H is generated in which the elements of the row numbers obtained above are set to 1.

[0246] FIG. 22 is a diagram showing the structure of the parity check matrix H of the Type A method.

[0247] The check matrix of the Type A method is made up of an A matrix, a B matrix, a C matrix, a D matrix, and a Z matrix.

[0248] Matrix A is an upper left matrix of parity check matrix H, with M1 rows and K columns, expressed by a predetermined value M1 and information length K of the LDPC code = code length N × coding rate r.

[0249] The B matrix is ​​a step structure matrix adjacent to the A matrix on the right, with M1 rows and M1 columns.

[0250] The C matrix is ​​a matrix adjacent below the A and B matrices, with N−M1 rows and K+M1 columns.

[0251] The D matrix is ​​an identity matrix adjacent to the right of the C matrix, with N-K-M1 rows and N-K-M1 columns.

[0252] The Z matrix is ​​a zero matrix (0 matrix) adjacent to the right of the B matrix, with M1 rows and NK-M1 columns.

[0253] In the type A check matrix H composed of the above-mentioned A matrix to D matrix and Z matrix, part of A matrix and C matrix constitutes the information matrix, and the remaining parts of B matrix, C matrix, D matrix and Z matrix constitute the parity matrix.

[0254] Since the B matrix is ​​a matrix with a staircase structure and the D matrix is ​​a unit matrix, part of the parity matrix of the check matrix H of the Type A method (the B matrix part) has a staircase structure, and the remaining part (the D matrix part) is a diagonal matrix (unit matrix).

[0255] Like the information matrix of the check matrix H of the Type B method, the A matrix and the C matrix have a cyclic structure for each column of the parallel factor P (for example, 360 columns), and the check matrix initial value table of the Type A method represents the positions of elements of 1 in the A matrix and the C matrix for each 360 columns.

[0256] Here, as mentioned above, the A matrix and a part of the C matrix constitute an information matrix, so it can be said that the Type A method check matrix initial value table, which represents the positions of elements of 1 in the A matrix and the C matrix every 360 columns, at least represents the positions of elements of 1 in the information matrix every 360 columns.

[0257] In addition, since the Type A method check matrix initial value table represents the positions of elements of 1 in the A matrix and C matrix every 360 columns, it can also be said that it represents the positions of elements of 1 in a part of the check matrix (the remaining part of the C matrix) every 360 columns.

[0258] FIG. 23 is a diagram showing an example of a parity check matrix initial value table of the Type A method.

[0259] That is, FIG. 23 shows an example of a parity check matrix initial value table that represents a parity check matrix H with a code length N of 35 bits and a coding rate r of 2 / 7.

[0260] The Type A method check matrix initial value table is a table that represents the positions of elements of 1 in the A matrix and the C matrix for each parallel factor P, and in its i-th row, the row numbers of elements of 1 in the 1+P×(i-1)th column of the check matrix H (row numbers where the row number of the first row of the check matrix H is 0) are arranged as many times as the column weight of the 1+P×(i-1)th column.

[0261] For ease of explanation, the parallel factor P is assumed to be 5, for example.

[0262] The check matrix H of the Type A system has parameters M1, M2, Q1, and Q2.

[0263] M1 (FIG. 22) is a parameter that determines the size of the B matrix, and takes a value that is a multiple of the parallel factor P. By adjusting M1, the performance of the LDPC code changes, and when determining the check matrix H, it is adjusted to a predetermined value. Here, it is assumed that 15, which is three times the parallel factor P=5, is adopted as M1.

[0264] M2 (FIG. 22) is the value M-M1 obtained by subtracting M1 from the parity length M.

[0265] Here, the information length K is N×r=35×2 / 7=10, and the parity length M is NK=35−10=25, so M2 is M−M1=25−15=10.

[0266] Q1 is calculated according to the formula Q1=M1 / P, and represents the number of cyclic shifts (number of rows) in the A matrix.

[0267] That is, the columns other than the 1+P×(i-1)th column of the A matrix of the check matrix H of the Type A method, i.e., each column from the 2+P×(i-1)th column to the P×ith column, are arranged by periodically cyclically shifting the element of 1 in the 1+P×(i-1)th column determined by the check matrix initial value table downward (downward in the column), and Q1 represents the number of cyclic shifts in the A matrix.

[0268] Q2 is calculated according to the formula Q2=M2 / P, and represents the number of cyclic shifts (number of rows) in the C matrix.

[0269] That is, the columns other than the 1+P×(i-1)th column of the C matrix of the check matrix H of the Type A method, i.e., each column from the 2+P×(i-1)th column to the P×ith column, are arranged by periodically cyclically shifting the element of 1 in the 1+P×(i-1)th column determined by the check matrix initial value table downward (downward in the column), and Q2 represents the number of cyclic shifts in the C matrix.

[0270] Here, Q1 is M1 / P=15 / 5=3, and Q2 is M2 / P=10 / 5=2.

[0271] In the parity check matrix initial value table of Figure 23, three numerical values ​​are arranged in the first and second rows, and one numerical value is arranged in the third to fifth rows. According to this arrangement of numerical values, the column weight of the A matrix and C matrix portion of the parity check matrix H obtained from the parity check matrix initial value table of Figure 23 is 3 from the 1=1+5×(1-1)th column to the 10=5×2nd column, and is 1 from the 11=1+5×(3-1)th column to the 25=5×5th column.

[0272] That is, the first row of the check matrix initial value table in Figure 23 is 2, 6, 18, which indicates that in the first column of the check matrix H, the elements in the rows with row numbers 2, 6, 18 are 1 (and the other elements are 0).

[0273] In this case, the A matrix (Figure 22) is a matrix with 15 rows and 10 columns (M1 rows and K columns), and the C matrix (Figure 22) is a matrix with 10 rows and 25 columns (NK-M1 rows and K+M1 columns), so the rows with row numbers 0 to 14 of the check matrix H are rows of the A matrix, and the rows with row numbers 15 to 24 of the check matrix H are rows of the C matrix.

[0274] Therefore, of the rows with row numbers 2, 6, and 18 (hereinafter referred to as rows #2, #6, and #18), rows #2 and #6 are rows of the A matrix, and row #18 is a row of the C matrix.

[0275] The second row of the parity check matrix initial value table in Figure 23 is 2, 10, 19, which indicates that the elements of rows #2, #10, and #19 in the 6th (=1+5×(2-1)) column of parity check matrix H are 1.

[0276] Here, in the 6th (=1+5×(2−1)) column of parity check matrix H, of rows #2, #10, and #19, rows #2 and #10 are rows of the A matrix, and row #19 is a row of the C matrix.

[0277] The third row of the parity check matrix initial value table in FIG. 23 is 22, which indicates that the element of row #22 in the 11th (=1+5×(3−1)) column of parity check matrix H is 1.

[0278] Here, in the 11th (=1+5×(3−1)) column of the parity check matrix H, row #22 is a row of the C matrix.

[0279] Similarly, the 19 in the fourth row of the parity check matrix initial value table of Figure 23 indicates that the element of row #19 in the 16th (=1+5×(4-1)) column of the parity check matrix H is 1, and the 15 in the fifth row of the parity check matrix initial value table of Figure 23 indicates that the element of row #15 in the 21st (=1+5×(5-1)) column of the parity check matrix H is 1.

[0280] As described above, the parity check matrix initial value table indicates the positions of elements of 1 in the A matrix and C matrix of the parity check matrix H for each parallel factor P=5 columns.

[0281] Columns other than the 1+5×(i-1)th column of the A matrix and C matrix of the check matrix H, i.e., each column from the 2+5×(i-1)th column to the 5×ith column, are arranged by periodically cyclically shifting the element of 1 in the 1+5×(i-1)th column determined by the check matrix initial value table downward (downward in the column direction) according to parameters Q1 and Q2.

[0282] That is, for example, the 2+5×(i-1)th column of matrix A is the 1+5×(i-1)th column cyclically shifted downward by Q1 (=3), and the next 3+5×(i-1)th column is the 1+5×(i-1)th column cyclically shifted downward by 2×Q1 (=2×3) (the 2+5×(i-1)th column cyclically shifted downward by Q1).

[0283] For example, the 2+5×(i-1)th column of matrix C is the 1+5×(i-1)th column cyclically shifted downward by Q2 (=2), and the next 3+5×(i-1)th column is the 1+5×(i-1)th column cyclically shifted downward by 2×Q2 (=2×2) (the 2+5×(i-1)th column cyclically shifted downward by Q2).

[0284] FIG. 24 is a diagram showing matrix A generated from the check matrix initial value table of FIG.

[0285] In matrix A in FIG. 24, elements of rows #2 and #6 in the 1st (=1+5×(1−1))th column are 1, in accordance with the first row of the parity check matrix initial value table in FIG.

[0286] Each of the columns from the 2nd (=2+5×(1-1)) to the 5th (=5+5×(1-1)) is a cyclic shift of the previous column downward by Q1=3.

[0287] Furthermore, in matrix A in FIG. 24, elements of rows #2 and #10 in the 6th (=1+5×(2−1)) column are 1, in accordance with the second row of the parity check matrix initial value table in FIG.

[0288] Each column from the 7th (=2+5×(2-1)) column to the 10th (=5+5×(2-1)) column is cyclically shifted downward by Q1=3 from the previous column.

[0289] FIG. 25 is a diagram showing parity interleaving of a B matrix.

[0290] The check matrix generation unit 613 (FIG. 18) uses a check matrix initial value table to generate matrix A, and arranges matrix B of a staircase structure to the immediate right of matrix A. Then, the check matrix generation unit 613 regards matrix B as a parity matrix, and performs parity interleaving so that adjacent elements of 1 in matrix B of the staircase structure are spaced apart by a parallel factor P=5 in the row direction.

[0291] FIG. 25 shows the A and B matrices after parity interleaving of the B matrix of FIG.

[0292] FIG. 26 is a diagram showing a C matrix generated from the parity check matrix initial value table of FIG.

[0293] In matrix C in FIG. 26, the element in row #18 of the 1st (=1+5×(1−1))th column of parity check matrix H is 1, in accordance with the 1st row of the parity check matrix initial value table in FIG.

[0294] Each column from the 2nd (=2+5×(1-1)) to the 5th (=5+5×(1-1)) column of the C matrix is ​​a cyclic shift of the previous column downward by Q2=2.

[0295] Furthermore, in matrix C of Figure 26, in accordance with rows 2 to 5 of the parity check matrix initial value table of Figure 23, the elements of row #19 in the 6th (=1+5×(2-1)) column, row #22 in the 11th (=1+5×(3-1)) column, row #19 in the 16th (=1+5×(4-1)) column, and row #15 in the 21st (=1+5×(5-1)) column of parity check matrix H are 1.

[0296] Each of the columns from the 7th (=2+5×(2-1)) to the 10th (=5+5×(2-1)) columns, the 12th (=2+5×(3-1)) to the 15th (=5+5×(3-1)) columns, the 17th (=2+5×(4-1)) to the 20th (=5+5×(4-1)) columns, and the 22nd (=2+5×(5-1)) to the 25th (=5+5×(5-1)) columns are cyclically shifted downward by Q2=2 from the previous column.

[0297] The check matrix generation section 613 (FIG. 18) generates the C matrix using the check matrix initial value table, and places the C matrix below the A matrix and the B matrix (after parity interleaving).

[0298] Furthermore, parity check matrix generation section 613 places matrix Z to the right of matrix B, and matrix D to the right of matrix C, thereby generating parity check matrix H shown in FIG.

[0299] FIG. 27 is a diagram illustrating parity interleaving of a D matrix.

[0300] After generating the check matrix H of FIG. 26, the check matrix generation unit 613 regards the D matrix as a parity matrix and performs parity interleaving (of only the D matrix) so that elements of 1 in odd-numbered rows and the next even-numbered rows of the unit matrix D matrix are separated in the row direction by a parallel factor P=5.

[0301] FIG. 27 shows the parity check matrix H after D matrix parity interleaving is performed on the parity check matrix H of FIG.

[0302] The LDPC encoder 115 (the encoding parity calculation unit 615 (FIG. 18)) performs LDPC encoding (generation of LDPC code) using, for example, the check matrix H in FIG.

[0303] Here, the LDPC code generated using the parity check matrix H of Fig. 27 is an LDPC code that has been parity interleaved, and therefore, for the LDPC code generated using the parity check matrix H of Fig. 27, there is no need to perform parity interleaving in the parity interleaver 23 (Fig. 9). In other words, the LDPC code generated using the parity check matrix H after parity interleaving of the D matrix is ​​an LDPC code that has been parity interleaved, and therefore, for such an LDPC code, parity interleaving in the parity interleaver 23 is skipped.

[0304] FIG. 28 is a diagram showing a check matrix H in which column permutation is performed on the B matrix, part of the C matrix (the part of the C matrix that is arranged below the B matrix), and the D matrix of the check matrix H in FIG. 27 as parity deinterleaving that restores the parity interleaving to its original state.

[0305] The LDPC encoder 115 can perform LDPC encoding (generation of LDPC codes) using the parity check matrix H in FIG.

[0306] When LDPC coding is performed using the check matrix H in Fig. 28, an LDPC code that is not parity interleaved is obtained by the LDPC coding. Therefore, when LDPC coding is performed using the check matrix H in Fig. 28, parity interleaving is performed in the parity interleaver 23 (Fig. 9).

[0307] FIG. 29 is a diagram showing a transformed parity check matrix H obtained by performing row permutation on the parity check matrix H of FIG.

[0308] As will be described later, the conversion check matrix is ​​a matrix expressed by a combination of a P×P unit matrix, a quasi-unit matrix in which one or more of the 1's in the unit matrix are changed to 0, a shift matrix obtained by cyclically shifting a unit matrix or quasi-unit matrix, a sum matrix which is the sum of two or more of a unit matrix, a quasi-unit matrix, or a shift matrix, and a P×P 0 matrix.

[0309] By using the conversion check matrix for decoding an LDPC code, an architecture can be adopted in which P check node operations and variable node operations are performed simultaneously, as will be described later, in decoding the LDPC code.

[0310] <New LDPC code>

[0311] In data transmission using LDPC codes, one method for ensuring good communication quality is to use high-performance LDPC codes.

[0312] A new LDPC code with good performance (hereinafter also referred to as a new LDPC code) will be described below.

[0313] As the new LDPC code, for example, a type A code or type B code can be adopted in which the parallel factor P is 360, the same as in DVB-T.2, ATSC3.0, etc., and which corresponds to a check matrix H with a cyclic structure.

[0314] The LDPC encoder 115 (FIGS. 8 and 18) can perform LDPC encoding into an LDPC code using a check matrix initial value table (a check matrix H obtained from) of an LDPC code having a code length N longer than 64 k bits, for example, 69120 bits, and a coding rate r of, for example, 2 / 16, 3 / 16, 4 / 16, 5 / 16, 6 / 16, 7 / 16, 8 / 16, 9 / 16, 10 / 16, 11 / 16, 12 / 16, 13 / 16, or 14 / 16.

[0315] Furthermore, the LDPC encoder 115 can perform LDPC encoding into a new LDPC code based on (a check matrix H obtained from) a check matrix initial value table of a new LDPC code in which the code length N is shorter than 64 k bits, for example, 17280 bits (17 k bits), and the coding rate r is, for example, any one of 2 / 16, 3 / 16, 4 / 16, 5 / 16, 6 / 16, 7 / 16, 8 / 16, 9 / 16, 10 / 16, 11 / 16, 12 / 16, 13 / 16, or 14 / 16, as shown below.

[0316] When LDPC encoding is performed to obtain a new LDPC code with a code length N of 17280 bits, a check matrix initial value table for the new LDPC code is stored in the storage unit 602 of the LDPC encoder 115 (FIG. 8).

[0317] FIG. 30 is a diagram showing an example of a check matrix initial value table (for the Type A method) that represents the check matrix H of a Type A code (hereinafter also referred to as a Type A code with r=2 / 16) that is a new LDPC code having a code length N of 17280 bits and a coding rate r of 2 / 16.

[0318] FIG. 31 is a diagram showing an example of a parity check matrix initial value table that represents a parity check matrix H of a Type A code (hereinafter also referred to as a Type A code with r=3 / 16) that is a new LDPC code having a code length N of 17280 bits and a coding rate r of 3 / 16.

[0319] FIG. 32 is a diagram showing an example of a parity check matrix initial value table that represents a parity check matrix H of a Type A code (hereinafter also referred to as a Type A code with r=4 / 16) that is a new LDPC code having a code length N of 17280 bits and a coding rate r of 4 / 16.

[0320] FIG. 33 is a diagram showing an example of a check matrix initial value table representing a check matrix H of a Type A code (hereinafter also referred to as a Type A code with r=5 / 16) as a new LDPC code having a code length N of 17280 bits and a coding rate r of 5 / 16.

[0321] FIG. 34 is a diagram showing an example of a parity check matrix initial value table representing a parity check matrix H of a Type A code (hereinafter also referred to as a Type A code with r=6 / 16) as a new LDPC code having a code length N of 17280 bits and a coding rate r of 6 / 16.

[0322] FIG. 35 is a diagram showing an example of a check matrix initial value table representing a check matrix H of a Type A code (hereinafter also referred to as a Type A code with r=7 / 16) as a new LDPC code having a code length N of 17280 bits and a coding rate r of 7 / 16.

[0323] FIG. 36 is a diagram showing an example of a check matrix initial value table (for the Type B method) that represents the check matrix H of a Type B code (hereinafter also referred to as a Type B code with r=7 / 16) as a new LDPC code having a code length N of 17280 bits and a coding rate r of 7 / 16.

[0324] FIG. 37 is a diagram showing an example of a check matrix initial value table representing a check matrix H of a Type B code (hereinafter also referred to as a Type B code with r=8 / 16) as a new LDPC code having a code length N of 17280 bits and a coding rate r of 8 / 16.

[0325] FIG. 38 is a diagram showing an example of a check matrix initial value table representing a check matrix H of a Type B code (hereinafter also referred to as a Type B code with r=9 / 16) as a new LDPC code having a code length N of 17280 bits and a coding rate r of 9 / 16.

[0326] FIG. 39 is a diagram showing an example of a check matrix initial value table that represents a check matrix H of a Type B code (hereinafter also referred to as a Type B code with r=10 / 16) that is a new LDPC code having a code length N of 17280 bits and a coding rate r of 10 / 16.

[0327] FIG. 40 is a diagram showing an example of a check matrix initial value table that represents a check matrix H of a Type B code (hereinafter also referred to as a Type B code with r=11 / 16) that is a new LDPC code having a code length N of 17280 bits and a coding rate r of 11 / 16.

[0328] FIG. 41 is a diagram showing an example of a check matrix initial value table that represents a check matrix H of a Type B code (hereinafter also referred to as a Type B code with r=12 / 16) that is a new LDPC code having a code length N of 17280 bits and a coding rate r of 12 / 16.

[0329] FIG. 42 is a diagram showing an example of a check matrix initial value table that represents a check matrix H of a Type B code (hereinafter also referred to as a Type B code with r=13 / 16) as a new LDPC code having a code length N of 17280 bits and a coding rate r of 13 / 16.

[0330] FIG. 43 is a diagram showing an example of a check matrix initial value table representing a check matrix H of a Type B code (hereinafter also referred to as a Type B code with r=14 / 16) as a new LDPC code having a code length N of 17280 bits and a coding rate r of 14 / 16.

[0331] The new LDPC code is an LDPC code with good performance.

[0332] Here, an LDPC code with good performance is an LDPC code obtained from an appropriate check matrix H.

[0333] An appropriate check matrix H is, for example, a check matrix H that can be used to obtain an LDPC code with low E s / N0 or E b / N o It is a check matrix that satisfies certain conditions and reduces the BER (bit error rate) (and FER (frame error rate)) when transmitted at a signal power to noise power ratio per bit.

[0334] An appropriate check matrix H is, for example, a method for converting LDPC codes obtained from various check matrices that satisfy predetermined conditions into low E s / N o This can be obtained by performing a simulation to measure the BER when transmitting at

[0335] The predetermined conditions that an appropriate check matrix H should satisfy include, for example, that the analysis results obtained by a code performance analysis method called Density Evolution are good, that there is no loop of elements of 1, called cycle 4, and so on.

[0336] Here, the information matrix H A It is known that if elements of 1 are concentrated, as in cycle 4, the decoding performance of the LDPC code deteriorates. For this reason, it is desirable that cycle 4 does not exist in the parity check matrix H.

[0337] In the parity check matrix H, the minimum length of a loop formed by elements of 1 (loop length) is called a girth. The absence of a cycle of 4 means that the girth is greater than 4.

[0338] The predetermined conditions that an appropriate check matrix H should satisfy can be determined appropriately from the viewpoint of improving the decoding performance of the LDPC code, facilitating (simplifying) the decoding process of the LDPC code, and so on.

[0339] 44 and 45 are diagrams for explaining density evolution that obtains analysis results as predetermined conditions that an appropriate parity check matrix H should satisfy.

[0340] Density evolution is a code analysis method that calculates the expected value of the error probability for the entire LDPC code (ensemble) with a code length N of ∞, characterized by a degree sequence (described later).

[0341] For example, in an AWGN channel, if the noise variance is increased from 0, the expected error probability of a certain ensemble is initially 0, but once the noise variance exceeds a certain threshold, it no longer becomes 0.

[0342] According to density evolution, the performance of the ensemble (the appropriateness of the check matrix) can be determined by comparing the threshold of the noise variance (hereinafter referred to as the performance threshold) at which the expected value of the error probability is no longer zero.

[0343] For a specific LDPC code, if the ensemble to which the LDPC code belongs is determined and density evolution is performed on the ensemble, the rough performance of the LDPC code can be predicted.

[0344] Therefore, if an ensemble with good performance is found, an LDPC code with good performance can be found from among the LDPC codes that belong to that ensemble.

[0345] Here, the above-mentioned degree sequence indicates the proportion of variable nodes and check nodes having each weight value with respect to the code length N of the LDPC code.

[0346] For example, a regular (3,6) LDPC code with a coding rate of 1 / 2 belongs to an ensemble characterized by a degree sequence in which all variable nodes have a weight (column weight) of 3 and all check nodes have a weight (row weight) of 6.

[0347] Figure 44 shows the Tanner graph of such an ensemble.

[0348] In the Tanner graph of Figure 44, there are N variable nodes, indicated by circles (○) in the figure, which is equal to the code length N, and there are N / 2 check nodes, indicated by squares (□) in the figure, which is equal to the product of the code length N and the coding rate 1 / 2.

[0349] Each variable node is connected to three edges equal to the column weight, so there are a total of 3N edges connecting to the N variable nodes.

[0350] Each check node is connected to six edges, the number of which is equal to the row weight. Therefore, there are a total of 3N edges connected to the N / 2 check nodes.

[0351] Furthermore, in the Tanner graph of Figure 44, there is one interleaver.

[0352] The interleaver randomly rearranges the 3N branches connected to the N variable nodes, and then connects each rearranged branch to one of the 3N branches connected to the N / 2 check nodes.

[0353] There are (3N)! (=(3N) × (3N-1) × × 1) possible permutation patterns for permuting 3N branches connected to N variable nodes in an interleaver. Therefore, an ensemble characterized by a degree sequence in which all variable nodes have a weight of 3 and all check nodes have a weight of 6 is a set of (3N)! LDPC codes.

[0354] In the simulation to find a high-performance LDPC code (appropriate check matrix), a multi-edge type ensemble was used in density evolution.

[0355] In the multi-edge type, the interleaver through which the branches connected to the variable nodes and the branches connected to the check nodes pass is divided into multiple (multi-edge) sections, which allows for more precise characterization of the ensemble.

[0356] Figure 45 shows an example of a Tanner graph of a multi-edge type ensemble.

[0357] In the Tanner graph of FIG. 45, there are two interleavers: a first interleaver and a second interleaver.

[0358] In addition, in the Tanner graph of Figure 45, there are only v1 variable nodes with one branch connected to the first interleaver and zero branches connected to the second interleaver, only v2 variable nodes with one branch connected to the first interleaver and two branches connected to the second interleaver, and only v3 variable nodes with zero branches connected to the first interleaver and two branches connected to the second interleaver.

[0359] Furthermore, in the Tanner graph of Figure 45, there are only c1 check nodes with two branches connected to the first interleaver and no branches connected to the second interleaver, only c2 check nodes with two branches connected to the first interleaver and two branches connected to the second interleaver, and only c3 check nodes with no branches connected to the first interleaver and three branches connected to the second interleaver.

[0360] Here, density evolution and its implementation are described, for example, in "On the Design of Low-Density Parity-Check Codes within 0.0045 dB of the Shannon Limit," by S.Y. Chung, G.D. Forney, T.J. Richardson, and R. Urbane, IEEE Communications Leggers, Vol. 5, No. 2, February 2001.

[0361] In the simulation to find the new LDPC code (check matrix), the BER starts to drop (become smaller) due to the multi-edge type density evolution. b We found an ensemble where the performance threshold, / N0 (signal power to noise power ratio per bit), is below a specified value, and from among the LDPC codes belonging to that ensemble, we selected the LDPC code that reduces the BER when using orthogonal modulation of 1 or more, such as QPSK, as the LDPC code with good performance.

[0362] The new LDPC code (the check matrix initial value table representing the check matrix of the new LDPC code) was obtained by the above simulation.

[0363] Therefore, the new LDPC code can ensure good communication quality in data transmission.

[0364] FIG. 46 is a diagram for explaining column weights of a check matrix H of a type A code as a new LDPC code.

[0365] As for the check matrix H of the type A code, as shown in FIG. 46, the column weight of the first K1 columns of the A matrix and the C matrix is ​​represented by X1, the column weight of the subsequent K2 columns of the A matrix and the C matrix is ​​represented by X2, the column weight of the further subsequent K3 columns of the A matrix and the C matrix is ​​represented by X3, and the column weight of the further subsequent M1 columns of the C matrix is ​​represented by XM1.

[0366] Note that K1+K2+K3 is equal to the information length K, and M1+M2 is equal to the parity length M. Therefore, K1+K2+K3+M1+M2 is equal to the code length N=17280 bits.

[0367] In addition, for the check matrix H of the type A code, the column weight of the first to M1-1 columns of the B matrix is ​​2, and the column weight of the M1-th column (the last column) of the B matrix is ​​1. Furthermore, the column weight of the D matrix is ​​1, and the column weight of the Z matrix is ​​0.

[0368] FIG. 47 is a diagram showing parameters of the parity check matrix H of the type A code (represented by the parity check matrix initial value tables) of FIGS.

[0369] K, X1, K1, X2, K2, X3, K3, XM1, M1, and M2 as parameters of the check matrix H of the type A code for r=2 / 16, 3 / 16, 4 / 16, 5 / 16, 6 / 16, and 7 / 16 are as shown in FIG. 47.

[0370] The parameters X1, K1, X2, K2, X3, K3, XM1, and M1 (or M2) are set so as to further improve the performance (for example, error rate) of the LDPC code.

[0371] FIG. 48 is a diagram for explaining column weights of a check matrix H of a Type B code as a new LDPC code.

[0372] For the check matrix H of the Type B code, as shown in FIG. 48, the column weight of the first to KX1 columns is represented as X1, the column weight of the subsequent KX2 columns is represented as X2, the column weight of the subsequent KX3 columns is represented as X3, the column weight of the subsequent KX4 columns is represented as X4, and the column weight of the subsequent KY1 columns is represented as Y1.

[0373] Note that KX1+KX2+KX3+KX4+KY1 is equal to the information length K, and KX1+KX2+KX3+KX4+KY1+M is equal to the code length N=17280 bits.

[0374] Furthermore, in the parity check matrix H of the type B code, of the last M columns, the column weight of M−1 columns excluding the last column is 2, and the column weight of the last column is 1.

[0375] FIG. 49 is a diagram showing parameters of the check matrix H of the type B code (represented by the check matrix initial value tables) of FIGS.

[0376] The parameters K, X1, KX1, X2, KX2, X3, KX3, X4, KX4, Y1, KY1, and M of the check matrix H of the type B code for r=7 / 16, 8 / 16, 9 / 16, 10 / 16, 11 / 16, 12 / 16, 13 / 16, and 14 / 16 are as shown in Figure 49.

[0377] The parameters X1, KX1, X2, KX2, X3, KX3, X4, KX4, Y1, and KY1 are set to further improve the performance of the LDPC code.

[0378] The new LDPC code not only achieves a good BER / FER but also achieves a capacity (communication channel capacity) close to the Shannon limit.

[0379] 50 to 53 are diagrams for explaining other examples of the new LDPC code.

[0380] That is, FIG. 50 is a diagram showing an example of a check matrix initial value table representing the check matrix H of a Type A code (hereinafter also referred to as a new Type A code with r=4 / 16) provided by the Japan Broadcasting Corporation as a new LDPC code having a code length N of 17280 bits and a coding rate r of 4 / 16.

[0381] FIG. 51 is a diagram showing parameters of a parity check matrix H of a new type A code with r=7 / 16 provided by the Japan Broadcasting Corporation.

[0382] The parameters K, X1, K1, X2, K2, X3, K3, XM1, M1, and M2 are the parameters explained in Figure 46, and the parameters K, X1, K1, X2, K2, X3, K3, XM1, M1, and M2 of the check matrix H of the new type A code for r = 4 / 16 are as shown in Figure 51.

[0383] FIG. 52 is a diagram showing an example of a check matrix initial value table representing the check matrix H of a Type B code (hereinafter also referred to as a new Type B code with r=9 / 16) provided by the Japan Broadcasting Corporation as a new LDPC code having a code length N of 17280 bits and a coding rate r of 9 / 16.

[0384] FIG. 53 is a diagram showing parameters of a check matrix H of a new type B code with r=9 / 16 provided by the Japan Broadcasting Corporation.

[0385] The parameters K, X1, KX1, X2, KX2, X3, KX3, X4, KX4, Y1, KY1, and M are the parameters explained in Figure 48, and the parameters K, X1, KX1, X2, KX2, X3, KX3, X4, KX4, Y1, KY1, and M of the check matrix H of the new type B code for r=9 / 16 are as shown in Figure 52.

[0386] <Constellation>

[0387] 54 to 78 are diagrams showing examples of constellations that can be used in the transmission system of FIG.

[0388] In the transmission system of FIG. 7, for example, a constellation to be used in a MODCOD, which is a combination of a modulation method (MODulation) and an LDPC code (CODe), can be set.

[0389] For a MODCOD of 1, more than one constellation can be set.

[0390] Constellations include UC (Uniform Constellation), in which the signal points are arranged uniformly, and NUC (Non Uniform Constellation), in which the signal points are not arranged uniformly.

[0391] In addition, there are various types of NUCs, such as 1D-NUC (1-dimensional (M 2 There are constellations called 2D-NUC (2-dimensional (QQAM) non-uniform constellation) and 2D-NUC (2-dimensional (QQAM) non-uniform constellation).

[0392] In general, 1D-NUC provides a better BER than UC, and 2D-NUC provides a better BER than 1D-NUC.

[0393] The constellation for a QPSK modulation scheme is UC. For example, UC or 2D-NUC can be used as a constellation for modulation schemes such as 16QAM, 64QAM, and 256QAM, and for example, UC or 1D-NUC can be used as a constellation for modulation schemes such as 1024QAM and 4096QAM.

[0394] In the transmission system of FIG. 7, various constellations that improve the error rate, such as constellations defined in ATSC3.0, DVB-C.2, etc., can be used.

[0395] That is, when the modulation method is QPSK, for example, the same UC can be used for each coding rate r of the LDPC code.

[0396] In addition, when the modulation method is 16QAM, 64QAM, or 256QAM, for example, the same UC can be used for each coding rate r of the LDPC code.Furthermore, when the modulation method is 16QAM, 64QAM, or 256QAM, for example, different 2D-NUCs can be used for each coding rate r of the LDPC code.

[0397] In addition, when the modulation method is 1024QAM or 4096QAM, for example, the same UC can be used for each coding rate r of the LDPC code.Furthermore, when the modulation method is 1024QAM or 4096QAM, for example, different 1D-NUCs can be used for each coding rate r of the LDPC code.

[0398] Here, UC of QPSK is also written as QPSK-UC, and m QAM UC, 2 m Also referred to as QAM-UC. m QAM 1D-NUC and 2D-NUC are respectively m QAM-1D-NUC and 2 m Also written as QAM-2D-NUC.

[0399] Below, we will explain some of the constellations specified in ATSC3.0.

[0400] FIG. 54 is a diagram showing the coordinates of QPSK-UC signal points used for all coding rates of LDPC codes specified in ATSC3.0 when the modulation scheme is QPSK.

[0401] In Figure 54, "Input Data cell y" represents a 2-bit symbol to be mapped to QPSK-UC, and "Constellation point z" represents a 2-bit symbol to be mapped to QPSK-UC. s " is the signal point z s The coordinates of the signal point z s The index s of the signal point z q The index q of the symbol sigma is also used), which represents the discrete time of the symbol (the time interval between one symbol and the next symbol).

[0402] In Figure 54, signal point z s The coordinates of are expressed in the form of complex numbers, and j represents the imaginary unit (√(-1)).

[0403] Figure 55 is a diagram showing the coordinates of 16QAM-2D-NUC signal points used for coding rates r(CR) = 2 / 15, 3 / 15, 4 / 15, 5 / 15, 6 / 15, 7 / 15, 8 / 15, 9 / 15, 10 / 15, 11 / 15, 12 / 15, 13 / 15 of the LDPC code specified in ATSC3.0 when the modulation method is 16QAM.

[0404] In Figure 55, as in Figure 54, signal point z s The coordinates of are expressed in the form of complex numbers, and j represents the imaginary unit.

[0405] In Figure 55, w#k represents the coordinates of the signal point in the first quadrant of the constellation.

[0406] In 2D-NUC, the signal points in the second quadrant of the constellation are arranged at positions obtained by moving the signal points in the first quadrant symmetrically about the Q axis, the signal points in the third quadrant of the constellation are arranged at positions obtained by moving the signal points in the first quadrant symmetrically about the origin, and the signal points in the fourth quadrant of the constellation are arranged at positions obtained by moving the signal points in the first quadrant symmetrically about the I axis.

[0407] Here, the modulation method is 2 mIn the case of QAM, m bits are treated as one symbol, and each symbol is mapped to a signal point corresponding to that symbol.

[0408] An m-bit symbol can be, for example, 0 to 2 m It can be expressed as an integer value of -1, but now, b=2 m / 4, 0 to 2 m Symbols y(0), y(1), . . . , y(2 m -1) can be classified into four symbols: y(0) to y(b-1), y(b) to y(2b-1), y(2b) to y(3b-1), and y(3b) to y(4b-1).

[0409] In Figure 55, the suffix k of w#k takes an integer value ranging from 0 to b-1, and w#k represents the coordinates of the signal point corresponding to symbol y(k) ranging from symbol y(0) to y(b-1).

[0410] The coordinates of the constellation point corresponding to symbol y(k+b) in the range of symbols y(b) to y(2b-1) are represented by -conj(w#k), the coordinates of the constellation point corresponding to symbol y(k+2b) in the range of symbols y(2b) to y(3b-1) are represented by conj(w#k), and the coordinates of the constellation point corresponding to symbol y(k+3b) in the range of symbols y(3b) to y(4b-1) are represented by -w#k.

[0411] Here, conj(w#k) represents the complex conjugate of w#k.

[0412] For example, when the modulation method is 16QAM, the m=4-bit symbols y(0), y(1), . . . , y(15) are 4 / 4=4, the symbols are classified into four: y(0) to y(3), y(4) to y(7), y(8) to y(11), and y(12) to y(15).

[0413] Of the symbols y(0) to y(15), for example, symbol y(12) is a symbol y(k+3b)=y(0+3×4) in the range of symbols y(3b) to y(4b−1), where k=0, and therefore the coordinates of the signal point corresponding to symbol y(12) are -w#k=-w0.

[0414] Now, if the coding rate r(CR) of the LDPC code is, for example, 9 / 15, then according to FIG. 55, when the modulation method is 16QAM and the coding rate r is 9 / 15, w0 is 0.2386+j0.5296, and therefore the coordinate −w0 of the signal point corresponding to the symbol y(12) is −(0.2386+j0.5296).

[0415] Figure 56 is a diagram showing an example of the coordinates of 1024QAM-1D-NUC signal points used for coding rates r(CR) = 2 / 15, 3 / 15, 4 / 15, 5 / 15, 6 / 15, 7 / 15, 8 / 15, 9 / 15, 10 / 15, 11 / 15, 12 / 15, 13 / 15 of the LDPC code specified in ATSC3.0 when the modulation method is 1024QAM.

[0416] In FIG. 56, u#k is the signal point z of 1D-NUC. s The real part of the complex number Re(z s ) and imaginary part Im(z s ) and are the components of a vector u=(u0, u1,..., u#V-1) called the position vector. The number V of components u#k of the position vector u is given by the formula V=√(2 m ) / 2.

[0417] FIG. 57 is a diagram showing the relationship between the 1024QAM symbol y and the position vector u (component u#k of the position vector u).

[0418] Now, let's consider the 10-bit symbol y of 1024QAM, starting from its leading bit (most significant bit), as y 0,s ,y 1,s ,y 2,s ,y 3,s ,y 4,s,y 5,s ,y 6,s ,y 7,s ,y 8,s ,y 9,s This will be expressed as follows.

[0419] A in Figure 57 shows the even-numbered 5 bits of symbol y. 1,s ,y 3,s ,y 5,s ,y 7,s ,y 9,s and the signal point z corresponding to that symbol y s The real part of the coordinates Re(z s ) represents the correspondence with u#k.

[0420] B in Figure 57 shows the odd-numbered 5 bits y of the symbol y. 0,s ,y 2,s ,y 4,s ,y 6,s ,y 8,s and the signal point z corresponding to that symbol y s Imaginary Part Im(z s ) represents the correspondence with u#k.

[0421] 1024QAM 10-bit symbol y=(y 0,s ,y 1,s ,y 2,s ,y 3,s ,y 4,s ,y 5,s ,y 6,s ,y 7,s ,y 8,s ,y 9,s ) is, for example, (0,0,1,0,0,1,1,1,0,0), the odd-numbered 5 bits (y 0,s ,y 2,s ,y 4,s ,y 6,s ,y 8,s ) is (0,1,0,1,0), and the even-numbered 5 bits (y 1,s ,y 3,s ,y 5,s ,y 7,s ,y 9,s ) is (0,0,1,1,0).

[0422] In Figure 57A, the even-numbered 5 bits (0,0,1,1,0) are associated with u11, and therefore the signal point z corresponding to the symbol y = (0,0,1,0,0,1,1,1,0,0) s The real part of Re(z s ) becomes u11.

[0423] In Figure 57B, the odd-numbered 5 bits (0,1,0,1,0) are associated with u3, and therefore the signal point z corresponding to the symbol y = (0,0,1,0,0,1,1,1,0,0) s Imaginary Part Im(z s ) becomes u3.

[0424] On the other hand, if the coding rate r of the LDPC code is, for example, 6 / 15, according to the above-mentioned FIG. 56, for the 1D-NUC used when the modulation method is 1024QAM and the coding rate of the LDPC code r(CR)=6 / 15, u3 is 0.1295 and u11 is 0.7196.

[0425] Therefore, the signal point z corresponding to the symbol y=(0,0,1,0,0,1,1,1,0,0) s The real part of Re(z s ) becomes u11=0.7196, and the imaginary part Im(z s ) results in u3=0.1295. As a result, the signal point z corresponding to the symbol y=(0,0,1,0,0,1,1,1,0,0) s The coordinates of are expressed as 0.7196+j0.1295.

[0426] In addition, the signal points of 1D-NUC are arranged in a grid pattern on a line parallel to the I axis or a line parallel to the Q axis in the constellation. However, the intervals between signal points are not constant. In addition, when transmitting the signal points (data mapped to them), the average power of the signal points on the constellation can be normalized. Normalization is performed by taking the root mean square of the absolute values ​​of all the signal points (coordinates of the signal points) on the constellation as P ave Then, the mean square value P aveSquare root of √P ave The reciprocal of 1 / (√P ave ) for each signal point z on the constellation s This can be done by multiplying

[0427] The transmission system of FIG. 7 can use the constellations defined in ATSC 3.0 as described above.

[0428] 58 to 69 are diagrams showing the coordinates of UC signal points defined in DVB-C.2.

[0429] That is, FIG. 58 shows the coordinates z of the signal point of QPSK-UC (UC of QPSK) specified in DVB-C.2. q The real part of Re(z q ) is a diagram showing the coordinates z of the signal point of QPSK-UC defined in DVB-C.2. q Imaginary Part Im(z q ) is a diagram showing the same.

[0430] Figure 60 shows the coordinates z of the signal point of 16QAM-UC (UC of 16QAM) specified in DVB-C.2. q The real part of Re(z q ) is a diagram showing the coordinates z of the 16QAM-UC signal point specified in DVB-C.2. q Imaginary Part Im(z q ) is a diagram showing the same.

[0431] Figure 62 shows the coordinates z of the signal point of 64QAM-UC (UC of 64QAM) specified in DVB-C.2. q The real part of Re(z q ) is a diagram showing the coordinates z of the 64QAM-UC signal point specified in DVB-C.2. q Imaginary Part Im(z q ) is a diagram showing the same.

[0432] Figure 64 shows the coordinates z of the signal point of 256QAM-UC (UC of 256QAM) specified in DVB-C.2.q The real part of Re(z q ) is a diagram showing the coordinates z of the 256QAM-UC signal point specified in DVB-C.2. q Imaginary Part Im(z q ) is a diagram showing the same.

[0433] Figure 66 shows the coordinates z of the signal point of 1024QAM-UC (UC of 1024QAM) specified in DVB-C.2. q The real part of Re(z q ) is a diagram showing the coordinates z of the 1024QAM-UC signal point specified in DVB-C.2. q Imaginary Part Im(z q ) is a diagram showing the same.

[0434] Figure 68 shows the coordinates z of the signal point of 4096QAM-UC (UC of 4096QAM) specified in DVB-C.2. q The real part of Re(z q ) is a diagram showing the coordinates z of the 4096QAM-UC signal point specified in DVB-C.2. q Imaginary Part Im(z q ) is a diagram showing the same.

[0435] In addition, in Figures 58 to 69, y i,q is 2 m It represents the (i+1)th bit from the beginning of the m-bit QAM symbol (for example, 2 bits in QPSK). In addition, when transmitting (data mapped to) a UC signal point, the average power of the signal point on the constellation can be normalized. Normalization is performed by taking the root mean square of the absolute values ​​of all of the signal points (coordinates of the signal points) on the constellation as P ave Then, the mean square value P ave Square root of √P ave The reciprocal of 1 / (√P ave ) for each signal point z on the constellation q This can be done by multiplying

[0436] In the transmission system of FIG. 7, the UC defined in DVB-C.2 as described above can be used.

[0437] That is, for the new LDPC codes (corresponding to the parity check matrix initial value tables) in Figures 30 to 43, 50, and 52 where the code length N is 17280 bits and the coding rate r is 2 / 16, 3 / 16, 4 / 16, 5 / 16, 6 / 16, 7 / 16, 8 / 16, 9 / 16, 10 / 16, 11 / 16, 12 / 16, 13 / 16, and 14 / 16, the UCs shown in Figures 58 to 69 can be used.

[0438] 70 to 78 are diagrams showing examples of coordinates of NUC signal points that can be used for the new LDPC codes of FIGS. 30 to 43, 50, and 52, where the code length N is 17280 bits and the coding rate r is 2 / 16, 3 / 16, 4 / 16, 5 / 16, 6 / 16, 7 / 16, 8 / 16, 9 / 16, 10 / 16, 11 / 16, 12 / 16, 13 / 16, and 14 / 16.

[0439] That is, FIG. 70 is a diagram showing an example of the coordinates of 16QAM-2D-NUC signal points that can be used for the new LDPC code.

[0440] FIG. 71 is a diagram showing an example of the coordinates of 64QAM-2D-NUC signal points that can be used for the new LDPC code.

[0441] 72 and 73 are diagrams showing examples of the coordinates of 256QAM-2D-NUC signal points that can be used for the new LDPC code.

[0442] FIG. 73 is a continuation of FIG.

[0443] In Figures 70 to 73, similarly to Figure 55, signal point z s The coordinates of are expressed in the form of complex numbers, and j represents the imaginary unit.

[0444] 70 to 73, w#k represents the coordinates of the signal point in the first quadrant of the constellation, as in FIG.

[0445] Here, as explained in FIG. 55, the m-bit symbol is divided into 0 to 2 m It is expressed as an integer value of -1, and b=2 m / 4, 0 to 2 m Symbols y(0), y(1), . . . , y(2 m -1) can be classified into four symbols: y(0) to y(b-1), y(b) to y(2b-1), y(2b) to y(3b-1), and y(3b) to y(4b-1).

[0446] In Figures 70 to 73, as in Figure 55, the suffix k of w#k takes an integer value ranging from 0 to b-1, and w#k represents the coordinates of the signal point corresponding to symbol y(k) ranging from symbol y(0) to y(b-1).

[0447] Furthermore, in Figures 70 to 73, as in Figure 55, the coordinates of the signal point corresponding to symbol y(k+3b) in the range of symbols y(3b) to y(4b-1) are expressed as -w#k.

[0448] However, in Figure 55, the coordinates of the signal point corresponding to symbol y(k+b) in the range of symbols y(b) to y(2b-1) are represented by -conj(w#k), and the coordinates of the signal point corresponding to symbol y(k+2b) in the range of symbols y(2b) to y(3b-1) are represented by conj(w#k), but in Figures 70 to 73, the sign of conj is reversed.

[0449] That is, in Figures 70 to 73, the coordinates of the signal point corresponding to symbol y(k+b) in the range of symbols y(b) to y(2b-1) are represented by conj(w#k), and the coordinates of the signal point corresponding to symbol y(k+2b) in the range of symbols y(2b) to y(3b-1) are represented by -conj(w#k).

[0450] FIG. 74 is a diagram showing an example of the coordinates of 1024QAM-1D-NUC signal points that can be used for the new LDPC code.

[0451] That is, FIG. 74 shows the signal point z of 1024QAM-1D-NUC. s The real part of the complex number Re(z s ) and imaginary part Im(z s ) and the position vector u (its component u#k).

[0452] FIG. 75 is a diagram showing the relationship between the 1024QAM symbol y and the position vector u (component u#k of the vector) in FIG.

[0453] That is, let us now consider a 10-bit symbol y of 1024QAM, starting from its leading bit (most significant bit), as y 0,s ,y 1,s ,y 2,s ,y 3,s ,y 4,s ,y 5,s ,y 6,s ,y 7,s ,y 8,s ,y 9,s This will be expressed as follows.

[0454] A in Figure 75 shows the odd-numbered 5 bits y (from the beginning) of the 10-bit symbol y. 0,s ,y 2,s ,y 4,s ,y 6,s ,y 8,s and the signal point z corresponding to that symbol y s (coordinates) real part Re(z s ) and the position vector u#k.

[0455] B in Figure 75 shows the even-numbered 5 bits y of the 10-bit symbol y. 1,s ,y 3,s ,y 5,s ,y 7,s ,y 9,s and the signal point z corresponding to that symbol y s Imaginary Part Im(z s) and the position vector u#k.

[0456] The 10-bit symbol y of 1024QAM corresponds to the signal point z of 1024QAM-1D-NUC specified in Figures 74 and 75. s When the signal point z is mapped to s The method for determining the coordinates is the same as that explained in FIGS. 56 and 57, so the explanation will be omitted.

[0457] FIG. 76 is a diagram showing an example of the coordinates of 4096QAM-1D-NUC signal points that can be used for the new LDPC code.

[0458] That is, FIG. 76 shows the signal point z of 4096QAM-1D-NUC. s The real part of the complex number Re(z s ) and imaginary part Im(z s ) and the position vector u(u#k).

[0459] 77 and 78 are diagrams showing the relationship between the 4096QAM symbol y and the position vector u (component u#k of the vector) in FIG.

[0460] That is, let us now consider a 12-bit symbol y of 4096QAM, starting from its leading bit (most significant bit), as y 0,s ,y 1,s ,y 2,s ,y 3,s ,y 4,s ,y 5,s ,y 6,s ,y 7,s ,y 8,s ,y 9,s ,y 10,s ,y 11,s This will be expressed as follows.

[0461] Figure 77 shows the odd-numbered 6 bits y of the 12-bit symbol y. 0,s ,y 2,s ,y 4,s ,y 6,s ,y 8,s ,y 10,sand the signal point z corresponding to that symbol y s The real part of Re(z s ) and the position vector u#k.

[0462] Figure 78 shows the even-numbered 6 bits y of the 12-bit symbol y. 1,s ,y 3,s ,y 5,s ,y 7,s ,y 9,s ,y 11,s and the signal point z corresponding to that symbol y s Imaginary Part Im(z s ) and the position vector u#k.

[0463] The 12-bit symbol y of 4096QAM corresponds to the signal point z of 4096QAM-1D-NUC defined in Figures 76 to 78. s When the signal point z is mapped to s The method for determining the coordinates is the same as that explained in FIGS. 56 and 57, so the explanation will be omitted.

[0464] When transmitting the NUC signal points (data mapped to them) in Figures 70 to 78, the average power of the signal points on the constellation can be normalized. Normalization is performed by taking the root mean square of the absolute values ​​of all of the signal points (coordinates) on the constellation as P ave Then, the mean square value P ave Square root of √P ave The reciprocal of 1 / (√P ave ) for each signal point z on the constellation s In addition, in the above-mentioned FIG. 57, odd-numbered bits of symbol y are multiplied by signal point z s Imaginary Part Im(z s ) and the even-numbered bits of the symbol y correspond to the signal point z s The real part of Re(z s), but in Figures 75, 77 and 78, the odd-numbered bits of the symbol y correspond to the signal point z s The real part of Re(z s ) and the even-numbered bits of the symbol y correspond to the signal point z s Imaginary Part Im(z s ) is associated with a position vector u#k representing the

[0465] <Block Interleaver 25>

[0466] FIG. 79 is a diagram for explaining the block interleaving performed by the block interleaver 25 in FIG.

[0467] Block interleaving is performed by dividing an LDPC code of one codeword into a part called part 1 and a part called part 2, starting from the beginning.

[0468] If the length (number of bits) of part 1 is represented as Npart1 and the length of part 2 is represented as Npart2, then Npart1+Npart2 is equal to the code length N.

[0469] Conceptually, in block interleaving, columns as storage areas for storing Npart1 / m bits are arranged in one direction (vertical) as a column direction, and m columns, which is equal to the number of bits m of a symbol, are arranged in a row direction perpendicular to the column direction, and each column is divided from the top into small units of 360 bits, which is the parallel factor P. These small units of columns are also called column units.

[0470] In block interleaving, as shown in FIG. 79, part 1 of an LDPC code of one codeword is written from top to bottom (column direction) in the first column unit of a column, moving from left to right toward the column.

[0471] Then, when writing to the first column unit of the rightmost column is completed, as shown in Figure 79, it returns to the leftmost column and writing from top to bottom of the second column unit of the column is performed from left to right column, and so on, and so on, writing part 1 of one codeword LDPC code is performed.

[0472] When writing of part 1 of the LDPC code of one codeword is completed, part 1 of the LDPC code is read out in m-bit units in the row direction from the first row of all m columns, as shown in FIG.

[0473] The m-bit units of part 1 are supplied as m-bit symbols from block interleaver 25 to mapper 117 (FIG. 8).

[0474] Part 1 is read out in m-bit units sequentially moving down the m columns, and when reading of part 1 is completed, part 2 is divided into m-bit units from the beginning and supplied as m-bit symbols from block interleaver 25 to mapper 117.

[0475] Therefore, part 1 is symbolized while being interleaved, and part 2 is symbolized sequentially, separated into m bits, without being interleaved.

[0476] The length of the column, Npart1 / m, is a multiple of 360, which is the parallel factor P, and an LDPC code of one code word is divided into part 1 and part 2 so that Npart1 / m is a multiple of 360.

[0477] FIG. 80 is a diagram showing examples of part 1 and part 2 of an LDPC code with a code length N of 17280 bits when the modulation scheme is QPSK, 16QAM, 64QAM, and 256QAM, respectively.

[0478] When the modulation method is QPSK, 16QAM, 64QAM, or 256QAM, in any case, part 1 is 17280 bits and part 2 is 0 bit.

[0479] <Group-wise interleaving>

[0480] FIG. 81 is a diagram for explaining group-wise interleaving performed by the group-wise interleaver 24 of FIG.

[0481] In group-wise interleaving, as shown in FIG. 81, an LDPC code of one codeword is divided into 360-bit units, which is equal to the parallel factor P, from the beginning, and the 360 ​​bits of each unit are treated as a bit group, and the LDPC code of one codeword is interleaved in bit group units according to a predetermined pattern (hereinafter also referred to as a GW pattern).

[0482] Here, when an LDPC code of one codeword is divided into bit groups, the (i+1)th bit group from the beginning will hereinafter also be referred to as bit group i.

[0483] When the parallel factor P is 360, for example, an LDPC code having a code length N of 1800 bits is divided into 5 (=1800 / 360) bit groups, namely, bit groups 0, 1, 2, 3, and 4. Furthermore, for example, an LDPC code having a code length N of 69120 bits is divided into 192 (=69120 / 360) bit groups, namely, bit groups 0, 1, . . . , 191. Furthermore, for example, an LDPC code having a code length N of 17280 bits is divided into 48 (=17280 / 360) bit groups, namely, bit groups 0, 1, . . . , 47.

[0484] Hereinafter, the GW pattern shall be represented by a sequence of numbers representing bit groups. For example, for an LDPC code with a code length N of 1800 bits and five bit groups 0, 1, 2, 3, 4, the GW pattern 4, 2, 0, 3, 1, for example, represents interleaving (rearranging) the sequence of bit groups 0, 1, 2, 3, 4 into the sequence of bit groups 4, 2, 0, 3, 1. Note that for the sequence of bit groups and the GW pattern, in addition to being represented by a comma-separated sequence of numbers representing bit groups (for example, 4, 2, 0, 3, 1), it can also be represented by a space-separated sequence of numbers representing bit groups (for example, 4 2 0 3 1).

[0485] For example, now, let the (i + 1)-th code bit from the beginning of an LDPC code with a code length N of 1800 bits be represented by x i as follows.

[0486] In this case, according to the group-wise interleaving of the GW pattern 4, 2, 0, 3, 1, the 1800-bit LDPC code {x0, x1,..., x<( 1799} is interleaved into the sequence of {x 1440 , x 1441 ,..., x 1799}, {x 720 , x 721 ,..., x 1079}, {x0, x1,..., x 359}, {x 1080 , x 1081 ,..., x 1439}, {x 360 , x 361 ,..., x 719}.

[0487] The GW pattern can be set for each code length N of the LDPC code, for each coding rate r, for each modulation method, for each constellation, and further for each combination of two or more of the code length N, coding rate r, modulation method, and constellation.

[0488] <Examples of GW Patterns for LDPC Codes>

[0489] FIG. 82 is a diagram illustrating a first example of a GW pattern for an LDPC code having a code length N of 17280 bits.

[0490] According to the GW pattern in FIG. 82, the arrangement of bit groups 0 to 47 of the 17280-bit LDPC code is 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 are interleaved in the sequence.

[0491] FIG. 83 is a diagram illustrating a second example of a GW pattern for an LDPC code having a code length N of 17280 bits.

[0492] According to the GW pattern in FIG. 83, the arrangement of bit groups 0 to 47 of the 17280-bit LDPC code is 19 33 45 22 43 23 46 32 11 40 13 34 14 47 0 12 6 26 37 4 5 17 25 30 39 29 27 28 10 21 36 9 3 20 24 42 7 41 44 38 15 8 31 16 2 1 35 18 are interleaved in the sequence.

[0493] FIG. 84 is a diagram illustrating a third example of a GW pattern for an LDPC code having a code length N of 17280 bits.

[0494] According to the GW pattern in FIG. 84, the arrangement of bit groups 0 to 47 of the 17280-bit LDPC code is 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 are interleaved in the sequence.

[0495] FIG. 85 is a diagram illustrating a fourth example of a GW pattern for an LDPC code having a code length N of 17280 bits.

[0496] According to the GW pattern in FIG. 85, the arrangement of bit groups 0 to 47 of the 17280-bit LDPC code is 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 are interleaved in the sequence.

[0497] FIG. 86 is a diagram illustrating a fifth example of a GW pattern for an LDPC code having a code length N of 17280 bits.

[0498] According to the GW pattern in FIG. 86, the arrangement of bit groups 0 to 47 of the 17280-bit LDPC code is 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 are interleaved in the sequence.

[0499] FIG. 87 is a diagram illustrating a sixth example of a GW pattern for an LDPC code having a code length N of 17280 bits.

[0500] According to the GW pattern in FIG. 87, the arrangement of bit groups 0 to 47 of the 17280-bit LDPC code is 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 are interleaved in the sequence.

[0501] FIG. 88 is a diagram showing a seventh example of a GW pattern for an LDPC code having a code length N of 17280 bits.

[0502] According to the GW pattern in FIG. 88, the arrangement of bit groups 0 to 47 of the 17280-bit LDPC code is 32 42 35 16 45 38 29 30 9 43 31 11 34 25 39 7 13 4 0 21 46 15 5 20 33 47 44 40 37 19 23 8 12 3 26 14 1 10 28 36 24 22 18 2 6 27 41 17 are interleaved in the sequence.

[0503] FIG. 89 is a diagram showing an eighth example of a GW pattern for an LDPC code having a code length N of 17280 bits.

[0504] According to the GW pattern in FIG. 89, the arrangement of bit groups 0 to 47 of the 17280-bit LDPC code is 33 16 0 26 35 31 21 34 42 43 32 29 7 47 37 28 5 9 30 25 3 17 23 24 41 45 20 12 27 39 8 4 1 6 2 38 10 40 18 19 46 11 36 13 22 14 15 44 are interleaved in the sequence.

[0505] FIG. 90 is a diagram illustrating a ninth example of a GW pattern for an LDPC code having a code length N of 17280 bits.

[0506] According to the GW pattern in FIG. 90, the arrangement of bit groups 0 to 47 of the 17280-bit LDPC code is 41 10 21 37 9 8 11 27 16 23 25 2 34 7 29 28 5 15 31 45 4 43 33 22 18 13 35 30 6 12 44 1 20 40 42 39 19 17 36 38 26 0 32 3 47 14 24 46 are interleaved in the sequence.

[0507] FIG. 91 is a diagram illustrating a tenth example of a GW pattern for an LDPC code having a code length N of 17280 bits.

[0508] According to the GW pattern in FIG. 91, the arrangement of bit groups 0 to 47 of the 17280-bit LDPC code is 15 21 29 10 12 32 1 9 31 47 23 30 26 18 0 28 7 20 43 44 3 45 5 17 16 46 40 39 6 38 34 36 22 33 27 24 25 13 14 37 19 8 42 11 4 2 35 41 are interleaved in the sequence.

[0509] FIG. 92 is a diagram illustrating an eleventh example of a GW pattern for an LDPC code having a code length N of 17280 bits.

[0510] According to the GW pattern in FIG. 92, the arrangement of bit groups 0 to 47 of the 17280-bit LDPC code is 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 are interleaved in the sequence.

[0511] FIG. 93 is a diagram illustrating a twelfth example of a GW pattern for an LDPC code having a code length N of 17280 bits.

[0512] According to the GW pattern in FIG. 93, the arrangement of bit groups 0 to 47 of the 17280-bit LDPC code is 31 23 1 42 36 25 47 3 12 30 32 8 11 27 21 40 16 13 34 4 26 35 46 20 29 28 5 43 18 39 24 14 0 10 7 41 37 9 38 33 2 6 19 45 17 15 22 44 are interleaved in the sequence.

[0513] FIG. 94 is a diagram illustrating a thirteenth example of a GW pattern for an LDPC code having a code length N of 17280 bits.

[0514] According to the GW pattern in FIG. 94, the arrangement of bit groups 0 to 47 of the 17280-bit LDPC code is 46 11 23 33 10 0 17 47 20 5 38 29 28 16 41 27 2 31 43 37 34 12 35 24 21 44 40 36 32 39 4 19 26 6 30 9 42 1 22 8 3 45 14 15 13 7 25 18 are interleaved in the sequence.

[0515] FIG. 95 is a diagram illustrating a fourteenth example of a GW pattern for an LDPC code having a code length N of 17280 bits.

[0516] According to the GW pattern in FIG. 95, the arrangement of bit groups 0 to 47 of the 17280-bit LDPC code is 16 32 33 43 3 29 0 22 40 24 44 8 20 13 15 45 7 34 39 42 25 28 18 26 38 10 11 41 47 23 6 1 14 4 12 31 21 19 37 36 30 5 46 27 35 2 9 17 are interleaved in the sequence.

[0517] FIG. 96 is a diagram illustrating a fifteenth example of a GW pattern for an LDPC code having a code length N of 17280 bits.

[0518] According to the GW pattern in FIG. 96, the arrangement of bit groups 0 to 47 of the 17280-bit LDPC code is 23 42 33 17 37 2 22 14 21 0 12 44 30 1 25 35 46 13 10 24 20 15 45 31 41 43 28 36 16 4 32 18 3 6 34 11 40 5 38 27 29 8 26 7 39 9 47 19 are interleaved in the sequence.

[0519] FIG. 97 is a diagram illustrating a 16th example of a GW pattern for an LDPC code having a code length N of 17280 bits.

[0520] According to the GW pattern in FIG. 97, the arrangement of bit groups 0 to 47 of the 17280-bit LDPC code is 7 0 8 39 17 3 32 2 13 19 16 14 5 10 27 35 45 26 44 43 11 24 28 34 20 29 22 41 18 9 37 12 21 4 46 33 15 36 42 1 40 25 23 30 6 38 31 47 are interleaved in the sequence.

[0521] FIG. 98 is a diagram showing a 17th example of a GW pattern for an LDPC code having a code length N of 17280 bits.

[0522] According to the GW pattern in FIG. 98, the arrangement of bit groups 0 to 47 of the 17280-bit LDPC code is 1 28 12 35 23 36 24 17 10 14 15 37 18 13 41 38 33 29 16 21 27 4 9 31 45 40 0 ​​46 7 43 30 34 8 44 47 2 20 6 42 3 22 39 5 32 11 19 25 26 are interleaved in the sequence.

[0523] FIG. 99 is a diagram showing an 18th example of a GW pattern for an LDPC code having a code length N of 17280 bits.

[0524] According to the GW pattern in FIG. 99, the arrangement of bit groups 0 to 47 of the 17280-bit LDPC code is 9 8 3 40 27 4 7 45 28 29 14 41 20 6 21 5 36 12 31 39 30 15 37 10 34 25 1 47 26 13 32 43 44 24 33 16 42 2 22 19 18 35 23 46 11 17 38 0 are interleaved in the sequence.

[0525] FIG. 100 is a diagram showing a 19th example of a GW pattern for an LDPC code with a code length N of 17280 bits.

[0526] According to the GW pattern of FIG. 100, the arrangement of bit groups 0 to 47 of the 17280-bit LDPC code is 12 42 40 41 20 18 27 24 39 6 0 15 8 31 10 3 13 46 4 37 33 25 44 2 16 23 28 14 17 43 45 1 35 38 26 21 36 22 47 11 34 29 30 32 19 7 5 9 are interleaved in the sequence.

[0527] FIG. 101 is a diagram illustrating a 20th example of a GW pattern for an LDPC code having a code length N of 17280 bits.

[0528] According to the GW pattern in FIG. 101, the arrangement of bit groups 0 to 47 of the 17280-bit LDPC code is 33 18 21 29 14 4 35 32 26 15 11 6 1 47 38 17 45 27 2 5 16 12 23 25 3 0 42 13 41 46 9 24 40 43 7 31 39 34 30 20 8 36 22 10 19 28 37 44 are interleaved in the sequence.

[0529] FIG. 102 is a diagram illustrating a 21st example of a GW pattern for an LDPC code having a code length N of 17280 bits.

[0530] According to the GW pattern in FIG. 102, the arrangement of bit groups 0 to 47 of the 17280-bit LDPC code is 7 28 41 8 6 12 14 47 4 38 32 37 23 33 15 46 22 0 34 24 40 45 27 19 43 11 36 9 17 21 31 44 2 1 26 13 42 30 35 5 29 25 16 20 39 10 18 3 are interleaved in the sequence.

[0531] FIG. 103 is a diagram illustrating a 22nd example of a GW pattern for an LDPC code having a code length N of 17280 bits.

[0532] According to the GW pattern in FIG. 103, the arrangement of bit groups 0 to 47 of the 17280-bit LDPC code is 30 14 40 26 21 5 12 3 18 17 11 38 4 46 7 31 0 1 27 36 8 10 2 22 13 9 37 42 41 32 15 39 23 25 34 24 35 28 20 16 19 33 6 43 29 45 47 44 are interleaved in the sequence.

[0533] FIG. 104 is a diagram illustrating a 23rd example of a GW pattern for an LDPC code having a code length N of 17280 bits.

[0534] According to the GW pattern in FIG. 104, the arrangement of bit groups 0 to 47 of the 17280-bit LDPC code is 23 20 14 9 44 41 19 36 38 13 16 28 0 8 2 39 31 29 21 10 11 33 32 27 46 7 5 35 26 1 43 40 37 17 47 30 6 18 15 42 3 25 4 22 24 12 45 34 are interleaved in the sequence.

[0535] FIG. 105 is a diagram illustrating a 24th example of a GW pattern for an LDPC code having a code length N of 17280 bits.

[0536] According to the GW pattern in FIG. 105, the arrangement of bit groups 0 to 47 of the 17280-bit LDPC code is 37 30 14 13 2 31 27 9 46 41 47 18 23 28 43 10 39 42 16 22 36 8 33 32 4 1 45 19 12 6 35 0 24 25 15 38 44 7 26 21 34 40 29 20 11 5 17 3 are interleaved in the sequence.

[0537] FIG. 106 is a diagram illustrating a 25th example of a GW pattern for an LDPC code having a code length N of 17280 bits.

[0538] According to the GW pattern in FIG. 106, the arrangement of bit groups 0 to 47 of the 17280-bit LDPC code is 6 28 25 38 43 11 21 31 47 8 17 39 23 27 30 32 3 35 12 7 1 16 18 36 10 24 41 4 44 22 5 33 46 29 0 26 9 42 37 45 15 40 2 19 14 20 34 13 are interleaved in the sequence.

[0539] FIG. 107 is a diagram illustrating a 26th example of a GW pattern for an LDPC code having a code length N of 17280 bits.

[0540] According to the GW pattern in FIG. 107, the arrangement of bit groups 0 to 47 of the 17280-bit LDPC code is 39 11 12 7 3 1 40 31 27 0 45 42 6 5 24 36 46 19 34 22 29 13 35 2 17 33 20 14 15 25 38 9 41 30 44 18 8 28 37 4 32 47 16 43 21 23 26 10 are interleaved in the sequence.

[0541] FIG. 108 is a diagram illustrating a 27th example of a GW pattern for an LDPC code having a code length N of 17280 bits.

[0542] According to the GW pattern of FIG. 108, the arrangement of bit groups 0 to 47 of the 17280-bit LDPC code is 25 2 36 9 3 31 47 19 13 14 24 7 1 21 22 5 20 11 41 38 26 33 27 30 43 12 46 17 10 18 4 45 40 44 29 35 8 0 34 15 23 28 6 32 37 39 16 42 are interleaved in the sequence.

[0543] FIG. 109 is a diagram illustrating a 28th example of a GW pattern for an LDPC code having a code length N of 17280 bits.

[0544] According to the GW pattern in FIG. 109, the arrangement of bit groups 0 to 47 of the 17280-bit LDPC code is 12 7 39 31 30 44 14 33 35 17 37 27 2 28 9 26 32 3 46 0 34 6 43 25 21 47 18 45 5 20 13 38 11 29 16 36 8 40 15 41 10 23 1 19 4 22 42 24 are interleaved in the sequence.

[0545] FIG. 110 is a diagram illustrating a 29th example of a GW pattern for an LDPC code having a code length N of 17280 bits.

[0546] According to the GW pattern in FIG. 110, the arrangement of bit groups 0 to 47 of the 17280-bit LDPC code is 20 19 13 25 32 9 5 24 39 4 29 40 14 18 43 46 21 44 10 15 35 3 23 47 37 12 30 33 27 36 8 28 38 7 42 22 2 0 6 16 45 26 17 11 31 34 41 1 are interleaved in the sequence.

[0547] FIG. 111 is a diagram illustrating a 30th example of a GW pattern for an LDPC code having a code length N of 17280 bits.

[0548] According to the GW pattern in FIG. 111, the arrangement of bit groups 0 to 47 of the 17280-bit LDPC code is 19 20 44 3 6 28 13 15 16 24 9 34 39 8 17 40 29 31 22 10 11 7 35 42 23 2 14 37 33 1 26 45 38 12 47 30 5 18 46 0 41 27 4 21 43 25 36 32 are interleaved in the sequence.

[0549] FIG. 112 is a diagram illustrating a 31st example of a GW pattern for an LDPC code having a code length N of 17280 bits.

[0550] According to the GW pattern in FIG. 112, the arrangement of bit groups 0 to 47 of the 17280-bit LDPC code is 4 26 7 21 43 42 33 17 35 19 10 39 27 13 18 34 38 3 28 36 1 5 44 37 16 30 14 9 32 47 29 2 31 23 0 24 11 8 6 46 40 45 15 22 25 20 12 41 are interleaved in the sequence.

[0551] FIG. 113 is a diagram illustrating a 32nd example of a GW pattern for an LDPC code having a code length N of 17280 bits.

[0552] According to the GW pattern in FIG. 113, the arrangement of bit groups 0 to 47 of the 17280-bit LDPC code is 8 28 33 21 1 39 34 7 0 17 5 41 23 2 14 10 29 25 13 18 35 38 27 44 20 32 31 11 40 30 24 3 36 22 15 37 16 6 42 45 19 47 12 26 43 9 46 4 are interleaved in the sequence.

[0553] FIG. 114 is a diagram illustrating a 33rd example of a GW pattern for an LDPC code having a code length N of 17280 bits.

[0554] According to the GW pattern in Figure 114, the arrangement of bit groups 0 to 47 of the 17280-bit LDPC code is 19 40 36 11 43 45 47 25 18 6 20 10 24 21 28 38 35 14 26 29 0 44 17 5 22 7 33 23 1 37 2 4 32 42 34 12 27 9 31 46 13 39 15 30 8 16 41 3 are interleaved in the sequence.

[0555] FIG. 115 is a diagram showing a 34th example of a GW pattern for an LDPC code having a code length N of 17280 bits.

[0556] According to the GW pattern in Figure 115, the sequence of bit groups 0 to 47 of the 17280-bit LDPC code is 11 0 42 24 46 27 25 3 1 41 22 40 19 18 14 36 33 4 47 12 39 30 13 5 2 7 31 9 38 35 15 43 45 44 28 20 32 21 26 23 6 10 8 37 17 34 29 16 are interleaved in the sequence.

[0557] FIG. 116 is a diagram illustrating a 35th example of a GW pattern for an LDPC code having a code length N of 17280 bits.

[0558] According to the GW pattern in FIG. 116, the arrangement of bit groups 0 to 47 of the 17280-bit LDPC code is 5 45 42 35 13 41 2 29 15 11 16 0 8 1 33 34 44 7 43 22 24 19 9 38 18 12 26 20 28 21 10 30 40 6 46 37 47 17 3 32 4 39 23 25 36 14 31 27 are interleaved in the sequence.

[0559] FIG. 117 is a diagram showing a 36th example of a GW pattern for an LDPC code having a code length N of 17280 bits.

[0560] According to the GW pattern in Figure 117, the arrangement of bit groups 0 to 47 of the 17280-bit LDPC code is 18 16 21 2 43 10 44 42 19 15 20 26 1 38 46 28 17 29 6 22 7 32 31 30 24 3 8 9 12 37 47 40 39 5 35 11 25 45 34 33 23 4 14 27 13 41 36 0 are interleaved in the sequence.

[0561] FIG. 118 is a diagram illustrating a 37th example of a GW pattern for an LDPC code having a code length N of 17280 bits.

[0562] According to the GW pattern in FIG. 118, the arrangement of bit groups 0 to 47 of the 17280-bit LDPC code is 28 9 4 27 17 10 12 6 19 30 1 23 39 14 38 34 46 8 15 43 13 47 0 44 7 24 45 18 25 29 37 42 22 31 11 36 20 32 41 33 2 26 21 5 3 16 40 35 are interleaved in the sequence.

[0563] FIG. 119 is a diagram illustrating a 38th example of a GW pattern for an LDPC code having a code length N of 17280 bits.

[0564] According to the GW pattern in FIG. 119, the arrangement of bit groups 0 to 47 of the 17280-bit LDPC code is 5 37 36 38 16 21 41 44 10 18 26 27 15 1 43 2 33 14 9 30 8 12 23 4 13 35 31 3 34 19 42 47 46 29 0 25 20 17 39 45 28 6 22 11 32 40 24 7 are interleaved in the sequence.

[0565] FIG. 120 is a diagram illustrating a 39th example of a GW pattern for an LDPC code having a code length N of 17280 bits.

[0566] According to the GW pattern of FIG. 120, the arrangement of bit groups 0 to 47 of the 17280-bit LDPC code is 11 1 12 21 13 15 24 36 34 0 37 9 14 39 19 16 17 28 40 29 23 46 30 38 33 3 6 18 26 7 27 45 10 25 4 42 31 43 35 32 5 8 44 41 47 22 20 2 are interleaved in the sequence.

[0567] FIG. 121 is a diagram showing a 40th example of a GW pattern for an LDPC code having a code length N of 17280 bits.

[0568] According to the GW pattern in FIG. 121, the arrangement of bit groups 0 to 47 of the 17280-bit LDPC code is 3 41 6 42 21 2 25 45 8 39 34 26 47 43 23 20 13 16 38 24 5 40 0 ​​11 7 31 32 15 36 33 9 12 10 30 29 14 18 35 46 4 28 19 1 44 37 27 17 22 are interleaved in the sequence.

[0569] FIG. 122 is a diagram showing a 41st example of a GW pattern for an LDPC code having a code length N of 17280 bits.

[0570] According to the GW pattern in FIG. 122, the arrangement of bit groups 0 to 47 of the 17280-bit LDPC code is 40 42 11 10 15 6 34 37 16 45 25 47 32 8 17 26 29 7 18 21 46 44 28 27 20 38 43 36 33 5 24 9 13 2 0 4 39 31 1 22 30 12 14 41 23 3 19 35 are interleaved in the sequence.

[0571] FIG. 123 is a diagram illustrating a 42nd example of a GW pattern for an LDPC code having a code length N of 17280 bits.

[0572] According to the GW pattern in FIG. 123, the arrangement of bit groups 0 to 47 of the 17280-bit LDPC code is 6 0 20 18 37 27 39 3 1 2 46 11 24 36 14 15 4 16 10 13 35 23 26 30 19 42 7 9 33 40 12 34 22 5 28 21 32 38 44 25 17 41 29 45 8 47 31 43 are interleaved in the sequence.

[0573] FIG. 124 is a diagram illustrating a 43rd example of a GW pattern for an LDPC code having a code length N of 17280 bits.

[0574] According to the GW pattern in FIG. 124, the arrangement of bit groups 0 to 47 of the 17280-bit LDPC code is 8 25 12 9 26 37 35 28 14 5 6 2 29 38 22 31 11 21 17 33 42 43 36 45 20 27 44 13 16 46 10 30 3 32 19 1 15 4 18 40 47 7 34 24 41 23 39 0 are interleaved in the sequence.

[0575] FIG. 125 is a diagram illustrating a 44th example of a GW pattern for an LDPC code having a code length N of 17280 bits.

[0576] According to the GW pattern in FIG. 125, the arrangement of bit groups 0 to 47 of the 17280-bit LDPC code is 7 17 26 27 9 39 46 47 32 12 35 25 14 11 22 23 16 29 38 33 34 4 40 10 5 18 37 1 24 44 30 3 0 45 28 13 15 20 6 21 31 19 2 8 41 36 42 43 are interleaved in the sequence.

[0577] FIG. 126 is a diagram illustrating a 45th example of a GW pattern for an LDPC code having a code length N of 17280 bits.

[0578] According to the GW pattern in FIG. 126, the arrangement of bit groups 0 to 47 of the 17280-bit LDPC code is 11 14 32 27 44 43 0 47 1 8 35 33 7 2 41 15 13 4 23 30 16 42 46 24 9 17 21 20 18 5 19 12 3 34 28 40 39 37 31 38 45 36 6 22 26 10 25 29 are interleaved in the sequence.

[0579] The above-described first to forty-fifth examples of GW patterns for an LDPC code having a code length N of 17280 bits can be applied to any combination of an LDPC code having a code length N of 17280 bits, an arbitrary coding rate r, an arbitrary modulation method, and an arbitrary constellation.

[0580] However, for group-wise interleaving, the error rate can be further improved for each combination by setting the GW pattern to be applied for each combination of the code length N of the LDPC code, the coding rate r of the LDPC code, the modulation method, and the constellation.

[0581] The GW pattern of FIG. 82 can achieve a particularly good error rate by applying it to, for example, the type A code of r=3 / 16 (corresponding to the check matrix initial value table) of FIG. 31, QPSK, and the combination of QPSK-UC of FIG. 58 and FIG. 59.

[0582] The GW pattern of FIG. 83 can achieve a particularly good error rate by applying it to, for example, the Type A code of r=5 / 16 of FIG. 33, QPSK, and the combination of QPSK-UC of FIGS. 58 and 59.

[0583] The GW pattern of FIG. 84 can achieve a particularly good error rate by applying it to, for example, the Type B code of r=7 / 16 of FIG. 36, QPSK, and the combination of QPSK-UC of FIGS. 58 and 59.

[0584] The GW pattern of FIG. 85 can achieve a particularly good error rate by applying it to, for example, the new type B code of r=9 / 16 of FIG. 52, QPSK, and the combination of QPSK-UC of FIGS. 58 and 59.

[0585] The GW pattern of FIG. 86 can achieve a particularly good error rate by applying it to, for example, the Type B code of r=11 / 16 of FIG. 40, QPSK, and the combination of QPSK-UC of FIGS. 58 and 59.

[0586] The GW pattern of FIG. 87 can achieve a particularly good error rate by applying it to, for example, the Type B code of r=13 / 16 of FIG. 42, QPSK, and the combination of QPSK-UC of FIGS. 58 and 59.

[0587] The GW pattern of Figure 88 can achieve a particularly good error rate by applying it to, for example, the combination of Type A code with r=3 / 16 of Figure 31, 16QAM, and 16QAM-UC of Figures 60 and 61.

[0588] The GW pattern of Figure 89 can achieve a particularly good error rate by applying it to, for example, the combination of Type A code with r=5 / 16 of Figure 33, 16QAM, and 16QAM-UC of Figures 60 and 61.

[0589] The GW pattern of Figure 90 can achieve a particularly good error rate by applying it to, for example, the Type B code of r=7 / 16 of Figure 36, 16QAM, and the combination of 16QAM-UC of Figures 60 and 61.

[0590] The GW pattern in Figure 91 can achieve a particularly good error rate by applying it to, for example, the new Type B code with r=9 / 16 in Figure 52, 16QAM, and a combination of 16QAM-UC in Figures 60 and 61.

[0591] The GW pattern of Figure 92 can achieve a particularly good error rate by applying it to, for example, the combination of the Type B code of r=11 / 16 of Figure 40, 16QAM, and 16QAM-UC of Figures 60 and 61.

[0592] The GW pattern of Figure 93 can achieve a particularly good error rate by applying it to, for example, the combination of Type B code of r=13 / 16 of Figure 42, 16QAM, and 16QAM-UC of Figures 60 and 61.

[0593] The GW pattern of FIG. 94 can achieve a particularly good error rate by applying it to, for example, a combination of the Type A code of r=2 / 16 of FIG. 30, 16QAM, and 16QAM-2D-NUC of FIG.

[0594] The GW pattern in FIG. 95 can achieve a particularly good error rate by applying it to, for example, the combination of the new type-A code with r=4 / 16 in FIG. 50, 16QAM, and 16QAM-2D-NUC in FIG. 70.

[0595] The GW pattern of FIG. 96 can achieve a particularly good error rate by applying it to, for example, a combination of the Type A code of r=6 / 16 of FIG. 34, 16QAM, and 16QAM-2D-NUC of FIG.

[0596] The GW pattern of FIG. 97 can achieve a particularly good error rate by applying it to, for example, a combination of the Type B code of r=8 / 16 of FIG. 37, 16QAM, and 16QAM-2D-NUC of FIG.

[0597] The GW pattern of FIG. 98 can achieve a particularly good error rate by applying it to, for example, a combination of the Type B code of r=10 / 16 of FIG. 39, 16QAM, and 16QAM-2D-NUC of FIG.

[0598] The GW pattern of Figure 99 can achieve a particularly good error rate by applying it to, for example, a combination of Type B code with r=12 / 16 of Figure 41, 16QAM, and 16QAM-2D-NUC of Figure 70.

[0599] The GW pattern of FIG. 100 can achieve a particularly good error rate by applying it to, for example, a combination of the Type B code of r=14 / 16 of FIG. 43, 16QAM, and 16QAM-2D-NUC of FIG.

[0600] The GW pattern of Figure 101 can achieve a particularly good error rate by applying it to, for example, the combination of Type A code with r=2 / 16 of Figure 30, 64QAM, and 64QAM-UC of Figures 62 and 63.

[0601] The GW pattern of Figure 102 can achieve a particularly good error rate by applying it to, for example, the combination of the new type-A code of r=4 / 16 of Figure 50, 64QAM, and 64QAM-UC of Figures 62 and 63.

[0602] The GW pattern of Figure 103 can achieve a particularly good error rate by applying it to, for example, the combination of Type A code with r=6 / 16 of Figure 34, 64QAM, and 64QAM-UC of Figures 62 and 63.

[0603] The GW pattern of Figure 104 can achieve a particularly good error rate by applying it to, for example, the combination of Type B code with r=8 / 16 of Figure 37, 64QAM, and 64QAM-UC of Figures 62 and 63.

[0604] The GW pattern of Figure 105 can achieve a particularly good error rate by applying it to, for example, the combination of Type B code of r=10 / 16 of Figure 39, 64QAM, and 64QAM-UC of Figures 62 and 63.

[0605] The GW pattern of Figure 106 can achieve a particularly good error rate by applying it to, for example, the combination of Type B code with r=12 / 16 of Figure 41, 64QAM, and 64QAM-UC of Figures 62 and 63.

[0606] The GW pattern of Figure 107 can achieve a particularly good error rate by applying it to, for example, the Type B code of r=14 / 16 of Figure 43, 64QAM, and the combination of 64QAM-UC of Figures 62 and 63.

[0607] The GW pattern of FIG. 108 can achieve a particularly good error rate by applying it to, for example, a combination of the Type A code of r=3 / 16 of FIG. 31, 64QAM, and 64QAM-2D-NUC of FIG.

[0608] The GW pattern of FIG. 109 can achieve a particularly good error rate by applying it to, for example, a combination of the Type A code of r=5 / 16 of FIG. 33, 64QAM, and 64QAM-2D-NUC of FIG. 71.

[0609] The GW pattern of FIG. 110 can achieve a particularly good error rate by applying it to, for example, a combination of the Type B code of r=7 / 16 of FIG. 36, 64QAM, and 64QAM-2D-NUC of FIG. 71.

[0610] The GW pattern in FIG. 111 can achieve a particularly good error rate by applying it to, for example, a combination of the new Type B code with r=9 / 16 in FIG. 52, 64QAM, and 64QAM-2D-NUC in FIG. 71.

[0611] The GW pattern in FIG. 112 can achieve a particularly good error rate by applying it to, for example, a combination of the Type B code with r=11 / 16 in FIG. 40, 64QAM, and 64QAM-2D-NUC in FIG. 71.

[0612] The GW pattern in FIG. 113 can achieve a particularly good error rate by applying it to, for example, a combination of the Type B code of r=13 / 16 in FIG. 42, 64QAM, and 64QAM-2D-NUC in FIG. 71.

[0613] The GW pattern of Figure 114 can achieve a particularly good error rate by applying it to, for example, the combination of Type A code with r=3 / 16 of Figure 31, 256QAM, and 256QAM-UC of Figures 64 and 65.

[0614] The GW pattern of Figure 115 can achieve a particularly good error rate by applying it to, for example, the combination of Type A code with r=5 / 16 of Figure 33, 256QAM, and 256QAM-UC of Figures 64 and 65.

[0615] The GW pattern of Figure 116 can achieve a particularly good error rate by applying it to, for example, the combination of Type B code of r=7 / 16 of Figure 36, 256QAM, and 256QAM-UC of Figures 64 and 65.

[0616] The GW pattern in Figure 117 can achieve a particularly good error rate by applying it to, for example, the combination of the new Type B code with r=9 / 16 in Figure 52, 256QAM, and 256QAM-UC in Figures 64 and 65.

[0617] The GW pattern of Figure 118 can achieve a particularly good error rate by applying it to, for example, the combination of Type B code with r=11 / 16 of Figure 40, 256QAM, and 256QAM-UC of Figures 64 and 65.

[0618] The GW pattern of Figure 119 can achieve a particularly good error rate by applying it to, for example, the combination of Type B code with r=13 / 16 of Figure 42, 256QAM, and 256QAM-UC of Figures 64 and 65.

[0619] The GW pattern of FIG. 120 can achieve a particularly good error rate by applying it to, for example, a combination of the Type A code of r=2 / 16 of FIG. 30, 256QAM, and 256QAM-2D-NUC of FIGS. 72 and 73.

[0620] The GW pattern in Figure 121 can achieve a particularly good error rate by applying it to, for example, the combination of the new type-A code with r=4 / 16 in Figure 50, 256QAM, and 256QAM-2D-NUC in Figures 72 and 73.

[0621] The GW pattern of Figure 122 can achieve a particularly good error rate by applying it to, for example, the combination of Type A code with r=6 / 16 of Figure 34, 256QAM, and 256QAM-2D-NUC of Figures 72 and 73.

[0622] The GW pattern of Figure 123 can achieve a particularly good error rate by applying it to, for example, a combination of the Type B code of r=8 / 16 of Figure 37, 256QAM, and 256QAM-2D-NUC of Figures 72 and 73.

[0623] The GW pattern of Figure 124 can achieve a particularly good error rate by applying it to, for example, a combination of the Type B code of r=10 / 16 of Figure 39, 256QAM, and 256QAM-2D-NUC of Figures 72 and 73.

[0624] The GW pattern of Figure 125 can achieve a particularly good error rate by applying it to, for example, a combination of the Type B code of r=12 / 16 of Figure 41, 256QAM, and 256QAM-2D-NUC of Figures 72 and 73.

[0625] The GW pattern of Figure 126 can achieve a particularly good error rate by applying it to, for example, a combination of the Type B code of r=14 / 16 of Figure 43, 256QAM, and 256QAM-2D-NUC of Figures 72 and 73.

[0626] <Configuration example of receiving device 12>

[0627] FIG. 127 is a block diagram showing an example of the configuration of the receiving device 12 of FIG.

[0628] The OFDM operation unit 151 receives an OFDM signal from the transmitting device 11 (FIG. 7) and performs signal processing on the OFDM signal. Data obtained by the signal processing by the OFDM operation unit 151 is supplied to a frame management unit (Frame Management) 152.

[0629] The frame management unit 152 processes (frame interpretation) the frames composed of data supplied from the OFDM processing unit 151, and supplies the resulting target data signal and control data signal to frequency deinterleavers 161 and 153, respectively.

[0630] The frequency deinterleaver 153 performs frequency deinterleaving on the data from the frame management unit 152 in units of symbols, and supplies the result to a demapper 154 .

[0631] The demapper 154 performs orthogonal demodulation by demapping (signal point arrangement decoding) the data (data on a constellation) from the frequency deinterleaver 153 based on the signal point arrangement (constellation) determined by the orthogonal modulation performed on the transmitting device 11 side, and supplies the resulting data (LDPC code (likelihood)) to an LDPC decoder 155.

[0632] The LDPC decoder 155 (decoding unit) performs LDPC decoding on the LDPC code from the demapper 154 and supplies the resulting LDPC target data (here, BCH code) to a BCH decoder 156.

[0633] The BCH decoder 156 performs BCH decoding on the LDPC target data from the LDPC decoder 155, and outputs the resulting control data (signaling).

[0634] On the other hand, the frequency deinterleaver 161 performs frequency deinterleaving on the data from the frame management unit 152 in units of symbols, and supplies the result to a SISO / MISO decoder 162 .

[0635] The SISO / MISO decoder 162 performs space-time decoding on the data from the frequency deinterleaver 161 and supplies the result to a time deinterleaver 163 .

[0636] The time deinterleaver 163 performs time deinterleaving on the data from the SISO / MISO decoder 162 in units of symbols, and supplies the result to a demapper 164 .

[0637] The demapper 164 performs orthogonal demodulation by demapping (signal point arrangement decoding) the data (data on a constellation) from the time deinterleaver 163 based on the signal point arrangement (constellation) determined by the orthogonal modulation performed on the transmitting device 11 side, and supplies the resulting data to a bit deinterleaver 165.

[0638] The bit deinterleaver 165 performs bit deinterleaving on the data from the demapper 164 and supplies the LDPC code (likelihood), which is the bit deinterleaved data, to the LDPC decoder 166.

[0639] The LDPC decoder 166 performs LDPC decoding on the LDPC code from the bit deinterleaver 165 and supplies the resulting LDPC target data (here, BCH code) to the BCH decoder 167.

[0640] The BCH decoder 167 performs BCH decoding on the LDPC target data from the LDPC decoder 155 and supplies the resulting data to a BB descrambler 168 .

[0641] The BB descrambler 168 performs BB descrambling on the data from the BCH decoder 167 and supplies the resulting data to a null deletion unit (Null Deletion) 169 .

[0642] The null deletion unit 169 deletes the nulls inserted by the padder 112 in FIG. 8 from the data from the BB descrambler 168 and supplies the data to a demultiplexer 170 .

[0643] The demultiplexer 170 separates one or more streams (target data) multiplexed into the data from the null deletion unit 169, performs necessary processing, and outputs the result as an output stream.

[0644] The receiving device 12 can be configured without some of the blocks shown in Fig. 127. That is, for example, when the transmitting device 11 (Fig. 8) is configured without the time interleaver 118, the SISO / MISO encoder 119, the frequency interleaver 120, and the frequency interleaver 124, the receiving device 12 can be configured without the time deinterleaver 163, the SISO / MISO decoder 162, the frequency deinterleaver 161, and the frequency deinterleaver 153, which are blocks corresponding to the time interleaver 118, the SISO / MISO encoder 119, the frequency interleaver 120, and the frequency interleaver 124 of the transmitting device 11, respectively.

[0645] <Configuration example of bit deinterleaver 165>

[0646] FIG. 128 is a block diagram showing an example of the configuration of the bit deinterleaver 165 of FIG.

[0647] The bit deinterleaver 165 is composed of the block deinterleaver 54 and the group-wise deinterleaver 55, and performs (bit) deinterleaving of the symbol bits of the symbols that are the data from the demapper 164 (FIG. 127).

[0648] That is, the block deinterleaver 54 performs block deinterleaving (the reverse process of block interleaving) corresponding to the block interleaving performed by the block interleaver 25 of Figure 9 on the symbol bits of the symbol from the demapper 164, that is, block deinterleaving that returns the positions of the code bits (of the likelihoods) of the LDPC code rearranged by block interleaving to their original positions, and supplies the resulting LDPC code to the group-wise deinterleaver 55.

[0649] The group-wise deinterleaver 55 performs group-wise deinterleaving (the reverse process of group-wise interleaving) on ​​the LDPC code from the block deinterleaver 54, which corresponds to the group-wise interleaving performed by the group-wise interleaver 24 in Figure 9. In other words, the group-wise deinterleaver 55 performs group-wise deinterleaving to restore the original arrangement of the code bits of the LDPC code, whose arrangement has been changed on a bit group basis by the group-wise interleaving described in Figure 81, by rearranging them on a bit group basis.

[0650] Here, when the LDPC code supplied from the demapper 164 to the bit deinterleaver 165 has been subjected to parity interleaving, group-wise interleaving, and block interleaving, the bit deinterleaver 165 can perform all of the following: parity deinterleaving corresponding to parity interleaving (the inverse process of parity interleaving, i.e., parity deinterleaving that returns the code bits of the LDPC code whose order has been changed by parity interleaving to their original order), block deinterleaving corresponding to block interleaving, and group-wise deinterleaving corresponding to group-wise interleaving.

[0651] However, in the bit deinterleaver 165 of Figure 128, a block deinterleaver 54 that performs block deinterleaving corresponding to block interleaving and a group-wise deinterleaver 55 that performs group-wise deinterleaving corresponding to group-wise interleaving are provided, but a block that performs parity deinterleaving corresponding to parity interleaving is not provided, and parity deinterleaving is not performed.

[0652] Therefore, the LDPC decoder 166 is supplied with an LDPC code that has been block deinterleaved and group-wise deinterleaved, but not parity deinterleaved, from the bit deinterleaver 165 (the group-wise deinterleaver 55 thereof).

[0653] The LDPC decoder 166 performs LDPC decoding of the LDPC code from the bit deinterleaver 165 based on a transformed parity check matrix obtained by performing at least column permutation equivalent to parity interleaving on the parity check matrix H of the Type B method used for LDPC encoding by the LDPC encoder 115 of FIG. 8, or a transformed parity check matrix (FIG. 29) obtained by performing row permutation on the parity check matrix of the Type A method (FIG. 27), and outputs the resulting data as the decoded result of the LDPC target data.

[0654] FIG. 129 is a flowchart illustrating the processing performed by the demapper 164, the bit deinterleaver 165, and the LDPC decoder 166 in FIG.

[0655] In step S111, the demapper 164 demaps and orthogonally demodulates the data from the time deinterleaver 163 (data on the constellation mapped to signal points), and supplies the data to the bit deinterleaver 165, and the process proceeds to step S112.

[0656] In step S112, the bit deinterleaver 165 deinterleaves (bit deinterleaves) the data from the demapper 164, and the process proceeds to step S113.

[0657] That is, in step S112, in the bit deinterleaver 165, the block deinterleaver 54 performs block deinterleaving on the data (symbols) from the demapper 164, and supplies the resulting code bits of the LDPC code to the group-wise deinterleaver 55.

[0658] The group-wise deinterleaver 55 performs group-wise deinterleaving on the LDPC code from the block deinterleaver 54, and supplies the resulting LDPC code (the likelihood of the LDPC code) to the LDPC decoder 166.

[0659] In step S113, the LDPC decoder 166 performs LDPC decoding of the LDPC code from the group-wise deinterleaver 55 based on the check matrix H used for LDPC encoding by the LDPC encoder 115 of FIG. 8, that is, based on a converted check matrix obtained from the check matrix H, for example, and outputs the resulting data to the BCH decoder 167 as the decoded result of the LDPC target data.

[0660] In addition, in Figure 128, as in Figure 9, for the sake of convenience of explanation, the block deinterleaver 54 that performs block deinterleaving and the group-wise deinterleaver 55 that performs group-wise deinterleaving are configured separately, but the block deinterleaver 54 and the group-wise deinterleaver 55 can be configured integrally.

[0661] Furthermore, if group-wise interleaving is not performed in transmitting device 11, receiving device 12 can be configured without providing group-wise deinterleaver 55 that performs group-wise deinterleaving.

[0662] <LDPC Decoding>

[0663] The LDPC decoding performed by the LDPC decoder 166 in FIG. 127 will be further described.

[0664] In the LDPC decoder 166 of FIG. 127, as described above, the LDPC decoding of the LDPC code that has undergone block deinterleaving and group-wise deinterleaving from the group-wise deinterleaver 55 and has not undergone parity deinterleaving is performed on the type B check matrix H used by the LDPC encoder 115 in FIG. 8 for LDPC encoding. It is performed using a transformed check matrix obtained by performing at least column permutation corresponding to parity deinterleaving on the check matrix H, or a transformed check matrix (FIG. 29) obtained by performing row permutation on the type A check matrix (FIG. 27).

[0665] Here, an LDPC decoding method has been previously proposed (for example, see Japanese Patent No. 4224777) that can suppress the circuit scale and keep the operating frequency within a sufficiently achievable range by performing LDPC decoding using a transformed check matrix.

[0666] Therefore, first, referring to FIGS. 130 to 133, the previously proposed LDPC decoding using a transformed check matrix will be described.

[0667] FIG. 130 is a diagram showing an example of the check matrix H of an LDPC code with a code length N of 90 and a coding rate of 2 / 3.

[0668] In FIG. 130 (the same applies to FIGS. 131 and 132 described later), 0 is represented by a period (.).

[0669] In the check matrix H of FIG. 130, the parity matrix has a staircase structure.

[0670] FIG. 131 is a diagram showing the check matrix H' obtained by performing the row permutation of Equation (11) and the column permutation of Equation (12) on the check matrix H of FIG. 130.

[0671] Line replacement: 6s+t+1st line → 5t+s+1st line ···(11)

[0672] Column replacement: 6x+y+61st column → 5y+x+61st column ···(12)

[0673] In the formulas (11) and (12), s, t, x, and y are integers in the ranges of 0≦s<5, 0≦t<6, 0≦x<5, and 0≦t<6, respectively.

[0674] According to the row permutation of equation (11), lines 1, 7, 13, 19, and 25, which have a remainder of 1 when divided by 6, are permuted into lines 1, 2, 3, 4, and 5, respectively, and lines 2, 8, 14, 20, and 26, which have a remainder of 2 when divided by 6, are permuted into lines 6, 7, 8, 9, and 10, respectively.

[0675] Furthermore, according to the column permutation in equation (12), for columns 61 and beyond (parity matrix), columns 61, 67, 73, 79, and 85, which have a remainder of 1 when divided by 6, are permuted as columns 61, 62, 63, 64, and 65, respectively, and columns 62, 68, 74, 80, and 86, which have a remainder of 2 when divided by 6, are permuted as columns 66, 67, 68, 69, and 70, respectively.

[0676] In this way, the matrix obtained by permuting rows and columns on the parity check matrix H in FIG. 130 is the parity check matrix H' in FIG.

[0677] Here, even if row permutation is performed on the check matrix H, it does not affect the arrangement of code bits of the LDPC code.

[0678] Furthermore, the column permutation in equation (12) corresponds to the parity interleaving described above, in which the K+qx+y+1-th code bit is interleaved at the K+Py+x+1-th code bit position, when the information length K is 60, the parallel factor P is 5, and the divisor q (=M / P) of the parity length M (here, 30) is 6.

[0679] Therefore, the check matrix H' in Figure 131 is a transformed check matrix obtained by at least performing column permutation to replace the K+qx+y+1-th column of the check matrix H in Figure 130 (hereinafter referred to as the original check matrix, as appropriate) with the K+Py+x+1-th column.

[0680] For the converted parity check matrix H' in Figure 131, when the LDPC code of the original parity check matrix H in Figure 130 is multiplied by the same permutation as in equation (12), a zero vector is output. That is, when the row vector c as the LDPC code (1 codeword) of the original parity check matrix H is subjected to the column permutation in equation (12) and the row vector obtained is expressed as c', from the properties of the parity check matrix, Hc T is a 0 vector, so H'c' T Naturally, this also becomes a zero vector.

[0681] From the above, the converted parity check matrix H' in FIG. 131 is a parity check matrix of an LDPC code c' obtained by performing column permutation of equation (12) on the LDPC code c of the original parity check matrix H.

[0682] Therefore, by performing the column permutation of equation (12) on the LDPC code c of the original check matrix H, and then decoding (LDPC decoding) the LDPC code c' after the column permutation using the converted check matrix H' in FIG. 131, and then performing the inverse permutation of the column permutation of equation (12) on the decoded result, it is possible to obtain the same decoding result as when the LDPC code of the original check matrix H is decoded using that check matrix H.

[0683] FIG. 132 is a diagram showing the converted parity check matrix H' of FIG. 131, with intervals provided in units of a 5×5 matrix.

[0684] In Figure 132, the conversion check matrix H' is represented by a combination of a 5x5 (=PxP) unit matrix, which is the parallel factor P; a matrix in which one or more of the 1s in the unit matrix have become 0 (hereinafter referred to as a quasi-unit matrix, as appropriate); a matrix in which the unit matrix or quasi-unit matrix has been cyclically shifted (hereinafter referred to as a shift matrix, as appropriate); a sum of two or more unit matrices, quasi-unit matrices, or shift matrices (hereinafter referred to as a sum matrix, as appropriate); and a 5x5 zero matrix.

[0685] It can be said that the transformation check matrix H' in Figure 132 is composed of a 5x5 identity matrix, a quasi-identity matrix, a shift matrix, a sum matrix, and a 0 matrix. Therefore, these 5x5 matrices (identity matrix, quasi-identity matrix, shift matrix, sum matrix, and 0 matrix) that compose the transformation check matrix H' will hereinafter be referred to as constituent matrices as appropriate.

[0686] For decoding an LDPC code of a parity check matrix represented by a P×P constituent matrix, an architecture that simultaneously performs P check node operations and P variable node operations can be used.

[0687] FIG. 133 is a block diagram showing an example of the configuration of a decoding device that performs such decoding.

[0688] That is, FIG. 133 shows an example of the configuration of a decoding device that decodes an LDPC code using a transformed check matrix H′ in FIG. 132 obtained by performing at least the column permutation of equation (12) on the original check matrix H in FIG. 130.

[0689] The decoding device of FIG. 133 includes an edge data storage memory 300 consisting of six FIFOs 3001 to 3006, a selector 301 for selecting one of the FIFOs 3001 to 3006, a check node calculation unit 302, two cyclic shift circuits 303 and 308, and 18 FIFOs 3041 to 3044. 18 The edge data storage memory 304 includes FIFOs 3041 to 3044. 18a receive data memory 306 for storing the receive data, a variable node calculation unit 307, a decoded word calculation unit 309, a receive data rearrangement unit 310, and a decoded data rearrangement unit 311.

[0690] First, the method of storing data in the edge data storage memories 300 and 304 will be described.

[0691] The edge data storage memory 300 is composed of six FIFOs 3001 to 3006, the number of which is obtained by dividing the number of rows of the conversion check matrix H' in FIG. 132 (30) by the number of rows of the constituent matrix (parallel factor P) (5). y (y=1, 2, . . . , 6) consists of a storage area with multiple stages, and the storage area of ​​each stage can simultaneously read and write messages corresponding to five branches, which are the number of rows and columns (parallel factor P) of the constituent matrix. y The number of stages of the storage area is 9, which is the maximum number of 1s (Hamming weights) in the row direction of the conversion check matrix in FIG.

[0692] The FIFO 3001 stores data corresponding to the positions of 1 from the first row to the fifth row of the transformation check matrix H' in FIG. 132 (message v from the variable node). i) are stored in a form that is packed horizontally in each row (with zeros ignored). That is, if the j-th row and i-th column are represented as (j,i), the first-stage storage area of ​​FIFO 3001 stores data corresponding to the positions of 1 in the 5×5 identity matrix from (1,1) to (5,5) of the transformed parity check matrix H'. The second-stage storage area stores data corresponding to the positions of 1 in the shift matrix from (1,21) to (5,25) of the transformed parity check matrix H' (a shift matrix obtained by cyclically shifting the 5×5 identity matrix by three places to the right). Similarly, the third to eighth-stage storage areas store data in association with the transformed parity check matrix H'. Then, the ninth-stage storage area stores data corresponding to the positions of 1 in the shift matrix from (1,86) to (5,90) of the transformed parity check matrix H' (a shift matrix obtained by replacing the 1 in the first row of the 5×5 identity matrix with a 0 and cyclically shifting it by one place to the left).

[0693] FIFO3002 stores data corresponding to the positions of 1 in the sixth to tenth rows of the transformed parity check matrix H' in FIG. 132. That is, the first-stage storage area of ​​FIFO3002 stores data corresponding to the positions of 1 in the first shift matrix that constitutes the sum matrix of (6,1) to (10,5) of the transformed parity check matrix H' (the sum matrix is ​​the sum of a first shift matrix obtained by cyclically shifting a 5x5 identity matrix to the right by one position, and a second shift matrix obtained by cyclically shifting a 5x5 identity matrix to the right by two positions). Also, the second-stage storage area stores data corresponding to the positions of 1 in the second shift matrix that constitutes the sum matrix of (6,1) to (10,5) of the transformed parity check matrix H'.

[0694] That is, for a constituent matrix with a weight of 2 or more, when the constituent matrix is ​​expressed as a sum of a P×P identity matrix with a weight of 1, a quasi-identity matrix in which one or more of the 1 elements of the identity matrix have become 0, or a shift matrix obtained by cyclically shifting the identity matrix or quasi-identity matrix, data corresponding to the position of 1 in the identity matrix, quasi-identity matrix, or shift matrix with a weight of 1 (messages corresponding to branches belonging to the identity matrix, quasi-identity matrix, or shift matrix) is stored at the same address (the same FIFO among FIFOs 3001 to 3006).

[0695] Similarly, in the storage areas in the third to ninth stages, data is stored in association with the converted check matrix H'.

[0696] FIFOs 3003 to 3006 similarly store data in association with the conversion check matrix H'.

[0697] The edge data storage memory 304 has 18 FIFOs 3041 to 3044, which are obtained by dividing the number of columns of the conversion check matrix H', 90, by the number of columns of the constituent matrix (parallel factor P), 5. 18 It consists of FIFO304 x (x=1,2,...,18) consists of multiple stages of memory areas, and each stage of the memory area can simultaneously read and write messages corresponding to five branches, which are the number of rows and columns (parallel factor P) of the constituent matrix.

[0698] The FIFO 3041 stores data corresponding to the positions of 1 in the first to fifth columns of the conversion check matrix H' in FIG. 132 (message u from the check node). j ) are stored in a vertically packed manner (ignoring zeros) in each column. That is, the first-stage storage area of ​​FIFO 3041 stores data corresponding to the positions of 1 in the 5×5 identity matrix from (1,1) to (5,5) of transformed parity check matrix H'. The second-stage storage area stores data corresponding to the positions of 1 in the first shift matrix constituting the sum matrix from (6,1) to (10,5) of transformed parity check matrix H' (the sum matrix is ​​the sum of a first shift matrix obtained by cyclically shifting the 5×5 identity matrix by one position to the right and a second shift matrix obtained by cyclically shifting the 5×5 identity matrix by two positions to the right). The third-stage storage area stores data corresponding to the positions of 1 in the second shift matrix constituting the sum matrix from (6,1) to (10,5) of transformed parity check matrix H'.

[0699] That is, for a constituent matrix with a weight of 2 or more, when the constituent matrix is ​​expressed as a sum of a P×P identity matrix with a weight of 1, a quasi-identity matrix in which one or more of the 1 elements of the identity matrix are 0, or a shift matrix obtained by cyclically shifting the identity matrix or quasi-identity matrix, data corresponding to the position of 1 in the identity matrix, quasi-identity matrix, or shift matrix with a weight of 1 (messages corresponding to branches belonging to the identity matrix, quasi-identity matrix, or shift matrix) are stored at the same address (FIFO 3041 to 3044). 18 The data is stored in the same FIFO.

[0700] Similarly, data is stored in the fourth and fifth storage areas in association with the transformed check matrix H'. The number of storage areas in this FIFO 3041 is 5, which is the maximum number of 1s (Hamming weights) in the row direction in the first to fifth columns of the transformed check matrix H'.

[0701] FIFOs 3042 and 3043 similarly store data in association with the conversion check matrix H', and each has a length (number of stages) of 5. 12 Similarly, FIFO 304 stores data in association with the converted check matrix H′, and each has a length of 3. 13 or 304 18 Similarly, data is stored in association with the converted check matrix H′, and each has a length of 2.

[0702] Next, the operation of the decoding device shown in FIG. 133 will be described.

[0703] The edge data storage memory 300 consists of six FIFOs 3001 to 3006, and selects a FIFO from FIFOs 3001 to 3006 to store data in accordance with information (Matrix data) D312 indicating to which row of the conversion check matrix H' in FIG. 132 five messages D311 supplied from the preceding-stage cyclic shift circuit 308 belong, and stores the five messages D311 collectively in the selected FIFO in order. Furthermore, when reading data, the edge data storage memory 300 reads five messages D3001 in order from FIFO 3001 and supplies them to the next-stage selector 301. After finishing reading the messages from FIFO 3001, the edge data storage memory 300 also reads messages in order from FIFOs 3002 to 3006 and supplies them to the selector 301.

[0704] Selector 301 selects five messages from the FIFO from which data is currently being read out of FIFOs 3001 to 3006 in accordance with select signal D301, and supplies them to check node calculation unit 302 as message D302.

[0705] The check node calculation unit 302 is composed of five check node calculators 3021 to 3025, and receives the message D302 (D3021 to D3025) (the message v in Equation (7)) supplied through the selector 301. i ), check node calculation is performed according to formula (7), and five messages D303 (D3031 to D3035) obtained as a result of the check node calculation (message u in formula (7)) are j ) is supplied to the cyclic shift circuit 303.

[0706] The cyclic shift circuit 303 cyclically shifts the five messages D3031 to D3035 calculated by the check node calculation unit 302 based on information (Matrix data) D305 indicating how many cyclic shifts the original unit matrix (or quasi-unit matrix) of the corresponding branch in the transformed parity check matrix H' has been made, and supplies the result as message D304 to the branch data storage memory 304.

[0707] The edge data storage memory 304 includes 18 FIFOs 3041 to 3044. 18 The FIFOs for storing data are selected from FIFOs 3041 to 3044 according to information D305 indicating which row of the converted check matrix H' the five messages D304 supplied from the previous stage cyclic shift circuit 303 belong to. 18 The edge data storage memory 304 selects one of the messages D3061 from the FIFO 3041 and stores the five messages D304 in the selected FIFO in order. When reading data, the edge data storage memory 304 reads five messages D3061 from the FIFO 3041 in order and supplies them to the next stage selector 305. After reading data from the FIFO 3041, the edge data storage memory 304 reads five messages D3061 from the FIFO 3042 to 3044 in order. 18 , and supplies the messages to the selector 305.

[0708] The selector 305 selects one of the FIFOs 3041 to 3044 according to the select signal D307. 18 Among these, five messages are selected from the FIFO from which data is currently being read, and are supplied to the variable node calculation unit 307 and the decoded word calculation unit 309 as message D308.

[0709] On the other hand, the received data rearrangement unit 310 rearranges the LDPC code D313 corresponding to the parity check matrix H in FIG. 130 received through the communication channel 13 by performing column permutation of equation (12), and supplies the resulting data as received data D314 to the received data memory 306. The received data memory 306 calculates and stores received LLRs (log-likelihood ratios) from the received data D314 supplied from the received data rearrangement unit 310, and supplies these received LLRs in groups of five as received values ​​D309 to the variable node calculation unit 307 and the decoded word calculation unit 309.

[0710] The variable node calculation unit 307 is composed of five variable node calculators 3071 to 3075, and receives the message D308 (D3081 to D3085) (message u in Equation (1)) supplied through the selector 305.j ) and five received values ​​D309 (received values ​​u in Equation (1)) supplied from the received data memory 306. 0i ) to perform a variable node operation according to the formula (1), and the message D310 (D3101 to D3105) obtained as a result of the operation (the message v i ) is supplied to the cyclic shift circuit 308.

[0711] The cyclic shift circuit 308 cyclically shifts the messages D3101 to D3105 calculated by the variable node calculation unit 307 based on information indicating how many cyclic shifts the original unit matrix (or quasi-unit matrix) in the transformation check matrix H' that the corresponding edge is made by, and supplies the result as message D311 to the edge data storage memory 300.

[0712] By repeating the above operations once, one decoding of the LDPC code (variable node calculation and check node calculation) can be performed. After the decoding device in Fig. 133 decodes the LDPC code a predetermined number of times, the decoded word calculation unit 309 and the decoded data rearrangement unit 311 calculate and output the final decoding result.

[0713] That is, the decoded word calculation unit 309 is composed of five decoded word calculators 3091 to 3095, and the five messages D308 (D3081 to D3085) (message u in equation (5)) output by the selector 305 are j ) and five received values ​​D309 (received values ​​u in Equation (5)) supplied from the received data memory 306. 0i ), and calculates the decoding result (decoded word) based on equation (5) as the final stage of multiple decoding operations, and supplies the resulting decoded data D315 to the decoded data rearrangement unit 311.

[0714] The decoded data rearrangement unit 311 rearranges the order of the decoded data D315 supplied from the decoded word calculation unit 309 by performing the inverse permutation of the column permutation in equation (12), and outputs the result as the final decoded result D316.

[0715] As described above, by carrying out one or both of row permutation and column permutation on a parity check matrix (original parity check matrix), and converting it into a P×P identity matrix, a quasi-identity matrix in which one or more of the 1s in its elements are changed to 0, a shift matrix in which an identity matrix or a quasi-identity matrix is ​​cyclically shifted, a sum matrix which is a sum of a plurality of identity matrices, a quasi-identity matrix, or a shift matrix, a combination of P×P 0 matrices, that is, a parity check matrix (transformed parity check matrix) that can be expressed by a combination of constituent matrices, it becomes possible to adopt an architecture for decoding LDPC codes, in which P check node operations and variable node operations are simultaneously performed, the number of which is smaller than the number of rows or columns of a parity check matrix.When adopting an architecture in which P node operations (check node operations and variable node operations) are simultaneously performed, the number of which is smaller than the number of rows or columns of a parity check matrix, it is possible to suppress the operating frequency within a feasible range and perform a large number of iterative decoding, compared to the case in which node operations are simultaneously performed by the number equal to the number of rows or columns of a parity check matrix.

[0716] The LDPC decoder 166 constituting the receiving device 12 in FIG. 127 performs LDPC decoding by simultaneously performing P check node operations and variable node operations, similar to the decoding device in FIG. 133, for example.

[0717] That is, for the sake of simplicity, if the parity check matrix of the LDPC code output by the LDPC encoder 115 constituting the transmitting device 11 in FIG. 8 is, for example, parity check matrix H shown in FIG. 130, in which the parity matrix has a staircase structure, then in the parity interleaver 23 of the transmitting device 11, parity interleaving is performed to interleave the K+qx+y+1-th code bit at the K+Py+x+1-th code bit position, with the information length K set to 60, the parallel factor P set to 5, and the divisor q (=M / P) of the parity length M set to 6, respectively.

[0718] As described above, this parity interleaving corresponds to the column permutation of equation (12), and therefore LDPC decoder 166 does not need to perform the column permutation of equation (12).

[0719] For this reason, in the receiving device 12 of FIG. 127, as described above, the group-wise deinterleaver 55 supplies the LDPC decoder 166 with an LDPC code that has not been subjected to parity deinterleaving, that is, an LDPC code that has undergone the column permutation of equation (12), and the LDPC decoder 166 performs the same processing as the decoding device of FIG. 133, except that the column permutation of equation (12) is not performed.

[0720] 134 is a diagram showing an example of the configuration of the LDPC decoder 166 in FIG.

[0721] In FIG. 134, LDPC decoder 166 is configured in the same manner as the decoding device in FIG. 133 except that received data rearrangement unit 310 in FIG. 133 is not provided, and performs the same processing as the decoding device in FIG. 133 except that column permutation in equation (12) is not performed, so a description thereof will be omitted.

[0722] As described above, the LDPC decoder 166 can be configured without the received data rearrangement unit 310, and therefore can be made smaller in scale than the decoding device in FIG.

[0723] In Figures 130 to 134, for ease of explanation, the code length N of the LDPC code is set to 90, the information length K is set to 60, the parallel factor (number of rows and columns of the constituent matrix) P is set to 5, and the divisor q (= M / P) of the parity length M is set to 6, but the code length N, information length K, parallel factor P, and divisor q (= M / P) are not limited to the values ​​mentioned above.

[0724] That is, in the transmitting device 11 of FIG. 8, the LDPC encoder 115 outputs an LDPC code having, for example, a code length N of 64800, 16200, 69120, 17280, etc., an information length K of N-Pq (=NM), a parallel factor P of 360, and a divisor q of M / P, and the LDPC decoder 166 of FIG. 134 is applicable to the case where LDPC decoding is performed by simultaneously performing P check node operations and variable node operations on such an LDPC code.

[0725] Furthermore, if, after the LDPC decoder 166 decodes the LDPC code, the parity portion of the decoded result is not necessary and only the information bits of the decoded result are output, the LDPC decoder 166 can be configured without the decoded data rearrangement unit 311.

[0726] <Configuration example of block deinterleaver 54>

[0727] FIG. 135 is a diagram for explaining the block deinterleaving performed by the block deinterleaver 54 in FIG.

[0728] In block deinterleaving, the reverse process of the block interleaving by the block interleaver 25 described in FIG. 79 is performed, and the arrangement of the code bits of the LDPC code is restored (restored) to the original arrangement.

[0729] That is, in block deinterleaving, for example, similarly to block interleaving, the arrangement of the code bits of the LDPC code is restored to the original arrangement by writing and reading the LDPC code into m columns, which is equal to the number of bits m of the symbol.

[0730] However, in block deinterleaving, the LDPC codes are written in the same order as they are read in block interleaving, and further, in block deinterleaving, the LDPC codes are read in the same order as they are written in block interleaving.

[0731] That is, for part 1 of the LDPC code, as shown in Figure 135, from the first row of all m columns, part 1 of the LDPC code, which is made up of m-bit symbol units, is written in the row direction. That is, the code bits of the LDPC code, which is made up of m-bit symbols, are written in the row direction.

[0732] Part 1 is written in m-bit units sequentially toward the bottom row of m columns, and when the writing of part 1 is completed, part 1 is read from the top of the first column unit of the column downwards, as shown in Figure 135, toward the columns from left to right.

[0733] When reading up to the rightmost column is completed, as shown in FIG. 135, return to the leftmost column, and read part 1 from the top of the second column unit of the column downwards, proceeding from left to right columns, and so on, reading part 1 of one codeword LDPC code.

[0734] When reading of part 1 of the LDPC code of one code word is completed, for part 2, which is made up of m-bit symbol units, the m-bit symbol units are sequentially concatenated after part 1, and the symbol-unit LDPC code is thereby returned to the sequence of code bits of the original LDPC code of one code word (the LDPC code before block interleaving).

[0735] <Another example of the configuration of the bit deinterleaver 165>

[0736] FIG. 136 is a block diagram showing another example of the configuration of the bit deinterleaver 165 of FIG.

[0737] In the figure, parts corresponding to those in FIG. 128 are given the same reference numerals, and their explanation will be omitted below as appropriate.

[0738] That is, the bit deinterleaver 165 in FIG. 136 has the same configuration as that in FIG. 128, except that a parity deinterleaver 1011 is newly provided.

[0739] In FIG. 136, the bit deinterleaver 165 is made up of a block deinterleaver 54, a group-wise deinterleaver 55, and a parity deinterleaver 1011, and performs bit deinterleaving of the code bits of the LDPC code from the demapper 164.

[0740] That is, the block deinterleaver 54 performs block deinterleaving (the reverse process of block interleaving) on ​​the LDPC code from the demapper 164, which corresponds to the block interleaving performed by the block interleaver 25 of the transmitting device 11, i.e., block deinterleaving that returns the positions of the code bits swapped by the block interleaving to their original positions, and supplies the resulting LDPC code to the group-wise deinterleaver 55.

[0741] The group-wise deinterleaver 55 performs group-wise deinterleaving on the LDPC codes from the block deinterleaver 54, which corresponds to the group-wise interleaving performed as rearrangement processing by the group-wise interleaver 24 of the transmitter 11.

[0742] The LDPC code obtained as a result of the group-wise deinterleaving is supplied from the group-wise deinterleaver 55 to the parity deinterleaver 1011 .

[0743] The parity deinterleaver 1011 performs parity deinterleaving (the reverse process of parity interleaving) on ​​the code bits after group-wise deinterleaving in the group-wise deinterleaver 55, which corresponds to the parity interleaving performed by the parity interleaver 23 of the transmitting device 11, i.e., parity deinterleaving that returns the code bits of the LDPC code whose order has been changed by parity interleaving to their original order.

[0744] The LDPC code obtained as a result of the parity deinterleaving is supplied from the parity deinterleaver 1011 to the LDPC decoder 166 .

[0745] Therefore, in the bit deinterleaver 165 of FIG. 136, the LDPC decoder 166 is supplied with an LDPC code that has been block deinterleaved, group-wise deinterleaved, and parity deinterleaved, that is, an LDPC code obtained by LDPC encoding in accordance with the check matrix H.

[0746] The LDPC decoder 166 performs LDPC decoding of the LDPC code from the bit deinterleaver 165 using the parity check matrix H that the LDPC encoder 115 of the transmitting device 11 used for LDPC encoding.

[0747] That is, for the Type B method, LDPC decoder 166 performs LDPC decoding of the LDPC code from bit deinterleaver 165 using check matrix H (of Type B method) that LDPC encoder 115 of transmitting device 11 used for LDPC encoding, or using a transformed check matrix obtained by performing at least column permutation equivalent to parity interleaving on check matrix H. Also, for the Type A method, LDPC decoder 166 performs LDPC decoding of the LDPC code from bit deinterleaver 165 using a check matrix (of Type A method) (FIG. 27) that LDPC encoder 115 of transmitting device 11 used for LDPC encoding (FIG. 28) obtained by performing column permutation on the check matrix (of Type A method) (FIG. 27) that LDPC encoder 115 used for LDPC encoding, or a transformed check matrix (FIG. 29) obtained by performing row permutation on the check matrix (FIG. 27) used for LDPC encoding.

[0748] 136, the LDPC decoder 166 is supplied with an LDPC code obtained by LDPC encoding in accordance with the check matrix H from (the parity deinterleaver 1011 of) the bit deinterleaver 165. When LDPC decoding of the LDPC code is performed using the Type B check matrix H itself used for LDPC encoding by the LDPC encoder 115 of the transmitting device 11, or a check matrix (FIG. 28) obtained by performing column permutation on the Type A check matrix (FIG. 27) used for LDPC encoding, the LDPC decoder 166 can be configured, for example, as a decoding device that performs LDPC decoding by a full serial decoding method in which calculations on messages (check node messages, variable node messages) are performed sequentially for each node, or as a decoding device that performs LDPC decoding by a full parallel decoding method in which calculations on messages are performed simultaneously (in parallel) for all nodes.

[0749] Furthermore, in the LDPC decoder 166, when LDPC decoding of an LDPC code is performed using a transformed check matrix obtained by performing at least column permutation equivalent to parity interleaving on check matrix H of the Type B method used for LDPC encoding by the LDPC encoder 115 of the transmitting device 11, or a transformed check matrix (FIG. 29) obtained by performing row permutation on the check matrix of the Type A method used for LDPC encoding (FIG. 27), the LDPC decoder 166 is a decoding device with an architecture that simultaneously performs P (or a divisor of P other than 1) check node operations and variable node operations, and can be configured as a decoding device (FIG. 133) that has a received data rearrangement unit 310 that rearranges the code bits of the LDPC code by performing column permutation on the LDPC code similar to the column permutation (parity interleaving) for obtaining the transformed check matrix.

[0750] In Figure 136, for the sake of convenience of explanation, the block deinterleaver 54 that performs block deinterleaving, the group-wise deinterleaver 55 that performs group-wise deinterleaving, and the parity deinterleaver 1011 that performs parity deinterleaving are each configured separately, but two or more of the block deinterleaver 54, group-wise deinterleaver 55, and parity deinterleaver 1011 can be configured integrally, similar to the parity interleaver 23, group-wise interleaver 24, and block interleaver 25 of the transmitting device 11.

[0751] <Example of receiving system configuration>

[0752] FIG. 137 is a block diagram showing a first example configuration of a receiving system to which the receiving device 12 can be applied.

[0753] In FIG. 137, the receiving system is made up of an acquisition unit 1101, a transmission path decoding unit 1102, and an information source decoding unit 1103.

[0754] The acquisition unit 1101 acquires a signal including an LDPC code obtained by LDPC encoding at least LDPC target data such as program image data and audio data via a transmission path (communication path) (not shown), such as terrestrial digital broadcasting, satellite digital broadcasting, a CATV network, the Internet, or other networks, and supplies the signal to a transmission path decoding processing unit 1102.

[0755] Here, when the signal acquired by the acquisition unit 1101 is broadcast from a broadcast station via terrestrial waves, satellite waves, a CATV (Cable Television) network, etc., the acquisition unit 1101 is configured with a tuner, an STB (Set Top Box), etc. Furthermore, when the signal acquired by the acquisition unit 1101 is transmitted by multicast from a web server, as in IPTV (Internet Protocol Television), for example, the acquisition unit 1101 is configured with a network I / F (Interface) such as a NIC (Network Interface Card).

[0756] The transmission path decoding processing unit 1102 corresponds to the receiving device 12. The transmission path decoding processing unit 1102 performs transmission path decoding processing, which includes at least processing for correcting errors that occur in the transmission path, on the signal acquired by the acquisition unit 1101 via the transmission path, and supplies the resulting signal to the information source decoding processing unit 1103.

[0757] In other words, the signal acquired by the acquisition unit 1101 via the transmission path is a signal obtained by at least performing error correction coding to correct errors that occur on the transmission path, and the transmission path decoding processing unit 1102 performs transmission path decoding processing such as error correction processing on such a signal.

[0758] Here, examples of error correction coding include LDPC coding, BCH coding, etc. Here, at least LDPC coding is used as the error correction coding.

[0759] Furthermore, the transmission path decoding process may include demodulation of modulated signals.

[0760] The information source decoding processor 1103 performs information source decoding processing on the signal that has been subjected to transmission path decoding processing, which includes at least a process of expanding compressed information to the original information.

[0761] In other words, the signal acquired by the acquisition unit 1101 via the transmission path may have undergone compression encoding to compress the information in order to reduce the amount of data such as images and audio.In such a case, the information source decoding processing unit 1103 performs information source decoding processing on the signal that has undergone transmission path decoding processing, such as a process of expanding the compressed information to the original information (expansion processing).

[0762] In addition, if the signal acquired by the acquisition unit 1101 via the transmission path has not been compression-encoded, the information source decoding processing unit 1103 does not perform processing to expand the compressed information to the original information.

[0763] Here, the decompression process includes, for example, MPEG decoding, etc. Furthermore, the transmission path decoding process may include descrambling and the like in addition to the decompression process.

[0764] In the receiving system configured as described above, in the acquisition unit 1101, for example, data such as images and audio is subjected to compression encoding such as MPEG encoding, and the signal that has been further subjected to error correction encoding such as LDPC encoding is acquired via the transmission path and supplied to the transmission path decoding processing unit 1102.

[0765] In the transmission path decoding processing unit 1102, the signal from the acquisition unit 1101 is subjected to transmission path decoding processing, such as processing similar to that performed by the receiving device 12, and the resulting signal is supplied to the information source decoding processing unit 1103.

[0766] The information source decoding processor 1103 performs information source decoding such as MPEG decoding on the signal from the transmission path decoding processor 1102, and outputs the resulting image or sound.

[0767] The receiving system shown in FIG. 137 as described above can be applied to, for example, a television tuner that receives television broadcasts as digital broadcasts.

[0768] The acquisition unit 1101, the transmission path decoding processing unit 1102, and the information source decoding processing unit 1103 can each be configured as a single independent device (hardware (such as an IC (Integrated Circuit)) or a software module).

[0769] Furthermore, with regard to the acquisition unit 1101, the transmission path decoding processing unit 1102, and the information source decoding processing unit 1103, it is possible to configure a set of the acquisition unit 1101 and the transmission path decoding processing unit 1102, a set of the transmission path decoding processing unit 1102 and the information source decoding processing unit 1103, or a set of the acquisition unit 1101, the transmission path decoding processing unit 1102, and the information source decoding processing unit 1103 as a single independent device.

[0770] FIG. 138 is a block diagram showing a second example configuration of a receiving system to which the receiving device 12 can be applied.

[0771] In the figure, parts corresponding to those in FIG. 137 are given the same reference numerals, and their explanation will be omitted below as appropriate.

[0772] The receiving system of Figure 138 is similar to that of Figure 137 in that it has an acquisition unit 1101, a transmission path decoding processing unit 1102, and an information source decoding processing unit 1103, but differs from that of Figure 137 in that it newly includes an output unit 1111.

[0773] The output unit 1111 is, for example, a display device that displays images or a speaker that outputs audio, and outputs images, audio, etc. as signals output from the information source decoding processing unit 1103. That is, the output unit 1111 displays images or outputs audio.

[0774] The receiving system of FIG. 138 as described above can be applied to, for example, a TV (television receiver) that receives television broadcasts as digital broadcasts, a radio receiver that receives radio broadcasts, and the like.

[0775] If the signal acquired by the acquisition unit 1101 has not been subjected to compression encoding, the signal output by the transmission path decoding processing unit 1102 is supplied to the output unit 1111 .

[0776] FIG. 139 is a block diagram showing a third example configuration of a receiving system to which the receiving device 12 can be applied.

[0777] In the figure, parts corresponding to those in FIG. 137 are given the same reference numerals, and their explanation will be omitted below as appropriate.

[0778] The receiving system in FIG. 139 is common to the case in FIG. 137 in that it includes an acquisition unit 1101 and a transmission path decoding processing unit 1102.

[0779] However, the receiving system in FIG. 139 differs from that in FIG. 137 in that the information source decoding processing unit 1103 is not provided and a recording unit 1121 is newly provided.

[0780] The recording unit 1121 records (stores) the signal (for example, TS packets of MPEG TS) output by the transmission path decoding processing unit 1102 on a recording (storage) medium such as an optical disk, a hard disk (magnetic disk), or a flash memory.

[0781] The receiving system shown in FIG. 139 as described above can be applied to a recorder for recording television broadcasts.

[0782] In FIG. 139, the receiving system is configured to include an information source decoding processing unit 1103, and the signal after information source decoding processing has been performed by the information source decoding processing unit 1103, i.e., the image and audio obtained by decoding, can be recorded in a recording unit 1121.

[0783] <An embodiment of the computer>

[0784] Next, the above-described series of processes can be performed by hardware or software. When the series of processes is performed by software, the programs constituting the software are installed on a general-purpose computer or the like.

[0785] FIG. 140 shows an example of the configuration of an embodiment of a computer in which a program for executing the above-described series of processes is installed.

[0786] The program can be pre-recorded on the hard disk 705 or ROM 703 as a recording medium built into the computer.

[0787] Alternatively, the program can be temporarily or permanently stored (recorded) on a removable recording medium 711 such as a flexible disk, a CD-ROM (Compact Disc Read Only Memory), an MO (Magneto Optical) disk, a DVD (Digital Versatile Disc), a magnetic disk, a semiconductor memory, etc. Such a removable recording medium 711 can be provided as a so-called package software.

[0788] In addition to being installed on a computer from the removable recording medium 711 described above, the program can also be transferred wirelessly from a download site to a computer via an artificial satellite for digital satellite broadcasting, or transferred wired to a computer via a network such as a LAN (Local Area Network) or the Internet, and the computer can receive the program transferred in this way via the communication unit 708 and install it on its built-in hard disk 705.

[0789] The computer includes a built-in CPU (Central Processing Unit) 702. An input / output interface 710 is connected to the CPU 702 via a bus 701. When a user inputs commands via the input / output interface 710 by operating an input unit 707 including a keyboard, mouse, microphone, etc., the CPU 702 executes a program stored in a read-only memory (ROM) 703 in accordance with the commands. Alternatively, the CPU 702 loads into a random access memory (RAM) 704 and executes a program stored on a hard disk 705, a program transferred from a satellite or a network, received by a communication unit 708, and installed on the hard disk 705, or a program read from a removable recording medium 711 attached to a drive 709 and installed on the hard disk 705. As a result, the CPU 702 performs processing according to the flowchart described above or processing performed using the configuration shown in the block diagram described above. Then, the CPU 702 outputs the processing results, as necessary, from an output unit 706 consisting of an LCD (Liquid Crystal Display) and a speaker, etc., via an input / output interface 710, or transmits them from a communication unit 708, or even records them on a hard disk 705, etc.

[0790] Here, in this specification, the processing steps that describe a program for causing a computer to perform various processes do not necessarily have to be processed chronologically in the order described in the flowchart, but also include processes that are executed in parallel or individually (for example, parallel processing or processing by objects).

[0791] The program may be processed by a single computer, or may be distributed among multiple computers, or may be transferred to a remote computer for execution.

[0792] It should be noted that the embodiments of the present technology are not limited to the above-described embodiments, and various modifications are possible within the scope of the present technology.

[0793] For example, the new LDPC code (its check matrix initial value table) and GW pattern described above can be used for satellite links, terrestrial waves, cables (wired links), and other communication paths 13 (FIG. 7). Furthermore, the new LDPC code and GW pattern can also be used for data transmission other than digital broadcasting.

[0794] Furthermore, in this specification, for the sake of easy understanding of explanation, it is assumed that the LDPC encoder 115 (Fig. 8) performs encoding into an LDPC code based on a parity check matrix, but the parity check matrix and the parity check matrix initial value table are equivalent information, and performing encoding into an LDPC code based on a parity check matrix includes performing encoding into an LDPC code based on a parity check matrix initial value table.Similarly, in the LDPC decoder 166 (Fig. 127), performing decoding into an LDPC code based on a parity check matrix includes performing decoding into an LDPC code based on a parity check matrix initial value table.

[0795] The effects described in this specification are merely examples and are not limiting, and other effects may also be present. [Explanation of symbols]

[0796] 11 Transmitter, 12 Receiver, 23 Parity Interleaver, 24 Group-Wise Interleaver, 25 Block Interleaver, 54 Block Deinterleaver, 55 Group-Wise Deinterleaver, 111 Mode Adaptation / Multiplexer, 112 Padder, 113 BB Scrambler, 114 BCH Encoder, 115 LDPC Encoder, 116 Bit Interleaver, 117 Mapper, 118 Time Interleaver, 119 SISO / MISO Encoder, 120 Frequency Interleaver, 121 BCH Encoder, 122 LDPC Encoder, 123 Mapper, 124 Frequency Interleaver, 131 Frame Builder / Resource Allocation Unit, 132 OFDM Generation Unit, 151 OFDM Processing Unit, 152 Frame Management Unit, 153 Frequency Deinterleaver, 154 Demapper, 155 LDPC decoder, 156 BCH decoder, 161 frequency deinterleaver, 162 SISO / MISO decoder, 163 time deinterleaver, 164 demapper, 165 bit deinterleaver, 166 LDPC decoder, 167 BCH decoder, 168 BB descrambler, 169 null deletion unit, 170 demultiplexer, 300 edge data storage memory, 301 selector, 302 check node calculation unit, 303 cyclic shift circuit, 304 edge data storage memory, 305 selector, 306 received data memory, 307 variable node calculation unit, 308 cyclic shift circuit, 309 decoded word calculation unit, 310 received data rearrangement unit, 311 decoded data rearrangement unit, 601 encoding processing unit, 602 memory unit, 611 coding rate setting unit, 612 initial value table reading unit, 613 check matrix generation unit, 614 information bit reading unit, 615 coded parity calculation unit, 616 control unit, 701 bus, 702 CPU, 703 ROM, 704 RAM, 705 hard disk, 706 output unit, 707 input unit, 708 communication unit, 709 drive, 710 input / output interface, 711 removable recording medium, 1001 reverse exchange unit, 1002 memory,1011 parity deinterleaver, 1101 acquisition unit, 1101 transmission path decoding processing unit, 1103 information source decoding processing unit, 1111 output unit, 1121 recording unit,

Claims

1. a coding step of performing LDPC coding based on a check matrix of an LDPC code having a code length N of 17280 bits and a coding rate r of 5 / 16; a group-wise interleaving step of performing group-wise interleaving on the LDPC code in units of 360-bit bit groups; a mapping step of mapping the LDPC code to one of 16 signal points of UC (Uniform Constellation) of 16QAM in units of 4 bits; Including, In the group-wise interleaving, the (i+1)th bit group from the beginning of the LDPC code is defined as bit group i, and the sequence of bit groups 0 to 47 of the 17280-bit LDPC code is defined as bit group i. 33 16 0 26 35 31 21 34 42 43 32 29 7 47 37 28 5 9 30 25 3 17 23 24 41 45 20 12 27 39 8 4 1 6 2 38 10 40 18 19 46 11 36 13 22 14 15 44 Interleaved in a sequence of The check matrix is A matrix A in the upper left corner of the parity check matrix, which has M1 rows and K columns and is represented by a predetermined value M1 and an information length K=N×r of the LDPC code; A B matrix having a staircase structure adjacent to the right of the A matrix, with M1 rows and M1 columns; a Z matrix, which is a zero matrix adjacent to the right of the B matrix, having M1 rows and N-K-M1 columns; a C matrix adjacent below the A matrix and the B matrix, the C matrix having N−M1 rows and K+M1 columns; A D matrix, which is an identity matrix adjacent to the right of the C matrix and has N-K-M1 rows and N-K-M1 columns, Including, The predetermined value M1 is 720, The A matrix and the C matrix are represented by a check matrix initial value table, The parity check matrix initial value table is a table representing positions of elements of 1 in the A matrix and the C matrix for every 360 columns, 301 342 350 1797 7970 8230 10820 11305 139 530 615 1566 6290 6425 9185 9466 48 419 444 1773 3213 4793 8594 10480 246 455 531 3011 5845 7383 8393 10709 39 262 290 3282 5208 9539 10955 11204 234 267 623 1033 1537 8766 11527 11557 494 661 671 1123 4497 6601 6715 10473 164 425 436 3259 4505 5614 8192 10221 326 377 477 7699 10162 11174 11878 206 360 557 891 930 1847 2427 3888 4491 6494 6911 8084 8945 9549 402 588 657 888 3271 4858 5257 6398 6631 6972 9678 11140 11159 11398 39 111 168 1192 1879 3121 3127 5987 8385 8488 9302 9884 10891 11879 639 640 693 1477 1790 2442 3388 3547 4622 6890 7315 7478 7905 11518 337 544 604 1184 1238 1334 2434 5239 6832 7770 9123 9397 9646 10254 32 77 604 762 1428 2756 2758 6854 7193 7311 7517 9105 10765 11173 910 1918 2342 3280 3362 3913 4586 6316 7693 8878 10922 11145 11863 790 1177 1386 1961 2437 3571 5179 5961 8222 9195 9569 10414 11498 is Sending method a decoding unit that decodes the LDPC code obtained from the data transmitted by Receiving device.

2. a coding step of performing LDPC coding based on a check matrix of an LDPC code having a code length N of 17280 bits and a coding rate r of 5 / 16; a group-wise interleaving step of performing group-wise interleaving on the LDPC code in units of 360-bit bit groups; a mapping step of mapping the LDPC code to one of 16 signal points of UC (Uniform Constellation) of 16QAM in units of 4 bits; Including, In the group-wise interleaving, the (i+1)th bit group from the beginning of the LDPC code is defined as bit group i, and the sequence of bit groups 0 to 47 of the 17280-bit LDPC code is defined as bit group i. 33 16 0 26 35 31 21 34 42 43 32 29 7 47 37 28 5 9 30 25 3 17 23 24 41 45 20 12 27 39 8 4 1 6 2 38 10 40 18 19 46 11 36 13 22 14 15 44 Interleaved in a sequence of The check matrix is A matrix A in the upper left corner of the parity check matrix, which has M1 rows and K columns and is represented by a predetermined value M1 and an information length K=N×r of the LDPC code; A B matrix having a staircase structure adjacent to the right of the A matrix, with M1 rows and M1 columns; a Z matrix, which is a zero matrix adjacent to the right of the B matrix, having M1 rows and N-K-M1 columns; a C matrix adjacent below the A matrix and the B matrix, the C matrix having N−M1 rows and K+M1 columns; A D matrix, which is an identity matrix adjacent to the right of the C matrix and has N-K-M1 rows and N-K-M1 columns, Including, The predetermined value M1 is 720, The A matrix and the C matrix are represented by a check matrix initial value table, The parity check matrix initial value table is a table representing positions of elements of 1 in the A matrix and the C matrix for every 360 columns, 301 342 350 1797 7970 8230 10820 11305 139 530 615 1566 6290 6425 9185 9466 48 419 444 1773 3213 4793 8594 10480 246 455 531 3011 5845 7383 8393 10709 39 262 290 3282 5208 9539 10955 11204 234 267 623 1033 1537 8766 11527 11557 494 661 671 1123 4497 6601 6715 10473 164 425 436 3259 4505 5614 8192 10221 326 377 477 7699 10162 11174 11878 206 360 557 891 930 1847 2427 3888 4491 6494 6911 8084 8945 9549 402 588 657 888 3271 4858 5257 6398 6631 6972 9678 11140 11159 11398 39 111 168 1192 1879 3121 3127 5987 8385 8488 9302 9884 10891 11879 639 640 693 1477 1790 2442 3388 3547 4622 6890 7315 7478 7905 11518 337 544 604 1184 1238 1334 2434 5239 6832 7770 9123 9397 9646 10254 32 77 604 762 1428 2756 2758 6854 7193 7311 7517 9105 10765 11173 910 1918 2342 3280 3362 3913 4586 6316 7693 8878 10922 11145 11863 790 1177 1386 1961 2437 3571 5179 5961 8222 9195 9569 10414 11498 is How to send a decoding step of decoding the LDPC code obtained from the data transmitted by Receiving method.

Citation Information

Patent Citations

  • Transmitter apparatus and interleaving method thereof

    US20150236816A1

  • Data processing device and data processing method

    WO2016114156A1