Data processing method and apparatus
By dividing the transport block into code block groups and decoding them at that granularity, the problem of high service latency in wireless communication systems is solved, achieving more efficient data processing and lower memory requirements, thereby improving communication quality and system capacity.
Patent Information
- Application Number
- PCT/CN2025/105826
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-07-19
- Filing Date
- 2025-06-30
- Publication Date
- 2026-01-22
AI Technical Summary
In wireless communication systems, the large service delay at the receiving end leads to a decrease in communication quality. This is because if even one code block fails the CRC check, the entire transmission block cannot be submitted to the MAC layer for processing and must wait for a Hybrid Automatic Repeat Request (HARQ) to retransmit.
The transport block is divided into multiple code block groups, and decoding is performed at the code block group level. This allows each code block group to be decoded independently, reducing dependence on other code block groups and ensuring that even if a code block group fails to be received, successfully received code block groups can still be processed in a timely manner, thereby reducing service latency.
By reducing the number of code blocks that cannot be submitted to the MAC layer for processing, memory requirements and device power consumption are reduced, communication quality and system capacity are improved, and the needs of lower latency and higher speed services are met.
Smart Images

Figure CN2025105826_22012026_PF_FP_ABST
Abstract
Description
Data processing method and device
[0001] The present application claims priority from the Chinese patent application No. 202410981668.2 filed on July 19, 2024, and entitled "Data processing method and device", the content of which is incorporated herein by reference in its entirety. TECHNICAL FIELD
[0002] Embodiments of the present application relate to the field of communication, in particular to a data processing method and device. 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 multiple code blocks (CBs), and a CB CRC is added for each CB. For a receiving end, the 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 latency and affecting the communication quality. SUMMARY
[0005] The present application provides a data processing method and device, which can reduce the service latency.
[0006] In a first aspect, a data processing method is provided. The method can be performed by a second communication device, or by a component of the second communication device, such as a processor, a chip, or a chip system of the second communication device, or by a logic module or software that can implement all or part of the function of the second communication device. The second communication device can be an access network device or a terminal. The method includes determining, according to a first value, N CB groups corresponding to a first transport block (TB), and respectively decoding part or all of the N CB groups. The first value is the number X of CBs included in a CB group, or the number Y of CB groups corresponding to a TB. N, X, and Y are integers greater than or equal to 1. The N CB groups satisfy one of the following conditions: each of the N CB groups includes a second value of CBs; or the first M CB groups of the N CB groups include the second value of CBs, and the last N-M CB groups include a third value of CBs, where M is a positive integer less than N; or the first N-M CB groups of the N CB groups include the third value of CBs, and the last M CB groups include the second value of CBs; or each of the N CB groups includes a fourth value of CBs.
[0007] Based on the scheme, the TB can be divided into multiple CB groups, and the CB groups are decoded at the receiving end in units of CB groups. Since each CB group can be decoded separately, that is, each CB group can be decoded individually, the decoding of a certain CB group does not depend on other CB groups, so the decoding of a certain CB group does not depend on the successful reception of previous CB groups. In the case of receiving failure of a certain CB group, the successfully received CB groups after the receiving failure can still be submitted to the MAC layer for decoding, so that the receiving end can process the successfully received CB groups in time, thereby reducing the service delay. In addition, timely submission of the successfully received CB groups to the MAC layer for processing can reduce the CBs that cannot be submitted to the MAC layer for processing, thereby reducing the storage requirement, that is, reducing the increase of memory, saving costs, and also reducing the device power consumption caused by DDR erasing.
[0008] In a possible design, the respectively decoding part or all of the N CB groups includes performing decoding on a first CB group of the N CB groups, and there is a CB group with receiving failure before the first CB group.
[0009] Based on the possible design, even if there is a CB group with receiving failure before a certain CB group, the decoding of the certain CB group is not affected, thereby reducing the CBs that cannot be submitted to the MAC layer for processing, thereby saving the memory cost and reducing the processing delay.
[0010] In one possible design, each of the N CB groups contains a positive integer number of complete MAC subPDUs.
[0011] Based on this possible design, since each of the N CB groups contains a positive integer number of complete MAC subPDUs, the boundary (or, the start bit or the end bit) of the data portion of each of the N CB groups is aligned with the boundary (or, the start bit or the end bit) of one of the MAC subPDUs, or the boundary (or, the start bit) of each of the N CB groups is aligned with the boundary (or, the start bit) of one of the MAC subPDUs, such that the receiver can know the structure of the MAC subPDUs in the current CB group based on the current CB group, and thus does not need to rely on successful reception of the previous CB group to decode the current CB group, and can continue to decode the current CB group even if the previous CB group is not successfully received, e.g., does not need to obtain the MAC subheader of the MAC SDU (or MAC CE or padding or MAC subPDU) in the next CB group from the previous CB group, such that the receiver can deliver the successfully received CB group / CB to the MAC layer for processing in time, reduces the service latency, and can make the data arrive within the latency requirement of the service, and thus improves the communication quality of the service or improves the system capacity. In addition, delivering the successfully received CB group / CB to the MAC layer for processing in time reduces the CBs that cannot be delivered to the MAC layer for processing, and thus reduces the storage requirement, i.e., reduces the increase of the memory (e.g., does not need a large on-chip memory), saves the cost, or reduces the requirement of the DDR bandwidth (e.g., does not need a large DDR bandwidth), and also reduces the device power consumption caused by DDR erasing. This is also beneficial to cope with the challenges of future services with lower latency requirement and / or higher rate requirement.
[0012] In one possible design, the decoding of the part or all of the N CB groups includes performing decoding on a first CB group of the N CB groups based on a header corresponding to the first CB group.
[0013] Based on this possible design, the header corresponding to the CB group can be designed, e.g., carrying information indicating the structure of the MAC subPDU contained in the CB group, such that the receiver can know the structure of the MAC subPDUs in the current CB group based on the current CB group, and thus can continue to decode the current CB group even if the previous CB group is not successfully received, and reduces the CBs that cannot be delivered to the MAC layer for processing, and thus reduces the storage requirement, i.e., reduces the increase of the memory, saves the cost, and reduces the processing latency.
[0014] In a possible design, the method further includes: receiving or sending the first indication information, where the first indication information includes information of the first number.
[0015] In a second aspect, a data processing method is provided. The method can be performed by a first communication device, or by a component of the first communication device, e.g., a processor, a chip, or a chip system of the first communication device, or by a logic module or software that can implement all or part of the functions of the first communication device. The first communication device can be a terminal or an access network device. The method includes: determining N code block (CB) groups corresponding to a first transport block (TB) according to a first number; the first number is a number X of CBs included in one CB group, or a number Y of CB groups corresponding to one TB; N, X, and Y are integers greater than or equal to 1; performing logical channel priority (LCP) based on a first CB group, where the first CB group is one of the N CB groups. The N CB groups satisfy one of the following conditions: a number of CBs included in each of the N CB groups is a second number; or, a number of CBs included in the first M CB groups of the N CB groups is the second number, and a number of CBs included in the last N-M CB groups is a third number, where M is a positive integer less than N; or, a number of CBs included in the first N-M CB groups of the N CB groups is the third number, and a number of CBs included in the last M CB groups is the second number; or, a number of CBs included in each of the N CB groups is a fourth number.
[0016] Based on this scheme, LCP can be performed at the sending end with CB groups as the granularity, so that each CB group can include a positive integer number of complete MAC subPDUs, thereby enabling the receiving end to decode with CB groups as the granularity. Since each CB group includes a positive integer number of complete MAC subPDUs, the start boundary of the data part of the CB group 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 group, and the structure of the MAC subPDU in the current CB group can be known based on the current CB group, so that it is not necessary to rely on successful reception of the previous CB group to obtain the MAC subheader of the MAC SDU (or MAC CE or padding) in the next CB group, for example, in the previous CB group, thereby even if the previous CB group fails to be received, the CB group successfully received later can be submitted to the MAC layer for processing, so that the receiving end can process the CB group successfully received in time, thereby reducing the service delay. In addition, timely submission of the CB group successfully received later to the MAC layer for processing can reduce the CBs that cannot be submitted to the MAC layer for processing, thereby reducing the storage requirement, i.e., reducing the increase of the memory, saving the cost, and also reducing the device power consumption caused by DDR erasing and rewriting.
[0017] In a possible design, performing logical channel prioritization (LCP) based on the first CB group includes performing LCP based on a size of a data part of the first CB group, where the size of the data part of the first CB group is determined based on the first size of the first CB group and a size of a CB CRC corresponding to each CB in the first CB group.
[0018] In a possible design, the first CB group contains an integer number of complete medium access control sub-protocol data units (MAC subPDUs).
[0019] In a possible design, the method further includes: determining a first TB based on the first data set, and transmitting the first TB, where the first data set is determined based on performing LCP based on the first CB group;
[0020] In a possible design, after performing LCP based on the first CB group, the method further includes: performing LCP based on a second CB group of the N CB groups, where the second CB group is located after the first CB group in the N CB groups.
[0021] In a possible design, the method further includes: determining a first TB based on the first data set and a second data set, and transmitting the first TB, where the first data set is determined based on performing LCP based on the first CB group, and the second data set is determined based on performing LCP based on the second CB group.
[0022] In a possible design, the method further includes: transmitting or receiving first indication information, where the first indication information includes information of the first number.
[0023] With reference to the first aspect or the second aspect, in a possible design, N = ceil(C / X), where C is a number of CBs corresponding to the first TB, C is an integer greater than or equal to 1, and ceil represents rounding up.
[0024] With reference to the first aspect or the second aspect, in a possible design, in a case where C / X is an integer, each of the N CB groups contains CBs in the second number; in a case where C / X is not an integer, the first M CB groups of the N CB groups contain CBs in the second number, and the last N-M CB groups contain CBs in a third number; or, the first N-M CB groups of the N CB groups contain CBs in the third number, and the last M CB groups contain CBs in the second number. Where C is a number of CBs corresponding to the first TB, and C is an integer greater than or equal to 1.
[0025] With reference to the first aspect or the second aspect, in a possible design, in case that C is less than X, each of the N CB groups contains a fourth number of CBs, and the fourth number is C, where C is the number of CBs corresponding to the first TB, and C is an integer greater than or equal to 1.
[0026] With reference to the first aspect or the second aspect, in a possible design, M = N - 1, or M = floor(C / X), where floor denotes a floor operation.
[0027] With reference to the first aspect or the second aspect, in a possible design, the second number is X, and the third number is C - floor(C / X) * the second number.
[0028] With reference to the first aspect or the second aspect, in a possible design, the second number is X, and the third number is X - 1.
[0029] With reference to the first aspect or the second aspect, in a possible design, N = min(C, Y), or N = Y, where C is the number of CBs contained in the first TB, and C is an integer greater than or equal to 1.
[0030] With reference to the first aspect or the second aspect, in a possible design, in case that C / N is an integer, each of the N CB groups contains a second number of CBs; in case that C / N is not an integer, the first M CB groups contain a second number of CBs, and the last N - M CB groups contain a third number of CBs; or, the first N - M CB groups contain a third number of CBs, and the last M CB groups contain a second number of CBs.
[0031] With reference to the first aspect or the second aspect, in a possible design, M = mod(C, N), where mod denotes a modulo operation.
[0032] With reference to the first aspect or the second aspect, in a possible design, the second number is ceil(C / N), and the third number is floor(C / N).
[0033] With reference to the first aspect or the second aspect, in a possible design, X or Y is associated with one of the following: a terminal, a downlink control information (DCI), a TB, a semi-persistent scheduling (SPS), and a configured grant (CG).
[0034] With reference to the first aspect or the second aspect, in a possible design, the N CB groups include a first CB group, and the header corresponding to the first CB group includes the first information and / or the second information. The first information indicates whether the second information exists, or indicates whether the bits of the second information are valid, or indicates whether the first CB group includes the start portion of the MAC subPDU. The second information indicates a first start position in the first CB group, and the start position is the position of the start portion of the MAC subPDU.
[0035] Based on this possible design, the header corresponding to the CB group can carry information to indicate the position of the first “start portion of the MAC subPDU” in the CB group, so that the receiving end can determine the structure of the MAC subPDU corresponding to the CB group based on the indication of the header, for example, determine the position of the first “start portion of the MAC subPDU” in the CB group, thereby decoding the CB group without relying on the successful reception of the preceding CB group, for example, decoding the CB group from the position of the first “start portion of the MAC subPDU” in the CB group, thereby avoiding the problem that all CBs after the erroneous CB or the entire TB cannot be processed (or are stuck) due to an error of one CB, thereby reducing the service delay, and enabling data to arrive within the delay requirement of the service as much as possible, thereby facilitating improvement of the communication quality of the service or facilitating improvement of the system capacity. In addition, timely delivery of the successfully received CB group / CB to the MAC layer processing can reduce the CBs that cannot be delivered to the MAC layer processing, thereby reducing the storage requirement, i.e., reducing the increase of the memory (for example, no need for a large on-chip memory), saving the cost, or reducing the DDR bandwidth requirement (for example, no need for a large DDR bandwidth), and at the same time, 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.
[0036] With reference to the first aspect or the second aspect, in a possible design, the first CB group is one of the last N-1 CB groups among the N CB groups.
[0037] Based on this possible design, since the start position of the data portion of the first CB group is usually the position of the start portion of the MAC subPDU, the header of the first CB group does not need to be carried, thereby saving the header overhead.
[0038] With reference to the first aspect or the second aspect, in a possible design, the N CB groups include a first CB group, the first CB group includes at least one complete MAC subPDU and at least one incomplete MAC subPDU, and the at least one complete MAC subPDU is located before the at least one incomplete MAC subPDU; and the header corresponding to the first CB group includes third information, where the third information indicates a location of the incomplete MAC subPDU in the first CB group.
[0039] Based on this possible design, the header corresponding to the CB group can carry information to indicate the location of the incomplete MAC subPDU in the CB group, so that the receiving end can determine the structure of the MAC subPDU corresponding to the CB group based on the indication of the header, for example, determine the start location of the incomplete MAC subPDU and / or the end location of the complete MAC subPDU in the CB group, thereby decoding the CB group without relying on the successful reception of the preceding CB group, for example, decoding the CB group from the location of the start of the data in the CB group to the end of the start location of the incomplete MAC subPDU, so that the receiving end can process the data in the CB group / CB that is successfully received in time, avoiding the problem that all CBs after the erroneous CB or the entire TB cannot be processed (or are stuck) due to an error in one CB, thereby reducing service latency, and enabling data to arrive within the latency requirement of the service as much as possible, thereby facilitating improvement of the communication quality of the service or facilitating improvement of the system capacity. In addition, timely delivery of the subsequently successfully received CB group / CB to the MAC layer for processing can reduce the CBs that cannot be delivered to the MAC layer for processing, thereby reducing the storage requirement, i.e., reducing the increase in memory (for example, no large on-chip memory is needed), saving costs, or reducing the requirement for DDR bandwidth (for example, no large DDR bandwidth is needed), and at the same time, reducing the device power consumption caused by DDR erasing. This is also conducive to coping with the challenges of future services with lower latency requirements and / or higher rate requirements.
[0040] With reference to the first aspect or the second aspect, in a possible design, the header corresponding to the first CB group further includes fourth information and / or fifth information. The fourth information indicates whether the incomplete MAC subPDU includes the start portion of the MAC subPDU, and the fifth information indicates the type of the first CB group, where the type of the first CB group is a first-type CB group, and the first-type CB group includes at least one complete MAC subPDU and at least one incomplete MAC subPDU.
[0041] Based on the possible design, the fourth information is carried in the header corresponding to the CB group, so that the receiving end can splice the incomplete MAC subPDUs in different CB groups based on the fourth information, thereby recovering the complete MAC subPDU, decoding the complete MAC subPDU, reducing the packet loss rate, and improving the data transmission performance. In addition, the fifth information is carried in the header corresponding to the CB group, so that the receiving end can know the type of the CB group, thereby decoding based on the type of the CB group, improving the success rate of decoding, and thereby improving the data transmission performance.
[0042] In a third aspect, a communication apparatus is provided, which can implement various methods. The communication apparatus includes modules, units, or means corresponding to the methods, and the modules, units, or means can be implemented in the form of hardware, software, or the combination of hardware and software. The hardware or software includes one or more modules or units corresponding to the functions.
[0043] In some possible designs, the communication apparatus can include a processing module and a transceiver module. The processing module can be used to implement the processing functions in any of the aspects and any of the possible implementations. The transceiver module can include a receiving module and a sending module, which are used to implement the receiving functions and the sending functions in any of the aspects and any of the possible implementations.
[0044] In some possible designs, the transceiver module can be composed of a transceiver circuit, a transceiver, a transceiver, or a communication interface.
[0045] In a fourth aspect, a communication apparatus is provided, which includes a processor and a memory. The memory is used to store computer instructions, and when the processor executes the instructions, the communication apparatus performs the methods in any of the aspects and any of the possible designs.
[0046] In a fifth aspect, a communication apparatus is provided, which includes a processor and a communication interface. The communication interface is used to communicate with modules outside the communication apparatus. The processor is used to execute computer programs or instructions, so that the communication apparatus performs the methods in any of the aspects and any of the possible designs.
[0047] In a sixth aspect, a communication apparatus is provided, which includes at least one processor. The processor is used to execute computer programs or instructions stored in a memory, so that the communication apparatus performs the methods in any of the aspects and any of the possible designs. The memory can be coupled with the processor, or can be independent of the processor.
[0048] In a seventh aspect, a communication apparatus (which can be a chip or a chip system) is provided, and the communication apparatus includes a processor configured to implement the functions of any of the above aspects and any of their possible designs.
[0049] In some possible designs, the communication apparatus includes a memory configured to store necessary program instructions and data.
[0050] In some possible designs, when the apparatus is a chip system, the apparatus can be composed of a chip or can include a chip and other discrete devices.
[0051] The communication apparatus of the third aspect to the seventh aspect can be the second communication apparatus of the first aspect or a device included in the second communication apparatus, such as a chip or a chip system; or the communication apparatus of the third aspect to the seventh aspect can be the first communication apparatus of the second aspect or a device included in the first communication apparatus, such as a chip or a chip system.
[0052] In an eighth aspect, a communication apparatus is provided, which can be the first communication apparatus, or a module or unit (such as a chip or a chip system or a circuit) that is one-to-one corresponding to the module or unit that performs the method / operation / step / action described in the second aspect in the first communication apparatus, or a module or unit that can be matched with the first communication apparatus; or the communication apparatus can be the second communication apparatus, or a module or unit (such as a chip or a chip system or a circuit) that is one-to-one corresponding to the module or unit that performs the method / operation / step / action described in the first aspect in the second communication apparatus, or a module or unit that can be matched with the second communication apparatus.
[0053] It can be understood that, when the communication apparatus of any of the third aspect to the eighth aspect is a chip, the sending action / function of the communication apparatus can be understood as outputting information, and the receiving action / function of the communication apparatus can be understood as inputting information.
[0054] In a ninth aspect, a computer-readable storage medium is provided, and the computer-readable storage medium stores a computer program or instructions, which, when executed on a communication apparatus, causes the communication apparatus to perform the method of any of the above aspects and any of their possible designs.
[0055] In a tenth aspect, a computer program product is provided, and the computer program product includes instructions, which, when executed on a communication apparatus, causes the communication apparatus to perform the method of any of the above aspects and any of their possible designs.
[0056] In an eleventh aspect, a communication system is provided, which includes a first communication device and a second communication device. The first communication device is configured to implement the method of the second aspect and any possible design of the second aspect, and the second communication device is configured to implement the method of the first aspect and any possible design of the first aspect.
[0057] The technical effects brought by any of the designs of the third aspect to the eleventh aspect can be referred to the technical effects brought by different designs of the first aspect or the second aspect, which will not be repeated here. BRIEF DESCRIPTION OF DRAWINGS
[0058] FIG. 1 is a schematic diagram of a structure of a wireless protocol stack provided in the present application;
[0059] FIG. 2 is a schematic diagram of transmission of downlink data between protocol layers provided in the present application;
[0060] FIG. 3 is a schematic diagram of a flow of LCP provided in the present application;
[0061] FIG. 4 is a schematic diagram of a flow of resource allocation provided in the present application;
[0062] FIG. 5 is a schematic diagram of a structure of a downlink MAC PDU provided in the present application;
[0063] FIG. 6 is a schematic diagram of a structure of an uplink MAC PDU provided in the present application;
[0064] FIG. 7-FIG. 9 are schematic diagrams of structures of MAC subheaders provided in the present application;
[0065] FIG. 10 is a schematic diagram of TB division of a physical layer provided in the present application;
[0066] FIG. 11 is a schematic diagram of CB reception provided in the present application;
[0067] FIG. 12 is a schematic diagram of a structure of a communication system provided in the present application;
[0068] FIG. 13 is a schematic diagram of division of CBs and CB groups provided in the present application;
[0069] FIG. 14 is a schematic diagram of a flow of a data processing method provided in the present application;
[0070] FIG. 15 is a schematic diagram of a flow of another resource allocation provided in the present application;
[0071] FIG. 16-FIG. 17 are schematic diagrams of relationships between CB groups and MAC subPDUs provided in the present application;
[0072] FIG. 18 is a schematic diagram of a flow of CB-granularity LCP provided in the present application;
[0073] FIG. 19 is a flow diagram of another data processing method provided by the present application;
[0074] FIG. 20 is a structure diagram of a CB group provided by the present application;
[0075] FIGS. 21-22 are structure diagrams of a header corresponding to the CB group provided by the present application;
[0076] FIG. 23 is a structure diagram of a CB provided by the present application;
[0077] FIG. 24 is a flow diagram of another data processing method provided by the present application;
[0078] FIG. 25 is a structure diagram of another CB group provided by the present application;
[0079] FIG. 26 is a structure diagram of a header corresponding to another CB group provided by the present application;
[0080] FIG. 27 is a flow diagram of a method for determining a TB provided by the present application;
[0081] FIG. 28 is a structure diagram of another CB group provided by the present application;
[0082] FIG. 29 is a structure diagram of another CB provided by the present application;
[0083] FIGS. 30-32 are structure diagrams of a communication device provided by the present application. DETAILED DESCRIPTION
[0084] In the description of the present application, unless otherwise specified, " / " represents that the objects before and after the " / " 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 relationship between 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.
[0085] In the description of the present application, unless otherwise specified, "multiple" means two or more than two. "At least one (item)" means one or more. "At least two (items)" means two or three and more than three. "At least one of the following" or the like means any combination of these 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.
[0086] In addition, in order to clearly describe 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 with basically the same function and role. Those skilled in the art can understand that the terms "first", "second", etc. are only used for description purposes, and should not be understood as indicating or implying relative importance or implicitly indicating the number of the indicated technical features, and do not limit the number and execution order. Therefore, the features with "first" and "second" can explicitly or implicitly include one or more features. In addition, the terms "first", "second", etc. do not necessarily mean different.
[0087] In the embodiments of the present application, the words "exemplary" or "for example" are used to mean serving as an example, instance, 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 "exemplary" or "for example" is intended to present relevant concepts in a concrete manner, facilitating understanding.
[0088] 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 order of execution, and the execution order of each process should be determined by its function and inherent logic, and should not constitute any limitation on the implementation process of the embodiments of the present application.
[0089] 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.
[0090] 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.
[0091] In the present application, the same or similar parts among various embodiments can be mutually referred to, unless otherwise specified. In various embodiments of the present application, the terms and / or descriptions of different embodiments are consistent, and can be mutually referred to, unless otherwise specified and logically conflicted. The technical features in different embodiments can be combined to form new embodiments according to their inherent logical relationship. The implementation manners of the present application described below do not constitute a limitation on the protection scope of the present application.
[0092] In order to facilitate understanding of the technical solutions of the embodiments of the present application, first, a brief introduction of the related technologies of the present application is given as follows.
[0093] 1. Protocol layer structure
[0094] For example, at present, the communication between a terminal and a network device follows a certain protocol layer structure. It can be divided into a user plane protocol stack and a control plane protocol stack.
[0095] 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.
[0096] As shown in (b) of FIG. 1, for an access layer (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 (NAS).
[0097] 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 (APP) layer. There can also be other protocol layers between the AS layer and the APP layer, which are not limited.
[0098] As shown in FIG. 2, a schematic diagram of transmission of downlink data between a terminal and an access network device at various protocol layers is shown. The downward arrow indicates sending, and the upward arrow indicates receiving. In addition, the protocol layers in FIG. 2 can also be understood as corresponding protocol layer entities. For example, the RRC layer can be understood as an RRC entity, and the PDCP layer can be understood as a PDCP entity.
[0099] The RRC entity of the access network device generates downlink data (which can also be referred to as signaling, for example, an RRC message or an RRC protocol data unit (PDU)), and the data is transmitted to the terminal through the air interface after passing through one or more of the PDCP layer, the RLC layer, the MAC layer, and the PHY layer in sequence. The terminal receives the data through the air interface, and then performs corresponding analysis on the data in the reverse order of the access network device.
[0100] 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).
[0101] 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).
[0102] For example, after the RRC entity of the access network device delivers an RRC PDU to the PDCP entity, the PDCP entity processes or does not process the data (i.e., a 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., an RLC SDU) received from the PDCP entity to obtain an RLC PDU, and delivers the RLC PDU to the MAC entity. Similarly, 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).
[0103] Correspondingly, after the PHY of the terminal receives the TB, the TB is delivered to the MAC entity (the TB can also be referred to as a MAC PDU at the MAC entity), the MAC entity processes or does not process the TB to obtain a MAC SDU, and the MAC SDU is delivered to an RLC entity. The RLC entity processes or does not process the data (i.e., an RLC PDU) received from the MAC entity to obtain an RLC SDU, and the RLC SDU is delivered to a PDCP entity. In this way, after data reaches an 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).
[0104] In the embodiments of the present application, the upper layer and the lower layer are a relative concept. For example, for the RRC layer, the RLC layer can be the lower layer of the RRC layer, but for the MAC layer, 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: a PHY layer, a MAC layer, an RLC layer, and a PDCP layer.
[0105] 2. MAC packetization:
[0106] For example, MAC packetization can also be referred to as multiplexing and assembly. For example, MAC packetization can include two parts: logical channel prioritization (LCP), multiplexing of MAC control elements and MAC SDUs.
[0107] 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 procedure is performed into one MAC PDU.
[0108] 3. LCP procedure:
[0109] Currently, the LCP procedure is in the granularity of a new transmission resource / MAC PDU / TB. For example, after the terminal obtains an uplink resource allocated by the access network device, the terminal can perform the LCP. For example, the MAC entity of the terminal can perform the LCP according to the size of the TB. For example, the MAC entity of the terminal can include / replace: the terminal.
[0110] It should be noted that, in the embodiments of the present application, performing LCP can also include / replaced by: performing LCP procedure, which is uniformly described hereinafter, and subsequent embodiments will not be described again.
[0111] For example, LCP can include B j maintenance, logical channel selection, resource allocation related content. As shown in FIG. 3, in the LCP process, first, logical channel (logical channel, LCH) selection is performed according to LCP restriction (or LCH restriction), and then resources are allocated according to the priority of the selected logical channel (including 2 rounds of resource allocation). For example, the logical channel can be understood as the channel between the MAC layer and the RLC layer.
[0112] 3.1, B j maintenance:
[0113] For example, one logical channel corresponds to one B j .
[0114] 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 before each LCP process. 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.
[0115] Wherein, PBR is the prioritized bit rate (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 (bucket size duration, BSD). PBR and BSD are configured by the access network device to the terminal.
[0116] 3.2, logical channel selection:
[0117] For example, when performing new transmission, the MAC entity of the terminal selects the logical channel that meets all the following conditions:
[0118] The subcarrier spacing (subcarrier spacing, SCS) index value set allowed in allowSCS-List (if configured) includes the subcarrier spacing index associated with the UL grant; and,
[0119] maxPUSCH-Duration (if configured) is greater than or equal to the physical uplink shared channel (PUSCH) transmission duration associated with the UL grant; and,
[0120] In case of UL grant being Configured Grant Type 1, configuredGrantType1Allowed (if configured) is set to TRUE; and,
[0121] allowedServingCells (if configured) includes cell information associated with the UL grant; and,
[0122] allowedCG-List (if configured) includes configured grant indices associated with the UL grant; and,
[0123] allowedPHY-PriorityIndex (if configured) includes priority indices associated with the dynamic UL grant; and,
[0124] allowedHARQ-mode (if configured) includes uplink HARQ mode of the hybrid automatic repeat-request (HARQ) process associated with the UL grant.
[0125] 3.3. Resource allocation:
[0126] When performing new transmission, the MAC entity of the terminal allocates resources for the selected logical channels in the following manner:
[0127] First round of resource allocation: for the logical channels selected in B j > 0, resources are allocated in decreasing order of logical channel priority.
[0128] 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 .
[0129] For example, if the PBR of a certain 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.
[0130] For example, after the first round of resource allocation, B jSubtract the total size of MAC SDUs provided by the logical channel j.
[0131] Second round of resource allocation: If there are remaining resources after the first round of resource allocation, for the selected logical channel, provide data in strict decreasing priority order until one of the logical channel or UL grant data is exhausted.
[0132] 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 (in descending order of priority):
[0133] Cell Radio Network Temporary Identifier (C-RNTI) MAC CE or data from UL Common Control Channel (CCCH);
[0134] Configured grant Confirmation MAC CE;
[0135] Buffer Status Report (BSR) MAC CE, except padding BSR;
[0136] Single Power Headroom Report (PHP) MAC CE or multiple PHP MAC CE;
[0137] Data from any logical channel, except data from UL-CCCH;
[0138] Padding BSR MAC CE.
[0139] It can be understood that the above order is only an example and is only used to illustrate the priority of allocating resources for MAC CE and data from logical channels (MAC SDU), and does not limit the present application.
[0140] For example, the access network device configures / schedules the terminal with the new transmission resource as uplink resource 1, the terminal will perform 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, assuming that in the first round of resource allocation, the B j of LCH1 and LCH3 are greater than 0, and the B j of LCH2 is less than 0, then in the first round of resource allocation, the resources are allocated to LCH1 and LCH3 in the order of decreasing priority of the logical channels, wherein the resources allocated to LCH1 and LCH3 are allocated according to the B j of the corresponding logical channels. The numbers 1, 2, 3 and 4 in FIG. 4 can represent the order of resource allocation.
[0141] After the first round of resource allocation, if there is still remaining resource in the uplink resource 1, the resources are allocated to LCH1, LCH2 and LCH3 in the order of decreasing priority of the logical channels, that is, the resources are allocated to LCH1 first, then if there is still remaining resource, the resources are allocated to LCH2, and so on until the resources are exhausted.
[0142] Referring to FIG. 4, after the two rounds of resource allocation, the data of LCH1 are all allocated to the 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 the resources (as shown in the diagonal line filled part in FIG. 4), or in other words, the part of the data cannot be transmitted in this new transmission.
[0143] It should be noted that the example shown in FIG. 4 is only for the case 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 that both the data of LCH and MAC CE need to be transmitted.
[0144] 4. Multiplexing of MAC CE and MAC SDU:
[0145] 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 the MAC subPDU can exist in the following four cases:
[0146] only including one MAC subheader (including padding) or only including one MAC subheader (not including padding);
[0147] composed of one MAC subheader and one MAC SDU;
[0148] one MAC subheader and one MAC CE;
[0149] one MAC subheader and padding.
[0150] wherein 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, and padding can be 0, i.e. padding is optional. In addition, in the current MAC PDU, MAC CEs are placed together.
[0151] For example, as shown in FIG. 5, a structure diagram of a downlink (DL) MAC PDU is shown. In the diagram, MAC subPDUs containing MAC CEs are placed before MAC subPDUs containing MAC SDUs and MAC subPDUs containing padding. As shown in FIG. 6, a structure diagram of a UL MAC PDU is shown. In the diagram, MAC subPDUs containing MAC CEs are placed after MAC subPDUs containing MAC SDUs and before MAC subPDUs containing padding.
[0152] For each MAC subPDU, one MAC subheader and one MAC CE or MAC SDU or padding are contained, i.e. one MAC subheader corresponds to one MAC CE or MAC SDU or padding. For example, except for MAC subheaders corresponding to MAC CEs of fixed size, padding, and MAC SDUs containing CCCH, a MAC subheader consists of header fields R / F / LCID / (eLCID) / L. For example, MAC subheaders corresponding to MAC CEs of fixed size, padding consist of header fields R / LCID / (eLCID). For example, MAC subheaders corresponding to MAC SDUs containing CCCH consist of header fields R / LCID. For example:
[0153] 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 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 of 8 bits in length; if the LCID subfield is set to 33, the MAC subheader further includes an eLCID field of 16 bits in length, which immediately follows the LCID field.
[0154] eLCID: Extended Logical Channel Identity 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.
[0155] 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 variable size MAC CE corresponding to the MAC subheader. The size of the L field is indicated by the F field.
[0156] F: Format field, used to indicate the size of the Length field L. The size of the F field is 1 bit, and a value of 0 indicates that the size of the L field is 8 bits, and a value of 1 indicates that the size of the L field is 16 bits.
[0157] R: Reserved bit, set to 0.
[0158] For example, FIG. 7 shows the structure of the MAC subheader containing the R / F / LCID / (eLCID) / L field 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 the R / F / LCID / (eLCID) / L field 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 the R / LCID / (eLCID) field, 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. The MAC subheader is octet (or byte) aligned.
[0159] Exemplarily, the receiving end decodes in the granularity of MAC subPDU. For a certain MAC subPDU, decoding needs to be performed based on the MAC subheader. For example, parsing the MAC subheader determines 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 LCID field of the MAC subheader, and determines the byte number P of the MAC SDU or the MAC CE corresponding to the L field, so as to determine the P bytes after the MAC subheader as a MAC SDU or a MAC CE, and decode the same.
[0160] 5. Physical layer data processing flow:
[0161] The MAC layer of the sending end assembles a MAC PDU, and 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, it can be referred to as a MAC PDU at the MAC layer, and can be referred to as a TB at the PHY layer. 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.
[0162] Exemplarily, the number C of CBs satisfies the following relationship: if B≤K cb , C=1; if B>K cb , C=B / K. The first size K' of the CB is K'=B' / C.
[0163] Wherein, C is the number of CBs corresponding to a TB. B=A+L1. A is the size or the 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 the 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.
[0164] 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 called 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).
[0165] In addition to the first size of the CB, there is a second size K of the CB. 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.
[0166] 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.
[0167] 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, and the second size of the CB is the same as the first size of the CB.
[0168] In addition, based on the above division of the CB, the CB has no any association with the structure of the MAC PDU, and the boundary (or, starting bit) of each CB is not necessarily the starting bit of a MAC subPDU, or, the boundary (or, starting bit or ending bit) of the data part of each CB is not necessarily the boundary (or, starting bit or 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 size of different MAC subPDUs is not necessarily the same, so the boundary (or, 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.
[0169] 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 further, there can be padding (for example, NULL) in the CB, which is not shown in (b) of FIG. 10.
[0170] For the receiving end, after the physical layer receives the CB or TB, the CB CRC and TB CRC are checked. 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 TB, the CB CRC is first checked. In the case that all CB CRCs are successfully checked, the TB CRC is checked again. 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 an increase in service delay, affecting communication quality, for example, it can cause data to not arrive within the delay requirement of the service, thereby affecting the communication quality of the service, or affecting the system capacity.
[0171] To solve this problem, one possible solution is that, after the PHY layer of the receiving end receives the CB (or, TB), the CB CRC is checked. If the CB CRC is passed, the CB is delivered to the MAC layer for processing (or, subsequent data processing of the CB) without waiting for the result of the TB CRC check, but only the CB can be delivered to the MAC layer for processing (or, subsequent data processing of the CB) in sequence.
[0172] Since the division of the CB is independent of the structure of the MAC PDU, in the case that a CB CRC check is not passed, 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 being unable to decode the subsequent CB, causing all subsequent CBs to be unable to be delivered to the MAC layer for processing (or, subsequent data processing of the CBs), and needing to wait for HARQ retransmission (for example, TB or CBG retransmission), thereby causing an increase in service delay, affecting communication quality, for example, it can cause data to not arrive within the delay requirement of the service, thereby affecting the communication quality of the service, or affecting the system capacity. For example, as shown in FIG. 11, since the CRC check 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).
[0173] In addition, for the processing of data (for example, at least one of PHY layer processing, MAC layer processing, RLC layer processing, and PDCP layer processing), the current processing is on the on-chip memory, but the on-chip memory is small and cannot even accommodate a large TB. After the terminal performs one processing (for example, PHY layer processing or CB CRC check processing of the PHY layer) of the data, if the next processing (for example, MAC layer processing) cannot be continued, the data needs to be stored on a double data rate (DDR), and then read out from the DDR to the on-chip memory when the next processing can be performed, and then 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).
[0174] For CBs that cannot be submitted to MAC layer processing (or cannot be processed subsequently), if they are all buffered on the on-chip memory, the on-chip memory needs to be increased, thereby increasing the on-chip memory overhead and increasing the chip cost. If they are buffered on the DDR, the write / read of the DDR needs to be increased (for example, data is written from the on-chip memory to the DDR, and then data is read from the DDR to the on-chip memory), and the bandwidth of the DDR needs to be increased (for example, the bandwidth of the DDR needs to be reserved according to the air interface), thereby increasing the cost, and in addition, the device power consumption is also increased due to the erase and write of the DDR.
[0175] That is, even if the result of the TB CRC check is not waited for (or not considered), the CBs are sequentially submitted in the case where the CB CRC check is passed, and the service delay is also increased when a certain CB CRC check is not passed, especially for the challenge of future services with lower latency requirements. In addition, the device cost is increased, especially for future high-rate services, the cost pressure is greater. If the CB that cannot be submitted to the MAC layer processing is stored by using the DDR, the device power consumption is also increased.
[0176] Based on this, the present application provides a data processing method. In the method, the LCP is performed at the sending end in the granularity of CB groups, so that the boundary (or the start bit or the end bit) of the data part of each CB group is aligned with the boundary (or the start bit or the end bit) of a MAC subPDU, or the boundary (or the start bit) of each CB group is aligned with the boundary (or the start bit) of a MAC subPDU, so that each CB group can contain an integer number of complete MAC subPDUs, thereby enabling the receiving end to decode in the granularity of CB groups. The problem that all subsequent CBs after an error CB cannot be processed (or are blocked) due to an error of one CB is avoided.
[0177] Since each CB group contains an integer number of complete MAC subPDUs, the start boundary of the data part of a CB group is the start bit of a MAC subPDU, the MAC subheader and the MAC SDU (or MAC CE or padding) of a certain MAC subPDU are located in one CB group, and the decoding of a certain CB group does not need to rely on the successful reception of the previous CB group / CB, for example, the MAC subheader of the MAC SDU (or MAC CE or padding or MAC subPDU) in the next CB group does not need to be obtained in the previous CB group, so that even if the previous CB group / CB fails to be received, the CB group / CB that is successfully received can be delivered to the MAC layer for processing, so that the receiving end can process the CB group / CB that is successfully received in time, thereby reducing the service delay, and the data can reach 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.
[0178] Alternatively, the present application provides a data processing method, in which part or all of the CB groups can correspond to a header, and the header corresponding to a certain CB group can carry information to indicate the position of the first "start part of a MAC subPDU" in the CB group, or to indicate the position of the incomplete MAC subPDU in the CB group, so that the receiving end can determine the structure of the MAC subPDU corresponding to the CB group based on the indication of the header, for example, determine the position of the first "start part of a MAC subPDU" in the CB group, or determine the start position of the incomplete MAC subPDU and / or the end position of the complete MAC subPDU in the CB group, so that the CB group / CB can be decoded without relying on the successful reception of the previous CB group / CB, for example, the CB group is decoded from the position of the first "start part of a MAC subPDU" in the CB group, or the CB group is decoded from the start position of the data part of the CB group to the start position of the incomplete MAC subPDU, so that the receiving end can process the CB group / CB that is successfully received in time, thereby avoiding the problem that the entire TB or all the CBs after the error CB cannot be processed (or are stuck) due to an error in one CB, thereby reducing the service delay, and the data can reach 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.
[0179] In addition, based on the data processing method of the present application, timely submitting the subsequent successfully received CB group / CB to the MAC layer processing can reduce the CBs that cannot be submitted to the MAC layer processing, thereby reducing the storage requirement, i.e., reducing the increase of the memory (e.g., not requiring a large on-chip memory), saving the cost, or reducing the DDR bandwidth requirement (e.g., not requiring 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 lower latency requirements and / or higher rate requirements of services.
[0180] 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 (4G) system, a new radio (NR) system, a fifth 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.
[0181] Among them, the above-mentioned communication system applying the present application is only an example, and the communication system applying the present application is not limited thereto. The communication system provided by the present application does not cause any limitation to the solutions of the present application. Here, it is uniformly stated that the following will not be described in detail.
[0182] 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 core network logic function and the wireless access network logic function.
[0183] 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 radio 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.
[0184] 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. Embodiments of the present application do not limit the device form of the terminal.
[0185] 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 as described below. 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 functionality, and the network elements 1220a-1220j can be understood as communication apparatuses with terminal functionality.
[0186] 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.
[0187] 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).
[0188] 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.
[0189] 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.
[0190] 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.
[0191] 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).
[0192] 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).
[0193] 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. It can be known by those skilled in the art 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.
[0194] 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 embodiments described below, 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.
[0195] 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 from that 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.
[0196] 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.
[0197] In the data processing method provided in the present application, the sending end and / or the receiving end of the TB (or the first communication device and / or the second communication device) can determine the N CB groups corresponding to the first TB according to the first value.
[0198] 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.
[0199] For example, the TB can include / replace a MAC PDU, or data, or a code word (CW), which is uniformly described here, and subsequent embodiments will not be described again.
[0200] For example, the first TB can include / replace a first MAC PDU, or first data, or a first CW, which is uniformly described here, and subsequent embodiments will not be described again.
[0201] Illustratively, the first communication device can be a terminal, and correspondingly, the second communication device can be an access network device; or the first communication device can be an access network device, and correspondingly, 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 present application does not specifically limit the product form of the first communication device and the second communication device.
[0202] For example, in embodiments of the present application, CB group can include / replace CB set, or other names, without limitation. For example, in embodiments of the present application, CB can include / replace data unit, or data unit 1, or other names, without limitation. For example, in embodiments of the present application, MAC PDU can include / replace data, or other names, without limitation.
[0203] For example, the first value is the number X of CBs contained in a CB group, or the number Y of CB groups corresponding to a TB, or the size Z of a CB group. For example, the size Z of a CB group can include / replace the sum of the sizes of all CBs contained in a CB group.
[0204] For example, X, Y, Z are integers greater than or equal to 1. For example, X is equal to 2, of course X can also have other values, such as 1, 3, 4, etc., without limitation. For example, X can also be referred to as self-decoding granularity, or other names, without limitation.
[0205] For example, N is an integer greater than or equal to 1.
[0206] For example, size can include / replace any of the following: length, number of bits, or number of bytes.
[0207] Optionally, the N CB groups satisfy one of the following multiple conditions:
[0208] a) the number of CBs contained in each of the N CB groups is a second value;
[0209] b) the number of CBs contained in the first M CB groups of the N CB groups is a second value, and the number of CBs contained in the last N-M CB groups is a third value, M is a positive integer less than N;
[0210] c) the number of CBs contained in the first N-M CB groups of the N CB groups is a third value, and the number of CBs contained in the last M CB groups is a second value, M is a positive integer less than N; or,
[0211] d) the number of CBs contained in each of the N CB groups is a fourth value.
[0212] For example, the second value, the third value, and the fourth value are positive integers. It can be understood that the above a) b) c) d) only illustrate the four possible cases of the N CB groups, without any other limitation, for example, without limitation to the order and possibility of the four cases.
[0213] In addition, in the case that the number of CBs included in a certain CB group of the N CB groups is neither the second number nor the third number, the N CB groups can also be arranged in other manners instead of the manners described in b) or c) above, and are not limited. For example, the number of CBs included in the first CB group is the second number, the number of CBs included in the second CB group is the third number, the number of CBs included in the third CB group is the second number, the number of CBs included in the fourth CB group is the third number, and so on; or the number of CBs included in the first CB group is the third number, the number of CBs included in the second CB group is the second number, the number of CBs included in the third CB group is the third number, the number of CBs included in the fourth CB group is the second number, and so on; or the number of CBs included in the first and second CB groups is the second number, the number of CBs included in the third and fourth CB groups is the third number, the number of CBs included in the fifth and sixth CB groups is the second number, the number of CBs included in the seventh and eighth CB groups is the third number, and so on.
[0214] For example, "the number of CBs included in the first M CB groups of the N CB groups is the second number, and the number of CBs included in the last N-M CB groups is the third number" and / or "the number of CBs included in the first N-M CB groups of the N CB groups is the third number, and the number of CBs included in the last M CB groups is the second number" can include / replace: the number of CBs included in the first N-M CB groups of the N CB groups is the third number, and the number of CBs included in the last M CB groups is the second number.
[0215] Optionally, in the embodiments of the present application, the number of CBs included in one CB group X can include / replace: the maximum number of CBs included in one CB group X. Optionally, in the embodiments of the present application, the number of CBs included in one CB group can include / replace: the maximum number of CBs included in one CB group. For example, one CB group can include at most X CBs, and the actual number of CBs included in one CB group can be less than or equal to X. Here, it is uniformly stated that subsequent embodiments will not be described again.
[0216] Optionally, in the embodiments of the present application, the number of CB groups corresponding to one TB Y can include / replace: the maximum number of CB groups corresponding to one TB Y. Optionally, in the embodiments of the present application, the number of CB groups corresponding to one TB can include / replace: the maximum number of CB groups corresponding to one TB. For example, one TB can include at most Y CB groups, and the actual number of CB groups included in one TB can be less than or equal to Y. Here, it is uniformly stated that subsequent embodiments will not be described again.
[0217] Optionally, in embodiments of the present application, the size Z of a CB group can include / replace the maximum size Z of a CB group. Optionally, in embodiments of the present application, the size of a CB group can include / replace the maximum size of a CB group. For example, the maximum size of a CB group is Z, and the actual size of a CB group can be less than or equal to Z. This is uniformly described here, and subsequent embodiments will not be described again.
[0218] As a possible implementation, the first value can be predetermined by a protocol, or the first value can be acquired by the first communication device from the second communication device, or the first value can be acquired by the second communication device from the first communication device, or the first value can be configured by the access network device to the terminal.
[0219] 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.
[0220] 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 includes information of the first value.
[0221] For example, in the 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.
[0222] 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 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.
[0223] For example, the first indication information includes information of the first value.
[0224] For example, the first indication information can occupy at least one bit (such as 1 bit or 2 bits or others). For example, the value of the at least one bit can be the first value; or one value of the at least one bit corresponds to one value of the first value (for example, the correspondence can be protocol-defined or configured by the access network device or others, which is not limited). For example, taking the case that the indication information occupies 1 bit as an example, when the value of the bit is “0”, the first value is 2, when the value of the bit is “1”, the first value is 3, and so on.
[0225] As a possible implementation, the first value (or the first indication information) is associated with, or has a granularity of, one of the following: a terminal, a downlink control information (DCI), a TB, a semi-persistent scheduling (SPS), a configuration grant (CG), an LCH, and a radio bearer (RB). For example, the SPS and / or the CG can be a transmission resource indicated by the access network device through RRC (or RRC and DCI).
[0226] For example, the first value (or the first indication information) associated with a terminal can mean that different terminals can correspond to different first values. For example, the first value (or the first indication information) associated with a DCI can mean that different DCI scheduling / corresponding TBs can correspond to different first values. For example, the first value (or the first indication information) associated with a TB can mean that different TBs can correspond to different first values. For example, the first value (or the first indication information) associated with an SPS / CG can mean that different SPS / CGs can correspond to different first values. The first value (or the first indication information) associated with an RB can mean that different RBs can correspond to different first values, for example, different RBs corresponding TBs can correspond to different first values.
[0227] Optionally, in the embodiments of the present application, the terminal can report to the access network device at least one of the following supported or suggested or desired by the terminal: the number of CBs included in a CB group, the number of CB groups corresponding to a TB, or the size of a CB group.
[0228] For example, before the access network device configures the first value for the terminal, the terminal can report to the access network device a value of the at least one of the above supported or suggested or desired by the terminal, and the access network device can determine the first value based on the value of the at least one of the above reported by the terminal. It should be noted that the present application does not limit whether the value of the at least one of the above reported by the terminal is the same as the first value.
[0229] For example, the terminal can report to the access network device a value of the at least one of the above supported or suggested or desired by the terminal at different granularities. For example, for different TBs, SPSs, or CGs, the terminal can report a number of CBs included in a different CB group supported or suggested or desired by the terminal.
[0230] Optionally, the following describes the division of the N CB groups when the first value is X, the division of the N CB groups when the first value is Y, and the division of the N CB groups when the first value is Z, respectively.
[0231] When the first value is X:
[0232] In a possible implementation, N = ceil(C / X).
[0233] For example, C is the number of CBs corresponding to the first TB. For example, C is an integer greater than or equal to 1. For example, ceil represents rounding up.
[0234] In a possible implementation, C can be greater than or equal to X, or C / X can be greater than or equal to 1; or C can be less than X, or C / X can be less than 1.
[0235] As a possible implementation, when C is greater than or equal to X, or C / X is greater than or equal to 1, N ≥ 1:
[0236] For example, when C / X is an integer, each CB group in the N CB groups contains the second value of CBs, that is, each CB group contains the same number of CBs. For example, the second value is X.
[0237] For example, when C / X is not an integer, the first M CB groups in the N CB groups contain the second value of CBs, and the last N-M CB groups contain the third value of CBs; or the first N-M CB groups in the N CB groups contain the third value of CBs, and the last M CB groups contain the second value of CBs.
[0238] In this possible implementation, when C / X is not an integer, the second value, the third value, and the value of M exist in the following cases:
[0239] Case one, the second value is X, the third value is C-floor(C / X)X, and M = floor(C / X) or M = N-1, and floor represents rounding down.
[0240] For example, for case one, the number of CBs contained in each CB group is X as much as possible.
[0241] For example, the number of CBs contained in each of the first floor(C / X) or the first N-1 CB groups is X, and the number of CBs contained in the last CB group is C-floor(C / X)X. For example, the number of CBs corresponding to the first TB is C=11, and X=2, N=ceil(C / X)=6, and M=floor(C / X)=5, as shown in (c) of FIG. 13, the number of CBs contained in each of the first 5 CB groups is 2, and the number of CBs contained in the last CB group is 1. Alternatively, for example, the number of CBs corresponding to the first TB is C=10, and X=3, N=ceil(C / X)=4, and M=floor(C / X)=3, as shown in (d) of FIG. 13, the number of CBs contained in each of the first 3 CB groups is 3, and the number of CBs contained in the last CB group is 1.
[0242] Alternatively, for example, the number of CBs contained in the first CB group is C-floor(C / X)X, and the number of CBs contained in each of the following floor(C / X) or N-1 CB groups is X.
[0243] Case two, the second value is X, the third value is X-1, and M=mod(C,N), where mod represents the modulo operation.
[0244] For example, for case two, the CBs can be grouped as evenly as possible, and the difference between the number of CBs contained in different CB groups is 0 or 1.
[0245] For example, the number of CBs contained in each of the first M=mod(C,N) CB groups is X, and the number of CBs contained in each of the following N-M CB groups is X-1. For example, the number of CBs corresponding to the first TB is C=10, and X=3, N=ceil(C / X)=4, and M=mod(C,N)=2, as shown in (e) of FIG. 13, the number of CBs contained in each of the first 2 CB groups is 3, and the number of CBs contained in each of the following two CB groups is 2.
[0246] Alternatively, for example, the number of CBs contained in each of the first N-M CB groups is X-1, and the number of CBs contained in each of the following M=mod(C,N) CB groups is X.
[0247] Case three, the second value is ceil(C / N), the third value is floor(C / N), and M=mod(C,N), where ceil represents rounding up, floor represents rounding down, and mod represents the modulo operation.
[0248] For example, for case three, the CBs can be grouped as evenly as possible, and the difference between the number of CBs contained in different CB groups is 0 or 1.
[0249] For example, the number of CBs contained in each of the first M = mod(C, N) CB groups is the same, and is ceil(C / N), and the number of CBs contained in each of the last N-M CB groups is the same, and is floor(C / N). For example, the number of CBs corresponding to the first TB is C = 10, and X = 3, N = ceil(C / X) = 4, M = mod(C, N) = 2, ceil(C / N) = 3, and floor(C / N) = 2. As shown in (e) of FIG. 13, each of the first two CB groups contains 3 CBs, and each of the last two CB groups contains 2 CBs.
[0250] Alternatively, for example, the number of CBs contained in each of the first N-M CB groups is the same, and is floor(C / N), and the number of CBs contained in each of the last M = mod(C, N) CB groups is the same, and is ceil(C / N).
[0251] As another possible implementation, in a scenario where C is less than X, or C / X is less than 1, N = 1, and the number of CBs contained in each of the N CB groups is a fourth value, and the fourth value is the number of CBs corresponding to the first TB, C.
[0252] For example, the C CBs corresponding to the first TB belong to one CB group.
[0253] In a case where the first value is Y:
[0254] In one possible implementation, N = min(C, Y), or N = Y.
[0255] For example, C is the number of CBs corresponding to the first TB.
[0256] For example, in a case where C / N is an integer, the number of CBs contained in each of the N CB groups is a second value. For example, the second value is C / N.
[0257] For example, in a case where C / N is not an integer, the number of CBs contained in the first M CB groups of the N CB groups is a second value, and the number of CBs contained in the last N-M CB groups is a third value; or, the number of CBs contained in the first N-M CB groups of the N CB groups is a third value, and the number of CBs contained in the last M CB groups is a second value.
[0258] 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 the modulo operation.
[0259] For example, the number of CBs contained in each of the first M = mod(C, N) CB groups is the same, and is ceil(C / N), and the number of CBs contained in each of the last N - M CB groups is the same, and is floor(C / N). For example, the number of CBs corresponding to the first TB is C = 11, 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 number of CBs contained in each of the first 5 CB groups is 2, and the number of CBs contained in the last CB group is 1. Alternatively, for example, the number of CBs corresponding to the first TB is C = 10, 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 (e) of FIG. 13, the number of CBs contained in each of the first 2 CB groups is 3, and the number of CBs contained in each of the last 2 CB groups is 2.
[0260] Alternatively, for example, the number of CBs contained in each of the first N - M CB groups is the same, and is floor(C / N), and the number of CBs contained in each of the last M = mod(C, N) CB groups is the same, and is ceil(C / N).
[0261] In the case where the first value is Z:
[0262] For example, the number of CBs contained in each of the first M = mod(C, N) CB groups is the same, and is ceil(C / N), and the number of CBs contained in each of the last N - M CB groups is the same, and is floor(C / N). For example, the number of CBs corresponding to the first TB is C = 11, 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 number of CBs contained in each of the first 5 CB groups is 2, and the number of CBs contained in the last CB group is 1. Alternatively, for example, the number of CBs corresponding to the first TB is C = 10, 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 (e) of FIG. 13, the number of CBs contained in each of the first 2 CB groups is 3, and the number of CBs contained in each of the last 2 CB groups is 2.
[0263] In one possible implementation, Z does not include the size of padding. For example, Z is the first size of a CB group.
[0264] For example, For example,
[0265] For example, K1 is the first size of a CB, or the first size of a 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. The first size of a CB will be described in detail in subsequent embodiments, and will not be described here.
[0266] For example, K1 does not include the size of padding.
[0267] For example, K0 is the size of padding, or the size of padding in a CB, or the size of padding in a CB corresponding to the first TB, or the size of padding in each CB, or the size of padding in each CB corresponding to the first TB. For example, K0 can be 0, or a CB does not contain padding.
[0268] For example, K is a second size of a CB, or a second size of a CB corresponding to the first TB, or a second size of each CB, or a second size of each CB corresponding to the first TB. For example, K includes or can include a size of padding (or K0). The second size of a CB will be described in detail in subsequent embodiments, and is not described here.
[0269] For example, K is greater than or equal to K1. For example, K0 is 0, or K is equal to K1 in the case that the CB does not include padding.
[0270] For example, the first size of the CB group does not include a size of padding.
[0271] For example, the first size of the CB group can be a sum of the first sizes of all CBs included in the CB group.
[0272] For example, in embodiments of the present application, the padding can include or replace: NULL, or a filler bit, or a padding bit.
[0273] In another possible implementation, Z includes a size of padding. For example, Z is a second size of a CB group.
[0274] For example,
[0275] For example, K = K1 + K0. For details, refer to the foregoing description of K, which is not described here.
[0276] For example, the second size of the CB group is a sum of the second sizes of all CBs included in the CB group.
[0277] For example, the second size of the CB group includes or can include a size of padding. For example, the size of padding can be 0, and in the case that the size of padding is 0, the first size of the CB group is equal to the second size of the CB group. For example, the size of padding can include or replace: a size of padding corresponding to the first TB, or a size of padding corresponding to a certain CB group, or a size of padding corresponding to each CB in a certain CB group, or a sum of sizes of padding corresponding to each CB in the CB group, or a size of padding in a CB, or a size of padding in a CB corresponding to the first TB, or a size of padding in each CB, or a size of padding in each CB corresponding to the first TB.
[0278] Optionally, in embodiments of the present application, the size of the CB group can include or replace: the first size of the CB group, or the second size of the CB group. Optionally, the first size of the CB group is less than or equal to the second size of the CB group.
[0279] It should be noted that in the embodiments of this application, CB may or may not include filler, and there is no limitation. The filler portion in CB is not shown in the accompanying drawings of this application, but this does not mean that CB does not include filler.
[0280] Optionally, the CB group in this application may or may not be a CBG. Optionally, the CB group in this application may be the same as or different from a CBG. For example, a CBG may be associated with HARQ feedback and / or HARQ retransmission. For example, a CBG may be the granularity of HARQ feedback and / or HARQ retransmission.
[0281] Optionally, the CB group in this application may correspond to (or exist, or contain) the CB group CRC, or may not correspond to (or not exist, or not contain) the CB group CRC, without limitation. Optionally, the size of the CB group (or the first size of the CB group, or the second size of the CB group) includes / does not include the size of the CB group CRC.
[0282] Optionally, for the number C of CBs corresponding to the first TB involved in the above embodiments, the value of C can be determined in the following two scenarios:
[0283] Scenario 1: TB CRC exists:
[0284] For example, if it exists, it can include / replace with: add. For example, add the first communication device or the PHY layer.
[0285] For example, if B≤K cb Then C = 1, B1 = B. For example, B = A + L1. 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 For the maximum value of CB, refer to the aforementioned comparison of K. cb The relevant explanations will not be repeated here.
[0286] For example, if B>K cb ,but B1 = B + C × L2. For example, L2 is the size of the CB CRC.
[0287] 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.
[0288] For example, the first size of the CB includes K2 and the size L1 of the TB CRC, or includes K2 and the size L2 of the CB CRC, or includes K2, the size L1 of the TB CRC, and the size L2 of the CB CRC. For example, K2 is the size of the data portion of the CB, or the size of the data portion of the CB corresponding to the first TB, or the size of the data portion of each CB, or the size of the data portion of each CB corresponding to the first TB. It should be noted that the size of the data portion of different CBs may be different or the same, and there is no limitation.
[0289] For example, the data section may include / be replaced by: the payload section, or the TB section, or the MAC PDU section.
[0290] For example, the data portion of the CB may include / be replaced by: the payload portion of the CB, or, the TB portion of the CB, or, the MAC PDU portion of the CB, or, the TB portion within the CB, or, the MAC PDU portion within the CB. For example, the data portion of the CB is used to carry / correspond to TB or MAC PDU or data from the MAC layer.
[0291] For example, if C = 1, then K2 = A; if C > 1, then for the first C-1 CBs, K2 = K1 - L2, and for the last CB, K2 = K1 - L1 - L2.
[0292] For example, as shown in Figure 13(a), B>K is illustrated. cb Under what circumstances, the magnitudes of the above parameters are related.
[0293] For example, the TB CRC is generated based on the TB. For instance, the TB CRC is located after the TB.
[0294] For example, the CB CRC is generated based on the data portion of the CB (or, the data portion of the CB and the TB CRC). For instance, the CB CRC is located after the data portion of the CB (or, the data portion of the CB and the TB CRC).
[0295] Scenario 2: No TB CRC:
[0296] For example, if it does not exist, it can be included / replaced with: not added. For example, the first communication device or PHY layer is not added.
[0297] For example, if B≤K cb If -L2, then C = 1, B1 = B + L2. For example, B = A. Other parameters can be found in the explanation in Scenario 1 above, and will not be repeated here.
[0298] For example, if B>K cb -L2, then B1 = B + C × L2.
[0299] For example, K1=B1 / C.
[0300] For example, if C=1, then K2=A. For example, if C>1, then K2=K1-L2.
[0301] For example, as shown in (b) of FIG. 13, B>K cb For example, as shown in (b) of FIG. 13, B>K
[0302] 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.
[0303] It should be noted that, in the embodiments of the present application, in addition to the at least one of the TB CRC, the CB CRC and the padding, the CB can also contain other (for example, CB header, CB group CRC, etc.), which is not limited by the present application.
[0304] As a possible implementation, in 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 the resource used to carry the first TB.
[0305] 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 size of the CB or the size of the CB calculated according to other methods. The size of the CB and the calculation method thereof are not limited by the present application.
[0306] The specific flow of the CB group-based data processing method provided by the embodiments of the present application will be described below. As shown in FIG. 14, the data processing method can include the following steps:
[0307] S1401, the first communication device determines N CB groups corresponding to the first TB according to the first value.
[0308] For example, the determination can include / replaced by: calculation, or, acquisition.
[0309] For example, N is an integer greater than or equal to 1.
[0310] For example, the first communication device is the sending end of the first TB. For example, the receiving end of the first TB is the second communication device.
[0311] For example, the implementation of determining N CB groups corresponding to the first TB according to the first value can refer to the related content described above, which will not be repeated here.
[0312] Optionally, the determining the N CB groups corresponding to the first TB according to the first value can comprise / replaced by at least one of: determining the number of CBs included in each of the N CB groups corresponding to the first TB according to the first value; determining the number of CBs included in each of the N CB groups corresponding to the first TB according to the first value; determining the size of each of the N CB groups corresponding to the first TB according to the first value; determining the size of each of the N CB groups corresponding to the first TB according to the first value; determining the size of the data portion of each of the N CB groups corresponding to the first TB according to the first value; or, determining the size of the data portion of each of the N CB groups corresponding to the first TB according to the first value.
[0313] For example, the data portion of a CB group can comprise / replaced by: the payload portion of the CB group, or, the TB portion of the CB group, or, the MAC PDU portion of the CB group, or, the TB portion in the CB group, or, the MAC PDU portion in the CB group. For example, the data portion of a CB group is used to carry / correspond to a TB or a MAC PDU or data from a MAC layer. The size of the data portion of a CB group is the sum of the size of the data portion of all CBs included in the CB group. It is to be noted that the size of the data portion of different CB groups can be different or the same, which is not limited.
[0314] Optionally, the size of the data portion of a CB group can be determined based on the number of CBs included in the CB group.
[0315] Optionally, the size of the data portion of a CB group can be determined based on the first size of the CB group and the size of the TB CRC, or, the first size of the CB group and the size of the CB CRC, or, the first size of the CB group, the size of the TB CRC and the size of the CB CRC.
[0316] For example, in the above scenario, i.e., the scenario of adding the TB CRC, the size K3 of the data portion of a CB group satisfies at least one of the following:
[0317] If N = 1, K3 = A; or,
[0318] 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.
[0319] For example, C1 is the number of CBs included in a CB group. The descriptions of the remaining parameters can be referred to the descriptions of the corresponding parameters described above, which will not be repeated here.
[0320] Exemplarily, in the above scenario two, i.e. the scenario without adding the TB CRC, the size K3 of the data part of one CB group satisfies at least one of the following:
[0321] If N = 1, K3 = A; or,
[0322] If N > 1, K3 = C1 x (K1-L2) or K3 = C1 x K2. The description of each parameter can refer to the related description of the corresponding parameter described above, and will not be repeated here.
[0323] 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 based on the second size of the CB group, the size of the CB CRC, and the size of the padding, or 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.
[0324] Exemplarily, in the above scenario one, i.e. the scenario with adding the TB CRC, the size K3 of the data part of one CB group satisfies at least one of the following:
[0325] If N = 1, K3 = A; or,
[0326] 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 description of each parameter can refer to the related description of the corresponding parameter described above, and will not be repeated here.
[0327] Exemplarily, in the above scenario two, i.e. the scenario without adding the TB CRC, the size K3 of the data part of one CB group satisfies at least one of the following:
[0328] If N = 1, K3 = A; or,
[0329] If N > 1, K3 = C1 x (K-K0-L2). The description of each parameter can refer to the related description of the corresponding parameter described above, and will not be repeated here.
[0330] For example, the size of the TB CRC can include / replace: the size of the TB CRC corresponding to the first TB.
[0331] 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.
[0332] Optionally, the first communication device can determine the N CB groups corresponding to the first TB according to the first value.
[0333] Optionally, in the case that the PHY layer of the first communication device determines the N CB groups corresponding to the first TB according to the first value, the PHY layer of the first communication device can report the information of the N CB groups to the MAC layer (or, upper layer, or, high layer) of the first communication device.
[0334] For example, the information of the N CB groups can include information of at least one of the following: 1) N, 2) N-M, 3) M, 4) the second value, 5) the third value, 6) the fourth value, 7) the size of the N CB groups (or, the size of each CB group in the N CB groups), 8) the size of the data part of the N CB groups (or, the size of the data part of each CB group in the N CB groups), 9) the order of the size of the data part of the N CB groups (or, the order of the size of the data part of each CB group in the N CB groups).
[0335] Optionally, when the PHY layer of the first communication device reports the information of the N CB groups to the MAC layer, it needs to report them in order. For example, the first group of information reported by the PHY layer is the information of the first CB group (such as the size of the data part of the first CB group), the second group of information is the information of the second CB group (such as the size of the data part of the second CB group), the third group of information is the information of the third CB group (such as the size of the data part of the third CB group), and so on, and the Nth group of information is the information of the Nth CB group (such as the size of the data part of the Nth CB group).
[0336] Alternatively, optionally, after the MAC layer of the first communication device receives the information of the N CB groups reported by the PHY layer, it needs to determine the TB (or MAC PDU) according to the order of the N CB groups reported by the PHY layer. For example, taking the case where N is equal to 4 and the sizes of the data parts of the CB groups reported by the PHY layer are S1, S2, S3 and S4 as an example, the MAC layer will then take S1 bits obtained by performing LCP based on S1 as the 0th to S1-1th bits of the TB (or MAC PDU), take S2 bits obtained by performing LCP based on S2 as the S1th to S1+S2-1th bits of the TB (or MAC PDU), take S3 bits obtained by performing LCP based on S3 as the S1+S2th to S1+S2+S3-1th bits of the TB (or MAC PDU), and take S4 bits obtained by performing LCP based on S4 as the S1+S2+S3th to S1+S2+S3+S4-1th bits of the TB (or MAC PDU).
[0337] Optionally, the PHY layer of the first communication device reports the information of the first CB group to the MAC layer (or, upper layer, or, higher layer) of the first communication device.
[0338] For example, the information of the first CB group can comprise at least one of the following: a size of the first CB group; a size of a data portion of the first CB group.
[0339] For example, the first CB group is one of N CB groups.
[0340] Optionally, the size of the first CB group can comprise / replaced by: a first size of the first CB group, or, a second size of the first CB group. Optionally, the first size of the first CB group is smaller than or equal to the second size of the first CB group.
[0341] For example, the first size of the first CB group does not comprise a size of padding.
[0342] For example, the second size of the first CB group comprises or can comprise a size of padding. For example, the size of padding can be 0.
[0343] For example, the size of the data portion of the first CB group is a sum of sizes of data portions of all CBs contained in the first CB group.
[0344] Optionally, the size of the data portion of the first CB group can be determined based on a number of CBs contained in the first CB group.
[0345] Optionally, the size of the data portion of the first CB group can be determined based on the first size of the first CB group and a size of a TB CRC, or, based on the first size of the first CB group and a size of a CB CRC, or, based on the first size of the first CB group, the size of the TB CRC and the size of the CB CRC. For details, please refer to the aforementioned description of determining the size K3 of the data portion of the CB group based on the first size of the CB group, which will not be repeated here.
[0346] Alternatively, optionally, the size of the data portion of the first CB group can be determined based on the second size of the first CB group, the size of the TB CRC and the size of the padding, or, based on the second size of the first CB group, the size of the CB CRC and the size of the padding, or, based on the first size of the first CB group, the size of the TB CRC, the size of the CB CRC and the size of the padding. For details, please refer to the aforementioned description of determining the size K3 of the data portion of the CB group based on the second size of the CB group, which will not be repeated here.
[0347] Optionally, the PHY layer of the first communication device reports the information of the second CB group to the MAC layer (or, upper layer, or, higher layer) of the first communication device.
[0348] For example, the content related to the information of the second CB group can refer to the content related to the information of the first CB group, for example, the first CB group can be replaced by the second CB group for understanding, which will not be repeated here.
[0349] For example, the second CB group is after the first CB group. For example, the bit stream corresponding to the second CB group is after the bit stream corresponding to the first CB group. For example, the bit corresponding to the first CB group is the a-th bit to the a+b-1-th bit, and the bit corresponding to the second CB group is the a+b-th bit to the a+2×b-1-th bit.
[0350] Optionally, before S1401, the embodiment of the application can further include: S1400A, the first communication device determines the first value (not shown in FIG. 14).
[0351] For example, the determination can include / replace: acquisition.
[0352] Optionally, the first communication device determining the first value can include / replace: the first communication device acquiring the first indication information, or the first communication device acquiring the first indication information from the second communication device, or the first communication device acquiring the first indication information from the access network device. For example, the acquisition can include / replace: receiving. For example, the first indication information includes information of the first value. For details, please refer to the foregoing description of the first indication information, which will not be repeated here.
[0353] Optionally, the 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).
[0354] Optionally, S1400B can be executed before at least one of steps S1400A, S1401, S1402, S1403, and S1404.
[0355] For example, the first resource is used to carry / transmit the first TB. For example, the first resource is a new transmission resource.
[0356] For example, the related information of the first resource includes at least one of the following: the time-frequency location of the first resource, the size of the first TB corresponding to the first resource, the code rate corresponding to the first resource, etc.
[0357] 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, which is not limited.
[0358] For example, the first resource can be an uplink resource. For example, the first communication device is a terminal, and the second communication device is an access network device. In this case, the first resource is an uplink resource, and the first communication device receives the first resource or related information of the first resource from the second communication device. Alternatively, the first resource can be a downlink resource. For example, the first communication device is an access network device, and the second communication device is a terminal. In this case, the first resource is a downlink resource, and the first communication device can send the first resource or related information of the first resource to the second communication device.
[0359] As a possible implementation, the division of the N CB groups as described above, in the process of determining the N CB groups corresponding to the first TB according to the first value, the size of the first TB needs to be determined according to the related information of the first resource, therefore, the first communication device can also obtain the related information of the first resource before step S1401.
[0360] S1402, the first communication device performs LCP based on the first CB group.
[0361] Optionally, the first communication device performs LCP based on the first CB group can include / replaced by: the first communication device performs LCP based on the size of the data part of the first CB group, or the first communication device performs LCP based on the size of the first CB group.
[0362] For example, the first communication device performs LCP based on the first CB group can include / replaced by: the first communication device performs LCP for the first CB group.
[0363] Optionally, for the first CB group can include / replaced by: for the size of the data part of the first CB group, or for the size of the first CB group.
[0364] For example, performing LCP can include / replaced by: determining the first data set, or determining the data set.
[0365] For example, LCP can include / replaced by: resource allocation, or allocating resources for MAC CE and / or data from a logical channel.
[0366] As a possible implementation, the first communication device performs LCP based on the first CB group to obtain the first data set. For example, the first data set is determined based on the LCP performed on the first CB group. The specific implementation of this step will be described in subsequent embodiments, and will not be described here.
[0367] 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 group or the CB group (or, the N CB groups, or each CB group in the N CB groups).
[0368] For example, the size of the data portion of the first CB group is the same as the size of the first data set.
[0369] For example, the boundary (or, the start bit or the end bit) of the data portion of the first CB group 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 portion of the first CB group is aligned with the boundary (or, the start bit or the end bit) of the MAC subPDU. For example, the boundary (or, the start bit) of the first CB group is the boundary (or, the start bit) of the MAC subPDU. For example, the boundary (or, the start bit) of the first CB group is aligned with the boundary (or, the start bit) of the MAC subPDU.
[0370] For example, the boundary can include / replace at least one of the following: the start boundary, the end boundary, the start bit, the end bit, the start byte, or the end byte. For example, the start boundary can include / replace at least one of the following: the start bit, or the start byte. For example, the end boundary can include / replace at least one of the following: the end bit, or the end byte.
[0371] 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.
[0372] For example, the data portion of the first CB group or the first CB group carries / corresponds to the first data set.
[0373] For example, the first data set includes one or more complete MAC subPDU, or includes at least one of one or more MAC SDU, one or more MAC CE, or one or more padding. For example, the first data set does not include an incomplete MAC subPDU. For example, the data portion of the first CB group or the first CB group does not correspond to / carry an incomplete MAC subPDU.
[0374] For example, the first data set can include at least one of data from a logical channel, data generated by a MAC entity of the first communication device (such as a MAC CE), or padding. For example, the data from the logical channel can be encapsulated as one or more complete MAC subPDU containing MAC SDU. For example, the data generated by the MAC entity can be encapsulated as one or more complete MAC subPDU containing MAC CE.
[0375] Optionally, the embodiments of the present application can also include that the first communication device performs LCP based on the second CB group.
[0376] For example, after the first communication device performs LCP based on the first CB group, the first communication device performs LCP based on the second CB group.
[0377] For example, the content related to “the first communication device performs LCP based on the second CB group” can refer to the content related to “the first communication device performs LCP based on the first CB group”, for example, the first CB group can be replaced by the second CB group, and the first data set can be replaced by the second data set, which will not be repeated here.
[0378] As a possible implementation, after the first communication device performs LCP based on the second CB group, the second data set is obtained. For example, the second data set is determined based on the LCP performed on the second CB group. The specific implementation of this step will be described in subsequent embodiments, which will not be repeated here.
[0379] As a possible implementation, the MAC layer of the first communication device performs LCP based on the second CB group.
[0380] For example, the size of the data part of the second CB group is the same as the size of the second data set. For example, the second data set includes one or more complete MAC subPDU, or includes one or more MAC SDU and / or one or more MAC CE and / or one or more padding. For example, the second data set does not include an incomplete MAC subPDU. For example, the data part of the second CB group or the second CB group does not correspond to / does not carry an incomplete MAC subPDU.
[0381] For example, the second data set can include data from a logical channel and / or data generated by the MAC entity of the first communication device (such as MAC CE).
[0382] 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 group can be replaced by the second CB group, and the first data set can be replaced by the second data set, which will not be repeated here.
[0383] As a possible implementation, this step S1402 can also be replaced by: the first communication device performs LCP based on the CB group (or, N CB groups, or, each CB group in the N CB groups).
[0384] Optionally, the first communication device performing LCP based on the CB group (or, the N CB groups, or, each of the N CB groups) can comprise / replaced by: the first communication device performing LCP based on a size of a data portion of the CB group (or, the N CB groups, or, each of the N CB groups), or, the first communication device performing LCP based on a size of the CB group (or, the N CB groups, or, each of the N CB groups).
[0385] For example, the first communication device performing LCP based on the CB group (or, the N CB groups, or, each of the N CB groups) can comprise / replaced by: the first communication device performing LCP for the CB group (or, the N CB groups, or, each of the N CB groups).
[0386] Optionally, the CB group (or, the N CB groups, or, each of the N CB groups) can comprise / replaced by: a size of a data portion of the CB group (or, the N CB groups, or, each of the N CB groups), or, a size of the CB group (or, the N CB groups, or, each of the N CB groups).
[0387] As a possible implementation, after the first communication device performing LCP based on the CB group (or, the N CB groups, or, each of the N CB groups), N data sets are obtained. For example, the N data sets are determined based on performing LCP for the CB group (or, the N CB groups, or, each of the N CB groups). The specific implementation of this step will be described in subsequent embodiments, and will not be described here.
[0388] For example, a size of the data portion of the nth CB group of the N CB groups is the same as a size of the nth data set of the N data sets, n = 1, 2, …, N. For example, one of the N data sets comprises one or more complete MAC subPDUs, or, comprises at least one of one or more MAC SDUs, one or more MAC CEs, and one or more paddings. For example, each of the N data sets does not comprise an incomplete MAC subPDU. For example, the data portion of each of the N CB groups or each of the N CB groups does not correspond to / carry an incomplete MAC subPDU. The description of the N data sets can refer to the above description of the first data set, and will not be described here.
[0389] For example, the boundary (or, the start bit or the end bit) of the data portion of each of the N CB groups 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 portion of each of the N CB groups is aligned with the boundary (or, the start bit or the end bit) of the MAC subPDU. For example, the boundary (or, the start bit) of each of the N CB groups is the boundary (or, the start bit) of the MAC subPDU. For example, the boundary (or, the start bit) of each of the N CB groups is aligned with the boundary (or, the start bit) of the MAC subPDU.
[0390] For example, each of the N CB groups carries / corresponds to a data set.
[0391] For example, the N data sets include a first data set, or, include a first data set and a second data set.
[0392] For example, the first communication device performing LCP based on the CB group (or, the N CB groups, or, each of the N CB groups) can include that the first communication device performs N times of LCP. For example, the first communication device performs N times of LCP for the first TB, or, for the first resource.
[0393] For example, at least one of “the first communication device performing LCP based on the first CB group”, “the first communication device performing LCP based on the CB group (or, the N CB groups, or, each of the N CB groups)”, “the first communication device performing LCP based on the second CB group”, S1402 can include / replace / be understood as: the first communication device performing LCP with the CB group as granularity.
[0394] Optionally, after step S1402, the embodiments of the present application can further include S1403 and / or S1404.
[0395] It should be noted that S1402 can be a separate embodiment, and S1402 can also be combined with any one or more steps to form a new embodiment.
[0396] S1403, the first communication device determines the first TB (or the first MAC PDU) based on the first data set.
[0397] As a possible implementation, the actions of steps S1402 and S1403 can be combined to be understood as: the first communication device determines the first TB based on the first CB group. For example, the first TB is obtained based on performing LCP on the first CB group.
[0398] For example, the first TB (or the first MAC PDU) comprises the first data set.
[0399] For example, the step S1403 can be implemented by a MAC layer entity of the first communication device.
[0400] For example, the first TB at the MAC layer can also be referred to as the first MAC PDU.
[0401] For example, the first data set comprises one or more MAC subPDUs. At least one of the one or more MAC subPDUs (e.g., a first MAC subPDU) can comprise a MAC CE. A size of the at least one of the one or more MAC subPDUs (e.g., the first MAC subPDU) is less than or equal to a third size. For example, the third size is associated with a minimum value of CBs or a maximum value of CBs. For example, the third size is determined based on the minimum value of CBs or the maximum value of CBs. For example, the third size is equal to or greater than the minimum value of CBs or the maximum value of CBs / 2.
[0402] For example, the first data set comprises: 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, a resource allocation order of the first MAC subPDU precedes a resource allocation order of the second MAC subPDU.
[0403] Optionally, the embodiments of the present application can further comprise: determining, by the first communication device, the first TB (or the first MAC PDU) based on the first data set and the second data set.
[0404] For example, the first TB (or the first MAC PDU) comprises 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).
[0405] As a possible implementation, the step S1403 can also be replaced by: determining, by the first communication device, the first TB (or the first MAC PDU) based on N data sets. For example, the N data sets are obtained by performing LCP based on the CB groups (or N CB groups, or each of the N CB groups) by the first communication device in the step S1402.
[0406] For example, the first TB (or the first MAC PDU) includes N 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 CB groups 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.
[0407] For example, within one data set, the order of different MAC subPDUs can be adjusted.
[0408] S1404, the first communication device sends the first TB. Correspondingly, the second communication device receives the first TB.
[0409] As a possible implementation, the first communication device sends the first TB on the first resource.
[0410] 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 related processing on the first TB and then send the first TB.
[0411] For example, the processing of the PHY layer on the first TB can include at least one of the following: adding TB CRC, dividing into multiple CBs, adding CB CRC, etc., and other processing can also be performed, which is not limited in the present application.
[0412] For example, the second communication device receiving the first TB can include / replace: the second communication device receiving part or all of the N CB groups, or the second communication device receiving the first CB group, or the second communication device receiving the second CB group.
[0413] For example, the second communication device receives the first TB, and the reception of the first TB can be successful or failed, that is, the second communication device does not necessarily successfully receive the first TB (or each CB corresponding to the first TB, or each CB group corresponding to the first TB). For example, the reception of the first TB is successful, which can include: the CRC check of all CBs corresponding to the first TB is passed. For example, the reception of the first TB is failed, which can include: the CRC check of at least one CB (or all CBs) corresponding to the first TB is not passed.
[0414] For example, correct can include / replace: correct. For example, incorrect can include / replace: error.
[0415] For example, success can include / replace by: correct. For example, failure can include / replace by: error.
[0416] For example, the second communication device receiving the first TB can include / replace by: the second communication device successfully receiving the first TB, or the second communication device unsuccessfully receiving the first TB.
[0417] For example, the second communication device successfully receiving the first TB can include / replace by: the first communication device successfully receiving all CBs corresponding to the first TB, or the first communication device successfully receiving all CB groups corresponding to the first TB.
[0418] For example, the second communication device unsuccessfully receiving the first TB can include / replace by: the first communication device successfully receiving only 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 successfully receiving only part of CB groups corresponding to the first TB, or the second communication device unsuccessfully receiving at least one CB group corresponding to the first TB, or the second communication device unsuccessfully receiving all CB groups corresponding to the first TB.
[0419] For example, the second communication device receiving the first CB group, the reception of the first CB group can be successful or unsuccessful, i.e., the second communication device does not necessarily successfully receive the first CB group (or each CB in the first CB group). For example, the reception of the first CB group being successful can include: the CRC check of all CBs in the first CB group passing. For example, the reception of the first CB group being unsuccessful can include: the CRC check of at least one CB (or all CBs) in the first CB group failing.
[0420] For example, the second communication device receiving the first CB group can include / replace by: the second communication device successfully receiving the first CB group, or the second communication device unsuccessfully receiving the first CB group.
[0421] For example, the second communication device successfully receiving the first CB group can include / replace by: the first communication device successfully receiving all CBs in the first CB group.
[0422] For example, the second communication device unsuccessfully receiving the first CB group can include / replace by: the first communication device successfully receiving only part of CBs in the first CB group, or the second communication device unsuccessfully receiving at least one CB in the first CB group, or the second communication device unsuccessfully receiving all CBs in the first CB group.
[0423] For example, the content related to "the second communication apparatus receives the second CB group" can refer to the content related to "the second communication apparatus receives the first CB group", for example, the first CB group can be replaced by the second CB group for understanding, which will not be repeated here.
[0424] For example, the second communication apparatus receives part or all of the CB groups in the N CB groups can include / replaced by: the second communication apparatus receives part or all of the CBs in part or all of the CB groups in the N CB groups.
[0425] Optionally, before step S1404, the embodiments of the application can further include: the second communication apparatus can determine the N CB groups corresponding to the first TB according to the first value.
[0426] For example, the implementation of the second communication apparatus determining the N CB groups corresponding to the first TB according to the first value can refer to the related description in the above step S1401, which will not be repeated here. In addition, the second communication apparatus determines the N CB groups and the first communication apparatus determines the N CB groups in the above step S1401 have no strict order, the first communication apparatus can determine the N CB groups before the second communication apparatus, or the first communication apparatus can determine the N CB groups after the second communication apparatus, or the first communication apparatus and the second communication apparatus can determine the N CB groups at the same time, which is not limited.
[0427] Optionally, before the second communication apparatus determines the N CB groups corresponding to the first TB according to the first value, the embodiments of the application can further include: the second communication apparatus determines the first value.
[0428] For example, the determination can include / replaced by: acquisition.
[0429] Optionally, the second communication apparatus determining the first value can include / replaced by: the second communication apparatus acquiring the first indication information, or the second communication apparatus acquiring the first indication information from the first communication apparatus, or the second communication apparatus acquiring the first indication information from the access network device. For example, the first indication information includes information of the first value. The related description of the first indication information can refer to the foregoing description, which will not be repeated here.
[0430] Optionally, before at least one of step S1404, S1405, the second communication apparatus determining the first value, and the second communication apparatus determining the N CB groups corresponding to the first TB according to the first value, the application can further include: the second communication apparatus acquiring the first resource or the related information of the first resource. The description of the first resource or the related information of the first resource can refer to the foregoing description, which will not be repeated here.
[0431] S1405, the second communication apparatus decodes part or all of the CB groups in the N CB groups respectively.
[0432] For example, the second communication device decoding the part or all of the N CB groups respectively can comprise / replaced by at least one of: the second communication device ignoring the 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 does not exist, or the second communication device decoding the first CB group, or the second communication device decoding the second CB group, or the second communication device decoding the first CB group and the second CB group respectively.
[0433] For example, in the embodiments of the present application, the not adding can comprise / replaced by: not adding.
[0434] For example, in the embodiments of the present application, the first communication device not adding / disabling the TB CRC can comprise / replaced by: the first communication device not adding / disabling the TB CRC for the first TB.
[0435] For example, in the embodiments of the present application, the second communication device determining that the TB CRC does not exist can comprise / replaced by: the second communication device determining that the TB CRC does not exist for the first TB.
[0436] For example, the part or all of the N CB groups can comprise / replaced by: the first CB group, or the second CB group, or the first CB group and the second CB group.
[0437] For example, the decoding or decoding or decoding respectively can comprise / replaced by at least one of: self-decoding, independent decoding, data processing, coding, splitting, demultiplexing.
[0438] For example, the data processing can comprise at least one of the data processing of: MAC layer, RLC layer, PDCP layer, SDAP layer, RRC layer, layer two (L2).
[0439] For example, the second communication device decoding the part or all of the N CB groups respectively can comprise / replaced by at least one of: the second communication device (or, the PHY layer of the second communication device) submitting the part or all of the N CB groups to the upper layer or L2 for data processing, or the second communication device (or, the PHY layer of the second communication device) submitting the part or all of the N CB groups to the upper layer or L2.
[0440] For example, the upper layer can include / replace the MAC layer, or the MAC layer of the second communication device. For example, the “decoding, by the second communication device, the first CB group” can include / replace / be understood as at least one of: the second communication device (or the PHY layer of the second communication device) submitting the first CB group to the upper layer or L2 for data processing, or the second communication device (or the PHY layer of the second communication device) submitting the first CB group to the upper layer or L2.
[0441] For example, if the first CB group is successfully received, the second communication device can decode the first CB group, regardless of whether the CBs or CB groups before the first CB group are successfully received.
[0442] For example, if the first CB group is successfully received, the second communication device can decode the first CB group, regardless of whether the CBs or CB groups before the first CB group are successfully received.
[0443] For example, if the first CB group is successfully received, the second communication device can decode the first CB group, regardless of whether the CBs or CB groups before the first CB group are successfully received.
[0444] For example, if the first CB group is successfully received, the second communication device can decode the first CB group, regardless of whether the CBs or CB groups before the first CB group are successfully received.
[0445] For example, by this method, the decoding of a certain CB group can be made independent of the receiving or decoding results of the CBs or CB groups before it, and in the case of a failed CB group or CB (such as a failed CRC check), the decoding of the subsequent CB group or CB can still be performed.
[0446] For example, at least one of the “decoding, by the second communication device, part or all of the N CB groups respectively”, the “decoding, by the second communication device, the first CB group”, the “decoding, by the second communication device, the second CB group”, the “decoding, by the second communication device, the first CB group and the second CB group respectively”, and S1405 can include / replace / be understood as: the second communication device decoding in CB group granularity.
[0447] 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.
[0448] Optionally, the embodiments of the present application can further comprise: S1406A and / or S1407A, and / or, S1406B and / or S1407B (none of which are shown in FIG. 14).
[0449] Optionally, in the case where 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 comprise: S1406A and / or S1407A.
[0450] S1406A, the first communication device determines that the second communication device supports decoding in CB or CB group granularity (not shown in FIG. 14).
[0451] For example, support can include / replaced by: can, or, can.
[0452] For example, the second communication device supporting decoding in CB or CB group granularity can include / replaced by: the second communication device supporting decoding part or all of the N CB groups respectively, or the second communication device supporting performing step S1405.
[0453] For example, the first communication device determining that the second communication device supports decoding in CB or CB group granularity can include / replaced by: the first communication device determining that the first communication device can perform LCP in CB or CB group granularity.
[0454] For example, the first communication device determining that the second communication device supports decoding in CB or CB group granularity can include / replaced by: 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 second indication information from the second communication device.
[0455] For example, the second indication information includes information indicating that the second communication device supports or does not support decoding in CB or CB group granularity, or information indicating that the first communication device can or cannot 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 cannot can include / replaced by: whether can.
[0456] For example, the first communication device can determine whether the second communication device supports decoding in CB or CB group granularity in terminal granularity.
[0457] 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".
[0458] Optionally, step S1406A can be before step S1401 and / or S1402. For example, the first communication device performs step S1401 and / or S1402 only if the first communication device determines that the second communication device supports decoding with CB or CB group granularity.
[0459] S1407A, the second communication device determines that the second communication device can decode with CB or CB group granularity (not shown in FIG. 14).
[0460] For example, the second communication device determines that the second communication device can decode with CB or CB group granularity can include / replaced by: the second communication device determines that the first communication device performs LCP with CB or CB group granularity.
[0461] For example, the second communication device can decode with CB or CB group granularity can include / replaced by: the second communication device is allowed to decode with CB or CB group granularity, or the second communication device is allowed to decode with CB or CB group granularity.
[0462] For example, the first communication device performs LCP with CB or CB group granularity can include / replaced by: the first communication device performs LCP based on the first CB group, or the first communication device performs S1402.
[0463] For example, the second communication device determines that the second communication device can decode with CB or CB group granularity can include / replaced by: the second communication device obtains the 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.
[0464] For example, the third indication information includes information indicating that the second communication device can or cannot decode with CB or CB group granularity, or information indicating that the first communication device performs or does not perform LCP with CB or CB group granularity. For example, performs or does not perform can include / replaced by: whether to perform.
[0465] For example, the first communication device can send information to the second communication device with terminal, DCI, TB, CW, SPS, or CG granularity to indicate that the second communication device can or cannot decode with CB or CB group granularity, or to inform the first communication device to perform or not to perform LCP with CB or CB group granularity.
[0466] As a possible implementation, the third indication information is associated with, or has granularity of, at least one of the following: the terminal, the DCI, the TB, the CW, the SPS, the CG, the LCH, and the RB.
[0467] For example, the third indication information being associated with the terminal can mean that different terminals can correspond to different third indication information. For example, the third indication information being 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 being associated with the TB can mean that different TBs can correspond to different third indication information. For example, the third indication information being associated with the SPS / CG can mean that different SPS / CGs can correspond to different third indication information.
[0468] For example, the third indication information can be carried by at least one of the following: a DCI format, DCI scrambling information, information in the DCI, time domain resources of the DCI, and frequency domain resources of the DCI.
[0469] 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.
[0470] 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.
[0471] 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).
[0472] For example, the first communication device supporting performing LCP in CB or CB group granularity can include / replaced by: the first communication device supporting performing LCP based on the first CB group, or the first communication device supporting performing step S1402.
[0473] For example, the second communication device determining that the first communication device supports performing LCP in CB or CB group granularity can include / replaced by: the second communication device determining that the second communication device can decode in CB or CB group granularity.
[0474] For example, the second communication device determining that the first communication device supports performing LCP in CB or CB group granularity can comprise / replaced by: the second communication device obtaining 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.
[0475] For example, the fourth indication information comprises information for indicating that the first communication device supports or does not support performing LCP in CB or CB group granularity, or information for indicating that the second communication device can or can not decode in CB or CB group granularity.
[0476] 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.
[0477] 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.
[0478] S1407B, the first communication device determines that the first communication device can perform LCP in CB or CB group granularity.
[0479] 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.
[0480] 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 step S1402.
[0481] 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 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.
[0482] 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 supports) decode in CB or CB group granularity.
[0483] For example, the second communication device can send information to the first communication device to indicate whether the first communication device can perform LCP in granularity of CB or CB group, or to indicate whether the second communication device can (or support) decoding in granularity of CB or CB group, in granularity of terminal, DCI, TB, CW, SPS, or CG.
[0484] As a possible implementation, the fifth indication information is associated with, or in granularity of, one of the following: terminal, DCI, TB, CW, SPS, CG, LCH, and RB.
[0485] For example, the fifth indication information associated with 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.
[0486] 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, and frequency domain resource of DCI.
[0487] 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 granularity of CB or CB group, the first communication device performs step S1401 and / or S1402.
[0488] 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 granularity of CB or CB group, information indicating that the access network device can or cannot perform LCP in granularity of CB or CB group, information indicating that the terminal supports or does not support performing LCP in granularity of CB or CB group, or information indicating that the access network device can or cannot decode in granularity of CB or CB group.
[0489] 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 for indicating that the terminal can or can not decode in CB or CB group granularity, information for indicating that the access network device performs LCP in CB or CB group granularity or does not perform LCP in CB or CB group granularity, information for indicating that the terminal can perform LCP in CB or CB group granularity, or information for indicating that the access network device can (or supports) decode in CB or CB group granularity.
[0490] For example, the third indication information and / or the fifth indication information can (or can also) include at least one of the following: information for indicating that the terminal (or the first communication device or the second communication device) can or can not ignore the TB CRC, information for 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 for 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.
[0491] The overall flow of the data processing method provided by the present application is described above. The specific implementation of the related steps is described in detail below.
[0492] In a possible implementation, for the above step S1402, the first communication device performing LCP based on the size of the data part of the first CB group 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 group, to obtain a first data set.
[0493] For example, for the first resource, taking the case that there is no MAC CE to be sent, and the at least one logical channel selected by the first communication device is LCH1, LCH2, and LCH3 as an example, 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 group.
[0494] For example, taking LCH1, LCH2 and LCH3 priorities as 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 group. For example, assuming that in the first round of resource allocation, B j of LCH1 and LCH3 are greater than 0, and B j of LCH2 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 in other words, the data amount corresponding to LCH1 and LCH3 is 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.
[0495] Assuming that after the first round of resource allocation, the sum of the data amount corresponding to LCH1 and LCH3 is less than the size of the data part of the first CB group, i.e. there is still remaining resources, then resources are allocated in descending order of the priority of LCH1, LCH2 and LCH3, or in other words, the data amount corresponding to LCH1, LCH2 and LCH3 is determined again, until the sum of the data amount determined in the two rounds of resource allocation is equal to the size of the data part of the first CB group.
[0496] 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.
[0497] As a possible implementation, in the process of allocating resources for data from at least one logical channel based on the size of the data part of the first CB group by the first communication device, after the first round of resource allocation, the B j of the logical channel j is subtracted from the total size of the MAC SDU (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 subtracts the data amount corresponding to LCH1 in the first round of resource allocation from the B j of LCH1, and subtracts the data amount corresponding to LCH3 in the first round of resource allocation from the B j of LCH3.
[0498] Optionally, after the second round of resource allocation, the value of B j of each logical channel can be updated or not updated, which is not limited. For example, based on the example shown in FIG. 15, after the second round of resource allocation, the value of B j of LCH1, LCH2 and LCH3 can be updated or not updated.
[0499] As a possible implementation, in step S1402, the first communication apparatus performs LCP based on each of the N CB groups respectively, i.e., performs LCP based on the size of the data part of the i-th CB group of the N CB groups to obtain the data set i, i = 1, 2, …, N. For example, the first communication apparatus performs LCP based on the second CB group of the N CB groups after performing LCP based on the first CB group, to obtain the second data set, the second CB group is located after the first CB group in the N CB groups.
[0500] As a possible implementation, the first communication apparatus performs LCP based on each of the N CB groups in a certain order. For example, after performing LCP based on the i-th CB group, perform LCP based on the i+1-th CB group. Based on the example shown in (c) of FIG. 13, the first communication apparatus first performs LCP based on the size of the data part of CB group 1 to obtain data set 1, then performs LCP based on the size of the data part of CB group 2 to obtain data set 2, then performs LCP based on the size of the data part of CB group 3 to obtain data set 3, and so on, until performing LCP based on the size of the data part of CB group 6 to obtain data set 6.
[0501] For example, based on the example shown in (c) of FIG. 13, the data part of CB group 1 can include the 0-99th bit of B bits (e.g., B = A + L1 or B = A, A and L1 can refer to the foregoing related description, and will not be repeated here), the data part of CB group 2 can include the 100-199th bit of the B bits, the data part of CB group 3 can include the 200-279th bit of the B bits, and so on.
[0502] As a possible implementation, the first communication apparatus performs LCP based on each CB group in a similar manner, the difference being that when performing LCP based on the first CB group, the first communication apparatus performs logical channel selection according to the LCP restriction to determine 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 first CB group. When performing LCP based on the second CB group to the N-th CB group respectively, logical channel selection does not need to be performed again, and resource allocation for data of the at least one logical channel continues.
[0503] 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 group, the data from 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 group.
[0504] As a possible implementation, the first communication device needs to update the B j based on the i-th CB group, and perform LCP based on the i+1-th CB group, according to the updated B j based on the LCP performed by the i-th CB group.
[0505] 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 SDUs and / or MAC CEs) 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.
[0506] For example, based on the example shown in (c) of FIG. 13 and FIG. 15, taking the first CB group as CB group 1 and the first data set including data sets A, B, C and D as an example, 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; 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 group includes MAC subPDU1, MAC subPDU2, MAC subPDU3 and MAC subPDU4.
[0507] 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 N CB groups. That is, after performing the LCP on the data part of the i-th CB group of the N CB groups, the first communication device obtains the data set i corresponding to the i-th CB group, i = 1, 2, …, N. Further, the first communication device determines at least one complete MAC subPDU contained / corresponding to the i-th CB group based on the data set i corresponding to the i-th CB group, and determines the first TB based on the MAC subPDU contained / corresponding to each CB group, for example, determines the MAC subPDU contained / corresponding to each CB group as the MAC subPDU in the first TB. Based on this implementation, each of the N CB groups can contain / correspond to a positive integer complete MAC subPDU.
[0508] For example, based on the example shown in (c) of FIG. 13 and FIG. 15, after step S1402 and step S1403, each of the six CB groups shown in (c) of FIG. 13 contains at least one complete MAC subPDU. For example, CB group 1 contains / corresponds to MAC subPDU1, MAC subPDU2, MAC subPDU3, and MAC subPDU4, CB group 2 contains / corresponds to MAC subPDU5 and MAC subPDU6, CB group 3 contains / corresponds to MAC subPDU7 and MAC subPDU8, and so on.
[0509] As a possible implementation, the order of the MAC subPDU contained / corresponding to different CB groups cannot be adjusted at will, but the order of the MAC subPDU contained / corresponding to the same CB group can be freely adjusted.
[0510] For example, based on the example shown in (c) of FIG. 13 and FIG. 15, taking CB group 1 containing MAC subPDU1, MAC subPDU2, MAC subPDU3, and MAC subPDU4, and CB group 2 containing MAC subPDU5 and MAC subPDU6 as an example, MAC subPDU5 cannot be adjusted in position with MAC subPDU1 to MAC subPDU4, and MAC subPDU6 cannot be adjusted in position with MAC subPDU1 to MAC subPDU4. However, MAC subPDU1 to MAC subPDU4 can be adjusted in position, and MAC subPDU5 and MAC subPDU6 can be adjusted in position.
[0511] For example, as shown in (a) of FIG. 17, the positions of the MAC subPDUs 1 to 4 in the first TB from front to back can be: the MAC subPDU 1, the MAC subPDU 2, the MAC subPDU 3, and the MAC subPDU 4, and the MAC subPDU 5 can be located before the MAC subPDU 6; or as shown in (b) of FIG. 17, the positions of the MAC subPDUs 1 to 4 in the first TB from front to back can be: the MAC subPDU 4, the MAC subPDU 2, the MAC subPDU 1, and the MAC subPDU 3, and the MAC subPDU 5 can be located after the MAC subPDU 6.
[0512] 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.
[0513] In a possible implementation, in the case that the second communication apparatus decodes part of the N CB groups in the step S1405, the part of the N CB groups are CB groups successfully received, or in other words, the CRCs of the CBs contained / corresponding to the part of the N CB groups are all verified.
[0514] In the step S1405, the decoding of a certain CB group does not depend on the receiving result or the decoding result of the CB group / CB before it, and the decoding of the subsequent CB group / CB can still be performed in the case that the previous CB group / CB is received unsuccessfully or decoded unsuccessfully. That is, even if there is a CB received unsuccessfully in the CB group before the first CB group, the first CB group can still be decoded. The reason is that each of the N CB groups contains at least one complete MAC subPDU, and there is no case that part of a MAC subPDU is in one CB group and the remaining part is in another CB group, so in the case that the CRC of each CB in a certain CB group is verified, the format of each MAC subPDU in the CB group can be obtained, and thus the decoding can be performed smoothly.
[0515] For example, based on the example shown in FIG. 17, the second communication device receives CB group 1, verifies the CRCs of CB0 and CB1, and performs decoding of CB group 1 if the CRCs of CB0 and CB1 are both verified. If there is at least one CRC of CB0 and CB1 that is not verified, the second communication device performs decoding of CB group 2 if the CRCs of CB2 and CB3 in CB group 2 are both verified.
[0516] As one possible implementation, decoding the first CB group can include the PHY layer entity of the first communication device submitting the data portion of the first CB group to the MAC layer entity, and the MAC layer entity demultiplexing the data portion of the first CB group to obtain at least one MAC subPDU contained in the first CB group.
[0517] Based on this scheme, performing LCP at the transmitting end in CB group granularity makes the boundary (or, the start bit or the end bit) of the data portion of one / every CB group and the boundary (or, the start bit or the end bit) of one MAC subPDU align, or, the boundary (or, the start bit) of one / every CB group and the boundary (or, the start bit) of one MAC subPDU align, so that each CB group can contain a positive integer of complete MAC subPDUs, thereby making the receiving end be able to decode in CB group granularity. The problem that the entire TB or all CBs subsequent to the error CB cannot be processed (or, are stuck) due to one CB error is avoided.
[0518] On the one hand, since each CB group contains a positive integer number of complete MAC subPDUs, the starting boundary of the data portion of the CB group is the starting bit of the MAC subPDU. The MAC subheader and MAC SDU (or MAC CE or padding) of a certain MAC subPDU are both located within a CB group. Decoding a certain CB group does not depend on the successful reception of previous CB groups / CBs. For example, it is not necessary to obtain the MAC subheader of the MAC SDU (or MAC CE or padding or MAC subPDU) in the next CB group within the previous CB group. Therefore, even if the reception of the previous CB group / CB fails, the successfully received CB group / CB can be submitted to the MAC layer for processing, so that the receiving end can process the successfully received CB group / CB in a timely manner, thereby reducing service latency and allowing data to arrive within the service latency requirements as much as possible, which is conducive to improving the communication quality of the service or increasing system capacity. Furthermore, promptly submitting subsequently received CB groups / 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 additional memory (e.g., not requiring a large amount of on-chip memory), which can save costs. Alternatively, it can reduce DDR bandwidth requirements (e.g., not requiring a large amount of DDR bandwidth), while also reducing device power consumption caused by DDR erasure and writing. It is also beneficial for meeting the challenges of future services requiring lower latency and / or higher data rates.
[0519] On the other hand, the LCP execution scheme based on CB groups provided in this application can reduce resource overhead compared to the scheme based on CB granularity. For example, assuming the flowchart of the scheme based on CB granularity is shown in Figure 18, the first communication device determines the first size and quantity of CBs corresponding to the first TB (or determines the first size of C CBs corresponding to the first TB), and executes LCP based on each CB. The method for determining the first size and quantity of CBs corresponding to the first TB (or the first size of C CBs corresponding to the first TB) can be referred to the aforementioned related descriptions. The implementation of LCP based on each CB is similar to the implementation of LCP based on CB groups, the difference being that LCP is executed based on the size of the data portion of the CB.
[0520] For example, since the first size of the CB is usually small, when performing LCP based on the CB, the size of the MAC subPDU determined at the MAC layer and corresponding to the CB is also small. However, the SDU of the RLC layer can be large, for example, the typical data size is 1500 bytes (Byte), and therefore, the SDU of the RLC layer needs to be segmented when delivered to the MAC layer to match the size of the MAC subPDU, thereby increasing the overhead of the RLC segmentation. For example, each RLC segment needs to occupy 1-5 bytes of RLC header and 2-5 bytes of MAC subheader.
[0521] When performing LCP based on the CB group provided in the present application, since the size of the CB group is usually larger than the first size of the CB, compared with performing LCP based on the CB, the number of RLC SDU segments can be reduced, thereby reducing the number of corresponding RLC headers and MAC subheaders, and reducing the overhead of RLC segmentation.
[0522] In the above data processing method, performing LCP based on the CB group improves the granularity of LCP. In addition, the present application also provides a data processing method, in which a corresponding header can be added to the CB group, and the header carries the related information of the MAC subPDU to realize independent decoding of each CB group. For example, the header can include / replace other names, for example, information set, which is not limited.
[0523] As shown in FIG. 19, the data processing method can include the following steps:
[0524] S1901, the first communication device determines N CB groups corresponding to the first TB according to the first value.
[0525] For example, the implementation of determining N CB groups corresponding to the first TB according to the first value can refer to the related content described above, which is not repeated here. Other implementations of step S1901 can refer to the related description in the above step S1401, which is not repeated here.
[0526] Optionally, before S1901, the embodiments of the present application can further include: S1900A, the first communication device determines the first value (not shown in FIG. 19).
[0527] For example, the implementation of step S1900A can refer to the related description in the above step S1400A, which is not repeated here.
[0528] Optionally, before at least one of steps S1900A, S1901, S1902, S1903, the present application can further include: S1900B, the first communication device acquires the first resource or the related information of the first resource (not shown in FIG. 19).
[0529] For example, the implementation of step S1900B can be referred to the relevant description in step S1400B above, and will not be repeated here.
[0530] S1902, The first communication device determines the first TB.
[0531] For example, the first communication device determining the first TB may include / be replaced by: the first communication device determining the header corresponding to the CB group (or, N CB groups, or, each of the N CB groups, or, N-1 CB groups, or, each of the N-1 CB groups); or, the first communication device determining the header corresponding to the first CB group.
[0532] Optionally, the CB group (or, N CB groups, or, each of the N CB groups, or, N-1 CB groups, or, each of the N-1 CB groups) includes: the header corresponding to the CB group (or, N CB groups, or, each of the N CB groups, or, N-1 CB groups, or, each of the N-1 CB groups).
[0533] For example, N-1 CB groups can include / be replaced by: N-1 CB groups other than the first CB group, or the last N-1 CB groups among the N CB groups. For example, the first CB group can include / be replaced by: the starting CB group.
[0534] Optionally, the first CB group includes the header corresponding to the first CB group. For example, the first CB group is one of N CB groups, or one of N-1 CB groups other than the first CB group.
[0535] Optionally, the first TB corresponds to: N CB groups and the headers corresponding to some or all of the N CB groups. 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 related technologies, please refer to the relevant descriptions of LCP and the multiplexing of MAC CEs and MAC SDUs; further details will not be repeated here.
[0536] As one possible implementation, one or more of the N CB groups may contain incomplete MAC subPDUs. For example, as shown in Figure 20, CB group 1 includes complete MAC subPDUs 1 to MAC subPDU 2. I-2and MAC subPDU I-1 The first part, CB group 2, includes MAC subPDU. I-1 The remainder, and the complete MAC subPDU I To MAC subPDU Y .
[0537] For example, the header corresponding to a CB group can carry information indicating the first starting position in that CB group. This starting position is the location of the beginning portion of the MAC subPDU, or the starting position of the MAC subheader. In other words, this information indicates the location of the first "start portion of the MAC subPDU" in the CB group. For example, based on the example shown in Figure 20, for CB group 1, the first starting position is the location of the beginning portion of MAC subPDU 1, marked as position a in Figure 20; for CB group 2, since CB group 2 does not include a MAC subPDU... I-1 The starting part, therefore, the first starting position is MAC subPDU I The starting position is marked as position b in Figure 20. Thus, the header corresponding to CB group 1 can carry information to indicate the position of position a, and the header corresponding to CB group 2 can carry information to indicate the position of position b.
[0538] For example, the start portion may include / be replaced with: start bit, or start byte.
[0539] As one possible implementation, the first TB may not include / do not correspond to the header of the starting CB group among the N CB groups, or the starting CB group may not correspond to / do not have a header, or the header corresponding to the starting CB group may not include information indicating the first start position in the starting CB group; or, if a CB group includes at least one complete MAC subPDU and does not include incomplete MAC subPDUs, then the first TB may also not include / correspond to the header of that CB group, or the CB group may not correspond to / do not have a header, or the header corresponding to that CB group may not include information indicating the first start position in the CB group. For example, for the starting CB group or a CB group that includes at least one complete MAC subPDU but does not include incomplete MAC subPDUs, the first start position can be defaulted to the start position of the CB group (or, the data portion of the CB group).
[0540] S1903, the first communication device transmits the first TB. Correspondingly, the second communication device receives the first TB.
[0541] As one possible implementation, the first communication device transmits the first TB on the first resource. At this time, before step S1903, 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.
[0542] As one possible implementation, the second communication device receives the first TB at the granularity of CB groups.
[0543] For example, the implementation of step S1903 can be referred to the relevant description in step S1404 above, and will not be repeated here.
[0544] Optionally, before step S1903, this embodiment of the application may further include: the second communication device can determine the N CB groups corresponding to the first TB based on the first value.
[0545] For example, the implementation of the second communication device determining the N CB groups corresponding to the first TB based on the first value can be referred to the relevant description in step S1401 above, and will not be repeated here. Furthermore, there is no strict order in which the second communication device determines the N CB groups and the first communication device determines the N CB groups in step S1901 above. The first communication device can determine the N CB groups before the second communication device, or after the second communication device, or the first and second communication devices can determine the N CB groups simultaneously; there is no restriction.
[0546] S1904, The second communication device decodes some or all of the N CB groups respectively.
[0547] For example, the second communication device may decode some or all of the N CB groups, 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 group, or the second communication device decodes the second CB group, or the second communication device decodes the first CB group and the second CB group separately. The second CB group is located after the first CB group; please refer to the foregoing descriptions of the first and second CB groups, which will not be repeated here.
[0548] Optionally, this application may further include: a second communication device determining the header corresponding to a CB group (or, N CB groups, or, each of the N CB groups, or, N-1 CB groups, or, each of the N-1 CB groups); or, a first communication device determining the header corresponding to a first CB group.
[0549] As one possible implementation, the second communication device decodes the CB group according to the header corresponding to the CB group. For example, the second communication device receives data at the CB group level, verifies the CRC of each CB in the CB group, and decodes the CB group according to the header corresponding to the CB group after the CRC of each CB has been verified.
[0550] For example, if the first CB group is successfully received, but the CB or CB group preceding the first CB group fails to be received, the second communication device can decode the first CB group.
[0551] For example, decoding the first CB group can include / be replaced by: decoding the first CB group based on the header corresponding to the first CB group.
[0552] For example, if the second CB group is successfully received while the first CB group fails to be received, the second communication device can decode the second CB group.
[0553] For example, if some CBs in the first CB group are successfully received, the second communication device can decode the first CB group regardless of whether the CBs or CB groups preceding the first CB group were successfully received. For example, the first CB group contains CB1, CB2, and CB3, with CB1 preceding CB2 and CB2 preceding CB3. If CB1 and CB3 are successfully received, but CB2 fails to be received, the header corresponding to the first CB group indicates that the position of the first "start of MAC subPDU" in the first CB group is located in CB3. Regardless of whether the CBs or CB groups preceding the first CB group were successfully received, the second communication device can decode CB3 in the first CB group.
[0554] For example, this method allows the decoding of a CB group to be independent of the reception or decoding results of CBs in previous CB groups or CBs. Even if a CB group or CB fails to be received (e.g., CRC check failure) or fails to be decoded, subsequent CB groups or CBs can still be decoded.
[0555] As one possible implementation, if the second communication device decodes a portion of the N CB groups, then that portion of the CB groups represents successfully received CB groups, or in other words, the CRC verification of all CBs contained in that portion of the CB groups passes. If the second communication device decodes all of the N CB groups, it indicates that all N CB groups were successfully received, or in other words, the CRC verification of all CBs contained in the N CB groups passes.
[0556] The following explanation uses N CB groups, including the first CB group, as an example to illustrate the header format corresponding to each CB group. The header corresponding to the first CB group may include first information and / or second information.
[0557] For example, the first information can indicate whether the second information exists (i.e. whether the header corresponding to the first CB group includes the second information), or whether the bits of the second information are valid, or whether the first CB group includes the start portion of the MAC subPDU.
[0558] For example, the second information could indicate the first starting position in the first CB group, which is the position of the starting portion of the MAC subPDU in the first CB group.
[0559] For example, the first start position in the first CB group can be indicated by the position of the first start position in the CB group, or by the distance (or offset or interval in bits / bytes) or interval between the first start position and the start boundary of the first CB group / the start boundary of the data portion of the first CB group / the end position (or end boundary) of the header corresponding to the first CB group / the start position (or start boundary) of the header corresponding to the first CB group / the end boundary of the first CB group / the end boundary of the data portion of the first CB group, without limitation.
[0560] For example, the header corresponding to a CB group can be byte-aligned, meaning the header size of a CB group is a positive integer number of bytes, such as 2 bytes. For example, the header of the first CB group may include a first field and / or a second field. For example, the first field is used to carry first information. For example, the second field is used to carry second information. Optionally, the header of the first CB group may also include reserved bits.
[0561] For example, the size of the first field can be 1 bit. When the 1 bit is set to "1" (or "0"), it indicates that the second information exists, or that the bit of the second information is valid, or that the first CB group includes the start portion of the MAC subPDU; when the 1 bit is set to "0" (or "1"), it indicates that the second information does not exist, or that the bit of the second information is invalid, or that the first CB group does not include the start portion of the MAC subPDU.
[0562] For example, the size of the second field can be determined based on the size of the first CB group. For instance, if the size of the second field is x bits, the size of the first CB group can be 2. x For example, the header corresponding to group CB includes a second field, as shown in Figure 21(a). The size of the second field can be 12 bits, or, as shown in Figure 21(b), the size of the second field can be 10 bits. For example, R indicates reserved bits. It should be noted that the second field is represented as a position field in Figure 21; that is, the second field can also be called a position field or a position indication field. Of course, the second field can also have other names, without restriction.
[0563] For example, when the header corresponding to the CB group includes a first field and a second field, the first field may precede the second field. Taking a first field of 1 bit size as an example, the format of the header including the first field and the second field can be as shown in Figure 22(a) or Figure 22(b). For example, the first field is identified by C.
[0564] It should be noted that Figures 21 and 22 illustrate examples where the size of the second field is 12 bits or 10 bits. Of course, the size of the second field can have other values, and this application does not limit this. Figures 21 and 22 are merely exemplary illustrations of the header structure corresponding to the CB group and do not constitute any limitation on the scheme of this application. The header corresponding to the CB group can also exist in other formats, and this application does not specifically limit these.
[0565] As a first possible implementation, the header corresponding to the first CB group includes first information but excludes second information. The first information indicates that the second information is absent, or indicates that the first CB group does not include the beginning portion of a MAC subPDU. For example, the first CB group does not include the complete MAC subPDU, nor does it include the beginning position of a MAC subPDU. Alternatively, the first CB group may only include the latter half of a certain MAC subPDU.
[0566] As a second possible implementation, the header corresponding to the first CB group includes first information and second information, but the bits indicating the second information are invalid. For example, the first CB group does not include the complete MAC subPDU, nor does it include the start position of the MAC subPDU. For example, the first CB group only includes the latter half of a certain MAC subPDU. Exemplarily, the bits of the second field can be set to all "0" or all "1" to indicate that the bits of the second information are invalid.
[0567] As a third possible implementation, the header corresponding to the first CB group includes first information and second information. The first information indicates the presence of the second information, or indicates that the bits of the second information are valid, or indicates that the first CB group includes the start portion of a MAC subPDU. The second information indicates the first start position in the first CB group. For example, the first CB group may not include a complete MAC subPDU, but includes the start portion of an incomplete MAC subPDU; or, the first CB group may include at least one complete MAC subPDU and an incomplete MAC subPDU; or, the first CB group includes at least one complete MAC subPDU and does not include an incomplete MAC subPDU.
[0568] As a fourth possible implementation, the header corresponding to the first CB group includes second information, where the bits of the second information are valid and used to indicate the first start position in the first CB group. For example, the first CB group may not include a complete MAC subPDU, but may include the start portion of an incomplete MAC subPDU; or, the first CB group may include at least one complete MAC subPDU and an incomplete MAC subPDU; or, the first CB group may include at least one complete MAC subPDU and not include an incomplete MAC subPDU.
[0569] As a fifth possible implementation, the header corresponding to the first CB group includes second information (or includes a second field), but the bits of the second information are invalid. For example, the first CB group does not include the complete MAC subPDU, nor does it include the start position of the MAC subPDU. For example, the first CB group only includes the latter half of a certain MAC subPDU. For example, the bits of the second field can be set to all "0" or all "1" to indicate that the bits of the second information are invalid.
[0570] For example, in the fourth and fifth possible implementations described above, the validity of the bits of the second information can be determined by the value of the second field. For instance, if all bits of the second field are set to "0" or "1", the bits of the second information are invalid; otherwise, the bits of the second information are valid.
[0571] For example, based on the above implementation of the CB group header, if the header corresponding to the first CB group includes a first field and a second field, in step S1904 above, the second communication device can first parse the first field to obtain the first information, determine whether the header corresponding to the first CB includes the second field based on the first information, and if the second field is included, parse the second field to obtain the second information.
[0572] For example, in the first possible implementation described above, if the first information indicates that the second information does not exist, or indicates that the first CB group does not include the position of the start portion of the MAC subPDU, the second communication device can determine that the header corresponding to the first CB group does not include the second field, or in other words, does not include the second information.
[0573] For example, in the second possible implementation described above, if the bits indicating the second information in the first information are invalid, the second communication device can determine that the header corresponding to the first CB group includes the second field, or in other words, includes the second information, but the bits of the second information are invalid. In this case, the second communication device may not parse the second field, or in other words, ignore the bits of the second information.
[0574] For example, in the third possible implementation described above, if the first information indicates the presence of the second information, or indicates that the bits of the second information are valid, or indicates that the first CB group includes the start portion of a MAC subPDU, the second communication device can determine that the header corresponding to the first CB group includes a second field, and that the bits of the second field are valid. In this case, the second communication device can parse the second field, obtain the position indicated by the second information, and begin decoding the first CB group from the position indicated by the second information.
[0575] For example, based on the example shown in FIG20, the second communication device determines position a according to the second information included in the header corresponding to CB group 1, and starts decoding CB group 1 from position a; and determines position b according to the second information included in the header corresponding to CB group 2, and starts decoding CB group 2 from position b.
[0576] For example, based on the above implementation of the CB group header, when the header corresponding to the first CB group includes a second field but does not include the first field, in step S1904 above, the second communication device can first parse the second field to obtain the second information. If the bits of the second information are valid, then decoding of the first CB group begins from the position indicated by the second information; if the bits of the second information are invalid, it indicates that the first CB group does not include the starting position of the MAC subPDU. For example, if the first CB group only includes the latter half of a certain MAC subPDU, the first CB group cannot be decoded.
[0577] For example, in the fourth or fifth possible implementation described above, the second communication device can determine whether the bits of the second information are valid based on the value of the second field. If the bits of the second information are valid, the position indicated by the second information is obtained, and decoding of the first CB group begins from the position indicated by the second information; if the bits of the second information are invalid, the second communication device ignores the bits of the second information and / or does not decode the first CB group.
[0578] For example, based on the example shown in FIG20, the second communication device determines position a according to the second information included in the header corresponding to CB group 1, and starts decoding CB group 1 from position a; and determines position b according to the second information included in the header corresponding to CB group 2, and starts decoding CB group 2 from position b.
[0579] As one possible implementation, the first CB group can be one of the last N-1 CB groups out of N CB groups. For example, the first TB may not include the header corresponding to the first CB group among the N CB groups, or the header corresponding to the first CB group may not include the first and second information. For example, the position of the first "start of MAC subPDU" in the first CB group can be defaulted to the start position of that CB group.
[0580] Based on the above scheme, some or all CB groups can correspond to headers. The header of a certain CB group can carry information to indicate the position of the first "start of MAC subPDU" in that CB group. This allows the receiver to determine the structure of the MAC subPDU corresponding to the CB group based on the header indication, such as determining the position of the first "start of MAC subPDU" in the CB group. Therefore, the receiver can decode the CB group / CB without relying on the successful reception of previous CB groups / CBs. For example, the receiver can start decoding the CB group from the position of the first "start of MAC subPDU" in the CB group. This allows the receiver to process successfully received CB groups / CBs in a timely manner, avoiding the problem that a single CB error will prevent the entire TB or all subsequent CBs of the erroneous CB from being processed (or be blocked). 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 subsequently received CB groups / 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 additional memory (e.g., not requiring a large amount of on-chip memory), which can save costs. Alternatively, it can reduce DDR bandwidth requirements (e.g., not requiring a large amount of DDR bandwidth), while also reducing device power consumption caused by DDR erasure and writing. It is also beneficial for meeting the challenges of future services requiring lower latency and / or higher data rates.
[0581] Furthermore, the scheme provided in this application, in which one of the N CB groups corresponds to one header to indicate the position of the first "start portion of MAC subPDU" in that CB group, can reduce indication / resource overhead or header overhead compared to the scheme in which each / one CB corresponds to one header to indicate the position of the first "start portion of MAC subPDU" in that CB.
[0582] For example, in the case where each CB corresponds to one header, as shown in Figure 23, the header corresponding to CB0 needs to carry information to indicate the position 'a' of the start portion of MAC subPDU1, and the header corresponding to CB1 needs to carry information to indicate the MAC subPDU... I-1At position c of the beginning of the header, the header corresponding to CB2 needs to carry information to indicate the MAC subPDU. I At position b of the beginning of the header, the header corresponding to CB3 needs to carry information to indicate the MAC subPDU. I+1 The starting position d. Based on the above scheme provided in this application, it is only necessary to carry information in the header corresponding to CB group 1 to indicate position a, and carry information in the header corresponding to CB group 2 to indicate position b, thus reducing indication / resource overhead.
[0583] In the method shown in Figure 19 above, the header corresponding to the CB group carries information indicating the position of the first "starting part of the MAC subPDU" in the CB group. Furthermore, this application also provides a data processing method in which, for a CB group, incomplete MAC subPDUs are placed after all complete MAC subPDUs, so that the starting position of a CB group is as close as possible to the starting position of a MAC subPDU. Optionally, information indicating the position of incomplete MAC subPDUs can be carried in the header corresponding to the CB group. As shown in Figure 24, this data processing method includes the following steps:
[0584] S2401, The first communication device determines the N CB groups corresponding to the first TB based on the first value.
[0585] For example, the implementation of determining the N CB groups corresponding to the first TB based on the first value can be found in the aforementioned related content, and will not be repeated here.
[0586] For example, other implementations of step S2401 can be found in the relevant descriptions in step S1401 above, and will not be repeated here.
[0587] Optionally, prior to S2401, the embodiments of this application may further include: S2400A, the first communication device determines a first value (not shown in FIG24).
[0588] For example, the implementation of step S2400A can be referred to the relevant description in step S1400A above, and will not be repeated here.
[0589] Optionally, before at least one of steps S2400A, S2401, S2402, and S2403, this application may further include: S2400B, whereby the first communication device acquires the first resource or related information of the first resource (not shown in FIG24).
[0590] For example, the implementation of step S2400B can be referred to the relevant description in step S1400B above, and will not be repeated here.
[0591] S2402, The first communication device determines the first TB.
[0592] For example, the implementation of step S2402 can be referred to the relevant description in step S1902 above, and will not be repeated here.
[0593] As one possible implementation, the first TB may not include / do not correspond to the header corresponding to the starting CB group among the N CB groups, or the starting CB group may not correspond to / do not have a header, or the header corresponding to the starting CB group may not include information used to indicate the location of the incomplete MAC subPDU.
[0594] Optionally, the N CB groups corresponding to the first TB include at least one first type CB group. For example, the first type CB group 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 group.
[0595] For example, as shown in Figure 25, at least one of the N CB groups may include CB group 1 and CB group 2. CB group 1 contains 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, CB group 2 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 Previously. It should be noted that Figure 25 does not show all CB CRCs, but only the CRC of the last CB in a CB group.
[0596] Optionally, the N CB groups corresponding to the first TB include at least one second-type CB group and / or at least one third-type CB group. For example, the second-type CB group contains at least one complete MAC subPDU but does not contain incomplete MAC subPDUs. For example, the third-type CB group contains incomplete MAC subPDUs but does not contain complete MAC subPDUs.
[0597] Optionally, the first TB / CB group includes / corresponds to / exists in a header corresponding to the CB group. For example, the header corresponding to the CB group includes third information.
[0598] In one possible implementation, the first TB includes / corresponds to the header of the first type CB group. For example, the header of the first type CB group includes third information. For example, the first type CB group may include the first CB group, or the first CB group is the first type CB group.
[0599] Optionally, the third information indicates the location of the incomplete MAC subPDU in the first type CB group or CB group, or indicates the size of the incomplete MAC subPDU in the first type CB group or CB group. For example, the location of the incomplete MAC subPDU may include / be replaced by: the start position and / or end position of the incomplete MAC subPDU.
[0600] For example, the location of an incomplete MAC subPDU in a first type CB group or CB group can be indicated by the location of the incomplete MAC subPDU in the CB group, 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 group or CB group / the start boundary of the data portion of the first type CB group or CB group / the end position (or end boundary) of the header corresponding to the first type CB group or CB group / the start position (or start boundary) of the header corresponding to the first type CB group or CB group, 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 group or CB group / the end boundary of the data portion of the first type CB group or CB group, without limitation.
[0601] For example, based on the example shown in Figure 25, the header corresponding to CB group 1 may include third information to indicate the MAC subPDU. X-1,1 The starting position 'a', or MAC subPDU X-1,1 The size. The header corresponding to CB group 2 may include third information to indicate the MAC subPDU. X-1, The starting position b of 2, or, indicating the MAC subPDU.X-1,2 Size.
[0602] For example, the location of an incomplete MAC subPDU in a first type CB group or CB group may include / be replaced with the location of a complete MAC subPDU in a first type CB group or CB group.
[0603] For example, a complete MAC subPDU in a CB group can include / replace with: the last complete MAC subPDU in the CB group, or all complete MAC subPDUs in the CB group.
[0604] For example, the location of the complete MAC subPDU can include / be replaced with: the end position and / or the start position of the complete MAC subPDU.
[0605] For example, the size of the incomplete MAC subPDU in the first type CB group or CB group can include / be replaced with the size of the complete MAC subPDU in the first type CB group or CB group.
[0606] For example, based on the example shown in Figure 25, position a in group 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 group CB, or indicates the size of the complete MAC subPDU, such as MAC subPDU1 to MAC subPDU2. X-2 Total number of bits / bytes.
[0607] As one possible implementation, the header of the first type CB group or the CB group corresponding to it may also include fourth and / or fifth information. For example, the fourth information may indicate whether the incomplete MAC subPDU in the first type CB group or CB group includes the start portion of the MAC subPDU.
[0608] For example, based on the example shown in Figure 25, the incomplete MAC subPDU (i.e., MAC subPDU) in CB group 1 X-1,1 This includes the beginning portion of the MAC subPDU, and the incomplete MAC subPDU (i.e., MAC subPDU) in group CB2. X-1,2 The incomplete MAC subPDU in CB group 1 does not include the start portion of the MAC subPDU. Therefore, the header corresponding to CB group 1 may also include a fourth message to indicate that the incomplete MAC subPDU in CB group 1 includes the start portion of the MAC subPDU; the header corresponding to CB group 2 may also include a fourth message to indicate that the incomplete MAC subPDU in CB group 2 does not include the start portion of the MAC subPDU.
[0609] For example, the fifth information indicates the type of CB group, or indicates whether the header of the CB group includes (or does not include) the third information.
[0610] For example, the types of CB groups include at least one of the following: Type 1 CB group, Type 2 CB group, or Type 3 CB group.
[0611] As one possible implementation, the header corresponding to each of the N CB groups, or each of the N-1 CB groups, can include fifth information to indicate the type of the current CB group, or in other words, whether the current CB group is a first-type CB group, a second-type CB group, or a third-type CB group. For example, if the current CB group is a first-type CB group, the header corresponding to that CB group can also include third information. For example, if the current CB group is a first-type CB group, the header corresponding to that CB group can also include fourth information.
[0612] For example, as shown in Figure 26, the header corresponding to a CB group may include a first field (identified by C in Figure 26), which carries the fifth information. For instance, if the fifth information indicates that the current CB group is a first-type CB group, as shown in Figure 26(a), the header corresponding to this CB group may also include a second field, which carries the third information. Furthermore, the header corresponding to this CB group may also include a third field for carrying the fourth information; this third field is optional.
[0613] For example, when the fifth information carried in the first field indicates that the current CB group is a second type CB group or a third type CB group, as shown in Figure 26(b), the other bits in the header corresponding to the CB group 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.
[0614] It should be noted that the size and position of the first, second, and third fields in the header in Figure 26 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.
[0615] S2403, The first communication device transmits the first TB. Correspondingly, the second communication device receives the first TB.
[0616] As one possible implementation, the first communication device transmits the first TB on the first resource. At this time, before step S2403, 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.
[0617] As one possible implementation, the second communication device receives the first TB at the granularity of CB groups.
[0618] For example, the implementation of step S2403 can be referred to the relevant description in step S1404 above, and will not be repeated here.
[0619] Optionally, before step S2403, this embodiment of the application may further include: the second communication device can determine the N CB groups corresponding to the first TB based on the first value.
[0620] For example, the implementation of the second communication device determining the N CB groups corresponding to the first TB based on the first value can be referred to the relevant description in step S1401 above, and will not be repeated here. Furthermore, there is no strict order in which the second communication device determines the N CB groups and the first communication device determines the N CB groups in step S2401 above. The first communication device can determine the N CB groups before the second communication device, or after the second communication device, or the first and second communication devices can determine the N CB groups simultaneously; there is no restriction.
[0621] S2404, The second communication device decodes some or all of the N CB groups respectively.
[0622] For example, the second communication device may decode some or all of the N CB groups, 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 group, or the second communication device decodes the second CB group, or the second communication device decodes the first CB group and the second CB group separately. For example, if the second CB group is located after the first CB group, refer to the foregoing description of the first CB group and the second CB group; it will not be repeated here.
[0623] Optionally, this application may further include: a second communication device determining the header corresponding to a CB group (or, N CB groups, or, each of the N CB groups, or, N-1 CB groups, or, each of the N-1 CB groups); or, a first communication device determining the header corresponding to a first CB group.
[0624] As one possible implementation, the second communication device decodes the CB group according to the header corresponding to the CB group. For example, the second communication device receives data at the CB group level, verifies the CRC of each CB in the CB group, and decodes the CB group according to the header corresponding to the CB group after the CRC of each CB has been verified.
[0625] For example, if the first CB group is successfully received, but the CB or CB group preceding the first CB group fails to be received, the second communication device can decode the first CB group.
[0626] For example, decoding the first CB group can include / be replaced by: decoding the first CB group based on the header corresponding to the first CB group.
[0627] For example, if the second CB group is successfully received while the first CB group fails to be received, the second communication device can decode the first CB group.
[0628] For example, this method allows the decoding of a CB group to be independent of the reception or decoding results of CBs in previous CB groups or CBs. Even if a CB group or CB fails to be received (e.g., CRC check failure) or fails to be decoded, subsequent CB groups or CBs can still be decoded.
[0629] As one possible implementation, if the second communication device decodes a portion of the N CB groups, then that portion of the CB groups represents successfully received CB groups, or in other words, the CRC verification of all CBs contained in that portion of the CB groups passes. If the second communication device decodes all of the N CB groups, it indicates that all N CB groups were successfully received, or in other words, the CRC verification of all CBs contained in the N CB groups passes.
[0630] As one possible implementation, for a first type CB group, the second communication device decodes the first type CB group according to the header corresponding to the first type CB group. This includes: the second communication device determines, based on the third information carried in the header corresponding to the first type CB group, that the bits before the position indicated by the third information are complete MAC subPDUs. Therefore, it 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. It can decode them together with incomplete MAC subPDUs in CB groups following the current CB group and / or incomplete MAC subPDUs in CB groups preceding the current CB group, or it can concatenate incomplete MAC subPDUs from different CB groups in sequence before decoding.
[0631] For example, based on the example shown in Figure 25, the second communication device can decode the bits before position a in the header of CB group 1 and the bits before position b in the header of CB group 2. Based on the headers corresponding to CB group 1 and CB group 2, and combining the data bits after position a in CB group 1 and the data bits after position b in CB group 2, decoding is performed to obtain the complete MAC subPDU. X-1.
[0632] For example, for a second type CB group, the second communication device decodes the second type CB group according to the header corresponding to the second type CB group, which may include: the second communication device determines that the current CB group includes a complete MAC subPDU and does not include an incomplete MAC subPDU according to the fifth information carried in the header corresponding to the second type CB group, and therefore can decode all bits in the current CB group according to the format of a complete MAC subPDU and the MAC subheader.
[0633] For example, for a third type CB group, the second communication device decodes the third type CB group according to the header corresponding to the third type CB group. This may include: the second communication device determines that the current CB group does not contain a complete MAC subPDU according to the fifth information carried in the header corresponding to the third type CB group. Therefore, it may decode the incomplete MAC subPDUs in the CB groups after the current CB group and / or the incomplete MAC subPDUs in the CB groups before the current CB group together, or it may decode the incomplete MAC subPDUs in different CB groups by concatenating them in sequence.
[0634] In one possible implementation, in step S2403 above, the first communication device can perform MAC multiplexing (or packet assembly) by placing complete MAC subPDUs as much as possible to obtain the first TB. For example, the first communication device can determine the first TB through the following two steps:
[0635] Step 1: The first communication device determines L MAC subPDUs.
[0636] 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.
[0637] For example, L MAC subPDUs can include / be replaced with: L MAC subPDUs arranged in first order.
[0638] For example, L is a positive integer greater than 1.
[0639] 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.
[0640] 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.
[0641] Step 2: The first communication device reorders the L MAC subPDUs according to the size of the N CB groups to obtain the first TB.
[0642] As one possible implementation, during the reordering of L MAC subPDUs, it may be necessary to truncate some of the MAC subPDUs.
[0643] As one possible implementation, the first communication device can implement step 2 through the process shown in Figure 27. Referring to Figure 27, the process includes the following steps:
[0644] Optionally, S2701, determine whether there exists a complete MAC subPDU among the L MAC subPDUs that does not belong to the first n-1 CB groups and the nth CB group, where n = 1, 2, ..., N. Or, determine whether there exists a complete MAC subPDU that has not been assigned to any CB group.
[0645] For example, if there is at least one complete MAC subPDU that does not belong to the first n-1 CB groups and the nth CB group, perform the following step S2702; if there is no complete MAC subPDU that is not assigned to any CB group, determine the bits of the current incomplete MAC subPDU as bits in the nth CB group.
[0646] For example, when n=1, step S2701 can be replaced by: determining whether there exists a complete MAC subPDU among the L MAC subPDUs that does not belong to the nth CB group. Alternatively, when n=1, step S2701 can be omitted, that is, it is assumed that there exists a complete MAC subPDU that has not been assigned to any CB group.
[0647] Optionally, S2702, determine the first MAC subPDU.
[0648] For example, the first MAC subPDU is the first or any one of the L MAC subPDUs that does not belong to the first n-1 CB groups and the nth CB group, where n = 1, 2, ..., N. That is, the current first MAC subPDU has not been assigned to any CB group.
[0649] For example, as shown in Figure 28, 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 n=1, the first MAC subPDU can be MAC subPDU1. It should be noted that Figure 28 does not show all CB CRCs; only the CRC of the last CB in a CB group is shown.
[0650] Optionally, S2703, determine whether the remaining size of the nth CB group is greater than or equal to the size of the first MAC subPDU.
[0651] For example, the remaining size of the nth CB group refers to the size of the remaining data portion of the nth CB group, that is, the amount of data that the nth CB group can still hold or contain.
[0652] As one possible implementation, if the remaining size of the nth CB group is greater than or equal to the size of the first MAC subPDU, step S2704a is executed; if the remaining size of the nth CB group is less than the size of the first MAC subPDU, step S2704b is executed.
[0653] Optionally, S2704a, the first MAC subPDU is determined as the MAC subPDU in the nth CB group.
[0654] For example, based on the example shown in Figure 28, when n=1, the first MAC subPDU is MAC subPDU1. Assuming that the remaining size of the first CB group is greater than the size of MAC subPDU1, then MAC subPDU1 is determined as the MAC subPDU in the first CB group.
[0655] For example, after step S2704a, you can return to continue executing step S2701 until all data bits in the nth CB group are determined.
[0656] S2704b, Determine if a second MAC subPDU exists.
[0657] 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 n-1 CB groups and the nth CB group, and whose size is less than or equal to the remaining size of the nth CB group.
[0658] For example, if the size of a complete MAC subPDU is greater than the remaining size of the nth CB group, the first communication device continues to traverse the MAC subPDUs backward (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 nth CB group.
[0659] As one possible implementation, if a second MAC subPDU exists, step S2705a is executed; if a third MAC subPDU exists but a second MAC subPDU does not exist, step S2705b is executed; if a third MAC subPDU does not exist but a second MAC subPDU does not exist, step S2705c is executed.
[0660] S2705a, The second MAC subPDU is determined as the MAC subPDU in the nth CB group.
[0661] For example, after step S2705a, you can return to continue executing steps S2701 or S2704b until all data bits in the nth CB group are determined.
[0662] S2705b: Determine some or all of the bits of the third MAC subPDU as bits in the nth CB group.
[0663] For example, the third MAC subPDU is an incomplete MAC subPDU that does not belong to the first n-1 CB groups and the nth CB group (or, the first or any incomplete MAC subPDU).
[0664] For example, the third MAC subPDU is an incomplete MAC subPDU obtained by truncating a complete MAC subPDU from the above L MAC subPDUs.
[0665] As one possible implementation, the size of some or all of the bits in the third MAC subPDU is the remaining size of the nth CB group. That is, some or all of the bits in the third MAC subPDU can fill the data portion of the nth CB group.
[0666] As one possible implementation, the total size of the third MAC subPDU is less than the remaining size of the nth CB group. That is, the total size of the third MAC subPDU is insufficient to fill the data portion of the nth CB group. Continue execution of S2705c.
[0667] S2705c: Determine some or all of the bits of the fourth MAC subPDU as bits in the nth CB group (not shown in Figure 27).
[0668] For example, the fourth MAC subPDU is a complete MAC subPDU that does not belong to the first n-1 CB groups and the nth CB group (or, the first or any complete MAC subPDU).
[0669] As one possible implementation, the size of some or all of the bits in the fourth MAC subPDU is the remaining size of the nth CB group. That is, some or all of the bits in the fourth MAC subPDU can fill the data portion of the nth CB group. For example, some of the bits in the fourth MAC subPDU can be bits after truncating the fourth MAC subPDU.
[0670] The process shown in Figure 27 will be explained below with reference to the example shown in Figure 28. As shown in Figure 28, 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 .
[0671] When n=1:
[0672] First round of determination process:
[0673] Perform step S2701 above to determine if there is a complete MAC subPDU that does not belong to the nth CB group.
[0674] Perform the above step S2702 to determine that the first MAC subPDU is MAC subPDU1.
[0675] After executing step S2703, since the size of MAC subPDU1 is less than the remaining size of the first CB group, step S2704a is executed to determine MAC subPDU1 as the MAC subPDU in the first CB group. Then, the process returns to step S2701 to enter the second round of determination.
[0676] After the first round of determination is completed, the remaining size of the first CB group is: the size of the data portion of the first CB group - the size of MAC subPDU1.
[0677] Second round of determination process:
[0678] Perform step S2701 above to determine if there exists a complete MAC subPDU that does not belong to the first n-1 CB groups and the nth CB group.
[0679] Perform the above step S2702 to determine that the first MAC subPDU is MAC subPDU2.
[0680] After executing step S2703, since the size of MAC subPDU2 is less than the remaining size of the first CB group, step S2704a is executed to determine MAC subPDU2 as the MAC subPDU in the first CB group. Then, the process returns to step S2701 to enter the third round of determination.
[0681] After the second round of determination is completed, the remaining size of the first CB group is: the size of the data part of the first CB group - the size of MAC subPDU1 - the size of MAC subPDU2.
[0682] Third round of determination process:
[0683] Perform step S2701 above to determine if there exists a complete MAC subPDU that does not belong to the first n-1 CB groups and the nth CB group.
[0684] Perform the above step S2702 to determine that the first MAC subPDU is MAC subPDU3.
[0685] After executing step S2703, since the size of MAC subPDU3 is greater than the remaining size of the first CB group, step S2704b is executed to determine whether a second MAC subPDU exists.
[0686] In step S2704b, the first communication device iterates backward and finds that the size of MAC subPDU4 is less than the remaining size of the first CB group. Therefore, MAC subPDU4 is determined as the second MAC subPDU, and step S2705a is executed to determine MAC subPDU4 as the MAC subPDU in the first CB group. Then, it returns to step S2701 to continue the fourth round of determination process.
[0687] After the third round of determination is completed, the remaining size of the first CB group is: the size of the data part of the first CB group - the size of MAC subPDU1 - the size of MAC subPDU2 - the size of MAC subPDU4.
[0688] Fourth round of determination process:
[0689] Perform step S2701 above to determine if there exists a complete MAC subPDU that does not belong to the first n-1 CB groups and the nth CB group.
[0690] Perform the above step S2702 to determine that the first MAC subPDU is MAC subPDU3.
[0691] After executing step S2703, since the size of MAC subPDU3 is greater than the remaining size of the first CB group, step S2704b is executed to determine whether a second MAC subPDU exists.
[0692] In step S2704b, 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 S2705c to determine 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 group. Since the size of part of the bits in the fourth MAC subPDU is equal to the remaining size of the first CB group, that is, part of the bits in the fourth MAC subPDU can fill the data part of the first CB group.
[0693] After the fourth round of determination, all data bits in the first CB group can be determined. Therefore, when n=2, the data bits of the second CB group are determined.
[0694] When n=2:
[0695] First round of determination process:
[0696] Perform step S2701 above to determine if there exists a complete MAC subPDU that does not belong to the first n-1 CB groups and the nth CB group.
[0697] Perform the above step S2702 to determine that the first MAC subPDU is MAC subPDU5.
[0698] After executing step S2703, since the size of MAC subPDU5 is less than the remaining size of the second CB group, step S2704a is executed to determine MAC subPDU5 as the MAC subPDU in the second CB group. Then, the process returns to step S2701 to enter the second round of determination.
[0699] After the first round of determination is completed, the remaining size of the second CB group is: the size of the data portion of the second CB group - the size of MAC subPDU5.
[0700] Second round of determination process:
[0701] Perform step S2701 above to determine if there exists a complete MAC subPDU that does not belong to the first n-1 CB groups and the nth CB group.
[0702] Perform the above step S2702 to determine that the first MAC subPDU is MAC subPDU6.
[0703] After executing step S2703, since the size of MAC subPDU6 is less than the remaining size of the second CB group, step S2704a is executed to determine MAC subPDU6 as the MAC subPDU in the second CB group. Then, the process returns to step S2701 to enter the third round of determination.
[0704] After the second round of determination is completed, the remaining size of the second CB group is: the size of the data part of the second CB group - the size of MAC subPDU5 - the size of MAC subPDU6.
[0705] Third round of determination process:
[0706] Perform step S2701 above to determine if there exists a complete MAC subPDU that does not belong to the first n-1 CB groups and the nth CB group.
[0707] Perform the above step S2702 to determine that the first MAC subPDU is MAC subPDU7.
[0708] After executing step S2703, since the size of MAC subPDU7 is less than the remaining size of the second CB group, step S2704a is executed to determine MAC subPDU7 as the MAC subPDU in the second CB group. Then, the process returns to step S2701 to enter the fourth round of determination.
[0709] After the third round of determination is completed, the remaining size of the second CB group is: the size of the data part of the second CB group - the size of MAC subPDU5 - the size of MAC subPDU6 - the size of MAC subPDU7.
[0710] Fourth round of determination process:
[0711] Perform step S2701 above to determine if there exists a complete MAC subPDU that does not belong to the first n-1 CB groups and the nth CB group.
[0712] Perform the above step S2702 to determine that the first MAC subPDU is MAC subPDU8.
[0713] After executing step S2703, since the size of MAC subPDU8 is greater than the remaining size of the second CB group, step S2704b is executed to determine whether a second MAC subPDU exists.
[0714] In step S2704b, the first communication device traverses other MAC subPDUs and determines that there is no second MAC subPDU. Therefore, it executes step S2705b 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 group. Since the total size of all bits in the third MAC subPDU is equal to the remaining size of the second CB group, all bits in the third MAC subPDU can fill the data portion of the second CB group.
[0715] After the fourth round of determination, all data bits in the second CB group can be determined. Therefore, the data bits of the third CB group when n=3 are determined. The determination process for the data bits in subsequent CB groups is similar, and can be referred to the determination process of the first and second CB groups, which will not be repeated here.
[0716] Based on the above scheme, a complete MAC subPDU in a CB group can be located before an incomplete MAC subPDU. Some or all of the N CB groups can correspond to headers. The header of a certain CB group can carry information to indicate the position of the incomplete MAC subPDU in that CB group. This allows the receiver to determine the structure of the MAC subPDU corresponding to the CB group 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 group. Thus, the receiver can decode the CB group / CB without relying on the successful reception of the preceding CB group / CB. For example, the receiver can start decoding the CB group from the start position of the data part of the CB group and end at the start position of the incomplete MAC subPDU. This allows the receiver to process the data in the successfully received CB group / CB in a timely manner, avoiding the problem that a single CB error will prevent the entire TB or all subsequent CBs of the erroneous CB from being processed (or be blocked). 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 subsequently received CB groups / 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 additional memory (e.g., not requiring a large amount of on-chip memory), which can save costs. Alternatively, it can reduce DDR bandwidth requirements (e.g., not requiring a large amount of DDR bandwidth), while also reducing device power consumption caused by DDR erasure and writing. It is also beneficial for meeting the challenges of future services requiring lower latency and / or higher data rates.
[0717] Furthermore, the scheme provided in this application, in which one of the N CB groups corresponds to a header to indicate the starting position of the incomplete MAC subPDU in that CB group, can reduce the indication / resource overhead or header overhead compared to the scheme in which one of the C CB groups corresponds to a header to indicate the starting position of the incomplete MAC subPDU in that CB.
[0718] For example, in the case where one of the C CBs corresponds to one header, as shown in Figure 29, the header corresponding to CB0 needs to carry information to indicate the MAC subPDU. X At position a, the beginning of the first part, the header corresponding to CB1 needs to carry information to indicate the MAC subPDU. X The header corresponding to the second part, starting at position b, needs to carry information to indicate the MAC subPDU. Z The header corresponding to CB3 at the starting position c of the previous step needs to carry information to indicate the MAC subPDU.Z The starting position d of the latter part. Based on the above scheme provided by this application, it is only necessary to carry information in the header corresponding to CB group 1 to indicate the starting position of the incomplete MAC subPDU in CB group 1, and to carry information in the header corresponding to CB group 2 to indicate the starting position of the incomplete MAC subPDU in CB group 2, thus reducing the indication / resource overhead.
[0719] In the embodiments of this application, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion. For example, a process, method, system, product, or device 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 these processes, methods, products, or devices.
[0720] In this application, "instruction" may include: direct instruction, or indirect instruction, or explicit instruction, or implicit instruction.
[0721] In this application, "including" can include: direct inclusion, indirect inclusion, explicit inclusion, or implicit inclusion.
[0722] 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.
[0723] 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.
[0724] 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.
[0725] It should be noted that the order of the steps in the embodiments of this application is not limited by this application.
[0726] 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.
[0727] It should be noted that the terms "after" and "time" in this application do not strictly limit the specific point in time.
[0728] 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.
[0729] In one possible implementation, for the above method embodiments, in a CU-DU architecture or ORAN system, the function of interaction between the access network device and the terminal can be implemented by a DU or an O-DU. The information sent by the access network device to the terminal can be generated by a DU or an O-DU, or it can be generated by a CU or an O-CU and sent to a DU or an O-DU. The processing function of the access network device can be implemented by a CU or an O-CU, or it can be implemented by a DU or an O-DU, or it can be jointly implemented by a CU and a DU (or an O-CU and an O-DU), without limitation.
[0730] The method provided in this application has been described above. In addition, this application also provides a communication device for implementing the functions described in the above method embodiments.
[0731] It is understood that, in order to achieve the aforementioned functions, the communication device includes hardware structures and / or software modules corresponding to the execution of each function. Those skilled in the art should readily recognize that, based on the units and algorithm steps of the examples described in conjunction with the embodiments disclosed herein, this application can be implemented in hardware or a combination of hardware and computer software. Whether a function is executed in hardware or by computer software driving hardware depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0732] This application embodiment can divide the communication device into functional modules according to the above method embodiment. For example, each function can be divided into a separate functional module, or two or more functions can be integrated into one processing module. The integrated module can be implemented in hardware or as a software functional module. It should be noted that the module division in this application embodiment is illustrative and only represents one logical functional division. In actual implementation, there may be other division methods.
[0733] Figure 30 shows a schematic diagram of a communication device 300. The communication device 300 includes a processing module 3001 and a transceiver module 3002. The communication device 300 can be used to implement the functions of the first communication device and the second communication device described above.
[0734] In some embodiments, the communication device 300 may further include a storage module (not shown in FIG30) for storing program instructions and data.
[0735] In some embodiments, the transceiver module 3002, also referred to as a transceiver unit, is used to implement sending and / or receiving functions. The transceiver module 3002 may consist of a transceiver circuit, a transceiver, a transceiver unit, or a communication interface.
[0736] In some embodiments, the transceiver module 3002 may include a receiving module and a sending module, respectively configured to perform receiving and sending steps performed by the first communication device or the second communication device in the above method embodiments, and / or other processes to support the technology described herein; the processing module 3001 may be configured to perform processing steps performed by the first communication device or the second communication device in the above method embodiments, and / or other processes to support the technology described herein.
[0737] When the communication device 300 is used to implement the function of the second communication device:
[0738] Processing module 3001 is used to determine the N code block CB groups corresponding to the first transport block TB according to a first value; the first value is the number of CBs X contained in a CB group, or the number of CB groups Y corresponding to a TB; N, X, and Y are integers greater than or equal to 1; processing module 3001 is also used to decode some or all of the CB groups in the N CB groups respectively. Wherein, the N CB groups satisfy one of the following multiple conditions: the number of CBs contained in each of the N CB groups is the second value; or, the number of CBs contained in the first M CB groups in the N CB groups is the second value, and the number of CBs contained in the last NM CB groups is the third value, where M is a positive integer less than N; or, the number of CBs contained in the first NM CB groups in the N CB groups is the third value, and the number of CBs contained in the last M CB groups is the second value; or, the number of CBs contained in each of the N CB groups is the fourth value.
[0739] Optionally, the transceiver module 3001 is used to receive N CB groups.
[0740] Optionally, the processing module 3001 is further configured to decode some or all of the N CB groups respectively, including: the processing module 3001 is further configured to perform decoding on the first CB group among the N CB groups, where there are CB groups that failed to be received among the CB groups before the first CB group.
[0741] Optionally, the processing module 3001 is further configured to decode some or all of the N CB groups respectively, including: the processing module 3001 is further configured to perform decoding on the first CB group according to the header corresponding to the first CB group among the N CB groups.
[0742] When the communication device 300 is used to perform the functions of the first communication device:
[0743] Processing module 3001 is used to determine N code block (CB) groups corresponding to the first transport block (TB) based on a first value; the first value is the number of CBs (CBs) in a CB group X, or the number of CB groups corresponding to a TB Y; N, X, and Y are integers greater than or equal to 1; processing module 3001 is also used to perform logical channel priority (LCP) based on the first CB group. The first CB group is one of the N CB groups. The N CB groups satisfy one of the following conditions: the number of CBs in each of the N CB groups is the second value; or, the number of CBs in the first M CB groups of the N CB groups is the second value, and the number of CBs in the last NM CB groups is the third value, where M is a positive integer less than N; or, the number of CBs in the first NM CB groups of the N CB groups is the third value, and the number of CBs in the last M CB groups is the second value; or, the number of CBs in each of the N CB groups is the fourth value.
[0744] Optionally, the processing module 3001 is further configured to perform Logical Channel Priority (LCP) based on the first CB group, including: the processing module 3001 is further configured to perform LCP based on the size of the data portion of the first CB group, wherein the size of the data portion of the first CB group is determined based on the size of the first CB group and the size of the Cyclic Redundancy Check (CRC) code corresponding to each CB in the first CB group.
[0745] Optionally, each of the N CB groups contains a positive integer number of complete Media Access Control Sub-Protocol Data Units (MAC subPDUs).
[0746] Optionally, the processing module 3001 is further configured to determine the first TB based on the first data set; wherein the first data set is determined based on the execution of LCP by the first CB group; and the transceiver module 3002 is configured to send the first TB.
[0747] Optionally, after performing LCP based on the first CB group, the processing module 3001 is also used to perform LCP based on the second CB group among the N CB groups, wherein the second CB group is located after the first CB group among the N CB groups.
[0748] Optionally, the processing module 3001 is further configured to determine the first TB based on the first data set and the second data set; wherein the first data set is determined based on the execution of LCP on the first CB group, and the second data set is determined based on the execution of LCP on the second CB group; the transceiver module 3002 is configured to send the first TB.
[0749] All relevant content of each step involved in the above method embodiments can be referenced from the functional description of the corresponding functional module, and will not be repeated here.
[0750] In this application, the communication device 300 can be presented in an integrated manner by dividing it into various functional modules. Here, "module" can refer to an application-specific integrated circuit (ASIC), a circuit, a processor and memory that executes one or more software or firmware programs, integrated logic circuits, and / or other devices that can provide the above functions.
[0751] In some embodiments, when the communication device 300 in FIG30 is a chip or chip system, the function / implementation process of the transceiver module 3002 can be implemented through the input / output interface (or communication interface) of the chip or chip system, and the function / implementation process of the processing module 3001 can be implemented through the processor (or processing circuit) of the chip or chip system.
[0752] Since the communication device 300 provided in this embodiment can execute the above method, the technical effects it can achieve can be referred to the above method embodiment, and will not be repeated here.
[0753] As a possible product form, the first or second communication device described in the embodiments of this application can be implemented using one or more field programmable gate arrays (FPGAs), programmable logic devices (PLDs), controllers, state machines, gate logic, discrete hardware components, any other suitable circuits, or any combination of circuits capable of performing the various functions described throughout this application.
[0754] As another possible product form, the first or second communication device described in this application embodiment can be implemented using a general bus architecture. For ease of explanation, refer to FIG31, which is a schematic diagram of the structure of a communication device 3100 provided in an embodiment of this application. The communication device 3100 includes a processor 3101 and a transceiver 3102. The communication device 3100 can be a first communication device, or a chip, chip system, or module thereof therein; or, the communication device 3100 can be a second communication device, or a chip, chip system, or module thereof therein. FIG31 only shows the main components of the communication device 3100. In addition to the processor 3101 and transceiver 3102, the communication device may further include a memory 3103 and input / output devices (not shown in the figure).
[0755] Optionally, the processor 3101 is mainly used to process communication protocols and communication data, control the entire communication device, execute software programs, and process the data of the software programs, thereby implementing the methods provided in the above-described method embodiments. The memory 3103 is mainly used to store software programs and data. The transceiver 3102 may include a radio frequency (RF) circuit and an antenna. The RF circuit is mainly used for converting baseband signals to RF signals and processing RF signals. The antenna is mainly used for transmitting and receiving RF signals in the form of electromagnetic waves. Input / output devices, such as touch screens, displays, and keyboards, are mainly used to receive user input data and output data to the user.
[0756] Optionally, the processor 3101, transceiver 3102, and memory 3103 can be connected via a communication bus.
[0757] When the communication device is powered on, the processor 3101 can read the software program in the memory 3103, execute the instructions of the software program, and process the data of the software program. When data needs to be transmitted wirelessly, the processor 3101 performs baseband processing on the data to be transmitted and outputs the baseband signal to the radio frequency (RF) circuit. The RF circuit processes the baseband signal and transmits the RF signal outward in the form of electromagnetic waves through the antenna. When data is sent to the communication device, the RF circuit receives the RF signal through the antenna, converts the RF signal into a baseband signal, and outputs the baseband signal to the processor 3101. The processor 3101 converts the baseband signal into data and processes the data.
[0758] In another implementation, the radio frequency circuitry and antenna can be set up independently of the processor performing baseband processing. For example, in a distributed scenario, the radio frequency circuitry and antenna can be arranged remotely, independent of the communication device.
[0759] In some embodiments, those skilled in the art will recognize that the above-described communication device 300 can take the form of the communication device 3100 shown in FIG31 in terms of hardware implementation.
[0760] As an example, the function / implementation process of the processing module 3001 in Figure 30 can be implemented by the processor 3101 in the communication device 3100 shown in Figure 31 calling computer execution instructions stored in the memory 3103. The function / implementation process of the transceiver module 3002 in Figure 30 can be implemented by the transceiver 3102 in the communication device 3100 shown in Figure 31.
[0761] As another possible product form, the first or second communication device in this application may adopt the composition structure shown in FIG32, or include the components shown in FIG32. FIG32 is a schematic diagram of the composition of a communication device 3200 provided in this application. The communication device 3200 may be a first communication device, or a module, chip, or system-on-a-chip in the first communication device; or, it may be a second communication device, or a module, chip, or system-on-a-chip in the second communication device.
[0762] As shown in Figure 32, the communication device 3200 includes at least one processor 3201 and at least one communication interface (Figure 32 is merely an example illustrating the inclusion of one communication interface 3204 and one processor 3201). Optionally, the communication device 3200 may also include a communication bus 3202 and a memory 3203.
[0763] Processor 3201 can be a general-purpose central processing unit (CPU), a general-purpose processor, a network processor (NP), a digital signal processor (DSP), a microprocessor, a microcontroller, a PLD, or any combination thereof. Processor 3201 can also be other devices with processing functions, such as circuits, devices, or software modules, without limitation.
[0764] The communication bus 3202 is used to connect different components in the communication device 3200, enabling communication between them. The communication bus 3202 can be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus, etc. This bus can be divided into address bus, data bus, control bus, etc. For ease of illustration, only one thick line is used in Figure 32, but this does not indicate that there is only one bus or one type of bus.
[0765] Communication interface 3204 is used for communicating with other devices or communication networks. Exemplarily, communication interface 3204 can be a module, circuit, transceiver, or any device capable of communication. Optionally, the communication interface 3204 can also be an input / output interface located within processor 3201, used to implement signal input and signal output for the processor.
[0766] The memory 3203 may be a device with storage function, used to store instructions and / or data. The instructions may be computer programs.
[0767] For example, the memory 3203 may be a read-only memory (ROM) or other type of static storage device capable of storing static information and / or instructions; it may also be a random access memory (RAM) or other type of dynamic storage device capable of storing information and / or instructions; it may also be an electrically erasable programmable read-only memory (EEPROM), a compact disc read-only memory (CD-ROM) or other optical disc storage, optical disc storage (including compressed optical discs, laser discs, optical discs, digital universal optical discs, Blu-ray discs, etc.), magnetic disk storage media or other magnetic storage devices, etc., without limitation.
[0768] It should be noted that the memory 3203 can exist independently of the processor 3201, or it can be integrated with the processor 3201. The memory 3203 can be located inside or outside the communication device 3200, without limitation. The processor 3201 can be used to execute the instructions stored in the memory 3203 to implement the methods provided in the following embodiments of this application.
[0769] Optionally, the processor 3201 and / or memory 3203 may include an artificial intelligence (AI) module, which is used to implement AI-related functions. The AI module can be implemented through software, hardware, or a combination of both. For example, the AI module may include a radio network intelligent controller (RIC) module. For example, the AI module can be a near real-time RIC or a non-real-time RIC.
[0770] As an optional implementation, the communication device 3200 may also include an output device 3205 and an input device 3206. The output device 3205 communicates with the processor 3201 and can display information in various ways. For example, the output device 3205 may be a liquid crystal display (LCD), a light-emitting diode (LED) display device, a cathode ray tube (CRT) display device, or a projector, etc. The input device 3206 communicates with the processor 3201 and can receive user input in various ways. For example, the input device 3206 may be a mouse, keyboard, touchscreen device, or sensing device, etc.
[0771] In some embodiments, those skilled in the art will recognize that the communication device 300 shown in FIG30 can take the form of the communication device 3200 shown in FIG32 in terms of hardware implementation.
[0772] As an example, the function / implementation process of the processing module 3001 in Figure 30 can be implemented by the processor 3201 in the communication device 3200 shown in Figure 32 calling computer execution instructions stored in the memory 3203. The function / implementation process of the transceiver module 3002 in Figure 30 can be implemented by the communication interface 3204 in the communication device 3200 shown in Figure 32.
[0773] It should be noted that the structure shown in Figure 32 does not constitute a specific limitation on the first or second communication device. For example, in other embodiments of this application, the first or second communication device may include more or fewer components than shown in the figure, or combine some components, or split some components, or have different component arrangements. The components shown in the figure may be implemented in hardware, software, or a combination of software and hardware.
[0774] In some embodiments, this application also provides a communication device, which includes a processor for implementing the methods in any of the above method embodiments.
[0775] As one possible implementation, the communication device also includes a memory. This memory stores necessary computer programs and data. The computer program may include instructions, which a processor can invoke to instruct the communication device to execute the methods described in any of the above method embodiments. Alternatively, the memory may not be present in the communication device.
[0776] As another possible implementation, the communication device also includes an interface circuit, which is a code / data read / write interface circuit, used to receive computer execution instructions (which are stored in memory and may be read directly from memory or may be transmitted through other devices) and transmit them to the processor.
[0777] As another possible implementation, the communication device also includes a communication interface for communicating with modules outside the communication device.
[0778] It is understood that the communication device can be a chip or a chip system. When the communication device is a chip system, it can be composed of chips or may include chips and other discrete devices. This application does not specifically limit this.
[0779] This application also provides a computer-readable storage medium having a computer program or instructions stored thereon, which, when executed by a computer, implements the functions of any of the above-described method embodiments.
[0780] This application also provides a computer program product that, when executed by a computer, implements the functions of any of the above method embodiments.
[0781] Those skilled in the art will understand that, for the sake of convenience and brevity, the specific working processes of the systems, devices, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here.
[0782] It is understood that the systems, apparatuses, and methods described in this application can also be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative. For instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the couplings or direct couplings or communication connections shown or discussed may be through some interfaces; indirect couplings or communication connections between devices or units may be electrical, mechanical, or other forms.
[0783] The units described as separate components may or may not be physically separate; that is, they may be located in one place or distributed across multiple network units. The components shown as units may or may not be physical units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0784] In addition, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit.
[0785] In the above embodiments, implementation can be achieved, in whole or in part, through software, hardware, firmware, or any combination thereof. When implemented using software programs, implementation can be, in whole or in part, in the form of a computer program product. This 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 can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another 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 can be any available medium accessible to a computer or a data storage device containing one or more servers, data centers, etc., that can be integrated with the medium. The available medium can 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 drive (SSD)). In this embodiment, the computer may include the aforementioned apparatus.
[0786] Although this application has been described herein in conjunction with various embodiments, those skilled in the art, by reviewing the accompanying drawings, disclosure, and appended claims, will understand and implement other variations of the disclosed embodiments in carrying out the claimed application. In the claims, the word "comprising" does not exclude other components or steps, and "a" or "an" does not exclude a plurality. A single processor or other unit can implement several functions listed in the claims. While different dependent claims may recite certain measures, this does not mean that these measures cannot be combined to produce good results.
[0787] Although this application has been described in conjunction with specific features and embodiments, it is obvious that various modifications and combinations can be made thereto without departing from the scope of this application. Accordingly, this specification and drawings are merely illustrative descriptions of the application as defined by the appended claims, and are considered to cover any and all modifications, variations, combinations, or equivalents within the scope of this application. Clearly, those skilled in the art can make various alterations and modifications to this application without departing from its scope. Thus, if such modifications and modifications fall within the scope of the claims and their equivalents, this application is also intended to include such modifications and modifications.
Claims
A data processing method, characterized by, The method comprises: determining, according to a first value, N code block (CB) groups corresponding to a first transport block (TB); the first value is a number X of CBs included in one CB group, or a number Y of CB groups corresponding to one TB; the N, the X, and the Y are integers greater than or equal to 1; respectively decoding part or all of the N CB groups; wherein the N CB groups satisfy one of the following conditions: a number of CBs included in each of the N CB groups is a second value; or a number of CBs included in the first M CB groups of the N CB groups is a second value, and a number of CBs included in the last N-M CB groups of the N CB groups is a third value, the M being a positive integer less than the N; or a number of CBs included in the first N-M CB groups of the N CB groups is a third value, and a number of CBs included in the last M CB groups of the N CB groups is a second value; or a number of CBs included in each of the N CB groups is a fourth value. The method of claim 1, wherein The method further comprises: receiving or sending first indication information, the first indication information comprising information of the first value. The method according to claim 1 or 2, characterized in that respectively decoding part or all of the N CB groups comprises: performing decoding on a first CB group of the N CB groups, there being a CB group that fails to be received in a CB group before the first CB group. The method according to any one of claims 1 to 3, characterized in that each of the N CB groups comprises a positive integer number of complete MAC subPDUs. The method according to any one of claims 1 to 4, characterized in that respectively decoding part or all of the N CB groups comprises: performing decoding on a first CB group of the N CB groups according to a header corresponding to the first CB group. The method according to any one of claims 1, 2 or 5, characterized in that, the N CB groups comprise a first CB group, a header corresponding to the first CB group comprising first information and / or second information; wherein the first information indicates whether the second information exists, or indicates whether bits of the second information are valid, or indicates whether a start portion of a MAC subPDU is included in the first CB group; the second information indicates a first start position in the first CB group, the start position being a position of the start portion of the MAC subPDU. The method according to claim 5 or 6, characterized in that the first CB group is one of the last N-1 CB groups of the N CB groups. The method according to any one of claims 1, 2 or 5, characterized in that, the N CB groups comprise a first CB group, the first CB group comprising at least one complete MAC subPDU and at least one incomplete MAC subPDU, the at least one complete MAC subPDU being located before the at least one incomplete MAC subPDU; a header corresponding to the first CB group comprising third information, the third information indicating a position of the incomplete MAC subPDU in the first CB group. The method of claim 8, wherein the header corresponding to the first CB group further comprises fourth information and / or fifth information; The fourth information indicates whether the incomplete MAC subPDU includes a starting part of a MAC subPDU; and the fifth information indicates a type of the first CB group, the type of the first CB group being a first type CB group, and the first type CB group including at least one complete MAC subPDU and at least one incomplete MAC subPDU. A data processing method, characterized by, The method comprises: determining N CB groups corresponding to a first transport block (TB) according to a first value, the first value being a number X of CBs included in one CB group or a number Y of CB groups corresponding to one TB, the N, the X, and the Y being integers greater than or equal to 1; performing logical channel prioritization (LCP) based on a first CB group, the first CB group being one of the N CB groups; The N CB groups satisfy one of the following conditions: each of the N CB groups includes a second number of CBs; or a first M of the N CB groups include a second number of CBs, and a last N-M of the N CB groups include a third number of CBs, the M being a positive integer less than the N; or a first N-M of the N CB groups include a third number of CBs, and a last M of the N CB groups include a second number of CBs; or each of the N CB groups includes a fourth number of CBs. The method of claim 10, wherein performing logical channel prioritization (LCP) based on a first CB group, the first CB group being one of the N CB groups; performing LCP based on a size of a data part of the first CB group, the size of the data part of the first CB group being determined based on a first size of the first CB group and a size of a CB CRC corresponding to each CB in the first CB group. The method according to claim 10 or 11, characterized in that The first CB group includes a positive integer number of complete medium access control sub-protocol data units (MAC subPDUs). The method according to any one of claims 10-12, characterized in that The method further comprises: determining the first TB based on a first data set, wherein the first data set is determined based on performing LCP based on the first CB group; transmitting the first TB. The method according to any one of claims 10-12, characterized in that After performing LCP based on the first CB group, the method further comprises: performing LCP based on a second CB group of the N CB groups, the second CB group being located after the first CB group in the N CB groups. The method of claim 14, wherein The method further comprises: determining the first TB based on a first data set and a second data set, wherein the first data set is determined based on performing LCP based on the first CB group, and the second data set is determined based on performing LCP based on the second CB group; transmitting the first TB. The method according to any one of claims 10-15, characterized in that The method further comprises: transmitting or receiving first indication information, the first indication information including information of the first value. The method according to any one of claims 1 to 16, characterized in that The N = ceil(C / X), wherein the C is a number of CBs corresponding to the first TB, the C being an integer greater than or equal to 1, and the ceil representing rounding up. The method according to any one of claims 1-17, wherein In a case that C / X is an integer, each of the N CB groups contains CBs in the second number of values; In a case that C / X is not an integer, the first M CB groups of the N CB groups contain CBs in the second number of values, and the last N-M CB groups contain CBs in the third number of values; or, the first N-M CB groups of the N CB groups contain CBs in the third number of values, and the last M CB groups contain CBs in the second number of values. The C is an integer greater than or equal to 1. The method of claim 18, wherein The C is greater than or equal to the X. According to any one of claims 1-17, in a case that C is less than X, each of the N CB groups contains CBs in the fourth number of values, and the fourth number of values is the C, which is the number of CBs corresponding to the first TB and is an integer greater than or equal to 1. The M=N-1, or the M=floor(C / X); wherein floor represents down rounding. The method according to any one of claims 1 to 20, characterized in that According to any one of claims 1-21, in a case that C is less than X, each of the N CB groups contains CBs in the fourth number of values, and the fourth number of values is the C, which is the number of CBs corresponding to the first TB and is an integer greater than or equal to 1. The second number of values is the X. The third number of values is C-floor(C / X)×the second number of values. According to any one of claims 1-20, in a case that C is less than X, each of the N CB groups contains CBs in the fourth number of values, and the fourth number of values is the C, which is the number of CBs corresponding to the first TB and is an integer greater than or equal to 1. The second number of values is the X. The third number of values is X-1. The N=min(C,Y), or N=Y; wherein the C is the number of CBs corresponding to the first TB, and the C is an integer greater than or equal to 1. The method according to any one of claims 1 to 16, characterized in that According to any one of claims 1-16 or 24, in a case that C / N is an integer, each of the N CB groups contains CBs in the second number of values; In a case that C / N is not an integer, the first M CB groups of the N CB groups contain CBs in the second number of values, and the last N-M CB groups contain CBs in the third number of values; or, the first N-M CB groups of the N CB groups contain CBs in the third number of values, and the last M CB groups contain CBs in the second number of values. The M=mod(C,N), wherein mod represents a remainder operation. According to any one of claims 1-20, 24-26, the second number of values is ceil(C / N), The method according to any one of claims 1-20, 23-25, characterized in that, The third number of values is floor(C / N). The X or the Y is associated with one of the following items: a terminal, a downlink control information DCI, a TB, a semi-persistent scheduling SPS, and a configured grant CG. The communication device comprises a processor; the processor is configured to run a computer program or instructions, so that the communication device performs the method according to any one of claims 1-28. A computer readable storage medium stores computer instructions or programs, when the computer instructions or programs are run on a computer, so that the method according to any one of claims 1-28 is performed. The method according to any one of claims 1 to 27, characterized in that A communication device, characterized by A computer-readable storage medium, characterized by A computer program product, characterized in that The computer program product comprises computer instructions; when some or all of the computer instructions are run on a computer, the method as claimed in any one of claims 1 to 28 is caused to be performed.
Citation Information
Patent Citations
Data transmission method and device
CN108023721A
Signaling for relaying before decoding
CN115552820A
Code block group boundary and mac subheader alignment
US20240106573A1
HARQ codebook determination for multi-pdsch scheduling
WO2022212387A1
Methods, devices, and systems for transmitting multiple transport block groups
WO2023060378A1