IP Library Granted Patent US 12,640,755
Granted Patent B2
US 12,640,755 · App. 18/783,939 · Granted May 26, 2026

Data processing method and data processing apparatus

Inventors: Kechao Huang (Shenzhen, CN); Xiaoling Yang (Shenzhen, CN); Huixiao Ma (Shenzhen, CN); Wai Kong Raymond Leung (Shenzhen, CN)
Assignee: HUAWEI TECHNOLOGIES CO., LTD.
H03M13/2732H03M13/07
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,640,755
App. No.
18/783,939
Granted
May 26, 2026
Kind
B2
Abstract

A data processing method includes the following operations: separately performing convolutional interleaving on n lane data streams to obtain n first data streams, where n>1, and first FEC encoding is performed on all the n lane data streams. Every a codewords obtained through the first FEC encoding are distributed in b lane data streams, where a≤b≤n, and a≥1. z consecutive symbols in each of the first data streams are from z different codewords, and z>1. Then, every K first data streams of the n first data streams are multiplexed to obtain one second data stream, so as to obtain a total of m second data streams. The n first data streams include G first data stream subsets, symbols in different first data stream subsets are from different codewords, m=n/K, K>1, and G>1. y consecutive symbols in each second data stream are from y different codewords, where y>z.

Claims (65)

1 . A data processing method, comprising:

performing, by a block interleaver, block interleaving on every t lane data streams of n lane data streams to obtain s first data streams, so as to obtain a total of m first data streams, wherein n=q*t, m=q*s, n is an integer greater than 1, n is exactly divided by q, q is an integer greater than or equal to 1, t is an integer greater than or equal to 1, s is an integer greater than or equal to 1, first forward error correction (FEC) encoding is performed on all the n lane data streams, every a codewords obtained through the first FEC encoding are distributed in b lane data streams, a≤b≤n, n is exactly divided by b, a is an integer greater than or equal to 1, every a consecutive symbols in each lane data stream are from a different codewords, every L1 consecutive symbols in each lane data stream are from at least a different codewords, L1=N*a/b, N represents a length of the codeword, the t lane data streams comprise a total of t*a symbols with a consecutive symbols in each lane data stream, the t*a symbols comprise a total of D bits with Δ bits in each symbol, and D=A*t*a, the D bits are consecutive in any one of the s first data streams, Δ=M/s, and M represents a quantity of bits comprised in one symbol; and

performing, by a convolution interleaver, convolutional interleaving on the m first data streams separately to obtain m second data streams.

2 . The data processing method according to claim 1 , wherein every d consecutive symbols in each first data stream are from v different codewords, every L2 consecutive symbols in each first data stream are from at least v different codewords, v is exactly divided by a, L2=t/s*L1, and d=D/M.

3 . The method according to claim 1 , wherein n=32, 16 lane data streams in odd-numbered lanes of the n lane data streams are from same codewords, 16 lane data streams in even-numbered lanes of the n lane data streams are from same codewords, and a data stream in an odd-numbered lane of the n lane data streams and a data stream in an even-numbered lane of the n lane data streams are from different codewords.

4 . The method according to claim 3 , wherein t=8, s=1, and the performing block interleaving on every t lane data streams of n lane data streams to obtain s first data streams comprises:

performing block interleaving on a total of eight lane data streams: an (8*i) th lane data stream, an (8*i+1) th lane data stream, an (8*i+2) th lane data stream, an (8*i+3) th lane data stream, an (8*i+4) th lane data stream, an (8*i+5) th lane data stream, an (8*i+6) th lane data stream, and an (8*i+7) th lane data stream, to obtain one first data stream, wherein 0≤i≤3, a total of 16 symbols are consecutive in the first data stream obtained through the block interleaving with two consecutive symbols comprised in each of the eight lane data streams, every 16 consecutive symbols in the first data stream obtained through the block interleaving are from at least four different codewords, every 544 consecutive symbols are from at least four different codewords, a 0 th symbol, a 1 st symbol, a 2 nd symbol, and a 3 rd symbol in every 16 consecutive symbols in the first data stream obtained through the block interleaving are from different codewords, a 4 th symbol, a 5 th symbol, a 6 th symbol, and a 7 th symbol in every 16 consecutive symbols in the first data stream obtained through the block interleaving are from different codewords, an 8 th symbol, a 9 th symbol, a 10 th symbol, and an 11 th symbol in every 16 consecutive symbols in the first data stream obtained through the block interleaving are from different codewords, and a 12 th symbol, a 13 th symbol, a 14 th symbol, and a 15 th symbol in every 16 consecutive symbols in the first data stream obtained through the block interleaving are from different codewords.

5 . The method according to claim 3 , wherein t=8, s=1, and the performing block interleaving on every t lane data streams of n lane data streams to obtain s first data streams comprises:

performing block interleaving on a total of eight lane data streams: an (8*i) th lane data stream, an (8*i+1) th lane data stream, an (8*i+2) th lane data stream, an (8*i+3) th lane data stream, an (8*i+4) th lane data stream, an (8*i+5) th lane data stream, an (8*i+6) th lane data stream, and an (8*i+7) th lane data stream, to obtain one first data stream, wherein 0≤i≤3, a total of 16 symbols are consecutive in the first data stream obtained through the block interleaving, a j th group of two consecutive symbols comprised in each of the eight lane data streams are consecutive in the first data stream obtained through the block interleaving, j≥0, every 16 consecutive symbols in the first data stream obtained through the block interleaving are from at least four different codewords, every 544 consecutive symbols are from at least four different codewords, a 0 th symbol, a 1 st symbol, a 2 nd symbol, and a 3 rd symbol in every 16 consecutive symbols in the first data stream obtained through the block interleaving are from different codewords, a 4 th symbol, a 5 th symbol, a 6 th symbol, and a 7 th symbol in every 16 consecutive symbols in the first data stream obtained through the block interleaving are from different codewords, an 8 th symbol, a 9 th symbol, a 10 th symbol, and an 11 th symbol in every 16 consecutive symbols in the first data stream obtained through the block interleaving are from different codewords, and a 12 th symbol, a 13 th symbol, a 14 th symbol, and a 15 th symbol in every 16 consecutive symbols in the first data stream obtained through the block interleaving are from different codewords.

6 . The method according to claim 3 , wherein t=8, s=1, and the performing block interleaving on every t lane data streams of n lane data streams to obtain s first data streams comprises:

performing block interleaving on a total of eight lane data streams: an (8*i) th lane data stream, an (8*i+1) th lane data stream, an (8*i+2) th lane data stream, an (8*i+3) th lane data stream, an (8*i+4) th lane data stream, an (8*i+5) th lane data stream, an (8*i+6) th lane data stream, and an (8*i+7) th lane data stream, to obtain one first data stream, wherein 0≤i≤3, a total of eight symbols are consecutive in the first data stream obtained through the block interleaving, a j th symbol comprised in each of the eight lane data streams are consecutive, j≥0, every eight consecutive symbols in the first data stream obtained through the block interleaving are from four different codewords, a 0 th symbol, a 1 st symbol, a 2 nd symbol, and a 3 rd symbol in every eight consecutive symbols in the first data stream obtained through the block interleaving are from different codewords, and a 4 th symbol, a 5 th symbol, a 6 th symbol, and a 7 th symbol in every eight consecutive symbols in the first data stream obtained through the block interleaving are from different codewords.

7 . The method according to claim 1 , wherein n=32, 16 consecutive lane data streams sorted in the front of the n lane data streams are from same codewords, 16 consecutive lane data streams sorted in the back of the n lane data streams are from same codewords, and the 16 consecutive lane data streams sorted in the front of the n lane data streams and the 16 consecutive lane data streams sorted in the back of the n lane data streams are from different codewords.

8 . The method according to claim 7 , wherein t=2, s=1, and the performing block interleaving on every t lane data streams of n lane data streams to obtain s first data streams comprises:

performing block interleaving on an i th lane data stream and an (i+16) th lane data stream to obtain one first data stream, wherein 0≤i<16, two consecutive symbols in the i th lane data stream and two consecutive symbols in the (i+16) th lane data stream are consecutive in the first data stream obtained through the block interleaving, and every four consecutive symbols in the first data stream obtained through the block interleaving are from four different codewords.

9 . The method according to claim 7 , wherein t=2, s=1, and the performing block interleaving on every t lane data streams of n lane data streams to obtain s first data streams comprises:

performing block interleaving on an i th lane data stream and an (i+16) th lane data stream to obtain one first data stream, wherein 0≤i<16, a j th group of consecutive β bits in the i th lane data stream and a j th group of consecutive β bits in the (i+16) th lane data stream are consecutive in the first data stream obtained through the block interleaving, j≥0, β is 1, 2, 4, 5, 10, or 20, and every four consecutive symbols in the first data stream obtained through the block interleaving are from four different codewords.

10 . The method according to claim 7 , wherein t=2, s=2, and the performing block interleaving on every t lane data streams of n lane data streams to obtain s first data streams comprises:

performing block interleaving on an i th lane data stream and an (i+16) th lane data stream to obtain a (2*i) th first data stream and a (2*i+1) th first data stream, wherein 0≤i<16, a total of 20 bits are consecutive in the (2*i) th first data stream, the 20 bits consecutive in the (2*i) th first data stream have five bits in each of four symbols with two consecutive symbols in the i th lane data stream and two consecutive symbols in the (i+16) th lane data stream, every 20 consecutive bits in the (2*i) th first data stream are from four different codewords, a total of 20 bits are consecutive in the (2*i+1) th first data stream, the 20 bits consecutive in the (2*i+1) th first data stream have five bits in each of the four symbols with two consecutive symbols in the i th lane data stream and two consecutive symbols in the (i+16) th lane data stream, and every 20 consecutive bits in the (2*i+1) th first data stream are from four different codewords.

11 . The method according to claim 7 , wherein t=8, s=1, and the performing block interleaving on every t lane data streams of n lane data streams to obtain s first data streams comprises:

performing block interleaving on a total of eight lane data streams: a (4*i) th lane data stream, a (4*i+1) th lane data stream, a (4*i+2) th lane data stream, a (4*i+3) th lane data stream, a (4*i+16) th lane data stream, a (4*i+17) th lane data stream, a (4*i+18) th lane data stream, and a (4*i+19) th lane data stream, to obtain one first data stream, wherein 0≤i≤3, a total of 16 symbols are consecutive in the first data stream obtained through the block interleaving with two consecutive symbols comprised in each of the eight lane data streams, every 16 consecutive symbols in the first data stream obtained through the block interleaving are from at least four different codewords, every 544 consecutive symbols are from at least four different codewords, a 0 th symbol, a 1 st symbol, a 2 nd symbol, and a 3 rd symbol in every 16 consecutive symbols in the first data stream obtained through the block interleaving are from different codewords, a 4 th symbol, a 5 th symbol, a 6 th symbol, and a 7 th symbol in every 16 consecutive symbols in the first data stream obtained through the block interleaving are from different codewords, an 8 th symbol, a 9 th symbol, a 10 th symbol, and an 11 th symbol in every 16 consecutive symbols in the first data stream obtained through the block interleaving are from different codewords, and a 12 th symbol, a 13 th symbol, a 14 th symbol, and a 15 th symbol in every 16 consecutive symbols in the first data stream obtained through the block interleaving are from different codewords.

12 . The method according to claim 7 , wherein t=8, s=1, and the performing block interleaving on every t lane data streams of n lane data streams to obtain s first data streams comprises:

performing block interleaving on a total of eight lane data streams: a (4*i) th lane data stream, a (4*i+1) th lane data stream, a (4*i+2) th lane data stream, a (4*i+3) th lane data stream, a (4*i+16) th lane data stream, a (4*i+17) th lane data stream, a (4*i+18) th lane data stream, and a (4*i+19) th lane data stream, to obtain one first data stream, wherein 0≤i≤3, a total of 16 symbols are consecutive in the first data stream obtained through the block interleaving, a j th group of two consecutive symbols comprised in each of the eight lane data streams are consecutive in the first data stream obtained through the block interleaving, j≥0, every 16 consecutive symbols in the first data stream obtained through the block interleaving are from at least four different codewords, every 544 consecutive symbols are from at least four different codewords, a 0 th symbol, a 1 st symbol, a 2 nd symbol, and a 3 rd symbol in every 16 consecutive symbols in the first data stream obtained through the block interleaving are from different codewords, a 4 th symbol, a 5 th symbol, a 6 th symbol, and a 7 th symbol in every 16 consecutive symbols in the first data stream obtained through the block interleaving are from different codewords, an 8 th symbol, a 9 th symbol, a 10 th symbol, and an 11 th symbol in every 16 consecutive symbols in the first data stream obtained through the block interleaving are from different codewords, and a 12 th symbol, a 13 th symbol, a 14 th symbol, and a 15 th symbol in every 16 consecutive symbols in the first data stream obtained through the block interleaving are from different codewords.

13 . The method according to claim 7 , wherein t=8, s=1, and the performing block interleaving on every t lane data streams of n lane data streams to obtain s first data streams comprises:

performing block interleaving on a total of eight lane data streams: a (4*i) th lane data stream, a (4*i+1) th lane data stream, a (4*i+2) th lane data stream, a (4*i+3) th lane data stream, a (4*i+16) th lane data stream, a (4*i+17) th lane data stream, a (4*i+18) th lane data stream, and a (4*i+19) th lane data stream, to obtain one first data stream, wherein 0≤i≤3, a total of eight symbols are consecutive in the first data stream obtained through the block interleaving, a j th symbol comprised in each of the eight lane data streams are consecutive, j≥0, every eight consecutive symbols in the first data stream obtained through the block interleaving are from at least four different codewords, a 0 th symbol, a 1 st symbol, a 2 nd symbol, and a 3 rd symbol in every eight consecutive symbols in the first data stream obtained through the block interleaving are from different codewords, and a 4 th symbol, a 5 th symbol, a 6 th symbol, and a 7 th symbol in every eight consecutive symbols in the first data stream obtained through the block interleaving are from different codewords.

14 . The method according to claim 1 , wherein the performing convolutional interleaving on one first data stream to obtain one second data stream comprises:

delaying one first data stream based on p delay lines to obtain one second data stream, wherein p is an integer greater than 1, a quantity of storage units comprised in each delay line is different, a delay line with a smallest quantity of storage units comprises 0 storage units, a difference between quantities of storage units of every two adjacent delay lines is Q, each storage unit is configured to store four symbols, symbols in each lane data stream are sequentially input to the p delay lines based on sequence numbers of the p delay lines, four symbols are input to each delay line for a single time and four symbols are output from the delay line for a single time, p*4 consecutive symbols in the second data stream comprise the four symbols output from the delay line, and Q satisfies 4(p*Q−1)≥272, 4(p*Q+1)≥272, 4(p*Q−1)≥544, or 4(p*Q+1)≥544.

15 . The method according to claim 14 , wherein after the performing convolutional interleaving on the m first data streams separately to obtain m second data streams, the method further comprises:

performing second FEC encoding on the m second data streams separately to obtain m encoded data streams, wherein information data whose length is K symbols in each of the encoded data streams is from at most K different codewords, and K≥p*4.

16 . The data processing method according to claim 1 , wherein t is an integer greater than or equal to 2, and a is an integer greater than or equal to 2.

17 . The data processing method according to claim 1 , wherein t is 2, 4, or 8.

18 . The data processing method according to claim 1 , wherein s is 1.

19 . A data processing apparatus, comprising a block interleaver and a convolution interleaver, wherein

the block interleaver is configured to perform block interleaving on every t lane data streams of n lane data streams to obtain s first data streams, so as to obtain a total of m first data streams, wherein n=q*t, m=q*s, n is an integer greater than 1, n is exactly divided by q, q is an integer greater than or equal to 1, t is an integer greater than or equal to 1, s is an integer greater than or equal to 1, first forward error correction (FEC) encoding is performed on all the n lane data streams, every a codewords obtained through the first FEC encoding are distributed in b lane data streams, a≤b≤n, n is exactly divided by b, a is an integer greater than or equal to 1, every a consecutive symbols in each lane data stream are from a different codewords, every L1 consecutive symbols in each lane data stream are from at least a different codewords, L1=N*a/b, N represents a length of the codeword, the t lane data streams comprise a total of t*a symbols with a consecutive symbols in each lane data stream, the t*a symbols comprise a total of D bits with Δ bits in each symbol, and D=Δ*t*a, the D bits are consecutive in any one of the s first data streams, Δ=M/s, and M represents a quantity of bits comprised in one symbol; and

the convolution interleaver is configured to perform convolutional interleaving on the m first data streams separately to obtain m second data streams.

20 . The data processing apparatus according to claim 19 , wherein every d consecutive symbols in each first data stream are from v different codewords, every L2 consecutive symbols in each first data stream are from at least v different codewords, v is exactly divided by a, L2=t/s*L1, and d=D/M.

21 . The data processing apparatus according to claim 19 , wherein n=32, 16 lane data streams in odd-numbered lanes of the n lane data streams are from same codewords, 16 lane data streams in even-numbered lanes of the n lane data streams are from same codewords, and a data stream in an odd-numbered lane of the n lane data streams and a data stream in an even-numbered lane of the n lane data streams are from different codewords.

22 . The data processing apparatus according to claim 21 , wherein t=8, s=1, and the block interleaver is configured to:

perform block interleaving on a total of eight lane data streams: an (8*i) th lane data stream, an (8*i+1) th lane data stream, an (8*i+2) th lane data stream, an (8*i+3) th lane data stream, an (8*i+4) th lane data stream, an (8*i+5) th lane data stream, an (8*i+6) th lane data stream, and an (8*i+7) th lane data stream, to obtain one first data stream, wherein 0≤i≤3, a total of 16 symbols are consecutive in the first data stream obtained through the block interleaving with two consecutive symbols comprised in each of the eight lane data streams, every 16 consecutive symbols in the first data stream obtained through the block interleaving are from at least four different codewords, every 544 consecutive symbols are from at least four different codewords, a 0 th symbol, a 1 st symbol, a 2 nd symbol, and a 3 rd symbol in every 16 consecutive symbols in the first data stream obtained through the block interleaving are from different codewords, a 4 th symbol, a 5 th symbol, a 6 th symbol, and a 7 th symbol in every 16 consecutive symbols in the first data stream obtained through the block interleaving are from different codewords, an 8 th symbol, a 9 th symbol, a 10 th symbol, and an 11 th symbol in every 16 consecutive symbols in the first data stream obtained through the block interleaving are from different codewords, and a 12 th symbol, a 13 th symbol, a 14 th symbol, and a 15 th symbol in every 16 consecutive symbols in the first data stream obtained through the block interleaving are from different codewords.

23 . The data processing apparatus according to claim 21 , wherein t=8, s=1, and the block interleaver is configured to:

perform block interleaving on a total of eight lane data streams: an (8*i) th lane data stream, an (8*i+1) th lane data stream, an (8*i+2) th lane data stream, an (8*i+3) th lane data stream, an (8*i+4) th lane data stream, an (8*i+5) th lane data stream, an (8*i+6) th lane data stream, and an (8*i+7) th lane data stream, to obtain one first data stream, wherein 0≤i≤3, a total of 16 symbols are consecutive in the first data stream obtained through the block interleaving, a j th group of two consecutive symbols comprised in each of the eight lane data streams are consecutive in the first data stream obtained through the block interleaving, j≥0, every 16 consecutive symbols in the first data stream obtained through the block interleaving are from at least four different codewords, every 544 consecutive symbols are from at least four different codewords, a 0 th symbol, a 1 st symbol, a 2 nd symbol, and a 3 rd symbol in every 16 consecutive symbols in the first data stream obtained through the block interleaving are from different codewords, a 4 th symbol, a 5 th symbol, a 6 th symbol, and a 7 th symbol in every 16 consecutive symbols in the first data stream obtained through the block interleaving are from different codewords, an 8 th symbol, a 9 th symbol, a 10 th symbol, and an 11 th symbol in every 16 consecutive symbols in the first data stream obtained through the block interleaving are from different codewords, and a 12 th symbol, a 13 th symbol, a 14 th symbol, and a 15 th symbol in every 16 consecutive symbols in the first data stream obtained through the block interleaving are from different codewords.

24 . The data processing apparatus according to claim 21 , wherein t=8, s=1, and the block interleaver is configured to:

perform block interleaving on a total of eight lane data streams: an (8*i) th lane data stream, an (8*i+1) th lane data stream, an (8*i+2) th lane data stream, an (8*i+3) th lane data stream, an (8*i+4) th lane data stream, an (8*i+5) th lane data stream, an (8*i+6) th lane data stream, and an (8*i+7) th lane data stream, to obtain one first data stream, wherein 0≤i≤3, a total of eight symbols are consecutive in the first data stream obtained through the block interleaving, a j th symbol comprised in each of the eight lane data streams are consecutive, j≥0, every eight consecutive symbols in the first data stream obtained through the block interleaving are from four different codewords, a 0 th symbol, a 1 st symbol, a 2 nd symbol, and a 3 rd symbol in every eight consecutive symbols in the first data stream obtained through the block interleaving are from different codewords, and a 4 th symbol, a 5 th symbol, a 6 th symbol, and a 7 th symbol in every eight consecutive symbols in the first data stream obtained through the block interleaving are from different codewords.

25 . The data processing apparatus according to claim 19 , wherein n=32, 16 consecutive lane data streams sorted in the front of the n lane data streams are from same codewords, 16 consecutive lane data streams sorted in the back of the n lane data streams are from same codewords, and the 16 consecutive lane data streams sorted in the front of the n lane data streams and the 16 consecutive lane data streams sorted in the back of the n lane data streams are from different codewords.

26 . The data processing apparatus according to claim 25 , wherein t=2, s=1, and the block interleaver is configured to:

perform block interleaving on an i th lane data stream and an (i+16) th lane data stream to obtain one first data stream, wherein 0≤i<16, two consecutive symbols in the i th lane data stream and two consecutive symbols in the (i+16) th lane data stream are consecutive in the first data stream obtained through the block interleaving, and every four consecutive symbols in the first data stream obtained through the block interleaving are from four different codewords.

27 . The data processing apparatus according to claim 25 , wherein t=2, s=1, and the block interleaver is configured to:

perform block interleaving on an i th lane data stream and an (i+16) th lane data stream to obtain one first data stream, wherein 0≤i<16, a j th group of consecutive β bits in the i th lane data stream and a j th group of consecutive β bits in the (i+16) th lane data stream are consecutive in the first data stream obtained through the block interleaving, j≥0, β is 1, 2, 4, 5, 10, or 20, and every four consecutive symbols in the first data stream obtained through the block interleaving are from four different codewords.

28 . The data processing apparatus according to claim 25 , wherein t=2, s=2, and the block interleaver is configured to:

perform block interleaving on an i th lane data stream and an (i+16) th lane data stream to obtain a (2*i) th first data stream and a (2*i+1) th first data stream, wherein 0≤i<16, a total of 20 bits are consecutive in the (2*i) th first data stream, the 20 bits consecutive in the (2*i) th first data stream have five bits in each of four symbols with two consecutive symbols in the i th lane data stream and two consecutive symbols in the (i+16) th lane data stream, every 20 consecutive bits in the (2*i) th first data stream are from four different codewords, a total of 20 bits are consecutive in the (2*i+1) th first data stream, the 20 bits consecutive in the (2*i+1) th first data stream have five bits in each of the four symbols with two consecutive symbols in the i th lane data stream and two consecutive symbols in the (i+16) th lane data stream, and every 20 consecutive bits in the (2*i+1) th first data stream are from four different codewords.

29 . The data processing apparatus according to claim 25 , wherein t=8, s=1, and the block interleaver is configured to:

perform block interleaving on a total of eight lane data streams: a (4*i) th lane data stream, a (4*i+1) th lane data stream, a (4*i+2) th lane data stream, a (4*i+3) th lane data stream, a (4*i+16) th lane data stream, a (4*i+17) th lane data stream, a (4*i+18) th lane data stream, and a (4*i+19) th lane data stream, to obtain one first data stream, wherein 0≤i≤3, a total of 16 symbols are consecutive in the first data stream obtained through the block interleaving with two consecutive symbols comprised in each of the eight lane data streams, every 16 consecutive symbols in the first data stream obtained through the block interleaving are from at least four different codewords, every 544 consecutive symbols are from at least four different codewords, a 0 th symbol, a 1 st symbol, a 2 nd symbol, and a 3 rd symbol in every 16 consecutive symbols in the first data stream obtained through the block interleaving are from different codewords, a 4 th symbol, a 5 th symbol, a 6 th symbol, and a 7 th symbol in every 16 consecutive symbols in the first data stream obtained through the block interleaving are from different codewords, an 8 th symbol, a 9 th symbol, a 10 th symbol, and an 11 th symbol in every 16 consecutive symbols in the first data stream obtained through the block interleaving are from different codewords, and a 12 th symbol, a 13 th symbol, a 14 th symbol, and a 15 th symbol in every 16 consecutive symbols in the first data stream obtained through the block interleaving are from different codewords.

30 . The data processing apparatus according to claim 25 , wherein t=8, s=1, and the block interleaver is configured to:

perform block interleaving on a total of eight lane data streams: a (4*i) th lane data stream, a (4*i+1) th lane data stream, a (4*i+2) th lane data stream, a (4*i+3) th lane data stream, a (4*i+16) th lane data stream, a (4*i+17) th lane data stream, a (4*i+18) th lane data stream, and a (4*i+19) th lane data stream, to obtain one first data stream, wherein 0≤i≤3, a total of 16 symbols are consecutive in the first data stream obtained through the block interleaving, a j th group of two consecutive symbols comprised in each of the eight lane data streams are consecutive in the first data stream obtained through the block interleaving, j≥0, every 16 consecutive symbols in the first data stream obtained through the block interleaving are from at least four different codewords, every 544 consecutive symbols are from at least four different codewords, a 0 th symbol, a 1 st symbol, a 2 nd symbol, and a 3 rd symbol in every 16 consecutive symbols in the first data stream obtained through the block interleaving are from different codewords, a 4 th symbol, a 5 th symbol, a 6 th symbol, and a 7 th symbol in every 16 consecutive symbols in the first data stream obtained through the block interleaving are from different codewords, an 8 th symbol, a 9 th symbol, a 10 th symbol, and an 11 th symbol in every 16 consecutive symbols in the first data stream obtained through the block interleaving are from different codewords, and a 12 th symbol, a 13 th symbol, a 14 th symbol, and a 15 th symbol in every 16 consecutive symbols in the first data stream obtained through the block interleaving are from different codewords.

31 . The data processing apparatus according to claim 25 , wherein t=8, s=1, and the block interleaver is configured to:

perform block interleaving on a total of eight lane data streams: a (4*i) th lane data stream, a (4*i+1) th lane data stream, a (4*i+2) th lane data stream, a (4*i+3) th lane data stream, a (4*i+16) th lane data stream, a (4*i+17) th lane data stream, a (4*i+18) th lane data stream, and a (4*i+19) th lane data stream, to obtain one first data stream, wherein 0≤i≤3, a total of eight symbols are consecutive in the first data stream obtained through the block interleaving, a j th symbol comprised in each of the eight lane data streams are consecutive, j≥0, every eight consecutive symbols in the first data stream obtained through the block interleaving are from at least four different codewords, a 0 th symbol, a 1 st symbol, a 2 nd symbol, and a 3 rd symbol in every eight consecutive symbols in the first data stream obtained through the block interleaving are from different codewords, and a 4 th symbol, a 5 th symbol, a 6 th symbol, and a 7 th symbol in every eight consecutive symbols in the first data stream obtained through the block interleaving are from different codewords.

32 . The data processing apparatus according to claim 19 , wherein the convolution interleaver is configured to:

delay one first data stream based on p delay lines to obtain one second data stream, wherein p is an integer greater than 1, a quantity of storage units comprised in each delay line is different, a delay line with a smallest quantity of storage units comprises 0 storage units, a difference between quantities of storage units of every two adjacent delay lines is Q, each storage unit is configured to store four symbols, symbols in each lane data stream are sequentially input to the p delay lines based on sequence numbers of the p delay lines, four symbols are input to each delay line for a single time and four symbols are output from the delay line for a single time, p*4 consecutive symbols in the second data stream comprise the four symbols output from the delay line, and Q satisfies 4(p*Q−1)≥272, 4(p*Q+1)≥272, 4(p*Q−1)≥544, or 4(p*Q+1)≥544.

33 . The data processing apparatus according to claim 32 , wherein the data processing apparatus further comprises an encoder, and after the m second data streams are obtained, the encoder is configured to:

perform second FEC encoding on the m second data streams separately to obtain m encoded data streams, wherein information data whose length is K symbols in each of the encoded data streams is from at most K different codewords, and K≥p*4.

34 . The data processing apparatus according to claim 19 , wherein t is an integer greater than or equal to 2, and a is an integer greater than or equal to 2.

35 . The data processing apparatus according to claim 19 , wherein t is 2, 4, or 8.

36 . The data processing apparatus according to claim 19 , wherein s is 1.

37 . A non-transitory computer-readable storage medium, wherein the computer-readable storage medium stores computer-executable instructions; and the computer-executable instructions are run on one or more processors to perform operations comprising:

performing block interleaving on every t lane data streams of n lane data streams to obtain s first data streams, so as to obtain a total of m first data streams, wherein n=q*t, m=q*s, n is an integer greater than 1, n is exactly divided by q, q is an integer greater than or equal to 1, t is an integer greater than or equal to 1, s is an integer greater than or equal to 1, first forward error correction (FEC) encoding is performed on all the n lane data streams, every a codewords obtained through the first FEC encoding are distributed in b lane data streams, a≤b≤n, n is exactly divided by b, a is an integer greater than or equal to 1, every a consecutive symbols in each lane data stream are from a different codewords, every L1 consecutive symbols in each lane data stream are from at least a different codewords, L1=N*a/b, N represents a length of the codeword, the t lane data streams comprise a total of t*a symbols with a consecutive symbols in each lane data stream, the t*a symbols comprise a total of D bits with Δ bits in each symbol, and D=Δ*t*a, the D bits are consecutive in any one of the s first data streams, Δ=M/s, and M represents a quantity of bits comprised in one symbol; and

performing convolutional interleaving on the m first data streams separately to obtain m second data streams.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 16, 2026
From: HUANG, KECHAO; YANG, XIAOLING; MA, HUIXIAO
To: HUAWEI TECHNOLOGIES CO., LTD.
Reel/Frame 073497/0634 →
Priority Claims (5)
CN 202210109956.X · Jan 28, 2022 · national
CN 202210290887.7 · Mar 23, 2022 · national
CN 202211065772.4 · Sep 1, 2022 · national
CN 202211305113.3 · Oct 24, 2022 · national
CN 202211448533.7 · Nov 18, 2022 · national
Continuity (2)
Continuation PCTCN2023072099 · Jan 13, 2023
Related Publication 20240388313A1 · Nov 21, 2024
References Cited (32)
US 7826556B2 · Ghosh · 2010 [cited by examiner]
US 8189627B2 · Xia · 2012 [cited by examiner]
US 8243841B2 · Wang · 2012 [cited by examiner]
US 9473174B2 · Hellge · 2016 [cited by examiner]
US 10084483B2 · Hassan · 2018 [cited by examiner]
US 10715859B2 · Kwak · 2020 [cited by examiner]
US 11557391B2 · Wu · 2023 [cited by examiner]
US 11722154B2 · Grayver · 2023 [cited by examiner]
US 12101186B2 · Riani · 2024 [cited by examiner]
US 20020194570A1 · Birru et al. · 2002 [cited by applicant]
US 20100235706A1 · Eberlein et al. · 2010 [cited by applicant]
US 20160344417A1 · Jeong et al. · 2016 [cited by applicant]
US 20190068322A1 · Smith et al. · 2019 [cited by applicant]
US 20210288672A1 · Smith et al. · 2021 [cited by applicant]
CN 1559115A · 2004 [cited by applicant]
CN 101517902A · 2009 [cited by applicant]
CN 101779453A · 2010 [cited by applicant]
CN 106464271A · 2017 [cited by applicant]
CN 107005353A · 2017 [cited by applicant]
CN 110730010A · 2020 [cited by applicant]
CN 113132058A · 2021 [cited by applicant]
CN 118368025A · 2024 [cited by applicant]
WO 2021197104A1 · 2021 [cited by applicant]
Yang Ying et al:“Performance Evaluation of Time Interleaving with Inter-frame Convolutional Interleaving and Intra- frame Block Interleaving Cascade”, vol. 26 No. 1, Feb. 2014, (Feb. 15, 2014), total 12 pages. [cited by applicant]
Alireza Kenarsari-Anhari et al:“New Designs for Bit-Interleaved Coded Modulation with Hard-Decision Feedback Iterative Decoding”,IEEE Transactions on Communications, vol. 58, No. 6, Jun. 2010, total 5 pages. [cited by applicant]
800G-FR4 Technical Specification V1.0, 800G Pluggable MSA, https://www.800gmsa.com/documents/800g-fr4-2km-specification-v10, Jun. 8, 2021, total 17 pages. [cited by applicant]
800G Specification, ethernet technology consortium, https://ethernettechnologyconsortium.org/wp-content/uploads/2020/03/800G-Specification_r1.0.pdf, Mar. 10, 2020, total 17 pages. [cited by applicant]
Implementation Agreement 400ZR, OIF-400ZR-01.0, Mar. 10, 2020, total 100 pages. [cited by applicant]
Kishore Kota et al, Further considerations for 800LR Campus link specifications, oif2021.242.01, Q2 2021 meeting, May 2021, total 20 pages. [cited by applicant]
Taokai et al, FPGA Evaluation of 800G LR FEC Scheme, oif2021.415.00, Jul. 26, 2021, total 5 pages. [cited by applicant]
Kishore Kota et al, 800LR Specification Methodology Proposal, oif2021.502.00, Sep. 8, 2021, total 13 pages. [cited by applicant]
IEEE P802.3ck/D3.0, Draft Standard for Ethernet Amendment: Physical Layer Specifications and Management parameters for 100Gb/s, 200Gb/s, and 400Gb/s Electrical Interfaces Based on 100Gb/s Signaling, IEEE Computer Societ… [cited by applicant]