Data transmission method and apparatus

By dynamically adjusting the code block size and adopting an unlicensed scheduling mechanism, the data transmission process is optimized, solving the problem of high latency in the communication system and improving the user experience.

CN116033487BActive Publication Date: 2026-03-20HUAWEI TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-12-31
Publication Date
2026-03-20

AI Technical Summary

Technical Problem

In communication systems, data transmission latency is high, resulting in a poor user experience, and existing technologies are unable to effectively reduce it.

Method used

By adjusting the size of code blocks in the transport block to dynamically adjust according to the data size, different encoding methods and unlicensed scheduling mechanisms are adopted to optimize the data transmission process.

Benefits of technology

Reduce unnecessary data retransmissions, lower data transmission latency, and improve user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116033487B_ABST
    Figure CN116033487B_ABST
Patent Text Reader

Abstract

The application discloses a data transmission method and device, relates to the field of communication, and can reduce the time delay of data transmission and improve user experience. The method comprises the following steps: acquiring a first transport block, and sending the first transport block to a second device. The first transport block comprises at least one first code block, and the first code block comprises first data. The size of the first code block is equal to a first value, and the first value is obtained according to the size of the first data. The first value is greater than or equal to the size of the first data, and is smaller than a second value. The second value is predefined, and the second value is a positive integer.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application claims priority to the patent application with the application number 202111253411.8, the title of which is "XR service indication method", filed with the State Intellectual Property Office on October 27, 2021, the entire content of which is incorporated herein by reference. TECHNICAL FIELD

[0002] The present application relates to the field of communication, in particular to a data transmission method and device. BACKGROUND

[0003] In a communication system, a sending device can periodically send a transport block (TB) to a receiving device. The TB can include a plurality of code blocks (CBs). Generally, the size of a CB is 3840 bits or 8448 bits, and a CB can include data at multiple time points in a period. After receiving the TB, the receiving device can detect the cyclic redundancy check (CRC) of each CB after channel coding and decoding, and if the detection is successful, the receiving device can detect the CRC of the TB. If the CRC detection of the TB is successful, the receiving device can upload the data in the TB to a higher layer of the receiving device. If the CRC detection of the CB after channel coding and decoding or the CRC detection of the TB fails, the receiving device will not upload the data in the TB to the higher layer of the receiving device, but wait for the retransmission of the TB. In the above process, the latency of data transmission is large, and the user experience is poor. SUMMARY

[0004] Embodiments of the present application provide a data transmission method and device, which can reduce the latency of data transmission and improve the user experience.

[0005] To achieve the above-mentioned purpose, the embodiments of the present application adopt the following technical solutions:

[0006] In a first aspect, a data transmission method is provided. The communication device executing the data transmission method can be a first device. Alternatively, the communication device can be a module, such as a chip or a chip system, applied in the first device. Hereinafter, the execution subject is taken as the first device for example. The method comprises: obtaining a first transport block, the first transport block including at least one first code block, the first code block including first data, the size of the first code block being equal to a first value, the first value being obtained according to the size of the first data, the first value being greater than or equal to the size of the first data and less than or equal to a second value, the second value being predefined or preconfigured, the second value being a positive integer; and sending the first transport block to a second device.

[0007] According to the method, the first device can obtain the first transport block and send the first transport block to the second device. The size of the first code block in the first transport block is the first value, and the first value is obtained according to the size of the first data, so that the size of the first code block can be adjusted according to the size of the first data, and a suitable code block size is obtained. In addition, in the case where the first value is greater than or equal to the size of the first data and less than the second value, the number of data included in the first code block is less than the number of data included in the code block with the second value. In this case, compared with the code block with the second value, if any one of the data in the first code block is in error in the transmission process, the retransmission of the data in the first code block can reduce the impact on other first data, or reduce unnecessary data retransmission, and can also reduce the time delay of data transmission and improve user experience. For example, if a code block includes data 1, data 2 and data 3, data 2 is in error in transmission, the first device needs to retransmit data 1, data 2 and data 3. If a code block includes data 1 and data 2, data 2 is in error in transmission, the first device needs to retransmit data 1 and data 2, which does not affect the transmission of data 3, so that data 3 can be transmitted to the second device as soon as possible, and the second device can process the received data first, thereby reducing the time delay of data transmission and improving user experience.

[0008] In a possible implementation, the first transport block further includes at least one second code block, the second code block includes second data, and the size of the second code block is equal to the second value.

[0009] According to the possible implementation, in addition to the at least one first code block, the first transport block can further include at least one second code block. The first code block includes first data, and the second code block includes second data, so that the universality of the first transport block is improved. In addition, the first device can use different encoding methods for the first data and the second data, so that the same transport block can carry data with different transmission requirements.

[0010] In a possible implementation, the first data is data of a first logical channel, and the second data is data of a second logical channel.

[0011] According to the possible implementation, the first device can send the first data and the second data through different logical channels. In this way, different parameters (such as the size of the first code block, and / or the size of the second code block, and / or the number of first code blocks included in one transport block, and / or the number of second modules included in one transport block, etc.) can be configured for the first logical channel and the second logical channel, so that the first data and the second data are transmitted in different ways.

[0012] In a possible implementation, the second value is 3840 bits or 8448 bits.

[0013] Based on the possible implementation, the second value can be the size of a code block defined in the 5G NR protocol. That is, the first device can encode the second data according to the manner defined in the 5G NR protocol, with less protocol modification.

[0014] In a possible implementation, the method further includes: sending, to the second device, first information, the first information being used to indicate the first value.

[0015] Based on the possible implementation, the first device can indicate the first value to the second device. In this way, the first device can perform code block segmentation according to the first value, and add CRC and perform channel coding on the segmented code blocks respectively, and the second device can determine the size of the code blocks of the received data according to the first value, and perform channel decoding and CRC decoding on the code blocks respectively. It can be understood that in this case, the first device can determine the first value.

[0016] In a possible implementation, the first information is further used to indicate at least one of: a semi-static scheduling process number or a number of the first code blocks, the resource indicated by the semi-static scheduling being used to transmit the first transport block.

[0017] Based on the possible implementation, if the first information indicates the semi-static scheduling process number, the second device can determine that the size of the code block corresponding to the process number is the first value, so that the second device determines the size of the code blocks of the received data according to the first value, and performs channel decoding and CRC decoding on the code blocks respectively. If the first information indicates the number of the first code blocks, the second device can determine the symbols and subcarriers occupied by the first code blocks and the second code blocks in the first transport block according to the resource indicated by the semi-static scheduling, the first value and the number of the first code blocks. For example, the second device can determine the number of symbols occupied by the first code blocks in the first transport block, the number of subcarriers corresponding to each symbol occupied by the first code blocks, the number of symbols occupied by the second code blocks in the first transport block and the number of subcarriers corresponding to each symbol occupied by the second code blocks according to the first value and the number of the first code blocks, and then determine the symbols and subcarriers occupied by the first code blocks and the symbols and subcarriers occupied by the second code blocks according to the resource indicated by the semi-static scheduling. In this way, the second device can determine which of the received code blocks are the first code blocks and which are the second code blocks.

[0018] In a possible implementation, the first information is user assistance information.

[0019] Based on the possible implementation manner above, the first device can send the first information to the second device through the user assistance information, and then indicate the first value to the second device.

[0020] In a possible implementation manner, the method further includes: receiving second information from the second device, the second information being used to indicate the first value.

[0021] Based on the possible implementation manner above, the first device can receive the second information from the second device, so as to determine the first value according to the second information. In this case, the first value can be determined by the second device. That is, after the second device determines the first value, the second device can indicate the first value to the first device. In this way, the first device can perform code block segmentation according to the first value, and add CRC and perform channel coding on the segmented code blocks respectively, and the second device can determine the code block size of the received data according to the first value, and perform channel decoding and CRC decoding on the code blocks respectively.

[0022] In a possible implementation manner, the second information is further used to indicate at least one of: a process number of semi-static scheduling or a number of the first code blocks, the resource indicated by the semi-static scheduling being used to transmit the first transport block.

[0023] Based on the possible implementation manner above, if the second information indicates the process number of semi-static scheduling, the first device can determine that the size of the code block corresponding to the process number is the first value, so that the first device performs code block segmentation according to the first value, and adds CRC and performs channel coding on the segmented code blocks respectively. If the second information indicates the number of the first code blocks, the first device can determine the symbols and subcarriers occupied by the first code blocks and the second code blocks in the first transport block according to the resource indicated by the semi-static scheduling, the first value and the number of the first code blocks. For example, the first device can determine the number of symbols occupied by the first code blocks in the first transport block, the number of subcarriers corresponding to each symbol in the symbols occupied by the first code blocks, the number of symbols occupied by the second code blocks in the first transport block and the number of subcarriers corresponding to each symbol in the symbols occupied by the second code blocks according to the first value and the number of the first code blocks, and then determine the symbols and subcarriers occupied by the first code blocks and the symbols and subcarriers occupied by the second code blocks according to the resource indicated by the semi-static scheduling. In this way, the first device can send at least one first code block on the symbols and subcarriers occupied by the first code blocks, and send at least one second code block on the symbols and subcarriers occupied by the second code blocks.

[0024] In a possible implementation manner, the semi-static scheduling is grant-free scheduling.

[0025] Based on the possible implementation manner above, the first device can be configured with resources through grant-free scheduling, so that the first device does not need to send a scheduling request to request resources before data transmission, and also does not need to wait for a scheduling permission, thereby reducing transmission latency.

[0026] In a possible implementation manner, before receiving the second information from the second device, the method further includes: sending, to the second device, third information, the third information being used to indicate a size of the first data.

[0027] Based on the possible implementation manner above, the first device can send the third information to the second device, so that the second device determines the first value according to the third information.

[0028] In a possible implementation manner, the third information is further used to indicate a generation period of the first data.

[0029] Based on the possible implementation manner above, the second device can determine the first value according to the size of the first data and the generation period of the first data.

[0030] In a possible implementation manner, the third information is user assistance information.

[0031] Based on the possible implementation manner above, the first device can send the third information to the second device through the user assistance information, so that the second device can determine the first value according to the third information.

[0032] In a possible implementation manner, after sending the first transport block to the second device, the method further includes: receiving fourth information from the second device, the fourth information being used to schedule a second transport block, the second transport block including a same or different redundancy version of a code block in the first transport block; and sending, to the second device, the second transport block according to the fourth information.

[0033] Based on the possible implementation manner above, the first device can receive the fourth information from the second device, and retransmit all or part of the code blocks of the first transport block according to the fourth information.

[0034] In a possible implementation manner, the fourth information includes a first field, the first field being used to indicate a code block in the first transport block included in the second transport block.

[0035] Based on the possible implementation manner above, the first device can determine, according to the fourth information, a code block that needs to be retransmitted, i.e., a code block that should be included in the second transport block.

[0036] In a possible implementation manner, if the first transport block includes the at least one first code block, the first field is used to indicate a first code block in the first transport block included in the second transport block.

[0037] Based on the possible implementation manner above, in the case that the first code block is included in the first transport block and the second code block is not included, the first field can indicate the first code block in the first transport block included in the second transport block. In this way, the first device can determine the code block that needs to be retransmitted, i.e., the code block that should be included in the second transport block, according to the first field.

[0038] In a possible implementation manner, the first transport block further includes the at least one second code block, and the first field is further used to indicate the second code block in the first transport block included in the second transport block, or the first field is further used to indicate whether the second code block is included in the second transport block.

[0039] Based on the possible implementation manner above, in the case that the first code block and the second code block are included in the first transport block, the first field can indicate the first code block in the first transport block included in the second transport block and the second code block in the first transport block included in the second transport block, or the first field can indicate the first code block in the first transport block included in the second transport block and whether the second code block is included in the second transport block. In this way, the first device can determine the code block that needs to be retransmitted, i.e., the code block that should be included in the second transport block, according to the first field.

[0040] In a possible implementation manner, the code block included in the second transport block is a code block that the second device fails to decode for the first transport block.

[0041] Based on the possible implementation manner above, the first device can retransmit the code block that the second device fails to decode for the first transport block, without retransmitting the code block that the second device correctly decodes for the first transport block, so as to reduce resource overhead.

[0042] In a possible implementation manner, the fourth information is downlink control information or sidelink control information, and the first field is a modulation and coding scheme field.

[0043] Based on the possible implementation manner above, the second device can schedule the first device to retransmit through the downlink control information or the sidelink control information, and indicate the code block that should be included in the second transport block through the modulation and coding scheme field in the downlink control information or the sidelink control information.

[0044] Secondly, a data transmission method is provided, wherein the communication device executing the data transmission method can be a second device; or it can be a module applied in the second device, such as a chip or chip system. The following description uses the second device as the executing entity. The method includes: receiving a first transmission block from a first device, the first transmission block including at least one first code block, the first code block including first data, the size of the first code block being equal to a first value, the first value being obtained based on the size of the first data, the first value being greater than or equal to the size of the first data, and less than or equal to a second value, the second value being predefined and being a positive integer; decoding the first transmission block; and uploading the data in the code block in the first transmission block that has passed cyclic redundancy check (CRC) verification to a higher layer of the second device.

[0045] Based on the method provided in the second aspect above, the second device can receive a first transmission block from the first device, decode the first transmission block, and upload the data in the code block in the first transmission block that has passed the cyclic redundancy check (CRC) verification to the higher layer of the second device. The size of the first code block in the first transmission block is a first value, which is obtained based on the size of the first data. Therefore, the size of the first code block can be adjusted according to the size of the first data to obtain a suitable code block size. Furthermore, when the first value is greater than or equal to the size of the first data and less than a second value, the number of data items included in the first code block can be less than the number of data items included in a code block of size second value. In this case, compared to a code block of size second value, if any data item in the first code block malfunctions during transmission, causing retransmission of data in the first code block, the impact on other first data items can be reduced, or unnecessary data retransmissions can be reduced. This also reduces data transmission latency and improves user experience. For example, if a code block includes data 1, data 2, and data 3, and data 2 malfunctions during transmission, the first device needs to retransmit data 1, data 2, and data 3. If a code block includes data 1 and data 2, and data 2 encounters an error during transmission, the first device only needs to retransmit data 1 and data 2. This does not affect the transmission of data 3, allowing data 3 to be transmitted to the second device as quickly as possible. This enables the second device to process the received data first, reducing data transmission latency and improving user experience. Furthermore, after receiving the first transmission block, the second device can upload the data from the code blocks within the first transmission block that have passed cyclic redundancy check (CRC) verification to its higher layers. This further reduces data transmission latency, allowing higher layers to process the received data and respond to the first device, thus improving user experience.

[0046] In a possible implementation, the first transport block further includes at least one second code block, the second code block including second data, and a size of the second code block being equal to the second value.

[0047] Based on the possible implementation, the first transport block can further include at least one second code block in addition to the at least one first code block. The first code block includes first data, and the second code block includes second data, so that the universality of the code blocks in the first transport block is improved. In addition, different encoding manners can be used for the first data and the second data, so that the same transport block can carry data with different transmission requirements.

[0048] In a possible implementation, the first data is data of a first logical channel, and the second data is data of a second logical channel.

[0049] Based on the possible implementation, the first data and the second data can be transmitted through different logical channels. In this way, different parameters (such as a size of the first code block, and / or a size of the second code block, and / or a number of the first code blocks included in one transport block, and / or a number of the second code blocks included in one transport block, and the like) can be configured for the first logical channel and the second logical channel, so that the first data and the second data are transmitted in different manners.

[0050] In a possible implementation, the second value is 3840 bits or 8448 bits.

[0051] Based on the possible implementation, the second value can be a size of a code block defined in a 5G NR protocol. That is, the first device can encode the second data according to a manner defined in the 5G NR protocol, and the protocol is less changed.

[0052] In a possible implementation, the method further includes: receiving first information from the first device, the first information being used to indicate the first value.

[0053] Based on the possible implementation, the second device can receive the first information from the first device, the first information being used to indicate the first value. In this case, the first value can be determined by the first device. In this way, the first device can perform code block segmentation according to the first value, and add CRC and perform channel encoding on the segmented code blocks respectively, and the second device can determine sizes of the code blocks of the received data according to the first value, and perform channel decoding and CRC decoding on the code blocks respectively.

[0054] In a possible implementation, the first information is further used to indicate at least one of the following: a process number of semi-static scheduling or a number of the first code blocks, and a resource indicated by the semi-static scheduling being used to transmit the first transport block.

[0055] Based on the possible implementation manner above, if the first information indicates the process number of the semi-static scheduling, the second device can determine that the size of the code block corresponding to the process number is the first value, so that the second device determines the size of the code blocks of the received data according to the first value, and respectively performs channel decoding and CRC decoding on the code blocks. If the first information indicates the number of the first code blocks, the second device can determine the symbols and subcarriers respectively occupied by the first code blocks and the second code blocks in the first transport block according to the resource indicated by the semi-static scheduling, the first value and the number of the first code blocks. For example, the second device can determine the number of symbols occupied by the first code blocks in the first transport block, the number of subcarriers corresponding to each symbol occupied by the first code blocks, the number of symbols occupied by the second code blocks in the first transport block and the number of subcarriers corresponding to each symbol occupied by the second code blocks according to the first value and the number of the first code blocks, and then determine the symbols and subcarriers respectively occupied by the first code blocks and the second code blocks according to the resource indicated by the semi-static scheduling. In this way, the second device can determine which of the received code blocks are the first code blocks and which are the second code blocks.

[0056] In a possible implementation manner, the first information is user assistance information.

[0057] Based on the possible implementation manner above, the second device can receive the first information from the first device through the user assistance information, and then determine the first value.

[0058] In a possible implementation manner, the method further includes: sending, to the first device, second information, the second information being used to indicate the first value.

[0059] Based on the possible implementation manner above, the second device can send the second information to the first device to indicate the first value to the first device. In this case, the first value can be determined by the second device. That is, after determining the first value, the second device can indicate the first value to the first device. In this way, the first device can perform code block segmentation according to the first value, and respectively add CRC and perform channel encoding on the segmented code blocks, and the second device can determine the size of the code blocks of the received data according to the first value, and respectively perform channel decoding and CRC decoding on the code blocks.

[0060] In a possible implementation manner, the second information is further used to indicate at least one of the following: a process number of semi-static scheduling or a number of the first code blocks, and the resource indicated by the semi-static scheduling is used to transmit the first transport block.

[0061] Based on the possible implementation manner above, if the second information indicates the process number of the semi-static scheduling, the first device can determine that the size of the code block corresponding to the process number is the first value, so that the first device performs code block segmentation according to the first value, and adds CRC and performs channel coding on the segmented code blocks respectively. If the second information indicates the number of the first code blocks, the first device can determine the symbols and subcarriers occupied by the first code blocks and the second code blocks in the first transport block according to the resource indicated by the semi-static scheduling, the first value and the number of the first code blocks. For example, the first device can determine the number of symbols occupied by the first code blocks in the first transport block, the number of subcarriers corresponding to each symbol in the symbols occupied by the first code blocks, the number of symbols occupied by the second code blocks in the first transport block and the number of subcarriers corresponding to each symbol in the symbols occupied by the second code blocks according to the first value and the number of the first code blocks, and then determine the symbols and subcarriers occupied by the first code blocks and the symbols and subcarriers occupied by the second code blocks according to the resource indicated by the semi-static scheduling. In this way, the first device can send at least one first code block on the symbols and subcarriers occupied by the first code blocks, and send at least one second code block on the symbols and subcarriers occupied by the second code blocks.

[0062] In a possible implementation manner, the semi-static scheduling is grant-free scheduling.

[0063] Based on the possible implementation manner above, the resource can be configured for the first device through the grant-free scheduling, so that the first device does not need to send a scheduling request to request the resource before data transmission, and does not need to wait for a scheduling permission, thereby reducing the transmission delay.

[0064] In a possible implementation manner, before the second information is sent to the first device, the method further includes: receiving third information from the first device, the third information being used to indicate the size of the first data.

[0065] Based on the possible implementation manner above, the second device can receive the third information sent by the first device before the second information is sent to the first device. In this way, the second device can determine the first value according to the third information before indicating the first value to the first device.

[0066] In a possible implementation manner, the third information is further used to indicate the generation period of the first data.

[0067] Based on the possible implementation manner above, the second device can determine the first value according to the size of the first data and the generation period of the first data.

[0068] In a possible implementation manner, the third information is user assistance information.

[0069] Based on the possible implementation, the second device can receive the third information from the first device through the user assistance information, and then determine the first value according to the third information.

[0070] In a possible implementation, after decoding the first transport block, the method further includes: if the first transport block is checked to be erroneous, sending fourth information to the first device, the fourth information being used for scheduling a second transport block, the second transport block including the same or different redundancy versions of the code blocks in the first transport block; receiving the second transport block from the first device; and decoding the second transport block.

[0071] Based on the possible implementation, if the second device checks the first transport block to be erroneous, the second device can send the fourth information to the first device, so that the first device can determine the code blocks that need to be retransmitted or the code blocks that should be included in the second transport block according to all or part of the code blocks in the fourth information.

[0072] In a possible implementation, the fourth information includes a first field, the first field being used for indicating the code blocks in the first transport block included in the second transport block.

[0073] Based on the possible implementation, the second device can indicate the code blocks that need to be retransmitted or the code blocks that should be included in the second transport block to the first device through the first field in the fourth information.

[0074] In a possible implementation, if the first transport block includes the at least one first code block, the first field is used for indicating the first code block in the first transport block included in the second transport block.

[0075] Based on the possible implementation, in the case that the first code block is included in the first transport block and the second code block is not included in the first transport block, the first field can indicate the first code block in the first transport block included in the second transport block. In this way, the first device can determine the code blocks that need to be retransmitted or the code blocks that should be included in the second transport block according to the first field.

[0076] In a possible implementation, the first transport block further includes the at least one second code block, the first field is further used for indicating the second code block in the first transport block included in the second transport block, or the first field is further used for indicating whether the second code block is included in the second transport block.

[0077] Based on the possible implementation manner above, in the case that the first code block and the second code block are included in the first transport block, the first field can indicate the first code block in the first transport block included in the second transport block and the second code block in the first transport block included in the second transport block, or the first field can indicate the first code block in the first transport block included in the second transport block and whether the second transport block includes the second code block. In this way, the first device can determine the code block that needs to be retransmitted, i.e., the code block that should be included in the second transport block, according to the first field.

[0078] In a possible implementation manner, the code block included in the second transport block is a code block that the second device fails to decode for the first transport block.

[0079] Based on the possible implementation manner above, the first device can retransmit the code block that the second device fails to decode for the first transport block, without retransmitting the code block that the second device correctly decodes for the first transport block, so as to reduce resource overhead.

[0080] In a possible implementation manner, the fourth information is downlink control information or sidelink control information, and the first field is a modulation and coding scheme field.

[0081] Based on the possible implementation manner above, the second device can schedule the first device to retransmit through the downlink control information or the sidelink control information, and indicate the code block that should be included in the second transport block through the modulation and coding scheme field in the downlink control information or the sidelink control information.

[0082] In a third aspect, a communication apparatus is provided for implementing the method in the above aspect. The communication apparatus can be the first device in the first aspect, or a device including the first device. The communication apparatus includes modules, units, or means corresponding to the modules, units, or means for implementing the method, which can be implemented by hardware, software, or by a combination of hardware and software. The hardware or software includes one or more modules or units corresponding to the functions described above.

[0083] In conjunction with the third aspect above, in a possible implementation manner, the communication apparatus can include a processing module and a transceiver module. The processing module can be configured to implement the processing functions in any of the above aspects and any possible implementation manners. The processing module can be, for example, a processor. The transceiver module, which can also be referred to as a transceiver unit, is configured to implement the functions of transmitting and / or receiving in the first aspect and any possible implementation manner. The transceiver module can be composed of a transceiver circuit, a transceiver, a transceiver chip, or a communication interface.

[0084] With reference to the third aspect above, in a possible implementation form of the third aspect, the transceiver module comprises a transmitting module and a receiving module, which are configured to implement the transmitting and receiving functions in the first aspect and any possible implementation form thereof.

[0085] According to a fourth aspect, a communication apparatus is provided for implementing the method in the above aspects. The communication apparatus can be the second device in the second aspect, or an apparatus including the second device. The communication apparatus comprises modules, units, or means for implementing the corresponding functions in the method, which can be implemented by hardware, software, or by a combination of hardware and software. The hardware or software includes one or more modules or units corresponding to the functions.

[0086] With reference to the fourth aspect above, in a possible implementation form of the fourth aspect, the communication apparatus can comprise a transceiver module and a processing module. The transceiver module, which can also be referred to as a transceiver unit, is configured to implement the transmitting and / or receiving functions in the second aspect and any possible implementation form thereof. The transceiver module can be composed of a transceiver circuit, a transceiver, a transceiver device, or a communication interface. The processing module can be configured to implement the processing functions in the second aspect and any possible implementation form thereof. The processing module can be, for example, a processor.

[0087] With reference to the fourth aspect above, in a possible implementation form of the fourth aspect, the transceiver module comprises a transmitting module and a receiving module, which are configured to implement the transmitting and receiving functions in the second aspect and any possible implementation form thereof.

[0088] According to a fifth aspect, a communication apparatus is provided, which comprises a processor. The processor is configured to couple with a memory, and read instructions in the memory, and execute the method in the first aspect according to the instructions. The communication apparatus can be the first device in the first aspect, or an apparatus including the first device.

[0089] According to a sixth aspect, a communication apparatus is provided, which comprises a processor. The processor is configured to couple with a memory, and read instructions in the memory, and execute the method in the second aspect according to the instructions. The communication apparatus can be the first device in the second aspect, or an apparatus including the second device.

[0090] With reference to the fifth aspect or the sixth aspect above, in a possible implementation form of the fifth aspect or the sixth aspect, the communication apparatus further comprises a memory, which is configured to store necessary program instructions and data.

[0091] With reference to the fifth aspect or the sixth aspect above, in a possible implementation form of the fifth aspect or the sixth aspect, the communication apparatus is a chip or a chip system. Optionally, when the communication apparatus is a chip system, the communication apparatus can be composed of a chip, or can include a chip and other discrete devices.

[0092] In a seventh aspect, a communication apparatus is provided, which comprises: a processor and an interface circuit; the interface circuit is configured to receive a computer program or instructions and transmit to the processor; the processor is configured to execute the computer program or instructions, so that the communication apparatus executes the method in the first aspect.

[0093] In an eighth aspect, a communication apparatus is provided, which comprises: a processor and an interface circuit; the interface circuit is configured to receive a computer program or instructions and transmit to the processor; the processor is configured to execute the computer program or instructions, so that the communication apparatus executes the method in the second aspect.

[0094] With the seventh aspect or the eighth aspect, in a possible implementation, the communication apparatus is a chip or a chip system. Optionally, when the communication apparatus is a chip system, the communication apparatus can be composed of a chip or can include a chip and other discrete devices.

[0095] In a ninth aspect, a computer readable storage medium is provided, which stores instructions, when the instructions are executed on a computer, the computer can execute the method in the first aspect.

[0096] In a tenth aspect, a computer readable storage medium is provided, which stores instructions, when the instructions are executed on a computer, the computer can execute the method in the second aspect.

[0097] In an eleventh aspect, a computer program product is provided, which includes instructions, when the instructions are executed on a computer, the computer can execute the method in the first aspect.

[0098] In a twelfth aspect, a computer program product is provided, which includes instructions, when the instructions are executed on a computer, the computer can execute the method in the second aspect.

[0099] The technical effects brought by any possible implementation of the third aspect to the twelfth aspect can refer to the technical effects brought by any aspect of the first aspect to the second aspect or any possible implementation of any aspect, which will not be repeated here.

[0100] In a thirteenth aspect, a communication system is provided, which includes a first device for executing the method in the first aspect, and a second device for executing the method in the second aspect. BRIEF DESCRIPTION OF DRAWINGS

[0101] Figure 1A The communication system architecture diagram provided by the embodiments of the present application is shown in the following figure:

[0102] Figure 1B A schematic diagram of unlicensed scheduled data transmission provided in an embodiment of this application;

[0103] Figure 1C A schematic diagram of unlicensed scheduled data transmission provided in the embodiments of this application. Figure 2 ;

[0104] Figure 1D A schematic diagram illustrating pose information transmission provided in an embodiment of this application;

[0105] Figure 2 A schematic diagram illustrating the data transmission process between devices provided in an embodiment of this application;

[0106] Figure 3 A schematic diagram of the encoding process provided in this application embodiment;

[0107] Figure 4 A schematic diagram illustrating the pose information generation cycle provided in the embodiments of this application;

[0108] Figure 5 This is a schematic diagram of the hardware structure of the communication device provided in the embodiments of this application;

[0109] Figure 6 A flowchart illustrating the data transmission method provided in an embodiment of this application;

[0110] Figure 7A A schematic diagram of the encoding process provided for embodiments of this application. Figure 2 ;

[0111] Figure 7B A schematic diagram of the encoding process provided for embodiments of this application. Figure 3 ;

[0112] Figure 8 A schematic diagram illustrating the resource allocation method provided in the embodiments of this application;

[0113] Figure 9 This is a schematic diagram of the structure of the communication device provided in the embodiments of this application. Detailed Implementation

[0114] The embodiments of this application will now be described in detail with reference to the accompanying drawings.

[0115] The method provided by the embodiments of the present application can be applied to various communication systems. For example, the communication system can be a long term evolution (LTE) system, a 5th generation (5G) communication system, a wireless-fidelity (WiFi) system, a 3rd generation partnership project (3GPP) related communication system, a future evolved communication system, or a system integrating multiple systems, etc., without limitation. The 5G can also be referred to as a new radio (NR). The method provided by the embodiments of the present application is described below by taking a communication system 10 as shown in FIG. 1 as an example. Figure 1A The method provided by the embodiments of the present application is described below by taking a communication system 10 as shown in FIG. 1 as an example.

[0116] As shown in FIG. 1, it is a schematic diagram of the architecture of the communication system 10 provided by the embodiments of the present application. Figure 1A As shown in FIG. 1, it is a schematic diagram of the architecture of the communication system 10 provided by the embodiments of the present application. Figure 1A In the embodiment, the communication system 10 can include a device 101 and a device 102 that can communicate with the device 101. Figure 1A The schematic diagram is only for illustration and does not constitute a limitation on the applicable scenarios of the technical solutions provided by the present application. As an example, Figure 1A The communication system 10 as shown in FIG. 1 can be applied to at least the following scenario 1 or scenario 2.

[0117] Scenario 1: The device 101 can be a terminal 101, and the device 102 can be a network device 102. In this scenario, the network device 102 can provide wireless access services for the terminal 101. Specifically, the network device 102 corresponds to a service coverage area, and the terminal 101 entering the area can communicate with the network device 102 through a Uu port to receive the wireless access services provided by the network device 102. Optionally, the service coverage area can include one or more cells. The terminal 101 and the network device 102 can communicate through a Uu port link. The Uu port link can be divided into an uplink (UL) and a downlink (DL) according to the direction of the data transmitted thereon. The UL can transmit uplink data sent from the terminal 101 to the network device 102, and the DL can transmit downlink data transmitted from the network device 102 to the terminal 101.

[0118] In a possible implementation, to reduce the transmission delay, the terminal 101 and the network device 102 can adopt a grant-free scheduling manner for data transmission. Specifically, the terminal 101 can send data to the network device 102 on a resource configured or activated in advance. The resource can be configured for the terminal 101 by the network device 102 through high-layer signaling, such as radio resource control (RRC) layer signaling, or the resource can be defined in a protocol. In this way, the terminal 101 does not need to send a scheduling request to the network device 102 to request a resource before data transmission, and does not need to wait for an uplink scheduling grant from the network device 102, thereby reducing the transmission delay.

[0119] As an example, before the terminal 101 sends data, the network device 102 configures periodic resources, such as at least one of a transmission opportunity period, a transmission opportunity position in the period, a modulation and coding scheme (MCS) level, or a multiple input multiple output (MIMO) parameter, for the terminal 101 through RRC signaling. When there is data to be sent, the terminal 101 can directly send the data on the configured resource. For example, as shown in FIG. 2, after the network device 102 sends RRC signaling to configure periodic resources for the terminal 101, when new data arrives, the terminal 101 sends the new data on the configured resource, that is, the terminal 101 can perform grant-free scheduling data transmission. Figure 1B

[0120] As another example, before the terminal 101 sends data, the network device 102 configures a transmission opportunity period and the like for the terminal 101 through RRC signaling. Subsequently, the network device 102 activates uplink transmission through downlink control information (DCI). The DCI can configure at least one of a transmission opportunity position in the period, an MCS level, or a MIMO parameter. Then, when there is data to be sent, the terminal 101 sends the data on the configured resource, and when there is no data to be sent, the terminal 101 skips the transmission opportunity. For example, as shown in FIG. 3, after the network device 102 sends RRC signaling to configure a transmission opportunity period and the like for the terminal 101, and sends DCI to activate uplink transmission, when new data arrives, the terminal 101 sends the new data on the configured resource, that is, the terminal 101 can perform grant-free scheduling data transmission. Figure 1C

[0121] ​​Scenario 2: The device 101 can be a terminal 101, and the device 102 can be a terminal 102. In this scenario, the terminal 101 and the terminal 102 can communicate with each other through a direct communication link. This direct communication link can be referred to as a sidelink or a sidelink (SL). For example, the terminal 101 can send information to the terminal 102 through the sidelink, and the terminal 102 can also send information to the terminal 101 through the sidelink.

[0122] In a possible implementation, to reduce the transmission delay, the terminal 101 and the terminal 102 can use grant-free scheduling to perform data transmission. Specifically, the terminal 101 can send data to the terminal 102 on a resource configured or activated in advance. The resource can be configured for the terminal 101 by a network device (not shown in the protocol) through high-layer signaling such as RRC layer signaling, or the resource can be configured for the terminal 101 by the terminal 102, or the resource can be defined in the protocol. In this way, the terminal 101 does not need to send a scheduling request to the network device or the terminal 102 to request a resource before data transmission, and does not need to wait for a scheduling permission from the network device or the terminal 102, thereby reducing the transmission delay. Similarly, the terminal 102 can also send data to the terminal 101 on a resource configured or activated in advance. The resource can be configured for the terminal 102 by a network device (not shown in the protocol) through high-layer signaling such as RRC layer signaling, or the resource can be configured for the terminal 102 by the terminal 101, or the resource can be defined in the protocol. In this way, the terminal 102 does not need to send a scheduling request to the network device or the terminal 101 to request a resource before data transmission, and does not need to wait for a scheduling permission from the network device or the terminal 101, thereby reducing the transmission delay. Figure 1A Figure 1A In a possible implementation, to reduce the transmission delay, the terminal 101 and the terminal 102 can use grant-free scheduling to perform data transmission. Specifically, the terminal 101 can send data to the terminal 102 on a resource configured or activated in advance. The resource can be configured for the terminal 101 by a network device (not shown in the protocol) through high-layer signaling such as RRC layer signaling, or the resource can be configured for the terminal 101 by the terminal 102, or the resource can be defined in the protocol. In this way, the terminal 101 does not need to send a scheduling request to the network device or the terminal 102 to request a resource before data transmission, and does not need to wait for a scheduling permission from the network device or the terminal 102, thereby reducing the transmission delay. Similarly, the terminal 102 can also send data to the terminal 101 on a resource configured or activated in advance. The resource can be configured for the terminal 102 by a network device (not shown in the protocol) through high-layer signaling such as RRC layer signaling, or the resource can be configured for the terminal 102 by the terminal 101, or the resource can be defined in the protocol. In this way, the terminal 102 does not need to send a scheduling request to the network device or the terminal 101 to request a resource before data transmission, and does not need to wait for a scheduling permission from the network device or the terminal 101, thereby reducing the transmission delay.

[0123] The process of configuring the grant-free scheduling resource for the terminal 101 or the terminal 102 by the network device can refer to the corresponding description in the above scenario 1, and will not be described here. The following takes the terminal 102 as an example to introduce the specific process of grant-free scheduling data transmission between terminals.

[0124] As an example, before the terminal 101 sends data, the terminal 102 configures periodic resources for the terminal 101 through RRC signaling, such as at least one of the period of transmission opportunities, the position of transmission opportunities in the period, the MCS level, or the MIMO parameter. When the terminal 101 has data to send, it can directly send the data on the configured resource.

[0125] ​As another example, before terminal 101 transmits data, terminal 102 configures terminal 101 with parameters such as period of transmission opportunity through RRC signaling. Subsequently, terminal 102 activates the sidelink transmission through sidelink control information (SCI). Wherein, the SCI can configure at least one of the position of the transmission opportunity within the period, the MCS level or the MIMO parameter. After that, terminal 101 transmits data on the configured resource when there is data to be transmitted, and skips the transmission opportunity when there is no data to be transmitted.

[0126] The network device and the terminal in the embodiments of the present application are introduced as follows.

[0127] The network device in the embodiments of the present application can be any device with wireless transceiving function. It includes but is not limited to: an evolved Node B (NodeB or eNB or e-NodeB) in LTE, a base station (gNodeB or gNB) or a transmission receiving point (TRP) in NR, a base station in subsequent evolution of 3GPP, an access node in a WiFi system, a wireless relay node, a wireless backhaul node, etc. The base station can be: a macro base station, a micro base station, a pico base station, a small station, a relay station, or a balloon station, etc. Multiple base stations can support the network of the same technology mentioned above, or support the network of different technologies mentioned above. The base station can contain one or more co-sited or non-co-sited TRPs. The network device can also be a wireless controller in a cloud radio access network (CRAN) scenario. The network device can also be a centralized unit (CU) and / or a distributed unit (DU). The network device can also be a server, a wearable device, a machine communication device, or a vehicle-mounted device, etc. The following takes the network device as a base station for example. The multiple network devices can be the same type of base station, or different types of base station. The base station can communicate with the terminal, or communicate with the terminal through the relay station. The terminal can communicate with multiple base stations of different technologies, for example, the terminal can communicate with a base station supporting an LTE network, and can also communicate with a base station supporting a 5G network, and can also support dual connectivity with the base station of the LTE network and the base station of the 5G network. In the embodiments of the present application, the device for implementing the function of the network device can be the network device; or can be a device capable of supporting the network device to implement the function, such as a chip system, which can be installed in the network device or used in matching with the network device. In the embodiments of the present application, the chip system can be composed of a chip, or can include a chip and other discrete devices. In the method provided in the embodiments of the present application, the device for implementing the function of the network device is taken as an example of the network device to describe the method provided in the embodiments of the present application.

[0128] The terminal in the embodiments of the present application is a device with wireless transceiving function. The terminal can be deployed on land, including indoor or outdoor, handheld or vehicle-mounted; can also be deployed on water surface (such as ships, etc.); and can also be deployed in the air (such as airplanes, balloons and satellites, etc.). The terminal can also be referred to as a terminal device, and the terminal device can be a user equipment (UE), wherein the UE includes a handheld device, a vehicle-mounted device, a wearable device or a computing device with wireless communication function. Exemplarily, the UE can be a mobile phone, a tablet computer or a computer with wireless transceiving function. The terminal device can also be a virtual reality (VR) terminal device, an augmented reality (AR) terminal device, a wireless terminal in industrial control, a wireless terminal in unmanned driving, a wireless terminal in remote medical treatment, a wireless terminal in smart grid, a wireless terminal in smart city, or a wireless terminal in smart home, etc. In the embodiments of the present application, the device for implementing the function of the terminal can be the terminal; or can be a device capable of supporting the terminal to implement the function, such as a chip system, which can be installed in the terminal or used in matching with the terminal. In the embodiments of the present application, the chip system can be composed of a chip, or can include a chip and other discrete devices. In the method provided in the embodiments of the present application, the device for implementing the function of the terminal is taken as an example of the terminal to describe the method provided in the embodiments of the present application.

[0129] By way of example and without limitation, in the present application, the terminal can be a wearable device. The wearable device can also be referred to as a wearable smart device, which is a general term of devices that are designed and developed by applying wearable technology to daily wear, such as glasses, gloves, watches, clothes and shoes, etc. The wearable device is a portable device that is directly worn on the body, or is integrated into clothes or accessories of a user. The wearable device is not only a hardware device, but also has strong functions through software support and data interaction and cloud interaction. The wearable smart device in a broad sense includes devices with complete functions, large size and complete or partial functions independent of a smart phone, such as smart watches or smart glasses, etc.; and devices that focus on a certain application function and need to cooperate with other devices such as smart phones, such as various smart wristbands and smart jewelry for monitoring vital signs, etc.

[0130] The terminal in this application can also be a VR terminal, an AR terminal, or a mixed reality (MR) terminal. The VR terminal, the AR terminal, and the MR terminal can all be referred to as an extended reality (XR) terminal. The XR terminal can be a head-mounted device (such as a helmet or glasses), an all-in-one machine, a television, a display, a car, a vehicle-mounted device, a tablet, a smart screen, or the like. The XR terminal can access a network in a wireless or wired manner, such as through a WiFi or 5G system. The XR terminal can present XR data to a user, and the user can experience diversified XR services by wearing or using the XR terminal. The XR data can also be referred to as data of an XR service (i.e., data generated by an XR service), including one or more of VR data, AR data, MR data, video data, audio data, or picture data. For example, the XR data includes at least one of pose information, audio information, or video information. The pose information can indicate a position and / or an attitude of the user. The audio information includes at least one piece of audio. The video information includes at least one piece of video or at least one picture.

[0131] To improve user experience, XR services usually have a low-latency and high-rate requirement. An XR service can be implemented through an XR technology. The XR technology has the advantages of multiple perspectives and strong interactivity, and can provide a brand-new experience for users, and has great application value and commercial potential. The XR technology includes VR technology, AR technology, MR technology, and the like, and can be widely applied in entertainment, gaming, medical treatment, advertising, industry, online education, engineering, and many other fields. The VR technology mainly refers to rendering of a visual and audio scene to simulate visual and audio stimulation of a real world to a user as much as possible. The VR technology usually requires the user to wear an XR terminal (such as a head-mounted device) to simulate visual and / or auditory stimulation to the user. The VR technology can also track the action of the user to update the simulated visual and / or auditory content in time. The AR technology mainly refers to providing additional information or artificially generated content in a visual and / or auditory manner in a real environment perceived by a user. The real environment perceived by the user can be directly obtained (such as without sensing, processing, and rendering), or indirectly obtained (such as through a sensor or the like), and further enhanced. The MR technology inserts some virtual elements into a physical scene, with the purpose of providing an immersive experience for a user that these elements are part of the real scene.

[0132] In some embodiments, the process of transmitting data between the device 101 and the device 102 can be as shown in FIG. 1. Figure 2 Figure 2 ​In the middle, the device 101 and the device 102 include a packet data convergence protocol (PDCP) layer, a radio link control (RLC) layer, a media access control (MAC) layer, and a physical (PHY) layer.

[0133] Taking that the device 101 sends data 1 to the device 102 as an example, when the data 1 arrives at the PDCP layer in the device 101, the PDCP layer adds a PDCP header to the data 1 to obtain a PDCP protocol data unit (PDU), and delivers the PDCP PDU to the RLC layer in the device 101 as an RLC service data unit (SDU), wherein the PDCP header can include a sequence number (SN). The RLC layer of the device 101 has a segmentation function, which can segment the received RLC SDU into multiple data packets according to the transmission opportunity notified by the MAC layer, and add an RLC header to each data packet to obtain multiple RLC PDUs. Then, the RLC layer can deliver the RLC PDUs to the MAC layer in the device 101 through a logical channel (LCH). The MAC layer in the device 101 processes the RLC PDUs using a MAC configuration to generate a bit sequence of the MAC layer, and delivers the bit sequence to the PHY layer in the device 101. After receiving the bit sequence, the PHY layer in the device 101 can add CRC to the bit sequence and perform segmentation processing to obtain at least one CB. Then, the PHY layer adds CRC to each CB and performs channel coding on each CB with CRC to obtain a TB. The TB includes the coded CBs. For example, as shown in FIG. 1, after the PHY layer in the device 101 adds CRC to the bit sequence of the MAC layer, it can perform segmentation processing to obtain 3 CBs, add CRC to each CB, and perform channel coding, such as low density parity check (LDPC) coding, on each CB with CRC to obtain a TB. Subsequently, the PHY layer in the device 101 can send the TB to the device 102. Figure 3

[0134] ​The PHY layer in the device 102 receives the TB, decodes the coded CBs in the TB, detects the CRC of the decoded CBs, and if the detection is successful, detects the CRC of the TB, and if the detection is successful, delivers the TB with the successful detection to the MAC layer in the device 102. The MAC layer in the device 102 processes the TB using the MAC configuration, obtains the RLC PDU, and delivers the RLC PDU to the RLC layer in the device 102 through the logical channel. The RLC layer in the device 102 can remove the RLC header of the RLC PDU to obtain the PDCP PDU. If the RLC layer in the device 101 performs segmentation processing on the RLC SDU, the RLC layer in the device 102 can also combine multiple PDCP PDUs into one PDCP PDU. The RLC layer in the device 102 also has the function of retransmission or packet loss. For example, in the acknowledgement mode (AM), if the RLC layer in the device 102 receives an incomplete RLC PDU (for example, the RLC layer in the device 101 performs segmentation processing on the RLC SDU, which may cause the data in one RLC SDU to be split into different bit sequences of the MAC layer. Therefore, the RLC layer in the device 102 may receive an incomplete RLC PDU), the RLC layer in the device 102 will start the retransmission mechanism, or in the unacknowledgement mode (UM), if the RLC layer in the device 102 receives an incomplete RLC PDU, the RLC layer may directly discard the data packet. Then, the RLC layer in the device 102 delivers the obtained PDCP PDU to the PDCP layer in the device 102. The PDCP layer in the device 102 removes the PDCP header of the PDCP PDU to obtain the data 1. The PDCP layer in the device 102 also has the function of sequencing, that is, the PDCP layer can sequence the data packets according to the SN and deliver the data in the data packets to the upper layer of the device 102, such as the application layer, in sequence. If the device 102 does not receive the TB in sequence, the PDCP layer of the device 102 will detect the out-of-sequence data packet. At this time, the PDCP layer will stop delivering data to the upper layer, but will deliver the data in the data packet to the upper layer in sequence after the out-of-sequence data packet is successfully received. For example, if the PDCP layer in the device 102 receives the data packet a with SN 1 and the data packet c with SN 3, but does not receive the data packet b with SN 2, the PDCP layer will deliver the data in the data packet a to the upper layer of the device 102, but will stop delivering the data in the data packet c, and will first deliver the data in the data packet b to the upper layer after receiving the data packet b, and then deliver the data in the data packet c to the upper layer.

[0135] Optionally, after the upper layer of the device 102 receives the data 1, the upper layer of the device 102 can send a feedback message to the server (Figure 1A The device 101 sends the data 1 to the server for processing and transmission.

[0136] For example, the device 101 captures the user action to obtain the pose information, and then sends the pose information to the server (e.g., a cloud server) through the device 102. Figure 1D The server receives the pose information, renders and encodes (e.g., source encoding) the pose information to obtain processed information. Subsequently, the server sends the processed information to the device 101 through the device 102. The device 101 processes the processed information to provide diversified XR experience (e.g., displays the processed information) for the user.

[0137] In a communication system, the size of a CB is usually a fixed value. For example, in 5G NR, the CB size is defined as 3840 bits or 8448 bits. If the size of a data is less than half of the fixed value, one CB can include multiple such data. In this case, if any data is in error during the transmission process, the entire CB or TB in which the data is located needs to be retransmitted, resulting in a large transmission delay of the data and poor user experience.

[0138] For example, the device 101 sends the pose information to the server through the device 102, the generation period of the pose information is 4 milliseconds (ms), the transmission period of the pose information is 12 ms, and one CB includes three pieces of pose information. Figure 4 As shown in FIG. 8, one piece of pose information is generated at the 0th ms, 4th ms, 8th ms, 12th ms, 16th ms, 20th ms, 24th ms, 28th ms, and 32nd ms. The device 101 can send the pose information generated at the 0th ms, 4th ms, and 8th ms to the device 102 at the 8th ms, send the pose information generated at the 12th ms, 16th ms, and 20th ms to the device 102 at the 20th ms, and send the pose information generated at the 24th ms, 28th ms, and 32nd ms to the device 102 at the 32nd ms. In this case, if the pose information generated at the 4th ms is in error during the transmission process, the pose information generated at the 0th ms and 8th ms also needs to be retransmitted, which aggravates the transmission delay of the pose information and results in poor user experience. This is not allowed for services such as XR services that have low latency and high rate requirements.

[0139] To address the aforementioned problems, this application provides a data transmission method. The method includes: a first device acquiring a first TB and sending the first TB to a second device. The first TB includes at least one first CB. The first CB includes first data. The size of the first CB is equal to a first numerical value. The first numerical value is obtained based on the size of the first data, and is greater than or equal to the size of the first data, and less than or equal to a second value. The second numerical value is predefined and is a positive integer. This method reduces data transmission latency and improves user experience by controlling the size of the first CB. This method will be discussed below. Figure 6 The specific details are illustrated in the examples shown.

[0140] The above Figure 1A The communication system 10 shown is for illustrative purposes only and is not intended to limit the technical solutions of this application. Those skilled in the art should understand that in specific implementations, the communication system 10 may also include other devices, and the number of devices can be determined according to specific needs without limitation.

[0141] Optionally, embodiments of this application Figure 1A The devices mentioned can also be called communication devices, which can be general-purpose devices or special-purpose devices. This application does not specifically limit them in this regard.

[0142] Optionally, embodiments of this application Figure 1A The relevant functions of each device in the process can be implemented by one device, multiple devices working together, or one or more functional modules within a single device. This application does not specifically limit this. It is understood that the above functions can be network elements in hardware devices, software functions running on dedicated hardware, a combination of hardware and software, or virtualization functions instantiated on a platform (e.g., a cloud platform).

[0143] In practical implementation, Figure 1A All of the devices shown can be used Figure 5 The shown composition structure, or including Figure 5 The components shown. Figure 5 The diagram shows a hardware structure of a communication device applicable to embodiments of this application. The communication device 50 includes at least one processor 501 and at least one communication interface 504, used to implement the methods provided in embodiments of this application. The communication device 50 may also include a communication line 502 and a memory 503.

[0144] The processor 501 can be a general purpose central processing unit (CPU), a microprocessor, an application-specific integrated circuit (ASIC), or one or more integrated circuits used to control the execution of programs for the schemes of the present application.

[0145] The communication line 502 can include a path for transmitting information between the above-mentioned components, such as a bus.

[0146] The communication interface 504 is configured to communicate with other devices or communication networks. The communication interface 504 can be any transceiver-type device, such as an Ethernet interface, a radio access network (RAN) interface, a wireless local area networks (WLAN) interface, a transceiver, a pin, a bus, or a transceiving circuit, etc.

[0147] The memory 503 can be a read-only memory (ROM) or other type of static storage device that can store static information and instructions, a random access memory (RAM) or other type of dynamic storage device that can store information and instructions, an electrically erasable programmable read-only memory (EEPROM), a compact disc read-only memory (CD-ROM) or other optical disk storage, a magnetic disk storage or other magnetic storage devices, or any other medium capable of storing desired program code in the form of instructions or data structures and that can be accessed by a computer, but is not limited to this. The memory can exist independently and be coupled to the processor 501 through the communication line 502. The memory 503 can also be integrated with the processor 501. The memory provided by the embodiments of the present application can generally have non-volatility.

[0148] The memory 503 stores computer execution instructions involved in the implementation of the scheme provided in the embodiments of this application, and the processor 501 controls the execution of these instructions. The processor 501 executes the computer execution instructions stored in the memory 503 to implement the method provided in the embodiments of this application. Alternatively, in the embodiments of this application, the processor 501 may execute the processing-related functions of the method provided in the following embodiments of this application, and the communication interface 504 may be responsible for communicating with other devices or communication networks. The embodiments of this application do not specifically limit this aspect.

[0149] Optionally, the computer execution instructions in the embodiments of this application may also be referred to as application code, and the embodiments of this application do not specifically limit this.

[0150] The coupling in the embodiments of this application is an indirect coupling or communication connection between devices, units, or modules, which can be electrical, mechanical, or other forms, and is used for information interaction between devices, units, or modules.

[0151] As one embodiment, processor 501 may include one or more CPUs, for example Figure 5 CPU0 and CPU1 in the CPU.

[0152] As one embodiment, the communication device 50 may include multiple processors, such as Figure 5 Processors 501 and 507 are shown in the diagram. Each of these processors can be a single-core (single-CPU) processor or a multi-core (multi-CPU) processor. A processor here can refer to one or more devices, circuits, and / or processing cores used to process data (such as computer program instructions).

[0153] As one embodiment, the communication device 50 may further include an output device 505 and / or an input device 506. The output device 505 is coupled to the processor 501 and can display information in various ways. For example, the output device 505 may be a liquid crystal display (LCD), a light-emitting diode (LED) display device, a cathode ray tube (CRT) display device, or a projector, etc. The input device 506 is coupled to the processor 501 and can receive user input in various ways. For example, the input device 506 may be a mouse, keyboard, touchscreen device, or sensing device, etc.

[0154] Understandable. Figure 5 The structural composition shown does not constitute a limitation on the communication device, except... Figure 5In addition to the components shown, the communication device can include more or less components than shown, or different arrangements of the components shown. Much like with the mobile device, a single component can be distributed in two or more components across a number of devices, etc. As another example, a component shown as a single component can be implemented using a plurality of components. The different components can be implemented using a distributed or other architecture, where one or more of the components are implemented across one or more devices.

[0155] The communication method provided by the embodiments of the present application will be described below with reference to the drawings. Each device in the following embodiments can have the functions of Figure 5 The components shown, are not described again.

[0156] It should be noted that in the embodiments of the present application, transmission can be understood as sending and / or receiving according to the specific context. Transmission can be a noun or a verb. When the execution subject of the action is not emphasized, transmission is often used instead of sending and / or receiving. For example, the phrase transmission data can be understood as sending data from the perspective of the sending end, and can be understood as receiving data from the perspective of the receiving end.

[0157] It should be noted that the names of messages between devices in the following embodiments of the present application or the names of parameters in the messages are only examples, and other names can also be used in specific implementations, and the embodiments of the present application do not make specific limitations.

[0158] It should be noted that in the embodiments of the present application, " / " can represent that the objects before and after are in an "or" relationship, for example, A / B can represent A or B; "and / or" can be used to describe the existence of three relationships between the associated objects, for example, A and / or B, which can represent the following three cases: A exists alone, A and B exist simultaneously, and B exists alone. Wherein A, B can be singular or plural. In addition, similar to the expressions "at least one of A, B and C" or "at least one of A, B or C", the expression is usually used to represent any of the following: A exists alone; B exists alone; C exists alone; A and B exist simultaneously; A and C exist simultaneously; B and C exist simultaneously; A, B and C exist simultaneously. The above is an example of A, B and C with three elements to illustrate the alternative items of the project. When there are more elements in the expression, the meaning of the expression can be obtained according to the foregoing rules.

[0159] In order to facilitate the description of the technical solutions of the embodiments of the present application, in the embodiments of the present application, "first", "second" and the like can be used to distinguish the same or similar technical features. The "first", "second" and the like do not limit the quantity and execution order, and the "first", "second" and the like do not necessarily mean different. In the embodiments of the present application, the words "exemplary" or "for example" are used to represent examples, examples or descriptions. Any embodiment or design scheme described as "exemplary" or "for example" should not be interpreted as more preferred or more advantageous than other embodiments or design schemes. The use of "exemplary" or "for example" is intended to present the relevant concept in a specific manner, for easy understanding.

[0160] It is understood that the term "embodiment" used throughout the specification means that a specific feature, structure, or characteristic related to an embodiment is included in at least one embodiment of this application. Therefore, various embodiments throughout the specification do not necessarily refer to the same embodiment. Furthermore, these specific features, structures, or characteristics can be combined in any suitable manner in one or more embodiments. It is understood that in the various embodiments of this application, the sequence number of each process does not imply the order of execution; the execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application.

[0161] It is understood that in this application, "when," "if," and "if" all refer to the corresponding processing that will be carried out under certain objective circumstances, and are not limited to a specific time, nor do they require that there must be a judgment action when implemented, nor do they imply any other limitations.

[0162] It is understood that some optional features in the embodiments of this application can be implemented independently in certain scenarios without relying on other features, such as the current solution on which they are based, to solve the corresponding technical problems and achieve the corresponding effects. Alternatively, they can be combined with other features as needed in certain scenarios. Correspondingly, the apparatus given in the embodiments of this application can also implement these features or functions, which will not be elaborated here.

[0163] It is understood that the same step or step with the same function or technical feature in the embodiments of this application can be referenced and learned from each other in different embodiments.

[0164] It is understood that in the embodiments of this application, the first device and / or the second device may perform some or all of the steps in the embodiments of this application. These steps are merely examples, and the embodiments of this application may also perform other steps or variations thereof. Furthermore, the steps may be performed in different orders as presented in the embodiments of this application, and it is not necessary to perform all the steps in the embodiments of this application.

[0165] like Figure 6 The diagram illustrates a data transmission method provided in an embodiment of this application. This data transmission method can be applied to either scenario 1 or scenario 2 described above. The data transmission method may include steps S601-S604.

[0166] S601: The first device acquires the first TB.

[0167] The first device can be Figure 1AThe device 101 in the communication system 10 shown. The first TB may include at least one first CB, and the first CB may include first data. Taking XR service as an example, the first data may include at least one pose information. The pose information may be generated at any time. The pose information can be used to indicate the user's position and / or posture.

[0168] For example, with Figure 4 For example, the first data includes pose information generated at 0ms, or the first data includes pose information generated at 0ms and 4ms. As another example, if the first TB includes two first CBs, then the first first CB may include pose information generated at 0ms and 4ms, and the second first CB may include pose information generated at 8ms and 12ms.

[0169] One possible implementation is that the size of the first CB is equal to a first numerical value. This first numerical value is derived from the size of the first data. For example, the first numerical value is an integer multiple of the size of the first data. This allows the size of the first CB to be adjusted according to the size of the first data, resulting in a suitable CB size that includes the first data without including unnecessary bits, thus improving resource utilization. Another example is that the first numerical value is the sum of an integer multiple of the size of the first data and n bits, where n bits are reserved bits.

[0170] Optionally, the first value is determined by the first device and indicated to the second device; this process will be described in S605. Alternatively, the first data is determined by the second device and indicated to the first device; this process will be described in S606. The second device can be... Figure 1A Device 102 in the communication system 10 shown. It should be understood that the first value can also be predefined or preconfigured, without limitation.

[0171] One possible implementation is that the first value is greater than or equal to the size of the first data and less than or equal to the second value. The second value is predefined or preconfigured and is a positive integer. For example, the second value is the size of the CB defined in the protocol. For instance, the second value is 3840 bits or 8448 bits as defined in the 5G NR protocol. It is understood that if the protocol modifies the size of the CB, the second value can be the modified size of the CB.

[0172] It can be understood that if the size of the first CB is less than the second value, the number of data included in the first CB can be less than the number of data included in the CB defined in the protocol. In this case, if any one of the data in the first CB is in error during transmission, resulting in retransmission of the data in the first CB, the impact on other first data can be reduced, or unnecessary data retransmission can be reduced, and the latency of data transmission can be reduced, and the user experience can be improved.

[0173] For example, if a CB includes data 1, data 2 and data 3, and data 2 is in error during transmission, the first device needs to retransmit data 1, data 2 and data 3. If a CB includes data 1 and data 2, and data 2 is in error during transmission, the first device only needs to retransmit data 1 and data 2, and does not need to retransmit data 3, or does not affect the transmission of data 3, so that data 3 can be transmitted to the receiving end as soon as possible, and then the receiving end can process the received data first, which can reduce the latency of data transmission and improve the user experience.

[0174] Optionally, the first TB further includes at least one second CB. The second CB includes second data. The second data has a different latency requirement than the first data, for example, the second data has a lower latency requirement than the first data. Taking XR service as an example, the second data includes audio information and / or video information. The audio information includes at least one piece of audio. The video information includes at least one piece of video or at least one picture.

[0175] In a possible implementation, the size of the second CB is equal to the second value. That is, for the second data, the first device can use the CB defined in the protocol for transmission, so as to reduce the number of segmented CBs.

[0176] It can be understood that the process in which the first device obtains the first TB can refer to the process in which the device 101 obtains the TB in the corresponding description. Figure 2 In the corresponding description, the device 101 processes the data 1 to obtain the TB. The difference is that:

[0177] (1) In S601, the RLC layer of the first device does not segment the data packet.

[0178] In S601, after the RLC layer of the first device receives the RLC SDU delivered by the PDCP layer, the RLC layer does not segment the RLC SDU, but adds an RCL packet header to the RLC SDU to obtain an RLC PDU, and delivers the RLC PDU to the MAC layer of the first device through the LCH.

[0179] It should be noted that if the RLC layer of the sending device does not segment the data packet, the RLC layer of the receiving device does not merge the data packet. That is, in the process in which the device 101 obtains the TB in the corresponding description, the device 101 does not perform the operation of S604.Figure 6 In the method shown, after the second device receives the first TB, the RLC layer of the second device does not perform packet combination.

[0180] (2) In S601, the PHY layer of the first device performs CB segmentation differently.

[0181] For example, if the first device needs to send the first data, the first device segments the bit sequence of the MAC layer according to the first value, so that the first TB includes at least one first CB, and the size of the first CB is the first value. Hereinafter, an example in which the first TB includes three first CBs is described. As shown in Figure 7A As shown, after the PHY layer in the first device receives the bit sequence of the MAC layer delivered by the MAC layer of the first device, the PHY layer adds CRC to the bit sequence and performs segmentation processing to obtain three first CBs. Then, the PHY layer adds CRC to each first CB and performs LDPC encoding on each first CB to obtain the first TB.

[0182] For example, if the first device needs to send the first data and the second data, the first device segments the bit sequence of the MAC layer according to the first value and the second value, so that the first TB includes at least one first CB and at least one second CB, the size of the first CB is the first value, and the size of the second CB is the second value. Hereinafter, an example in which the first TB includes two first CBs and two second CBs is described. As shown in Figure 7B As shown, after the PHY layer in the first device receives the bit sequence of the MAC layer delivered by the MAC layer of the first device, the PHY layer adds CRC to the bit sequence and performs segmentation processing to obtain two first CBs and two second CBs. Then, the PHY layer adds CRC to each first CB and each second CB, and performs LDPC encoding on each first CB and each second CB respectively to obtain the first TB.

[0183] It should be noted that for the above examples, the CBs (such as the first CBs and / or the second CBs) included in the first TB can be the CBs obtained after adding CRC to the bit sequence of the MAC layer and performing segmentation processing, that is, the CBs included in the first TB can be CBs without adding CRC and without channel encoding. Alternatively, the CBs included in the first TB can be the CBs obtained after adding CRC to the bit sequence of the MAC layer, performing segmentation processing, and adding CRC and performing channel encoding on the CBs after segmentation processing.

[0184] In a possible design, if the size of the first data sent through the first TB is not an integer multiple of the size of the first CB, the first TB further includes a third CB, and the third CB includes a quantity of the first data that is less than the quantity of the first data included in the first CB, i.e., the size of the third CB is less than the first value. For example, if the first device sends 500 bits of first data to the second device, and the size of the first CB (i.e., the first value) is 200 bits, the first TB includes 2 first CBs and 1 third CB. The size of the third CB is 100 bits, which is less than the first value.

[0185] In a possible design, if the size of the first data sent through the first TB is an integer multiple of the size of the first CB, and the size of the second data sent through the first TB is not an integer multiple of the size of the second CB, the first TB further includes a fourth CB, and the fourth CB includes a quantity of the second data that is less than the quantity of the second data included in the second CB, i.e., the size of the fourth CB is less than the second value. For example, if the first device sends 400 bits of first data and 800 bits of second data to the second device, the size of the first CB (i.e., the first value) is 200 bits, and the size of the second CB (i.e., the second value) is 300 bits, the first TB includes 2 first CBs, 2 second CBs, and 1 fourth CB. The size of the first TB is 1200 bits, and the size of the fourth CB is 200 bits, which is less than the second value.

[0186] In a possible design, if the size of the first data sent through the first TB is not an integer multiple of the size of the first CB, and the size of the second data sent through the first TB is also not an integer multiple of the size of the second CB, the first TB further includes a third CB and a fourth CB. For example, if the first device sends 500 bits of first data and 800 bits of second data to the second device, the size of the first CB (i.e., the first value) is 200 bits, and the size of the second CB (i.e., the second value) is 300 bits, the first TB includes 2 first CBs, 2 second CBs, 1 third CB, and 1 fourth CB. The size of the first TB is 1300 bits, the size of the third CB is 100 bits, which is less than the first value, and the size of the fourth CB is 200 bits, which is less than the second value.

[0187] In a possible implementation, the first data is data of a first logical channel, and the second data is data of a second logical channel. That is, the first logical channel can be used to transmit the first data, and the second logical channel can be used to transmit the second data. In this way, the first data and the second data can be transmitted in different manners by configuring different parameters (such as a size of the first CB, and / or a size of the second CB, and / or a number of the first CBs included in one TB, and / or a number of the second CBs included in one TB, and / or the like) for the first logical channel and the second logical channel.

[0188] Optionally, before S601, the second device configures a first logical channel for the first device, and configures a process number for the first logical channel. For example, the second device can configure a process number for the first logical channel through allowedCG-List-r16 signaling in logicalChannelConfig. Similarly, before S601, the second device configures a second logical channel for the first device, and configures a process number for the second logical channel. For example, the second device can configure a process number for the second logical channel through allowedCG-List-r16 signaling in logicalChannelConfig.

[0189] In the foregoing process number, the process number can be a semi-static scheduling process number. The semi-static scheduling is grant-free scheduling. The grant-free scheduling can also be referred to as configuration grant-free scheduling. The resource indicated by the semi-static scheduling can be used to transmit the first TB. The process number configured by the second device for the first logical channel can be the same as or different from the process number configured by the second device for the second logical channel.

[0190] S602: The first device transmits the first TB to the second device. Correspondingly, the second device receives the first TB from the first device.

[0191] In a possible implementation, if the first TB includes at least one first CB, the at least one first CB is carried on a semi-static scheduling indicated resource (hereinafter referred to as a semi-static scheduling resource).

[0192] In another possible implementation, if the first TB includes at least one first CB and at least one second CB, the at least one first CB is carried on a first resource, and the at least one second CB is carried on a second resource. The first resource and the second resource are semi-static scheduling resources. That is, after the network device or the second device configures the first device with the semi-static scheduling resources through semi-static scheduling, the first device can transmit the first TB through the semi-static scheduling resources. Specifically, according to the first value, the number of first CBs, and the MCS configuration of semi-static scheduling, the first device can obtain the total number of RBs or subcarriers required for transmitting the first CBs, and according to the semi-static scheduling resources and the total number of RBs or subcarriers required for transmitting the first CBs, the first device can respectively obtain the scheduling resources (that is, the first resource) for carrying the first CBs and the scheduling resources (that is, the second resource) for carrying the second CBs. Subsequently, the first device can map the data of the first CBs to the first resource and map the data of the second CBs to the second resource. The number of first CBs can be preconfigured, determined by the first device, indicated to the second device by the first device (for example, the first device indicates the number of first CBs to the second device in S605 described below), or determined by the second device and indicated to the first device (for example, the second device indicates the number of first CBs to the first device in S606 described below).

[0193] For example, if the semi-static scheduling resources configured by the network device or the second device for the first device through semi-static scheduling include 1 slot (including 14 symbols) and N+1 subcarriers, that is, (N+1) / 12 resource blocks (RBs or (N+1) resource elements (REs), and the number of REs required for the first CBs obtained by the first device according to the first value, the number of first CBs, and the MCS configuration of semi-static transmission is N+10, in the semi-static scheduling resources, subcarriers 0 to subcarriers N of symbol 0 and subcarriers 0 to subcarriers 8 of symbol 1 are used to carry the first CBs, and subcarriers 9 to subcarriers N of symbol 1 and subcarriers 0 to subcarriers N of each of symbols 2 to 13 are used to carry the second CBs. That is, the first resource includes subcarriers 0 to subcarriers N of symbol 0 and subcarriers 0 to subcarriers 8 of symbol 1, and the second resource includes subcarriers 9 to subcarriers N of symbol 1 and subcarriers 0 to subcarriers N of each of symbols 2 to 13.

[0194] It can be understood that the resources included in the first resource can not be continuous but discrete in the time domain or the frequency domain. Similarly, the resources included in the second resource can also not be continuous but discrete in the time domain or the frequency domain.

[0195] S603: The second device decodes the first TB.

[0196] In a possible implementation, if the first TB includes at least one first CB, the PHY layer of the second device segments the first TB according to the first value to obtain the at least one first CB, and then decodes the at least one first CB. The CRC of the decoded first CB and the CRC of the decoded first TB are checked or detected. It can be understood that, as described above, the first device can perform channel coding before transmitting the first TB, and therefore the decoding of the at least one first CB by the second device is decoding for the channel coding. In the embodiments of the present application, the decoding can be decoding for the channel coding, which is uniformly described herein and will not be described again later.

[0197] It can be understood that, if the first TB includes at least one first CB and at least one second CB, the second device obtains, according to the first value, the number of the first CB, and the semi-static scheduling MCS configuration, scheduling resources (i.e., first resources) carrying the first CB and scheduling resources (i.e., second resources) carrying the second CB, respectively, and then determines which resources transmit the first CB and which resources transmit the second CB, to obtain the first CB and the second CB.

[0198] For example, when the second device configures scheduling resources for the first device by semi-static scheduling, the second device schedules in the order of time domain first and frequency domain second. For example, the second device can obtain the total number of RBs or subcarriers required for transmitting the first CB according to the first value, the number of the first CB, and the semi-static scheduling MCS configuration, and then determine the semi-static scheduling symbol and subcarrier where the first CB is located and the semi-static scheduling symbol and subcarrier where the second CB is located according to the rule of time domain first and frequency domain second. For example, if the semi-static scheduling resources configured by the second device or the network device for the first device by semi-static scheduling include 1 slot (including 14 symbols) and N+1 subcarriers, i.e., (N+1) / 12 RBs, and the second device obtains the number of REs required for the first CB as N+10 according to the first value, the number of the first CB, and the MCS configuration, in the semi-static scheduling resources, subcarriers 0 to subcarriers N of symbol 0 and subcarriers 0 to subcarriers 8 of symbol 1 are used to carry the at least one first CB, and subcarriers 9 to subcarriers N of symbol 1 and subcarriers 0 to subcarriers N of each of symbols 2 to symbol 13 are used to carry the at least one second CB. In this way, the second device can obtain the at least one first CB and the at least one second CB.

[0199] It can be understood that after the second device acquires the at least one first CB and the at least one second CB, the PHY layer of the second device can determine the size of the first CB according to the first value, determine the size of the second CB according to the second value, respectively decode the at least one first CB and the at least one second CB, and check or detect the CRC of the decoded first CB, the CRC of the decoded second CB, and the CRC of the decoded first TB.

[0200] S604: The second device uploads the data in the CB with correct CRC in the first TB to the upper layer of the second device.

[0201] In a possible implementation, the PHY layer of the second device submits the CB with correct CRC (such as the first CB with correct CRC and / or the second CB with correct CRC) in the first TB to the MAC layer of the second device, and the MAC layer receives the CB with correct CRC and submits the data packet to the PDCP layer of the second device according to the above description. Figure 2 In the corresponding description, the MAC layer of the device 102 submits the data packet to the PDCP layer of the second device in the manner of submitting the data packet to the PDCP layer of the device 102 through the RLC layer of the device 102. It should be noted that the PDCP layer of the second device can close the sequencing function of the PDCP layer. That is, after receiving the PDCP PDU submitted by the RLC layer, the PDCP layer can not sort the data packet according to the SN, and deliver the data in the data packet to the upper layer in the sorted order. For example, even if the PDCP layer detects a data packet with a missing sequence, it can first deliver the data in the data packet that has been received to the upper layer. Subsequently, after the data packet with the missing sequence is successfully received, the PDCP layer delivers the data in the data packet with the missing sequence to the upper layer. In this way, the transmission delay of the data can be reduced, so that the upper layer can process the received data and respond to the first device first, thereby improving the user experience.

[0202] Further, the PDCP layer of the second device can close the sequencing function of the PDCP layer for the first data and not close the sequencing function of the PDCP layer for the second data. In this way, the first data can be transmitted to the upper layer of the second device as soon as possible.

[0203] Optionally, after S604, the upper layer of the second device sends the received data to the server, so that the server processes and transmits the received data.

[0204] Based on Figure 6In the method, the first device can acquire the first TB and send the first TB to the second device. In the first TB, the size of the first CB is the first value, and the first value is obtained according to the size of the first data, so that the size of the first CB can be adjusted according to the size of the first data, and a suitable size of the CB is obtained. In addition, in the case that the first value is greater than or equal to the size of the first data and less than the second value, the number of data included in the first CB is less than the number of data included in the CB with the second value. In this case, compared with the CB with the second value, if any one of the data in the first CB is wrong in the transmission process, the retransmission of the data in the first CB can reduce the impact on other first data, or reduce unnecessary data retransmission, and can also reduce the time delay of data transmission and improve user experience. In addition, after the second device receives the first TB, the data in the CB with correct CRC in the first TB can be uploaded to the upper layer of the second device. In this way, the transmission time delay of the data can be further reduced, the upper layer can process the received data and respond to the first device to improve the user experience.

[0205] Optionally, in the method, Figure 6 In a possible implementation of the method, the first device can determine the first value and indicate the first value to the second device. In this way, the first device can perform CB segmentation according to the first value, and add CRC and channel coding to the segmented CBs, respectively. The second device can determine the size of the CB of the received data according to the first value, and perform channel decoding and CRC decoding on the CBs, respectively. For example, Figure 6 The method can further include S605:

[0206] S605: The first device sends first information to the second device. Correspondingly, the second device receives the first information from the first device.

[0207] The first information is used to indicate the first value. For example, the first information includes the first value. For another example, a plurality of first values and an identifier of each first value are stored in the first device and the second device. In this case, the first information includes the identifier of the first value. In this way, after the second device receives the first information, the second device can determine the first value according to the identifier of the first value.

[0208] Optionally, the first information is further used to indicate at least one of the following: a semi-static scheduling process number or a number of first CBs. For example, the first information includes the semi-static scheduling process number and / or the number of first CBs.

[0209] It can be understood that if the first TB includes at least one first CB, the first information includes a semi-static scheduling process number configured by the second device for the first logical channel. If the first TB includes at least one first CB and at least one second CB, the first information includes a semi-static scheduling process number configured by the second device for the first logical channel, or the first information includes a semi-static scheduling process number configured by the second device for the first logical channel and a semi-static scheduling process number configured by the second device for the second logical channel. Wherein, the first logical channel and the second logical channel are introduced in the above S601, which will not be repeated here.

[0210] It can be understood that if the first information indicates the process number configured by the second device for the first logical channel, the second device can determine the size of the CB corresponding to the process number as the first value, so that the second device determines the size of the received CB according to the first value, and respectively decodes and CRC detects these CBs. Similarly, if the first information indicates the process number configured by the second device for the second logical channel, the second device can determine the size of the CB corresponding to the process number as the second value, so that the second device determines the size of the received CB according to the second value, and respectively decodes and CRC detects these CBs.

[0211] It can be understood that if the first information indicates the number of first CBs, the second device can determine the symbols and subcarriers occupied by the first CBs and the second CBs in the first TB according to the semi-static scheduling resource, the first value and the number of first CBs. Specifically, the second device can determine the number of symbols occupied by the first CBs in the first TB, the number of subcarriers corresponding to each symbol in the symbols occupied by the first CBs, the number of symbols occupied by the second CBs in the first TB, the number of subcarriers corresponding to each symbol in the symbols occupied by the second CBs according to the first value, the number of first CBs and the MCS configuration of the semi-static scheduling, and then determine the symbols and subcarriers occupied by the first code block and the symbols and subcarriers occupied by the second code block according to the semi-static scheduling resource. In this way, the second device can determine which of the received CBs are first CBs and which are second CBs.

[0212] It can be understood that the number of subcarriers corresponding to each symbol in the symbols occupied by the first CBs can be the same or different. The number of subcarriers corresponding to each symbol in the symbols occupied by the second CBs can be the same or different. The number of subcarriers corresponding to the symbols occupied by the first CBs and the number of subcarriers corresponding to the symbols occupied by the second CBs can be the same or different.

[0213] For example, if the semi-static scheduling resource includes 1 slot (including 14 symbols) and N+1 subcarriers, the second device determines, according to the first value and the number of the first CBs, that the first CBs in the first TB occupy 2 symbols, in which one symbol corresponds to N+1 subcarriers and the other symbol corresponds to N-10 subcarriers, the second CBs in the first TB occupy 13 symbols, in which one symbol corresponds to 10 subcarriers and the other symbols correspond to N+1 subcarriers, the allocation of the first resource (i.e., the resource carrying the first CBs) and the second resource (i.e., the resource carrying the second CBs) can be as shown in FIG. 8. Figure 8 In FIG. 8, subcarriers 0 to N of symbol 0 and subcarriers 0 to N-10 of symbol 1 are used to carry at least one first CB, subcarriers N-9 to N of symbol 1 and subcarriers 0 to N of each of symbols 1 to 13 are used to carry at least one second CB. That is, for the first resource, it includes subcarriers 0 to N of symbol 0 and subcarriers 0 to N-10 of symbol 1, and for the second resource, it includes subcarriers N-9 to N of symbol 1 and subcarriers 0 to N of each of symbols 1 to 13. Figure 8 In FIG. 8, subcarriers 0 to N of symbol 0 and subcarriers 0 to N-10 of symbol 1 are used to carry at least one first CB, subcarriers N-9 to N of symbol 1 and subcarriers 0 to N of each of symbols 1 to 13 are used to carry at least one second CB. That is, for the first resource, it includes subcarriers 0 to N of symbol 0 and subcarriers 0 to N-10 of symbol 1, and for the second resource, it includes subcarriers N-9 to N of symbol 1 and subcarriers 0 to N of each of symbols 1 to 13. Figure 8 In FIG. 8, subcarriers 0 to N of symbol 0 and subcarriers 0 to N-10 of symbol 1 are used to carry at least one first CB, subcarriers N-9 to N of symbol 1 and subcarriers 0 to N of each of symbols 1 to 13 are used to carry at least one second CB. That is, for the first resource, it includes subcarriers 0 to N of symbol 0 and subcarriers 0 to N-10 of symbol 1, and for the second resource, it includes subcarriers N-9 to N of symbol 1 and subcarriers 0 to N of each of symbols 1 to 13.

[0214] It can be understood that the resource allocation manner shown in FIG. 8 is only exemplary, and in specific applications, there can be other allocation manners. For example, the first resource is not located at the starting symbol of the semi-static scheduling resource in the time domain, but is located at the middle symbol (such as symbol 6 and symbol 7) of the semi-static scheduling resource, or is located at the ending symbol (such as symbol 13) of the semi-static scheduling resource. If the first resource is located at the middle symbol of the semi-static scheduling resource, the second resource can be located at the starting symbol and / or the ending symbol of the semi-static scheduling resource. If the first resource is located at the ending symbol of the semi-static scheduling resource, the second resource can be located at the starting symbol and / or the middle symbol of the semi-static scheduling resource. Figure 8

[0215] ​Understandably, the first device can also determine the symbols and subcarriers occupied by the first CB and the second CB in the first TB, respectively, based on the semi-static scheduling resources, the first value, and the number of first CBs. Thus, the first device can transmit the first CB on the symbols and subcarriers occupied by the first CB, and transmit the second CB on the symbols and subcarriers occupied by the second CB. The process by which the first device determines the symbols and subcarriers occupied by the first CB and the second CB in the first TB is similar to the process by which the second device determines the symbols and subcarriers occupied by the first CB and the second CB in the first TB. Therefore, the above description of the second device determining the symbols and subcarriers occupied by the first CB and the second CB in the first TB can be referred to, and will not be repeated here.

[0216] Optionally, the first information is user assistance information (UAI).

[0217] As an example, UAI can be shown as follows:

[0218]

[0219]

[0220] CGcodeBlockSize-r18 can indicate a first value. One possible implementation is that the first value can be selected from pre-configured values, such as 100, 200, 400, and 800, in bits. ConfiguredGrantConfigIndex can indicate the semi-statically scheduled process ID. One possible implementation is that the second device can configure multiple semi-statically scheduled process IDs for the first device, and the first device indicates the specific process ID to the second device via ConfiguredGrantConfigIndex.

[0221] As another example, UAI can be shown below:

[0222]

[0223] The descriptions of CGcodeBlockSize-r18 and ConfiguredGrantConfigIndex can be found above and will not be repeated here. CGcodeBlockNumber-r18 can be used to indicate the number of first CBs. Therefore, based on the semi-static scheduling resources, CGcodeBlockSize-r18, and CGcodeBlockNumber-r18, the second device can determine the symbols and subcarriers occupied by the first CB and the second CB in the first TB, respectively.

[0224] It can be understood that, in the above examples, only part of the signaling in the UAI is shown. In specific applications, the UAI can include more or less signaling than the above examples, which is not limited.

[0225] It can be understood that, when the semi-static scheduling indicated transmission opportunity occurs, the first device can segment the CB according to the size indicated by the CGcodeBlockSize-r18, and add CRC and channel coding to the segmented CBs respectively. Correspondingly, the second device can determine the size of the CBs of the received data according to the size indicated by the CGcodeBlockSize-r18, and perform channel decoding and CRC decoding on the CBs respectively.

[0226] A possible implementation, before S605, the first device determines the first value according to the size of the first data. For example, the first value is an integer multiple of the size of the first data. Alternatively, the first device determines the first value according to the size of the first data and the generation period of the first data. For example, the first value is the size of all first data generated in one or more generation periods. It can be understood that the first device can determine the first value before S601, so that the first device segments the CB according to the first value, and adds CRC and channel coding to the segmented CBs respectively. S605 can be performed before S602. In this way, the second device can perform decoding according to the first information after receiving the first TB.

[0227] Optionally, before S602, the method further includes: Figure 6 In a possible implementation of the method shown in the figure, the second device can determine the first value and indicate the first value to the first device. In this way, the first device can segment the CB according to the first value, and add CRC and channel coding to the segmented CBs respectively, and the second device can determine the size of the CBs of the received data according to the first value, and perform channel decoding and CRC decoding on the CBs respectively. For example, the second device determines the first value according to the size of the first data, and indicates the first value to the first device. Figure 6 The method shown in the figure can also include S606:

[0228] S606: The second device sends second information to the first device. Correspondingly, the first device receives the second information from the second device.

[0229] The second information is used to indicate the first value. For example, the second information includes the first value. For another example, a plurality of first values and the identification of each first value are stored in the first device and the second device, and in this case, the second information includes the identification of the first value. In this way, after receiving the second information, the first device can determine the first value according to the identification of the first value.

[0230] Optionally, the second information further indicates at least one of: a process number configured by the second device for the first logical channel, or a number of the first CBs. For example, the second information includes the process number configured by the second device for the first logical channel and / or the number of the first CBs.

[0231] It can be understood that, if the first TB includes at least one first CB, the process number configured by the second device for the first logical channel is included in the second information. If the first TB includes at least one first CB and at least one second CB, the process number configured by the second device for the first logical channel or the process number configured by the second device for the second logical channel is included in the second information. The first logical channel and the second logical channel are described above in S601, and will not be described here.

[0232] It can be understood that, if the second information indicates the process number configured by the second device for the first logical channel, the first device can determine that the size of the CB corresponding to the process number is the first value, so that the first device performs CB segmentation according to the first value, and adds CRC and performs channel coding on the segmented CBs. Similarly, if the second information indicates the process number configured by the second device for the second logical channel, the first device can determine that the size of the CB corresponding to the process number is the second value, so that the first device performs CB segmentation according to the second value, and adds CRC and performs channel coding on the segmented CBs.

[0233] It can be understood that, if the second information indicates the number of the first CBs, the first device can determine the symbols and subcarriers occupied by the first CBs and the second CBs in the first TB according to the semi-static scheduling resource, the first value and the number of the first CBs. Specifically, the first device can determine the number of symbols occupied by the first CBs in the first TB, the number of subcarriers corresponding to each symbol occupied by the first CBs, the number of symbols occupied by the second CBs in the first TB, the number of subcarriers corresponding to each symbol occupied by the second CBs, according to the first value, the number of the first CBs and the MCS configuration of the semi-static scheduling, and then determine the symbols and subcarriers occupied by the first CBs and the second CBs according to the resource indicated by the semi-static scheduling. In this way, the first device can transmit at least one first CB on the symbols and subcarriers occupied by the first CBs, and transmit at least one second CB on the symbols and subcarriers occupied by the second CBs. Similarly, the second device can also determine the symbols and subcarriers occupied by the first CBs and the second CBs in the first TB according to the semi-static scheduling resource, the first value and the number of the first CBs. In this way, the second device can determine which of the received CBs are the first CBs and which are the second CBs.

[0234] It can be understood that the number of subcarriers corresponding to each symbol in the symbols occupied by the first CB can be the same or different. The number of subcarriers corresponding to each symbol in the symbols occupied by the second CB can be the same or different. The number of subcarriers corresponding to the symbols occupied by the first CB can be the same or different from the number of subcarriers corresponding to the symbols occupied by the second CB.

[0235] In a possible implementation, the second information can be configured by a ConfiguredGrantConfig information element (IE). For example, the second information can be configured by the following ConfiguredGrantConfig IE. In the ConfiguredGrantConfig IE, CGcodeBlocksize-r18 can be used to indicate the first value, CGcodeBlockNumber-r18 can be used to indicate the number of the first CB, and configuredGrantConfigIndex-r16 can be used to indicate the process number of the semi-static scheduling.

[0236]

[0237]

[0238] It can be understood that in the above example, only part of the signaling in the ConfiguredGrantConfig IE is shown. In specific applications, the UAIConfiguredGrantConfig IE can include more or less signaling than the above example, which is not limited.

[0239] In a possible implementation, before S606, the first device can send third information to the second device. The third information can be used to indicate the size of the first data. For example, the third information includes the size of the first data. Optionally, the third information is also used to indicate the generation period of the first data. In this way, the second device can determine the first value according to the third information. For example, the second device determines the first value according to the size of the first data. Alternatively, the first device determines the first value according to the size of the first data and the generation period of the first data. The specific process of determining the first value by the second device is similar to the process of determining the first value by the first device in S605 described above, and therefore, reference can be made to the corresponding description in S605 described above, which will not be repeated here.

[0240] Optionally, the third information is UAI.

[0241] As an example, the UAI can be as follows:

[0242]

[0243] wherein CGdataSize-r18-r18 can be used to indicate the size of the first data in bits.

[0244] As another example, the UAI can be as follows:

[0245]

[0246] wherein CGdataSize-r18 is used to indicate the size of the first data in bits, and CGdataPeriod-r18 is used to indicate the generation period of the first data in milliseconds.

[0247] It can be understood that, in the above examples, only part of the signaling in the UAI is shown. In a specific application, the UAI can include more or less signaling than the above examples, which is not limited.

[0248] In this way, after receiving the third information sent by the first device, the second device can configure the first value, i.e., the size of the first CB, according to the size of the first data, and transmit the size of the first CB to the first device through the second information, so as to enable the transmission of the first CB between the first device and the second device. For example, if the size of the first data is 100 bits, the second device can set the size of the first CB to 100 bits, and at this time, the first CB can carry 1 first data, or the second device can set the size of the first CB to 200 bits, and at this time, the first CB can carry 2 first data.

[0249] In yet another example, after receiving the third information sent by the first device, the second device can configure the first value, i.e., the size of the first CB, according to the size of the first data and the generation period of the first data, and the period of the semi-static scheduling. For example, when the size of the first data is 100 bits, and the size of the first CB is 400 bits, each first CB can carry 4 first data, and each semi-static scheduling opportunity can transmit 4 first CBs (4 first CBs can include 16 first data). In this case, by merging multiple first data into one first CB for transmission, the channel coding gain can be improved, and at the same time, the error of any one of the above 4 first CBs will only cause the error of the 4 first data in the first CB, and will not affect the transmission of the 12 first data in the other 3 first CBs, thereby reducing the transmission delay of the first data.

[0250] It can be understood that S606 is performed before S601. In this way, the first device can segment the CBs according to the second information, and add CRC and perform channel coding on the segmented CBs. The second device can also determine the CB size of the received data according to the first value when receiving the first TB, and perform channel decoding and CRC decoding on the CBs respectively.

[0251] It can be understood that S605 and S606 are parallel steps, and when the method provided in the embodiment of the present application is performed, one of them is selected to be executed.

[0252] Optionally, in the method shown in FIG. 6, the second device can send third information to the first device, and the first device receives the third information from the second device. Figure 6 In a possible implementation of the method shown in FIG. 6, if the second device checks the first TB as being incorrect, the second device can schedule the first device to perform retransmission. In this way, the second device can receive the correct first TB. For example, the second device can send a negative acknowledgement (NACK) to the first device, and the first device receives the NACK from the second device. Figure 6 The method shown in FIG. 6 further includes S607-S609.

[0253] S607: If the first TB is checked as being incorrect, the second device sends fourth information to the first device. Correspondingly, the first device receives the fourth information from the second device.

[0254] It can be understood that checking the first TB as being incorrect can be checking any one CB (such as the first CB or the second CB) in the first TB as being decoded incorrectly, or checking all CBs in the first TB as being decoded correctly but checking the first TB as being decoded incorrectly. Checking the CB as being decoded incorrectly can also be referred to as checking the CRC of the CB as being incorrect, and checking the CB as being decoded correctly can also be referred to as checking the CRC of the CB as being correct. Checking the first TB as being decoded incorrectly can also be referred to as checking the CRC of the first TB as being incorrect.

[0255] In a possible design, the fourth information can be used to schedule the second TB. The second TB can include the same or different redundancy versions as the CBs in the first TB.

[0256] It should be noted that if the second device decodes correctly each first CB in the first TB but decodes the first TB incorrectly, the second device can schedule the first device to retransmit the entire first TB, i.e., the second TB includes the same CBs as the first TB. If the second device decodes incorrectly any first CB in the first TB, the second device can schedule the first device to retransmit the CBs in the first TB that the second device decodes incorrectly, i.e., the second TB includes the CBs that the second device decodes incorrectly in the first TB, or the second device can schedule the first device to retransmit the entire first TB. The second TB includes the same CBs as the first TB can be understood as: the second TB includes the CBs in the first TB, or the second TB includes the CBs obtained by re-encoding the data in the first TB using the same encoding manner as the first TB, or the second TB includes the CBs obtained by encoding using the same encoding manner as the first TB but with different redundancy versions. It can be understood that the second TB can include one CB. In this case, the one CB constitutes the second TB.

[0257] In a possible implementation, the fourth information can include a first field. The first field can be used to indicate the CBs in the first TB included in the second TB. In other words, the first field can be used to indicate the CBs in the first TB that need to be retransmitted. Specifically, if the first TB includes at least one first CB, the first field can be used to indicate the first CBs in the first TB included in the second TB, or the first field can be used to indicate the first CBs in the first TB that need to be retransmitted. If the first TB further includes at least one second CB, the first field can be further used to indicate the second CBs in the first TB included in the second TB, or the first field can be further used to indicate the second CBs in the first TB that need to be retransmitted, or the first field can be further used to indicate whether the second TB includes the second CBs.

[0258] It can be understood that the above "indication" can be explicitly and / or implicitly indicated. For example, the implicit indication can be based on the position and / or resource used for transmission; the explicit indication can be based on one or more parameters, and / or one or more indexes, and / or one or more bits. The following is described by way of example of explicit indication.

[0259] In a possible design, if the first TB includes at least one first CB, the first field can include X bits, each bit corresponding to a first CB, used to indicate whether the second TB includes the first CB, or used to indicate whether the first CB needs to be retransmitted. In this case, the number of first CBs included in the first TB is less than or equal to X. X is a positive integer.

[0260] For example, if the first TB includes 5 first CBs, and the second device fails to decode the 3rd first CB in the first TB, the first field can be "00100". In this case, the second TB includes the 3rd first CB in the first TB. If the first TB includes 3 first CBs, and the second device fails to decode the 2nd first CB in the first TB, the first field can be "01000", in which case the first 3 bits of the first field are valid, and the first device can ignore the last two bits of the first field after receiving the fourth information. The second TB includes the 2nd first CB in the first TB.

[0261] In another possible design, if the first TB includes at least one first CB and at least one second CB, the first field can include Y bits, each bit corresponding to a first CB or a second CB. The bit corresponding to a first CB can be used to indicate whether the first CB is included in the second TB or to indicate whether the first CB needs to be retransmitted. The bit corresponding to a second CB can be used to indicate whether the second CB is included in the second TB or to indicate whether the second CB needs to be retransmitted. In this case, the number of first CBs included in the first TB plus the number of second CBs included in the first TB is less than or equal to Y. Y is a positive integer.

[0262] For example, if the first TB includes 3 first CBs and 2 second CBs, and Y is equal to 5, if the second device fails to decode the 3rd first CB in the first TB, the first field can be "00100". In this case, the second TB includes the 3rd first CB in the first TB. If the second device fails to decode the 2nd first CB and the 1st second CB in the first TB, the first field can be "01010". In this case, the second TB includes the 2nd first CB and the 1st second CB in the first TB.

[0263] In another possible design, if the first TB includes at least one first CB and at least one second CB, the first field can include Z bits. In the Z bits, one bit is used to indicate whether all second CBs are included in the second TB, and each of the remaining bits corresponds to a first CB and is used to indicate whether the first CB is included in the second TB or to indicate whether the first CB needs to be retransmitted. In this case, the number of first CBs included in the first TB is less than or equal to Z-1. Z is a positive integer greater than 1.

[0264] For example, the first TB includes 4 first CBs and 2 second CBs, Z equals 5, and the second device fails to decode the third first CB in the first TB. In this case, the first field can be "00100". In this case, the second TB includes the third first CB in the first TB. If the second device fails to decode the second first CB and the first second CB in the first TB, the first field can be "01001". In this case, the second TB includes the second first CB and all the second CBs in the first TB. If the second device fails to decode the second first CB, the first second CB and the second second CB in the first TB, the first field can be "01001". In this case, the second TB includes the second first CB and all the second CBs in the first TB.

[0265] In a possible implementation, the fourth information is DCI or SCI. The first field can be a MCS field. In this case, the MCS field is not used to indicate MCS, or in other words, the meaning of the MCS field in the DCI or SCI is redefined in the embodiments of the present application. The DCI can be DCI scrambled by a configured scheduling-radio network temporary identifier (CS-RNTI).

[0266] As an example, for the above scenario 1, the fourth information is DCI, and for the above scenario 2, the fourth information is SCI.

[0267] In a possible implementation, if the fourth information is DCI, after the first device receives the DCI, the first device determines whether the DCI is DCI scrambled by a CS-RNTI. If the DCI is DCI scrambled by the CS-RNTI and the value of a new data indicator (NDI) field in the DCI is "1", the first device determines that the DCI is used to schedule data retransmission, and the MCS field in the DCI is not used to indicate MCS but is used to indicate CBs in the first TB included in the second TB. The DCI can also indicate a hybrid automatic repeat request (HARQ) process number, which is a HARQ process number corresponding to data that needs to be retransmitted. In the embodiments of the present application, the HARQ process number indicated by the DCI is a HARQ process number corresponding to the first TB. The HARQ process number corresponding to the first TB can be preconfigured.

[0268] S608: The first device sends the second TB to the second device according to the fourth information. Correspondingly, the second device receives the second TB from the first device.

[0269] As an example, if the first field indicates that the first CB in the first TB is included in the second TB, or in other words, the first field indicates that the first CB in the first TB needs to be retransmitted, the first device sends the second TB to the second device, and the second TB includes the first CB in the first TB. If the first field indicates that the first CB and the second CB in the first TB are included in the second TB, or in other words, the first field indicates that the first CB and the second CB in the first TB need to be retransmitted, the first device sends the second TB to the second device, and the second TB includes the first CB and the second CB in the first TB. If the first field indicates that all CBs in the first TB are included in the second TB, or in other words, the first field indicates that all CBs in the first TB need to be retransmitted, the first device sends the second TB to the second device, and the second TB includes the same CBs as the first TB.

[0270] S609: The second device decodes the second TB.

[0271] It can be understood that the process of decoding the second TB by the second device is similar to the process of decoding the first TB by the second device, and therefore, the corresponding description in S603 can be referred to.

[0272] It is introduced in S607 that if the second device decodes each first CB in the first TB correctly but fails to decode the first TB, the second device can schedule the first device to retransmit the entire first TB. If the second device fails to decode any first CB in the first TB, the second device can schedule the first device to retransmit the CBs in the first TB that the second device fails to decode, or the second device can schedule the first device to retransmit the entire first TB. That is, in addition to the CBs in the first TB that the second device fails to decode (hereinafter referred to as the CBs that fail to be decoded in S603), the second TB can also include the CBs in the first TB that the second device decodes correctly (hereinafter referred to as the CBs that are decoded correctly in S603). In this case, if the second device decodes the second TB correctly, the second device can discard the CBs that are decoded correctly in S603 and upload the CBs that fail to be decoded in S603 to the upper layer of the second device to avoid repeated uploading. The second device can also upload both the CBs that are decoded correctly in S603 and the CBs that fail to be decoded in S603 to the upper layer of the second device.

[0273] Optionally, after receiving the retransmitted data, the upper layer of the second device sends the retransmitted data to the server, so that the server processes and transmits the retransmitted data.

[0274] The actions of the first device or the second device in S601-S609 can be implemented by Figure 5 The processor 501 in the communication apparatus 50 shown in FIG. 5 invokes the application code stored in the memory 503 to perform, and the embodiments of the present application do not make any limitation in this aspect.

[0275] It can be understood that, in each of the above embodiments, the method and / or steps implemented by the first device can also be implemented by a component (for example, a chip or a circuit) applicable to the first device, and the method and / or steps implemented by the second device can also be implemented by a component (for example, a chip or a circuit) applicable to the second device.

[0276] The above mainly introduces the scheme provided by the embodiments of the present application from the perspective of interaction between devices. Correspondingly, the embodiments of the present application further provide a communication apparatus, which can be the first device in the above method embodiments, or a device comprising the first device, or a component applicable to the first device; or the communication apparatus can be the second device in the above method embodiments, or a device comprising the second device, or a component applicable to the second device. It can be understood that, in order to implement the above functions, the first device or the second device and the like comprises a corresponding hardware structure and / or software module for executing each function. Those skilled in the art should easily realize that, in combination with the unit and algorithm operation of each example described in the embodiments disclosed in the present application, the present application can be realized in the form of hardware or a combination of hardware and computer software. Whether a certain function is driven by hardware or computer software to drive hardware depends on the specific application and design constraints of the technical solution. Professional technicians can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of the present application.

[0277] The embodiments of the present application can divide the function modules of the first device or the second device according to the above method examples, for example, each function module can be divided according to each function, or two or more functions can be integrated in one processing module. The integrated module can be realized in the form of hardware or in the form of a software function module. It should be noted that the division of the modules in the embodiments of the present application is illustrative, and is only a logical function division. There can be another division manner when actually implemented.

[0278] For example, in the case of dividing each function module in an integrated manner, Figure 9 A structural schematic diagram of a communication apparatus 90 is shown. The communication apparatus 90 comprises a processing module 901 and a transceiver module 902. The transceiver module 902, which can also be referred to as a transceiving unit, is used to implement a transceiving function, for example, can be a transceiving circuit, a transceiver, a transceiver or a communication interface.

[0279] For example, the communication apparatus 90 is configured to implement the functions of the first device. The communication apparatus 90 is, for example, a processor configured to implement the functions of the first device as described in the embodiments shown. Figure 6

[0280] The processing module 901 is configured to obtain a first transport block. The first transport block includes at least one first code block. The first code block includes first data. The size of the first code block is equal to a first value. The first value is obtained according to the size of the first data. The first value is greater than or equal to the size of the first data, and less than or equal to a second value. The second value is predefined or preconfigured. The second value is a positive integer.

[0281] The transceiver module 902 is configured to send the first transport block to a second device.

[0282] In a possible implementation, the first transport block further includes at least one second code block. The second code block includes second data. The size of the second code block is equal to the second value.

[0283] In a possible implementation, the first data is data of a first logical channel, and the second data is data of a second logical channel.

[0284] In a possible implementation, the second value is 3840 bits or 8448 bits.

[0285] In a possible implementation, the transceiver module 902 is further configured to send first information to the second device. The first information is used to indicate the first value.

[0286] In a possible implementation, the first information is further used to indicate at least one of the following: a process number of a semi-static scheduling or a number of the first code blocks. Resources indicated by the semi-static scheduling are used to transmit the first transport block.

[0287] In a possible implementation, the first information is user assistance information.

[0288] In a possible implementation, the transceiver module 902 is further configured to receive second information from the second device. The second information is used to indicate the first value.

[0289] In a possible implementation, the second information is further used to indicate at least one of the following: a process number of a semi-static scheduling or a number of the first code blocks. Resources indicated by the semi-static scheduling are used to transmit the first transport block.

[0290] In a possible implementation, the semi-static scheduling is a grant-free scheduling.

[0291] ​In a possible implementation, the transceiver 902 is further configured to send third information to the second device, where the third information is used to indicate a size of the first data.

[0292] In a possible implementation, the third information is further used to indicate a generation period of the first data.

[0293] In a possible implementation, the third information is user assistance information.

[0294] In a possible implementation, the transceiver 902 is further configured to receive fourth information from the second device, where the fourth information is used to schedule a second transport block, and the second transport block includes a same or different redundancy version of the code block in the first transport block; and the transceiver 902 is further configured to send the second transport block to the second device according to the fourth information.

[0295] In a possible implementation, the fourth information includes a first field, and the first field is used to indicate the code block in the first transport block included in the second transport block.

[0296] In a possible implementation, if the first transport block includes at least one first code block, the first field is used to indicate the first code block in the first transport block included in the second transport block.

[0297] In a possible implementation, the first transport block further includes at least one second code block, and the first field is further used to indicate the second code block in the first transport block included in the second transport block, or the first field is further used to indicate whether the second transport block includes the second code block.

[0298] In a possible implementation, the code block included in the second transport block is a code block that the second device fails to decode the first transport block.

[0299] In a possible implementation, the fourth information is downlink control information or sidelink control information, and the first field is a modulation and coding scheme field.

[0300] When used to implement the functions of the first device, for other functions that the communication apparatus 90 can implement, refer to the related descriptions of the embodiments shown in Figure 6 , and no more details are provided herein.

[0301] Alternatively, the communication apparatus 90 is exemplarily used to implement the functions of the second device. The communication apparatus 90 is, for example, the second device described in the embodiments shown in Figure 6 .

[0302] The transceiver module 902 is configured to receive a first transport block from a first device. The first transport block includes at least one first code block, and each first code block includes first data. The size of each first code block is equal to a first value. The first value is obtained according to the size of the first data. The first value is greater than or equal to the size of the first data, and less than or equal to a second value. The second value is predefined. The second value is a positive integer.

[0303] The processing module 901 is configured to decode the first transport block.

[0304] The transceiver module 902 is further configured to upload the data in the code block that passes the cyclic redundancy check in the first transport block to a higher layer of the communication device 900.

[0305] In a possible implementation, the first transport block further includes at least one second code block. Each second code block includes second data. The size of each second code block is equal to the second value.

[0306] In a possible implementation, the first data is data of a first logical channel, and the second data is data of a second logical channel.

[0307] In a possible implementation, the second value is 3840 bits or 8448 bits.

[0308] In a possible implementation, the transceiver module 902 is further configured to receive first information from the first device. The first information is used to indicate the first value.

[0309] In a possible implementation, the first information is further used to indicate at least one of the following: a process number of a semi-static scheduling or a number of the first code blocks. Resources indicated by the semi-static scheduling are used to transmit the first transport block.

[0310] In a possible implementation, the first information is user assistance information.

[0311] In a possible implementation, the transceiver module 902 is further configured to send second information to the first device. The second information is used to indicate the first value.

[0312] In a possible implementation, the second information is further used to indicate at least one of the following: a process number of a semi-static scheduling or a number of the first code blocks. Resources indicated by the semi-static scheduling are used to transmit the first transport block.

[0313] In a possible implementation, the semi-static scheduling is a grant-free scheduling.

[0314] In a possible implementation, the transceiver module 902 is further configured to receive third information from the first device. The third information is used to indicate the size of the first data.

[0315] In a possible implementation, the third information is further used to indicate a generation period of the first data.

[0316] In a possible implementation, the third information is user assistance information.

[0317] In a possible implementation, the transceiver 902 is further configured to send, to the first device, fourth information used to schedule a second transport block if the first transport block is checked to be erroneous, the second transport block including a same or different redundancy version of the code block in the first transport block; receive the second transport block from the first device; and decode the second transport block.

[0318] In a possible implementation, the fourth information includes a first field used to indicate the code block in the first transport block included in the second transport block.

[0319] In a possible implementation, if the first transport block includes at least one first code block, the first field is used to indicate the first code block in the first transport block included in the second transport block.

[0320] In a possible implementation, the first transport block further includes at least one second code block, the first field is further used to indicate the second code block in the first transport block included in the second transport block, or the first field is further used to indicate whether the second transport block includes the second code block.

[0321] In a possible implementation, the second transport block includes the code block for which the communication apparatus 90 fails to decode the first transport block.

[0322] In a possible implementation, the fourth information is downlink control information or sidelink control information, and the first field is a modulation and coding scheme field.

[0323] When used to implement the functions of the second device, other functions that the communication apparatus 90 can implement can refer to the related descriptions of the embodiments shown in Figure 6 , and will not be described in detail.

[0324] In a simple embodiment, a person skilled in the art can conceive that the communication apparatus 90 can take the form shown in Figure 5 , for example. Figure 5 The processor 501 in may execute the above-mentioned method by invoking the computer-executed instructions stored in the memory 503, so that the communication apparatus 90 executes the method described in the above-mentioned method embodiments.

[0325] Figure 9 Exemplarily, Figure 5The processor 501 in the apparatus calls computer-executed instructions stored in the memory 503 to implement. Alternatively, Figure 9 The functions / implementation procedures of the processing module 901 in the apparatus can be implemented through Figure 5 The processor 501 in the apparatus calls computer-executed instructions stored in the memory 503 to implement, Figure 9 The functions / implementation procedures of the transceiver module 902 in the apparatus can be implemented through Figure 5 The communication interface 504 in the apparatus.

[0326] It should be noted that one or more of the above modules or units can be implemented in software, hardware or a combination of both. When any of the above modules or units is implemented in software, the software exists in the form of computer program instructions and is stored in the memory, and the processor can be used to execute the program instructions and implement the above method flow. The processor can be built in the SoC (system on chip) or the ASIC, or be a separate semiconductor chip. The processor further includes the necessary hardware accelerator, such as the field programmable gate array (FPGA), the PLD (programmable logic device), or the logic circuit for implementing special logic operations, in addition to the core for executing software instructions to perform operations or processing.

[0327] When any of the above modules or units is implemented in hardware, the hardware can be any one or any combination of the CPU, the microprocessor, the digital signal processing (DSP) chip, the microcontroller unit (MCU), the artificial intelligence processor, the ASIC, the SoC, the FPGA, the PLD, the special purpose digital circuit, the hardware accelerator or the non-integrated discrete device, which can run the necessary software or be independent of software to execute the above method flow.

[0328] Optionally, the embodiment of the present application further provides a chip system, including: at least one processor and an interface, the at least one processor is coupled with the memory through the interface, when the at least one processor executes the computer program or instructions in the memory, the method in any of the above method embodiments is executed. In a possible implementation manner, the chip system further includes the memory. Optionally, the chip system can be composed of a chip, or can include the chip and other discrete devices, and the embodiment of the present application does not make specific limitation to this.

[0329] Optionally, embodiments of this application also provide a computer-readable storage medium. All or part of the processes in the above method embodiments can be implemented by a computer program instructing related hardware. This program can be stored in the aforementioned computer-readable storage medium. When executed, the program can include the processes of the above method embodiments. The computer-readable storage medium can be an internal storage unit of the communication device in any of the foregoing embodiments, such as the hard disk or memory of the communication device. The aforementioned computer-readable storage medium can also be an external storage device of the communication device, such as a plug-in hard disk, smart media card (SMC), secure digital (SD) card, flash card, etc., equipped on the communication device. Further, the aforementioned computer-readable storage medium can include both internal storage units and external storage devices of the communication device. The aforementioned computer-readable storage medium is used to store the aforementioned computer program and other programs and data required by the communication device. The aforementioned computer-readable storage medium can also be used to temporarily store data that has been output or will be output.

[0330] Optionally, this application also provides a computer program product. All or part of the processes in the above method embodiments can be executed by a computer program instructing related hardware. This program can be stored in the computer program product, and when executed, it can include the processes described in the above method embodiments.

[0331] Optionally, embodiments of this application also provide computer instructions. All or part of the processes in the above method embodiments can be executed by computer instructions instructing related hardware (such as a computer, processor, access network equipment, mobility management network element, or session management network element). This program can be stored in the aforementioned computer-readable storage medium or the aforementioned computer program product.

[0332] Through the above description of the embodiments, those skilled in the art can clearly understand that, for the sake of convenience and brevity, only the division of the above functional modules is used as an example. In actual applications, the above functions can be assigned to different functional modules as needed, that is, the internal structure of the device can be divided into different functional modules to complete all or part of the functions described above.

[0333] In several embodiments provided in the present application, it should be understood that the disclosed apparatus and method can be implemented in other manners. For example, the embodiments of the apparatus described above are merely schematic, and the division of the modules or units is merely logical function division, and there can be another division manner in actual implementation. For example, a plurality of units or components can be combined or integrated into another device, or some features can be ignored or not executed. In addition, the displayed or discussed mutual couplings or direct couplings or communication connections between different units, or the among different units, can be indirect couplings or communication connections through some interfaces, devices or units, and can be in electrical, mechanical or other forms.

[0334] The units described as separated components can or can not be physically separated, and the components displayed as units can be one physical unit or multiple physical units, i.e., can be located in one place, or can be distributed to multiple different places. Some or all of the units can be selected according to actual needs to achieve the purposes of the embodiments of the present application.

[0335] In addition, each functional unit in the embodiments of the present application can be integrated in one processing unit, or each unit can exist physically as a separate unit, or two or more units can be integrated in one unit. The integrated unit can be implemented in the form of hardware, or in the form of software functional units.

[0336] The above describes only specific embodiments of the present application, but the protection scope of the present application is not limited thereto, and any changes or replacements within the technical scope disclosed in the present application should be covered in the protection scope of the present application. Therefore, the protection scope of the present application should be subject to the protection scope of the claims.

Claims

1. A data transmission method, characterized in that, Applied to a first device, the method includes: Obtain a first transport block, the first transport block including at least one first code block, the first code block including first data, the size of the first code block being equal to a first value, the first value being obtained based on the size of the first data, the first value being greater than or equal to the size of the first data and less than a second value, the second value being predefined and being a positive integer; The first transmission block further includes at least one second code block, the second code block including second data, and the size of the second code block being equal to the second value; The first data is data from the first logical channel, and the second data is data from the second logical channel; The first transmission block is sent to the second device.

2. The method according to claim 1, characterized in that, The second value is 3840 bits or 8448 bits.

3. The method according to claim 1 or 2, characterized in that, The method further includes: Send a first message to the second device, the first message being used to indicate the first value.

4. The method according to claim 3, characterized in that, The first information is also used to indicate at least one of the following: the process number of the semi-static scheduling or the number of the first code blocks, wherein the resources indicated by the semi-static scheduling are used to transmit the first transport block.

5. The method according to any one of claims 1, 2, or 4, characterized in that, The method further includes: Receive second information from the second device, the second information being used to indicate the first value.

6. The method according to claim 5, characterized in that, The second information is also used to indicate at least one of the following: the process number of the semi-static scheduling or the number of the first code blocks, wherein the resources indicated by the semi-static scheduling are used to transmit the first transport block.

7. The method according to claim 6, characterized in that, Before receiving the second information from the second device, the method further includes: A third message is sent to the second device, the third message indicating the size of the first data.

8. The method according to claim 7, characterized in that, The third information is also used to indicate the generation cycle of the first data.

9. The method according to any one of claims 1, 2, 4, 6-8, characterized in that, After sending the first transport block to the second device, the method further includes: Receive fourth information from the second device, the fourth information being used to schedule a second transport block, the second transport block including a redundant version that is the same as or different from the code block in the first transport block; The second transport block is sent to the second device according to the fourth information.

10. The method according to claim 9, characterized in that, The fourth information includes a first field, which is used to indicate the code block in the first transport block included in the second transport block.

11. The method according to claim 10, characterized in that, If the first transport block includes the at least one first code block, then the first field is used to indicate the first code block in the first transport block included in the second transport block.

12. The method according to claim 11, characterized in that, The first transport block further includes at least one second code block, and the first field is also used to indicate the second code block in the first transport block included in the second transport block, or the first field is also used to indicate whether the second transport block includes a second code block.

13. The method according to any one of claims 10-12, characterized in that, The second transport block includes code blocks that the second device failed to decode from the first transport block.

14. A data transmission method, characterized in that, Applied to a second device, the method includes: Receive a first transmission block from a first device, the first transmission block including at least one first code block, the first code block including first data, the size of the first code block being equal to a first value, the first value being obtained based on the size of the first data, the first value being greater than or equal to the size of the first data and less than or equal to a second value, the second value being predefined and being a positive integer; The first transmission block further includes at least one second code block, the second code block including second data, and the size of the second code block being equal to the second value; The first data is data from the first logical channel, and the second data is data from the second logical channel; the first transport block is decoded; The data in the code block in the first transmission block that has passed the cyclic redundancy check (CRC) verification is uploaded to the higher layer of the second device.

15. The method according to claim 14, characterized in that, The second value is 3840 bits or 8448 bits.

16. The method according to claim 14 or 15, characterized in that, The method further includes: Receive first information from the first device, the first information being used to indicate the first value.

17. The method according to claim 16, characterized in that, The first information is also used to indicate at least one of the following: the process number of the semi-static scheduling or the number of the first code blocks, wherein the resources indicated by the semi-static scheduling are used to transmit the first transport block.

18. The method according to claim 14 or 15, characterized in that, The method further includes: Send a second message to the first device, the second message being used to indicate the first value.

19. The method according to claim 18, characterized in that, The second information is also used to indicate at least one of the following: the process number of the semi-static scheduling or the number of the first code blocks, wherein the resources indicated by the semi-static scheduling are used to transmit the first transport block.

20. The method according to claim 19, characterized in that, Before sending the second information to the first device, the method further includes: Receive third information from the first device, the third information being used to indicate the size of the first data.

21. The method according to claim 20, characterized in that, The third information is also used to indicate the generation cycle of the first data.

22. The method according to any one of claims 14 or 15, 17, 19-21, characterized in that, After decoding the first transport block, the method further includes: If the first transport block is found to be faulty, a fourth message is sent to the first device. The fourth message is used to schedule a second transport block. The second transport block includes a redundant version that is the same as or different from the code block in the first transport block. Receive the second transmission block from the first device; The second transport block is decoded.

23. The method according to claim 22, characterized in that, The fourth information includes a first field, which is used to indicate the code block in the first transport block included in the second transport block.

24. The method according to claim 23, characterized in that, If the first transport block includes the at least one first code block, then the first field is used to indicate the first code block in the first transport block included in the second transport block.

25. The method according to claim 24, characterized in that, The first transport block further includes at least one second code block, and the first field is also used to indicate the second code block in the first transport block included in the second transport block, or the first field is also used to indicate whether the second transport block includes a second code block.

26. The method according to any one of claims 23-25, characterized in that, The second transport block includes code blocks that the second device failed to decode from the first transport block.

27. A communication device, characterized in that, It includes units or modules for performing the method as described in any one of claims 1-13, or includes units or modules for performing the method as described in any one of claims 14-26.

28. A communication device, characterized in that, include: A processor coupled to a memory for storing a program or instructions which, when executed by the processor, cause the apparatus to perform the method as claimed in any one of claims 1-13, or the method as claimed in any one of claims 14-26.

29. A computer-readable storage medium having a computer program or instructions stored thereon, characterized in that, When the computer program or instructions are executed, they cause the computer to perform the method as described in any one of claims 1-13 or the method as described in any one of claims 14-26.

30. A computer program product containing instructions, characterized in that, When the computer program product is run on a computer, it causes the computer to use the method as described in any one of claims 1-13 or the method as described in any one of claims 14-26.

31. A chip, characterized in that, The chip is coupled to a memory for reading and executing program instructions stored in the memory to implement the method as described in any one of claims 1-13 or the method as described in any one of claims 14-26.

Citation Information

Patent Citations

  • Data transmission method and equipment

    CN108809495A

  • Code block division method, terminal, base station and computer readable storage medium

    CN109257141A