Communication method and communication device

By using a combination of codewords of different code lengths and verification blocks in short-distance communication, the problem of difficult to take into account in the prior art communication quality and efficiency is solved, and more efficient and reliable data transmission is achieved.

CN119788240APending Publication Date: 2025-04-08HUAWEI TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411713672.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2021-06-18
Filing Date
2021-07-09
Publication Date
2025-04-08

AI Technical Summary

Technical Problem

The prior art is difficult to take into account or improve communication quality and communication efficiency in short-distance communication.

Method used

By generating a data packet containing codewords of different code lengths, specifically, the data packet includes at least one first codeword and at least one second codeword, the code length of the first codeword is greater than the code length of the second codeword, and the first and second verification blocks are used for verification during the encoding and decoding process to reduce the overhead of the verification block and improve efficiency.

Benefits of technology

This method can improve communication efficiency, reduce signaling overhead, and improve the reliability and quality of data transmission.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119788240A_ABST
    Figure CN119788240A_ABST
Patent Text Reader

Abstract

The present application provides a communication method and a communication device, which can be applied to the field of short-distance communication, such as the cockpit domain. The sending device performs a first encoding on at least one first coding block to obtain at least one first codeword, and each first coding block contains a first information block and a first check block for verifying the first information block; the sending device performs at least one second encoding on at least one second coding block to obtain at least one second codeword, and at least one second coding block contains a second check block, and the second check block is used to verify part of the information in at least one second coding block, and the code length of the first codeword is greater than the code length of the second codeword; the sending device generates and sends a data packet containing at least one first codeword and at least one second codeword. The receiving device decodes the data packet to obtain at least one first coding block and at least one second coding block. The solution provided in the embodiment of the present application is conducive to taking into account or even improving the communication quality and communication efficiency between the transmitter and the receiver.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application is a divisional application. The application number of the original application is 202180098967.6, and the original application date is December 4, 2021. The entire contents of the original application are incorporated into this application by reference. Technical Field

[0002] The present application relates to the field of communications, and more specifically, to a communication method and a communication device, especially a short-distance communication method and a communication device. Background Art

[0003] The transmitting end communication device can send data to the receiving end communication device. The receiving end communication device can report the situation of receiving data to the transmitting end communication device. For example, the transmitting end communication device can send data and a check code to the receiving end communication device. The receiving end communication device can check the check code to determine whether the receiving end device successfully receives the data. If the receiving end communication device can successfully receive the data, the receiving end communication device can send an acknowledgement (ACK) signal to the transmitting end communication device; if the receiving end communication device cannot successfully receive the data, the receiving end communication device can send a negation (NACK) signal to the transmitting end communication device. The transmitting end communication device can determine whether to resend the data to the receiving end communication device based on the situation of receiving the data. This process can be called an automatic retransmission process. The communication quality and communication efficiency in the automatic retransmission process are always concerned. Summary of the invention

[0004] The present application provides a communication method and a communication device, which are conducive to taking into account or even improving the communication quality and communication efficiency between a sending end communication device and a receiving end communication device.

[0005] In a first aspect, a communication method is provided, the method comprising:

[0006] Generate a data packet, the data packet comprising at least one first codeword and at least one second codeword, the code length of the first codeword being greater than the code length of the second codeword;

[0007] Sending the data packet;

[0008] Among them, the at least one first codeword is obtained by performing a first encoding on at least one first coding block, each first coding block in the at least one first coding block contains a first information block and a first check block for verifying the first information block, and the at least one second codeword is obtained by performing at least one second encoding on at least one second coding block, the at least one second coding block contains a second check block, and the second check block is used to verify part of the information in the at least one second coding block.

[0009] A coding block may refer to bit data before coding. A codeword may refer to bit data after coding. A code length may refer to the length of a codeword. The information content in a coding block may include an information block and a check block. A check block may refer to bit data with a check function. An information block may not have a check function.

[0010] For any number of bits of information, a data packet including multiple code words can be obtained by segmentation and encoding. The data packet can include two code words with different code lengths. Code words with different code lengths can be obtained by encoding them separately, and the code length of each code word meets the preset code length. Therefore, rate matching can be omitted, which is beneficial to saving power consumption of data transmission. In addition, each first code word with a relatively large code length can be checked by a first check block, and multiple second coding blocks with smaller code lengths can be checked together, which is beneficial to reducing the overhead proportion of the check block in the data packet, reducing signaling overhead and improving communication efficiency.

[0011] In combination with the first aspect, in some implementations of the first aspect, the method further includes:

[0012] Acquiring at least one first information block;

[0013] At least one first check block in the at least one first coding block is generated, where the first check block corresponds to a first information block in the first coding block where the first check block is located.

[0014] The first part of the information to be sent may have a relatively large number of bits and may be suitable for being divided into a first codeword. The first part may be subjected to check encoding to obtain a first check block.

[0015] In combination with the first aspect, in some implementations of the first aspect, the second check block is generated based on at least part of the information in the at least one second coding block except the second check block.

[0016] If the number of bits of the second part of the information to be sent is not suitable for being divided into the first codeword, the second part can be divided into multiple second codewords, the code length of each second codeword can be relatively small, and the second part check can be checked by coding to obtain a second check block.

[0017] In combination with the first aspect, in some implementations of the first aspect, the at least one second coding block includes redundant information, and in the at least one second coding block, the redundant information is located before or after the second check block.

[0018] When the number of bits of the information to be sent and the second check block is not enough to fill multiple second coding blocks, the multiple second coding blocks may include redundant information to facilitate each second coding block to meet the preset coding block code length, and the code length of each second codeword meets the preset code length. The redundant information is located before the second check block, and the second check block can check all the information in the multiple second coding blocks except the second check block. The second check block can be located at the tail of the multiple second coding blocks, and the redundant information bits are checked by the second check block. The redundant information is located after the second check block, and the second check block can check part of the information in the multiple second coding blocks except the second check block. The redundant information bits are not checked by the second check block, and the block error rate is relatively low. Alternatively, the redundant information is located in the front position of the first second coding block in at least one second coding block. Based on this design, when the coding scheme adopts polar code (Polar code, Polar Code, etc.), since the transmission reliability of bits located at the rear position in the coding block may be higher than the transmission reliability of bits located at the front position in the coding block, by filling the redundant information at the front position in the second coding block, it is helpful to place the valid information at the rear position with higher reliability in the second coding block, thereby effectively improving the reliability of transmitting valid information.

[0019] In combination with the first aspect, in some implementations of the first aspect, in the at least one second coding block, the second check block is located in one or more consecutive coding blocks.

[0020] The minimum number of bits of the second coding block may not be limited by the number of bits of the second check block, which is beneficial to improving the segmentation flexibility of multiple second coding blocks.

[0021] In combination with the first aspect, in certain implementations of the first aspect, the data packet includes L data groups, wherein the L data groups include L1 first data groups and one second data group, each of the L1 first data groups includes n first codewords, the second data group includes at least one second codeword, and L1 and n are greater than or equal to 1.

[0022] The larger the number of codewords included in a data group, the larger the block error rate of the data group may be. The smaller the number of codewords included in a data group, the smaller the block error rate of the data group may be. The number of first codewords in multiple first data groups may be the same, which is conducive to balancing the block error rates of multiple first data groups. In combination with the first aspect, in some implementations of the first aspect, the method further includes:

[0023] L pieces of feedback information corresponding to the data packets are received, wherein the L pieces of feedback information correspond to the L data groups.

[0024] Multiple codewords can be divided into multiple data groups, and the receiving device can feed back the data reception and transmission status for L data groups. Compared with the implementation method of feeding back the reception and transmission status for each check block, it is beneficial to reduce the signaling overhead of the feedback information.

[0025] In combination with the first aspect, in some implementations of the first aspect, n satisfies n=ceil(H / (L-1)), where H is the total number of the at least one first codeword.

[0026] In combination with the first aspect, in certain implementations of the first aspect, when mod(H,(L-1))>0, the L data groups also include L2 third data groups, each of the L2 third data groups includes p first code words, L2 is a positive integer less than L-L1, and p satisfies p=floor(H / (L-1)).

[0027] When multiple first codewords cannot be evenly divided into multiple data groups, by adjusting the number of codewords in the first data group and the third data group, the difference in the number of codewords in the first data group and the third data group is made relatively small, which is beneficial to balancing the block error rate of multiple data groups and improving the reliability of data transmission.

[0028] In combination with the first aspect, in some implementations of the first aspect, L1 satisfies L1=mod(H,(L-1)), and L2 satisfies L2=L-mod(H,(L-1))-1.

[0029] The multiple first data groups include three types of data groups: a first data group, a second data group, and a third data group, which helps to simplify the division of data groups.

[0030] In combination with the first aspect, in some implementations of the first aspect, the code lengths of the at least one first codeword are the same.

[0031] The code length of the first code word may correspond to the maximum code length of the data packet. The encoding and decoding of the first code word may be related to the maximum code length, which is conducive to simplifying the transmission and reception of the first code word.

[0032] In combination with the first aspect, in some implementations of the first aspect, the at least one second codeword includes at least two second codewords having different encoding rates.

[0033] The multiple second code words have different code lengths and different code rates. For example, the smaller the code length of the code word, the smaller the code rate, which is conducive to making the multiple second code words have similar transceiver performance.

[0034] In combination with the first aspect, in some implementations of the first aspect, the sum of the code lengths of the at least one second codeword is smaller than the code length of the first codeword.

[0035] Encoding most of the information to be sent as a first codeword with a relatively long code length, and encoding a small part of the information to be sent as multiple second codewords with relatively short code lengths is beneficial to simplifying the sending and receiving of data packets.

[0036] In a second aspect, a communication method is provided, the method comprising:

[0037] receiving a data packet, the data packet comprising at least one first codeword and at least one second codeword, wherein a code length of the first codeword is greater than a code length of the second codeword;

[0038] A first decoding is performed on the at least one first codeword, and at least one second decoding is performed on the at least one second codeword to obtain at least one first coding block and at least one second coding block, wherein each first coding block in the at least one first coding block includes a first information block and a first check block for checking the first information block, and the at least one second coding block includes a second check block, and the second check block is used to check part of the information in the at least one second coding block.

[0039] For a data packet including multiple codewords, any number of bits of information can be decoded. The data packet can include two codewords with different code lengths, and the code length of each codeword meets the preset code length. Codewords with different code lengths can be decoded separately. Therefore, rate matching can be omitted, which is beneficial to saving power consumption of data transmission. In addition, each first codeword with a relatively large code length can be checked by the first check block, and multiple second coding blocks with smaller code lengths can be checked together, which is beneficial to reduce the overhead proportion of the check block in the coding block, reduce signaling overhead, and improve communication efficiency.

[0040] In combination with the second aspect, in some implementations of the second aspect, the first information block of the first coding block is obtained by checking and decoding a first check block of the first coding block.

[0041] The received first codeword can be decoded to obtain a first part of information with a relatively large number of bits. The first part of information can be decoded after verification to obtain a first verification block.

[0042] In combination with the second aspect, in some implementations of the second aspect, at least part of the information in the at least one second coding block except the second check block is obtained by checking and decoding the second check block.

[0043] The received multiple second code words can be decoded to obtain a second part of information with a relatively small number of bits. The second part of information may not be suitable for belonging to the first code word. Information in the second part of information other than the second check block can be obtained by decoding based on the second check block check.

[0044] In combination with the second aspect, in certain implementations of the second aspect, the at least one second coding block contains redundant information, and in the at least one second coding block, the redundant information is located before or after the second check block, or is located at a front position in the first second coding block in the at least one second coding block.

[0045] When the number of bits of the valid information and the second check block is not enough to fill the multiple second coding blocks, the multiple second coding blocks may include redundant information, so that each second coding block can meet the preset coding block code length, and the code length of each second codeword meets the preset code length. The redundant information is located before the second check block, and the second check block can check all the information in the multiple second coding blocks except the second check block. The second check block can be located at the tail of the multiple second coding blocks, and the redundant information bit is checked by the second check block. The redundant information is located after the second check block, and the second check block can check part of the information in the multiple second coding blocks except the second check block. The redundant information bit is not checked by the second check block, and the block error rate is relatively low. Alternatively, the redundant information is located in the front position of the first second coding block in the multiple second coding blocks. When the coding scheme adopts polar code (Polar code, Polar Code, etc.), the transmission reliability of the bit located in the rear position of the coding block may be higher than the transmission reliability of the bit located in the front position of the coding block. Therefore, by filling the redundant information in the front position of the second coding block, it is helpful to place the valid information in the rear position with higher transmission reliability in the second coding block, and effectively improve the reliability of transmitting valid information.

[0046] In combination with the second aspect, in some implementations of the second aspect, in the at least one second coding block, the second check block is located in one or more consecutive coding blocks.

[0047] The minimum number of bits of the second coding block may not be limited by the number of bits of the second check block, and the second check blocks may be encoded into one or more second code words respectively, which is conducive to improving the segmentation flexibility of the second check block in encoding multiple second coding blocks.

[0048] In combination with the second aspect, in certain implementations of the second aspect, the data packet includes L data groups, wherein the L data groups include L1 first data groups and one second data group, each of the L1 first data groups includes n first codewords, the second data group includes at least one second codeword, and L1 and n are greater than or equal to 1.

[0049] The larger the number of codewords included in a data group, the larger the block error rate of the data group may be. The smaller the number of codewords included in a data group, the smaller the block error rate of the data group may be. The number of first codewords in the multiple first data groups may be the same, which is conducive to balancing the block error rates of the multiple first data groups.

[0050] In conjunction with the second aspect, in some implementations of the second aspect, the method further includes:

[0051] L pieces of feedback information corresponding to the data packets are sent, wherein the L pieces of feedback information correspond to the L data groups.

[0052] Multiple codewords can be divided into multiple data groups, and the receiving device can feed back the data reception and transmission status for L data groups. Compared with the implementation method of feeding back the reception and transmission status for each check block, it is beneficial to reduce the signaling overhead of the feedback information.

[0053] In combination with the second aspect, in some implementations of the second aspect, n satisfies n=ceil(H / (L-1)), where H is the total number of the at least one first codeword.

[0054] In combination with the second aspect, in certain implementations of the second aspect, when mod(H,(L-1))>0, the L data groups also include L2 third data groups, each of the L2 third data groups includes p first code words, L2 is a positive integer less than L-L1, and p satisfies p=floor(H / (L-1)).

[0055] When multiple first codewords cannot be evenly divided into multiple data groups, by adjusting the number of codewords in the first data group and the third data group, the difference in the number of codewords in the first data group and the third data group is made relatively small, which is beneficial to balancing the block error rate of multiple data groups and improving the reliability of data transmission.

[0056] In combination with the second aspect, in some implementations of the second aspect, L1 satisfies L1=mod(H,(L-1)), and L2 satisfies L2=L-mod(H,(L-1))-1.

[0057] The multiple first data groups include three types of data groups: a first data group, a second data group, and a third data group, which helps to simplify the division of data groups.

[0058] In combination with the second aspect, in some implementations of the second aspect, the code lengths of the at least one first codeword are the same.

[0059] The code length of the first code word may correspond to the maximum code length of the data packet. The encoding and decoding of the first code word may be related to the maximum code length, which is conducive to simplifying the transmission and reception of the first code word.

[0060] In combination with the second aspect, in some implementations of the second aspect, the at least one second codeword includes at least two second codewords having different encoding rates.

[0061] The multiple second code words have different code lengths and different code rates. For example, the smaller the code length of the code word, the smaller the code rate, which is conducive to making the multiple second code words have similar transceiver performance.

[0062] In combination with the second aspect, in some implementations of the second aspect, the sum of the code lengths of the at least one second codeword is smaller than the code length of the first codeword.

[0063] A first codeword with a relatively long code length can be decoded to obtain most of the valid information, and a plurality of second codewords with a relatively short code length can be decoded to obtain a small portion of the encoded valid information, which is beneficial to simplifying the sending and receiving of data packets.

[0064] In a third aspect, a communication method is provided, the method comprising:

[0065] generating a data packet, wherein the data packet comprises a plurality of second code words;

[0066] Sending the data packet;

[0067] The multiple second codewords are obtained by performing at least one second encoding on multiple second coding blocks, and the multiple second coding blocks include a second check block, and the second check block is used to check at least part of the information in the multiple second coding blocks.

[0068] Optionally, the code length of each second code word is smaller than a preset maximum code length.

[0069] Any number of bits of information can be encoded into a data packet including multiple codewords, and multiple codewords can be obtained by encoding respectively, and the code length of each codeword meets the preset code length. Therefore, it is helpful to save the time of data transmission, for example, it can save the time of rate matching. In addition, checking multiple coding blocks with smaller code lengths together is helpful to reduce the proportion of the code length of the check block in the data packet, reduce signaling overhead, and improve communication efficiency.

[0070] In combination with the third aspect, in certain implementations of the third aspect, the second check block is generated based on at least part of the information in the at least one second coding block except the second check block.

[0071] In combination with the third aspect, in certain implementations of the third aspect, the multiple second coding blocks contain redundant information, and in the multiple second coding blocks, the redundant information is located before or after the second check block, or is located in the front position of the first second coding block in the multiple second coding blocks.

[0072] In combination with the third aspect, in certain implementations of the third aspect, among the multiple second coding blocks, the second check block is located in one or more consecutive coding blocks.

[0073] In combination with the third aspect, in some implementations of the third aspect, the data includes a second data group, and the second data group includes the multiple second codewords.

[0074] In conjunction with the third aspect, in some implementations of the third aspect, the method further includes:

[0075] Receive feedback information corresponding to the second data group.

[0076] In combination with the third aspect, in some implementations of the third aspect, the multiple second codewords include at least two second codewords with different encoding rates.

[0077] In a fourth aspect, a communication method is provided, the method comprising:

[0078] receiving a data packet, wherein the data packet includes a plurality of second code words;

[0079] At least one second decoding is performed on the plurality of second code words to obtain a plurality of second coding blocks, wherein the plurality of second coding blocks include a second check block, and the second check block is used to check part of the information in the plurality of second coding blocks.

[0080] For a data packet including multiple codewords, any number of bits of information can be decoded, and the code length of each codeword meets the preset code length, and multiple codewords can be decoded separately. Therefore, it is helpful to save the time of data transmission, for example, it can save the time of rate matching. In addition, checking multiple coding blocks with smaller code lengths together is helpful to reduce the proportion of the code length of the check block in the data packet, reduce signaling overhead, and improve communication efficiency.

[0081] In combination with the fourth aspect, in certain implementations of the fourth aspect, at least part of the information in the at least one second coding block except the second check block is obtained by checking and decoding the second check block.

[0082] In combination with the fourth aspect, in certain implementations of the fourth aspect, the multiple second coding blocks contain redundant information, and in the multiple second coding blocks, the redundant information is located before or after the second check block, or is located in the front position of the first second coding block in the multiple second coding blocks.

[0083] In combination with the fourth aspect, in certain implementations of the fourth aspect, among the multiple second coding blocks, the second check block is located in one or more consecutive coding blocks.

[0084] In combination with the fourth aspect, in certain implementations of the fourth aspect, the data includes a second data group, and the second data group includes the multiple second codewords.

[0085] In conjunction with the fourth aspect, in some implementations of the fourth aspect, the method further includes:

[0086] Send feedback information corresponding to the second data group.

[0087] In combination with the fourth aspect, in certain implementations of the fourth aspect, the multiple second codewords include at least two second codewords with different encoding rates.

[0088] In a fifth aspect, a communication device is provided, including:

[0089] A processing module, configured to generate a data packet, wherein the data packet includes at least one first codeword and at least one second codeword, wherein a code length of the first codeword is greater than a code length of the second codeword;

[0090] A sending module, used for sending the data packet;

[0091] Among them, the at least one first codeword is obtained by performing a first encoding on at least one first coding block, each first coding block in the at least one first coding block contains a first information block and a first check block for verifying the first information block, and the at least one second codeword is obtained by performing at least one second encoding on at least one second coding block, the at least one second coding block contains a second check block, and the second check block is used to verify part of the information in the at least one second coding block.

[0092] In conjunction with the fifth aspect, in some implementations of the fifth aspect, the apparatus further includes:

[0093] An acquisition module, configured to acquire the at least one first information block;

[0094] The processing module is further configured to generate a first check block corresponding to each first information block in the at least one first information block.

[0095] In combination with the fifth aspect, in certain implementations of the fifth aspect, the second check block is generated based on at least part of the information in the at least one second coding block except the second check block.

[0096] In combination with the fifth aspect, in certain implementations of the fifth aspect, the at least one second coding block contains redundant information, and in the at least one second coding block, the redundant information is located before or after the second check block, or is located at a front position in the first second coding block among multiple second coding blocks.

[0097] In combination with the fifth aspect, in certain implementations of the fifth aspect, in the at least one second coding block, the second check block is located in one or more consecutive coding blocks.

[0098] In combination with the fifth aspect, in certain implementations of the fifth aspect, the data packet includes L data groups, wherein the L data groups include L1 first data groups and one second data group, each of the L1 first data groups includes n first codewords, the second data group includes at least one second codeword, and L1 and n are greater than or equal to 1.

[0099] In conjunction with the fifth aspect, in some implementations of the fifth aspect, the apparatus further includes:

[0100] The receiving module is used to receive L feedback information corresponding to the data packet, and the L feedback information corresponds to the L data groups.

[0101] In combination with the fifth aspect, in certain implementations of the fifth aspect, n satisfies n=ceil(H / (L-1)), where H is the total number of the at least one first codeword.

[0102] In combination with the fifth aspect, in certain implementations of the fifth aspect, when mod(H,(L-1))>0, the L data groups also include L2 third data groups, each of the L2 third data groups includes p first code words, L2 is a positive integer less than L-L1, and p satisfies p=floor(H / (L-1)).

[0103] In combination with the fifth aspect, in certain implementations of the fifth aspect, L1 satisfies L1=mod(H,(L-1)), and L2 satisfies L2=L-mod(H,(L-1))-1.

[0104] In combination with the fifth aspect, in certain implementations of the fifth aspect, the code lengths of the at least one first codeword are the same.

[0105] In combination with the fifth aspect, in some implementations of the fifth aspect, the at least one second codeword includes at least two second codewords with different encoding rates.

[0106] In combination with the fifth aspect, in certain implementations of the fifth aspect, the sum of the code lengths of the at least one second codeword is smaller than the code length of the first codeword.

[0107] In a sixth aspect, a communication device is provided, including:

[0108] A receiving module, configured to receive a data packet, wherein the data packet includes at least one first codeword and at least one second codeword, wherein a code length of the first codeword is greater than a code length of the second codeword;

[0109] A processing module performs a first decoding on the at least one first codeword and performs at least one second decoding on the at least one second codeword to obtain at least one first coding block and at least one second coding block, wherein each first coding block in the at least one first coding block includes a first information block and a first check block for checking the first information block, and the at least one second coding block includes a second check block, and the second check block is used to check part of the information in the at least one second coding block.

[0110] In combination with the sixth aspect, in certain implementations of the sixth aspect, the first information block of the first coding block is obtained by checking and decoding a first check block of the first coding block.

[0111] In combination with the sixth aspect, in certain implementations of the sixth aspect, at least part of the information in the at least one second coding block except the second check block is obtained by checking and decoding the second check block.

[0112] In combination with the sixth aspect, in certain implementations of the sixth aspect, the at least one second coding block contains redundant information, and in the at least one second coding block, the redundant information is located before or after the second check block, or is located at a front position in the first second coding block among multiple second coding blocks.

[0113] In combination with the sixth aspect, in certain implementations of the sixth aspect, in the at least one second coding block, the second check block is located in one or more consecutive coding blocks.

[0114] In combination with the sixth aspect, in certain implementations of the sixth aspect, the data packet includes L data groups, wherein the L data groups include L1 first data groups and one second data group, each of the L1 first data groups includes n first codewords, the second data group includes at least one second codeword, and L1 and n are greater than or equal to 1.

[0115] In conjunction with the sixth aspect, in some implementations of the sixth aspect, the apparatus further includes:

[0116] The sending module is used to send L feedback information corresponding to the data packets, and the L feedback information corresponds to the L data groups.

[0117] In combination with the sixth aspect, in certain implementations of the sixth aspect, n satisfies n=ceil(H / (L-1)), where H is the total number of the at least one first codeword.

[0118] In combination with the sixth aspect, in certain implementations of the sixth aspect, when mod(H,(L-1))>0, the L data groups also include L2 third data groups, each of the L2 third data groups includes p first code words, L2 is a positive integer less than L-L1, and p satisfies p=floor(H / (L-1)).

[0119] In combination with the sixth aspect, in certain implementations of the sixth aspect, L1 satisfies L1=mod(H,(L-1)), and L2 satisfies L2=L-mod(H,(L-1))-1.

[0120] In combination with the sixth aspect, in certain implementations of the sixth aspect, the code lengths of the at least one first codeword are the same.

[0121] In combination with the sixth aspect, in certain implementations of the sixth aspect, the at least one second codeword includes at least two second codewords with different encoding rates.

[0122] In combination with the sixth aspect, in certain implementations of the sixth aspect, the sum of the code lengths of the at least one second codeword is smaller than the code length of the first codeword.

[0123] In a seventh aspect, a communication device is provided, the device comprising:

[0124] A processing module, configured to generate a data packet, wherein the data packet includes a plurality of second code words;

[0125] A sending module, used for sending the data packet;

[0126] The multiple second codewords are obtained by performing at least one second encoding on multiple second coding blocks, and the multiple second coding blocks include a second check block, and the second check block is used to check part of the information in the multiple second coding blocks.

[0127] In combination with the seventh aspect, in certain implementations of the seventh aspect, the second check block is generated based on at least part of the information in the at least one second coding block except the second check block.

[0128] In combination with the seventh aspect, in certain implementations of the seventh aspect, the multiple second coding blocks contain redundant information, and in the multiple second coding blocks, the redundant information is located before or after the second check block, or is located at the front position of the first second coding block in the multiple second coding blocks.

[0129] In combination with the seventh aspect, in certain implementations of the seventh aspect, among the multiple second coding blocks, the second check block is located in one or more consecutive coding blocks.

[0130] In combination with the seventh aspect, in certain implementations of the seventh aspect, the data includes a second data group, and the second data group includes the multiple second codewords.

[0131] In conjunction with the seventh aspect, in some implementations of the seventh aspect, the apparatus further includes:

[0132] A receiving module is used to receive feedback information corresponding to the second data group.

[0133] In combination with the seventh aspect, in certain implementations of the seventh aspect, the multiple second codewords include at least two second codewords with different encoding rates.

[0134] In an eighth aspect, a communication device is provided, the device comprising:

[0135] A receiving module, configured to receive a data packet, wherein the data packet includes a plurality of second code words;

[0136] The processing module is used to perform at least one second decoding on the multiple second code words to obtain multiple second coding blocks, wherein the multiple second coding blocks include a second check block, and the second check block is used to check part of the information in the multiple second coding blocks.

[0137] In combination with the eighth aspect, in certain implementations of the eighth aspect, at least part of the information in the at least one second coding block except the second check block is obtained by checking and decoding the second check block.

[0138] In combination with the eighth aspect, in certain implementations of the eighth aspect, the multiple second coding blocks contain redundant information, and in the multiple second coding blocks, the redundant information is located before or after the second check block, or is located in the front position of the first second coding block in the multiple second coding blocks.

[0139] In combination with the eighth aspect, in certain implementations of the eighth aspect, among the multiple second coding blocks, the second check block is located in one or more consecutive coding blocks.

[0140] In combination with the eighth aspect, in certain implementations of the eighth aspect, the data includes a second data group, and the second data group includes the multiple second codewords.

[0141] In conjunction with the eighth aspect, in some implementations of the eighth aspect, the apparatus further includes:

[0142] A sending module is used to send feedback information corresponding to the second data group.

[0143] In combination with the eighth aspect, in certain implementations of the eighth aspect, the multiple second codewords include at least two second codewords with different encoding rates.

[0144] In the ninth aspect, a communication device is provided, comprising: at least one processor and a communication interface, wherein the communication interface is used for the communication device to exchange information with other communication devices, and when program instructions are executed in the at least one processor, the communication device implements the communication method described in the above-mentioned first to fourth aspects or any possible implementation method of the first to fourth aspects.

[0145] In a tenth aspect, a communication device is provided, comprising a communication device for executing any possible implementation of the fifth to eighth aspects or the fifth to eighth aspects.

[0146] In the eleventh aspect, a computer program storage medium is provided, wherein the computer readable medium stores program code, and when the computer program code runs on a computer, the computer executes the communication method described in any possible implementation of the first to fourth aspects or the first to fourth aspects.

[0147] In the twelfth aspect, a chip system is provided, which includes at least one processor. When program instructions are executed in the at least one processor, the communication method described in the above-mentioned first to fourth aspects or any possible implementation method of the first to fourth aspects is implemented. BRIEF DESCRIPTION OF THE DRAWINGS

[0148] Figure 1 It is a schematic diagram of a communication scenario of an embodiment of the present application.

[0149] Figure 2 It is a schematic structure diagram of a data frame.

[0150] Figure 3 The diagram is a schematic structural diagram of data retransmission.

[0151] Figure 4 It is a schematic flow chart of a communication method provided in an embodiment of the present application.

[0152] Figure 5 It is a schematic structural diagram of a data packet provided in an embodiment of the present application.

[0153] Figure 6 It is a schematic structural diagram of a first coding block provided in an embodiment of the present application.

[0154] Figure 7 It is a schematic structural diagram of encoding a single second coding block provided in an embodiment of the present application.

[0155] Figure 8It is a schematic structural diagram of encoding multiple second coding blocks provided in an embodiment of the present application.

[0156] Fig. 9 It is a schematic structural diagram of another encoding of multiple second coding blocks provided in an embodiment of the present application.

[0157] Fig.10 It is a schematic flow chart of another communication method provided in an embodiment of the present application.

[0158] Fig.11 It is a schematic structural diagram of another data packet provided in an embodiment of the present application.

[0159] Fig.12 It is a schematic flow chart of another communication method provided in an embodiment of the present application.

[0160] Fig.13 It is a schematic structural diagram of another data packet provided in an embodiment of the present application.

[0161] Fig.14 It is a schematic structural diagram of a communication device provided in an embodiment of the present application.

[0162] Fig.15 It is a schematic structural diagram of a communication device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0163] The technical solution in this application will be described below in conjunction with the accompanying drawings.

[0164] The technical solutions of the embodiments of the present application can be applied to various communication systems, for example: global system of mobile communication (GSM) system, code division multiple access (CDMA) system, wideband code division multiple access (WCDMA) system, general packet radio service (GPRS), long term evolution (LTE) system, LTE frequency division duplex (FDD) system, LTE time division duplex (TDD), universal mobile telecommunication system (UMTS), worldwide interoperability for Microwave Access (WiMAX) communication system, fifth generation (5G) system or new wireless (NR) and other millimeter wave communication systems, sixth generation (6G) system, various existing short-range communication systems, future evolved short-range communication systems or universal short-range communication systems, etc.

[0165] The terminal device in the embodiments of the present application may refer to a communication node, such as a user device, an access terminal, a user unit, a user station, a mobile station, a mobile station, a remote station, a remote terminal, a mobile device, a user terminal, a terminal, a wireless communication device, a user agent or a user device, and a customer premise equipment. The terminal device may also be a cellular phone, a cordless phone, a session initiation protocol (SIP) phone, a wireless local loop (WLL) station, a personal digital assistant (PDA), a handheld device with wireless communication function, a computing device or other processing device connected to a wireless modem, a vehicle-mounted device, a wearable device, a terminal device in a 5G network or a terminal device in an evolved public land mobile communication network (PLMN), etc. For example, it may be a terminal device supporting short-range communication, which is not limited in the embodiments of the present application. The terminal device may also refer to intelligent transportation equipment, such as a vehicle, a drone, a vehicle-mounted chip, etc. The terminal device may also refer to intelligent manufacturing equipment, such as an industrial manufacturing system, a battery management system, etc. Terminal devices can also refer to smart home devices, such as TVs, speakers, cameras, voice assistants, smart curtains, smart lamps, etc. Terminal devices can also refer to smart terminal devices, such as mobile phones, tablets, headphones, watches, microphones, car-mounted devices, etc.

[0166] The network device in the embodiment of the present application may be a device for communicating with a terminal device, and may also be referred to as a communication node. The communication node may be a base transceiver station (BTS) in a GSM system or CDMA, or a base station (NodeB, NB) in a WCDMA system, or an evolutionary NodeB (eNB or eNodeB) in an LTE system, or a wireless controller in a cloud radio access network (CRAN) scenario, or the network device may be a relay station, an access point, a vehicle-mounted device, a wearable device, and a network device in a 5G network or a network device in a future evolved PLMN network. Or a communication device suitable for future communication technologies such as 6G, etc., or, for example, a communication device supporting short-distance communication, which is not limited in the embodiment of the present application. The network device may also refer to intelligent transportation equipment, such as vehicles, drones, vehicle-mounted chips, etc. The network device may also refer to intelligent manufacturing equipment, such as industrial manufacturing systems, battery management systems, etc. The network device may also refer to smart home devices, such as televisions, speakers, cameras, voice assistants, smart curtains, smart lamps, etc. Network devices can also refer to smart network devices, such as mobile phones, tablets, headphones, watches, microphones, car-mounted devices, etc.

[0167] In an embodiment of the present application, a terminal device or a network device includes a hardware layer, an operating system layer running on the hardware layer, and an application layer running on the operating system layer. The hardware layer includes hardware such as a central processing unit (CPU), a memory management unit (MMU), and memory (also referred to as main memory). The operating system may be any one or more computer operating systems that implement business processing through a process, such as a Harmony operating system, a Linux operating system, a Unix operating system, an Android operating system, an iOS operating system, or a Windows operating system. The application layer includes applications such as a browser, an address book, a word processing software, and an instant messaging software. Moreover, the embodiment of the present application does not specifically limit the specific structure of the execution subject of the method provided in the embodiment of the present application, as long as it can communicate according to the method provided in the embodiment of the present application by running a program that records the code of the method provided in the embodiment of the present application, for example, the execution subject of the method provided in the embodiment of the present application may be a terminal device or a network device, or a functional module in a terminal device or a network device that can call a program and execute the program.

[0168] In addition, various aspects or features of the present application can be implemented as methods, devices or products using standard programming and / or engineering techniques. The term "product" used in this application covers computer programs that can be accessed from any computer-readable device, carrier or medium. For example, computer-readable media may include, but are not limited to: magnetic storage devices (e.g., hard disks, floppy disks or tapes, etc.), optical disks (e.g., compact discs (CDs), digital versatile discs (DVDs), etc.), smart cards and flash memory devices (e.g., erasable programmable read-only memory (EPROM), cards, sticks or key drives, etc.). In addition, the various storage media described herein may represent one or more devices and / or other machine-readable media for storing information. The term "machine-readable medium" may include, but is not limited to, wireless channels and various other media capable of storing, containing and / or carrying instructions and / or data.

[0169] Figure 1 It is a schematic diagram of a communication system of the present application. Figure 1 The communication system in the embodiment may include at least one terminal (e.g., terminal 10, terminal 20, terminal 30, terminal 40, terminal 50, and terminal 60) and a network device 70. The network device 70 is used to provide communication services for the terminal and access the core network. The terminal can access the network by searching for synchronization signals, broadcast signals, etc. sent by the network device 70, thereby communicating with the network. Figure 1 The terminals 10, 20, 30, 40 and 60 in the network device 70 can perform uplink and downlink transmission with the network device 70. For example, the network device 70 can send downlink signals to the terminals 10, 20, 30, 40 and 60, and can also receive uplink signals sent by the terminals 10, 20, 30, 40 and 60.

[0170] In addition, the terminal 40 , the terminal 50 and the terminal 60 may also be regarded as a communication system. The terminal 60 may send downlink signals to the terminal 40 and the terminal 50 , and may also receive uplink signals sent by the terminal 40 and the terminal 50 .

[0171] It should be noted that the embodiments of the present application can be applied to a communication system including one or more network devices, and can also be applied to a communication system including one or more terminals, and the present application does not limit this.

[0172] It should be understood that the network device included in the communication system may be one or more. One network device may send data or control signaling to one or more terminals. Multiple network devices may also send data or control signaling to one or more terminals at the same time.

[0173] Figure 2 A schematic structure diagram of a data frame is shown. Figure 2 The data frame shown can be sent by a sending device to a receiving device. In one possible example, one of the sending device and the receiving device can be a terminal device, and the other can be a network device. In another possible example, both the sending device and the receiving device can be terminal devices. In another possible example, both the sending device and the receiving device can be network devices.

[0174] A data frame may include a preamble, an access address, a data unit (such as a protocol data unit (PDU)), and a check block (cyclic redundancy check, CRC). The preamble may be used, for example, to implement frequency synchronization, symbol timing estimation (STE), automatic gain control (AGC), etc. The access address may indicate, for example, the address of a receiving device. A data unit may include, for example, a header and valid data (or payload). The header may be used, for example, to indicate the type of data unit, the type of device address for sending data, the type of device address for receiving data, the number of bytes of valid data, etc. The check block is used to check the data unit. For example, the sending device may generate a check block based on the data unit. The receiving device may check whether the data unit is incorrect based on the check block.

[0175] Optionally, the data frame may further include a connection interval (CI), an algorithm termination (TERM), and the like.

[0176] The sending device can determine the information to be sent to the receiving device. The sending device can encode the information according to a certain code rate to obtain an encoded code stream. In order to match the carrying capacity of the physical channel, the sending device needs to rate match the encoded code stream. It can be seen that the sending device must at least include an encoding module and a rate matching module before it can send data to the receiving device.

[0177] Figure 3 Shows the Figure 2 The schematic structural diagram of data frame retransmission is shown.

[0178] The sending device may determine a plurality of data frames to be sent to the receiving device. The data frame may be a data structure including a data unit and a check block. The sending device may send a plurality of data frames to the receiving device. Accordingly, the receiving device may receive a plurality of data frames from the sending device and check each data frame.

[0179] If the receiving device correctly receives the data frame from the sending device, the receiving device can send an acknowledgement message (acknowledge character, ACK) to the sending device, and the acknowledgement message can indicate that the receiving device correctly receives the data frame sent by the sending device. After receiving the acknowledgement message from the receiving device, the sending device can continue to send subsequent data frames.

[0180] If the receiving device does not correctly receive the data frame from the sending device, the receiving device may send a negative acknowledgement character (NACK) to the sending device, which may indicate that the receiving device did not correctly receive the data frame sent by the sending device. The sending device may resend the erroneously transmitted data frame after receiving the negative acknowledgement character from the receiving device.

[0181] If the sending device does not receive a confirmation message or a negative confirmation message from the receiving device within a period of time, the sending device may resend the data frame to the receiving device.

[0182] For example, Figure 3 As shown, the sending device can determine multiple data frames to be sent to the receiving device, and the multiple data frames can include data frame 0, data frame 1, data frame 2, data frame 3, and data frame 4. The sending device can send data frame 0, data frame 1, data frame 2, data frame 3, and data frame 4 to the receiving device. The receiving device can receive data frame 0, data frame 1, data frame 2, data frame 3, and data frame 4 from the sending device, and check data frame 0, data frame 1, and data frame 2 respectively. Figure 3 In the example shown, the receiving device may correctly receive data frame 0 and data frame 1 from the sending device, and erroneously receive data frame 2. Since data frame 2 is not received correctly, the receiving device may not check the received data frame 3 and data frame 4. The receiving device may send a confirmation message for data frame 0 and data frame 1 to the sending device, and a negative message for data frame 2. The sending device may resend data frame 2, data frame 3, and data frame 4 to the receiving device based on the negative message for data frame 2.

[0183] Depend on Figure 3 As can be seen from the example shown, the receiving device may correctly receive data frame 3 and data frame 4. When the receiving device correctly receives data frame 3 and data frame 4, the sending device may send data frame 3 and data frame 4 to the receiving device at least twice, resulting in relatively low communication efficiency.

[0184] Figure 4 It is a schematic flow chart of a communication method 400 provided in an embodiment of the present application.

[0185] 401. A sending device generates a data packet, wherein the data packet includes at least one first codeword and at least one second codeword, wherein a code length of the first codeword is greater than a code length of the second codeword, wherein the at least one first codeword is obtained by performing a first encoding on at least one first encoding block, each first encoding block in the at least one first encoding block includes a first information block and a first check block for verifying the first information block, and the at least one second codeword is obtained by performing at least one second encoding on at least one second encoding block, the at least one second encoding block includes a second check block, and the second check block is used to verify part of the information in the at least one second encoding block.

[0186] 402. The sending device sends the data packet.

[0187] Accordingly, the receiving device receives the data packet from the sending device.

[0188] 403, the receiving device performs a first decoding on the at least one first codeword in the data packet to obtain the at least one first coding block; the receiving device may perform at least one second decoding on the at least one second codeword in the data packet to obtain the at least one second coding block.

[0189] It should be understood that Figure 4 The method shown can be performed by an electronic device with a communication function. For example, the sending device can be a terminal device, and the receiving device can be a network device. For another example, the sending device can be a network device, and the receiving device can be a terminal device. For another example, the sending device can be a terminal device 1, and the receiving device can be a terminal device 2.

[0190] Figure 5 The structure of a data packet is shown.

[0191] exist Figure 5 In the example shown, the data packet may include H first codewords and M second codewords. It should be understood that the data packet may include a greater or lesser number of first codewords, and may also include a greater or lesser number of second codewords. For example, the data packet may include only 1 first codeword and 1 second codeword.

[0192] Optionally, the sending device obtains at least one first information block; the sending device generates at least one first check block in the at least one first coding block, and the first check block corresponds to the first information block in the first coding block where the first check block is located. The method of generating at least one first coding block may include, for example, check coding, such as cyclic redundancy check (CRC) coding.

[0193] Optionally, the first information block of the first coding block is obtained by at least checking and decoding the first check block in the first coding block (such as CRC decoding). In one example, the receiving device can input the first information block and the first check block into a check polynomial. If the result of the check polynomial is zero, the first information block is successfully checked.

[0194] Optionally, the first coding block may include redundant information (the redundant information is described in detail below). The first information block of the first coding block may be obtained by de-redundancy operation and verification decoding (such as CRC decoding) according to the first check block in the first coding block.

[0195] For example, the redundant information may be located after the first check block. After removing the redundant information in the first coding block, the receiving device may input the first information block and the first check block into a check polynomial. If the result of the check polynomial is zero, the first information block is successfully checked.

[0196] For another example, the redundant information may be located before the first check block. The receiving device may input the first information block, the redundant information, and the first check block into a check polynomial. If the result of the check polynomial is zero, the first information block and the redundant information are successfully checked. The receiving device may then remove the redundant information to obtain the first information block.

[0197] For another example, the redundant information may be located before the first information block in the first coding block (or located at the beginning of the first coding block). The receiving device may input the redundant information, the first information block and the first check block into a check polynomial. If the result of the check polynomial is zero, the first information block and the redundant information are successfully checked. The receiving device may then remove the redundant information to obtain the first information block. Figure 6 , describing an example of performing a first encoding on a first coding block.

[0198] like Figure 6 As shown, the sending device can obtain a first coding block, and the first coding block may include a first information block and a first check block. The first information block and the first check block in the first coding block correspond to each other. Specifically, the first check block can be used to check the corresponding first information block, that is, the first check block can be used to check the first information block in the first coding block where the first check block is located. The sending device can generate a corresponding first check block based on the first information block. The sending device can perform a first encoding on the first coding block to obtain a first codeword.

[0199] The receiving device performs a first decoding on the first codeword in the data packet to obtain a first coding block, which may include a first information block and a first check block. The receiving device may verify whether the first information block in the first coding block where the first check block is located is correct based on the first check block, thereby determining whether to feed back a confirmation message or a negative message to the sending device. The sending device may determine whether to retransmit the first codeword based on the feedback from the receiving device.

[0200] The data packet may include multiple first codewords. Before generating the multiple first codewords, the sending device may obtain multiple first information blocks. The sending device may perform check coding on each of the multiple first information blocks to obtain multiple first check blocks, and the multiple first check blocks correspond one-to-one to the multiple first information blocks. Any first check block may be cascaded with the corresponding first information block. Any first check block may be located after the corresponding first information block. Any first check block may constitute a first coding block with the corresponding first information block. Multiple first information blocks and multiple first check blocks may constitute multiple first coding blocks, so that the sending device may obtain multiple first coding blocks. Among them, the first check block in the first coding block of the previous level may be cascaded with the first information block in the first coding block of the next level. The first information block in the first coding block of the next level may be located after the first check block in the first coding block of the previous level. Reference Figure 6 In the example shown, the sending device can perform the first encoding on each first encoding block in multiple first encoding blocks (multiple first encoding blocks can perform the first encoding synchronously or successively), and thus obtain multiple first code words. The number of bits of the first information block may be K1', and the number of bits of the first check block may be K1". In one example, the number of bits of the first encoding block may be K1, K1≥K1'+K1". A first code word may be obtained by performing the first encoding on the first encoding block, and the code length (or number of bits) of the first code word may be N1. The code rate of the first encoding may be K1 / N1.

[0201] Combination Figure 5 , Figure 6 , the data packet may include multiple first codewords. Before generating multiple first codewords, the transmitting device may obtain multiple first coding blocks, and the multiple first coding blocks may correspond one-to-one to the multiple first codewords. The transmitting device may perform the first encoding on each first coding block. In an example, the code length of each first codeword may be the same, and the number of bits of each first coding block may be the same. The code rate of each first encoding may be the same. Multiple first coding blocks may be subjected to the same type of encoding to generate multiple first codewords. In one possible example, the first encoding may, for example, belong to polarization code (Polar code, Polar Code, etc.) encoding. The decoding process of multiple first codewords can refer to the encoding process of multiple first coding blocks, which will not be repeated here.

[0202] Optionally, the second check block is generated based on at least part of the information in the at least one second coding block except the second check block. The method of generating at least one second coding block may, for example, include check coding, such as CRC coding. Optionally, in the case where at least one second coding block includes multiple second coding blocks, the method of generating at least one second coding block may also include data segmentation to form multiple second coding blocks. Optionally, the method of generating at least one second coding block may also include a redundancy operation, that is, at least one second coding block may include redundant information.

[0203] Optionally, at least part of the information in the at least one second coding block other than the second check block is obtained by checking and decoding the second check block (such as CRC decoding). In one example, the receiving device may input the at least one second coding block into a check polynomial. If the result of the check polynomial is zero, the first information block is successfully checked.

[0204] Optionally, at least one second coding block may include redundant information. At least part of the information in the at least one second coding block except the second check block may be obtained by performing a redundancy removal operation and checking and decoding according to the second check block.

[0205] For example, the redundant information may be located after the second check block. After removing the redundant information in the at least one second coding block, the receiving device may input the information other than the redundant information in the at least one second coding block into a check polynomial. If the result of the check polynomial is zero, the information other than the second check block and the redundant information in the at least one second coding block is successfully checked.

[0206] For another example, the redundant information may be located before the second check block. The receiving device may input all information (including the second check block and the redundant information) in at least one second coding block into a check polynomial. If the result of the check polynomial is zero, the information check of at least one second coding block is successful. The receiving device may then remove the redundant information to obtain information other than the second check block and the redundant information in at least one second coding block.

[0207] For another example, the redundant information may be located in the front position of the first second coding block in the at least one second coding block (or located in the starting part of the at least one second coding block). The receiving device may input all the information of the at least one second coding block into the check polynomial, and if the result of the check polynomial is zero, the check is successful. After that, the receiving device may remove the redundant information to obtain information other than the second check block and the redundant information in the at least one second coding block.

[0208] Combine the following Figure 7 , describes an example of performing at least one second encoding on at least one second encoding block. Figure 7 In the example shown, the data packet may include a single second codeword.

[0209] The sending device may obtain a single second coding block, and the single second coding block may include a second information block and a second check block. The second information block and the second check block in the single second coding block correspond to each other. The second check block may be used to check the corresponding second information block. The sending device may generate a corresponding second check block based on the second information block. The sending device may perform a second encoding on the single second coding block to obtain a single second codeword.

[0210] The receiving device performs a second decoding on the single second codeword in the data packet to obtain a second coding block, which may include a second information block and a second check block. The receiving device may verify whether the second information block corresponding to the second check block is correct based on the second check block, thereby determining whether to feed back a confirmation message or a negative message to the sending device. The sending device may determine whether to retransmit the single second codeword based on the feedback from the receiving device.

[0211] Optionally, a single second codeword includes redundant information, and in the single second codeword, the redundant information is located before or after the second check block, or before the second information block. If the redundant information is located before the second check block, the second check block can be used to check the redundant information. If the redundant information is located after the second check block, the second check block may not be used to check the redundant information, for example, the second check block may be irrelevant to the redundant information.

[0212] Redundant information may refer to information other than the minimum information required for transmitting information, which may be called redundant information. In one example, all information bits of the redundant information may take values ​​of 0 or 1, for example. The redundant information is located before the second check block, which may mean that the position of the redundant information in a single second coding block is located before the second check block. The redundant information is located after the second check block, which may mean that the position of the redundant information in a single second coding block is located after the second check block. The redundant information is located before the second information block, which may mean that the position of the redundant information in a single second coding block is located before the second information block.

[0213] The number of bits of the second information block may be K2', and the number of bits of the second check block may be K2". In one example, the number of bits of the second coding block may be K2, K2≥K2'+K2". For example, the second coding block may include redundant information, and the number of bits of the redundant information may be K2'", K2=K2'+K2"+K2'. A second codeword may be obtained by performing a second encoding on the second coding block, and the code length (or number of bits) of the second codeword may be N2. The code rate of the second encoding may be K2 / N2.

[0214] In the case where the data packet includes a single second codeword, the code length of the single second codeword may be less than the code length of the first codeword. The number of bits of the second coding block may be different from the number of bits of the first coding block. The code rate of the first coding and the code rate of the second coding may be the same or different.

[0215] For example, if the number of bits of the first coding block is 1000 and the code length of the first codeword is 1024, the code rate of the first coding may be 1000 / 1024. If the number of bits of the second coding block is 400 and the code length of the second codeword is 512, the code rate of the second coding may be 400 / 512.

[0216] For another example, if the number of bits of the first coding block is 1000 and the code length of the first codeword is 1024, the code rate of the first coding may be 1000 / 1024. If the number of bits of the second coding block is 500 and the code length of the second codeword is 512, the code rate of the second coding may be 500 / 512.

[0217] For another example, if the number of bits of the first coding block is 1000 and the code length of the first codeword is 1024, the code rate of the first coding may be 1000 / 1024. If the number of bits of the second coding block is 60 and the code length of the second codeword is 128, the code rate of the second coding may be 60 / 128.

[0218] The decoding process of a single second codeword may refer to the encoding process of a single second coding block, which will not be described in detail here.

[0219] Combine the following Figure 8 , Fig. 9 , another example of performing at least one second encoding on at least one second encoding block is described. Figure 8 , Fig. 9 In the example shown, the data packet may include a plurality of second codewords.

[0220] The sending device may obtain multiple second coding blocks. Figure 8 , Fig. 9 As shown, the plurality of second coding blocks may include a second coding block 1, a second coding block 2, ..., a second coding block M-1, and a second coding block M. The plurality of second coding blocks may include a second check block. Optionally, in the at least one second coding block, the second check block is located in one or more consecutive coding blocks. That is, the second check block may be located in one coding block among the plurality of second coding blocks, or the second check block may be located in a plurality of consecutive coding blocks among the plurality of second coding blocks. Figure 8 , Fig. 9As shown, the second check block can be shown by a pattern filled with slashes. Multiple consecutive coding blocks may refer to multiple coding blocks being consecutive in position. For example, multiple consecutive coding blocks include K coding blocks, namely coding block 1, coding block 2,..., coding block K-1, coding block K, wherein coding block k is adjacent to coding block k-1 in position, and coding block k is adjacent to k+1 in position, k∈(1,K). Two adjacent coding blocks can be cascaded. For example, the head of coding block k can be cascaded with the tail of coding block k-1, and the tail of coding block k can be cascaded with the head of coding block k+1.

[0221] exist Figure 8 In the example shown, the first part of the second check block may belong to the second coding block M-1, and the second part of the second check block may belong to the second coding block M. The second coding block M-1 and the second coding block M may be adjacent. Assuming that the number of bits of the second coding block M-1 may be K2,M-1, the number of bits of the second coding block M may be K2,M, and the number of bits of the second check block may be K2", K2,M≤K2"≤K2,M-1+K2,M.

[0222] exist Fig. 9 In the example shown, the second check block may belong to the second coding block M. Assuming that the number of bits of the second coding block M may be K2,M, the number of bits of the second check block may be K2", K2"≤K2,M.

[0223] The second check block may be used to check at least part of the information in the plurality of second coding blocks except the second check block.

[0224] Optionally, the at least one second coding block contains redundant information, and in the at least one second coding block, the redundant information is located before or after the second check block, or is located at a front position in a first second coding block of the at least one second coding block.

[0225] exist Figure 8 In the example shown, the second check block can be used to check all information in multiple second coding blocks except the second check block. That is, all information in multiple second coding blocks except the second check block can be located between the second check blocks. The second check block can be generated by the sending device based on all information in multiple second coding blocks except the second check block. Accordingly, by checking the second check block, the receiving device can determine whether all information in multiple second coding blocks except the second check block is correctly received, thereby determining to feedback a confirmation message or a denial message to the sending device. The sending device can determine whether to retransmit multiple second codewords based on the feedback from the receiving device.

[0226] Optionally, all information in the plurality of second coding blocks except the second check block may include redundant information, and the redundant information may be located before the second check block. Figure 8 As shown, the redundant information may be shown by a pattern filled with diamonds. That is, in the case where the plurality of second coding blocks also include redundant information, the second check block may be used to check the redundant information. The redundant information is located before the second check block, which may mean that the position of the redundant information in the plurality of second coding blocks is located before the second check block.

[0227] exist Fig. 9 In the example shown, the second check block can be used to check part of the information in the plurality of second coding blocks except the second check block. That is, all the information in the plurality of second coding blocks except the second check block may include the first part of information and the second part of information, the first part of information may be located before the second check block, and the second part of information may be located after the second check block. The second check block can be used to check the first part of information, and is not used to check the second part of information. The second check block can be generated by the sending device based on the first part of information. The generation of the second check block may not be related to the second part of information. Accordingly, by checking the second check block, the receiving device can determine whether the first part of information is correctly received, thereby determining to feedback a confirmation message or a denial message to the sending device. The sending device can determine whether to retransmit multiple second codewords based on the feedback of the receiving device.

[0228] In a possible example, the second part of information may be redundant information. Whether the redundant information is correctly received or not, it does not affect the normal communication between the information sending device and the receiving device.

[0229] Optionally, all information in the plurality of second coding blocks except the second check block may include redundant information, and the redundant information may be located after the second check block. Fig. 9 As shown, the redundant information may be shown by a pattern filled with diamonds. That is, the second check block may not be used to check the redundant information located after the second check block. The redundant information is located after the second check block, which may mean that the position of the redundant information in the plurality of second coding blocks is located after the second check block.

[0230] Optionally, the redundant information may also be located at the front position of a first second coding block of the plurality of second coding blocks.

[0231] It should be understood that the several redundant information positions given above are just some possible examples, and in actual operation, filling can also be performed in other positions.

[0232] For example, the redundant information may also be in the front position of any other first coding block, or before the first check block, or after the first check block, or the redundant information may also be dispersed and filled in multiple first coding blocks, and the filling position in each first coding block is not limited, and so on.

[0233] For another example, the redundant information may also be in the front position of any other second coding block, or before the second check block, or after the second check block, or the redundant information may also be dispersed and filled in multiple second coding blocks, and the filling position in each second coding block is not limited, and so on, which are not listed one by one here.

[0234] The transmitting device may perform at least one second encoding on the multiple second coding blocks to obtain multiple second code words. Correspondingly, the receiving device may perform at least one second decoding on the multiple second code words in the data packet to obtain multiple second coding blocks. Optionally, the at least one second code word includes at least two second code words with different encoding rates. The encoding process of the multiple second coding blocks is described below through some examples.

[0235] Assume that the multiple second coding blocks may include a second coding block i and a second coding block j. The number of bits of the second coding block i may be K2,i, and the number of bits of the second coding block j may be K2,j. The sending device performs at least one second encoding on the multiple second coding blocks to obtain multiple second codewords. The multiple second codewords may correspond one-to-one to the multiple second coding blocks. The multiple second codewords may include a second codeword i and a second codeword j. The second codeword i may correspond to the second coding block i, that is, the second codeword i may be obtained by the second coding block i through the second encoding. The second codeword j may correspond to the second coding block j, that is, the second codeword j may be obtained by the second coding block j through the second encoding. The code length of the second codeword i may be N2,i, and the code length of the second codeword j may be N2,j.

[0236] In one example, the number of bits K2,i of the second coding block i may be the same as the number of bits K2,j of the second coding block j. The same type of second coding is performed on the second coding blocks i and j, and the code length N2,i of the second codeword i may be the same as the code length N2,j of the second codeword j. The code rate of the same type of second coding may be K2,i / N2,i=K2,j / N2,j.

[0237] In another example, the number of bits K2,i of the second coding block i may be the same as the number of bits K2,j of the second coding block j. The second coding block i is subjected to the second coding i, and the second coding block j is subjected to the second coding j. The second coding i and the second coding j belong to different types of coding. Then, the code length N2,i of the second codeword i may be different from the code length N2,j of the second codeword j. The code rate of the second coding i may be K2,i / N2,i, and the code rate of the second coding j may be K2,j / N2,j, and K2,i / N2,i ≠ K2,j / N2,j.

[0238] In yet another example, the number of bits K2,i of the second coding block i may be different from the number of bits K2,j of the second coding block j. The second coding block i is subjected to the second coding i, and the second coding block j is subjected to the second coding j. The second coding i and the second coding j belong to different types of coding. Then, the code length N2,i of the second codeword i and the code length N2,j of the second codeword j may be the same or different. The code rate of the second coding i may be K2,i / N2,i, and the code rate of the second coding j may be K2,j / N2,j, and K2,i / N2,i and K2,j / N2,j may be the same or different.

[0239] The decoding process of multiple second codewords may refer to the coding process of multiple second coding blocks, which will not be elaborated here.

[0240] Optionally, the code lengths of the at least one first codeword are the same.

[0241] Combined Figures 4 to 9 , the data packet may include H first codewords with a code length of N1 and M second codewords. The code lengths of the M second codewords may be N2,1, N2,2,..., N2,M-1, and N2,M respectively.

[0242] In one example, N1 > N2,1 + N2,2 +... + N2,M-1 + N2,M. For example, the code length N1 of the first codeword may be 1024, and the M second codewords may include 1 second codeword with a code length of 64 and 1 second codeword with a code length of 128.

[0243] In another example, N1 = N2,1 + N2,2 +... + N2,M-1 + N2,M. For example, the code length N1 of the first codeword may be 1024, and the M second codewords may include 1 second codeword with a code length of 512 and 2 second codewords with a code length of 256.

[0244] In yet another example, N1 < N2,1 + N2,2 +... + N2,M-1 + N2,M. For example, the code length N1 of the first codeword may be 1024, and the M second codewords may include 2 second codewords with a code length of 512 and 1 second codeword with a code length of 256.

[0245] Optionally, the sum of the code lengths of the at least one second codeword is smaller than the code length of the first codeword.

[0246] Optionally, the plurality of second code words may be arranged in order of code length, for example, N2,1>N2,2>...>N2,M-1>N2,M, where N2,i may be the code length of the second code word i, i∈[1,M].

[0247] Optionally, the sending device may group the multiple codewords in the data packet. Accordingly, the receiving device may send a feedback message to the sending device according to the grouping of the data packet. The sending device determines whether to resend the codewords in the data packet according to the feedback message sent by the receiving device. The number of groups of the data packet may be configured by high-level signaling. For example, the high-level signaling may be one or more of broadcast information, system message, high-level configuration signaling, medium access control layer signaling, and the like.

[0248] Several packet grouping schemes are described below.

[0249] The data packet may include H first code words and M second code words, where H and M may be positive integers. The data packet may be divided into L data groups, where L is an integer greater than 1.

[0250] Optionally, the data packet includes L data groups, wherein the L data groups include L1 first data groups and one second data group, each of the L1 first data groups includes n first code words, the second data group includes at least one second code word, and L1 and n are greater than or equal to 1.

[0251] In a possible grouping scheme, H first codewords in a data packet may be divided into L1 first data groups, and M second codewords may be divided into second data groups.

[0252] Optionally, n satisfies n=ceil(H / (L-1)), where H is the total number of the at least one first codeword.

[0253] In a possible example, mod(H, (L-1)) = 0, then the data packet can be divided into L1 first data groups and 1 second data group, L1 = L-1. Each of the L1 first data groups includes n first codewords, n = H / (L-1), and the 1 second data group can include M second codewords.

[0254] For example, H=1, M=2, L=2, then the data packet can be divided into 1 first data group and 1 second data group, the 1 first data group can include 1 first codeword, and the 1 second data group can include 2 second codewords.

[0255] For another example, H=4, M=2, L=3, then the data packet can be divided into 2 first data groups and 1 second data group, each of the 2 first data groups can include 2 first codewords, and the 1 second data group can include 2 second codewords.

[0256] In another possible grouping scheme, the H first codewords in the data packet may be divided into L1 first data groups and L2 third data groups, and the M second codewords may be divided into second data groups.

[0257] Optionally, when mod(H,(L-1))>0, the L data groups also include L2 third data groups, each of the L2 third data groups includes p first code words, L2 is a positive integer less than L-L1, and p satisfies p=floor(H / (L-1)).

[0258] Optionally, L1 satisfies L1=mod(H,(L-1)), and L2 satisfies L2=L-mod(H,(L-1))-1.

[0259] In a possible example, mod(H,(L-1))>0, then the data packet can be divided into L1 first data groups, 1 second data group, and L2 third data groups, L1=mod(N,(L-1)), L2=L-mod(N,(L-1))-1. Each of the L1 first data groups includes n first codewords, n=ceil(N / (L-1)); the 1 second data group may include M second codewords; the L2 third data groups may include p third codewords, p=floor(N / (L-1)).

[0260] For example, H=5, M=2, L=4, then the data packet can be divided into 2 first data groups, 1 second data group and 1 third data group, each of the 2 first data groups can include 2 first code words, the 1 second data group can include 2 second code words, and the 1 third data group can include 1 first code word.

[0261] The receiving device may receive a data packet sent by the sending device and decode the data packet to obtain multiple coding blocks. The receiving device may check each check block in the multiple coding blocks. For example, the receiving device may check the H first information blocks in the H first coding blocks according to the H first check blocks in the H first coding blocks; the receiving device may check at least part of the information in the M second coding blocks according to the second check blocks in the M second coding blocks.

[0262] Since the data packets may be divided into L data groups, the receiving device may send L pieces of feedback information to the sending device for the L data groups.

[0263] Optionally, the sending device receives L feedback information corresponding to the data packet, and the L feedback information corresponds to the L data groups. Correspondingly, for the receiving party, the receiving device sends L feedback information corresponding to the data packet, and the L feedback information corresponds to the L data groups.

[0264] The target first data group in the L1 first data groups may include n first code words. The receiving device can obtain n first coding blocks by decoding the n first code words. If the n first check blocks of the n first coding blocks are all successfully checked, the receiving device can send first feedback information to the sending device for the target first data group, and the first feedback information can be used to indicate that the receiving device correctly receives the data in the target first data group. If there is a check block that fails to be checked among the n first check blocks of the n first coding blocks, the receiving device can send second feedback information to the sending device for the target first data group, and the second feedback information can be used to indicate that the receiving device erroneously receives the data in the target first data group. Accordingly, the sending device can resend at least part of the data in the target first data group to the receiving device.

[0265] The second data group among the L data groups may include M second code words. The receiving device may decode the M second code words to obtain M second coding blocks. If the second check blocks of the M second coding blocks are successfully checked, the receiving device may send third feedback information to the sending device for the second data group, and the third feedback information may be used to indicate that the receiving device correctly receives the data in the second data group. If the second check blocks of the M second coding blocks fail to be checked, the receiving device may send fourth feedback information to the sending device for the second data group, and the fourth feedback information may be used to indicate that the receiving device erroneously receives the data in the second data group. Accordingly, the sending device may resend at least part of the data in the second data group to the receiving device.

[0266] The target third data group in the L2 third data groups may include p first codewords. The receiving device can obtain p first coding blocks by decoding the p first codewords. If the p first check blocks of the p first coding blocks are all successfully checked, the receiving device can send fifth feedback information to the sending device for the target third data group, and the fifth feedback information can be used to indicate that the receiving device correctly receives the data in the target third data group. If there is a check block that fails to be checked among the p first check blocks of the p first coding blocks, the receiving device can send sixth feedback information to the sending device for the target third data group, and the sixth feedback information can be used to indicate that the receiving device erroneously receives the data in the target third data group. Accordingly, the sending device can resend at least part of the data in the target third data group to the receiving device.

[0267] Fig.10 It is a schematic flow chart of another communication method 1000 provided in an embodiment of the present application. Fig.10 The communication method 1000 shown is Figure 4 The communication method 400 shown is slightly different. Fig.10 , Fig.11 A communication method 1000 is described.

[0268] 1001. A sending device generates a data packet, wherein the data packet includes a plurality of second code words, wherein the plurality of second code words are obtained by performing at least one second encoding on a plurality of second coding blocks, wherein the plurality of second coding blocks include a second check block, and the second check block is used to check at least part of the information in the plurality of second coding blocks.

[0269] Fig.11 The structure of a data packet is shown. Fig.11 The data packet shown may be a data packet generated by the sending device in 1001 .

[0270] exist Fig.11 In the example shown, the data packet may include M second codewords, where M is an integer greater than 1. Figure 5 The packets shown are different. Fig.11 The data packet shown may not include the first codeword.

[0271] Optionally, the second check block is generated based on at least part of the information in the at least one second coding block except the second check block. The method of generating at least one second coding block may include check coding, such as CRC coding.

[0272] The specific implementation of performing at least one second encoding on multiple second encoding blocks can refer to Figure 8 , Fig. 9 The examples shown are not described in detail here.

[0273] 1002. The sending device sends the data packet.

[0274] Accordingly, the receiving device receives the data packet from the sending device.

[0275] 1003. The receiving device performs at least one second decoding on the multiple second code words to obtain multiple second coding blocks, where the multiple second coding blocks include a second check block, and the second check block is used to check part of the information in the multiple second coding blocks.

[0276] The specific implementation of the receiving device performing at least one second decoding on the plurality of second code words can refer to Figures 4 to 9 The examples shown are not described in detail here.

[0277] Optionally, at least part of the information in the at least one second coding block other than the second check block is obtained by at least checking and decoding the second check block. The receiving device can perform check decoding (such as CRC decoding) on ​​the at least one second coding block to obtain at least part of the information in the at least one second coding block other than the second check block.

[0278] It should be understood that Fig.10 The method shown can be performed by an electronic device with a communication function. For example, the sending device can be a terminal device, and the receiving device can be a network device. For another example, the sending device can be a network device, and the receiving device can be a terminal device. For another example, the sending device can be a terminal device 1, and the receiving device can be a terminal device 2.

[0279] Optionally, the plurality of second coding blocks include redundant information, and in the plurality of second coding blocks, the redundant information is located before or after the second check block, or in front of the first second coding block of the plurality of second coding blocks. For a specific implementation in which the redundant information is located before the second check block, reference may be made to Figure 8 In the example shown, the redundant information is located after the second check block. For specific implementation, refer to Fig. 9 The examples shown are not described in detail here.

[0280] Optionally, in the plurality of second coding blocks, the second check block is located in one or more consecutive coding blocks. For example, the second check block is located in a plurality of consecutive second coding blocks. Figure 8 In the example shown, the example in which the second check block is located in a single second coding block can refer to Fig. 9 The examples shown are not described in detail here.

[0281] Optionally, the data includes a second data group, and the second data group includes the plurality of second code words. Figures 4 to 9 The examples shown are not described in detail here.

[0282] Optionally, the sending device receives feedback information corresponding to the second data group. Accordingly, the receiving device sends feedback information corresponding to the second data group. The specific implementation of the receiving device sending feedback information for the second data group to the sending device can refer to Figures 4 to 9 The examples shown are not described in detail here.

[0283] Optionally, the plurality of second codewords include at least two second codewords with different encoding rates. The specific implementation of the plurality of second codewords including at least two second codewords with different encoding rates can refer to Figures 4 to 9 The examples shown are not described in detail here.

[0284] Fig.12 It is a schematic flowchart of another communication method 1200 provided in an embodiment of the present application. Fig.12 The communication method 1200 shown is Figure 4 The communication method 400 shown is slightly different. Fig.12 , Fig.13 A communication method 1000 is described.

[0285] 1201. A sending device generates a data packet, wherein the data packet includes a plurality of first code words, wherein the plurality of first code words are obtained by performing a first encoding on a plurality of first coding blocks, wherein each first coding block in the plurality of first coding blocks includes a first information block and a first check block for checking the first information block.

[0286] Fig.13 The structure of a data packet is shown. Fig.13 The data packet shown may be a data packet generated by the sending device in 1201 .

[0287] exist Fig.13 In the example shown, the data packet may include H first codewords, where H is an integer greater than 1. Figure 5 The packets shown are different. Fig.13 The data packet shown may not include the second codeword.

[0288] Optionally, the sending device obtains at least one first information block; the sending device generates at least one first check block in the at least one first coding block, where the first check block corresponds to the first information block in the first coding block where the first check block is located. The specific implementation of generating at least one first coding block can refer to Figures 4 to 9 The examples shown are not described in detail here.

[0289] 1202. The sending device sends the data packet.

[0290] Accordingly, the receiving device receives the data packet from the sending device.

[0291] 1203. The receiving device performs a first decoding on the multiple first code words to obtain multiple first coding blocks, each of the multiple first coding blocks including a first information block and a first check block for checking the first information block.

[0292] The specific implementation method of the receiving device performing the first decoding on the plurality of first code words can refer to Figures 4 to 9 The examples shown are not described in detail here.

[0293] Optionally, the data packet includes L-1 data groups, wherein the L-1 data groups include L1 first data groups, each of the L1 first data groups includes n first code words, and L1 and n are greater than or equal to 1. Optionally, n satisfies n=ceil(H / (L-1)), wherein H is the total number of the at least one first code word. Optionally, in the case of mod(H,(L-1))>0, the L-1 data groups also include L2 third data groups, each of the L2 third data groups includes p first code words, L2 is a positive integer less than L-L1, and p satisfies p=floor(H / (L-1)). Optionally, L1 satisfies L1=mod(H,(L-1)), and L2 satisfies L2=L-mod(H,(L-1))-1. The specific implementation method of dividing the H first code words into one or more data groups can refer to. Figures 4 to 9 The examples shown are not described in detail here.

[0294] Optionally, the sending device receives L-1 pieces of feedback information corresponding to the L-1 data groups one by one. Accordingly, the receiving device sends L-1 pieces of feedback information corresponding to the L-1 data groups one by one. The specific implementation method of the receiving device sending feedback information for the L-1 data groups to the sending device can refer to Figures 4 to 9 The examples shown are not described in detail here.

[0295] Optionally, the code length of the at least one first code word is the same. For the description of the code length of the first code word, please refer to Figures 4 to 9 The examples shown are not described in detail here.

[0296] It should be understood that Fig.12 The method shown can be performed by an electronic device with a communication function. For example, the sending device can be a terminal device, and the receiving device can be a network device. For another example, the sending device can be a network device, and the receiving device can be a terminal device. For another example, the sending device can be a terminal device 1, and the receiving device can be a terminal device 2.

[0297] Fig.14 1 is a schematic diagram of the structure of a communication device provided according to an embodiment of the present application. The communication device may be a terminal device or a network device, or may be a component (such as a chip or a circuit) that can be used for a terminal device or a network device. Fig.14 As shown, the communication device 1400 may include a processing module 1401 and a transceiver module 1402 .

[0298] In one example, the processing module 1401 is used to generate a data packet, the data packet includes at least one first codeword and at least one second codeword, the code length of the first codeword is greater than the code length of the second codeword, wherein the at least one first codeword is obtained by performing a first encoding on at least one first coding block, each first coding block in the at least one first coding block includes a first information block and a first check block for verifying the first information block, and the at least one second codeword is obtained by performing at least one second encoding on at least one second coding block, the at least one second coding block includes a second check block, and the second check block is used to verify part of the information in the at least one second coding block. The transceiver module 1402 is used to send the data packet.

[0299] In another example, the transceiver module 1402 is used to receive a data packet, the data packet includes at least one first codeword and at least one second codeword, the code length of the first codeword is greater than the code length of the second codeword. The processing module 1401 is used to perform a first decoding on the at least one first codeword, and perform at least one second decoding on the at least one second codeword to obtain at least one first coding block and at least one second coding block, each of the at least one first coding block includes a first information block and a first check block for checking the first information block, and the at least one second coding block includes a second check block, and the second check block is used to check part of the information in the at least one second coding block.

[0300] In another example, the processing module 1401 is used to generate a data packet, the data packet includes multiple second code words, the multiple second code words are obtained by performing at least one second encoding on multiple second coding blocks, the multiple second coding blocks include a second check block, and the second check block is used to check at least part of the information in the multiple second coding blocks. The transceiver module 1402 is used to send the data packet.

[0301] In another example, the transceiver module 1402 is used to receive a data packet, wherein the data packet includes multiple second code words. The processing module 1401 is used to perform at least one second decoding on the multiple second code words to obtain multiple second coding blocks, wherein the multiple second coding blocks include a second check block, and the second check block is used to check part of the information in the multiple second coding blocks.

[0302] In yet another example, the processing module 1401 is used to generate a data packet, the data packet including multiple first codewords, the multiple first codewords are obtained by first encoding multiple first coding blocks, each of the multiple first coding blocks includes a first information block and a first check block for checking the first information block. The transceiver module 1402 is used to send the data packet.

[0303] In yet another example, the transceiver module 1402 is used to receive a data packet, wherein the data packet includes a plurality of first code words. The processing module 1401 is used to perform a first decoding on the plurality of first code words to obtain a plurality of first coding blocks, wherein each of the plurality of first coding blocks includes a first information block and a first check block for checking the first information block.

[0304] The processing module 1401 may be implemented by a processor. The transceiver module 1402 may be implemented by a receiver and / or a transmitter. The specific functions and beneficial effects of the processing module 1401 and the transceiver module 1402 may be referred to in Figures 4 to 9 The method shown will not be described in detail here.

[0305] In a possible embodiment, a communication device is also provided, which may be a terminal device or a network device, or may be a component (such as a chip or a circuit, etc.) for a terminal device or a network device. The communication device may include a transceiver and a processor, and optionally, may also include a memory. The transceiver may be used to implement the corresponding functions and operations corresponding to the above-mentioned receiving module and the sending module, and the processor may be used to implement the corresponding functions and operations of the above-mentioned processing module. The memory may be used to store execution instructions or application code, and the execution is controlled by the processor to implement the communication method provided in the above-mentioned embodiment of the present application; and / or, it may also be used to temporarily store some data and instruction information, etc. The memory may exist independently of the processor, in which case the memory may be connected to the processor via a communication line. In another possible design, the memory may also be integrated with the processor, which is not limited in the embodiment of the present application.

[0306] Fig.15 2 is a block diagram of a communication device 2000 according to an embodiment of the present invention. The communication device 2000 may be a terminal device or a network device. Fig.15As shown, the communication device 2000 includes a processor 2001, a memory 2002, a radio frequency circuit, an antenna, and an input-output device. The processor 2001 can be used to process the communication protocol and communication data, as well as to control the communication device 2000, execute software programs, process the data of the software programs, etc. The memory 2002 is mainly used to store software programs and data. The radio frequency circuit is mainly used for converting baseband signals and radio frequency signals and processing radio frequency signals. The antenna is mainly used to send and receive radio frequency signals in the form of electromagnetic waves. The input-output devices, such as a touch screen, a display screen, a keyboard, etc., are mainly used to receive data input by a user and output data to the user. It should be noted that some types of communication devices 2000 may not have input-output devices.

[0307] When data needs to be sent, the processor 2001 performs baseband processing on the data to be sent, and then outputs the baseband signal to the RF circuit. The RF circuit performs RF processing on the baseband signal and then transmits the RF signal to the outside in the form of electromagnetic waves through the antenna. When data is sent to the communication device 2000, the RF circuit receives the RF signal through the antenna, converts the RF signal into a baseband signal, and outputs the baseband signal to the processor. The processor converts the baseband signal into data and processes the data. For ease of explanation, Fig.15 Only one memory and processor are shown. In the actual communication device 2000 product, there may be one or more processors and one or more memories. The memory may also be referred to as a storage medium or a storage device, etc. The memory may be set independently of the processor or may be integrated with the processor, which is not limited in the embodiments of the present application.

[0308] In the embodiment of the present application, the antenna and the radio frequency circuit with transceiver functions can be regarded as the transceiver 2003 of the communication device 2000, and the processor with processing function can be regarded as the processing unit of the communication device 2000. The transceiver can also be referred to as a transceiver unit, a transceiver, a transceiver device, etc. The processing unit can also be referred to as a processor, a processing board, a processing module, a processing device, etc. Optionally, the device used to implement the receiving function in the transceiver 2003 can be regarded as a receiving unit, and the device used to implement the sending function in the transceiver 2003 can be regarded as a sending unit, that is, the transceiver 2003 includes a receiving unit and a sending unit. The receiving unit can sometimes also be referred to as a receiver, a receiver, or a receiving circuit, etc. The sending unit can sometimes also be referred to as a transmitter, a transmitter, or a transmitting circuit, etc.

[0309] The processor 2001, the memory 2002 and the transceiver 2003 communicate with each other through internal connection paths to transmit control and / or data signals.

[0310] The method disclosed in the above embodiment of the present invention can be applied to the processor 2001, or implemented by the processor 2001. The processor 2001 may be an integrated circuit chip with signal processing capabilities. In the implementation process, each step of the above method can be completed by an integrated logic circuit of hardware in the processor 2001 or an instruction in the form of software.

[0311] The processor described in each embodiment of the present application may be a general-purpose processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components. The methods, steps and logic block diagrams disclosed in the embodiments of the present invention can be implemented or executed. The general-purpose processor may be a microprocessor or the processor may also be any conventional processor, etc. The steps of the method disclosed in the embodiments of the present invention may be directly embodied as being executed by a hardware decoding processor, or may be executed by a combination of hardware and software modules in the decoding processor. The software module may be located in a mature storage medium in the art such as a random access memory (RAM), a flash memory, a read-only memory (ROM), a programmable read-only memory or an electrically erasable programmable memory, a register, etc. The storage medium is located in a memory, and the processor reads the instructions in the memory and completes the steps of the above method in combination with its hardware.

[0312] Optionally, in some embodiments, the memory 2002 may store instructions for executing the following steps: Figures 4 to 13 The processor 2001 can execute the instructions stored in the memory 2002 in combination with other hardware (such as the transceiver 2003) to complete the method shown in the method. Figures 4 to 13 The steps performed by the sending device or the receiving device in the method shown, the specific working process and beneficial effects can be found in Figures 4 to 13 Description of the illustrated embodiment.

[0313] The embodiment of the present application also provides a chip, which includes a transceiver unit and a processing unit. The transceiver unit may be an input / output circuit or a communication interface; the processing unit may be a processor or a microprocessor or an integrated circuit integrated on the chip. The chip may execute the method on the sending device or receiving device side in the above method embodiment.

[0314] The present application also provides a terminal device for executing the method of the sending device or receiving device side in the above method embodiment. In one example, the terminal device may include: Fig.14 or Fig.15 The communication device shown. The terminal device may refer to the communication node itself or the device where the communication node is located. The terminal device may also refer to intelligent transportation equipment, such as vehicles, drones, vehicle-mounted chips, etc. The terminal device may also refer to intelligent manufacturing equipment, such as industrial manufacturing systems, battery management systems, etc. The terminal device may also refer to smart home devices, such as TVs, speakers, cameras, voice assistants, smart curtains, smart lamps, etc. The terminal device may also refer to intelligent terminal devices, such as mobile phones, tablets, headphones, watches, microphones, vehicle-mounted devices, etc.

[0315] An embodiment of the present application also provides a computer-readable storage medium having instructions stored thereon, which, when executed, execute the method on the sending device or receiving device side in the above method embodiment.

[0316] An embodiment of the present application also provides a computer program product comprising instructions, which, when executed, execute the method on the sending device or receiving device side in the above method embodiment.

[0317] The terms "component", "module", "system", etc. used in this specification are used to represent computer-related entities, hardware, firmware, a combination of hardware and software, software, or software in execution. For example, a component can be, but is not limited to, a process running on a processor, a processor, an object, an executable file, an execution thread, a program and / or a computer. By way of illustration, both applications running on a computing device and a computing device can be components. One or more components may reside in a process and / or an execution thread, and a component may be located on a computer and / or distributed between two or more computers. In addition, these components may be executed from various computer-readable media having various data structures stored thereon. Components may, for example, communicate through local and / or remote processes according to signals having one or more data packets (e.g., data from two components interacting with another component between a local system, a distributed system and / or a network, such as the Internet interacting with other systems through signals).

[0318] Those of ordinary skill in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.

[0319] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and units described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.

[0320] In the several embodiments provided in the present application, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of the units is only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.

[0321] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0322] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.

[0323] If the functions are implemented in the form of software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application can be essentially or partly embodied in the form of a software product that contributes to the prior art. The computer software product is stored in a storage medium and includes several instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the methods described in each embodiment of the present application. The aforementioned storage medium includes: various media that can store program codes, such as a USB flash drive, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk.

[0324] The above is only a specific implementation of the present application, but the protection scope of the present application is not limited thereto. Any person skilled in the art who is familiar with the present technical field can easily think of changes or substitutions within the technical scope disclosed in the present application, which should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be based on the protection scope of the claims.

Claims

1. A communication method, characterized in that: The method comprises: Generate a data packet, the data packet comprising at least one first codeword and at least one second codeword, the code length of the first codeword being greater than the code length of the second codeword; Sending the data packet; Among them, the at least one first codeword is obtained by performing a first encoding on at least one first coding block, each first coding block in the at least one first coding block contains a first information block and a first check block for verifying the first information block, and the at least one second codeword is obtained by performing at least one second encoding on at least one second coding block, the at least one second coding block contains a second check block, and the second check block is used to verify part of the information in the at least one second coding block.

2. The communication method according to claim 1, characterized in that: The method further comprises: Acquiring at least one first information block; At least one first check block in the at least one first coding block is generated, where the first check block corresponds to a first information block in the first coding block where the first check block is located.

3. The communication method according to claim 1 or 2, characterized in that: The second check block is generated according to at least part of the information in the at least one second coding block except the second check block.

4. The communication method according to any one of claims 1 to 3, characterized in that: The at least one second coding block contains redundant information. In the at least one second coding block, the redundant information is located before or after the second check block, or at a front position in a first second coding block of the at least one second coding block.

5. The communication method according to any one of claims 1 to 4, characterized in that: In the at least one second coding block, the second check block is located in one or more consecutive coding blocks.

6. The communication method according to any one of claims 1 to 5, characterized in that: The data packet includes L data groups, wherein the L data groups include L1 first data groups and one second data group, each of the L1 first data groups includes n first code words, the second data group includes at least one second code word, and L1 and n are greater than or equal to 1.

7. The communication method according to claim 6, characterized in that: The method further comprises: L pieces of feedback information corresponding to the data packets are received, wherein the L pieces of feedback information correspond to the L data groups.

8. The communication method according to claim 6 or 7, characterized in that: The n satisfies n=ceil(H / (L-1)), where H is the total number of the at least one first codeword.

9. The communication method according to claim 8, characterized in that: When mod(H,(L-1))>0, the L data groups also include L2 third data groups, each of the L2 third data groups includes p first code words, L2 is a positive integer less than L-L1, and p satisfies p=floor(H / (L-1)).

10. The communication method according to claim 9, characterized in that: L1 satisfies L1=mod(H,(L-1)), and L2 satisfies L2=L-mod(H,(L-1))-1.

11. The communication method according to any one of claims 1 to 10, characterized in that: The code lengths of the at least one first codeword are the same.

12. The communication method according to any one of claims 1 to 11, characterized in that: The at least one second codeword includes at least two second codewords encoded at different code rates.

13. The communication method according to any one of claims 1 to 12, characterized in that: The sum of the code lengths of the at least one second code word is smaller than the code length of the first code word.

14. A communication device, characterized in that: include: A processing module, configured to generate a data packet, wherein the data packet includes at least one first codeword and at least one second codeword, wherein a code length of the first codeword is greater than a code length of the second codeword; A sending module, used for sending the data packet; Among them, the at least one first codeword is obtained by performing a first encoding on at least one first coding block, each first coding block in the at least one first coding block contains a first information block and a first check block for verifying the first information block, and the at least one second codeword is obtained by performing at least one second encoding on at least one second coding block, the at least one second coding block contains a second check block, and the second check block is used to verify part of the information in the at least one second coding block.

15. A communication device, characterized in that: The communication device comprises: at least one processor and a communication interface, wherein the communication interface is used for the communication device to exchange information with other communication devices, and when program instructions are executed in the at least one processor, the communication device implements the communication method as described in any one of claims 1 to 13.

16. A terminal device, characterized in that: Comprising a communication device as claimed in claim 14 or 15.

17. A computer program storage medium, characterized in that: The computer-readable medium stores a program code, and when the computer program code is executed on a computer, the computer is caused to execute the communication method according to any one of claims 1 to 13.

18. A chip system, characterized in that: The chip system includes at least one processor, and when program instructions are executed in the at least one processor, the communication method according to any one of claims 1 to 13 is implemented.