Data processing method and device, and computer-readable storage medium
By adjusting the granularity of the logical channel priority (LCP) to the size of the CB, the integrity of the MAC subPDU data structure in each CB is ensured, thus solving the problem of TB failure due to CB CRC check failure and achieving low-latency and high-efficiency communication.
Patent Information
- Application Number
- PCT/CN2025/104042
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-07-19
- Filing Date
- 2025-06-26
- Publication Date
- 2026-01-22
AI Technical Summary
In wireless communication systems, failure of the CB CRC check at the receiver prevents the TB from being delivered to the MAC layer, resulting in increased service latency and affecting communication quality.
Adjust the granularity of the logical channel priority (LCP) to the size of the CB to ensure the integrity of the MAC subPDU data structure carried in each CB. This allows the receiver to decode subsequent CBs even if the CRC check of the previous CB fails, thus avoiding TB or CBG retransmissions.
It reduces communication costs, meets the demand for high speed and low latency, and improves the efficiency and quality of communication services.
Smart Images

Figure CN2025104042_22012026_PF_FP_ABST
Abstract
Description
Data processing method, device and computer readable storage medium
[0001] The present application claims priority from the Chinese patent application No. 202410983644.0 filed on July 19, 2024, and entitled "Data processing method, device and computer readable storage medium", the content of which is incorporated herein by reference in its entirety. TECHNICAL FIELD
[0002] The present application relates to the field of communication technology, in particular to a data processing method, device and computer readable storage medium. BACKGROUND
[0003] In a wireless communication system, after a transport block (TB) is acquired by a physical layer of a sending end, a TB cyclic redundancy check (CRC) can be added. If the TB (or the TB and the TB CRC) is large, the TB and the TB CRC are divided into a plurality of code blocks (CBs), and a CB CRC is added for each CB. For a receiving end, a physical layer checks the CB CRC and the TB CRC, and in the case that all CB CRCs are checked successfully and the TB CRC is checked through, the physical layer delivers the entire TB to a MAC layer.
[0004] Based on the current data processing process, as long as there is one CB CRC that is not checked through at the receiving end, the entire TB will not be delivered to the MAC layer for processing, and needs to wait for a hybrid automatic repeat request (HARQ) retransmission, thereby causing an increase in service time delay and affecting the communication quality. SUMMARY
[0005] Embodiments of the present application provide a data processing method, device and computer readable storage medium, which reduce communication costs and meet the demand for high rate and low latency of communication services.
[0006] To solve the above technical problems, the embodiments of the present application provide the following technical solutions:
[0007] In a first aspect, the embodiments of the present application provide a data processing method, which is applied to a sending end, and the method comprises: determining the size of a first code block (CB); wherein the first CB is one of C CBs, the C CBs are associated with a first TB, and C is a positive integer; and performing logical channel priority (LCP) based on the size of the first CB.
[0008] In the case where it is not specially stated, the "sending end" in the present application can refer to the sending end itself, a component (for example, a processor, a chip, or a chip system, etc.) in the sending end, or a logic module or software capable of realizing all or part of the functions of the sending end. The execution subject of the data processing method is not limited in the present application.
[0009] In the embodiments of the present application, logical channel priority LCP is performed based on the size of the first CB, the granularity of the LCP is adjusted from the size of a TB to the size of a CB, and the size of the resource data obtained after the LCP in the TB corresponds to the size of a CB, so that the data structure of the media access control MAC sub-protocol data unit subPDU carried in each CB obtained by dividing the TB is complete. In this way, even if the previously received CB fails in CRC check, the receiving end can still decode the CB received later, without waiting for TB retransmission or CBG retransmission, thereby reducing the communication cost and supporting the high-rate and low-latency requirements of the communication service.
[0010] In a possible implementation form of the first aspect, the LCP is performed based on the size of the first CB, including performing logical channel priority LCP based on the size of the data part of the first CB; wherein the size of the data part of the first CB is determined based on the size of the first CB and the size of the cyclic redundancy check CRC code corresponding to the first CB. In the above implementation scheme, the LCP is performed based on the size of the CB, specifically the size of the data part of the CB. The CB includes a data part and a CRC code part, and the size of the CRC code part is fixed. The size of the data part of the CB can be obtained by subtracting the size of the CRC code from the total size of the CB.
[0011] In a possible implementation form of the first aspect, the method further includes determining the first TB based on a first data set; wherein the first data set is determined based on the LCP performed based on the size of the first CB; and transmitting the first TB. In the embodiments of the present application, the LCP is performed according to the granularity of the first CB, so that the MAC subPDU contained in the first data set obtained after the LCP is a complete MAC subPDU.
[0012] In the first possible implementation form of the first aspect, the first data set includes a complete media access control MAC sub-protocol data unit subPDU. The MAC subPDU contained in the first data set is a complete MAC subPDU, and each CB received by the receiving end has a complete data structure. The receiving end does not depend on the decoding of the previously received CB when performing data decoding on the currently received CB.
[0013] In a possible implementation of the first aspect, the method further includes: determining a size of a second CB; wherein the second CB is one of the C CBs; and performing LCP based on the size of the second CB after performing LCP based on the size of the first CB. In the embodiment of the application, the sender performs LCP based on the size of the second CB after performing LCP based on the size of the first CB. The second CB is located after the first CB in terms of bit sequence in the TB, and therefore, the sender performs LCP based on the size of the second CB after performing LCP based on the size of the first CB.
[0014] It should be noted that the embodiment of the application does not change the existing CB division manner, and the sizes of all CBs in the TB are the same. The size of the first CB is determined, and the size of the second CB is determined accordingly.
[0015] In a possible implementation of the first aspect, the second CB is located after the first CB in the C CBs. In the embodiment of the application, the second CB refers to a CB located after the first CB in the C CBs.
[0016] In the first possible implementation of the first aspect, the method includes: determining the first TB based on a first data set and a second data set; wherein the first data set is determined based on LCP performed based on the size of the first CB, and the second data set is determined based on LCP performed based on the size of the second CB; and transmitting the first TB. In the embodiment of the application, the sender determines the second data set based on LCP performed based on the size of the second CB, determines the first TB based on the first data set and the second data set, and transmits the first TB.
[0017] It should be noted that the expressions of “before” and “after” in the embodiments of the application refer to the sequence in the data bit stream.
[0018] In a possible implementation of the first aspect, the second data set is located after the first data set in the first TB. In the embodiment of the application, the sequence of the first data set and the second data set in the first TB cannot be changed, so as to ensure the accuracy of data reception of the receiver.
[0019] In a first possible implementation manner of the first aspect, the first data set includes one or more MAC subPDUs; wherein at least one of the one or more MAC subPDUs includes a MAC control element (CE), and a size of at least one of the one or more MAC subPDUs is less than or equal to a first size, the first size being associated with a minimum value of a CB or a maximum value of a CB. When a MAC CE is included in a MAC subPDU, in order to ensure that the MAC CE is not truncated, it is necessary to ensure that a size of a MAC subPDU including the MAC CE does not exceed a size of a CB, and thus, in the embodiment of the application, it is required that a size of a MAC subPDU including the MAC CE is less than or equal to the first size, and the first size is associated with the minimum value or the maximum value of a CB.
[0020] In a possible implementation manner of the first aspect, the first data set includes a first MAC subPDU and a second MAC subPDU, the second MAC subPDU is located before the first MAC subPDU in the first data set, or the second MAC subPDU is located after the first MAC subPDU in the first data set; wherein a resource allocation order of the first MAC subPDU is earlier than a resource allocation order of the second MAC subPDU. In the embodiment of the application, the first data set includes a plurality of MAC subPDUs, and the order among the MAC subPDUs in the first data set can be freely adjusted, without affecting data decoding of the first data set at the receiving end.
[0021] In a second aspect, the embodiment of the application further provides a data processing method, the method being applied to a receiving end, and the method includes: receiving a first code block (CB), and performing data decoding on the first CB; wherein the first CB is one of C CBs, the C CBs are associated with a first transport block (TB), C is a positive integer, the first CB corresponds to a first data set, and the first data set is determined based on a size of the first CB by performing logical channel priority (LCP) determination.
[0022] Unless otherwise specified, the "receiving end" in the application can refer to the receiving end itself, a component (for example, a processor, a chip, or a chip system) in the receiving end, or a logic module or software capable of realizing all or part of the functions of the receiving end. The execution subject of the data processing method is not limited in the application.
[0023] In the embodiments of the present application, each CB received by the receiving end is obtained based on CB size performing LCP, and therefore, the data structure of the media access control (MAC) sub-protocol data unit (subPDU) carried in each CB is complete, and the receiving end can determine the data format of the MAC subPDU in each CB, so that the receiving end can decode the CB received later even after the CRC check of the CB received previously fails, without waiting for TB retransmission or CBG retransmission, thereby reducing the communication cost and supporting the high-rate and low-latency requirement of the communication service.
[0024] In a possible implementation of the second aspect, the first data set includes complete MAC subPDUs. The first data set corresponding to the first CB is obtained based on the first CB size performing LCP, so that the MAC subPDUs included in the first data set are all complete MAC subPDUs, that is, the data structure of the MAC subPDU in the first CB is complete, and the decoding of the first CB by the receiving end does not depend on the CB received previously, and the receiving end can directly decode the first CB.
[0025] In a possible implementation of the second aspect, the method further includes: receiving the second CB and performing data decoding on the second CB; wherein the second CB is one of the C CBs, the second CB corresponds to a second data set, and the second data set is determined based on the size of the second CB performing LCP. After receiving the second CB, the receiving end can perform data decoding on the second CB. Since the second CB corresponds to the second data set, and the second data set is determined by the sending end based on the size of the second CB performing LCP, the MAC subPDUs included in the second data set are all complete MAC subPDUs, so that the receiving end does not depend on the decoding of the CB received previously when performing data decoding, thereby improving the execution efficiency of the communication service.
[0026] In a possible implementation of the second aspect, the second CB is located after the first CB in the C CBs. In the embodiments of the present application, the second CB refers to the CB located after the first CB in the C CBs.
[0027] In a third aspect, an embodiment of the present application provides a data processing method. The method is applied to a sending end. The method comprises: determining a size of a first code block (CB) or a size of a first code block group (CBG); wherein the first CB is one of C CBs, the first CBG is one of M N CBGs, the C CBs are associated with a first TB, the M N CBGs are associated with the first TB, N is a positive integer, and M is a positive integer; determining a first data set based on the size of the first CB or the size of the first CBG; wherein the first data set comprises at least one complete media access control (MAC) sub-protocol data unit (subPDU) and / or at least one incomplete MAC subPDU; and if the first data set comprises at least one complete MAC subPDU and at least one incomplete MAC subPDU, the at least one complete MAC subPDU is located before the at least one incomplete MAC subPDU in the first data set.
[0028] Unless specifically stated, the sending end in the present application can refer to the sending end itself, a component (for example, a processor, a chip, or a chip system) in the sending end, or a logic module or software capable of realizing all or part of the functions of the sending end. The execution subject of the data processing method is not limited in the present application.
[0029] In an embodiment of the present application, when the first data set contains both complete MAC subPDUs and incomplete MAC subPDUs, the complete MAC subPDUs need to be located before the incomplete MAC subPDUs. That is, the sending end determines the first data set by preferentially placing the complete MAC subPDUs in front of the first data set and placing the incomplete MAC subPDUs at the back of the first data set. Thus, for the first data set containing both complete MAC subPDUs and incomplete MAC subPDUs, the complete MAC subPDUs are placed before the incomplete MAC subPDUs. When performing decoding, the receiving end can preferentially decode the complete MAC subPDUs. Thus, even if the decoding of the previous received CB or CBG fails, since the complete MAC subPDUs are preferentially placed at the front of the data set, the receiving end can decode the front part of the first CB or the first CBG containing the complete MAC subPDUs, thereby ensuring the decoding efficiency.
[0030] In a first possible implementation manner of the third aspect, the determining the first data set based on the size of the first CB or the size of the first CBG comprises: performing logical channel prioritization (LCP) based on the size of the first TB to obtain a to-be-processed data set, the to-be-processed data set comprising at least one MAC subPDU; and determining the first data set based on the to-be-processed data set, the size of the first CB or the size of the first CBG. In the embodiment of the application, the sending end reconstructs the MAC subPDU in the to-be-processed data set based on the to-be-processed data set and the size of the first CB or the first CBG, so as to ensure that the preceding MAC subPDU in the CB or the CBG is as complete as possible, thereby facilitating the receiving end to decode.
[0031] In a first possible implementation manner of the third aspect, after the determining the first data set based on the size of the first CB or the size of the first CBG, the method further comprises: determining first indication information and / or second indication information based on the first data set; wherein the first indication information is used to indicate the position of a complete MAC subPDU or the position of an incomplete MAC subPDU in the first CB, or to indicate the position of a complete MAC subPDU or the position of an incomplete MAC subPDU in the first CBG; and the second indication information is used to indicate whether the first CB contains or does not contain an incomplete MAC subPDU, or to indicate whether the first CBG contains or does not contain an incomplete MAC subPDU, or to indicate whether the first indication information exists or does not exist, or to indicate whether the bits of the first indication information are valid or invalid. In the embodiment of the application, after the first data set is determined, the sending end determines the first indication information and / or the second indication information based on the first data set, and these indication information is used to indicate the completeness information of the MAC subPDU in the CB or the CBG received by the receiving end, thereby facilitating the receiving end to decode data based on the indication information.
[0032] In a first possible implementation manner of the third aspect, the first indication information is specifically used for indicating an ending position or length information of a complete MAC subPDU in the first CB, and / or a starting position or length information of an incomplete MAC subPDU; or, indicating an ending position or length information of a complete MAC subPDU in the first CBG, and / or a starting position or length information of an incomplete MAC subPDU. In the embodiment of the application, the first indication information is used for indicating an ending position or length information of a complete MAC subPDU, and / or a starting position or length information of an incomplete MAC subPDU. Based on the first indication information, the receiving end can determine the start and end position information of the complete MAC subPDU and / or the start and end position information of the incomplete MAC subPDU in the CB or the CBG.
[0033] In a first possible implementation manner of the third aspect, the second indication information is used for indicating whether the first CB contains or does not contain an incomplete MAC subPDU, including: the second indication information is used for indicating that the first CB contains only complete MAC subPDUs, or contains only incomplete MAC subPDUs, or contains both complete MAC subPDUs and incomplete MAC subPDUs.
[0034] The second indication information is used for indicating whether the first CBG contains or does not contain an incomplete MAC subPDU, including: the second indication information is used for indicating that the first CBG contains only complete MAC subPDUs, or contains only incomplete MAC subPDUs, or contains both complete MAC subPDUs and incomplete MAC subPDUs.
[0035] In the embodiment of the application, the second indication information is used for indicating that the first CB or the first CBG contains only complete MAC subPDUs, or contains only incomplete MAC subPDUs, or contains both complete MAC subPDUs and incomplete MAC subPDUs.
[0036] In a first possible implementation manner of the third aspect, the method further includes: transmitting the first TB, the first TB including the first data set, or the first TB including the first data set and the first indication information, or the first TB including the first data set and the second indication information, or the first TB including the first data set, the first indication information, and the second indication information. In the embodiment of the application, when the transmitting end transmits the first TB, the first indication information and / or the second indication information can be included in the first TB, and the receiving end decodes data based on the first data set and the indication information.
[0037] In a first possible implementation manner of the third aspect, the first indication information is contained in the first CB or the first CBG or downlink control information DCI, and the second indication information is contained in the first CB or the first CBG or downlink control information DCI. In the embodiment of the application, the first indication information and the second indication information can be contained in a packet header field of the first CB or the first CBG, or be indicated by downlink control information (DCI), which provides an optional mode for indication information transmission.
[0038] In a first possible implementation manner of the third aspect, the first data set is determined based on the to-be-processed data set, the size of the first CB or the size of the first CBG, including: if there is a first MAC subPDU in the to-be-processed data set, comparing the remaining size of the first data set with the size of the first MAC subPDU, the first MAC subPDU being a complete MAC subPDU not associated with the C CBs or the M N CBGs; if there is no first MAC subPDU in the to-be-processed data set and there is a second MAC subPDU in the to-be-processed data set, determining that the first data set includes a first data unit; wherein the second MAC subPDU is an incomplete MAC subPDU not associated with the C CBs or the M N CBGs; the first data unit is determined based on the second MAC subPDU, and the size of the first data unit is less than or equal to the remaining size of the first data set. In the embodiment of the application, each MAC subPDU in the to-be-processed data set is traversed, if there is a complete first MAC subPDU not associated with the C CBs or the M N CBGs, it is compared with the remaining size of the first data set; if there is no complete MAC subPDU not associated with the C CBs or the M N CBGs, and there is an incomplete MAC subPDU not associated with the C CBs or the M N CBGs in the to-be-processed data set, a first data unit is determined based on the incomplete MAC subPDU, and the first data unit is placed in the first data set, and the size of the first data unit is less than or equal to the remaining size of the first data set, which provides a MAC subPDU position adjustment idea of placing complete MAC subPDUs in front of CBs or CBGs and placing incomplete MAC subPDUs at the back of CBs or CBGs according to the principle of placing complete MAC subPDUs as much as possible.
[0039] In a first possible implementation manner of the third aspect, after the comparison between the remaining size of the first data set and the size of the first MAC subPDU, the method further includes: if the size of the first MAC subPDU is less than or equal to the remaining size of the first data set, determining that the first data set includes the first MAC subPDU; if the size of the first MAC subPDU is greater than the remaining size of the first data set, and the third MAC subPDU exists in the to-be-processed data set, comparing the remaining size of the first data set with the size of the third MAC subPDU, the third MAC subPDU being a complete MAC subPDU that is not associated with the C CBs or the M N CBGs; if the size of the first MAC subPDU is greater than the remaining size of the first data set, and the third MAC subPDU does not exist in the to-be-processed data set, and the fourth MAC subPDU exists in the to-be-processed data set, determining that the first data set includes a second data unit; wherein the fourth MAC subPDU is an incomplete MAC subPDU that is not associated with the C CBs or the M N CBGs, the second data unit is determined based on the fourth MAC subPDU, and the size of the second data unit is less than or equal to the remaining size of the first data set; if the size of the first MAC subPDU is greater than the remaining size of the first data set, and the third MAC subPDU does not exist in the to-be-processed data set, and the fourth MAC subPDU does not exist in the to-be-processed data set; determining that the first data set includes a third data unit; wherein the third data unit is determined based on the first MAC subPDU, and the size of the third data unit is equal to the remaining size of the first data set. In the embodiments of the application, the placement manner of the MAC subPDU in the to-be-processed data set is adjusted, the corresponding MAC subPDU resource is determined from the to-be-processed data set in the size dimension of the first CB or the first CBG, and the first data set is obtained. In the first data set obtained in this way, it is ensured that the MAC subPDU located in front of the first data set is a complete MAC subPDU as much as possible. When performing decoding, the receiving end can preferentially decode the complete MAC subPDU. Therefore, even if the decoding of the previous received CB or CBG fails, since the front part of the first CB or the first CBG received by the receiving end includes the complete MAC subPDU, the decoding efficiency is ensured.
[0040] In a fourth aspect, the embodiments of the present application further provide a data processing method, which is applied to a receiving end, and includes the following steps: receiving a first code block (CB) or a first code block group (CBG); obtaining first indication information and / or second indication information, wherein the first indication information is used to indicate the position of a complete MAC subPDU or the position of an incomplete MAC subPDU in the first CB, or to indicate the position of a complete MAC subPDU or the position of an incomplete MAC subPDU in the first CBG; the second indication information is used to indicate whether the first CB contains or does not contain an incomplete MAC subPDU, or to indicate whether the first CBG contains or does not contain an incomplete MAC subPDU, or to indicate whether the first indication information exists or does not exist, or to indicate whether the bits of the first indication information are valid or invalid; performing data decoding on the first CB or the first CBG based on the first indication information and / or the second indication information; wherein the first CB is one of C CBs, the first CBG is one of M N CBGs, the C CBs are associated with a first transport block (TB), the M N CBGs are associated with the first TB, N is a positive integer, and M is a positive integer.
[0041] Unless specifically stated, the "receiving end" in the present application can refer to the receiving end itself, a component (for example, a processor, a chip, or a chip system) in the receiving end, or a logic module or software capable of realizing all or part of the functions of the receiving end. The execution subject of the data processing method is not limited in the present application.
[0042] In the embodiments of the present application, the receiving end can perform data decoding on the first CB or the first CBG based on the first indication information and / or the second indication. When the first CB or the first CBG includes a complete MAC subPDU, the receiving end can directly perform data decoding on the bit data corresponding to the complete MAC subPDU in the first CB or the first CBG based on the indication information, and is not affected by the decoding of the previously received CB or CBG, thereby improving the decoding efficiency.
[0043] In a first possible implementation manner of the fourth aspect, the first indication information is specifically used for indicating an ending position or length information of a complete MAC subPDU in the first CB and / or a starting position or length information of an incomplete MAC subPDU, or indicating an ending position or length information of a complete MAC subPDU in the first CBG and / or a starting position or length information of an incomplete MAC subPDU. In the embodiment of the application, the first indication information is specifically used for indicating an ending position or length information of a complete MAC subPDU and / or a starting position or length information of an incomplete MAC subPDU. Based on the first indication information, the receiving end can determine the start and end position information of the complete MAC subPDU and / or the incomplete MAC subPDU in the CB or CBG. In the embodiment of the application, the second indication information is used for indicating that the first CB or the first CBG contains only complete MAC subPDU, or contains only incomplete MAC subPDU, or contains complete MAC subPDU and incomplete MAC subPDU.
[0044] In a first possible implementation manner of the fourth aspect, the second indication information is used for indicating that the first CB contains or does not contain incomplete MAC subPDU, including: the second indication information is used for indicating that the first CB contains only complete MAC subPDU, or contains only incomplete MAC subPDU, or contains complete MAC subPDU and incomplete MAC subPDU.
[0045] The second indication information is used for indicating that the first CBG contains or does not contain incomplete MAC subPDU, including: the second indication information is used for indicating that the first CBG contains only complete MAC subPDU, or contains only incomplete MAC subPDU, or contains complete MAC subPDU and incomplete MAC subPDU. In the embodiment of the application, the second indication information is used for indicating that the first CB or the first CBG contains only complete MAC subPDU, or contains only incomplete MAC subPDU, or contains complete MAC subPDU and incomplete MAC subPDU.
[0046] In a first possible implementation manner of the fourth aspect, the data decoding on the first CB or the first CBG based on the first indication information and / or the second indication information comprises: determining bits corresponding to complete MAC subPDUs in the first CB or the first CBG and / or bits corresponding to incomplete MAC subPDUs in the first CB or the first CBG based on the first indication information; and performing data decoding on the bits corresponding to the complete MAC subPDUs in the first CB or the first CBG. In the embodiments of the present application, the first indication information can indicate positions of the complete MAC subPDUs or positions of the incomplete MAC subPDUs in the first CB or the first CBG. The receiving end can determine the bits corresponding to the complete MAC subPDUs and the bits corresponding to the incomplete MAC subPDUs in the first CB or the first CBG based on the first indication information. Thus, the receiving end can directly perform data decoding on the bits corresponding to the complete MAC subPDUs.
[0047] In a first possible implementation manner of the fourth aspect, the data decoding on the first CB or the first CBG based on the first indication information and / or the second indication information comprises: if the second indication information indicates that the first CB contains only complete MAC subPDUs, or indicates that the first CBG contains only complete MAC subPDUs, or indicates that the first indication information does not exist, or indicates that bits of the first indication information are invalid, determining bits corresponding to complete MAC subPDUs in the first CB or the first CBG; and performing data decoding on the first CB or the first CBG. In the embodiments of the present application, when the second indication information indicates that the first CB or the first CBG contains only complete MAC subPDUs, or indicates that the first indication information does not exist or is invalid, it can be determined that all the MAC subPDUs in the first CB or the first CBG are complete. The receiving end directly performs data decoding on the first CB or the first CBG after receiving the first CB or the first CBG. The decoding of the first CB or the first CBG does not depend on the decoding of the previously received CB or CBG, and the decoding efficiency of the receiving end is improved.
[0048] In a first possible implementation manner of the fourth aspect, the data decoding on the first CB or the first CBG based on the first indication information and / or the second indication information comprises: if the second indication information indicates that the first CB contains complete MAC subPDUs and incomplete MAC subPDUs, or indicates that the first CBG contains complete MAC subPDUs and incomplete MAC subPDUs, or indicates that the first indication information exists, or indicates that the bits of the first indication information are valid, determining, based on the first indication information, bits corresponding to the complete MAC subPDUs and bits corresponding to the incomplete MAC subPDUs in the first CB or the first CBG; and performing data decoding on the bits corresponding to the complete MAC subPDUs in the first CB or the first CBG. In the embodiment of the application, when the second indication information indicates that the first CB or the first CBG contains complete MAC subPDUs and incomplete MAC subPDUs, or indicates that the first indication information exists or is valid, it can be determined that the MAC subPDUs in the first CB or the first CBG contain both complete MAC subPDUs and incomplete MAC subPDUs. At this time, the receiving end needs to determine the bits corresponding to the complete MAC subPDUs and the bits corresponding to the incomplete MAC subPDUs in the first CB or the first CBG in combination with the position of the complete MAC subPDUs or the position of the incomplete MAC subPDUs in the first CB or the first CBG indicated by the first indication information, and perform data decoding on the bits corresponding to the complete MAC subPDUs.
[0049] In a first possible implementation manner of the fourth aspect, the data decoding is performed on the first CB or the first CBG based on the first indication information and / or the second indication information, including: if the second indication information indicates that the first CB contains only incomplete MAC subPDUs, or indicates that the first CBG contains only incomplete MAC subPDUs, or indicates that the first indication information does not exist, or indicates that bits of the first indication information are invalid, determining bits corresponding to the incomplete MAC subPDUs in the first CB or the first CBG; performing data decoding based on the bits corresponding to the incomplete MAC subPDUs in the first CB and bits corresponding to the incomplete MAC subPDUs in at least one CB, wherein the at least one CB is a CB before and / or after the first CB; or performing data decoding based on the bits corresponding to the incomplete MAC subPDUs in the first CBG and bits corresponding to the incomplete MAC subPDUs in at least one CBG, wherein the at least one CBG is a CBG before and / or after the first CBG. When the second indication information indicates that the first CB or the first CBG contains only incomplete MAC subPDUs, or indicates that the first indication information does not exist or is invalid, it can be determined that the MAC subPDUs in the first CB or the first CBG contain only incomplete MAC subPDUs; at this time, the receiving end can determine bits corresponding to the incomplete MAC subPDUs in the first CB or the first CBG, and perform decoding in combination with incomplete MAC subPDUs contained in other CBs or CBGs, and in the overall decoding work of the receiving end, the decoding efficiency of the receiving end is greatly improved.
[0050] In a fifth aspect, the embodiments of the present application further provide a data processing apparatus, comprising:
[0051] a resource determining module configured to determine a size of a first code block (CB), wherein the first CB is one of C CBs, the C CBs are associated with a first transport block (TB), and C is a positive integer;
[0052] a resource allocating module configured to perform logical channel priority (LCP) based on the size of the first CB.
[0053] In the fifth aspect of the present application, the constituent modules of the data processing apparatus can also perform the steps described in the foregoing first aspect and various possible implementation manners, for details, refer to the foregoing description of the first aspect and various possible implementation manners.
[0054] In a sixth aspect, the embodiments of the present application further provide a data processing apparatus, comprising:
[0055] a resource receiving module configured to receive a first code block (CB).
[0056] a data decoding module, configured to perform data decoding on the first CB; wherein the first CB is one of C CBs, the C CBs are associated with a first transport block TB, C is a positive integer, and the first CB corresponds to a first data set determined based on a size of the first CB.
[0057] In a sixth aspect of the present application, the constituent modules of the data processing apparatus can also perform the steps described in the foregoing second aspect and various possible implementation manners, for details, refer to the foregoing description of the second aspect and various possible implementation manners.
[0058] In a seventh aspect, the embodiments of the present application further provide a data processing apparatus, comprising:
[0059] a resource determining module, configured to determine a size of a first code block CB or a size of a first code block group CBG; wherein the first CB is one of C CBs, the first CBG is one of M N CBGs, the C CBs are associated with a first TB, the M N CBGs are associated with the first TB, N is a positive integer, and M is a positive integer;
[0060] a data set determining module, further configured to determine a first data set based on the size of the first CB or the size of the first CBG; wherein the first data set comprises at least one complete MAC subPDU and / or at least one incomplete MAC subPDU; if the first data set comprises at least one complete MAC subPDU and at least one incomplete MAC subPDU, in the first data set, the at least one complete MAC subPDU is located before the at least one incomplete MAC subPDU.
[0061] In a seventh aspect of the present application, the constituent modules of the data processing apparatus can also perform the steps described in the foregoing third aspect and various possible implementation manners, for details, refer to the foregoing description of the third aspect and various possible implementation manners.
[0062] In an eighth aspect, the embodiments of the present application further provide a data processing apparatus, comprising:
[0063] a resource receiving module, configured to receive a first code block CB or a first code block group CBG;
[0064] The information determining module is configured to obtain first indication information and / or second indication information, the first indication information being used to indicate a position of a complete MAC subPDU or a position of an incomplete MAC subPDU in the first CB, or to indicate a position of a complete MAC subPDU or a position of an incomplete MAC subPDU in the first CBG; the second indication information being used to indicate whether the first CB contains or does not contain an incomplete MAC subPDU, or to indicate whether the first CBG contains or does not contain an incomplete MAC subPDU, or to indicate whether the first indication information exists or does not exist, or to indicate whether bits of the first indication information are valid or invalid.
[0065] The data decoding module is configured to perform data decoding on the first CB or the first CBG based on the first indication information and / or the second indication information; the first CB is one of C CBs, the first CBG is one of M*N CBGs, the C CBs are associated with a first transport block TB, the M*N CBGs are associated with the first TB, N is a positive integer, and M is a positive integer.
[0066] In an eighth aspect of the present application, the component modules of the data processing apparatus can also perform the steps described in the fourth aspect and various possible implementation manners, as described above in the fourth aspect and various possible implementation manners.
[0067] In a ninth aspect, the embodiments of the present application provide a computer readable storage medium, which stores instructions, and when the instructions are run on a computer, the computer is caused to perform the method in the first aspect or the second aspect or the third aspect or the fourth aspect.
[0068] In a tenth aspect, the embodiments of the present application provide a computer program product containing instructions, and when the instructions are run on a computer, the computer is caused to perform the method in the first aspect or the second aspect or the third aspect or the fourth aspect.
[0069] In an eleventh aspect, the embodiments of the present application provide a communication apparatus, which can include a terminal device or a chip, and the like. The communication apparatus includes a processor and a memory. The memory is configured to store instructions. The processor is configured to execute the instructions in the memory, so that the method in the first aspect or the second aspect or the third aspect or the fourth aspect is implemented.
[0070] In a twelfth aspect, the present application provides a chip system, which comprises a processor configured to support a data processing apparatus to implement the functions involved in the above aspects, such as transmitting or processing the data and / or information involved in the above methods. In a possible design, the chip system further comprises a memory configured to store program instructions and data necessary for the data processing apparatus. The chip system can be composed of a chip, or can comprise a chip and other discrete devices.
[0071] In a thirteenth aspect, the embodiments of the present application provide a chip, which comprises one or more interface circuits and one or more processors; the interface circuit is configured to receive a signal from a memory of an electronic device and transmit a signal to the processor, the signal comprising computer instructions stored in the memory; when the processor executes the computer instructions, the electronic device is caused to perform the method in the first aspect or the second aspect or the third aspect or the fourth aspect. BRIEF DESCRIPTION OF DRAWINGS
[0072] FIG. 1 is a schematic structural diagram of a wireless protocol stack provided by the present application;
[0073] FIG. 2 is a schematic diagram of transmission of downlink data between protocol layers provided by the present application;
[0074] FIG. 3 is a schematic flow diagram of LCP provided by the present application;
[0075] FIG. 4 is a schematic flow diagram of resource allocation provided by the present application;
[0076] FIG. 5 is a schematic structural diagram of a downlink MAC PDU provided by the present application;
[0077] FIG. 6 is a schematic structural diagram of an uplink MAC PDU provided by the present application;
[0078] FIGS. 7-9 are schematic structural diagrams of MAC subheaders provided by the present application;
[0079] FIG. 10 is a schematic diagram of TB division of a physical layer provided by the present application;
[0080] FIG. 11 is a schematic diagram of CB reception provided by the present application;
[0081] FIG. 12 is a schematic structural diagram of a communication system provided by the present application;
[0082] FIG. 13 is a schematic diagram of CB and CB group division provided by the present application;
[0083] FIG. 14 is a schematic flow diagram of a data processing method provided by the present application;
[0084] FIG. 15 is a schematic flow diagram of another resource allocation provided by the present application;
[0085] FIG. 16-FIG. 17 are schematic diagrams of the relationship between CBs and MAC subPDUs provided in the present application;
[0086] FIG. 18 is a schematic diagram of a flow of another data processing method provided in the present application;
[0087] FIG. 19 is a schematic diagram of a structure of a CB provided in the present application;
[0088] FIG. 20 is a schematic diagram of a structure of a header corresponding to a CB provided in the present application;
[0089] FIG. 21 is a schematic diagram of a flow for determining a TB provided in the present application;
[0090] FIG. 22 is a schematic diagram of a structure of another CB provided in the present application;
[0091] FIG. 23 is a schematic diagram of a flow of another data processing method provided in the present application;
[0092] FIG. 24 is a schematic diagram of a structure of another CB group provided in the present application;
[0093] FIG. 25-FIG. 28 are schematic diagrams of structures of data processing apparatuses provided in the present application;
[0094] FIG. 29 is a schematic diagram of a structure of a communication apparatus provided in the present application. DETAILED DESCRIPTION
[0095] Embodiments of the present application are described below with reference to the accompanying drawings.
[0096] In the description of the present application, unless otherwise specified, “ / ” represents that the objects associated before and after are in an “or” relationship, for example, A / B can represent A or B; “and / or” in the present application is only a description of the association relationship of the associated objects, which means that there can be three relationships, for example, A and / or B, which can represent: A exists alone, A and B exist together, and B exists alone, where A and B can be singular or plural.
[0097] In the description of the present application, unless otherwise specified, “multiple” means two or more than two. “At least one of the following” or the like means any combination of the items, including any combination of single item or multiple items. For example, at least one of a, b, or c can represent: a, b, c, a and b, a and c, b and c, or a and b and c, where a, b, and c can be single or multiple.
[0098] In addition, in order to facilitate clear description of the technical solutions of the embodiments of the present application, in the embodiments of the present application, the terms "first", "second", etc. are used to distinguish the same or similar items or functions with basically the same functions and effects. Those skilled in the art can understand that the terms "first", "second", etc. do not limit the quantity and execution order, and the terms "first", "second", etc. also do not necessarily mean different.
[0099] In the embodiments of the present application, the words "exemplary" or "for example" are used to mean serving as an example or illustration. Any embodiment or design presented as "exemplary" or "for example" in the embodiments of the present application should not be interpreted as being more preferred or advantageous than other embodiments or design solutions. Rather, the use of the words "exemplary" or "for example" is intended to present related concepts in a specific manner, facilitating understanding.
[0100] It can be understood that the "embodiments" mentioned throughout the specification mean that the specific features, structures or characteristics related to the embodiments are included in at least one embodiment of the present application. Therefore, the various embodiments throughout the specification do not necessarily refer to the same embodiment. In addition, these specific features, structures or characteristics can be combined in one or more embodiments in any suitable manner. It can be understood that in various embodiments of the present application, the size of the sequence number of each process does not mean the execution order, and the execution order of each process should be determined according to its function and inherent logic, and should not constitute any limitation on the implementation process of the embodiments of the present application.
[0101] It can be understood that in the present application, "when" and "if" refer to the corresponding processing under certain objective circumstances, not the time limit, and do not require judgment actions when implementing, nor mean that there are other limitations.
[0102] It can be understood that some optional features in the embodiments of the present application can be implemented independently in some scenarios without relying on other features, such as the scheme currently based on, to solve the corresponding technical problems and achieve the corresponding effects. In some scenarios, the features or functions can be combined with other features according to the needs. Correspondingly, the devices given in the embodiments of the present application can also realize these features or functions, which will not be described here.
[0103] In the present application, except for special description, the same or similar parts of each embodiment can be mutually referred. In the various embodiments of the present application, if there is no special description and no logical conflict, the terms and / or descriptions of different embodiments are consistent and can be mutually referred. The technical features in different embodiments can be combined to form new embodiments according to their inherent logical relationship. The embodiments of the present application described below do not constitute a limitation on the protection scope of the present application.
[0104] For the convenience of understanding the technical solutions of the embodiments of the present application, first, a brief introduction of the related art of the present application is given as follows.
[0105] 1. Protocol layer structure
[0106] For example, at present, the communication between the terminal and the network equipment follows a certain protocol layer structure. It can be divided into a user plane protocol stack and a control plane protocol stack.
[0107] As shown in (a) of FIG. 1, the user plane protocol stack can include a service data adaptation protocol (SDAP) layer, a packet data convergence protocol (PDCP) layer, a radio link control (RLC) layer, a media access control (MAC) layer and a physical (PHY) layer.
[0108] As shown in (b) of FIG. 1, for the access layer (access-stratum, AS), the control plane protocol stack can include a radio resource control (RRC) layer, a PDCP layer, an RLC layer, a MAC layer and a PHY layer. Further, the control plane protocol stack can also include a non-access layer (non-access-stratum, NAS).
[0109] For example, the processing of data by each protocol layer is implemented by the corresponding functional entity of the protocol layer, for example, the processing of the PDCP layer is implemented by the corresponding PDCP entity. In addition, above the AS layer, there can be an application (application, APP) layer. There can also be other protocol layers between the AS layer and the APP layer, which are not limited.
[0110] As shown in FIG. 2, it is a schematic diagram of the transmission of downlink data between the terminal and the access network equipment at each protocol layer. The downward arrow indicates sending, and the upward arrow indicates receiving. In addition, the protocol layers in FIG. 2 can also be understood as the corresponding protocol layer entities, for example, the RRC layer can be understood as the RRC entity, and the PDCP layer can be understood as the PDCP entity.
[0111] Wherein, after the RRC entity of the access network device generates the downlink data (which can also be referred to as signaling, for example, can be an RRC message or an RRC protocol data unit (PDU)), the data passes through one or more of the PDCP layer, the RLC layer, the MAC layer and the PHY layer in turn, and is transmitted to the terminal through the air interface. After the terminal receives the data through the air interface, the data is parsed in reverse order to the access network device.
[0112] In addition, for the sending end, the data received by a layer from the upper layer of the layer is referred to as a service data unit (SDU), and the data delivered by the layer to the lower layer is referred to as a PDU. For the layer, the data received from the upper layer and the data delivered to the lower layer can be the same (for example, transparent transmission) or different (for example, the data received from the upper layer is encapsulated / processed by the layer to obtain the data delivered to the lower layer).
[0113] For the receiving end, the data received by a layer from the lower layer of the layer is referred to as a PDU, and the data delivered by the layer to the upper layer is referred to as an SDU. For the layer, the data received from the lower layer and the data delivered to the upper layer can be the same (for example, transparent transmission) or different (for example, the data received from the lower layer is processed by the layer to obtain the data delivered to the upper layer).
[0114] For example, after the RRC entity of the access network device delivers the RRC PDU to the PDCP entity, the PDCP entity processes or does not process the data (i.e. PDCP SDU) received from the RRC entity to obtain a PDCP PDU, and delivers the PDCP PDU to the RLC entity. The RLC entity processes or does not process the data (i.e. RLC SDU) received from the PDCP entity to obtain an RLC PDU, and delivers the RLC PDU to the MAC entity, and so on. After a certain processing at the PHY layer, air interface transmission is performed. For example, the data transmitted through the air interface can be referred to as a transport block (TB).
[0115] Correspondingly, after the PHY of the terminal receives the TB, the TB is delivered to the MAC entity (the TB in the MAC entity can also be referred to as a MAC PDU), the MAC entity processes or does not process the TB to obtain a MAC SDU, and delivers the MAC SDU to the RLC entity. The RLC entity processes or does not process the data (i.e. RLC PDU) received from the MAC entity to obtain an RLC SDU, and delivers the RLC SDU to the PDCP entity. In this way, after the data reaches the RRC entity, the RRC entity can perform RRC decoding or ASN.1 decoding to determine the meaning of the received data (such as a bit string).
[0116] In the embodiments of the present application, the upper layer and the lower layer are a relative concept. For example, taking the RLC layer as an example, the RLC layer can be the lower layer of the RRC layer, but the RLC layer can be the upper layer of the MAC layer. For another example, the lower layer of the RRC layer can include any one or more of the following: the PHY layer, the MAC layer, the RLC layer, and the PDCP layer.
[0117] 2. MAC packet assembly
[0118] For example, the MAC packet assembly can also be referred to as multiplexing and assembly. For example, the MAC packet assembly can include two parts: logical channel prioritization (LCP), multiplexing of MAC control elements and MAC SDUs.
[0119] The LCP is used to determine data, such as one or more MAC CEs and / or one or more MAC SDUs, to be transmitted on an uplink (UL) new transmission resource. The multiplexing of the MAC CEs and the MAC SDUs is used to multiplex the MAC CEs and / or the MAC SDUs determined after the LCP is performed into one MAC PDU.
[0120] 3. LCP
[0121] Currently, the LCP procedure is in the granularity of a new transmission resource / MAC PDU / TB. After the terminal obtains the uplink resource allocated by the access network device, the terminal can perform the LCP, that is, the terminal obtains an UL new transmission resource and performs the LCP once. For example, the MAC entity of the terminal can perform the LCP according to the TB size. For example, the MAC entity of the terminal can include / replace the terminal.
[0122] It should be noted that in the embodiments of the present application, performing the LCP can also include / replace performing the LCP procedure, which will be uniformly described hereinafter and will not be repeated in subsequent embodiments.
[0123] For example, the LCP can include B j Maintenance, logical channel selection, and resource allocation related content. As shown in FIG. 3, in the LCP procedure, first, logical channel (LCH) selection is performed according to LCP restrictions (or LCH restrictions), and then resources are allocated according to the priority of the selected logical channel (including two rounds of resource allocation). For example, the logical channel can be understood as a channel between the MAC layer and the RLC layer.
[0124] 3.1、B j Maintenance:
[0125] For example, one logical channel corresponds to one B j .
[0126] When the logical channel j is established, the MAC entity of the terminal initializes the B j corresponding to the logical channel j to zero. For each logical channel, the MAC entity increases the B j by PBRxT before each LCP procedure. If the B j is greater than the bucket size, the B j is set to the bucket size; if the B j is less than the bucket size, the B j is set to the calculated value.
[0127] where PBR is the prioritized bit rate (PBR). T is the time elapsed since the last / last time B j was increased. The bucket size is PBRxBSD, and BSD is the bucket size duration (BSD). PBR and BSD are configured by the access network device to the terminal.
[0128] 3.2、Logical channel selection:
[0129] For example, when performing new transmission, the MAC entity of the terminal selects a logical channel that satisfies all the following conditions:
[0130] The subcarrier spacing (SCS) index associated with the UL grant is included in the set of allowed subcarrier spacing index values in allowSCS-List (if configured); and,
[0131] The physical uplink shared channel (PUSCH) transmission duration associated with the UL grant is greater than or equal to maxPUSCH-Duration (if configured); and,
[0132] In the case of the UL grant being Configured Grant Type 1, configuredGrantType1Allowed (if configured) is set to TRUE; and,
[0133] allowedServingCells (if configured) includes the cell information associated with the UL grant; and,
[0134] allowedCG-List (if configured) includes configured grant indices associated with UL grants; and,
[0135] allowedPHY-PriorityIndex (if configured) includes priority indices associated with dynamic UL grants; and,
[0136] allowedHARQ-mode (if configured) includes uplink HARQ mode of hybrid automatic repeat-request (HARQ) process associated with UL grants.
[0137] 3.3 Resource allocation:
[0138] When performing new transmission, the MAC entity of the terminal allocates resources for the selected logical channels in the following manner:
[0139] First round of resource allocation: for the logical channels selected in B j > 0, allocate resources in decreasing order of logical channel priority.
[0140] For example, when performing the first round of resource allocation, the PBR requirement needs to be considered to ensure the fairness of resource allocation, i.e., the resources allocated for logical channel j in the first round of resource allocation are determined according to B j .
[0141] For example, if the PBR of a logical channel is configured as "infinite", the MAC entity of the terminal will allocate resources for all data available for transmission on the logical channel before satisfying the PBR of a lower priority logical channel.
[0142] For example, after the first round of resource allocation, B j of logical channel j needs to be subtracted from the total size of the MAC SDU provided by the logical channel j.
[0143] Second round of resource allocation: if there is remaining resource after the first round of resource allocation, for the selected logical channels, provide data in strictly decreasing priority order until one of the logical channel or UL grant is exhausted.
[0144] It should be noted that the above resource allocation only involves data from LCH and does not involve MAC CE related content. When allocating resources for MAC CE and / or data from logical channels, MAC CE or data from logical channels should be prioritized in the following order (the following is listed in descending order of priority):
[0145] a cell radio network temporary identifier (C-RNTI) MAC CE or data from a UL common control channel (CCCH);
[0146] a Configured grant Confirmation MAC CE;
[0147] a buffer status report (BSR) MAC CE, except for a padding BSR;
[0148] a single power headroom report (PHP) MAC CE or a multiple PHP MAC CE;
[0149] data from any logical channel, except for data from a UL-CCCH;
[0150] a padding BSR MAC CE.
[0151] It can be understood that the above order is only an example and is only used to illustrate the priority of allocating resources for the MAC CE and data (MAC SDU) from the logical channel, and does not cause any limitation to the present application.
[0152] For example, the access network device configures / schedules the terminal with the uplink resource 1 as the new transmission resource, the terminal performs new transmission on the uplink resource 1, the logical channels selected by the terminal according to the LCP restriction are LCH1, LCH2 and LCH3, the priorities of the logical channels are priority 1, priority 2 and priority 3 respectively, and the priority 1 is higher than the priority 2, and the priority 2 is higher than the priority 3, as shown in FIG. 4, it is assumed that the B j is greater than 0, and the B j of the LCH2 is less than 0, then the resources are allocated to the LCH1 and the LCH3 in the order of decreasing priority of the LCHs in the first round of resource allocation, wherein the resources allocated to the LCH1 and the LCH3 are allocated according to the B j of the corresponding LCHs. The numbers 1, 2, 3 and 4 in FIG. 4 can represent the order of resource allocation.
[0153] After the first round of resource allocation, if there is still remaining resource in the uplink resource 1, the resources are allocated to the LCH1, the LCH2 and the LCH3 in the order of decreasing priority of the LCHs, that is, the resources are allocated to the LCH1 first, then the LCH2 if there is remaining resource, and so on until the resources are exhausted.
[0154] Referring to FIG. 4, after the two-round resource allocation ends, the data of LCH1 are all allocated to resources, or in other words, the data of LCH1 can all be transmitted in this new transmission, and part of the data of LCH2 and LCH3 are not allocated to resources (as shown in the diagonal line filled part in FIG. 4), or in other words, the part of data cannot be transmitted in this new transmission.
[0155] It should be noted that the example shown in FIG. 4 is only used as an example to illustrate that the data determined after LCP includes the data of LCH, and does not include MAC CE. In actual application, there can be a case where both the data of LCH and MAC CE need to be transmitted.
[0156] 4. Multiplexing of MAC CE and MAC SDU:
[0157] The multiplexing of MAC CE and MAC SDU is used to multiplex the MAC CE and / or MAC SDU determined after LCP into one MAC PDU. One MAC PDU is composed of one or more MAC subPDUs. For example, the composition of a MAC subPDU can exist in the following four cases:
[0158] Only including one MAC subheader (including padding) or only including one MAC subheader (not including padding);
[0159] Composed of one MAC subheader and one MAC SDU;
[0160] Composed of one MAC subheader and one MAC CE;
[0161] Composed of one MAC subheader and padding.
[0162] Among them, the size of MAC SDU is variable. The size of some MAC CEs is fixed, and the size of some MAC CEs is variable. The size of padding is variable, which can be 0, that is, padding is optional. In addition, in the current MAC PDU, MAC CEs are placed together.
[0163] An example, as shown in FIG. 5, is a schematic diagram of the structure of a downlink (DL) MAC PDU. Among them, the MAC subPDU containing the MAC CE is placed before the MAC subPDU containing the MAC SDU and the MAC subPDU containing the padding. As shown in FIG. 6, is a schematic diagram of the structure of a UL MAC PDU. Among them, the MAC subPDU containing the MAC CE is placed after the MAC subPDU containing the MAC SDU and before the MAC subPDU containing the padding.
[0164] For each MAC subPDU, a MAC subheader and a MAC CE or a MAC SDU or padding are contained, that is, one MAC subheader corresponds to one MAC CE or a MAC SDU or padding. For example, except for the MAC subheader corresponding to the fixed size MAC CE, padding, and the MAC SDU containing the CCCH, the MAC subheader consists of the header field R / F / LCID / (eLCID) / L. For example, the MAC subheader corresponding to the fixed size MAC CE, padding consists of the header field R / LCID / (eLCID). For example, the MAC subheader corresponding to the MAC SDU containing the CCCH consists of the header field R / LCID. An example is:
[0165] LCID: logical channel identifier (LCID) field, used to indicate the logical channel of the MAC SDU corresponding to the MAC subheader, or to indicate the type of the MAC CE corresponding to the MAC subheader, or to indicate the padding corresponding to the MAC subheader. The length of the LCID field is 6 bits. If the LCID field is set to 34, the MAC subheader further includes an eLCID field with a length of 8 bits; if the LCID subsegment is set to 33, the MAC subheader further includes an eLCID field with a length of 16 bits, which is immediately followed by the LCID field.
[0166] eLCID: extended logical channel identifier field, used to indicate the logical channel of the MAC SDU corresponding to the MAC subheader, or to indicate the type of the MAC CE corresponding to the MAC subheader, with a size of 8 bits or 16 bits. The eLCID field is an optional field.
[0167] L: length field, used to indicate the number of bytes of the MAC SDU corresponding to the MAC subheader, or to indicate the number of bytes of the MAC CE corresponding to the MAC subheader. The size of the L field is indicated by the F field.
[0168] F: format field, used to indicate the size of the length field L. The size of the F field is 1 bit, and the value 0 indicates that the size of the L field is 8 bits, and the value 1 indicates that the size of the L field is 16 bits.
[0169] R: reserved bit, set to 0.
[0170] For example, FIG. 7 shows the structure of the MAC subheader containing R / F / LCID / (eLCID) / L fields when the size of the L field is 8 bits, as shown in (a) of FIG. 7, the MAC subheader does not include the eLCID field, as shown in (b) of FIG. 7, the MAC subheader includes the eLCID field, and the size of the eLCID field is 8 bits, as shown in (c) of FIG. 7, the MAC subheader includes the eLCID field, and the size of the eLCID field is 16 bits. For example, FIG. 8 shows the structure of the MAC subheader containing R / F / LCID / (eLCID) / L fields when the size of the L field is 16 bits, as shown in (a) of FIG. 8, the MAC subheader does not include the eLCID field, as shown in (b) of FIG. 8, the MAC subheader includes the eLCID field, and the size of the eLCID field is 8 bits, as shown in (c) of FIG. 8, the MAC subheader includes the eLCID field, and the size of the eLCID field is 16 bits. For example, FIG. 9 shows the structure of the MAC subheader containing R / LCID / (eLCID) fields, as shown in (a) of FIG. 9, the MAC subheader does not include the eLCID field, as shown in (b) of FIG. 9, the MAC subheader includes the eLCID field, and the size of the eLCID field is 8 bits. Wherein, the MAC subheader is octet (or byte) aligned.
[0171] For example, the receiving end decodes in the granularity of the MAC subPDU. For a certain MAC subPDU, decoding needs to be performed based on the MAC subheader. For example, the MAC subheader is parsed to determine the structure of the MAC subPDU. Taking the structure of the MAC subheader as shown in (a) of FIG. 7 as an example, the receiving end determines the size of the L field according to the F field of the MAC subheader, determines the type of the logical channel or the MAC CE corresponding to the MAC subheader according to the LCID field, and determines the number of bytes P of the MAC SDU or the MAC CE corresponding to the MAC subheader according to the L field, thereby determining the P bytes after the MAC subheader as a MAC SDU or a MAC CE, and decoding it.
[0172] 5. Physical layer data processing flow:
[0173] The MAC layer of the transmitting end assembles a MAC PDU, and then delivers the MAC PDU to the PHY layer. Exemplarily, the MAC PDU can also be referred to as a TB, both of which represent the same data. For example, for a certain data, the MAC layer can refer to it as a MAC PDU, and the PHY layer can refer to it as a TB. After the PHY layer obtains the TB, as shown in (a) of FIG. 10, a TB cyclic redundancy check (CRC) code is first added. If the TB (or the TB and the TB CRC) is large, the TB (or the TB and the TB CRC) is divided into multiple code blocks (CBs), and a CB CRC is added for each CB.
[0174] Exemplarily, the number C of CBs satisfies the following relationship: if B≤K cb , then C=1; if B>K cb , then The first size K' of a CB is K'=B' / C. Wherein C is the number of CBs corresponding to a TB. B=A+L1. A is the size or payload size of the TB. L1 is the size of the TB CRC. For example, L1 is 16 bits or 24 bits. K cb is the maximum value of a CB. For example, K cb is 8448 bits or 3840 bits. For example, for low density parity check coding (LDPC) base graph 1, K cb is 8448 bits. For example, for LDPC base graph 2, K cb is 3840 bits. L is the size of the CB CRC. For example, L is 24 bits. K' is the first size of each CB. B'=B+C·L.
[0175] It can be understood that, based on the above division principle, the first size of the CB includes the size of the data part (or the payload part) of the CB and the size of the TB CRC, or includes the size of the data part of the CB and the size of the CB CRC, or includes the size of the data part of the CB, the size of the TB CRC and the size of the CB CRC. The first size of the CB does not include the size of the padding (for example, NULL).
[0176] In addition to the first size of the CB, the CB also has a second size K. The second size of the CB includes the size of the data part of the CB, the size of the TB CRC and the size of the padding, or includes the size of the data part of the CB, the size of the CB CRC and the size of the padding, or includes the size of the data part of the CB, the size of the TB CRC, the size of the CB CRC and the size of the padding. The second size of the CB can include the size of the padding.
[0177] For example, the second size K of the CB is determined based on the first size K' of the CB. For example, the second size of the CB is greater than or equal to the first size of the CB.
[0178] For example, in the case that the CB does not include padding, or the padding is 0, the second size of the CB does not include the size of the padding, the second size of the CB is the same as the first size of the CB.
[0179] In addition, based on the division of the CB described above, the CB has no any association with the structure of the MAC PDU, the boundary (or, the starting bit) of each CB is not necessarily the starting bit of a MAC subPDU, or the boundary (or, the starting bit or the ending bit) of the data part of each CB is not necessarily the boundary (or, the starting bit or the ending bit) of a MAC subPDU. For example, for one TB, the first size of each CB and / or the second size of each CB is the same, but the sizes of different MAC subPDUs are not necessarily the same, so the boundary (or, the starting bit) of each CB is not necessarily the starting bit of a MAC subPDU. For example, as shown in (b) of FIG. 10, the starting boundary of CB0 is the starting bit of MAC subPDU1, and the starting boundaries of CB1 and CB2 are not the starting bits of certain MAC subPDUs.
[0180] It should be noted that (b) of FIG. 10 only shows the data part of the CB as an example for illustration, and there is also a CB CRC in the CB, and there can also be padding (for example, NULL) in the CB, which is not shown in (b) of FIG. 10.
[0181] For the receiving end, after the physical layer receives the CB or the TB, the CB CRC and the TB CRC are checked, and in the case that all CB CRCs are successfully checked and the TB CRC is passed, the physical layer delivers the TB to the MAC layer. For example, for the receiving end, after the physical layer receives the CB or the TB, the CB CRC is first checked, and in the case that all CB CRCs are successfully checked, the TB CRC is checked again, and if the TB CRC is passed, the physical layer delivers the TB to the MAC layer. However, as long as there is a CB CRC that is not passed, the entire TB cannot be delivered to the MAC layer for processing, and needs to wait for hybrid automatic repeat request (HARQ) retransmission (for example, TB or code block group (CBG) retransmission), thereby causing the service delay to increase, affecting the communication quality, for example, it can cause data to not be able to reach within the time delay requirement of the service, thereby affecting the communication quality of the service, or affecting the system capacity.
[0182] A possible solution is that, after receiving the CB (or TB), the PHY layer of the receiving end performs CB CRC verification. If the CB CRC verification is passed, the CB is delivered to the MAC layer for processing (or subsequent data processing) without waiting for the TB CRC verification result. However, the CB can only be delivered to the MAC layer for processing (or subsequent data processing) in sequence.
[0183] Since the division of the CB is independent of the structure of the MAC PDU, when the CB CRC verification fails, the receiving end cannot know the format of the MAC PDU corresponding to the subsequent CB (or cannot know the position of the start of the subsequent MAC subPDU in the CB, or cannot find the boundary of the next or subsequent MAC subPDU), thereby failing to decode the subsequent CB, resulting in that all subsequent CBs cannot be delivered to the MAC layer for processing (or subsequent data processing), and thus the HARQ retransmission (e.g., TB or CBG retransmission) is required, thereby increasing the service delay and affecting the communication quality. For example, the data may not be able to reach within the delay requirement of the service, thereby affecting the communication quality of the service or the system capacity. For example, as shown in FIG. 11, since the CRC verification of CB2 fails, CB2 is not successfully received, and all subsequent CBs, i.e., CB3, …, CB C-2 , CB C-1 cannot be delivered to the MAC layer for processing (or subsequent data processing).
[0184] In addition, the data processing (e.g., at least one of the PHY layer processing, the MAC layer processing, the RLC layer processing, and the PDCP layer processing) is currently performed on the on-chip memory. However, the on-chip memory is very small and cannot even accommodate a large TB. After the terminal performs one data processing (e.g., the PHY layer processing or the CB CRC verification processing of the PHY layer), if the next processing (e.g., the MAC layer processing) cannot be continued, the data needs to be stored on the double data rate (DDR) memory, and then read out from the DDR memory to the on-chip memory when the next processing can be performed, and then the subsequent data processing is performed on the on-chip memory. For example, the DDR can be referred to as a synchronous dynamic random access memory (SDRAM).
[0185] For CBs that cannot be submitted to MAC layer processing (or, cannot be processed subsequently), if all are buffered in on-chip memory, on-chip memory needs to be increased, resulting in increased on-chip memory overhead and increased chip cost; if they are buffered to double data rate (DDR), the write / read of DDR needs to be increased (for example, data is written from on-chip memory to DDR, and then data is read from DDR to on-chip memory), the bandwidth of DDR needs to be increased (for example, DDR bandwidth needs to be reserved according to the air interface), resulting in increased cost, and in addition, due to the erase and write of DDR, device power consumption is also increased.
[0186] That is, even if the check result of the TB CRC is not waited for (or not considered), the CB is submitted in sequence in the case of CB CRC check pass, and the challenge of service delay is greater for future lower latency demand services when a certain CB CRC check fails. In addition, device cost is increased, and the cost pressure is greater for future higher rate services. If DDR storage is used for CBs that cannot be submitted to MAC layer processing, device power consumption is also increased.
[0187] Based on this, the application provides a data processing method. In the method, LCP is performed at the sending end with CB as the granularity, so that the boundary (or, the start bit or the end bit) of the data part of one / every CB and the boundary (or, the start bit or the end bit) of one MAC subPDU are aligned, or the boundary (or, the start bit) of one / every CB and the boundary (or, the start bit) of one MAC subPDU are aligned, so that each CB can contain an integer number of complete MAC subPDUs, thereby enabling the receiving end to decode with CB as the granularity. The problem that the entire TB or all CBs subsequent to the error CB cannot be processed (or, are blocked) due to one CB error is avoided. Since each CB contains an integer number of complete MAC subPDUs, the start boundary of the data part of the CB is the start bit of the MAC subPDU, the MAC subheader and the MAC SDU (or MAC CE or padding) of a certain MAC subPDU are located in one CB, and the decoding of a certain CB does not need to rely on the successful reception of the previous CB, for example, the MAC subheader of the MAC SDU (or MAC CE or padding or MAC subPDU) in the subsequent CB does not need to be obtained in the previous CB, so that even if the previous CB fails to be received, the CB that is successfully received can be delivered to the MAC layer for processing, so that the receiving end can process the CB that is successfully received in time, thereby reducing the service delay, and the data can be delivered as much as possible within the delay requirement of the service, thereby facilitating the improvement of the communication quality of the service or the improvement of the system capacity. In addition, the timely delivery of the CB that is successfully received to the MAC layer for processing can reduce the CB that cannot be delivered to the MAC layer for processing, thereby reducing the storage requirement, i.e., reducing the increase of the internal memory (for example, a large on-chip memory is not needed), saving the cost, or reducing the DDR bandwidth requirement (for example, a large DDR bandwidth is not needed), and at the same time, the device power consumption caused by DDR erasing and writing can be reduced. It is also conducive to coping with the challenges of future services with lower latency requirements and / or higher rate requirements.
[0188] Alternatively, the application provides a data processing method, in which a complete MAC subPDU in a CB can be located before an incomplete MAC subPDU, and part or all of the C CBs can correspond to a header, and the header corresponding to a certain CB can carry information to indicate the location of the incomplete MAC subPDU in the CB, so that the receiving end can determine the structure of the MAC subPDU corresponding to the CB based on the indication of the header, for example, determine the starting position of the incomplete MAC subPDU and / or the ending position of the complete MAC subPDU in the CB, so as to decode the CB without relying on the successful reception of the previous CB, for example, starting from the starting position of the data part of the CB to the end of the starting position of the incomplete MAC subPDU, so that the receiving end can process the data in the CB received successfully in time, avoiding the problem that the entire TB or all CBs subsequent to the error CB cannot be processed (or are stuck) due to an error in one CB, thereby reducing the service delay, so that the data can arrive within the time delay requirement of the service, thereby facilitating the improvement of the communication quality of the service, or facilitating the improvement of the system capacity. In addition, timely submission of the CB received successfully to the MAC layer for processing can reduce the CB that cannot be submitted to the MAC layer for processing, thereby reducing the storage requirement, i.e., reducing the increase of the memory (e.g., no need for a large on-chip memory), which can save costs, or reduce the DDR bandwidth requirement (e.g., no need for a large DDR bandwidth), while also reducing the device power consumption caused by DDR erasing. It is also conducive to coping with the challenges of future services with lower latency requirements and / or higher rate requirements.
[0189] The technical solutions of the embodiments of the present application can be applied to various communication systems, which can be a third generation partnership project (3GPP) communication system, for example, a long term evolution (LTE) system, a fourth generation (4th generation, 4G) system, a new radio (NR) system, a fifth generation (5th generation, 5G) system, a system of mixed networking of LTE and 5G, a non-terrestrial network (NTN), a device-to-device (D2D) communication system, a vehicle to everything (V2X) communication system, a machine-type communication (MTC) system, an internet of things (IOT) system, a wireless local area network, a universal mobile communication system, or other future communication systems. The communication system can also be a non-3GPP communication system, which is not limited.
[0190] The communication system can also be applicable to next-generation (for example, a possible sixth generation (6th Generation, referred to as: “6G”) communication system) communication technology, and the technical solutions provided by the embodiments of the present application are applicable to similar technical problems.
[0191] The technical solutions of the embodiments of the present application can be applied to various data processing communication systems, such as code division multiple access (CDMA), time division multiple access (TDMA), frequency division multiple access (FDMA), orthogonal frequency division multiple access (OFDMA), single carrier FDMA (SC-FDMA), and other systems.
[0192] The term “system” can be replaced by “network”.
[0193] Among them, the communication system applicable to the present application is only an example, and the communication system applicable to the present application is not limited thereto, and the communication system provided by the present application does not cause any limitation to the scheme of the present application. It is uniformly stated here that the following will not be described in detail.
[0194] FIG. 12 shows a possible, non-limiting system diagram. As shown in FIG. 12, a communication system 120 includes a radio access network (RAN) 1200 and a core network (CN) 1300. The RAN 1200 includes at least one access network device (e.g., 1210a and 1210b in FIG. 12, collectively referred to as 1210) and at least one terminal (e.g., 1220a-1220j in FIG. 12, collectively referred to as 1220). Other access network devices, such as wireless relay devices and / or wireless backhaul devices (not shown in FIG. 12), etc. can also be included in the RAN 1200. The terminal 1220 is connected to the access network device 1210 in a wireless manner. The access network device 1210 is connected to the core network 1300 in a wireless or wired manner. The core network device in the core network 1300 and the access network device 1210 in the RAN 1200 can be different physical devices respectively, or can be the same physical device integrated with the logical functions of the core network and the logical functions of the wireless access network.
[0195] The RAN 1200 can be a 3GPP related cellular system, such as a 4G, 5G mobile communication system, or a future-oriented evolution system. The RAN 1200 can also be an open access network (O-RAN or ORAN), a cloud radio access network (CRAN), or a wireless fidelity (WiFi) system. The RAN 1200 can also be a communication system that combines two or more of the above systems.
[0196] The terminal can also be referred to as a terminal device, a UE, a mobile station, a mobile terminal, etc. The terminal can be widely applied to various scenarios, such as D2D, V2X communication, MTC, IoT, virtual reality (VR), augmented reality (AR), industrial control, autonomous driving, remote medical treatment, smart power grid, smart furniture, smart office, smart wear, smart transportation, smart city, smart home, transportation safety, etc. The terminal can be a mobile phone, a tablet computer, a computer with wireless transceiver function, a wearable device, a vehicle, a drone, a helicopter, an airplane, a ship, a robot, a mechanical arm, a smart home device, etc. The embodiments of the present application do not limit the device form of the terminal.
[0197] The access network device 1210, which can also be referred to as a RAN node, a RAN entity, or an access node, etc., forms part of the communication system 1200, and can be configured to implement wireless access for terminals. The plurality of access network devices 1210 in the communication system 1200 can be of one or more different types. The roles of the access network device 1210 and the terminal 1220 are relative in some scenarios, e.g., the network element 1220i in Figure 12 can be a helicopter or a drone, which can be configured to move as a mobile base station, and for a terminal 1220j accessing the RAN 1200 via the network element 1220i, the network element 1220i is a base station; but for the base station 1210a, the network element 1220i is a terminal. The access network device 1210 and the terminal 1220 are sometimes referred to as communication apparatuses, e.g., the network elements 1210a and 1210b in Figure 12 can be understood as communication apparatuses with base station functionalities, and the network elements 1220a-1220j can be understood as communication apparatuses with terminal functionalities.
[0198] In a possible scenario, the access network device can be a base station, an evolved NodeB (eNodeB), an access point (AP), a TRP, a next generation NodeB (gNB), a base station in a future mobile communication system, or an access node in a WiFi system, etc. The access network device can be a macro base station (e.g., 1210a in Figure 12), a micro base station or an indoor station (e.g., 1210b in Figure 12), a relay node or a donor node, or a wireless controller in a CRAN scenario. Optionally, the access network device can also be a server, a wearable device, a vehicle or a vehicle-mounted device, etc. For example, the access network device in V2X technology can be a road side unit (RSU). All or part of the functions of the access network device in this application can also be implemented by software functions running on hardware, or by virtualized functions instantiated on a platform (e.g., a cloud platform). The access network device in this application can also be a logical node, a logical module, or software that can implement all or part of the functions of the access network device.
[0199] In another possible scenario, a terminal is assisted by multiple RAN nodes to implement wireless access, and different RAN nodes respectively implement part of functions of a base station. For example, a RAN node can be a central unit (CU), a distributed unit (DU), a CU-control plane (CP), a CU-user plane (UP), or a radio unit (RU), etc. The CU and the DU can be separately arranged, or can be included in the same network element, such as a baseband unit (BBU). The RU can be included in a radio frequency device or a radio frequency unit, such as a remote radio unit (RRU), an active antenna processing unit (AAU), or a remote radio head (RRH).
[0200] In different systems, the CU (or CU-CP and CU-UP), DU or RU can also have different names, but those skilled in the art can understand their meanings. For example, in an ORAN system, the CU can also be referred to as an O-CU (open CU), the DU can also be referred to as an O-DU, the CU-CP can also be referred to as an O-CU-CP, the CU-UP can also be referred to as an O-CU-UP, and the RU can also be referred to as an O-RU. For the convenience of description, the CU, CU-CP, CU-UP, DU and RU are taken as examples for description in this application. Any one of the CU (or CU-CP, CU-UP), DU and RU in this application can be implemented by a software module, a hardware module, or a combination of a software module and a hardware module.
[0201] As a possible implementation, the CU and the DU respectively implement part of protocol layer functions of an access network device, such as part of protocol layer functions implemented in the CU and the remaining part or all protocol layer functions implemented in the DU, and the CU can control one or more DUs. For example, the CU can deploy an RRC layer, an SDAP layer and a PDCP layer, or in other words, the CU can be understood as a logical node carrying the RRC layer, the SDAP layer and the PDCP layer of the access network device. Therefore, the CU has processing capabilities of the RRC, PDCP and SDAP layers, and of course, the CU can also implement or carry other control functions. The DU can deploy an RLC layer, a MAC layer and a PHY layer, or in other words, the DU can be understood as a logical node carrying the RLC layer, the MAC layer and the PHY layer, so that the DU has processing capabilities of the RLC, MAC and PHY layers, and of course, the DU can also implement or carry other functions.
[0202] The function division of the above CU and DU is only an example and does not limit the CU and the DU. In addition, the CU and the DU can be configured to have functions as needed. For example, the CU or the DU can be configured as a node having more protocol layer functions, or the CU or the DU can be configured as a node having partial processing functions of the protocol layer.
[0203] In another possible scenario, the access network device can include a non-real-time RAN intelligent controller (Non-RT RIC or NRT RIC) and / or a near-real-time RAN intelligent controller (Near-RT RIC or nRT RIC).
[0204] The Non-RT RIC is used to implement non-real-time intelligent management of the RAN, can implement artificial intelligence (AI) / machine learning (ML) including model training and model updating, and guide applications / functions in the Near-RT RIC based on a policy. The Near-RT RIC is used to implement near-real-time intelligent management of the RAN, and implements near-real-time control and optimization of modules and resources of the O-RAN through data collection and related operations on an E2 interface. The E2 interface can be understood as an open interface between two nodes (or endpoints).
[0205] It should be noted that the communication system described in the embodiments of the present application is for more clearly illustrating the technical solutions of the embodiments of the present application, and does not constitute a limitation on the technical solutions provided by the embodiments of the present application. Those skilled in the art can know that, with the evolution of network architecture and the appearance of new business scenarios, the technical solutions provided by the embodiments of the present application are also applicable to similar technical problems.
[0206] The data processing method provided by the embodiments of the present application will be described below by taking the interaction between the terminal and the access network device as an example in combination with the system shown in FIG. 12. It should be noted that in the following embodiments of the present application, the names of messages between devices, the names of parameters, or the names of information, etc. are only examples, and in other embodiments, they can also be other names, and the method provided by the present application does not make a specific limitation on this.
[0207] It can be understood that, in the embodiments of the present application, each device can perform part or all of the steps in the embodiments of the present application, and these steps or operations are only examples, and the embodiments of the present application can also perform other operations or variations of various operations. In addition, each step can be performed in a different order as presented in the embodiments of the present application, and it is possible that not all operations in the embodiments of the present application are performed.
[0208] It can be understood that, in the embodiments of the present application, the first communication device and the second communication device are taken as an example of the execution subject of the interaction, but the present application does not limit the execution subject of the interaction. For example, the method executed by the first communication device in the present application can also be executed by a module (such as a chip, a chip system, or a processor) applied to the first communication device, and can also be realized by a logic node, a logic module or software that can realize all or part of the function of the first communication device; the method executed by the second communication device can also be executed by a module (such as a chip, a chip system, or a processor) applied to the second communication device, and can also be realized by a logic node, a logic module or software that can realize all or part of the function of the second communication device.
[0209] For example, in the embodiments of the present application, CB can include / replace CB group or CB set, or other names, which are not limited. For example, in the embodiments of the present application, CB can include / replace data unit, or data unit 1, or other names, which are not limited. For example, in the embodiments of the present application, MAC PDU can include / replace data, or other names, which are not limited.
[0210] In the data processing method provided by the present application, the sending end and / or the receiving end (or, the first communication device and / or the second communication device) of the TB can determine the C CBs corresponding to the first TB.
[0211] For example, the sending end of the TB can be the first communication device, and the receiving end of the TB can be the second communication device.
[0212] For example, the TB can include / replace MAC PDU, or data, or code word (CW), which are uniformly described here, and subsequent embodiments will not be described again.
[0213] For example, the first TB can include / replace the first MAC PDU, or the first data, or the first CW, which are uniformly described here, and subsequent embodiments will not be described again.
[0214] For example, the first communication device can be a terminal, and the second communication device can be an access network device; or the first communication device can be an access network device, and the second communication device can be a terminal; or the first communication device and the second communication device can be different terminals; or the first communication device and the second communication device can be two different other devices, and the application does not limit the product form of the first communication device and the second communication device.
[0215] Optionally, determining the C CBs corresponding to the first TB can include / replaced by at least one of the following: determining the number of CBs corresponding to the first TB; determining the size of each CB of the C CBs corresponding to the first TB; determining the size of each CB; determining the size of the data part of each CB of the C CBs corresponding to the first TB; or determining the size of the data part of each CB.
[0216] Optionally, the size of the CB can include / replaced by: a first size of the CB, or a second size of the CB, or a size of the data part of the CB. Optionally, the first size of the CB is less than or equal to the second size of the CB. For example, the first size of the CB does not include the size of the padding. For example, the second size of the CB includes the size of the padding.
[0217] For example, in an embodiment of the application, the padding can include / replaced by: NULL, or filler bit, or padding bit.
[0218] For example, the C CBs corresponding to the first TB can be determined by the PHY layer or the MAC layer of the first communication device or the second communication device.
[0219] Optionally, the C CBs corresponding to the first TB can be determined in the following two scenarios respectively.
[0220] Scenario one, adding TB CRC:
[0221] For example, the adding can include / replaced by: existing.
[0222] For example, if B cb , C=1, and B1=B. For example, B=A+L1. For example, B is the sum of the size of the TB and the size of the TB CRC. For example, A is the size of the first TB or the size of the payload. For example, L1 is the size of the TB CRC or the size of the TB CRC corresponding to the first TB. For example, B1 is the sum of the first sizes of all CBs corresponding to the first TB. For example, K cb is the maximum value of the CB, and the related description of K cb has been described above and will not be repeated.
[0223] For example, if B>K cb , C=2, and B1=B2. B1 = B + C x L2. For example, L2 is the size of CB CRC.
[0224] For example, K1 = B1 / C. For example, K1 is the first size of CB or the first size of CB corresponding to the first TB or the first size of each CB or the first size of each CB corresponding to the first TB.
[0225] For example, the first size of CB includes K2 and the size L1 of TB CRC, or, includes K2 and the size L2 of CB CRC, or, includes K2, the size L1 of TB CRC and the size L2 of CB CRC. For example, K2 is the size of data part of CB or the size of data part of CB corresponding to the first TB or the size of data part of each CB or the size of data part of each CB corresponding to the first TB. It should be noted that the size of data part of different CBs can be different or the same, which is not limited.
[0226] For example, the data part can include / replace: the payload part, or, the TB part, or, the MAC PDU part.
[0227] For example, the data part of CB can include / replace: the payload part of CB, or, the TB part of CB, or, the MAC PDU part of CB, or, the TB part in CB, or, the MAC PDU part in CB. For example, the data part of CB is used to carry / correspond to the TB or MAC PDU or data from the MAC layer.
[0228] For example, if C = 1, K2 = A; if C > 1, for the first C-1 CBs, K2 = K1-L2, and for the last CB, K2 = K1-L1-L2.
[0229] For example, as shown in (a) of FIG. 13, the size relationship of the above-mentioned various parameters is shown in the case of B > K cb
[0230] For example, the TB CRC is generated based on the TB. For example, the TB CRC is located after the TB.
[0231] For example, the CB CRC is generated based on the data part of CB (or, the data part of CB and the TB CRC). For example, the CB CRC is located after the data part of CB (or, the data part of CB and the TB CRC).
[0232] Scenario two, without adding TB CRC:
[0233] For example, if B ≤ K cb -L2, then C = 1, B1 = B + L2. For example, B = A. The rest of the parameters can refer to the description in the above scenario one, and will not be repeated here.
[0234] For example, if B > K cb -L2, then B1 = B + C x L2.
[0235] For example, K1 = B1 / C.
[0236] For example, if C = 1, then K2 = A. For example, if C > 1, then K2 = K1 - L2.
[0237] For example, as shown in (b) of FIG. 13, the size relationship of each parameter in the case of B > K cb is shown.
[0238] For example, the CB CRC is generated based on the data part of the CB. For example, the CB CRC is located after the data part of the CB.
[0239] It should be noted that in the embodiments of the present application, in addition to at least one of the TB CRC, the CB CRC and the padding in the CB, other (for example, the CB header, the CBG CRC, etc.) can also be included, which is not limited by the present application.
[0240] As a possible implementation, under the above two scenarios, A can be determined according to the first resource (for example, the related information of the first resource). For example, the first resource is a resource used to carry the first TB. For example, the first resource is a new transmission resource. For example, the first resource can be determined by the first communication device itself, or can be sent by the second communication device to the first communication device, or can be configured by the access network device, for example, can be dynamically scheduled by the access network device through DCI, or can be scheduled by the access network device through semi-static configuration or configured grant, which is not limited.
[0241] In the above two scenarios, the calculation method of the size of the CB (for example, the size of the data part of the CB, or the first size of the CB, or the second size of the CB) is given. In addition, the size of the CB can be predefined, or can be calculated according to other methods, which is not limited. At this time, the number of CBs corresponding to the first TB can be determined based on the predefined or calculated CB size. The size of the CB and the calculation method thereof are not limited by the present application.
[0242] It should be noted that in the embodiments of the present application, the CB can include padding or can not include padding, which is not limited. The padding part in the CB is not shown in the drawings of the present application, but it does not mean that the CB does not include padding.
[0243] In the data processing method provided in this application, the sending end and / or receiving end (or, the first communication device and / or the second communication device) of the TB can determine the N CBGs corresponding to the first TB according to the first value.
[0244] For example, the first value is the number Y of CBGs corresponding to one TB.
[0245] For example, Y is an integer greater than or equal to 1.
[0246] For example, N is an integer greater than or equal to 1.
[0247] For example, the size can include / replace any of the following: length, number of bits, or number of bytes.
[0248] Optionally, the N CBGs satisfy one of the following multiple conditions:
[0249] a) Each of the N CBGs contains a number of CBs equal to the second value;
[0250] b) The first M CBGs of the N CBGs contain a number of CBs equal to the second value, and the last N-M CBGs contain a number of CBs equal to the third value, where M is a positive integer less than N;
[0251] c) The first N-M CBGs of the N CBGs contain a number of CBs equal to the third value, and the last M CBGs contain a number of CBs equal to the second value, where M is a positive integer less than N.
[0252] For example, the second value and the third value are positive integers. It can be understood that the above a), b) and c) only illustrate three possible cases of the N CBGs, and do not constitute any other limitations, for example, the order and possibility of the three cases are not limited.
[0253] Optionally, the number Y of CBGs corresponding to one TB can include / replace the maximum number Y of CBGs corresponding to one TB. Optionally, the number of CBGs corresponding to one TB can include / replace the maximum number of CBGs corresponding to one TB. For example, one TB can contain at most Y CBGs, and the actual number of CBGs contained by one TB can be less than or equal to Y.
[0254] As a possible implementation, the first value can be predetermined by a protocol, or the first value can be obtained by the first communication device from the second communication device, or the first value can be obtained by the second communication device from the first communication device, or the first value can be configured by an access network device to the terminal.
[0255] For example, the second communication device can send the first indication information to the first communication device. Correspondingly, the first communication device receives the first indication information.
[0256] Alternatively, the first communication device can send the first indication information to the second communication device. Correspondingly, the second communication device receives the first indication information. For example, the first indication information comprises information of the first value.
[0257] For example, in a case that the first communication device is a terminal and the second communication device is an access network device, the second communication device can send the first indication information to the first communication device. Correspondingly, the first communication device receives the first indication information. For example, the first communication device determines the first value according to the first indication information.
[0258] For example, in a case that the first communication device is an access network device and the second communication device is a terminal, the first communication device can send the first indication information to the second communication device. Correspondingly, the second communication device receives the first indication information. For example, the second communication device determines the first value according to the first indication information.
[0259] For example, the first indication information comprises information of the first value.
[0260] Optionally, the following describes a division manner of the N CBGs in a case that the first value is Y.
[0261] In a possible implementation, N = min(C, Y), or N = Y.
[0262] For example, C is the number of CBs corresponding to the first TB.
[0263] For example, in a case that C / N is an integer, the number of CBs contained in each of the N CBGs is a second value. For example, the second value is C / N.
[0264] For example, in a case that C / N is not an integer, the number of CBs contained in the first M CBGs of the N CBGs is a second value, and the number of CBs contained in the last N-M CBGs of the N CBGs is a third value; or the number of CBs contained in the first N-M CBGs of the N CBGs is the third value, and the number of CBs contained in the last M CBGs of the N CBGs is the second value.
[0265] For example, the second value is ceil(C / N). For example, the third value is floor(C / N). For example, M = mod(C, N). ceil represents rounding up, floor represents rounding down, and mod represents a modulo operation.
[0266] For example, the first M = mod(C, N) CBGs contain the same number of CBs, ceil(C / N), and the last N - M CBGs contain the same number of CBs, floor(C / N). For example, the first TB corresponds to 11 CBs, and Y = 6, then N = min(C, Y) = 6, M = mod(C, N) = 5, ceil(C / N) = 2, and floor(C / N) = 1. As shown in (c) of FIG. 13, the first 5 CBGs contain 2 CBs, and the last CBG contains 1 CB. Or, for example, the first TB corresponds to 10 CBs, and Y = 4, then N = min(C, Y) = 4, M = mod(C, N) = 2, ceil(C / N) = 3, and floor(C / N) = 2. As shown in (d) of FIG. 13, the first 2 CBGs contain 3 CBs, and the last 2 CBGs contain 2 CBs.
[0267] Or, for example, the first N - M CBGs contain the same number of CBs, floor(C / N), and the last M = mod(C, N) CBGs contain the same number of CBs, ceil(C / N).
[0268] Optionally, determining the N CBGs corresponding to the first TB according to the first value can comprise / replaced by at least one of: determining the number of CBs contained in each of the N CBGs corresponding to the first TB according to the first value; determining the number of CBs contained in each CBG according to the first value; determining the size of each of the N CBGs corresponding to the first TB according to the first value; determining the size of each CBG according to the first value; determining the size of the data portion of each of the N CBGs corresponding to the first TB according to the first value; or, determining the size of the data portion of each CBG according to the first value.
[0269] Optionally, the size of the CBG can comprise / replaced by: a first size of the CBG, or, a second size of the CBG, or, a size of the data portion of the CBG. Optionally, the first size of the CBG is less than or equal to the second size of the CBG. For example, the first size of the CBG does not include the size of padding. For example, the second size of the CBG includes the size of padding.
[0270] For example, the data portion of the CBG can comprise / replaced by: a payload portion of the CBG, or, a TB portion of the CBG, or, a MAC PDU portion of the CBG, or, a TB portion in the CBG, or, a MAC PDU portion in the CBG. For example, the data portion of the CBG is used to carry / correspond to a TB or a MAC PDU or data from a MAC layer.
[0271] Optionally, the N CBGs corresponding to the first TB can be determined by the PHY layer or the MAC layer of the first communication device or the second communication device according to the first value.
[0272] Optionally, the CBG in the present application is associated with the HARQ feedback and / or the HARQ retransmission. For example, the CBG is the granularity of the HARQ feedback and / or the HARQ retransmission.
[0273] Optionally, the CB group in the present application can be the CBG or not. Optionally, the CB group in the present application can be the same as the CBG or not. For example, the CBG is associated with the HARQ feedback and / or the HARQ retransmission. For example, the CBG is the granularity of the HARQ feedback and / or the HARQ retransmission. For example, the CB group and the CBG can be replaced with each other.
[0274] Optionally, determining the N CB groups corresponding to the first TB according to the first value can include / replaced by at least one of the following: determining the number of CBs included in each CB group of the N CB groups corresponding to the first TB according to the first value; determining the number of CBs included in each CB group according to the first value; determining the size of each CB group of the N CB groups corresponding to the first TB according to the first value; determining the size of each CB group according to the first value; determining the size of the data part of each CB group of the N CB groups corresponding to the first TB according to the first value; or, determining the size of the data part of each CB group according to the first value.
[0275] For example, the data part of the CB group can include / replaced by: the payload part of the CB group, or, the TB part of the CB group, or, the MAC PDU part of the CB group, or, the TB part in the CB group, or, the MAC PDU part in the CB group. For example, the data part of the CB group is used to carry / correspond to the TB or the MAC PDU or the data from the MAC layer. The size of the data part of a certain CB group is the sum of the sizes of the data parts of all CBs included in the CB group. It should be noted that the sizes of the data parts of different CB groups can be different or the same, which is not limited.
[0276] Optionally, the size of the data part of the CB group can be determined based on the number of CBs included in the CB group.
[0277] Optionally, the size of the data part of the CB group can be determined based on the first size of the CB group and the size of the TB CRC, or, based on the first size of the CB group and the size of the CB CRC, or, based on the first size of the CB group, the size of the TB CRC and the size of the CB CRC.
[0278] Exemplarily, in the above scenario one, i.e. the scenario of adding the TB CRC, the size K3 of the data part of one CB group satisfies at least one of the following:
[0279] If N = 1, K3 = A; or,
[0280] If N > 1, for the first N-1 CB groups, K3 = C1 x (K1-L2) or K3 = C1 x K2, and for the last CB group, K3 = C1 x (K1-L2)-L1 or K3 = C1 x K2-L1.
[0281] For example, C1 is the number of CBs contained in one CB group. The descriptions of the remaining parameters can be referred to the descriptions of the corresponding parameters in the foregoing, which will not be repeated here.
[0282] Exemplarily, in the above scenario two, i.e. the scenario of not adding the TB CRC, the size K3 of the data part of one CB group satisfies at least one of the following:
[0283] If N = 1, K3 = A; or,
[0284] If N > 1, K3 = C1 x (K1-L2) or K3 = C1 x K2. The descriptions of the parameters can be referred to the descriptions of the corresponding parameters in the foregoing, which will not be repeated here.
[0285] Alternatively, the size of the data part of the CB group can be determined based on the second size of the CB group, the size of the TB CRC and the size of the padding, or determined based on the second size of the CB group, the size of the CB CRC and the size of the padding, or determined based on the first size of the CB group, the size of the TB CRC, the size of the CB CRC and the size of the padding.
[0286] Exemplarily, in the above scenario one, i.e. the scenario of adding the TB CRC, the size K3 of the data part of one CB group satisfies at least one of the following:
[0287] If N = 1, K3 = A; or,
[0288] If N > 1, for the first N-1 CB groups, K3 = C1 x (K-K0-L2), and for the last CB group, K3 = C1 x (K-K0-L2)-L1. The descriptions of the parameters can be referred to the descriptions of the corresponding parameters in the foregoing, which will not be repeated here.
[0289] Exemplarily, in the above scenario two, i.e. the scenario of not adding the TB CRC, the size K3 of the data part of one CB group satisfies at least one of the following:
[0290] If N = 1, K3 = A; or,
[0291] If N>1, K3=C1×(K-K0-L2). The description of each parameter can refer to the description of the corresponding parameter in the foregoing, which is not described here.
[0292] For example, the size of the TB CRC can include / replace the size of the TB CRC corresponding to the first TB.
[0293] For example, the size of the CB CRC can include / replace the size of the CB CRC corresponding to the first TB, or the size of the CB CRC corresponding to the first CB group, or the size of the CB CRC corresponding to each CB in the first CB group, or the sum of the size of the CB CRC corresponding to each CB in the first CB group.
[0294] Please refer to FIG. 14, which is an interaction flow diagram of a communication method provided by an embodiment of the application. The data processing method provided by the embodiment of the application mainly includes the following steps:
[0295] 1401. The first communication device determines the size of the first CB.
[0296] For example, the first CB is one of the C CBs.
[0297] For example, C is the number of CBs corresponding to the first TB. For example, the C CBs are associated with the first TB.
[0298] For example, C is a positive integer.
[0299] Optionally, the first communication device determining the size of the first CB can include / replace the first communication device determining the C CBs corresponding to the first TB, or the first communication device determining the first CB and the first communication device determining the second CB.
[0300] For example, the second CB is one of the C CBs.
[0301] For example, the first communication device can determine the C CBs corresponding to the first TB based on the size of the first TB.
[0302] Optionally, in the case that the PHY layer of the first communication device determines the C CBs corresponding to the first TB, the PHY layer of the first communication device can report the information of the C CBs to the MAC layer (or, upper layer, or, high layer) of the first communication device.
[0303] For example, the information of the C CBs can include information of at least one of the following: 1) C, 2) the size of the C CBs (or the size of each CB in the C CBs), 3) the size of the data part of the C CBs (or the size of the data part of each CB in the C CBs), 4) the order of the size of the data part of the C CBs (or the size of the data part of each CB in the C CBs).
[0304] Optionally, the PHY layer of the first communication device reports the information of the C CBs to the MAC layer in sequence.
[0305] Optionally, the MAC layer of the first communication device determines the TB (or MAC PDU) according to the order of the C CBs reported by the PHY layer.
[0306] Optionally, the PHY layer of the first communication device reports the information of the first CB to the MAC layer (or, upper layer, or, higher layer) of the first communication device.
[0307] For example, the information of the first CB can include at least one of the following: size of the first CB; size of the data part of the first CB.
[0308] Optionally, the size of the first CB can include / replace: first size of the first CB, or, second size of the first CB, or, size of the data part of the first CB. Optionally, the first size of the first CB is less than or equal to the second size of the first CB.
[0309] For example, the first size of the first CB does not include the size of the padding.
[0310] For example, the second size of the first CB includes or can include the size of the padding. For example, the size of the padding can be 0.
[0311] Optionally, the size of the data portion of the first CB can be determined based on the first size of the first CB, the size of the TB CRC, or the size of the CB CRC.
[0312] For example, the size of the TB CRC can include / replace the size of the TB CRC corresponding to the first TB.
[0313] For example, the size of the CB CRC can include / replace the size of the CB CRC corresponding to the first TB, or the size of the CB CRC corresponding to the first CB.
[0314] Optionally, the size of the data portion of the first CB can be determined based on the second size of the first CB, the size of the TB CRC, and the size of the padding, or the size of the CB CRC.
[0315] For example, the size of the padding can include / replace the size of the padding corresponding to the first TB, or the size of the padding corresponding to the first CB.
[0316] Optionally, the PHY layer of the first communication device reports the information of the second CB to the MAC layer (or upper layer, or high layer) of the first communication device.
[0317] For example, the content related to the information of the second CB can refer to the content related to the information of the first CB, for example, the first CB can be replaced by the second CB for understanding, which will not be described here.
[0318] For example, the second CB is after the first CB. For example, the bit stream corresponding to the second CB is after the bit stream corresponding to the first CB. For example, the bits corresponding to the first CB are the a-th bit to the a+b-1-th bit, and the bits corresponding to the second CB are the a+b-th bit to the a+2×b-1-th bit.
[0319] Optionally, the present application can further include: S1400B, the first communication device acquires the first resource or the related information of the first resource (not shown in FIG. 14).
[0320] Optionally, S1400B can be executed before at least one of steps S1401, S1402, S1403, and S1404.
[0321] For example, the first resource is used to carry / transmit the first TB. For example, the first resource is a new transmission resource.
[0322] For example, the related information of the first resource comprises at least one of the following: time-frequency location of the first resource, size of the first TB corresponding to the first resource, code rate corresponding to the first resource, and the like.
[0323] For example, the first resource can be determined by the first communication device itself, or can be configured by the second communication device to the first communication device, or can be configured by the access network device, for example, can be dynamically scheduled by the access network device through DCI, or can be scheduled by the access network device through semi-static configuration or configured grant, without limitation.
[0324] For example, the first resource can be an uplink resource. For example, in the case that the first communication device is a terminal and the second communication device is an access network device, the first resource is an uplink resource, and the first communication device receives the first resource or the related information of the first resource from the second communication device. Alternatively, for example, the first resource can be a downlink resource. For example, in the case that the first communication device is an access network device and the second communication device is a terminal, the first resource is a downlink resource, and the first communication device can send the first resource or the related information of the first resource to the second communication device.
[0325] 1402. The first communication device performs LCP based on the size of the first CB.
[0326] Optionally, the first communication device performs LCP based on the size of the first CB, or S1402 can include / replace: the first communication device performs LCP based on the first CB, or the first communication device performs LCP based on the CB (or C CBs, or each of the C CBs).
[0327] Optionally, the first communication device performs LCP based on the first CB can include / replace: the first communication device performs LCP based on the size of the data part of the first CB, or the first communication device performs LCP based on the size of the first CB.
[0328] For example, the first communication device performs LCP based on the first CB can include / replace: the first communication device performs LCP for the first CB.
[0329] Optionally, for the first CB can include / replace: for the size of the data part of the first CB, or for the size of the first CB.
[0330] For example, performing LCP can include / replace: determining the first data set, or determining the data set.
[0331] For example, LCP can include / replace: resource allocation, or allocating resources for MAC CE and / or data from a logical channel.
[0332] As a possible implementation, the first communication device obtains the first data set after performing LCP based on the first CB. For example, the first data set is determined based on performing LCP on the first CB. The specific implementation of this step will be described in subsequent embodiments, and will not be described here.
[0333] As a possible implementation, step S1402 can be implemented by the MAC layer entity of the first communication device. For example, the MAC layer of the first communication device performs LCP based on the first CB or CB (or, C CBs, or, each of the C CBs).
[0334] For example, the size of the data part of the first CB is the same as the size of the first data set.
[0335] For example, the boundary (or, the start bit or the end bit) of the data part of the first CB is the boundary (or, the start bit or the end bit) of the MAC subPDU. For example, the boundary (or, the start bit or the end bit) of the data part of the first CB and the boundary (or, the start bit or the end bit) of the MAC subPDU are aligned. For example, the boundary (or, the start bit) of the first CB is the boundary (or, the start bit) of the MAC subPDU. For example, the boundary (or, the start bit) of the first CB and the boundary (or, the start bit) of the MAC subPDU are aligned. For example, the boundary can include / replace at least one of the following: a start boundary, an end boundary, a start bit, an end bit, a start byte, or an end byte. For example, the start boundary can include / replace at least one of the following: a start bit, or a start byte. For example, the end boundary can include / replace at least one of the following: an end bit, or an end byte.
[0336] For example, in the embodiments of the present application, the MAC subPDU can include / replace a data unit, or a data unit 2, or other names, which are not limited.
[0337] For example, the data part of the first CB or the first CB carries / corresponds to the first data set.
[0338] For example, the first data set includes one or more complete MAC subPDUs, or includes at least one of one or more MAC SDUs, one or more MAC CEs, or one or more paddings. For example, the first data set does not include an incomplete MAC subPDU. For example, the data part of the first CB or the first CB does not correspond to / carry an incomplete MAC subPDU.
[0339] For example, the first data set can comprise at least one of data from logical channels, data generated by the MAC entity of the first communication device (e.g., MAC CEs), or padding. For example, the data from logical channels can be encapsulated as one or more complete MAC subPDUs containing MAC SDUs. For example, the data generated by the MAC entity can be encapsulated as one or more complete MAC subPDUs containing MAC CEs.
[0340] Optionally, the embodiments of the present application can further comprise: performing LCP by the first communication device based on the second CB.
[0341] For example, performing LCP by the first communication device based on the second CB can be performed after performing LCP by the first communication device based on the first CB.
[0342] For example, the content related to “performing LCP by the first communication device based on the second CB” can refer to the content related to “performing LCP by the first communication device based on the first CB”, for example, the first CB can be replaced by the second CB, and the first data set can be replaced by the second data set for understanding, which will not be repeated here.
[0343] As a possible implementation, performing LCP by the first communication device based on the second CB can obtain a second data set. For example, the second data set is determined based on performing LCP by the first communication device based on the second CB. The specific implementation of this step will be described in subsequent embodiments, which will not be repeated here.
[0344] As a possible implementation, performing LCP by the MAC layer of the first communication device based on the second CB.
[0345] For example, the size of the data part of the second CB is the same as the size of the second data set. For example, the second data set comprises one or more complete MAC subPDUs, or comprises one or more MAC SDUs and / or one or more MAC CEs and / or one or more paddings. For example, the second data set does not comprise an incomplete MAC subPDU. For example, the data part of the second CB or the second CB does not correspond to / does not carry an incomplete MAC subPDU.
[0346] For example, the second data set can comprise data from logical channels and / or data generated by the MAC entity of the first communication device (e.g., MAC CEs).
[0347] For example, the content related to “the second data set” can refer to the content related to “the first data set”, for example, the first CB can be replaced by the second CB, and the first data set can be replaced by the second data set for understanding, which will not be repeated here.
[0348] As a possible implementation, the step S1402 can also be replaced by: performing, by the first communication device, LCP based on the CB (or, the C CBs, or, each of the C CBs).
[0349] Optionally, performing, by the first communication device, LCP based on the CB (or, the C CBs, or, each of the C CBs) can comprise / replaced by: performing, by the first communication device, LCP based on a size of a data portion of the CB (or, the C CBs, or, each of the C CBs), or, performing, by the first communication device, LCP based on a size of the CB (or, the C CBs, or, each of the C CBs).
[0350] For example, performing, by the first communication device, LCP based on the CB (or, the C CBs, or, each of the C CBs) can comprise / replaced by: performing, by the first communication device, LCP for the CB (or, the C CBs, or, each of the C CBs).
[0351] Optionally, performing, by the first communication device, LCP for the CB (or, the C CBs, or, each of the C CBs) can comprise / replaced by: performing, by the first communication device, LCP for a size of a data portion of the CB (or, the C CBs, or, each of the C CBs), or, performing, by the first communication device, LCP for a size of the CB (or, the C CBs, or, each of the C CBs).
[0352] As a possible implementation, performing, by the first communication device, LCP based on the CB (or, the C CBs, or, each of the C CBs) results in C data sets. For example, the C data sets are determined based on performing LCP based on the CB (or, the C CBs, or, each of the C CBs). The specific implementation of this step will be described in subsequent embodiments, and will not be described here.
[0353] For example, the size of the data part of the c-th CB among the C CBs is the same as the size of the c-th data set among the C data sets, c = 1, 2, …, C. For example, one data set among the C data sets includes one or more complete MAC subPDUs, or includes at least one of one or more MAC SDUs, one or more MAC CEs, one or more paddings. For example, each data set among the C data sets does not include an incomplete MAC subPDU. For example, the data part of each CB among the C CBs or each CB among the C CBs does not correspond to / carry an incomplete MAC subPDU. The description of the C data sets can refer to the above description of the first data set, and will not be repeated here. For example, the boundary (or, the start bit or the end bit) of the data part of each CB among the C CBs is the boundary (or, the start bit or the end bit) of the MAC subPDU. For example, the boundary (or, the start bit or the end bit) of the data part of each CB among the C CBs and the boundary (or, the start bit or the end bit) of the MAC subPDU are aligned. For example, the boundary (or, the start bit) of each CB among the C CBs is the boundary (or, the start bit) of the MAC subPDU. For example, the boundary (or, the start bit) of each CB among the C CBs and the boundary (or, the start bit) of the MAC subPDU are aligned.
[0354] For example, the data part of each CB among the C CBs or each CB among the C CBs carries / corresponds to a data set.
[0355] For example, the C data sets include the first data set, or include the first data set and the second data set.
[0356] For example, the first communication device performs LCP based on the CB (or, the C CBs, or each CB among the C CBs) can include that the first communication device performs C times of LCP. For example, the first communication device performs C times of LCP for the first TB, or for the first resource.
[0357] For example, at least one of “the first communication device performs LCP based on the first CB”, “the first communication device performs LCP based on the CB (or, the C CBs, or each CB among the C CBs)”, “the first communication device performs LCP based on the second CB”, S1402 can include / replace / be understood as: the first communication device performs LCP with the CB as the granularity.
[0358] Optionally, after step S1402, the embodiments of the present application can further include S1403 and / or S1404.
[0359] It should be noted that S1402 can be an independent embodiment, and S1402 can also be combined with any one or more steps to form a new embodiment.
[0360] S1403, the first communication device determines the first TB (or the first MAC PDU) based on the first data set.
[0361] For example, the first TB (or the first MAC PDU) includes the first data set.
[0362] For example, step S1403 can be implemented by a MAC layer entity of the first communication device.
[0363] For example, the first TB at the MAC layer can also be referred to as the first MAC PDU.
[0364] For example, the first data set includes one or more MAC subPDUs. At least one MAC subPDU (for example, a first MAC subPDU) of the one or more MAC subPDUs can include a MAC CE. The size of at least one MAC subPDU (for example, the first MAC subPDU) of the one or more MAC subPDUs is less than or equal to a third size. For example, the third size is associated with a minimum value of CB or a maximum value of CB. For example, the third size is determined based on the minimum value of CB or the maximum value of CB. For example, the third size is equal to or greater than the minimum value of CB or the maximum value of CB / 2.
[0365] For example, the first data set includes: a first MAC subPDU and a second MAC subPDU, the second MAC subPDU is located before the first MAC subPDU in the first data set, or the second MAC subPDU is located after the first MAC subPDU in the first data set. For example, the resource allocation order of the first MAC subPDU precedes the resource allocation order of the second MAC subPDU.
[0366] Optionally, the embodiments of the present application can also include: the first communication device determines the first TB (or the first MAC PDU) based on the first data set and the second data set.
[0367] For example, the first TB (or the first MAC PDU) includes the first data set and the second data set. For example, the second data set is located after the first data set in the first TB (or the first MAC PDU).
[0368] As a possible implementation, the step S1403 can also be replaced by: the first communication device determines the first TB (or the first MAC PDU) based on the C data sets. For example, the C data sets are obtained by the first communication device performing LCP based on the CB (or, the C CBs, or, each of the C CBs) in the step S1402.
[0369] For example, the first TB (or the first MAC PDU) includes the C data sets. For example, the resource allocation (or LCP) order of different data sets is the order of different data sets in the first TB (or the first MAC PDU). For example, the order of different data sets in the first TB (or the first MAC PDU) cannot be changed at will. For example, if the sizes of the data parts of the CBs corresponding to two data sets are the same, the order of the two data sets in the first TB (or the first MAC PDU) can be exchanged; otherwise, the two data sets cannot be exchanged.
[0370] For example, within one data set, the order of different MAC subPDUs can be adjusted.
[0371] For example, the first TB (or the first MAC PDU) includes the C data sets. For example, the resource allocation (or LCP) order of different data sets is the order of different data sets in the first TB. For example, the order of different data sets in the first TB cannot be changed at will. For example, if the sizes of the data parts of the CBs corresponding to two data sets are the same (or the sizes of the two data sets are the same), the order of the two data sets in the first TB can be exchanged; otherwise, the two data sets cannot be exchanged.
[0372] For example, within one data set, the order of different MAC subPDUs can be adjusted.
[0373] For example, in the embodiments of the present application, the granularity of LCP is adjusted from per TB to per CB, and the size of the resource data set obtained after LCP in the TB is just the size of one CB, which ensures that the data structure of the MAC subPDU carried in each CB is complete. In this way, even if the previously received CB fails in CRC check, the receiving end can still decode the CB received later, without waiting for TB retransmission or CBG retransmission, thereby reducing the communication cost and supporting the high-rate and low-latency requirements of the communication service.
[0374] Optionally, in some possible implementation of some embodiments of the present application, the first data set includes: a first MAC subPDU and a second MAC subPDU, the second MAC subPDU is located before the first MAC subPDU in the first data set, or the second MAC subPDU is located after the first MAC subPDU in the first data set; wherein the resource allocation order of the first MAC subPDU precedes the resource allocation order of the second MAC subPDU. Optionally, in the embodiments of the present application, the first data set includes a plurality of MAC subPDUs, and the order among the MAC subPDUs in the first data set can be freely adjusted.
[0375] Optionally, the expressions of “before” and “after” involved in the embodiments of the present application can refer to the order in the bit stream.
[0376] For example, in some possible implementation of some embodiments of the present application, the first data set includes one or more MAC subPDUs; wherein at least one MAC subPDU in the one or more MAC subPDUs includes a MAC control element CE, and at least one MAC subPDU in the one or more MAC subPDUs is less than or equal to a first size, the first size is associated with the minimum value of a CB or the maximum value of a CB.
[0377] For example, when the MAC CE is included in the MAC subPDU, in order to ensure that the MAC CE is not truncated, it is necessary to ensure that the size of a MAC subPDU containing the MAC CE does not exceed the size of a CB, therefore, in the embodiments of the present application, it is required that the size of a MAC subPDU containing the MAC CE is less than or equal to a first size, and the first size is associated with the minimum value or the maximum value of a CB. For example, in new radio (NR), the maximum value of a CB can be 8448 bits or 3840 bits, and the minimum value of a CB is slightly larger than 528 bits or 240 bits, therefore, the first size can be set according to the actual value of the CB.
[0378] S1404, the first communication device sends the first TB. Correspondingly, the second communication device receives the first TB.
[0379] As a possible implementation, the first communication device sends the first TB on the first resource.
[0380] As a possible implementation, after the MAC layer of the first communication device generates the first MAC PDU, the first MAC PDU (or referred to as the first TB) can be submitted to the PHY layer of the first communication device, and the first MAC PDU is the first TB after being submitted to the PHY layer. The PHY layer of the first communication device can perform relevant processing on the first TB and then send the first TB.
[0381] For example, the processing performed by the PHY layer on the first TB can include at least one of the following: adding a TB CRC, dividing into multiple CBs, adding a CB CRC, and the like, and of course other processing can also be performed, which is not limited in the present application.
[0382] For example, the second communication device receiving the first TB can include / replaced by: the second communication device receiving part or all of the C CBs, or the second communication device receiving the first CB, or the second communication device receiving the second CB.
[0383] For example, the second communication device receiving the first TB can include / replaced by: the second communication device receiving part or all of the C CBs, or the second communication device receiving the first CB, or the second communication device receiving the second CB.
[0384] For example, the second communication device receiving the first TB can include / replaced by: the second communication device receiving part or all of the C CBs, or the second communication device receiving the first CB, or the second communication device receiving the second CB.
[0385] For example, the second communication device receiving the first TB can include / replaced by: the second communication device receiving part or all of the C CBs, or the second communication device receiving the first CB, or the second communication device receiving the second CB.
[0386] For example, the second communication device receiving the first TB can include / replaced by: the second communication device receiving part or all of the C CBs, or the second communication device receiving the first CB, or the second communication device receiving the second CB.
[0387] For example, the second communication device receiving the first TB can include / replaced by: the second communication device receiving part or all of the C CBs, or the second communication device receiving the first CB, or the second communication device receiving the second CB.
[0388] For example, the second communication device unsuccessfully receiving the first TB can include / replaced by: the first communication device only successfully receiving part of CBs corresponding to the first TB, or the second communication device unsuccessfully receiving at least one CB corresponding to the first TB, or the second communication device unsuccessfully receiving all CBs corresponding to the first TB, or the first communication device only successfully receiving part of CBs corresponding to the first TB, or the second communication device unsuccessfully receiving at least one CB corresponding to the first TB, or the second communication device unsuccessfully receiving all CBs corresponding to the first TB.
[0389] For example, the second communication device receiving the first CB can be successful or unsuccessful, i.e., the second communication device does not necessarily successfully receive the first CB. For example, the reception of the first CB is successful, which can include: the first CB passes the CRC check. For example, the reception of the first CB is unsuccessful, which can include: the first CB does not pass the CRC check.
[0390] For example, the second communication device receiving the first CB can include / replaced by: the second communication device successfully receiving the first CB, or the second communication device unsuccessfully receiving the first CB.
[0391] For example, the content related to "the second communication device receiving the second CB" can refer to the content related to "the second communication device receiving the first CB", for example, the first CB can be replaced by the second CB for understanding, which will not be repeated here.
[0392] Optionally, before step S1404, the embodiments of the present application can further include: the second communication device can determine C CBs corresponding to the first TB.
[0393] For example, the implementation of the second communication device determining C CBs corresponding to the first TB can refer to the related description in the above step S1401, which will not be repeated here. In addition, the second communication device determining C CBs and the first communication device determining C CBs in the above step S1401 do not have a strict order, the first communication device can determine C CBs before the second communication device, or the first communication device can determine C CBs after the second communication device, or the first communication device and the second communication device can determine C CBs at the same time, which is not limited.
[0394] Optionally, before step S1404, S1405, the second communication device determining at least one of C CBs corresponding to the first TB, the present application can further include: the second communication device obtaining the first resource or the related information of the first resource. For the description of the first resource or the related information of the first resource, it will not be repeated here.
[0395] 1405, the second communication device performs data decoding on the first CB.
[0396] For example, performing data decoding can comprise / replace: decoding.
[0397] For example, decoding can comprise / replace at least one of: self-decoding, independent decoding, data processing, deciphering, splitting, demultiplexing.
[0398] For example, data processing can comprise at least one of data processing of: a MAC layer, a RLC layer, a PDCP layer, a SDAP layer, a RRC layer.
[0399] For example, the second communication device performing data decoding on the first CB can comprise / replace: the second communication device decoding each of the part or all of the C CBs.
[0400] For example, the second communication device decoding each of the part or all of the C CBs, or S1405, can comprise / replace at least one of: the second communication device ignoring a TB CRC, or the second communication device determining that the first communication device does not add / disable the TB CRC, or the second communication device determining that the TB CRC is not present, or the second communication device decoding the first CB, or the second communication device decoding the second CB, or the second communication device decoding each of the first CB and the second CB.
[0401] For example, in embodiments of the present application, not adding can comprise / replace: not being added.
[0402] For example, in embodiments of the present application, the first communication device not adding / disabling the TB CRC can comprise / replace: the first communication device not adding / disabling the TB CRC for the first TB.
[0403] For example, in embodiments of the present application, the second communication device determining that the TB CRC is not present can comprise / replace: the second communication device determining that the TB CRC is not present for the first TB. For example, the part or all of the C CBs can comprise / replace: the first CB, or the second CB, or the first CB and the second CB.
[0404] For example, decoding or decoding or decoding each of can comprise / replace at least one of: self-decoding, independent decoding, data processing, deciphering, splitting, demultiplexing.
[0405] For example, data processing can comprise at least one of data processing of: a MAC layer, a RLC layer, a PDCP layer, a SDAP layer, a RRC layer, L2.
[0406] For example, the “the second communication device decodes part or all of the C CBs respectively” can include / replace at least one of: the second communication device (or, a PHY layer of the second communication device) submits part or all of the C CBs to an upper layer or a layer 2 (L2) for data processing, or the second communication device (or, a PHY layer of the second communication device) submits part or all of the C CBs to an upper layer or a L2.
[0407] For example, the upper layer can include / replace a MAC layer, or a MAC layer of the second communication device. For example, the “the second communication device decodes the first CB” can include / replace at least one of: the second communication device (or, a PHY layer of the second communication device) submits the first CB to an upper layer or a L2 for data processing, or the second communication device (or, a PHY layer of the second communication device) submits the first CB to an upper layer or a L2.
[0408] For example, if the first CB is received successfully, the second communication device can decode the first CB, regardless of whether the CBs before the first CB are received successfully.
[0409] For example, if the first CB is received successfully, the CBs before the first CB are received unsuccessfully, the second communication device can decode the first CB.
[0410] For example, if the second CB is received successfully, the first CB is received unsuccessfully, the second communication device can decode the second CB.
[0411] For example, if part of the CBs in the first CB are received successfully, the second communication device can decode the first CB, regardless of whether the CBs before the first CB are received successfully. For example, the first TB corresponds to CB1, CB2 and CB3, CB1 is before CB2, and CB2 is before CB3, if CB1 and CB3 are received successfully, CB2 is received unsuccessfully, regardless of whether the CB (i.e., CB2) before the first CB (i.e., CB3) is received successfully, the second communication device can decode the first CB (i.e., CB3).
[0412] For example, by this method, the decoding of a certain CB can be independent of the receiving result or decoding result of the CB before it or the CBs before it, and in the case of a CB receiving failure (such as CRC check failure) or decoding failure, the decoding of the subsequent CB can still be performed.
[0413] For example, at least one of “the second communication device decodes part or all of the C CBs respectively”, “the second communication device decodes the first CB”, “the second communication device decodes the second CB”, “the second communication device decodes the first CB and the second CB respectively”, in S1405, can include / replace / be understood as: the second communication device decodes in CB granularity.
[0414] It should be noted that S1405 can be an independent embodiment, and S1405 can also be combined with any one or more steps to form a new embodiment.
[0415] For example, the first CB corresponds to a first data set, and the first data set is determined by performing LCP based on the size of the first CB.
[0416] For example, in the embodiments of the present application, the second communication device is configured to perform the data processing procedure shown in step S1405, the first communication device transmits the first TB, and the first TB corresponds to the C CBs. After receiving the first CB, the second communication device can perform data decoding on the first CB. Since the first CB corresponds to a first data set, and the first data set is determined by the first communication device based on the size of the first CB, the MAC subPDU contained in the first CB is a complete MAC subPDU. Therefore, the decoding of the first CB by the second communication device does not depend on the reception or decoding of the previous CB. When the CRC check of the CB before the first CB fails, the second communication device can decode the currently received first CB without waiting for the retransmission of the previous CB, thereby improving the execution efficiency of the communication service.
[0417] For example, in some possible implementation manners of some embodiments of the present application, the second communication device can also receive the second CB and perform data decoding on the second CB; wherein the second CB is one of the C CBs, and the second CB corresponds to a second data set, and the second data set is determined by performing LCP based on the size of the second CB.
[0418] For example, the MAC subPDU contained in the second data set is also a complete MAC subPDU.
[0419] In the embodiments of the present application, the second communication device can perform data decoding on the second CB after receiving the second CB. Since the second CB corresponds to the second data set, the second data set is determined by the first communication device based on the size of the second CB through LCP, and therefore, the MAC subPDU contained in the second data set is a complete MAC subPDU. Thus, whether the decoding of the first CB is successful or not, the second communication device can perform data decoding on the second CB. As can be seen, the second communication device does not depend on the reception or decoding of the previous received CB when performing data decoding, thereby improving the execution efficiency of the communication service.
[0420] Optionally, the embodiments of the present application can further include S1406A and / or S1407A, and / or S1406B and / or S1407B (not shown in FIG. 14).
[0421] Optionally, in the case that the first communication device is an access network device, the second communication device is a terminal, or the first communication device and the second communication device are two different terminals, the embodiments of the present application can further include S1406A and / or S1407A.
[0422] S1406A, the first communication device determines that the second communication device supports decoding in CB or CB group granularity (not shown in FIG. 14).
[0423] For example, support can include / replace: can, or, can.
[0424] For example, the second communication device supporting decoding in CB or CB group granularity can include / replace: the second communication device supporting decoding part or all of the C CBs respectively, or the second communication device supporting step S1405.
[0425] For example, the first communication device determining that the second communication device supports decoding in CB or CB group granularity can include / replace: the first communication device determining that the first communication device can perform LCP in CB or CB group granularity.
[0426] For example, the first communication device determining that the second communication device supports decoding in CB or CB group granularity can include / replace: the first communication device obtaining second indication information, or the first communication device obtaining second indication information from the second communication device. For example, the second communication device sends second indication information to the first communication device, and the first communication device receives the second indication information from the second communication device.
[0427] For example, the second indication information includes information for indicating that the second communication device supports or does not support decoding in CB or CB group granularity, or information for indicating that the first communication device can or can not perform LCP in CB or CB group granularity. For example, support or not support can include / replaced by: whether to support. For example, can or can not can include / replaced by: whether can.
[0428] For example, the first communication device can determine whether the second communication device supports decoding in CB or CB group granularity in terminal granularity.
[0429] For example, the second communication device can send indication information to the first communication device in terminal granularity to indicate whether the second communication device supports "decoding in CB or CB group granularity".
[0430] Optionally, step S1406A can be before step S1401 and / or S1402. For example, if the first communication device determines that the second communication device supports decoding in CB or CB group granularity, the first communication device performs step S1401 and / or S1402.
[0431] S1407A, the second communication device determines that the second communication device can decode in CB or CB group granularity (not shown in FIG. 14).
[0432] For example, the second communication device determines that the second communication device can decode in CB or CB group granularity can include / replaced by: the second communication device determines that the first communication device performs LCP in CB or CB group granularity.
[0433] For example, the second communication device can decode in CB or CB group granularity can include / replaced by: the second communication device is allowed to decode in CB or CB group granularity, or the second communication device is allowed to decode in CB or CB group granularity.
[0434] For example, the first communication device performs LCP in CB or CB group granularity can include / replaced by: the first communication device performs LCP based on the first CB, or the first communication device has performed S1402.
[0435] For example, the second communication device determines that the second communication device can decode in CB or CB group granularity can include / replaced by: the second communication device obtains third indication information, or the second communication device obtains the third indication information from the first communication device. For example, the first communication device sends the third indication information to the second communication device, and the second communication device receives the third indication information from the first communication device.
[0436] For example, the third indication information includes information for indicating that the second communication device can or can not decode in CB or CB group granularity, or information for indicating that the first communication device performs LCP or does not perform LCP in CB or CB group granularity. For example, in or not in can include / replaced by: whether in or not in.
[0437] For example, the first communication device can send information to the second communication device in terminal, DCI, TB, CW, SPS, or CG granularity to indicate that the second communication device can or can not decode in CB or CB group granularity, or to inform the first communication device to perform LCP or not in CB or CB group granularity.
[0438] As a possible implementation, the third indication information is associated with or in the granularity of at least one of the following: terminal, DCI, TB, CW, SPS, CG, LCH, and RB.
[0439] For example, the third indication information associated with the terminal can mean that different terminals can correspond to different third indication information. For example, the third indication information associated with the DCI can mean that different DCI scheduling / corresponding TBs can correspond to different third indication information. For example, the third indication information associated with the TB can mean that different TBs can correspond to different third indication information. For example, the third indication information associated with the SPS / CG can mean that different SPS / CGs can correspond to different third indication information.
[0440] For example, the third indication information can be carried by at least one of the following: DCI format, DCI scrambling information, information in the DCI, time domain resource of the DCI, and frequency domain resource of the DCI.
[0441] Optionally, step S1407A can be before step S1405. For example, if the second communication device determines that the second communication device can decode in CB or CB group granularity, the second communication device performs step S1405.
[0442] Optionally, in the case that the first communication device is a terminal, the second communication device is an access network device, or the first communication device and the second communication device are two different terminals, the embodiments of the present application can further include: S1406B and / or S1407B.
[0443] S1406B, the second communication device determines that the first communication device supports performing LCP in CB or CB group granularity (not shown in FIG. 14).
[0444] For example, the first communication device supporting performing LCP in CB or CB group granularity can comprise / replaced by: the first communication device supporting performing LCP based on the first CB, or the first communication device supporting performing step S1402.
[0445] For example, the second communication device determining the first communication device supporting performing LCP in CB or CB group granularity can comprise / replaced by: the second communication device determining that the second communication device can decode in CB or CB group granularity.
[0446] For example, the second communication device determining the first communication device supporting performing LCP in CB or CB group granularity can comprise / replaced by: the second communication device obtaining the fourth indication information, or the second communication device obtaining the fourth indication information from the first communication device. For example, the first communication device sends the fourth indication information to the second communication device, and the second communication device receives the fourth indication information from the first communication device.
[0447] For example, the fourth indication information comprises information indicating that the first communication device supports or does not support performing LCP in CB or CB group granularity, or information indicating that the second communication device can or cannot decode in CB or CB group granularity.
[0448] For example, the first communication device can send information to the second communication device in terminal granularity to indicate that the first communication device supports or does not support performing LCP in CB or CB group granularity.
[0449] Optionally, step S1406B can be before step S1405. For example, if the second communication device determines that the first communication device supports performing LCP in CB or CB group granularity, the first communication device performs step S1405.
[0450] S1407B, the first communication device determines that the first communication device can perform LCP in CB or CB group granularity.
[0451] For example, the first communication device performing LCP in CB or CB group granularity can comprise / replaced by: the first communication device determining that the second communication device can (or supports) decode in CB or CB group granularity.
[0452] For example, the first communication device performing LCP in CB or CB group granularity can comprise / replaced by: the first communication device being allowed to perform LCP in CB or CB group granularity, or the first communication device being allowed to perform LCP in CB or CB group granularity, or the first communication device being allowed to perform step S1402.
[0453] For example, the first communication device determining that the first communication device can perform LCP in CB or CB group granularity can comprise / replaced by: the first communication device obtaining the fifth indication information, or the first communication device obtaining the fifth indication information from the second communication device. For example, the second communication device sends the fifth indication information to the first communication device, and the first communication device receives the fifth indication information from the second communication device.
[0454] For example, the fifth indication information comprises information for indicating that the first communication device can perform LCP in CB or CB group granularity, or information for indicating that the second communication device can (or support) decode in CB or CB group granularity.
[0455] For example, the second communication device can send information to the first communication device in terminal, DCI, TB, CW, SPS, or CG granularity to indicate whether the first communication device can perform LCP in CB or CB group granularity, or to indicate whether the second communication device can (or support) decode in CB or CB group granularity.
[0456] As a possible implementation, the fifth indication information is associated with, or in the granularity of, one of the following: terminal, DCI, TB, CW, SPS, CG, LCH, RB.
[0457] For example, the fifth indication information associated with a terminal can mean that different terminals can correspond to different fifth indication information. For example, the fifth indication information associated with DCI can mean that different DCI scheduling / corresponding TBs can correspond to different fifth indication information. For example, the fifth indication information associated with TB can mean that different TBs can correspond to different fifth indication information. For example, the fifth indication information associated with SPS / CG can mean that different SPS / CGs can correspond to different fifth indication information.
[0458] For example, the fifth indication information can be carried by at least one of the following: DCI format, DCI scrambling information, information in DCI, time domain resource of DCI, frequency domain resource of DCI.
[0459] Optionally, step S1407B can be before step S1401 and / or S1402. For example, if the first communication device determines that the first communication device can perform LCP in CB or CB group granularity, the first communication device performs step S1401 and / or S1402.
[0460] Optionally, the second indication information and the fourth indication information can be the same indication information, or can be different indication information, which is not limited. For example, the terminal sends the second indication information to the access network device, and the access network device receives the second indication information from the terminal. For example, the second indication information includes at least one of the following: information indicating that the terminal supports or does not support decoding in CB or CB group granularity, information indicating that the access network device can or cannot perform LCP in CB or CB group granularity, information indicating that the terminal supports or does not support performing LCP in CB or CB group granularity, or information indicating that the access network device can or cannot decode in CB or CB group granularity.
[0461] Optionally, the third indication information and the fifth indication information can be the same indication information, or can be different indication information, which is not limited. For example, the access network device sends the third indication information to the terminal, and the terminal receives the third indication information from the access network device. For example, the third indication information includes at least one of the following: information indicating that the terminal can or cannot decode in CB or CB group granularity, information indicating that the access network device performs or does not perform LCP in CB or CB group granularity, information indicating that the terminal can perform LCP in CB or CB group granularity, or information indicating that the access network device can (or supports) decode in CB or CB group granularity.
[0462] For example, the third indication information and / or the fifth indication information can (or also can) include at least one of the following: information indicating that the terminal (or the first communication device or the second communication device) can or cannot ignore the TB CRC, information indicating that the access network device (or the first communication device or the second communication device) adds or does not add (or enables or disables) the TB CRC, or information indicating that the TB CRC exists or does not exist. For example, ignoring the TB CRC can include / replace: not performing TB CRC checking, or not considering the checking result of the TB CRC, or performing TB CRC checking but not considering the checking result of the TB CRC. For example, adding or not adding can include / replace: whether to add. For example, enabling or disabling can include / replace: whether to enable. For example, existing or not existing can include / replace: whether to exist.
[0463] The overall flow of the data processing method provided in the present application is described above. The specific implementation of the related steps is described in detail below.
[0464] In a possible implementation, for the step S1402, the first communication device performing LCP based on the size of the data part of the first CB can include: the first communication device allocating resources for at least one MAC CE and / or data from at least one logical channel based on the size of the data part of the first CB, to obtain a first data set.
[0465] For example, for the first resource, if there is no MAC CE to be transmitted, and the at least one logical channel selected by the first communication device is LCH1, LCH2 and LCH3, the first communication device allocates resources for data from LCH1, LCH2 and LCH3 based on the size of the data part of the first CB.
[0466] For example, if the priorities of LCH1, LCH2 and LCH3 are priority 1, priority 2 and priority 3 respectively, and priority 1 is higher than priority 2, and priority 2 is higher than priority 3, as shown in FIG. 15, the resource allocation is based on the size of the data part of the first CB. For example, assuming that in the first round of resource allocation, B j j is greater than 0, and B j is less than 0, then in the first round of resource allocation, resources are allocated to LCH1 and LCH3 in descending order of LCH priority, or the data amounts corresponding to LCH1 and LCH3 are determined. As shown in FIG. 15, the data amount corresponding to LCH1 can be the size of data set A, and the data amount corresponding to LCH3 can be the size of data set B.
[0467] Assuming that after the first round of resource allocation, the sum of the data amounts corresponding to LCH1 and LCH3 is less than the size of the data part of the first CB, i.e., there is still remaining resources, then resources are allocated in descending order of the priorities of LCH1, LCH2 and LCH3, or the data amounts corresponding to LCH1, LCH2 and LCH3 are determined again, until the sum of the data amounts determined in the two rounds of resource allocation is equal to the size of the data part of the first CB.
[0468] Based on the example shown in FIG. 15, after the resource allocation is completed, the first data set obtained includes data set A from LCH1, data set B from LCH3, data set C from LCH1 and data set D from LCH2.
[0469] As a possible implementation, in the process of the first communication device allocating resources for data from at least one logical channel based on the size of the data part of the first CB, after the first round of resource allocation, the first communication device needs to determine the data amount corresponding to logical channel j based on the size of the data part of the first CB and the data amount corresponding to logical channel j in the first round of resource allocation. jSubtract the total size of MAC SDUs (or data amount) provided by the logical channel j. For example, based on the example shown in FIG. 15, after the first round of resource allocation, the first communication device updates the value of B j Subtract the data amount corresponding to LCH1 in the first round of resource allocation, the first communication device updates the value of B j Subtract the data amount corresponding to LCH3 in the first round of resource allocation.
[0470] Optionally, after the second round of resource allocation, the value of B j may or may not be updated. For example, based on the example shown in FIG. 15, after the second round of resource allocation, the value of B j may or may not be updated.
[0471] As a possible implementation, in step S1402, the first communication device performs LCP based on each of the C CBs respectively, i.e., performs LCP based on the size of the data part of the i-th CB of the C CBs to obtain the data set i, i = 1, 2, …, C. For example, i = 1, 2, …, C can be included / replaced by: i = 0, 1, …, C-1. For example, the first communication device performs LCP based on the second CB of the C CBs after performing LCP based on the first CB, to obtain a second data set, the second CB is located after the first CB in the C CBs.
[0472] As a possible implementation, the first communication device performs LCP based on each of the C CBs respectively, in a certain order. For example, after performing LCP based on the i-th CB, perform LCP based on the i+1-th CB. Based on the example shown in (c) of FIG. 13, the first communication device first performs LCP based on the size of the data part of CB0 (e.g., the first CB) to obtain data set 1; then performs LCP based on the size of the data part of CB1 (e.g., the second CB) to obtain data set 2; then performs LCP based on the size of the data part of CB2 to obtain data set 3; and so on, until performing LCP based on the size of the data part of CB10 to obtain data set 11.
[0473] For example, based on the example shown in (c) in FIG. 13, the data part of CB0 can include the 0th-99th bit in B bits (e.g., B=A+L1 or B=A, A and L1 can refer to the foregoing related description, and will not be described here), the data part of CB1 can include the 100th-199th bit in the B bits, the data part of CB2 can include the 200th-279th bit in the B bits, and so on.
[0474] As a possible implementation, the first communication device performs the implementation of LCP based on each CB, which is similar, and the difference is that when performing LCP based on the 1st CB, the first communication device performs logical channel selection according to the LCP restriction, determines at least one logical channel, and allocates resources for the at least one logical channel based on the size of the data part of the 1st CB. When performing LCP based on the 2nd CB to the Cth CB in turn, there is no need to perform logical channel selection again, and the data of the at least one logical channel is continued to be allocated resources.
[0475] For example, based on the example shown in FIG. 15, after the first communication device performs LCP based on the size of the data part of the first CB, the data of LCH1, LCH2 and LCH3 is still allocated resources in the process of performing LCP based on the size of the data part of the second CB.
[0476] As a possible implementation, the first communication device needs to update the B j based on the 1st CB, and perform LCP based on the 2nd CB, and perform resource allocation according to the B j updated after the completion of LCP corresponding to the 1st CB.
[0477] In a possible implementation, the first data set includes one or more MAC subPDUs, which can include / replace: the first data set includes data (such as MAC SDU and / or MAC CE) in the one or more MAC subPDUs. The first communication device can encapsulate the data in the first data set to obtain at least one MAC subPDU.
[0478] For example, based on the example shown in (c) of FIG. 13 and FIG. 15, taking CB0 as the first CB, and taking data sets A, B, C, and D as the first data set, for example, data sets A, B, C, and D are MAC SDUs respectively, as shown in FIG. 16, the first communication device can take data set A as the MAC SDU of MAC subPDU1, and add the subheader of MAC subPDU1 to obtain MAC subPDU1; take data set B as the MAC SDU of MAC subPDU2, and add the subheader of MAC subPDU2 to obtain MAC subPDU2; take data set B as the MAC SDU of MAC subPDU3, and add the subheader of MAC subPDU3 to obtain MAC subPDU3; and take data set D as the MAC SDU of MAC subPDU4, and add the subheader of MAC subPDU4 to obtain MAC subPDU4. That is, the first CB contains MAC subPDU1, MAC subPDU2, MAC subPDU3, and MAC subPDU4.
[0479] As a possible implementation, in step S1403, the first communication device determines the first TB based on the data set corresponding to each of the C CBs. That is, after the first communication device performs LCP on the data part of the ith CB of the C CBs, the first communication device obtains the data set i corresponding to the ith CB, i = 1, 2, …, C. Further, the first communication device determines at least one complete MAC subPDU contained / corresponding to the ith CB based on the data set i corresponding to the ith CB, and determines the first TB based on the MAC subPDU contained / corresponding to each CB, for example, determines the MAC subPDU contained / corresponding to each CB as the MAC subPDU in the first TB. Based on this implementation, each of the C CBs can contain / correspond to a positive integer complete MAC subPDU.
[0480] For example, based on the example shown in (c) of FIG. 13 and FIG. 15, after step S1402 and step S1403, each of the 11 CBs shown in (c) of FIG. 13 contains at least one complete MAC subPDU. For example, CB0 contains / corresponds to MAC subPDU1 and MAC subPDU2, CB1 contains / corresponds to MAC subPDU3 and MAC subPDU4, CB2 contains / corresponds to MAC subPDU5, CB3 contains / corresponds to MAC subPDU6, and so on.
[0481] As a possible implementation, the order of different CBs containing / corresponding to MAC subPDUs cannot be adjusted at will, but the order of MAC subPDUs contained / corresponded to by the same CB can be adjusted freely.
[0482] For example, based on the example shown in (c) of FIG. 13 and FIG. 15, CB0 contains / corresponds to MAC subPDU1 and MAC subPDU2, CB1 contains / corresponds to MAC subPDU3 and MAC subPDU4, CB2 contains / corresponds to MAC subPDU5, and CB3 contains / corresponds to MAC subPDU6, MAC subPDU1 to MAC subPDU2 cannot be adjusted in position with MAC subPDU3 to MAC subPDU6, MAC subPDU3 to MAC subPDU4 cannot be adjusted in position with MAC subPDU1 to MAC subPDU2 and MAC subPDU5 to MAC subPDU6, MAC subPDU5 cannot be adjusted in position with MAC subPDU1 to MAC subPDU4 and MAC subPDU6, and MAC subPDU6 cannot be adjusted in position with MAC subPDU1 to MAC subPDU5. However, MAC subPDU1 and MAC subPDU2 can be adjusted in position, MAC subPDU3 and MAC subPDU4 can be adjusted in position.
[0483] For example, as shown in (a) of FIG. 17, the positions of MAC subPDU1 to MAC subPDU6 in the first TB from front to back can be: MAC subPDU1, MAC subPDU2, MAC subPDU3, MAC subPDU4, MAC subPDU5, MAC subPDU6; or as shown in (b) of FIG. 17, the positions of MAC subPDU1 to MAC subPDU6 in the first TB from front to back can be: MAC subPDU2, MAC subPDU1, MAC subPDU4, MAC subPDU3, MAC subPDU5, MAC subPDU6.
[0484] In a possible implementation, the MAC layer entity of the first communication apparatus can deliver the first TB to a PHY layer entity of the first communication apparatus, and the PHY layer entity sends the first TB after processing the first TB. The processing of the first TB by the PHY layer entity is not limited in the present application.
[0485] In a possible implementation, in the case that the second communication device decodes part of the C CBs in the step S1405, the part of the CBs are CBs successfully received, or the CRCs of the part of the CBs are all verified.
[0486] In the step S1405, the decoding of a certain CB does not depend on the receiving result or the decoding result of the CB before it, and in the case that the previous CB is unsuccessfully received or decoded, the decoding of the subsequent CB can still be performed. That is, even if there is a CB unsuccessfully received among the CBs before the first CB, the decoding of the first CB can still be performed. The reason is that each of the C CBs contains at least one complete MAC subPDU, and there is no case that part of a MAC subPDU is in one CB and the remaining part is in another CB, so in the case that the CRC of a certain CB is verified, the format of each MAC subPDU in the CB can be obtained, and thus the decoding can be smoothly performed.
[0487] For example, based on the example shown in FIG. 17, the second communication device receives the CB1, verifies the CRC, and in the case that the CRC is verified, performs the decoding of the CB1. In the case that the CRC of the CB1 is not verified, if the CRCs of the CB2 are all verified, the decoding of the CB2 is performed.
[0488] As a possible implementation, the decoding of the first CB can include that the PHY layer entity of the first communication device delivers the data part of the first CB to the MAC layer entity, and the MAC layer entity demultiplexes the data part of the first CB to obtain at least one MAC subPDU contained in the first CB.
[0489] Based on the scheme, the LCP is performed at the sending end in CB granularity, so that the boundary (or, starting bit or ending bit) of the data part of one / every CB and the boundary (or, starting bit or ending bit) of one MAC subPDU are aligned, or the boundary (or, starting bit) of one / every CB and the boundary (or, starting bit) of one MAC subPDU are aligned, so that each CB can contain an integer number of complete MAC subPDUs, thereby enabling the receiving end to decode in CB granularity. The problem that the entire TB or all CBs subsequent to the erroneous CB cannot be processed (or, are all stuck) due to one CB error is avoided. Since each CB contains an integer number of complete MAC subPDUs, the starting boundary of the data part of the CB is the starting bit of the MAC subPDU, and the MAC subheader and MAC SDU (or MAC CE or padding) of a certain MAC subPDU are all located in one CB, so that when decoding a certain CB, there is no need to rely on the successful reception of the previous CB, for example, there is no need to obtain the MAC subheader of the MAC SDU (or MAC CE or padding or MAC subPDU) in the subsequent CB in the previous CB, so that even if the previous CB is received unsuccessfully, the CB received successfully after can be delivered to the MAC layer for processing, so that the receiving end can process the CB received successfully in time, thereby reducing the service delay, so that the data can arrive within the time delay requirement of the service, thereby facilitating the improvement of the communication quality of the service, or facilitating the improvement of the system capacity. In addition, timely delivery of the CB received successfully to the MAC layer for processing can reduce the CB that cannot be delivered to the MAC layer for processing, thereby reducing the storage requirement, i.e., reducing the increase of the memory (for example, no need for a large on-chip memory), which can save costs, or reduce the requirement of DDR bandwidth (for example, no need for a large DDR bandwidth), and at the same time, the device power consumption caused by DDR erasing can also be reduced. It is also conducive to coping with the challenges of future services with lower latency requirements and / or higher rate requirements.
[0490] In the above data processing method, the LCP is performed in CB granularity, and the granularity of the LCP is improved. In addition, the present application also provides a data processing method, in which, for one CB, the incomplete MAC subPDU is placed after all complete MAC subPDUs, so that the starting position of one CB is as close to the starting position of the MAC subPDU as possible. Optionally, the position of the incomplete MAC subPDU can be indicated in the header corresponding to the CB. For example, the header can include / replace other names, for example, information set, without limitation.
[0491] As shown in FIG. 18, the data processing method includes the following steps:
[0492] S1801, the first communication device determines C CBs corresponding to the first TB.
[0493] For example, the implementation of determining the C CBs corresponding to the first TB can refer to the related content described above, which is not described herein again.
[0494] For example, the implementation of determining the C CBs corresponding to the first TB can refer to the related content described above, which is not described herein again.
[0495] Optionally, before at least one of steps S1801, S1802, S1803, the application can further include: S1800B, the first communication device acquires the first resource or the related information of the first resource (not shown in FIG. 18).
[0496] For example, the implementation of determining the C CBs corresponding to the first TB can refer to the related content described above, which is not described herein again.
[0497] S1802, the first communication device determines the first TB.
[0498] For example, the first communication device determines the first TB, which can include / replace: the first communication device determines the header corresponding to the CB (or, C CBs, or, each of the C CBs, or, C-1 CBs, or, each of the C-1 CBs in the C CBs); or, the first communication device determines the header corresponding to the first CB.
[0499] Optionally, the CB (or, C CBs, or, each of the C CBs, or, C-1 CBs, or, each of the C-1 CBs in the C CBs) includes: the header corresponding to the CB (or, C CBs, or, each of the C CBs, or, C-1 CBs, or, each of the C-1 CBs in the C CBs).
[0500] For example, the C-1 CBs can include / replace: C-1 CBs in the C CBs except the first CB, or the last C-1 CBs in the C CBs. For example, the first CB can include / replace: the starting CB.
[0501] Optionally, the first CB includes the header corresponding to the first CB. For example, the first CB is one of the C CBs, or one of the C-1 CBs in the C CBs except the first CB.
[0502] Optionally, the first TB corresponds to: C CBs and the headers corresponding to some or all of the C CBs. As one possible implementation, the first communication device can perform LCP based on the size of the first TB, determine at least one of the following: at least one MAC CE to be transmitted, data from at least one logical channel, or at least one padding, and multiplex the at least one MAC CE, the data from at least one logical channel, or at least one padding to obtain the first TB. For a brief introduction to the related technologies, please refer to the relevant descriptions of LCP and the multiplexing of MAC CEs and MAC SDUs; they will not be repeated here.
[0503] As one possible implementation, the first TB may not include / do not correspond to the header of the first CB among the C CBs, or the first CB may not correspond to / do not have a header, or the header corresponding to the first CB may not include information used to indicate the location of the incomplete MAC subPDU.
[0504] Optionally, the C CBs corresponding to the first TB include at least one first type CB. For example, the first type CB includes at least one complete MAC subPDU and at least one incomplete MAC subPDU. For example, at least one complete MAC subPDU is located before at least one incomplete MAC subPDU, or in other words, the incomplete MAC subPDU is located at the end of the first type CB.
[0505] For example, as shown in Figure 19, the C CBs may include CB1 and CB2. CB1 contains the complete MAC subPDUs, namely MAC subPDU1 to MAC subPDU2. X-2 The incomplete MAC subPDU contained is the MAC subPDU. X-1 The first part (denoted as MAC subPDU) X-1,1 ), where MAC subPDU1 to MAC subPDU X-2 Located in MAC subPDU X-1,1 Previously, CB2 contained a complete MAC subPDU as the MAC subPDU. X To MAC subPDU Y The incomplete MAC subPDU contained is the MAC subPDU. X-1 The remaining part (denoted as MAC subPDU) X-1,2 ), where MAC subPDU X To MAC subPDU Y Located in MAC subPDU X-1,2 Before.
[0506] Optionally, the C CBs corresponding to the first TB include at least one second-type CB and / or at least one third-type CB. For example, the second-type CB contains at least one complete MAC subPDU but does not contain incomplete MAC subPDUs. For example, the third-type CB contains incomplete MAC subPDUs but does not contain complete MAC subPDUs.
[0507] Optionally, the first TB / CB includes / corresponds to / exists in a header corresponding to the CB. For example, the header corresponding to the CB includes third information.
[0508] In one possible implementation, the first TB includes / corresponds to the header of the first type CB. For example, the header of the first type CB includes third information. For example, the first type CB may include the first CB, or the first CB may be the first type CB.
[0509] Optionally, the third information indicates the location of the incomplete MAC subPDU in the first type CB or CB, or indicates the size of the incomplete MAC subPDU in the first type CB or CB. For example, the location of the incomplete MAC subPDU may include / be replaced by: the start and / or end position of the incomplete MAC subPDU.
[0510] For example, the location of an incomplete MAC subPDU in a first-type CB or CB can be indicated by the location of the incomplete MAC subPDU in the CB, or by the distance (or offset or interval in bits / bytes) or interval between the incomplete MAC subPDU and the start boundary of the first-type CB or CB / the start boundary of the data portion of the first-type CB or CB / the end position (or end boundary) of the header corresponding to the first-type CB or CB / the start position (or start boundary) of the header corresponding to the first-type CB or CB, or by the distance (or offset or interval in bits / bytes) or interval between the incomplete MAC subPDU and the end boundary of the first-type CB or CB / the end boundary of the data portion of the first-type CB or CB, without limitation.
[0511] For example, based on the example shown in Figure 19, the header corresponding to CB1 may include third information to indicate the MAC subPDU. X-1,1 The starting position 'a', or MAC subPDU X-1,1 The size of the CB2 header. The header corresponding to CB2 may include third information to indicate the MAC subPDU. X-1,2 The starting position b, or, indicating the MAC subPDU X-1,2 Size.
[0512] For example, the location of an incomplete MAC subPDU in a first type CB or CB may include / be replaced with the location of a complete MAC subPDU in a first type CB or CB.
[0513] For example, a complete MAC subPDU in CB can include / replace: the last complete MAC subPDU in CB, or all complete MAC subPDUs in CB.
[0514] For example, the location of the complete MAC subPDU can include / replace with: the end position and / or the start position of the complete MAC subPDU.
[0515] For example, the size of the incomplete MAC subPDU in the first type CB or CB can include / be replaced with: the size of the complete MAC subPDU in the first type CB or CB.
[0516] For example, based on the example shown in Figure 19, position a in CB1 is also the end position of the complete MAC subPDU. Therefore, it can also be understood that the third information indicates the end position of the complete MAC subPDU in CB, or indicates the size of the complete MAC subPDU, such as MAC subPDU1 to MAC subPDU. X-2 Total number of bits / bytes.
[0517] As one possible implementation, the header corresponding to the first type CB or CB may also include fourth and / or fifth information. For example, the fourth information indicates whether the incomplete MAC subPDU in the first type CB or CB includes the start portion of the MAC subPDU.
[0518] For example, based on the example shown in Figure 19, the incomplete MAC subPDU (i.e., MAC subPDU) in CB1 X-1,1 This includes the beginning portion of the MAC subPDU, and the incomplete MAC subPDU in CB2 (i.e., MAC subPDU). X-1,2 The incomplete MAC subPDU in CB1 does not include the start portion of the MAC subPDU. Therefore, the header corresponding to CB1 may also include a fourth piece of information to indicate that the incomplete MAC subPDU in CB1 includes the start portion of the MAC subPDU; the header corresponding to CB2 may also include a fourth piece of information to indicate that the incomplete MAC subPDU in CB2 does not include the start portion of the MAC subPDU.
[0519] For example, the fifth information indicates the type of CB, or indicates whether the header of the CB includes (or, whether it includes) the third information.
[0520] For example, the types of CB include at least one of the following: Type 1 CB, Type 2 CB, or Type 3 CB.
[0521] As one possible implementation, the header corresponding to each of the C CBs or each of the C-1 CBs can include fifth information to indicate the type of the current CB, or in other words, to indicate whether the current CB is a first-type CB, a second-type CB, or a third-type CB. For example, if the current CB is a first-type CB, the header corresponding to that CB can also include third information. For example, if the current CB is a first-type CB, the header corresponding to that CB can also include fourth information.
[0522] For example, as shown in Figure 20, the header corresponding to a CB may include a first field (identified by C in Figure 20), which carries the fifth information. For instance, if the fifth information indicates that the current CB is a first-type CB, as shown in Figure 20(a), the header corresponding to that CB may also include a second field, which carries the third information. Furthermore, the header corresponding to that CB may also include a third field for carrying the fourth information; the third field is optional.
[0523] For example, when the fifth information carried in the first field indicates that the current CB is a second type CB or a third type CB, as shown in Figure 20(b), the other bits in the header corresponding to the CB can be reserved bits, that is, the second field used to carry the third information and the third field used to carry the fourth information are not included.
[0524] It should be noted that the size and position of the first, second, and third fields in the header in Figure 20 are examples. The first, second, and third fields can also be other sizes and other positions in the header. This application does not impose specific limitations on the size of each field and its position in the header.
[0525] S1803, the first communication device transmits the first TB. Correspondingly, the second communication device receives the first TB.
[0526] As one possible implementation, the first communication device transmits the first TB on the first resource. At this time, before step S1803, the first communication device needs to obtain relevant information about the first resource, such as the time-frequency location and size of the first resource.
[0527] As one possible implementation, the second communication device receives the first TB at the granularity of CB.
[0528] For example, the implementation of step S1803 can be referred to the relevant description in step S1404 above, and will not be repeated here.
[0529] Optionally, before step S1803, this embodiment of the application may further include: the second communication device can determine the C CBs corresponding to the first TB.
[0530] For example, the implementation of the second communication device determining the C CBs corresponding to the first TB can be referred to the relevant description in step S1401 above, and will not be repeated here. Furthermore, there is no strict order between the second communication device determining the C CBs and the first communication device determining the C CBs in step S1801 above. The first communication device can determine the C CBs before the second communication device, or after the second communication device, or the first and second communication devices can determine the C CBs simultaneously; there is no restriction.
[0531] S1804, The second communication device decodes some or all of the C CBs respectively.
[0532] For example, the second communication device may decode some or all of the C CBs, which may include / be replaced by at least one of the following: the second communication device ignores the TB CRC, or the second communication device determines that the first communication device does not add / de-enable the TB CRC, or the second communication device determines that the TB CRC does not exist, or the second communication device decodes the first CB, or the second communication device decodes the second CB, or the second communication device decodes the first CB and the second CB separately. For example, if the second CB is located after the first CB, refer to the foregoing description of the first CB and the second CB, which will not be repeated here.
[0533] Optionally, this application may further include: a second communication device determining the header corresponding to the CB (or, C CBs, or, each of the C CBs, or, C-1 CBs, or, each of the C-1 CBs in the C CBs); or, a first communication device determining the header corresponding to the first CB.
[0534] As one possible implementation, the second communication device decodes the CB according to the header corresponding to the CB. For example, the second communication device receives data at the CB level, verifies the CRC of the CB, and decodes the CB according to the header after the CRC verification is successful.
[0535] For example, if the first CB is successfully received, but the CBs preceding the first CB fail to be received, the second communication device can decode the first CB.
[0536] For example, decoding the first CB can include / be replaced by: decoding the first CB based on the header corresponding to the first CB.
[0537] For example, if the second CB is successfully received while the first CB fails to be received, the second communication device can decode the first CB.
[0538] For example, this method allows the decoding of a CB to be independent of the reception or decoding results of its predecessors. Even if a CB fails to be received (e.g., CRC check failure) or fails to be decoded, subsequent CBs can still be decoded.
[0539] As one possible implementation, if the second communication device decodes a portion of the C CBs, then that portion of the CBs is considered successfully received, or in other words, the CRC verification of that portion of the CBs is successful. If the second communication device decodes all of the C CBs, it indicates that all C CBs were successfully received, or in other words, the CRC verification of all C CBs is successful.
[0540] As one possible implementation, for the first type CB, the second communication device decodes the first type CB according to the header corresponding to the first type CB, including: the second communication device determines that the position indicated by the third information carried in the header corresponding to the first type CB is a complete MAC subPDU, and therefore decodes the bits before that position according to the format of a complete MAC subPDU and the MAC subheader. For the bits after that position, the second communication device determines that they are bits of an incomplete MAC subPDU, and can decode them together with incomplete MAC subPDUs in CBs after the current CB and / or incomplete MAC subPDUs in CBs before the current CB, or can concatenate incomplete MAC subPDUs from different CBs in sequence before decoding.
[0541] For example, based on the example shown in Figure 19, the second communication device can decode the bits before position a in the header corresponding to CB1 and the bits before position b in the header corresponding to CB2. Based on the headers corresponding to CB1 and CB2, and combining the data bits after position a in CB1 and the data bits after position b in CB2, decoding is performed to obtain the complete MAC subPDU. X-1 .
[0542] For example, for the second type CB, the second communication device can decode the second type CB according to the header corresponding to the second type CB. This can include: the second communication device determines that the current CB contains a complete MAC subPDU but does not contain an incomplete MAC subPDU according to the fifth information carried in the header corresponding to the second type CB. Therefore, all bits in the current CB can be decoded according to the format of the complete MAC subPDU and the MAC subheader.
[0543] For example, for a third type CB, the second communication device decodes the third type CB according to the header corresponding to the third type CB. This may include: the second communication device determines that the current CB does not include a complete MAC subPDU according to the fifth information carried in the header corresponding to the third type CB. Therefore, it may decode the incomplete MAC subPDU in the CB after the current CB and / or the incomplete MAC subPDU in the CB before the current CB together, or it may decode the incomplete MAC subPDU in different CBs by concatenating them in sequence.
[0544] In one possible implementation, in step S1803 above, the first communication device can perform MAC multiplexing (or packet assembly) in a manner that prioritizes placing complete MAC subPDUs to obtain the first TB. For example, for a CB, if a complete MAC subPDU exists and the CB can accommodate the complete MAC subPDU, then the complete MAC subPDU is placed into the CB. There may be one or more complete MAC subPDUs that can be placed into the CB (or, this process may be performed once or multiple times); if no complete MAC subPDU can be placed into the CB (or, subsequently, if no complete MAC subPDU can be placed into the CB), then incomplete MAC subPDUs are placed first. If no incomplete MAC subPDUs exist, then a complete MAC subPDU can be split into a portion and placed into the CB. For example, the first communication device can determine the first TB through the following two steps:
[0545] Step 1: The first communication device determines L MAC subPDUs.
[0546] For example, the first communication device determining L MAC subPDUs may include / be replaced by: the first communication device determining L MAC subPDUs based on the size of the first TB, or the first communication device determining L MAC subPDUs after performing LCP on the first TB / first resource.
[0547] For example, L MAC subPDUs can include / be replaced with: L MAC subPDUs arranged in first order.
[0548] For example, L is a positive integer greater than 1.
[0549] As one possible implementation, the first communication device can perform LCP based on the size of the first TB, determine at least one MAC CE to be transmitted and / or data from at least one logical channel, and multiplex the at least one MAC CE and / or data from at least one logical channel to obtain L MAC subPDUs arranged in a first order. The relevant explanations of LCP and the multiplexing of MAC CEs and MAC SDUs can be found in the brief introduction to related technologies, and will not be repeated here.
[0550] For example, the different MAC subPDUs among the L MAC subPDUs have different sizes. Of course, there can also be multiple MAC subPDUs of the same size, without restriction.
[0551] Step 2: The first communication device reorders the L MAC subPDUs according to the size of the C CBs to obtain the first TB.
[0552] As one possible implementation, during the reordering of L MAC subPDUs, it may be necessary to truncate some of the MAC subPDUs.
[0553] As one possible implementation, the first communication device can implement step 2 through the process shown in Figure 21. Referring to Figure 21, the process includes the following steps:
[0554] Optionally, S2101, determine whether there exists a complete MAC subPDU among the L MAC subPDUs that does not belong to the first c-1 CBs and the Cth CB, where c = 1, 2, ..., C. Or, determine whether there exists a complete MAC subPDU that is not assigned to any CB.
[0555] For example, if there is at least one complete MAC subPDU that does not belong to the first c-1 CBs and the Cth CB, perform the following step S2102; if there is no complete MAC subPDU that has not been assigned to any CB, determine the bits of the current incomplete MAC subPDU as bits in the Cth CB.
[0556] For example, when c=1, step S2101 can be replaced with: determining whether there exists a complete MAC subPDU among the L MAC subPDUs that does not belong to the Cth CB. Alternatively, when c=1, step S2101 can be omitted, meaning that it is assumed that there exists a complete MAC subPDU that has not been assigned to any CB.
[0557] Optionally, S2102, determine the first MAC subPDU.
[0558] For example, the first MAC subPDU is the first or any one of the L MAC subPDUs that does not belong to the first c-1 CBs or the Cth CB, where c = 1, 2, ..., C. In other words, the current first MAC subPDU has not been assigned to any CB.
[0559] For example, as shown in Figure 22, after step 1 above, the L MAC subPDUs determined by the first communication device are MAC subPDU1, MAC subPDU2, MAC subPDU3, MAC subPDU4, MAC subPDU5, MAC subPDU6, MAC subPDU7, ..., MAC subPDU L For example, when c=1, the first MAC subPDU can be MAC subPDU1.
[0560] Optionally, S2103, determine whether the remaining size of the Cth CB is greater than or equal to the size of the first MAC subPDU.
[0561] For example, the remaining size of the Cth CB refers to the size of the remaining data portion of the Cth CB, that is, the amount of data that the Cth CB can still hold or contain.
[0562] As one possible implementation, if the remaining size of the Cth CB is greater than or equal to the size of the first MAC subPDU, step S2104a is executed; if the remaining size of the Cth CB is less than the size of the first MAC subPDU, step S2104b is executed.
[0563] Optionally, S2104a, the first MAC subPDU is determined as the MAC subPDU in the Cth CB.
[0564] For example, based on the example shown in Figure 22, when c=1, the first MAC subPDU is MAC subPDU1. Assuming that the remaining size of the first CB is greater than the size of MAC subPDU1, then MAC subPDU1 is determined as the MAC subPDU in the first CB.
[0565] For example, after step S2104a, you can return to continue executing step S2101 until all data bits in the Cth CB are determined.
[0566] S2104b, Determine if a second MAC subPDU exists.
[0567] For example, the second MAC subPDU is the first or any complete MAC subPDU among L MAC subPDUs that does not belong to the first c-1 CBs and the Cth CB, and whose size is less than or equal to the remaining size of the Cth CB.
[0568] For example, if the size of a complete MAC subPDU is greater than the remaining size of the Cth CB, the first communication device continues to traverse the MAC subPDUs (or continues to traverse other MAC subPDUs) to determine whether there are other complete MAC subPDUs whose size is less than or equal to the remaining size of the Cth CB.
[0569] As one possible implementation, if a second MAC subPDU exists, step S2105a is executed; if a third MAC subPDU exists but a second MAC subPDU does not exist, step S2105b is executed; if a third MAC subPDU does not exist but a second MAC subPDU does not exist, step S2105c is executed.
[0570] S2105a, The second MAC subPDU is determined as the MAC subPDU in the Cth CB.
[0571] For example, after step S2105a, you can return to continue executing steps S2101 or S2104b until all data bits in the Cth CB are determined.
[0572] S2105b: Determine some or all of the bits of the third MAC subPDU as bits in the Cth CB.
[0573] For example, the third MAC subPDU is an incomplete MAC subPDU that does not belong to the first c-1 CBs and the Cth CB (or, the first or any incomplete MAC subPDU).
[0574] For example, the third MAC subPDU is an incomplete MAC subPDU obtained by truncating a complete MAC subPDU from the above L MAC subPDUs.
[0575] As one possible implementation, the size of some or all of the bits in the third MAC subPDU is the remaining size of the Cth CB. That is, some or all of the bits in the third MAC subPDU can fill the data portion of the Cth CB.
[0576] As one possible implementation, the total size of the third MAC subPDU is less than the remaining size of the Cth CB. That is, the total size of the third MAC subPDU is insufficient to fill the data portion of the Cth CB. Continue execution of S2105c.
[0577] S2105c, Determine some or all of the bits of the fourth MAC subPDU as bits in the Cth CB (not shown in Figure 21).
[0578] For example, the fourth MAC subPDU is a complete MAC subPDU that does not belong to the first c-1 CBs and the Cth CB (or, the first or any complete MAC subPDU).
[0579] As one possible implementation, the size of some or all of the bits in the fourth MAC subPDU is the remaining size of the Cth CB. That is, some or all of the bits in the fourth MAC subPDU can fill the data portion of the Cth CB. For example, some of the bits in the fourth MAC subPDU can be bits truncated from the fourth MAC subPDU.
[0580] The process shown in Figure 21 will be explained below with reference to the example shown in Figure 22. As shown in Figure 22, the L MAC subPDUs determined by the first communication device are MAC subPDU1, MAC subPDU2, MAC subPDU3, MAC subPDU4, MAC subPDU5, MAC subPDU6, MAC subPDU7, ..., MAC subPDU L .
[0581] When c=1:
[0582] First round of determination process:
[0583] Perform step S2101 above to determine if there exists a complete MAC subPDU that does not belong to the Cth CB.
[0584] Perform the above step S2102 to determine that the first MAC subPDU is MAC subPDU1.
[0585] After executing step S2103, since the size of MAC subPDU1 is less than the remaining size of the first CB, step S2104a is executed to determine MAC subPDU1 as the MAC subPDU in the first CB. Then, the process returns to step S2101 to enter the second round of determination.
[0586] After the first round of determination is completed, the remaining size of the first CB is: the size of the data part of the first CB - the size of MAC subPDU1.
[0587] Second round of determination process:
[0588] Perform the above step S2101 to determine that there exists a complete MAC subPDU that does not belong to the first c-1 CBs and the Cth CB.
[0589] Perform the above step S2102 to determine that the first MAC subPDU is MAC subPDU2.
[0590] After executing step S2103, since the size of MAC subPDU2 is less than the remaining size of the first CB, step S2104a is executed to determine MAC subPDU2 as the MAC subPDU in the first CB. Then, the process returns to step S2101 to enter the third round of determination.
[0591] After the second round of determination is completed, the remaining size of the first CB is: the size of the data part of the first CB - the size of MAC subPDU1 - the size of MAC subPDU2.
[0592] Third round of determination process:
[0593] Perform the above step S2101 to determine that there exists a complete MAC subPDU that does not belong to the first c-1 CBs and the Cth CB.
[0594] Perform the above step S2102 to determine that the first MAC subPDU is MAC subPDU3.
[0595] After executing step S2103, since the size of MAC subPDU3 is greater than the remaining size of the first CB, step S2104b is executed to determine whether a second MAC subPDU exists.
[0596] In step S2104b, the first communication device iterates backward and finds that the size of MAC subPDU4 is less than the remaining size of the first CB. Therefore, MAC subPDU4 is determined as the second MAC subPDU, and step S2105a is executed to determine MAC subPDU4 as the MAC subPDU in the first CB. Then, it returns to step S2101 to continue the fourth round of determination.
[0597] After the third round of determination is completed, the remaining size of the first CB is: the size of the data part of the first CB - the size of MAC subPDU1 - the size of MAC subPDU2 - the size of MAC subPDU4.
[0598] Fourth round of determination process:
[0599] Perform the above step S2101 to determine that there exists a complete MAC subPDU that does not belong to the first c-1 CBs and the Cth CB.
[0600] Perform the above step S2102 to determine that the first MAC subPDU is MAC subPDU3.
[0601] After executing step S2103, since the size of MAC subPDU3 is greater than the remaining size of the first CB, step S2104b is executed to determine whether a second MAC subPDU exists.
[0602] In step S2104b, the first communication device traverses other MAC subPDUs and determines that there is no second MAC subPDU and no third MAC subPDU. Therefore, it executes step S2105c, determining MAC subPDU3 as the fourth MAC subPDU, thereby determining the first part of the bits in MAC subPDU3 as the bits in the first CB. Since the size of part of the bits in the fourth MAC subPDU is equal to the remaining size of the first CB, that is, part of the bits in the fourth MAC subPDU can fill the data part of the first CB.
[0603] After the fourth round of determination, all data bits in the first CB can be determined. Therefore, the data bits of the second CB are determined when c=2.
[0604] When c=2:
[0605] First round of determination process:
[0606] Perform the above step S2101 to determine that there exists a complete MAC subPDU that does not belong to the first c-1 CBs and the Cth CB.
[0607] Perform the above step S2102 to determine that the first MAC subPDU is MAC subPDU5.
[0608] After executing step S2103, since the size of MAC subPDU5 is less than the remaining size of the second CB, step S2104a is executed to determine MAC subPDU5 as the MAC subPDU in the second CB. Then, the process returns to step S2101 to enter the second round of determination.
[0609] After the first round of determination is completed, the remaining size of the second CB is: the size of the data part of the second CB - the size of MAC subPDU5.
[0610] Second round of determination process:
[0611] Perform the above step S2101 to determine that there exists a complete MAC subPDU that does not belong to the first c-1 CBs and the Cth CB.
[0612] Perform the above step S2102 to determine that the first MAC subPDU is MAC subPDU6.
[0613] After executing step S2103, since the size of MAC subPDU6 is less than the remaining size of the second CB, step S2104a is executed to determine MAC subPDU6 as the MAC subPDU in the second CB. Then, the process returns to step S2101 to enter the third round of determination.
[0614] After the second round of determination is completed, the remaining size of the second CB is: the size of the data part of the second CB - the size of MAC subPDU5 - the size of MAC subPDU6.
[0615] Third round of determination process:
[0616] Perform the above step S2101 to determine that there exists a complete MAC subPDU that does not belong to the first c-1 CBs and the Cth CB.
[0617] Perform the above step S2102 to determine that the first MAC subPDU is MAC subPDU7.
[0618] After executing step S2103, since the size of MAC subPDU7 is less than the remaining size of the second CB, step S2104a is executed to determine MAC subPDU7 as the MAC subPDU in the second CB. Then, the process returns to step S2101 to enter the fourth round of determination.
[0619] After the third round of determination is completed, the remaining size of the second CB is: the size of the data part of the second CB - the size of MAC subPDU5 - the size of MAC subPDU6 - the size of MAC subPDU7.
[0620] Fourth round of determination process:
[0621] Perform the above step S2101 to determine that there exists a complete MAC subPDU that does not belong to the first c-1 CBs and the Cth CB.
[0622] Perform the above step S2102 to determine that the first MAC subPDU is MAC subPDU8.
[0623] After executing step S2103, since the size of MAC subPDU8 is greater than the remaining size of the second CB, step S2104b is executed to determine whether a second MAC subPDU exists.
[0624] In step S2104b, the first communication device traverses other MAC subPDUs and determines that there is no second MAC subPDU. Therefore, it executes step S2105b to determine that the third MAC subPDU is the remaining part of MAC subPDU3, thereby determining the remaining bits in MAC subPDU3 as the bits in the second CB. Since the total size of all bits in the third MAC subPDU is equal to the remaining size of the second CB, all bits in the third MAC subPDU can fill the data portion of the second CB.
[0625] After the fourth round of determination, all data bits in the second CB can be determined. Therefore, the data bits of the third CB when c=3 are determined. The determination process for the data bits in subsequent CBs is similar, and can be referred to the determination process of the first and second CBs, which will not be repeated here.
[0626] Based on the above scheme, a complete MAC subPDU in a CB can be located before an incomplete MAC subPDU. Some or all of the C CBs can correspond to headers. The header corresponding to a certain CB can carry information to indicate the position of the incomplete MAC subPDU in that CB. This allows the receiver to determine the structure of the MAC subPDU corresponding to the CB based on the header indication, such as determining the start position of the incomplete MAC subPDU and / or the end position of the complete MAC subPDU in the CB. Thus, the CB can be decoded without relying on the successful reception of the preceding CBs. For example, the decoding of the CB can start from the start position of the data part of the CB and end at the start position of the incomplete MAC subPDU. This allows the receiver to process the data in the successfully received CBs in a timely manner, avoiding the problem that the entire TB or all subsequent CBs cannot be processed (or are all stuck) due to a CB error. This reduces service latency and allows data to arrive within the service latency requirements as much as possible, thereby improving the communication quality of the service or increasing system capacity. Furthermore, promptly submitting successfully received CBs to the MAC layer for processing reduces the number of CBs that cannot be submitted to the MAC layer, thereby reducing storage requirements (i.e., reducing the need for increased memory, e.g., eliminating the need for large on-chip memory), which can save costs. It can also reduce DDR bandwidth requirements (e.g., eliminating the need for large DDR bandwidth), while also reducing device power consumption caused by DDR erasure and writing. This also helps in meeting the challenges of future services requiring lower latency and / or higher data rates.
[0627] The technical solutions of the embodiments of this application will be described below with reference to the accompanying drawings. In the description of the embodiments of this application, unless otherwise stated, " / " means "or," for example, A / B can mean A or B; "and / or" in this text is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A existing alone, A and B existing simultaneously, and B existing alone. Furthermore, in the description of the embodiments of this application, "multiple" refers to two or more than two.
[0628] Hereinafter, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of technical features indicated. Thus, a feature defined as "first" or "second" may explicitly or implicitly include one or more of that feature. In the description of this embodiment, unless otherwise stated, "a plurality of" means two or more.
[0629] Furthermore, the terms “comprising” and “having”, and any variations thereof, are intended to cover non-exclusive inclusion. For example, a process, method, system, product, or apparatus that includes a series of steps or units is not limited to the steps or units listed, but may optionally include steps or units not listed, or may optionally include other steps or units inherent to such process, method, product, or apparatus.
[0630] In the embodiments of this application, the terms "exemplary" or "for example" are used to indicate that something is an example, illustration, or description. Any embodiment or design that is described as "exemplary" or "for example" in the embodiments of this application should not be construed as being more preferred or advantageous than other embodiments or design. Specifically, the use of terms such as "exemplary" or "for example" is intended to present the relevant concepts in a specific manner to facilitate understanding.
[0631] It should be understood that in this application, "at least one (item)" means one or more. "More than one" means two or more. "At least two (items)" means two or three or more. "And / or" is used to describe the relationship between related objects, indicating that there can be three relationships. For example, "A and / or B" can mean: only A exists, only B exists, and A and B exist simultaneously, where A and B can be singular or plural. The character " / " generally indicates that the related objects before and after are in an "or" relationship. "At least one (item) of the following" or similar expressions refer to any combination of these items, including any combination of single or plural items. For example, at least one (item) of a, b, or c can mean: a, b, c, "a and b", "a and c", "b and c", or "a and b and c", where a, b, and c can be single or multiple. Both "...when" and "if" indicate that a corresponding action will be taken under certain objective circumstances. They are not time limits, nor do they require a judgment action to be taken when the action is taken, nor do they imply any other limitations.
[0632] In this application, "instruction" may include: direct instruction, or indirect instruction, or explicit instruction, or implicit instruction.
[0633] In this application, "including" can include: direct inclusion, indirect inclusion, explicit inclusion, or implicit inclusion.
[0634] It should be understood that existing technologies may change as technical solutions evolve, and the technical solutions provided in this application are not limited to the existing technologies provided.
[0635] It should be noted that different embodiments or some steps (e.g., any one or more steps) in different embodiments of this application can be combined with each other to form new embodiments. It should also be noted that the scope of this application is not limited to including optional steps in a certain embodiment, mandatory steps in a certain embodiment, or both optional and mandatory steps in a certain embodiment.
[0636] It should be noted that, unless otherwise specified or in case of logical conflict, the terminology and / or descriptions between different embodiments are consistent and can be referenced in each other.
[0637] It should be noted that the order of the steps in the embodiments of this application is not limited by this application.
[0638] It should be noted that the order in which different conditions are judged in the embodiments of this application is not limited by this application.
[0639] It should be noted that the terms "after" and "time" in this application do not strictly limit the specific point in time.
[0640] It should be noted that the nouns and terms used in this application are merely examples and may be other names, which are not limited in this application.
[0641] Referring to Figure 23 below, which is a schematic diagram of another interaction process between the sending end and the receiving end provided in an embodiment of this application, the data processing method provided in this embodiment of the application mainly includes the following steps:
[0642] 2301. Determine the size of the first code block CB or the size of the first code block group CBG.
[0643] Step 2301 can be referred to the description of step S1401 above.
[0644] 2302. Determine a first data set based on the size of the first CB or the size of the first CBG; wherein the first data set includes at least one complete MAC subPDU and / or at least one incomplete MAC subPDU; if the first data set includes at least one complete MAC subPDU and at least one incomplete MAC subPDU, in the first data set, at least one complete MAC subPDU is located before at least one incomplete MAC subPDU.
[0645] In this embodiment, the sending end can determine the first data set according to the size of the first CB or the size of the first CBG. The first data set may contain only complete MAC subPDUs, only incomplete MAC subPDUs, or both complete and incomplete MAC subPDUs. When the first data set contains both complete and incomplete MAC subPDUs, the complete MAC subPDUs must be placed after the incomplete MAC subPDUs. That is, when determining the first data set, the sending end prioritizes placing the complete MAC subPDUs at the beginning of the first data set and the incomplete MAC subPDUs at the end. Therefore, for the first data set that contains both complete and incomplete MAC subPDUs, the complete MAC subPDUs are placed before the incomplete MAC subPDUs. When the receiving end performs decoding, it can prioritize decoding the complete MAC subPDUs. Thus, even if the decoding of the previous received CB or CBG fails, since the data set is filled with complete MAC subPDUs, the receiving end can still decode the first part of the currently received first CB or first CBG, including the complete MAC subPDUs, ensuring decoding efficiency.
[0646] In step 2302, the first data set is determined based on the size of the first CB or the size of the first CBG, which may specifically include the following steps 2302-1 and 2302-2:
[0647] 2302-1. Based on the size of the first TB, perform logical channel priority (LCP) to obtain a set of data to be processed, which includes at least one MAC subPDU.
[0648] Unlike step S1402 provided in the previous embodiment, in this embodiment, the size of the first TB is used as the granularity of LCP, and the data set to be processed is obtained first.
[0649] 2302-2. Determine the first data set based on the data set to be processed, the size of the first CB, or the size of the first CBG.
[0650] Next, the data set to be processed is reconstructed based on the size of the first CB or the first CBG. Specifically, the positions of the MAC subPDUs in the data set to be processed are adjusted according to the size of the first CB or the first CBG. The principle is to place complete MAC subPDUs in front of the CB or CBG as much as possible, and place incomplete MAC subPDUs after the CB or CBG.
[0651] Referring to Figure 24, a schematic diagram of a MAC subPDU position adjustment approach is shown. The data set to be processed, i.e., the MAC PDU, contains multiple MAC subPDUs. MAC subPDU0 and MAC subPDU1 are placed in CB0. If the remaining size of CB0 is insufficient to accommodate any complete MAC subPDU in the MAC PDU that is not yet placed in any CB, MAC subPDU2 is divided according to the remaining size of CB0, and a portion of the divided MAC subPDU2 is placed in CB0. Thus, the MAC subPDU position adjustment based on the size of CB0 is completed. Next, MAC subPDU3 and subsequent complete MAC subPDUs are placed in CB1. If the remaining size of CB1 is insufficient to accommodate any complete MAC subPDU in the MAC PDU that is not yet placed in any CB, the remaining size of CB1 is compared with the remaining MAC subPDU2 that was just divided. If the remaining size of MAC subPDU2 is less than or equal to the remaining size of CB1, the remaining MAC subPDU2 is placed in CB1. If the remaining size of MAC subPDU2 is greater than or equal to the remaining size of CB1, the remaining MAC subPDUs are further divided according to the remaining size of CB1. SubPDU2 is segmented to fill CB1. Therefore, the approach to adjusting the position of MAC subPDUs in this embodiment is to prioritize placing complete MAC subPDUs before CB or CBG, and place incomplete MAC subPDUs after CB or CBG.
[0652] Specifically, step 2302-2 includes:
[0653] If a first MAC subPDU exists in the data set to be processed, compare the remaining size of the first data set with the size of the first MAC subPDU. The first MAC subPDU is a complete MAC subPDU that is not associated with C CBs or N CBGs.
[0654] If the first MAC subPDU does not exist in the data set to be processed, but the second MAC subPDU exists in the data set to be processed, the first data set is determined to include the first data unit; wherein, the second MAC subPDU is an incomplete MAC subPDU that is not associated with C CBs or N CBGs; the first data unit is determined based on the second MAC subPDU, and the size of the first data unit is less than or equal to the remaining size of the first data set.
[0655] In this embodiment, each MAC subPDU in the data set to be processed is traversed. If there is a complete first MAC subPDU that is not associated with C CBs or N CBGs, it is compared with the remaining size of the first data set. If there is no complete MAC subPDU that is not associated with C CBs or N CBGs, and there is an incomplete MAC subPDU that is not associated with C CBs or N CBGs in the data set to be processed, then a first data unit is determined based on the incomplete MAC subPDU, and the first data unit is placed in the first data set. The size of the first data unit is less than or equal to the remaining size of the first data set.
[0656] Furthermore, after comparing the remaining size of the first data set with the size of the first MAC subPDU, the method further includes:
[0657] If the size of the first MAC subPDU is less than or equal to the remaining size of the first data set, it is determined that the first data set includes the first MAC subPDU;
[0658] If the size of the first MAC subPDU is greater than the remaining size of the first data set, and there is a third MAC subPDU in the data set to be processed, compare the remaining size of the first data set with the size of the third MAC subPDU. The third MAC subPDU is a complete MAC subPDU that is not associated with C CBs or N CBGs.
[0659] If the size of the first MAC subPDU is greater than the remaining size of the first data set, and there is no third MAC subPDU in the data set to be processed, and there is a fourth MAC subPDU in the data set to be processed, then the first data set is determined to include the second data unit; wherein, the fourth MAC subPDU is an incomplete MAC subPDU that is not associated with C CBs or N CBGs, the second data unit is determined based on the fourth MAC subPDU, and the size of the second data unit is less than or equal to the remaining size of the first data set;
[0660] If the size of the first MAC subPDU is greater than the remaining size of the first data set, and there is no third MAC subPDU or fourth MAC subPDU in the data set to be processed; then the first data set is determined to include a third data unit; wherein the third data unit is determined based on the first MAC subPDU, and the size of the third data unit is equal to the remaining size of the first data set.
[0661] In this embodiment of the application, after comparing the remaining size of the first data set with the size of the first MAC subPDU, if the remaining size of the first data set is greater than or equal to the complete MAC subPDU, it means that the remaining space of the first data set is sufficient to place the first MAC subPDU, and the complete MAC subPDU is placed in the first data set.
[0662] If the size of the first MAC subPDU is greater than the remaining size of the first data set, and there is a complete third MAC subPDU in the data set to be processed that is not associated with C CBs or N CBGs, the remaining size of the first data set and the size of the third MAC subPDU are further compared, and the judgment is repeated until there is no longer a complete MAC subPDU in the data set to be processed that is not associated with C CBs or N CBGs.
[0663] If the size of the first MAC subPDU is less than the remaining size of the first data set, and there is no third MAC subPDU in the data set to be processed, it is necessary to determine whether there is an incomplete fourth MAC subPDU in the data set to be processed that is not associated with C CBs or N CBGs. If it exists, a second data unit is determined based on the fourth MAC subPDU and placed in the first data set, with the size of the second data unit being less than or equal to the remaining size of the first data set. If it does not exist, a third data unit is determined based on the first MAC subPDU and placed in the first data set, with the size of the third data unit being equal to the remaining size of the first data set.
[0664] In this embodiment, by adjusting the placement of MAC subPDUs in the data set to be processed, the corresponding MAC subPDU resources are determined from the data set to be processed based on the size of the first CB or first CBG, thereby obtaining a first data set. In this first data set, it is ensured that the MAC subPDUs at the beginning of the first data set are as complete as possible. When the receiving end performs decoding, it can prioritize decoding complete MAC subPDUs. Thus, even if the decoding of the previously received CB or CBG fails, since the data set is filled with complete MAC subPDUs at the beginning, the receiving end can decode the data including complete MAC subPDUs in the beginning of the currently received first CB or first CBG, ensuring decoding efficiency.
[0665] 2303. Determine the first indication information and / or the second indication information based on the first data set.
[0666] The first indication information is used to indicate the location of the complete MAC subPDU or the location of the incomplete MAC subPDU in the first CB, or to indicate the location of the complete MAC subPDU or the location of the incomplete MAC subPDU in the first CBG; the second indication information is used to indicate whether the first CB contains or does not contain an incomplete MAC subPDU, or to indicate whether the first indication information exists or does not exist, or to indicate whether the bits of the first indication information are valid or invalid.
[0667] In this embodiment of the application, after determining the first data set, the sending end determines the first indication information and / or the second indication information based on the first data set. These indication information are used to indicate the integrity information of the MAC subPDU in the CB or CBG received by the receiving end, so that the receiving end can perform data decoding based on these indication information.
[0668] Optionally, the first indication information is specifically used to: indicate the end position or length information of a complete MAC subPDU in the first CB, and / or the start position or length information of an incomplete MAC subPDU; or, indicate the end position or length information of a complete MAC subPDU in the first CBG, and / or the start position or length information of an incomplete MAC subPDU.
[0669] In this embodiment of the application, the first indication information is used to indicate the position of the complete MAC subPDU or the position of the incomplete MAC subPDU in the first CB, or to indicate the position of the complete MAC subPDU or the position of the incomplete MAC subPDU in the first CBG. Specifically, it is used to indicate the end position or length information of the complete MAC subPDU, and / or the start position or length information of the incomplete MAC subPDU. Based on the first indication information, the receiving end can determine the start and end position information of the complete MAC subPDU and / or the start and end position information of the incomplete MAC subPDU in the CB or CBG.
[0670] Optionally, the second indication information is used to indicate whether the first CB contains or does not contain an incomplete MAC subPDU, including: the second indication information is used to indicate that the first CB contains only a complete MAC subPDU, or only an incomplete MAC subPDU, or contains both a complete MAC subPDU and an incomplete MAC subPDU;
[0671] The second indication information is used to indicate whether the first CBG contains or does not contain incomplete MAC subPDUs, including: the second indication information is used to indicate that the first CBG contains only complete MAC subPDUs, or only incomplete MAC subPDUs, or contains both complete MAC subPDUs and incomplete MAC subPDUs.
[0672] In this embodiment of the application, the second indication information is used to indicate whether the first CB or the first CBG contains or does not contain an incomplete MAC subPDU. Specifically, it is used to indicate that it contains only a complete MAC subPDU, or only an incomplete MAC subPDU, or contains both a complete MAC subPDU and an incomplete MAC subPDU.
[0673] It should be noted that, in the embodiments of this application, those skilled in the art can set the first indication information and the second indication information according to the specific circumstances. For example, the second indication information is set to "0000" to indicate that the first CB or the first CBG contains only an incomplete MAC subPDU; the special value "2" is set to indicate that the first CB or the first CBG contains only a complete MAC subPDU. The embodiments of this application do not limit the specific content of the first indication information and the second indication information.
[0674] Optionally, embodiments of this application further include: sending a first TB, wherein the first TB includes a first data set, or, the first TB includes a first data set and first indication information, or, the first TB includes a first data set and second indication information, or, the first TB includes a first data set, first indication information and second indication information.
[0675] In this embodiment of the application, when the sending end transmits the first TB, the first TB includes at least a first data set, and the first TB may also include first indication information and / or second indication information. The receiving end performs data decoding based on the first data set and the indication information.
[0676] Optionally, the first indication information is contained in the first CB or the first CBG or the downlink control information DCI, and the second indication information is contained in the first CB or the first CBG or the downlink control information DCI.
[0677] In this embodiment of the application, the first indication information and the second indication information may be included in the header field of the first CB or the first CBG, or may be indicated by downlink control information (DCI).
[0678] 2304. Receive the first code block CB or the first code block group CBG.
[0679] In this embodiment of the application, the receiving end is used to execute the data processing flow shown in step 504. The sending end sends a first TB, which includes C CBs or N CBGs. After receiving the first CB or the first CBG, the receiving end performs subsequent steps.
[0680] 2305. Obtain the first instruction information and / or the second instruction information.
[0681] The first indication information is used to indicate the location of a complete MAC subPDU or an incomplete MAC subPDU in the first CB, or to indicate the location of a complete MAC subPDU or an incomplete MAC subPDU in the first CBG; the second indication information is used to indicate whether the first CB contains or does not contain an incomplete MAC subPDU, or to indicate whether the first CBG contains or does not contain an incomplete MAC subPDU, or to indicate whether the first indication information exists or does not exist, or to indicate whether the bits of the first indication information are valid or invalid.
[0682] In this embodiment of the application, the receiving end can obtain first indication information and / or second indication information based on the first CB or the first CBG or downlink control information DCI. The first indication information can indicate the location of complete or incomplete MAC subPDU in the first CB or the first CBG, and the second indication information can indicate whether the first CB or the first CBG contains or does not contain incomplete MAC subPDU, or indicate the existence or validity of the first indication information.
[0683] Optionally, the first indication information is specifically used to: indicate the end position or length information of a complete MAC subPDU in the first CB, and / or the start position or length information of an incomplete MAC subPDU; or, indicate the end position or length information of a complete MAC subPDU in the first CBG, and / or the start position or length information of an incomplete MAC subPDU.
[0684] In this embodiment of the application, the first indication information is used to indicate the position of the complete MAC subPDU or the position of the incomplete MAC subPDU in the first CB, or to indicate the position of the complete MAC subPDU or the position of the incomplete MAC subPDU in the first CBG. Specifically, it is used to indicate the end position or length information of the complete MAC subPDU, and / or the start position or length information of the incomplete MAC subPDU. Based on the first indication information, the receiving end can determine the start and end position information of the complete MAC subPDU and / or the start and end position information of the incomplete MAC subPDU in the CB or CBG.
[0685] Optionally, the second indication information is used to indicate whether the first CB contains or does not contain an incomplete MAC subPDU, including: the second indication information is used to indicate that the first CB contains only a complete MAC subPDU, or only an incomplete MAC subPDU, or contains both a complete MAC subPDU and an incomplete MAC subPDU;
[0686] The second indication information is used to indicate whether the first CBG contains or does not contain incomplete MAC subPDUs, including: the second indication information is used to indicate that the first CBG contains only complete MAC subPDUs, or only incomplete MAC subPDUs, or contains both complete MAC subPDUs and incomplete MAC subPDUs.
[0687] In this embodiment of the application, the second indication information is used to indicate whether the first CB or the first CBG contains or does not contain an incomplete MAC subPDU. Specifically, it is used to indicate that it contains only a complete MAC subPDU, or only an incomplete MAC subPDU, or contains both a complete MAC subPDU and an incomplete MAC subPDU.
[0688] 2306. Based on the first indication information and / or the second indication information, perform data decoding on the first CB or the first CBG.
[0689] In this embodiment, after determining the first indication information and / or the second indication information, the receiving end performs data decoding on the first CB or the first CBG based on the integrity information of the MAC subPDU data structure indicated by the indication information. Therefore, when the first CB or the first CBG includes a complete MAC subPDU, the receiving end can directly perform data decoding on the bit data corresponding to the complete MAC subPDU in the first CB or the first CBG based on the indication information, without being affected by the decoding status of the previously received CB or CBG, thus improving decoding efficiency.
[0690] In some possible implementations of some embodiments of this application, step 2306 specifically includes the following steps 2306-1 and 2306-2:
[0691] 2306-1. Based on the first indication information, determine the bits corresponding to the complete MAC subPDU in the first CB or the first CBG, and / or determine the bits corresponding to the incomplete MAC subPDU in the first CB or the first CBG.
[0692] When the receiving end receives the first indication information, since the first indication information can indicate the position of the complete MAC subPDU or the position of the incomplete MAC subPDU in the first CB or the first CBG, the receiving end can determine the bits corresponding to the complete MAC subPDU and the bits corresponding to the incomplete MAC subPDU in the first CB or the first CBG based on the first indication information.
[0693] 2306-2. Perform data decoding on the bits corresponding to the complete MAC subPDU in the first CB or the first CBG.
[0694] In this embodiment, since the bits corresponding to the complete MAC subPDU in the first CB or first CBG can be determined, the receiving end can directly perform data decoding on the bits corresponding to the complete MAC subPDU. It should be noted that the bits corresponding to incomplete MAC subPDUs in the first CB or first CBG cannot be decoded temporarily. Decoding is only possible after receiving incomplete MAC subPDUs corresponding to the incomplete MAC subPDUs in other CBs or CBGs, concatenating them to restore the complete MAC subPDU, and then performing data decoding. Therefore, after receiving the first CB or first CBG, the receiving end can perform data decoding on at least the bits corresponding to the complete MAC subPDUs in the first CB or first CBG based on the first indication information. This decoding operation does not depend on the decoding status of the previously received CBs or CBGs, thus improving the decoding efficiency of the receiving end.
[0695] In some possible implementations of some embodiments of this application, step 2306 specifically includes the following steps 2306-3 and 2306-4:
[0696] 2306-3. If the second indication information indicates that the first CB contains only a complete MAC subPDU, or indicates that the first CBG contains only a complete MAC subPDU, or indicates that the first indication information does not exist, or indicates that the bits of the first indication information are invalid, determine the bits corresponding to the complete MAC subPDU in the first CB or the first CBG.
[0697] 2306-4. Perform data decoding on the first CB or the first CBG.
[0698] In this embodiment, when the receiving end receives the second indication information, and the second indication information indicates that the first CB or first CBG contains only complete MAC subPDUs, or indicates that the first indication information is absent or invalid, it can be determined that all MAC subPDUs in the first CB or first CBG are complete. That is, the receiving end can determine the bits corresponding to the complete MAC subPDUs in the first CB or first CBG, and perform data decoding on the bits corresponding to these complete MAC subPDUs to achieve data decoding of the first CB or first CBG. Therefore, when it can be determined based on the second indication information that all MAC subPDUs in the first CB or first CBG are complete MAC subPDUs, the receiving end directly performs data decoding on the first CB or first CBG after receiving it. The decoding of the first CB or first CBG does not depend on the decoding status of the previously received CB or CBG, thus improving the decoding efficiency of the receiving end.
[0699] In some possible implementations of some embodiments of this application, step 2306 specifically includes the following steps 2306-5 and 2306-6:
[0700] 2306-5. If the second indication information indicates that the first CB contains a complete MAC subPDU and an incomplete MAC subPDU, or indicates that the first CBG contains a complete MAC subPDU and an incomplete MAC subPDU, or indicates that the first indication information exists, or indicates that the bits of the first indication information are valid, based on the first indication information, determine the bits corresponding to the complete MAC subPDU and the bits corresponding to the incomplete MAC subPDU in the first CB or the first CBG.
[0701] When the receiving end receives the first indication information and the second indication information, and the second indication information indicates that the first CB or the first CBG contains both complete MAC subPDUs and incomplete MAC subPDUs, or indicates that the first indication information exists or is valid, it can be determined that the MAC subPDUs in the first CB or the first CBG contain both complete MAC subPDUs and incomplete MAC subPDUs. At this time, the receiving end needs to combine the positions of the complete MAC subPDUs or incomplete MAC subPDUs in the first CB or the first CBG indicated by the first indication information to determine the bits corresponding to the complete MAC subPDUs and the bits corresponding to the incomplete MAC subPDUs in the first CB or the first CBG.
[0702] 2306-6. Perform data decoding on the bits corresponding to the complete MAC subPDU in the first CB or the first CBG.
[0703] Specifically, since the receiving end can determine the bits corresponding to the complete MAC subPDU in the first CB or first CBG, it can directly perform data decoding on the bits corresponding to the complete MAC subPDU. It should be noted that the bits corresponding to incomplete MAC subPDUs in the first CB or first CBG cannot be decoded immediately. Decoding requires waiting for the receiving end to receive incomplete MAC subPDUs corresponding to the incomplete MAC subPDUs in other CBs or CBGs, then concatenating them to restore the complete MAC subPDU before data decoding. Therefore, after receiving the first CB or first CBG, the receiving end can perform data decoding on at least the bits corresponding to the complete MAC subPDUs in the first CB or first CBG based on the first indication information. This decoding operation does not depend on the decoding status of previously received CBs or CBGs, improving the decoding efficiency of the receiving end.
[0704] In some possible implementations of some embodiments of this application, step 2306 specifically includes the following steps 2306-7 and 2306-9:
[0705] 2306-7. If the second indication information indicates that the first CB contains only an incomplete MAC subPDU, or indicates that the first CBG contains only an incomplete MAC subPDU, or indicates that the first indication information does not exist, or indicates that the bits of the first indication information are invalid, determine the bits corresponding to the incomplete MAC subPDU in the first CB or the first CBG.
[0706] When the receiving end obtains the second indication information, which indicates that the first CB or the first CBG contains only an incomplete MAC subPDU, or indicates that the first indication information is absent or invalid, it can be determined that the MAC subPDU in the first CB or the first CBG contains only an incomplete MAC subPDU; at this time, the receiving end can determine the bits corresponding to the incomplete MAC subPDU in the first CB or the first CBG.
[0707] 2306-8. Perform data decoding based on the bits corresponding to the incomplete MAC subPDU in the first CB and the bits corresponding to the incomplete MAC subPDU in at least one CB; wherein at least one CB is a CB before and / or after the first CB; or, perform data decoding based on the bits corresponding to the incomplete MAC subPDU in the first CBG and the bits corresponding to the incomplete MAC subPDU in at least one CBG; wherein at least one CBG is a CBG before and / or after the first CBG.
[0708] In this embodiment, since the first CB or first CBG received by the receiving end only contains incomplete MAC subPDUs, the receiving end cannot directly perform data decoding on the first CB or first CBG. The terminal also needs to combine the incomplete MAC subPDUs in the CB or CBG received before or after receiving the first CB or first CBG, and concatenate the incomplete MAC subPDUs in the first CB or first CBG with the MAC subPDUs contained in other CBs or CBGs to restore a complete MAC subPDU before performing data decoding. Therefore, in this embodiment, the receiving end cannot perform data decoding only when the first CB or first CBG contains only incomplete MAC subPDUs. The sending end, when determining the CB or CBG, tries to place complete MAC subPDUs. Therefore, most of the content of the CB or CBG can be directly decoded without depending on the decoding status of the previously received CB or CBG. Only a small portion of the incomplete MAC subPDUs needs to be combined with other CBs or CBGs for decoding. From the perspective of the overall decoding work of the receiving end, the decoding efficiency of the receiving end is greatly improved.
[0709] To facilitate the implementation of the above-described solutions in the embodiments of this application, related apparatus for implementing the above-described solutions is also provided below.
[0710] Please refer to Figure 25. An embodiment of this application provides a data processing apparatus 2500, which may include: a resource determination module 2501 and a resource allocation module 2502, wherein...
[0711] The resource determination module is used to determine the size of the first code block CB; wherein the first CB is one of C CBs, and the C CBs are associated with the first TB, where C is a positive integer;
[0712] The resource allocation module is used to perform logical channel priority (LCP) based on the size of the first CB.
[0713] In some embodiments of this application, the resource allocation module is specifically used to: perform LCP based on the size of the data portion of the first CB; wherein the size of the data portion of the first CB is determined based on the size of the first CB and the size of the cyclic redundancy check (CRC) code corresponding to the first CB.
[0714] In some embodiments of this application, the resource determination module is further configured to determine the first TB based on a first data set; wherein the first data set is determined by performing LCP based on the size of the first CB; the data processing device further includes: a resource sending module, configured to send the first TB.
[0715] In some embodiments of this application, the first data set includes a complete Media Access Control (MAC) subprotocol data unit (subPDU).
[0716] In some embodiments of this application, the resource determination module is further configured to determine the size of the second CB; wherein the second CB is one of the C CBs; the resource allocation module is further configured to perform LCP based on the size of the second CB after performing LCP based on the size of the first CB; and to perform LCP based on the size of the second CB after performing LCP based on the size of the first CB.
[0717] In some embodiments of this application, the second CB is located after the first CB among the C CBs.
[0718] In some embodiments of this application, the resource determination module is further configured to determine the first TB based on a first data set and a second data set; wherein the first data set is determined by performing LCP based on the size of the first CB, and the second data set is determined by performing LCP based on the size of the second CB; the resource sending module is configured to send the first TB.
[0719] In some embodiments of this application, the second data set is located after the first data set in the first TB.
[0720] In some embodiments of this application, the first data set includes one or more MAC subPDUs; wherein at least one of the one or more MAC subPDUs includes a MAC control element CE, and at least one of the one or more MAC subPDUs is less than or equal to a first size, the first size being associated with the minimum or maximum value of CB.
[0721] In some embodiments of this application, the first data set includes: a first MAC subPDU and a second MAC subPDU, wherein the second MAC subPDU is located before the first MAC subPDU in the first data set, or the second MAC subPDU is located after the first MAC subPDU in the first data set; wherein the resource allocation order of the first MAC subPDU is prior to the resource allocation order of the second MAC subPDU.
[0722] Please refer to Figure 26. An embodiment of this application provides a data processing apparatus 2600, which may include: a resource receiving module 2601 and a data decoding module 2602, wherein...
[0723] The resource receiving module is used to receive the first code block CB;
[0724] A data decoding module is used to perform data decoding on the first CB; wherein the first CB is one of C CBs, the C CBs are associated with a first transport block TB, C is a positive integer, the first CB corresponds to a first data set, and the first data set is determined by performing logical channel priority (LCP) based on the size of the first CB.
[0725] In some embodiments of this application, the first data set includes the complete MAC subPDU.
[0726] In some embodiments of this application, the resource receiving module is further configured to receive the second CB;
[0727] The data decoding module is further configured to perform data decoding on the second CB; wherein the second CB is one of C CBs, the second CB corresponds to a second data set, and the second data set is determined by performing LCP based on the size of the second CB.
[0728] In some embodiments of this application, the second CB is located after the first CB among the C CBs.
[0729] Please refer to Figure 27. An embodiment of this application provides a data processing apparatus 2700, which may include: a resource determination module 2701 and a data set determination module 2702, wherein...
[0730] The resource determination module is used to determine the size of the first code block CB; wherein the first CB is one of C CBs, the C CBs are associated with the first TB, and C is a positive integer;
[0731] The data set determination module is further configured to determine a first data set based on the size of the first CB; wherein the first data set includes at least one complete Media Access Control (MAC) sub-protocol data unit (subPDU) and / or at least one incomplete MAC subPDU; if the first data set includes at least one complete MAC subPDU and at least one incomplete MAC subPDU, in the first data set, the at least one complete MAC subPDU is located before the at least one incomplete MAC subPDU.
[0732] In some embodiments of this application, the data set determination module is specifically used for: performing Logical Channel Priority (LCP) based on the size of the first TB to obtain a data set to be processed, the data set to be processed including at least one MAC subPDU; and determining the first data set based on the data set to be processed and the size of the first CB.
[0733] In some embodiments of this application, the data processing apparatus further includes: an indication information determination module, configured to determine first indication information and / or second indication information based on the first data set; wherein the first indication information is used to indicate the location of a complete MAC subPDU or an incomplete MAC subPDU of the first CB; the second indication information is used to indicate whether the first CB contains or does not contain an incomplete MAC subPDU, or to indicate whether the first indication information exists or does not exist, or to indicate whether the bits of the first indication information are valid or invalid.
[0734] In some embodiments of this application, the first indication information is specifically used to: indicate the end position or length information of a complete MAC subPDU in the first CB, and / or the start position or length information of an incomplete MAC subPDU.
[0735] In some embodiments of this application, the second indication information is used to indicate whether the first CB contains or does not contain an incomplete MAC subPDU, including: the second indication information is used to indicate that the first CB contains only a complete MAC subPDU, or only an incomplete MAC subPDU, or contains both a complete MAC subPDU and an incomplete MAC subPDU.
[0736] In some embodiments of this application, the apparatus further includes: a resource sending module, configured to send the first TB, wherein the first TB includes the first data set, or the first TB includes the first data set and the first indication information, or the first TB includes the first data set and the second indication information, or the first TB includes the first data set, the first indication information and the second indication information.
[0737] In some embodiments of this application, the first indication information is included in the first CB or downlink control information DCI, and the second indication information is included in the first CB or downlink control information DCI.
[0738] Please refer to Figure 28. An embodiment of this application provides a data processing device 2800, which may include: a resource receiving module 2801, an information determining module 2802, and a data decoding module 2803.
[0739] The resource receiving module is used to receive the first code block CB or the first code block group CBG;
[0740] The information determination module is used to acquire first indication information and / or second indication information. The first indication information is used to indicate the location of a complete MAC subPDU or an incomplete MAC subPDU in the first CB, or to indicate the location of a complete MAC subPDU or an incomplete MAC subPDU in the first CBG. The second indication information is used to indicate whether the first CB contains or does not contain an incomplete MAC subPDU, or to indicate whether the first CBG contains or does not contain an incomplete MAC subPDU, or to indicate whether the first indication information exists or does not exist, or to indicate whether the bits of the first indication information are valid or invalid.
[0741] The data decoding module is used to perform data decoding on the first CB or the first CBG based on the first indication information and / or the second indication information; wherein the first CB is one of C CBs, the first CBG is one of M N CBGs, the C CBs are associated with the first transport block TB, the M N CBGs are associated with the first TB, N is a positive integer, and M is a positive integer.
[0742] In some embodiments of this application, the first indication information is specifically used to indicate the end position or length information of a complete MAC subPDU in the first CB, and / or the start position or length information of an incomplete MAC subPDU; or, to indicate the end position or length information of a complete MAC subPDU in the first CBG, and / or the start position or length information of an incomplete MAC subPDU.
[0743] In some embodiments of this application, the second indication information is used to indicate whether the first CB contains or does not contain an incomplete MAC subPDU, including: the second indication information is used to indicate that the first CB contains only a complete MAC subPDU, or only an incomplete MAC subPDU, or contains both a complete MAC subPDU and an incomplete MAC subPDU; the second indication information is used to indicate whether the first CBG contains or does not contain an incomplete MAC subPDU, including: the second indication information is used to indicate that the first CBG contains only a complete MAC subPDU, or only an incomplete MAC subPDU, or contains both a complete MAC subPDU and an incomplete MAC subPDU.
[0744] In some embodiments of this application, the data decoding module is specifically used to determine, based on the first indication information, the bits corresponding to the complete MAC subPDU in the first CB or the first CBG, and / or to determine the bits corresponding to the incomplete MAC subPDU in the first CB or the first CBG; and to perform data decoding on the bits corresponding to the complete MAC subPDU in the first CB or the first CBG.
[0745] In some embodiments of this application, the data decoding module is specifically configured to: if the second indication information indicates that the first CB contains only a complete MAC subPDU, or indicates that the first CBG contains only a complete MAC subPDU, or indicates that the first indication information does not exist, or indicates that the bits of the first indication information are invalid, determine the bits corresponding to the complete MAC subPDU in the first CB or the first CBG; and perform data decoding on the first CB or the first CBG.
[0746] If the second indication information indicates that the first CB contains both complete and incomplete MAC subPDUs, or indicates that the first CBG contains both complete and incomplete MAC subPDUs, or indicates that the first indication information exists, or indicates that the bits of the first indication information are valid, based on the first indication information, determine the bits corresponding to the complete MAC subPDUs and the bits corresponding to the incomplete MAC subPDUs in the first CB or the first CBG; perform data decoding on the bits corresponding to the complete MAC subPDUs in the first CB or the first CBG.
[0747] In some embodiments of this application, the data decoding module is specifically configured to: if the second indication information indicates that the first CB contains only incomplete MAC subPDUs, or indicates that the first CBG contains only incomplete MAC subPDUs, or indicates that the first indication information does not exist, or indicates that the bits of the first indication information are invalid, determine the bits corresponding to the incomplete MAC subPDUs in the first CB or the first CBG; perform data decoding based on the bits corresponding to the incomplete MAC subPDUs in the first CB and the bits corresponding to the incomplete MAC subPDUs in at least one CB; wherein the at least one CB is a CB before and / or after the first CB; or, perform data decoding based on the bits corresponding to the incomplete MAC subPDUs in the first CBG and the bits corresponding to the incomplete MAC subPDUs in at least one CBG; wherein the at least one CBG is a CBG before and / or after the first CBG.
[0748] The information interaction and execution process between the modules / units of the above-mentioned device are based on the same concept as the method embodiments of this application, and the resulting technical effects are the same as those of the method embodiments of this application. For details, please refer to the description in the method embodiments shown above in this application, and will not be repeated here.
[0749] This application also provides a computer storage medium, wherein the computer storage medium stores a program, and the program executes some or all of the steps described in the above method embodiments.
[0750] Next, we will introduce another data processing device provided in the embodiments of this application. The data processing device is specifically a communication device. Please refer to Figure 29. The communication device 2900 includes:
[0751] The communication device 2900 includes a receiver 2901, a transmitter 2902, a processor 2903, and a memory 2904 (the number of processors 2903 in the communication device 2900 can be one or more; Figure 29 shows an example of one processor). In some embodiments of this application, the receiver 2901, transmitter 2902, processor 2903, and memory 2904 can be connected via a bus or other means; Figure 29 shows an example of connection via a bus.
[0752] Memory 2904 may include read-only memory and random access memory, and provides instructions and data to processor 2903. Memory 2904 may also include non-volatile random access memory (NVRAM). Memory 2904 may store operating systems, protocol stacks, instructions, executable modules, or data structures, wherein instructions can be used to implement various operations. The operating system may include various system programs used to implement various basic business functions and handle hardware-based tasks.
[0753] The processor 2903 can be used to control the operation of the communication device. The processor 2903 can also be called a central processing unit (CPU).
[0754] In practical applications, the various components of a communication device are coupled together through a bus system. This bus system includes not only a data bus but also a power bus, control bus, and status signal bus. However, for clarity, all buses in the diagram will be referred to as a bus system.
[0755] The methods disclosed in the embodiments of this application can be applied to or implemented by processor 2903. Processor 2903 can be an integrated circuit chip with signal processing capabilities. During implementation, each step of the above methods can be completed by integrated logic circuits in the hardware or by instructions in software form within processor 2903. Processor 2903 can include: 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 gate or transistor logic devices, or discrete hardware components. Processor 2903 can be used to implement or execute the methods, steps, and logic block diagrams disclosed in the embodiments of this application. Specifically, the general-purpose processor can be a microprocessor or a processor, or any conventional processor. The steps of the methods disclosed in the embodiments of this application can be directly implemented by a hardware processor or by a combination of hardware and software modules within the processor. The software module can reside in random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, registers, or other storage media in the art. The storage medium is located in memory 2904, and processor 2903 reads information from memory 2904 and, in conjunction with its hardware, completes the steps of the above method.
[0756] Optionally, the memory 2904 may be integrated into the processor 2903 described above, or may be independent of the processor 2903.
[0757] Receiver 2901 can be used to receive input digital or character information, and to generate signal inputs related to data processing settings and function control. Similarly, transmitter 2902 can be used to output digital or character information.
[0758] In this embodiment of the application, the processor 2903 is used to execute the aforementioned data processing method of the sending end or the receiving end.
[0759] In another possible design, when the data processing device is a chip, the chip includes a processing unit and a communication unit. The processing unit may be, for example, a processor, and the communication unit may be, for example, an input / output interface, pins, or circuits. The processing unit can execute computer execution instructions stored in the storage unit to cause the chip to perform the method described in either the first or second aspect above. Optionally, the storage unit may be a storage unit within the chip, such as a register or cache. Alternatively, the storage unit may be a storage unit located outside the chip within the terminal, such as read-only memory (ROM) or other types of static storage devices capable of storing static information and instructions, such as random access memory (RAM).
[0760] The processor mentioned above can be a general-purpose central processing unit, a microprocessor, an ASIC, or one or more integrated circuits used to control the execution of programs in the first to fourth aspects of the above methods.
[0761] It should also be noted that the device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of this embodiment according to actual needs. In addition, in the device embodiment drawings provided in this application, the connection relationship between modules indicates that they have a communication connection, which can be implemented as one or more communication buses or signal lines.
[0762] Through the above description of the embodiments, those skilled in the art can clearly understand that this application can be implemented by means of software plus necessary general-purpose hardware, or it can be implemented by special-purpose hardware including application-specific integrated circuits, special-purpose CPUs, special-purpose memory, special-purpose components, etc. Generally, any function performed by a computer program can be easily implemented by corresponding hardware, and the specific hardware structure used to implement the same function can be diverse, such as analog circuits, digital circuits, or special-purpose circuits. However, for this application, software program implementation is more often the preferred implementation method. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, can be embodied in the form of a software product. The computer software product is stored in a readable storage medium, such as a computer floppy disk, USB flash drive, mobile hard disk, ROM, RAM, magnetic disk, or optical disk, etc., and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute the methods described in the various embodiments of this application.
[0763] In the above embodiments, implementation can be achieved, in whole or in part, through software, hardware, firmware, or any combination thereof. When implemented in software, it can be implemented, in whole or in part, as a computer program product.
[0764] The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of this application are generated. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions may be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions may be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium may be any available medium that a computer can store or a data storage device such as a server or data center that integrates one or more available media. The available medium may be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., solid-state disk (SSD)).
Claims
A data processing method, characterized by, The method comprises: determining a size of a first code block (CB); wherein the first CB is one of C CBs, the C CBs are associated with a first TB, and C is a positive integer; performing logical channel prioritization (LCP) based on the size of the first CB. The method of claim 1, wherein The performing LCP based on the size of the first CB comprises: performing LCP based on a size of a data part of the first CB; wherein the size of the data part of the first CB is determined based on the size of the first CB and a size of a cyclic redundancy check (CRC) code corresponding to the first CB. The method further comprises: The method of claim 1, wherein determining the first TB based on a first data set; wherein the first data set is determined based on the performing LCP based on the size of the first CB; transmitting the first TB. The first data set comprises complete MAC subPDU. The method according to claim 3, characterized in that The method further comprises: The method of claim 1, wherein determining a size of a second CB; wherein the second CB is one of the C CBs; performing LCP based on the size of the second CB after the performing LCP based on the size of the first CB. The second CB is located after the first CB in the C CBs. The method according to claim 5, characterized in that The method comprises: The method according to claim 5 or 6, characterized in that determining the first TB based on a first data set and a second data set; wherein the first data set is determined based on the performing LCP based on the size of the first CB, and the second data set is determined based on the performing LCP based on the size of the second CB; transmitting the first TB. The second data set is located after the first data set in the first TB. The method of claim 7, wherein The first data set comprises one or more MAC subPDU; wherein at least one of the one or more MAC subPDU comprises a MAC control element (CE), and a size of at least one of the one or more MAC subPDU is less than or equal to a first size, the first size being associated with a minimum value of CB or a maximum value of CB. The method according to claim 3 or 4, characterized in that The first data set comprises a first MAC subPDU and a second MAC subPDU, the second MAC subPDU being located before the first MAC subPDU in the first data set, or the second MAC subPDU being located after the first MAC subPDU in the first data set; wherein a resource allocation order of the first MAC subPDU precedes a resource allocation order of the second MAC subPDU. The method according to any one of claims 3-9, characterized in that The method comprises: A data processing method, characterized by, receiving a first code block (CB), and performing data decoding on the first CB; wherein the first CB is one of C CBs, the C CBs are associated with a first transport block (TB), C is a positive integer, the first CB corresponds to a first data set, and the first data set is determined based on performing logical channel prioritization (LCP) based on a size of the first CB. The first data set comprises complete MAC subPDU. The method of claim 11, wherein The method further comprises: The method of claim 11, wherein receiving the second CB, performing data decoding on the second CB; wherein the second CB is one of C CBs, the second CB corresponds to a second data set, and the second data set is determined based on a size of the second CB. The method of claim 13, wherein The second CB is located after the first CB among the C CBs. A data processing method, characterized by, comprising: determining a size of a first code block (CB) or a size of a first code block group (CBG), wherein the first CB is one of C CBs, the first CBG is one of M N CBGs, the C CBs are associated with a first transport block (TB), and the M N CBGs are associated with the first TB, N is a positive integer, and M is a positive integer; determining a first data set based on the size of the first CB or the size of the first CBG, wherein the first data set includes at least one complete media access control (MAC) subprotocol data unit (subPDU) and / or at least one incomplete MAC subPDU; if the first data set includes at least one complete MAC subPDU and at least one incomplete MAC subPDU, the at least one complete MAC subPDU is located before the at least one incomplete MAC subPDU in the first data set. The method of claim 15, wherein The determining of the first data set based on the size of the first CB or the size of the first CBG includes: performing logical channel priority (LCP) based on the size of the first TB to obtain a to-be-processed data set, wherein the to-be-processed data set includes at least one MAC subPDU; determining the first data set based on the to-be-processed data set, the size of the first CB, or the size of the first CBG. The method according to claim 15 or 16, characterized in that After the determining of the first data set based on the size of the first CB or the size of the first CBG, the method further includes: determining first indication information and / or second indication information based on the first data set; wherein the first indication information is used to indicate a position of a complete MAC subPDU or a position of an incomplete MAC subPDU in the first CB, or a position of a complete MAC subPDU or a position of an incomplete MAC subPDU in the first CBG; and the second indication information is used to indicate whether the first CB contains or does not contain an incomplete MAC subPDU, or whether the first CBG contains or does not contain an incomplete MAC subPDU, or whether the first indication information exists or does not exist, or whether bits of the first indication information are valid or invalid. The method of claim 17, wherein The first indication information is specifically used to: indicate an end position or length information of a complete MAC subPDU and / or a start position or length information of an incomplete MAC subPDU in the first CB, or indicate an end position or length information of a complete MAC subPDU and / or a start position or length information of an incomplete MAC subPDU in the first CBG. The method according to claim 17 or 18, characterized in that The second indication information is used for indicating whether the first CB contains or does not contain an incomplete MAC subPDU, comprising: The second indication information is used for indicating that the first CB contains only complete MAC subPDUs, or contains only incomplete MAC subPDUs, or contains complete MAC subPDUs and incomplete MAC subPDUs. The second indication information is used for indicating whether the first CBG contains or does not contain an incomplete MAC subPDU, comprising: The second indication information is used for indicating that the first CBG contains only complete MAC subPDUs, or contains only incomplete MAC subPDUs, or contains complete MAC subPDUs and incomplete MAC subPDUs. The method according to any one of claims 17-19, characterized in that The method further comprises: The first TB is transmitted, the first TB comprising the first data set, or the first TB comprising the first data set and the first indication information, or the first TB comprising the first data set and the second indication information, or the first TB comprising the first data set, the first indication information and the second indication information. The method according to any one of claims 17-20, characterized in that The first indication information is contained in the first CB or first CBG or downlink control information DCI, and the second indication information is contained in the first CB or first CBG or downlink control information DCI. A data processing method, characterized by, Comprise: A first code block CB or a first code block group CBG is received; First indication information and / or second indication information are acquired, the first indication information being used for indicating a position of a complete MAC subPDU or a position of an incomplete MAC subPDU in the first CB, or indicating a position of a complete MAC subPDU or a position of an incomplete MAC subPDU in the first CBG; the second indication information being used for indicating whether the first CB contains or does not contain an incomplete MAC subPDU, or indicating whether the first CBG contains or does not contain an incomplete MAC subPDU, or indicating whether the first indication information exists or does not exist, or indicating that bits of the first indication information are valid or invalid; Based on the first indication information and / or the second indication information, data decoding is performed on the first CB or the first CBG; wherein the first CB is one of C CBs, the first CBG is one of M N CBGs, the C CBs are associated with a first transport block TB, the M N CBGs are associated with the first TB, N is a positive integer, and M is a positive integer. The method of claim 22, wherein The first indication information is specifically used for: indicating an end position or length information of a complete MAC subPDU and / or a start position or length information of an incomplete MAC subPDU in the first CB; Or, indicating an end position or length information of a complete MAC subPDU and / or a start position or length information of an incomplete MAC subPDU in the first CBG. The method according to claim 22 or 23, characterized in that The second indication information is used for indicating whether the first CB contains or does not contain an incomplete MAC subPDU, including: The second indication information is used for indicating that the first CB contains only complete MAC subPDUs, or only incomplete MAC subPDUs, or contains complete MAC subPDUs and incomplete MAC subPDUs. The second indication information is used for indicating whether the first CBG contains or does not contain an incomplete MAC subPDU, including: the second indication information is used for indicating that the first CBG contains only complete MAC subPDUs, or only incomplete MAC subPDUs, or contains complete MAC subPDUs and incomplete MAC subPDUs. The method according to any one of claims 22-24, characterized in that The data decoding of the first CB or the first CBG based on the first indication information and / or the second indication information includes: Based on the first indication information, determining bits corresponding to complete MAC subPDUs in the first CB or the first CBG, and / or determining bits corresponding to incomplete MAC subPDUs in the first CB or the first CBG; Performing data decoding on bits corresponding to complete MAC subPDUs in the first CB or the first CBG. The method of claim 24, wherein The data decoding of the first CB or the first CBG based on the first indication information and / or the second indication information includes: If the second indication information indicates that the first CB contains only complete MAC subPDUs, or indicates that the first CBG contains only complete MAC subPDUs, or indicates that the first indication information does not exist, or indicates that the bits of the first indication information are invalid, determining bits corresponding to complete MAC subPDUs in the first CB or the first CBG; Performing data decoding on the first CB or the first CBG. The method of claim 24, wherein The data decoding of the first CB or the first CBG based on the first indication information and / or the second indication information includes: If the second indication information indicates that the first CB contains complete MAC subPDUs and incomplete MAC subPDUs, or indicates that the first CBG contains complete MAC subPDUs and incomplete MAC subPDUs, or indicates that the first indication information exists, or indicates that the bits of the first indication information are valid, based on the first indication information, determining bits corresponding to complete MAC subPDUs and bits corresponding to incomplete MAC subPDUs in the first CB or the first CBG; Performing data decoding on bits corresponding to complete MAC subPDUs in the first CB or the first CBG. The method of claim 24, wherein The data decoding of the first CB or the first CBG based on the first indication information and / or the second indication information includes: determining bits corresponding to the incomplete MAC subPDU in the first CB or the first CBG, if the second indication information indicates that the first CB contains only incomplete MAC subPDU, or, indicates that the first CBG contains only incomplete MAC subPDU, or, indicates that the first indication information does not exist, or, indicates that bits of the first indication information are invalid; performing data decoding based on the bits corresponding to the incomplete MAC subPDU in the first CB and bits corresponding to the incomplete MAC subPDU in at least one CB, wherein the at least one CB is a CB before and / or after the first CB; or, performing data decoding based on the bits corresponding to the incomplete MAC subPDU in the first CBG and bits corresponding to the incomplete MAC subPDU in at least one CBG, wherein the at least one CBG is a CBG before and / or after the first CBG. A communication device characterized by comprising: The communication device comprises a processor, a memory; the processor and the memory communicate with each other; The memory is configured to store instructions; The processor is configured to execute the instructions in the memory to implement the method in any one of claims 1-10, or 11-14, or 15-21, or 22-26. A computer readable storage medium comprising instructions which, when executed on a computer, cause the computer to carry out the method of any one of claims 1-10, or 11-14, or 15-21, or 22-28. A computer program product comprising instructions which, when executed on a computer, cause the computer to carry out the method of any one of claims 1-10, or 11-14, or 15-21, or 22-28.
Citation Information
Patent Citations
Contention based (CB) resource configuration method and device
CN102118799A
Data processing method and device
CN115225200A
Method for transmitting and receiving data and communication device
CN115412969A
Data processing method, device and equipment applied to media access control layer
CN115766909A
Data transmission method and device
CN116033487A