Communication method, communication apparatus, storage medium, and program product
Patent Information
- Application Number
- PCT/CN2026/079741
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2025-03-24
- Filing Date
- 2026-02-24
- Publication Date
- 2026-10-01
Smart Images

Figure CN2026079741_01102026_PF_FP_ABST
Abstract
Description
A communication method, communication device, storage medium, and program product.
[0001] This disclosure claims priority to Chinese patent application No. 202510353064.8, filed on March 24, 2025, the entire contents of which are incorporated herein by reference. Technical Field
[0002] This disclosure relates to the field of communication technology, and in particular to a communication method, communication device, storage medium, and program product. Background Technology
[0003] In recent years, with the development of wireless communication technology, the collaborative design of the Layer 2 Media Access Control (MAC) layer and the Layer 1 Physical Layer (PHY) in wireless access network protocols has become a key aspect of improving system performance. Among these, the transport block (TB), as the basic unit of physical layer data transmission, directly affects system throughput and resource utilization through its interaction mechanism with the MAC protocol data unit (MAC PDU). Summary of the Invention
[0004] On the one hand, a communication method is provided, which is applied to a first node and includes: acquiring a data unit to be sent, the data unit including N data block groups, each data block group including one or more data blocks, and boundary anchor points are set in the N data block groups, where N is an integer greater than 1; and sending the transmission block corresponding to the data unit to a second node based on the physical resources configured in the first node.
[0005] On the other hand, a communication method is provided, which is applied to a second node, comprising: receiving a transport block sent by the first node based on the physical resources of the first node, wherein the transport block carries data units, the data units include N data block groups, each data block group includes one or more data blocks, and boundary anchors are set in the N data block groups; extracting data from a target data block group from the transport block according to the boundary anchors in the N data block groups, wherein a target data block group is a valid data block group among the N data block groups.
[0006] On the other hand, a communication device is provided for use in a first node, the device comprising: an acquisition module and a transmission module.
[0007] The acquisition module is used to acquire the data unit to be sent. The data unit includes N data block groups, each data block group includes one or more data blocks, and boundary anchor points are set in the N data block groups, where N is an integer greater than 1. The sending module is used to send the transmission block corresponding to the data unit to the second node based on the physical resources configured in the first node.
[0008] On the other hand, a communication device is provided for use in a second node, the device comprising: a receiving module and a processing module.
[0009] The receiving module is used to receive the transport block sent by the first node based on the physical resources of the first node. The transport block carries data units, and the data units include N data block groups. Each data block group includes one or more data blocks, and boundary anchor points are set in the N data block groups. The processing module is used to extract the data in the target data block group from the transport block according to the boundary anchor points in the N data block groups. A target data block group is a data block group that has been verified correctly among the N data block groups.
[0010] In another aspect, a communication device is provided, comprising: a memory and a processor. The memory and the processor are coupled. The memory is used to store a computer program. When the processor executes the computer program, it implements the aforementioned communication method.
[0011] In another aspect, a computer-readable storage medium is provided, on which computer program instructions are stored, which, when executed by a processor, implement the above-described communication method.
[0012] On the other hand, a computer program product is provided, which includes computer program instructions that, when executed, implement the above-described communication method. Attached Figure Description
[0013] To more clearly illustrate the technical solutions in this disclosure, the accompanying drawings used in some embodiments of this disclosure will be briefly described below. Obviously, the drawings described below are merely drawings of some embodiments of this disclosure, and those skilled in the art can obtain other drawings based on these drawings.
[0014] Figure 1 is a data structure diagram of a MAC and PHY according to some embodiments.
[0015] Figure 2 is an architecture diagram of a communication system according to some embodiments.
[0016] Figure 3 is a flowchart of a communication method according to some embodiments.
[0017] Figure 4 is a flowchart of another communication method according to some embodiments.
[0018] Figure 5 is a flowchart of another communication method according to some embodiments.
[0019] Figure 6 is an example diagram of CB / CBG and MAC subPDU alignment according to some embodiments.
[0020] Figure 7 is an example diagram of PHY resource boundary alignment with MAC subPDU according to some embodiments.
[0021] Figure 8 is an example diagram of another PHY resource boundary aligned with a MAC subPDU according to some embodiments.
[0022] Figure 9 is an example diagram of the insertion position of a boundary identifier relative to a MAC subPDU according to some embodiments.
[0023] Figure 10 is an example diagram of the insertion position of another boundary identifier relative to the MAC subPDU according to some embodiments.
[0024] Figure 11 is a block diagram of a communication device according to some embodiments.
[0025] Figure 12 is a block diagram of another communication device according to some embodiments.
[0026] Figure 13 is a block diagram of another communication device according to some embodiments. Detailed Implementation
[0027] The technical solutions of this disclosure will now be clearly and completely described with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this disclosure, and not all embodiments. Based on the embodiments of this disclosure, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this disclosure.
[0028] It should be noted that in this disclosure, the words "exemplarily" or "for example" are used to indicate examples, illustrations, or explanations. Any embodiment or design described as "exemplarily" or "for example" in this disclosure should not be construed as being more preferred or advantageous than other embodiments or designs. Specifically, the use of the words "exemplarily" or "for example" is intended to present the relevant concepts in a specific manner.
[0029] Hereinafter, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of technical features indicated. Thus, a feature defined as "first" or "second" may explicitly or implicitly include one or more of that feature.
[0030] In the description of this disclosure, unless otherwise stated, " / " means "or," for example, A / B can mean A or B. "And / or" in this document is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A alone, A and B simultaneously, and B alone. Furthermore, "at least one" means one or more, and "more than one" means two or more.
[0031] Currently, a layered design is generally adopted in relevant communication technologies. For example, the radio access network (RAN) protocol in 5G and future 6G technologies includes at least Layer 1 and Layer 2. Layer 1 includes at least the physical layer, and Layer 2 includes at least the MAC layer. Layer 2 may also include a radio link control (RLC) sublayer. This layered design simplifies the protocol and facilitates the iterative upgrade of communication technologies.
[0032] In the current fifth-generation mobile communication technology (5G), also known as new radio (NR), at least one MAC PDU is carried in one TB of physical layer wireless transmission. A MAC PDU can include several MAC sub-protocol data units (MAC subPDUs) of varying lengths. Each MAC subPDU includes a MAC subheader and a payload. The payload can be a MAC control element (CE), a MAC service data unit (SDU), padding, or no payload. The length of a MAC subPDU can be determined by its corresponding MAC subheader.
[0033] A MAC PDU is encapsulated into a TB by the physical layer for transmission. A TB is typically transmitted on a set of physical layer resources or physical layer channels. Furthermore, a TB can be divided into multiple code blocks (CBs). Generally, the lengths of the code blocks are approximately the same. Physical layer resources or physical channels typically include frequency domain resources, time domain resources, spatial domain resources, code domain resources, etc., which will not be listed here.
[0034] The data structures for MAC and PHY are shown in Figure 1. The MAC PDU structure includes multiple MAC subPDUs (MAC subPDU 0, MAC subPDU 1, ... MAC subPDU N), and one or more MAC subPDUs (such as MAC subPDU 1) include a MAC subHeader and a payload. Furthermore, the TB structure encapsulating multiple MAC subPDUs includes multiple CBs (CB 0, CB 1, ... CB M), and the entire TB is carried on a single physical channel or physical resource.
[0035] In related technologies, from the data receiver's perspective, the Data Block (TB) and each CB have their corresponding check fields, such as the cyclic redundancy check (CRC) field. Although the physical layer can determine whether the entire TB and each CB within the TB have been received correctly based on these check fields, the MAC layer cannot extract some MAC subPDUs from the partially correct TB. The reason for this is that the MAC layer cannot identify the boundaries of each MAC sub-PDU.
[0036] In other words, based on the MAC sub-PDU structure in related technologies, the receiver can only identify the boundaries of each MAC sub-PDU and extract each MAC sub-PDU from a completely correct TB. That is, currently the PHY only transmits a completely correct TB to the MAC. Even if there are very few errors in the TB decoded by the physical layer, the entire TB will be discarded.
[0037] For example, if CB 0 in TB is incorrect, it means that MAC subPDUs 0 and 1 are incorrect. Therefore, the lengths of MAC subPDUs 0 and 1 cannot be known, and consequently, the start position and length of MAC subPDU 2 cannot be known. And so on, naturally, the boundaries of all subsequent MAC subPDUs cannot be identified. In other words, even if CB 1 through CB M are all correct, meaning MAC subPDUs 2 through N are received correctly, the data is still unusable for the MAC layer.
[0038] In other words, the current structure of MAC PDU has the problem that it requires parsing from the first MAC subPDU in sequence to recover all MAC subPDUs. If a MAC subPDU is incorrect, the starting position of subsequent MAC subPDUs cannot be obtained.
[0039] In summary, with the development of wireless transmission technology, the speed of 6G communication systems may reach hundreds of gigabits per second. A TB may carry hundreds or even thousands of MAC layer data blocks. This design, which discards a large amount of data due to a few errors, will greatly reduce the efficiency of data transmission.
[0040] Therefore, how to read the MAC PDU in the TB when there are bit errors and improve data transmission efficiency has become a technical problem that urgently needs to be solved.
[0041] It should be noted that, for ease of description, the protocol data unit of layer 2 will be referred to as a data unit, and the MAC PDU will still be used as an example in the following description; the sub-data unit in the layer 2 data unit will be referred to as a data block (DB), and the MAC subPDU will still be used as an example in the following description.
[0042] It should be noted that the MAC layer here can also be an enhanced MAC layer, a broader layer 2. For example, some functions of traditional RLC can be integrated into the MAC layer. Specifically, it can include at least one of the following enhanced functions: data segmentation (also known as partitioning), data resegmentation, data segment reorganization, data block numbering allocation, data block sorting, etc.
[0043] Based on this, to solve the above-mentioned technical problems, this disclosure provides a communication method applied to the transmission and reception scenario of TB. In the transmission scenario where TB carries MAC PDU (i.e., data unit), TB may have bit errors (i.e., CRC check failure in TB). The bit errors in TB may only affect part of the data in MAC PDU. In order to extract the other part of the data in MAC PDU that is not affected by bit errors from TB, MAC PDU can be divided into multiple groups of data blocks consisting of one or more MAC subPDUs (data blocks). By using the boundary anchor points set between each two data block groups, the position of each data block group in TB can be determined. Thus, the part of the data in MAC PDU that is not affected by bit errors can be extracted from the TB with bit errors, avoiding the problem of reduced data transmission efficiency caused by discarding a large amount of data due to a few errors, and improving data transmission efficiency.
[0044] In this embodiment of the disclosure, the network architecture of the mobile communication network (including but not limited to second-generation mobile communication technology (2G), third-generation mobile communication technology (3G), fourth-generation mobile communication technology (4G), 5G, and future mobile communication networks (such as the evolution of future fifth-generation mobile communication technology (5G-A), sixth-generation mobile communication technology (6G)), and seventh-generation mobile communication technology (7G)) may include at least a first communication node and a second communication node, which may be referred to as the first node and the second node, respectively.
[0045] For example, as shown in FIG2, it is an architecture diagram of a communication system provided in an embodiment of the present disclosure. The communication system may include: a first node 201 and a second node 202.
[0046] When the first node 201 sends the transport block corresponding to the data unit to the second node 202, it can divide the data unit and distinguish the boundaries between the various division results in the data unit by setting boundary anchor points. Then, the first node 201 can send the transport block corresponding to the data unit with the set boundary anchor points to the second node 202.
[0047] The second node 202 can receive the transmission block corresponding to the data unit sent by the first node 201, and determine the position of each partition result obtained by the first node 201 in the data unit based on the boundary anchor point set by the first node 201 for the data unit, and then extract the data of each partition result from the transmission block in a targeted manner.
[0048] The partitioning result can be a single DB within a data unit or a data group (DB group, DBG) consisting of multiple DBs.
[0049] Boundary anchors can be boundary identifiers inserted within data units. Alternatively, boundary anchors can be physical layer boundaries.
[0050] The physical layer boundary can be the boundary of a CB or CB group (CBG) within the TB. Alternatively, the physical layer boundary can be the boundary of physical resources (such as time-domain resources, frequency-domain resources, spatial-domain resources, or code-domain resources).
[0051] In this way, by enhancing the data structure or mapping method of MAC / PHY, there are multiple anchor points in the MAC PDU that define the boundaries of the MAC subPDU. Thus, even if some data is incorrect, the receiver can recover the MAC layer data block from the partially correct PHY layer data unit based on the valid anchor points.
[0052] Optionally, the boundary anchor point set by the first node 201 can be dynamically configured by the second node 202 through signaling. Alternatively, the boundary anchor point set by the first node 201 can be pre-configured by the first node 201 and the second node 202. Or, the boundary anchor point set by the first node 201 can be determined autonomously by the first node 201.
[0053] In this embodiment of the disclosure, when the boundary anchor point set by the first node 201 is determined autonomously by the first node 201, the first node 201 needs to send third indication information to the second node 202 to indicate the boundary anchor point.
[0054] It should be noted that the first node 201 can be a user equipment node, such as a passive IoT device, tag, or terminal. The second node 202 can be a network equipment node, such as a base station, auxiliary node, or intermediate node.
[0055] In this context, a base station (BS) can be a base station in LTE, Long Term Evolution Advanced (LTEA) or an evolved Node B (eNB or eNodeB), a base station device (gNB) in a 5G network, or a base station in a future communication system. Base stations can include various macro base stations, micro base stations, femtocell base stations, wireless remote extensions, reconfigurable intelligent surfaces (RISS), routers, relay stations, transmission and reception points (TRPs), receivers, access points (APs), wireless fidelity (Wi-Fi) devices, and other network-side equipment. A base station can sometimes also be referred to as a reader or reader used for communication with terminals.
[0056] A terminal can be a device with wireless transceiver capabilities. Terminals can be mobile phones, tablets, computers with wireless transceiver capabilities, virtual reality (VR) terminals, augmented reality (AR) terminals, wireless terminals in industrial control, wireless terminals in self-driving vehicles, wireless terminals in remote medical care, wireless terminals in smart grids, wireless terminals in transportation safety, wireless terminals in smart cities, wireless terminals in smart homes, and so on. The embodiments of this disclosure do not limit the application scenarios. A terminal may also be referred to as a user, user equipment (UE), A-IoT device, access terminal, UE unit, UE station, mobile station, mobile station, remote station, transmitter, remote terminal, mobile device, UE terminal, wireless communication device, UE agent, or UE device, etc., and the embodiments of this disclosure do not limit this to these terms.
[0057] It should be noted that Figure 2 is only an exemplary framework diagram. The number of devices included in Figure 2 and the names of each device are not limited. In addition to the devices shown in Figure 2, the communication system may also include other devices, such as core network devices.
[0058] The application scenarios of the embodiments disclosed herein are not limited. The system architecture and business scenarios described in the embodiments of this disclosure are for the purpose of more clearly illustrating the technical solutions of the embodiments of this disclosure, and do not constitute a limitation on the technical solutions provided by the embodiments of this disclosure. As those skilled in the art will know, with the evolution of network architecture and the emergence of new business scenarios, the technical solutions provided by the embodiments of this disclosure are also applicable to similar technical problems.
[0059] Figure 3 shows a flowchart of a communication method. As shown in Figure 3, the communication method is applied to the first node and includes: S301-S302.
[0060] In S301, the data unit to be sent is acquired.
[0061] The data unit is the protocol data unit of layer 2 as shown above.
[0062] In this embodiment of the disclosure, the data unit may include N data block groups, each data block group includes one or more data blocks, and a boundary anchor point is provided between any two adjacent data block groups in the N data block groups.
[0063] Where N is an integer greater than 1, and the data block is a sub-data unit in the layer 2 data unit shown above.
[0064] It should be noted that, in this embodiment of the disclosure, the boundary anchor point can be a boundary identifier inserted in the data unit. Alternatively, the boundary anchor point can be a physical layer boundary.
[0065] In some embodiments, the boundary anchor point corresponding to a data block group may include at least one of the following 1.1-1.3:
[0066] 1.1 The boundary of a transmission unit (i.e., the physical layer boundary);
[0067] 1.2 Setting the boundary identifier in the frame header of a data block within a data block group;
[0068] 1.3. Set the boundary identifier before the data block group.
[0069] For the transmission unit shown in 1.1 above, a transmission unit is used to carry a data block group, and the transmission unit can be a code block group in a transmission block or a physical resource block group in a physical resource.
[0070] A code block group may include one or more code blocks, and a physical resource block group may include one or more physical resource blocks.
[0071] It should be noted that the discussion here involves the concept of groups, such as data block groups and code block groups. In a special case, a group can contain only one member. For example, in this case, a data block group and a data block are equivalent. The same applies to other concepts, which will not be elaborated on further.
[0072] In this embodiment of the disclosure, the physical resources configured for the first node may include at least one of the following: time domain resources, frequency domain resources, code domain resources, and spatial domain resources.
[0073] The following describes, with reference to specific embodiments, the method described in 1.1 above, which uses the boundary of the transmission unit as the boundary anchor point of the data block group.
[0074] In some embodiments, during the process of the first node acquiring the data unit to be sent, the first node can encapsulate the data to be sent into a data unit and divide the transmission resources (such as the transmission block or physical resources mentioned above) into N transmission units. Then, the first node can divide the data unit into N data block groups according to the upper limit of the data volume carried by each transmission unit.
[0075] In other words, the first node can first determine the amount of data that a code block group or physical resource block can carry through the physical layer, and then the MAC layer determines the corresponding data block group based on the amount of data it can carry. This ultimately aligns the two to the boundary anchor point. In this way, by referencing the boundary positions of the transmission units obtained from the allocation of transmission resources, and based on the upper limit of the data volume that each transmission unit can carry, the data units are divided, aligning the resulting multiple data block groups with multiple transmission units. Then, based on the relative alignment of the multiple data block groups with the multiple transmission units, the boundaries of the transmission units are used as the boundary anchor points for the corresponding data block groups, resulting in data units with boundary anchor points.
[0076] It should be noted that, in the embodiments of this disclosure, the number of transmission units in the transmission resource can be predefined in the first node (such as the first node and the second node being pre-configured); or, the number of transmission units in the transmission resource can be determined autonomously by the first node; or, the number of transmission units in the transmission resource can be configured by the second node for the first node.
[0077] In some embodiments, when the number of transmission units in the transmission resources is determined autonomously by the first node, the first node needs to send first indication information to the second node to indicate the number of transmission units in the transmission resources determined autonomously by the first node.
[0078] In other words, the first node informs the second node of the number of transmission units in the transmission resources it autonomously determines, so that the number of transmission units used by the second node when reading transmission blocks in the future is consistent with the number of transmission units used by the first node when transmitting data units, thus providing an accurate reference for the second node to determine the boundary anchor points corresponding to the data units in the future.
[0079] In other instances, during the process of the first node acquiring the data unit to be sent, the first node can encapsulate the data to be sent into a data unit and divide the data unit into N data block groups. Then, the first node can divide the transmission resources (such as the transmission blocks or physical resources mentioned above) into N transmission units according to the data volume of each data block group.
[0080] In other words, the first node can determine the size of a data block group through the MAC layer, and then determine the corresponding code block group or physical resource block based on the size of the data block group through the PHY layer. This ultimately aligns the two to the boundary anchor point. In this way, by referencing the data volume of each data block group obtained from the data unit division, the transmission resources are divided to ensure that each data block group has a transmission unit to carry it. This allows the multiple transmission units obtained to be aligned one-to-one with multiple data block groups. Based on the relative alignment of multiple data block groups with multiple transmission units, the boundary of the transmission unit is used as the boundary anchor point of the corresponding data block group, resulting in a data unit with a boundary anchor point.
[0081] It should be noted that, in the embodiments of this disclosure, the number of data block groups in the data unit can be predefined in the first node (such as the first node and the second node being pre-configured); or, the number of data block groups in the data unit can be determined by the first node itself; or, the number of data block groups in the data unit can be configured by the second node for the first node.
[0082] In some embodiments, where the number of data block groups in a data unit is determined autonomously by the first node, the first node needs to send second indication information to the second node to indicate the number of data block groups in the data unit determined autonomously by the first node.
[0083] In other words, the first node informs the second node of the number of data block groups in the data unit it autonomously determines, so that the number of data block groups used by the second node to read the transmission block in the future is consistent with the number of data block groups used by the first node to transmit the data unit, thus providing an accurate reference for the second node to determine the boundary anchor point corresponding to the data unit in the future.
[0084] For the two embodiments described above, it can be understood that the boundary points defined in the physical layer are used as the boundary anchor points of MAC data (data block groups), which is equivalent to MAC-PHY mapping enhancement.
[0085] MAC-PHY mapping enhancement can be further divided into the following two types: 2.1 and 2.2:
[0086] 2.1 Enhanced MAC-PHY coding domain mapping: The physical layer boundary can be a code block boundary or a code block group boundary. For example, a physical layer transport block includes multiple code blocks, which can be divided into multiple code block groups. A code block group contains at least one code block. A data block group in the MAC layer is carried within a code block group, that is, the boundary anchor point of the data block group is the boundary of a certain code block or code block group.
[0087] The number of code block groups can be determined based on preset (configured or indicated) parameters. Alternatively, the number of code block groups can be determined based on the number of data block groups N (e.g., equal to N), or the relationship between the number of code block groups and the number of data block groups N can be determined based on preset parameters.
[0088] 2.2 Enhanced MAC-PHY resource domain mapping: The physical layer boundary can also be the boundary of physical resources.
[0089] The physical resources used for transmission in the physical layer include several symbols in the time domain. Different data block groups are carried on different symbol groups, and the natural boundaries of symbols or symbol groups can serve as anchor point boundaries for data block groups.
[0090] Similarly, physical layer resources can also be divided into multiple frequency domain blocks in the frequency domain, and the boundaries of frequency domain blocks or groups of frequency domain blocks are used as boundary anchors for data block groups. The code domain, spatial domain, etc., are similar, and will not be elaborated here.
[0091] Alternatively, physical resources can be divided into multiple resource blocks based on multiple dimensions (e.g., time and frequency dimensions), and a data block group can be carried within a resource block. That is, the boundary anchor point of the data block group is the physical boundary of the resource block. The aforementioned symbol group, frequency domain block group, etc., can be considered as a specific type of resource block.
[0092] In some embodiments, a code block group and a physical resource block group can be aligned, meaning that a code block group is carried on a corresponding physical resource block group. Thus, for MAC data block groups, the boundary anchor points determined in 2.1 and 2.2 above can be considered equivalent.
[0093] Furthermore, the above embodiments use a code block group or a physical resource block to carry a group of data blocks within a data unit. Optionally, the data in a group of data blocks carried by a code block group or a physical resource block can also be considered as a transport block (TB) or a sub-TB. This can be understood as the physical layer transmitting multiple TBs or sub-TBs on corresponding physical resources. At the same time, a group of data blocks can also be considered as an independent data unit within a group of MAC data units; that is, there is no specific limitation on the name, and this will not be elaborated further.
[0094] Combining the two embodiments above, one transmission unit corresponds to one second verification field, which is used to verify the correctness of the corresponding transmission unit.
[0095] For example, taking a code block group as the transmission unit, the sender (i.e., the first node) can set a corresponding second check field for each code block group. The receiver (i.e., the second node) can determine the correctness (i.e., whether there are any errors) of the corresponding code block group based on this second check field, and then determine whether to extract the data from the data block group carried by this code block group.
[0096] The following describes, with reference to specific embodiments, the method of using boundary identifiers in data units as boundary anchors of data block groups as shown in 1.2 and 1.3 above.
[0097] In some embodiments, the boundary identifier can be a defined sequence of bits in the data unit, so that the receiver (i.e., the second node) can search for the boundary identifier based on the sequence to determine the various data block groups in the data unit.
[0098] In other words, the first node can set boundary identifiers for each data block group in the data unit as boundary anchors, which can be understood as a pure MAC data structure enhancement.
[0099] In some embodiments, the boundary identifiers corresponding to data block groups carrying different data types may be different.
[0100] In other words, by setting different boundary identifier types, different boundary identifier types correspond to different bit sequences. This allows different boundary identifier types to be set based on different data block group types or based on different data block group frame headers. In this way, the receiver (i.e., the second node) can perform targeted data extraction for each data block group within the data unit based on different types of boundary identifiers.
[0101] In some embodiments, a data block group may correspond to a boundary identifier, and the starting position of each boundary identifier in the data unit is an integer multiple of a preset value.
[0102] For example, the starting position of the boundary identifier can be an integer multiple of L, where L is the configured or predefined number of bytes. In this way, the receiver (i.e., the second node) can search for the boundary identifier only at the n*L byte position of the data unit (n is a non-negative integer) to quickly locate the boundary identifier in the data unit.
[0103] Optionally, the sum of the lengths of all data block groups preceding a boundary identifier and all boundary identifiers should actually be an integer multiple of L. To achieve this, the first node can pad the data block groups.
[0104] In some embodiments, as shown in 1.2 above, since the frame header corresponding to the data block is not of a fixed length, the boundary identifier can generally be located before the data block frame header, or if the boundary identifier is part of the frame header, it can be located at the beginning of the data block frame header.
[0105] In other embodiments, as shown in 1.3 above, the boundary identifier can be located between data block groups. That is, the starting position of a data block group is after the boundary identifier, and the starting position of the data block group can be determined by finding the boundary identifier.
[0106] In this embodiment of the disclosure, a data block group may correspond to a boundary identifier, and the data unit may include one or more first verification fields, which are used to verify the correctness of at least one of the following 3.1-3.5:
[0107] 3.1 Boundary identifiers corresponding to data block groups;
[0108] 3.2. Data block frame header;
[0109] 3.3, Frame header of data block group;
[0110] 3.4 Data Blocks;
[0111] 3.5 Data block group.
[0112] In other words, the receiver (i.e., the second node) can determine the correctness of the corresponding object shown in 3.1-3.5 above in the data unit based on one or more first verification fields, and thus determine whether the data extracted from the data unit is correct.
[0113] In some embodiments, the first node may determine whether to set a boundary anchor point in a data unit based on configured parameters or rules. Alternatively, the network (such as a second node) may enable or disable the first node from setting boundary anchor points in data units through configuration or signaling indication. Or, the first node may determine whether to set a boundary anchor point based on whether the size of the data unit or the number of data blocks it contains exceeds a threshold; for example, only data units exceeding the threshold may have boundary anchor points set.
[0114] In S302, the data unit corresponding to the transport block is sent to the second node based on the physical resources configured in the first node.
[0115] Based on the above embodiments, it can be understood that the first node generates a data unit for transmission through the first entity (layer 2, such as MAC) of the first node. The data unit includes N data block groups, each data block group contains one or more data blocks, and boundary anchor points are set between the data block groups. Then, the first node transmits the data unit to the second entity (PHY) of the first node through the first entity of the first node, and transmits the transmission block corresponding to the data unit in the corresponding physical resource through the second entity of the first node.
[0116] It is understandable that in a transmission scenario where a TB carries a MAC PDU (i.e., a data unit), the TB may contain bit errors (i.e., CRC check failures in the TB). These bit errors may only affect a portion of the data in the MAC PDU. To extract the unaffected data from the TB, the MAC PDU can be divided into multiple data block groups consisting of one or more MAC subPDUs (data blocks). By using boundary anchors between each pair of data block groups, the location of each data block group can be determined from the TB. This allows for the extraction of unaffected data from the TB containing bit errors, avoiding the data transmission efficiency reduction caused by discarding a large amount of data due to a few errors, and improving data transmission efficiency.
[0117] In some embodiments, when setting boundary anchor points for data units, the first node may use the methods described in 1.1 and 1.2 (and / or 1.3) in combination.
[0118] For example, the first node can first generate multiple TB / subTB or code block groups to be sent as shown in 1.1 above, and use these physical layer boundaries as boundary anchors for the MAC layer data block groups. Then, based on this, the first node sets boundary identifiers in the MAC data carried by each TB / subTB or code block group as described in 1.2 and / or 1.3 above.
[0119] In some embodiments, a data block group carried by a transmission unit may include multiple sub-data block groups, and the boundary anchor point between any two adjacent sub-data block groups may be any one of the following 4.1 and 4.2:
[0120] 4.1 Boundary identifier in the frame header of the first data block in each of the multiple sub-data block groups, excluding the first sub-data block group;
[0121] 4.2 Boundary identifiers in the frame header of each sub-data block group except the first sub-data block group.
[0122] In addition, the data unit may include one or more third check fields, which are used to verify the correctness of at least one of the following 5.1-5.3:
[0123] 5.1 Boundary identifiers corresponding to sub-data block groups;
[0124] 5.2 Frame header of sub-data block group;
[0125] 5.3 Sub-data block group.
[0126] In other words, based on the boundary anchors set at the physical layer boundaries, the data block groups carried on a transmission unit are divided using boundary identifiers, resulting in a transmission unit carrying multiple sub-data block groups. This way, even if there are bit errors in the transmission unit, the receiver (i.e., the second node) can extract some of the correct data from the sub-data block groups based on the boundary identifiers between the sub-data block groups on that transmission unit.
[0127] This disclosure also provides a communication method applied to a second node, as shown in FIG4. The communication method may include: S401-S402.
[0128] In S401, the transport block sent by the first node is received based on the physical resources of the first node.
[0129] The transport block carries data units, and each data unit includes N data block groups. Each data block group includes one or more data blocks, and boundary anchor points are set in the N data block groups.
[0130] It should be noted that the description of the boundary anchor points set in the N data block groups can be found in the introduction of S301 above, and will not be repeated here.
[0131] In S402, data from the target data block group is extracted from the transport block based on the boundary anchor points in the N data block groups.
[0132] A target data block group is a data block group that has been verified to be correct among N data block groups.
[0133] In some embodiments, if the boundary anchor points in the N data block groups are set according to the manner shown in 1.2 and / or 1.3 above, then, in conjunction with the first check domain shown in 3.1-3.5 above, the target data block group can satisfy at least one of the following 6.1-6.5:
[0134] 6.1 The boundary identifier corresponding to the target data block group is correctly verified by the first check field corresponding to the boundary identifier;
[0135] 6.2 The frame headers of all data blocks in the target data block group are correctly verified by the first check field corresponding to the frame header of the data block;
[0136] 6.3 The frame header of the target data block group is correctly verified by the first check field corresponding to the frame header of the target data block group;
[0137] 6.4 All data blocks in the target data block group are verified correctly by the first check field corresponding to the data block;
[0138] 6.5 The target data block group is correctly verified by the first check field corresponding to the target data block group.
[0139] In other embodiments, if the boundary anchor points in the N data block groups are set in the manner shown in 1.1 above, then in conjunction with the second check field in the above embodiments, the code block group carrying the target data block group is verified correctly by the second check field corresponding to this code block group.
[0140] In some embodiments, the number of transmission units in the transmission resource may be predefined in the second node (e.g., pre-configured between the first and second nodes); or, the number of transmission units in the transmission resource may be determined autonomously by the second node; or, the number of transmission units in the transmission resource may be indicated by the first node to the second node.
[0141] In some embodiments, where the number of transmission units in the transmission resources is determined autonomously by the second node, the second node needs to configure the number of transmission units in the transmission resources for the first node via signaling.
[0142] In some other embodiments, when the number of transmission units in the transmission resource is indicated by the first node to the second node, the second node needs to receive first indication information sent by the first node before receiving the transmission block sent by the first node (i.e. before S401), which indicates the number of transmission units in the transmission resource determined autonomously by the first node.
[0143] In other embodiments, the number of data block groups in a data unit may be predefined in the second node (e.g., pre-configured between the first and second nodes); or the number of data block groups in a data unit may be determined autonomously by the second node; or the number of data block groups in a data unit may be indicated by the first node to the second node.
[0144] In some embodiments, where the number of data block groups in a data unit is determined autonomously by the second node, the second node needs to configure the number of data block groups in the data unit for the first node via signaling.
[0145] In some other embodiments, when the number of data block groups in a data unit is indicated by the first node to the second node, the second node needs to receive second indication information sent by the first node before receiving the transport block sent by the first node (i.e. before S401), which indicates the number of data block groups in the data unit determined autonomously by the first node.
[0146] Optionally, taking the example of a data block group carried by a transmission unit being divided into multiple sub-data block groups, the target data block group can be the target sub-data block group among the multiple sub-data block groups carried by the target code block group.
[0147] For example, if the target code block group is verified correctly by the corresponding second check field, the target sub-data block group is any one of the multiple sub-data block groups carried by the target code block group.
[0148] For example, the target code block group is checked incorrectly by the corresponding second check field, while the boundary identifier corresponding to the target sub-data block group is checked correctly by the third check field corresponding to this boundary identifier.
[0149] In other words, even if there are errors in the code block group, the receiver (i.e., the second node) can still extract some of the correct data from the sub-data block groups based on the boundary identifiers between the sub-data block groups on the code block group.
[0150] In conjunction with the above embodiments, it can be understood that the second node receives the transport block on the corresponding physical resource through the second entity (PHY) of the second node, and transmits data to the first entity (layer 2, such as MAC) of the second node through the second entity of the second node. The data contains the part of the transport block that has been verified correctly. Then, the second node can receive at least one data block group (i.e., target data block group) contained in the data through the first entity of the second node based on the transmitted data and the boundary anchor points set in the data.
[0151] In some embodiments, taking the physical layer boundary as the code block group boundary in the manner described in 1.1 above as an example, the PHY will at least transmit the correctly received code block groups to the MAC. Optionally, all code block groups can be transmitted to the MAC, and the MAC can be informed which code block groups were correctly received, and further, which code blocks within a code block group were correctly received; optionally, code block groups containing at least one correct code block can be transmitted to the MAC, and the MAC can be informed which code blocks within a code block group were correctly received; optionally, the PHY can report all correct code blocks to the MAC.
[0152] Then, the receiver (i.e., the second node) can determine the boundary anchor point corresponding to the data block group based on the boundary of the code block group, and recover the data blocks contained in the data block group based on the boundary anchor point. For example, if a code block group is correct, the data block group contained within it can also be considered correct. In this case, the starting position of the data carried by the code block group can be considered as the starting position of the data block group. Based on this, the data block group can be recovered.
[0153] A correct code block group is defined as one that satisfies at least one of the following conditions 7.1 and 7.2:
[0154] 7.1 Each code block in the code block group is verified to be correct;
[0155] 7.2 If a code block group has a corresponding check field (i.e., a second check field), then the check field should determine that the code block group is correctly checked.
[0156] Similarly, taking the physical layer boundary as the physical resource block boundary in the above 1.1 as an example, different resource blocks can be considered as independently transmitting a transport block (TB) or a sub-TB. Similar to the transmission of code block groups, the PHY will at least receive the correct TB or sub-TB and pass it to the MAC.
[0157] Subsequently, as in the example above regarding the application of boundary anchors corresponding to the code block group boundaries, the receiver (i.e., the second node) can determine the boundary anchors corresponding to the data block group based on the boundaries of the physical resource blocks, and recover the data blocks contained in the data block group based on the boundary anchors.
[0158] Wherein, a correct TB or subTB refers to one that satisfies at least one of the following conditions 8.1 and 8.2:
[0159] 8.1. Each code block contained in a TB or subTB is verified to be correct;
[0160] 8.2 If a TB or subTB has a corresponding check field (i.e., a second check field), then the check field should determine that the TB or subTB is correct.
[0161] In some embodiments, even if a code block group or a subTB / TB is not checked, it may still contain a correctly checked CB. If these CBs happen to correspond to boundary anchors, the second node can also use these boundary anchors to recover the MAC layer data block.
[0162] For example, if a code block group or subTB / TB contains M code blocks (CBs), and the first X CBs are correct, then given that the first X CBs contain boundary anchors, the MAC can actually recover a portion of the data blocks in the data block group based on the first X CBs. In this case, the PHY can pass the correct first X CBs to the MAC.
[0163] In other embodiments, taking the boundary identifier as the boundary anchor point in the manner described in 1.2 and / or 1.3 above as an example, even if the checksum of a CB or CBG is incorrect, the MAC may still be able to find the corresponding boundary identifier and potentially recover the data block within it. Therefore, the PHY can either delegate all CBs or CBGs to the upper layer for identification, or, to reduce the burden on Layer 2, only submit the correct CBs or CBGs to the MAC. The MAC searches for boundary identifiers according to their possible locations. If a valid boundary identifier is found, the corresponding data block or group of data blocks is received.
[0164] Furthermore, if there are multiple boundary identifier types, the receiver (i.e., the second node) can also determine different data block group types or different data block frame header types according to different boundary identifier types.
[0165] A valid boundary identifier is defined as one that satisfies at least one of the following conditions: 9.1 and 9.5.
[0166] 9.1 The starting position of the boundary identifier is an integer multiple of L;
[0167] 9.2 The sequence used by the boundary identifier is a pre-set sequence;
[0168] 9.3 If a check field (i.e., the first check field) is set in the data unit, and the check field determines that the boundary identifier is correct;
[0169] 9.4 If a check field (i.e., the first check field) is set in the data unit, and the check field determines that one or more data block frame headers corresponding to this boundary identifier are correct;
[0170] 9.5 If a check field (i.e., the first check field) is set in the data unit, and the check field determines that one or more data blocks corresponding to this boundary identifier are correct.
[0171] Furthermore, boundary identifiers can be located between data block groups. That is, the starting position of a data block group is after the boundary identifier. When the receiver (i.e., the second node) finds the boundary identifier, it can naturally determine the starting position of the data block group.
[0172] The following describes the communication method provided in the above embodiment, taking the interaction between the first node and the second node as an example, as shown in Figure 5, including: S501-S504.
[0173] In S501, the first node acquires the data unit to be sent.
[0174] In S502, the first node sends the transport block corresponding to the data unit to the second node based on the physical resources configured in the first node.
[0175] In S503, the second node receives the transport block sent by the first node based on the physical resources of the first node.
[0176] In S504, the second node extracts the data from the target data block group from the transport block based on the boundary anchor points in the N data block groups.
[0177] The following examples illustrate the application of boundary anchors in the communication method provided in this disclosure, using boundary anchors corresponding to code block group boundaries, physical resource block group boundaries, and boundary anchors corresponding to boundary identifiers.
[0178] Example 1: Taking the boundary anchor point corresponding to the code block group boundary as an example, CB / CBG is aligned with the MAC subPDU.
[0179] Before transmitting data, communication devices typically need to obtain a transmission grant. A grant generally corresponds to a set of physical layer resources, and the data to be transmitted, in one or more transmissions, is ultimately carried on these physical layer resources. For example, in current cellular communication systems, the downlink grant of a base station generally comes from its own allocation, while the uplink grant of a user terminal generally comes from the allocation of its associated base station. To ensure that the UE can correctly receive downlink and transmit uplink, the base station generally needs to transmit the corresponding downlink and uplink grant information to the corresponding UE via grant signaling. This grant includes dynamic granting or semi-static granting; the corresponding grant signaling can be dynamic physical layer downlink control information (DCI) and / or semi-static higher-layer messages. Data carried on a granted resource, from the physical layer perspective, contains at least one TB (Terrain Data Unit). The following explanation uses one TB as an example; for multiple TBs, each TB can be considered to be processed separately.
[0180] After receiving the grant, the sender (i.e., the first node) determines the amount of data (TB size, TBS) that the grant can transmit based on the size of the acquired physical resources and the transmission parameters of the grant. To increase transmission reliability, the physical layer typically encodes the data. Thus, one TB of data will be carried in N encoded blocks (CBs). Generally, the amount of data carried by one CB is evenly distributed according to the TBS, approximately equal to TBS divided by N. The MAC layer typically encapsulates the MAC CE, MAC Service Data Unit (MAC SDU, MSDU), MSDU fragments, etc., to be transmitted into individual MAC subPDUs (i.e., data blocks), and then encapsulates M MAC subPDUs into one MAC PDU (i.e., data unit), finally handing the MAC PDU to the physical layer for transmission in TB format. Currently, only the data size of the TB and the data size of the entire MAC PDU are required to match; there is no correspondence between the finer-grained MAC subPDUs and CBs.
[0181] In some embodiments, the PHY can determine the data volume TBS of the TB to be sent based on the granted resources. The network (such as the second node) can instruct the sender (i.e., the first node) to group the CBs corresponding to these TBs into X CBGs according to a certain rule through configuration or signaling. The specific methods and rules of grouping are not discussed here. The data volume S_i that a CBG i can carry can be determined based on the number of CBs it contains. Furthermore, the data volume S_i of CBG i can be aligned with the data volume of a set of MAC subPDUs (data block group i, DBG i), so that the boundary of the PHY CBG can serve as the boundary of the MAC DBG. As shown in Figure 6.
[0182] In some embodiments, the above CBG can also be a CB, that is, it is not necessary to divide the CB into CBG, and each CB corresponds independently to a data block group.
[0183] In some embodiments, the aforementioned data block group may also be a MAC subPDU, and the number of data blocks contained in each data block group may be different; similarly, the length of each data block may be different, and the frame header type or length of each data block may also be different.
[0184] In some embodiments, for aligning the data amounts S_i and DBG i of CBG i, the physical layer can first perform CBG grouping to determine S_i, and then layer 2 (MAC / RLC layer) can generate a set of MAC subPDUs and generate the corresponding DBG i. When generating a set of MAC subPDUs, at least one of the operations such as splitting and padding can be used to align DBG i to CBG i.
[0185] For example, the segmentation or resegmentation of data can be done in a traditional way, i.e. by RLC.
[0186] Alternatively, to make the alignment between MAC and PHY more efficient, functions such as segmentation or resegmentation can be integrated into MAC. Furthermore, if layer 2 data is segmented, all segments need to correspond to the same sequence number (SN). If segmentation or resegmentation functions are integrated into MAC, the allocation of these sequence numbers can also be integrated into MAC.
[0187] It should be noted that for the corresponding segmentation / re-segmentation of the sender (i.e., the first node), the receiver (i.e., the second node) needs to reassemble the data. For the allocation of the sender's data number, the receiver needs to sort the data and perform duplicate detection. These functions can be performed in RLC, or as described above in the enhanced MAC layer.
[0188] It should be noted that if a MAC CE is sent, it should be carried within a single data block; splitting the MAC CE into two data blocks is not expected, nor is it desirable to carry a single MAC CE separately in two CBGs.
[0189] In some embodiments, for aligning the data volume S_i of CBG i and the data volume of DBG i, layer 2 can first perform DBG grouping, and then the physical layer generates a set of CBs and generates the corresponding CBG i. When generating CBG i, at least one of the following operations can be used: puncturing, rate matching, padding, etc., to make CBG i carry DBG i.
[0190] It should be noted that the receiver (i.e., the second node) and the sender (i.e., the first node) need to have a consistent understanding of CBG, DBG, and their correspondence. To achieve this, at least one of the following information can be communicated through configuration or signaling: CBG partitioning, DBG partitioning, and CBG / DBG correspondence.
[0191] Therefore, if the receiver (i.e., the second node) confirms that CBG i has been received correctly, the MAC subPDU contained in DBG i can be recovered based on the correspondence between CBG i and DBG i. The entire TB is no longer required to recover the MAC subPDU.
[0192] Example 2: Taking the boundary anchor point corresponding to the physical resource block group boundary as an example, the PHY resource boundary is aligned with the MAC subPDU.
[0193] The resources corresponding to the grant can also be divided into different resource blocks. This division can be in the time domain, as shown in the symbol in Figure 7, or in the frequency domain, as shown in the frequency domain resource block in Figure 8. It can also be in other dimensions, such as the code domain, spatial domain, or a combination of multiple dimensions. There are no restrictions on the division method here.
[0194] Furthermore, the data carried by a physical resource block i can correspond to a set of MAC subPDUs (data block group i, DBG i), so the boundary of the PHY resource block can serve as the boundary of the MAC DBG, as illustrated in Figures 7 and 8.
[0195] In some embodiments, for resource block i carrying DBG i data, the physical layer can first divide the resource blocks and determine the amount of data that each resource block can carry. For example, the amount of data carried by resource block i is subTBS_i. Then, layer 2 (MAC / RLC layer) generates a set of MAC subPDUs and generates the corresponding DBG i. When generating a set of MAC subPDUs, at least one of the operations such as splitting and padding can be used to align DBG i to resource block i.
[0196] It should be noted that if a MAC CE is sent, it should be carried within a single data block; splitting the MAC CE into two data blocks is not expected, nor is it desirable to carry a single MAC CE separately within two resource blocks.
[0197] In some embodiments, for resource block i to carry DBG i data, layer 2 may first perform DBG grouping, and then the physical layer may determine the partitioning of the resource block. When partitioning resource block i, resource block i is configured to carry DBG i.
[0198] It should be noted that the receiver (i.e., the second node) and the sender (i.e., the first node) need to have a consistent understanding of resource blocks, DBGs, and their correspondence. This can be achieved by configuring or signaling at least one of the following: resource block partitioning, DBG partitioning, and the correspondence between resource blocks and DBGs.
[0199] In this process, the DBG is not directly carried in the corresponding resource block. Instead, the DBG is first encoded into multiple CBs and a corresponding sub-transport block (subTB) is generated. The subTB is then transmitted through the corresponding resource block. The size of the subTB is determined by the resource block and its transmission parameters.
[0200] It should be noted that different resource blocks can use different transmission parameters.
[0201] Thus, if the receiver (i.e., the second node) determines that resource block i has been received correctly, then the MAC subPDU contained in DBG i can be recovered based on the correspondence between resource block i and DBG i.
[0202] In some embodiments, Examples 1 and 2 above can be applied in combination. For example, the CB in the subTB corresponding to a resource block i can be further divided into X CBGs, that is, the subTB is equivalent to the TB in Example 1, and its corresponding data block group is divided into X data block subgroups, that is, the data block subgroup here is equivalent to a DBG in Example 2, and the X CBGs and X data block subgroups correspond one-to-one.
[0203] Example 3, taking the boundary anchor point corresponding to the boundary identifier as an example, includes: adding a boundary identifier to the MAC subPDU frame header, and / or adding a boundary identifier to a group of MAC subPDUs.
[0204] The first and second examples above use the coding boundary or resource boundary defined by the physical layer as the boundary of the MAC layer data block. Using this as an anchor point or alignment point, the correctly received layer 2 data block can be recovered. The third example simply enhances the structure of the MAC PDU or MAC subPDU by adding a boundary identifier, so that layer 2 can identify the boundary of a data block based on the boundary identifier.
[0205] The following example, using the addition of a boundary identifier to the MAC subPDU frame header, illustrates the application of boundary anchors.
[0206] As shown in Figure 9, it can be assumed that the insertion boundary identifier is part of the MAC subPDU (such as the insertion position before the traditional frame header of the MAC subPDU).
[0207] In addition to the boundary identifier, a MAC subPDU may also include at least one of the following auxiliary information fields 10.1-10.3:
[0208] 10.1 Header CRC field (The header CRC can verify the correctness of the boundary identifier and / or frame header, and is located between the traditional frame header and the payload in the MAC subPDU);
[0209] 10.2 Data Block CRC Field (The data block CRC can verify the correctness of at least one of the boundary identifier, frame header, and payload, and is located after the payload in the MAC subPDU);
[0210] 10.3 Padding Field (To ensure that the position of the boundary identifier is an integer multiple of L, a padding field can be used to make the length of the MAC subPDU an integer multiple of L and located at the end of the MAC subPDU).
[0211] In some embodiments, boundary identifiers may be added only to a portion of the MAC subPDUs within the MAC PDU; alternatively, the aforementioned auxiliary information fields may be added only to a portion of the MAC subPDUs. For example, if a data block group comprises four data blocks (i to i+3), boundary identifiers and auxiliary information fields may be added to MAC subPDU i, while only auxiliary information fields or no information fields may be added to MAC subPDUs i+1 to i+3.
[0212] It should be noted that the auxiliary information fields added to different MAC subPDUs can also be different. For example, some data blocks do not need to add CRC, while others do not need to add padding fields.
[0213] Thus, even if some CBs at the physical layer are received incorrectly, the receiver (i.e., the second node) can still search and locate the boundary of the MAC subPDU by using the boundary identifier and auxiliary information field (if any), and then attempt to recover the data block group after the boundary identifier.
[0214] The following example, using the addition of boundary identifiers to a group of MAC subPDUs, will introduce the application of boundary anchors.
[0215] As shown in Figure 10, the boundary identifier corresponding to data block group 0 is located before the first MAC subPDU among the three MAC subPDUs constituting data block group 0, and the boundary identifier corresponding to data block group n is located before the first MAC subPDU among the two MAC subPDUs constituting data block group n.
[0216] In other words, unlike the embodiment shown in Figure 9 above, where the boundary identifier is part of the MAC subPDU, it can be assumed that the boundary identifier exists independently of the MAC subPDU, but it can still identify the boundary of a data block or group of data blocks.
[0217] The sender (i.e., the first node) can add a separate CRC field to the boundary identifier to verify its correctness.
[0218] Alternatively, at least one of the following auxiliary information fields 11.1-11.3 can be added to a MAC subPDU:
[0219] 11.1 Header CRC field (The header CRC can verify the correctness of the frame header);
[0220] 11.2 Data Block CRC Field (Data Block CRC can verify the correctness of the frame header and / or payload);
[0221] 11.3 Padding Field (To ensure that the position of the boundary identifier is an integer multiple of L, a padding field can be used to make the length of the MAC subPDU an integer multiple of L).
[0222] In some embodiments, a boundary identifier can be set for a data block group. For example, if the data block group includes 4 data blocks (i to i+3), a boundary identifier can be added before MAC subPDU i, and auxiliary information fields can be added to MAC subPDUs i to i+3 or no information fields can be added.
[0223] It should be noted that the auxiliary information fields added to different MAC subPDUs can also be different. For example, some data blocks do not need to add CRC, while others do not need to add padding fields.
[0224] Similarly, even if some CBs at the physical layer are received incorrectly, the receiver (i.e., the second node) can still search and locate the boundary of the MAC subPDU by using the boundary identifier and auxiliary information field (if any), and then attempt to recover the data block group after the boundary identifier.
[0225] In summary, by aligning the data boundaries of the MAC layer sub-data with the boundaries of the physical layer coding domain, the sender (i.e., the first node) enables the receiver (i.e., the second node) to recover the MAC layer data based on trusted coding blocks.
[0226] Similarly, by aligning the data boundaries of the MAC layer sub-data with the physical layer resource boundaries, the sender (i.e., the first node) enables the receiver (i.e., the second node) to recover the MAC layer data based on trusted partial resource blocks.
[0227] Furthermore, the sender (i.e., the first node) sets a dedicated boundary identifier and a MAC layer verification field in the MAC layer, enabling the receiver (i.e., the second node) to process and identify the MAC layer data contained in the correct TB based on the MAC layer.
[0228] It is understood that, in order to achieve the above-mentioned 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 algorithmic steps of the examples described in conjunction with the embodiments of this disclosure, this disclosure 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 disclosure.
[0229] This disclosure 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 functional module. The integrated module can be implemented in hardware or software. It should be noted that the module division in this disclosure embodiment is illustrative and only represents one logical functional division. In actual implementation, there may be other division methods. The following description uses the example of dividing each functional module according to each function.
[0230] Figure 11 is a block diagram of a communication device according to some embodiments. The communication device can be applied to a first node and execute the communication method shown in Figure 3 above, as well as the embodiment on the first node side in Figure 5. As shown in Figure 11, the communication device 1100 includes: an acquisition module 1101 and a transmission module 1102.
[0231] The acquisition module 1101 is used to acquire the data unit to be sent. The data unit includes N data block groups, each data block group includes one or more data blocks, and boundary anchor points are set in the N data block groups, where N is an integer greater than 1. The sending module 1102 is used to send the transmission block corresponding to the data unit to the second node based on the physical resources configured in the first node.
[0232] In some embodiments, the boundary anchor point corresponding to a data block group includes at least one of the following:
[0233] The boundary of a transmission unit. A transmission unit is used to carry a group of data blocks. A transmission unit is a group of code blocks in a transmission block or a group of physical resource blocks in a physical resource. A group of code blocks includes one or more code blocks, and a group of physical resource blocks includes one or more physical resource blocks.
[0234] Sets the boundary identifier in the frame header of a data block within a data block group;
[0235] Set the boundary identifier before the data block group.
[0236] In some embodiments, physical resources include at least one of the following: time-domain resources, frequency-domain resources, code-domain resources, and spatial-domain resources.
[0237] In some embodiments, the boundary identifiers corresponding to data block groups carrying different data types are different.
[0238] In some embodiments, a data block group corresponds to a boundary identifier, and the starting position of each boundary identifier in the data unit is an integer multiple of a preset value.
[0239] In some embodiments, a group of data blocks corresponds to a boundary identifier, and the data unit includes one or more first check fields, which are used to verify the correctness of at least one of the following:
[0240] Boundary identifiers corresponding to data block groups;
[0241] The frame header of the data block;
[0242] The frame header of the data block group;
[0243] Data blocks;
[0244] Data block group.
[0245] In some embodiments, a transmission unit corresponds to a second verification field, which is used to verify the correctness of the corresponding transmission unit.
[0246] In some embodiments, the acquisition module 1101 is specifically used to encapsulate the data to be sent into data units; the acquisition module 1101 is also used to divide the transmission resources into N transmission units, where the transmission resources are transmission blocks or physical resources; the acquisition module 1101 is also used to divide the data units into N data block groups according to the upper limit of the amount of data carried by each transmission unit.
[0247] In some embodiments, the number of transmission units in the transmission resource is predefined in the first node; or, the number of transmission units in the transmission resource is determined by the first node; or, the number of transmission units in the transmission resource is configured by the second node for the first node.
[0248] In some embodiments, the number of transmission units in the transmission resource is determined by the first node; the sending module 1102 is further configured to send first indication information to the second node, the first indication information being used to indicate the number of transmission units in the transmission resource.
[0249] In some embodiments, the acquisition module 1101 is specifically used to encapsulate the data to be sent into data units; the acquisition module 1101 is also used to divide the data units into N data block groups; the acquisition module 1101 is also used to divide the transmission resources into N transmission units according to the data volume of each data block group, wherein the transmission resources are transmission blocks or physical resources.
[0250] In some embodiments, the number of data block groups in a data unit is predefined in the first node; or, the number of data block groups in a data unit is determined by the first node; or, the number of data block groups in a data unit is configured by the second node for the first node.
[0251] In some embodiments, the number of data block groups in a data unit is determined by a first node; the sending module 1102 is further configured to send second indication information to a second node, the second indication information being used to indicate the number of data block groups in a data unit.
[0252] Figure 12 is a block diagram of another communication device according to some embodiments. The communication device can be applied to a second node and execute the communication method shown in Figure 4 above, as well as the embodiment on the second node side in Figure 5. As shown in Figure 12, the communication device 1200 includes a receiving module 1201 and a processing module 1202.
[0253] The receiving module 1201 is used to receive the transmission block sent by the first node based on the physical resources of the first node. The transmission block carries data units, and the data units include N data block groups. Each data block group includes one or more data blocks, and boundary anchor points are set in the N data block groups. The processing module 1202 is used to extract the data in the target data block group from the transmission block according to the boundary anchor points in the N data block groups. A target data block group is a data block group that has been verified correctly among the N data block groups.
[0254] In some embodiments, the boundary anchor point corresponding to a data block group includes at least one of the following:
[0255] The boundary of a transmission unit. A transmission unit is used to carry a group of data blocks. A transmission unit is a group of code blocks in a transmission block or a group of physical resource blocks in a physical resource. A group of code blocks includes one or more code blocks, and a group of physical resource blocks includes one or more physical resource blocks.
[0256] Sets the boundary identifier in the frame header of a data block within a data block group;
[0257] Set the boundary identifier before the data block group.
[0258] In some embodiments, physical resources include at least one of the following: time-domain resources, frequency-domain resources, code-domain resources, and spatial-domain resources.
[0259] In some embodiments, the boundary identifiers corresponding to data block groups carrying different data types are different.
[0260] In some embodiments, a data block group corresponds to a boundary identifier, and the starting position of each boundary identifier in the data unit is an integer multiple of a preset value.
[0261] In some embodiments, a group of data blocks corresponds to a boundary identifier, and the data unit includes one or more first check fields, which are used to verify the correctness of at least one of the following:
[0262] Boundary identifiers corresponding to data block groups;
[0263] The frame header of the data block;
[0264] The frame header of the data block group;
[0265] Data blocks;
[0266] Data block group.
[0267] In some embodiments, a data block group corresponds to a boundary identifier, and the target data block group satisfies at least one of the following:
[0268] The boundary identifier corresponding to the target data block group is correctly verified by the first check field corresponding to the boundary identifier;
[0269] The frame headers of all data blocks in the target data block group are verified to be correct by the first check field corresponding to the frame header of the data block;
[0270] The frame header of the target data block group is verified to be correct by the first check field corresponding to the frame header of the target data block group;
[0271] All data blocks in the target data block group are verified to be correct by the first check field corresponding to the data block;
[0272] The target data block group was verified correctly by the first check field corresponding to the target data block group.
[0273] In some embodiments, a transmission unit corresponds to a second verification field, which is used to verify the correctness of the corresponding transmission unit.
[0274] In some embodiments, a code block group carries a data block group, and the code block group carrying the target data block group is verified to be correct by the second check field corresponding to the code block group.
[0275] In some embodiments, the number of transmission units is predefined in the second node; or, the number of transmission units is determined by the second node; or, the number of transmission units is indicated by the first node to the second node.
[0276] In some embodiments, the number of transmission units in the transmission resource is indicated by the first node to the second node; the receiving module 1201 is further configured to receive first indication information sent by the first node, the first indication information being used to indicate the number of transmission units in the transmission resource.
[0277] In some embodiments, the number of transmission units in the transmission resources is determined by the second node; the communication device 1200 further includes a sending module 1203, which is also configured to configure the number of transmission units for the first node via signaling.
[0278] In some embodiments, the number of data block groups in a data unit is predefined in the second node; or, the number of data block groups in a data unit is determined by the second node; or, the number of data block groups in a data unit is indicated by the first node to the second node.
[0279] In some embodiments, the number of data block groups in a data unit is indicated by the first node to the second node; the receiving module 1201 is further configured to receive second indication information sent by the first node, the first indication information being used to indicate the number of data block groups in the data unit.
[0280] In some embodiments, the number of data block groups in a data unit is determined by the second node; the communication device 1200 further includes a sending module 1203, which is also configured to configure the number of data block groups in a data unit for the first node via signaling.
[0281] In implementing the functions of the integrated modules described above in hardware, this disclosure provides another structure for the communication device involved in the above embodiments. As shown in FIG13, the communication device 1300 includes a processor 1302 and a bus 1304. In some embodiments, the communication device may further include a memory 1301. In some embodiments, the communication device may further include a communication interface 1303.
[0282] Processor 1302 may implement or execute various exemplary logic blocks, modules, and circuits described in connection with embodiments of this disclosure. Processor 1302 may be a central processing unit, a general-purpose processor, a digital signal processor, an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, transistor logic devices, hardware components, or any combination thereof. It may implement or execute various exemplary logic blocks, modules, and circuits described in connection with embodiments of this disclosure. Processor 1302 may also be a combination that implements computing functions, for example, including one or more microprocessor combinations, a combination of a digital signal processor (DSP) and a microprocessor, etc.
[0283] The communication interface 1303 is used to connect with other devices via a communication network. This communication network can be Ethernet, wireless access network, wireless local area network (WLAN), etc.
[0284] The memory 1301 may be a read-only memory (ROM) or other type of static storage device capable of storing static information and instructions, random access memory (RAM) or other type of dynamic storage device capable of storing information and instructions, or electrically erasable programmable read-only memory (EEPROM), disk storage medium or other magnetic storage device, or any other medium capable of carrying or storing desired program code in the form of instructions or data structures and accessible by a computer, but is not limited thereto.
[0285] In some embodiments, the memory 1301 may exist independently of the processor 1302. The memory 1301 may be connected to the processor 1302 via a bus 1304 and may be used to store instructions or program code. When the processor 1302 calls and executes the instructions or program code stored in the memory 1301, it can implement the communication method provided in the embodiments of this disclosure.
[0286] In other embodiments, the memory 1301 may also be integrated with the processor 1302.
[0287] Bus 1304 can be an extended industry standard architecture (EISA) bus, etc. Bus 1304 can be divided into address bus, data bus, control bus, etc. For ease of illustration, only one thick line is used to represent it in Figure 13, but this does not mean that there is only one bus or one type of bus.
[0288] Some embodiments of this disclosure provide a computer-readable storage medium (e.g., a non-transitory computer-readable storage medium) storing computer program instructions that, when executed on a computer, cause the computer to perform the communication method as described in any of the above embodiments.
[0289] Exemplary examples show that the aforementioned computer-readable storage media may include, but are not limited to: magnetic storage devices (e.g., hard disks, floppy disks, or magnetic tapes), optical discs (e.g., compact disks (CDs), digital versatile disks (DVDs), etc.), smart cards, and flash memory devices (e.g., erasable programmable read-only memory (EPROMs), cards, sticks, or key drives, etc.). The various computer-readable storage media described in this disclosure may represent one or more devices and / or other machine-readable storage media for storing information. The term "machine-readable storage medium" may include, but is not limited to, wireless channels and various other media capable of storing, containing, and / or carrying instructions and / or data.
[0290] This disclosure provides a computer program product containing instructions that, when run on a computer, cause the computer to perform the communication method shown in any of the embodiments described above.
[0291] The above descriptions are merely specific embodiments of this disclosure, but the scope of protection of this disclosure is not limited thereto. Any variations or substitutions within the technical scope disclosed in this disclosure should be included within the scope of protection of this disclosure. Therefore, the scope of protection of this disclosure should be determined by the scope of the claims.
Claims
1. A communication method, wherein, Applied to the first node, the method includes: Obtain a data unit to be sent, wherein the data unit comprises N data block groups, each data block group comprises one or more data blocks, and the N data block groups are provided with boundary anchor points, wherein N is an integer greater than 1; Based on the physical resources configured in the first node, the data unit corresponding to the transport block is sent to the second node.
2. The method of claim 1, wherein, A boundary anchor point corresponding to one of the data block groups includes at least one of the following: The boundary of a transmission unit, the transmission unit being used to carry the data block group, the transmission unit being a code block group in the transmission block or a physical resource block group in the physical resources, the code block group including one or more code blocks, the physical resource block group including one or more physical resource blocks; A boundary identifier is set in the frame header of one of the data blocks in the data block group; A boundary identifier is set before the data block group.
3. The method of claim 2, wherein, The physical resources include at least one of the following: time domain resources, frequency domain resources, code domain resources, and spatial domain resources.
4. The method of claim 2, wherein, The boundary identifiers corresponding to the data block groups carrying different data types are all different.
5. The method of claim 2, wherein, Each data block group corresponds to one boundary identifier, and the starting position of each boundary identifier in the data unit is an integer multiple of a preset value.
6. The method of claim 2, wherein, Each data block group corresponds to one boundary identifier, and each data unit includes one or more first check fields, which are used to verify the correctness of at least one of the following: The boundary identifier corresponding to the data block group; The frame header of the data block; The frame header of the data block group; The data block; The data block group.
7. The method of claim 2, wherein, Each transmission unit corresponds to a second verification field, which is used to verify the correctness of the corresponding transmission unit.
8. The method of claim 1, wherein, The data acquisition unit includes: The data to be sent is encapsulated into the data unit; The transmission resources are divided into the N transmission units, where the transmission resources are the transmission blocks or the physical resources; Based on the maximum amount of data carried by each transmission unit, the data unit is divided into the N data block groups.
9. The method according to claim 8, wherein, The number of transmission units in the transmission resources is predefined in the first node; or... The number of transmission units in the transmission resources is determined by the first node; or, The number of transmission units in the transmission resources is configured by the second node for the first node.
10. The method of claim 9, wherein, The number of transmission units in the transmission resources is determined by the first node; the method further includes: Send a first indication message to the second node, the first indication message being used to indicate the number of transmission units in the transmission resource.
11. The method of claim 1, wherein, The data acquisition unit includes: The data to be sent is encapsulated into the data unit; The data unit is divided into the N data block groups; Based on the amount of data in each data block group, the transmission resources are divided into the N transmission units, where the transmission resources are the transmission blocks or the physical resources.
12. The method according to claim 11, wherein, The number of data block groups in the data unit is predefined in the first node; or... The number of data block groups in the data unit is determined by the first node; or, The number of data block groups in the data unit is configured by the second node for the first node.
13. The method of claim 12, wherein, The number of data block groups in the data unit is determined by the first node; the method further includes: Send a second indication message to the second node, the second indication message being used to indicate the number of data block groups in the data unit.
14. A communication method, wherein, Applied to the second node, the method includes: The first node receives a transport block sent by the first node based on the physical resources of the first node. The transport block carries a data unit. The data unit includes N data block groups. Each data block group includes one or more data blocks. Boundary anchor points are set in the N data block groups. Based on the boundary anchor points in the N data block groups, data in the target data block group is extracted from the transport block, where a target data block group is a correctly verified data block group among the N data block groups.
15. The method of claim 14, wherein, A boundary anchor point corresponding to one of the data block groups includes at least one of the following: The boundary of a transmission unit, the transmission unit being used to carry the data block group, the transmission unit being a code block group in the transmission block or a physical resource block group in the physical resources, the code block group including one or more code blocks, the physical resource block group including one or more physical resource blocks; A boundary identifier is set in the frame header of one of the data blocks in the data block group; A boundary identifier is set before the data block group.
16. The method of claim 15, wherein, The physical resources include at least one of the following: time domain resources, frequency domain resources, code domain resources, and spatial domain resources.
17. The method of claim 15, wherein, The boundary identifiers corresponding to the data block groups carrying different data types are all different.
18. The method of claim 15, wherein, Each data block group corresponds to one boundary identifier, and the starting position of each boundary identifier in the data unit is an integer multiple of a preset value.
19. The method of claim 15, wherein, Each data block group corresponds to one boundary identifier, and each data unit includes one or more first check fields, which are used to verify the correctness of at least one of the following: The boundary identifier corresponding to the data block group; The frame header of the data block; The frame header of the data block group; The data block; The data block group.
20. The method of claim 19, wherein, One group of data blocks corresponds to one boundary identifier, and the target group of data blocks satisfies at least one of the following: The boundary identifier corresponding to the target data block group is correctly verified by the first verification field corresponding to the boundary identifier. The frame headers of all data blocks in the target data block group are verified to be correct by the first check field corresponding to the frame header of the data block; The frame header of the target data block group is verified to be correct by the first check field corresponding to the frame header of the target data block group. All data blocks in the target data block group are verified correctly by the first verification field corresponding to the data block. The target data block group is verified as correct by the first verification field corresponding to the target data block group.
21. The method of claim 15, wherein, Each transmission unit corresponds to a second verification field, which is used to verify the correctness of the corresponding transmission unit.
22. The method of claim 21, wherein, A code block group carries a data block group, and the code block group carrying the target data block group is verified to be correct by the second check field corresponding to the code block group.
23. The method according to claim 15, wherein, The number of transmission units is predefined in the second node; or... The number of transmission units is determined by the second node; or, The number of transmission units is indicated by the first node to the second node.
24. The method of claim 15, wherein, The number of transmission units is determined by the second node; the method further includes: The number of transmission units is configured for the first node via signaling.
25. The method according to claim 14, wherein, The number of data block groups in the data unit is predefined in the second node; or... The number of data block groups in the data unit is determined by the second node; or, The number of data block groups in the data unit is indicated by the first node to the second node.
26. The method of claim 25, wherein, The number of data block groups in the data unit is determined by the second node; the method further includes: The number of data block groups in the data unit is configured for the first node via signaling.
27. A communications device, wherein include: Memory and processor; The memory and the processor are coupled; The memory is used to store instructions that can be executed by the processor; When the processor executes the instructions, it performs the method as described in any one of claims 1-26.
28. A computer readable storage medium, wherein, The computer-readable storage medium stores computer instructions that, when executed on a computer, cause the computer to perform the method as described in any one of claims 1-26.
29. A computer program product, wherein, The computer program product includes computer program instructions that, when executed, implement the method as described in any one of claims 1-26.