Data transmitting method, communication device, and storage medium

JP2025129154A5Pending Publication Date: 2025-11-18YINWANG INTELLIGENT TECHNOLOGIES CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2025089009
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2025-05-28
Publication Date
2025-11-18

AI Technical Summary

Technical Problem

Existing data transmission methods in vehicle communication systems face challenges in balancing high reliability with low transmission delay, particularly in in-vehicle communication where bit error rates (BER) are stringent, leading to inefficiencies in redundancy coding mechanisms.

Method used

Implementing a data transmission method that includes generating a first code block with a first load and a first redundant code, where each second code block within the load has a second redundant code for error detection, allowing for selective retransmission of specific code blocks based on acknowledgment information, using error correction and detection mechanisms like RS-FEC and CRC.

Benefits of technology

This approach enhances data transmission reliability and reduces delay by enabling efficient retransmission of only necessary code blocks, meeting stringent BER requirements in vehicle communication systems.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

To improve the reliability and efficiency of data transmission.SOLUTION: An embodiment of this application provides a data transmitting method, a communication device, and a storage medium. The method includes: generating a first code block, where the first code block includes a first load and a first redundant code, the first load includes N second code blocks, the first redundant code is used to perform error correction on the first load, an i-th second code block includes a second load and a second redundant code, the second redundant code is used to perform error detection on the second load in the i-th second code block, where i is an integer ranging from 1 to N, and N is an integer greater than or equal to 1; and transmitting the first code block to a receiving end.SELECTED DRAWING: Figure 2
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] This application relates to the field of communication technology, and in particular to a data transmission method, a communication device, and a storage medium. [Background technology]

[0002] With the development of science and technology, intelligent vehicles, especially self-driving cars, have become an important development direction for the global automotive industry. Various on-board devices in vehicles play a very important role in processes such as intelligent driving, assisted driving, autonomous driving, and communication of intelligent vehicles. Various cognitive data or communication data is transmitted at any time during the vehicle's driving process, which plays an important role in vehicle interconnection, vehicle-to-vehicle communication, and vehicle-to-person communication, effectively improving the safety and comfort of driving. In particular, self-driving vehicles can detect information about the vehicle's position and surrounding objects by using devices such as sonic radar, laser radar, navigation systems, odometers, accelerometers, and cameras, and can interpret the detected information and use a control system to determine the route to travel in order to drive the execution device and complete the autonomous driving process.

[0003] Currently, in the field of communication, the requirements for the bit error rate (BER) of data are high. For example, in the field of in-vehicle communication, the BER is 10 -10 From 10 -12 For data transmission between some important sensors and controllers, such as high-precision cameras for autonomous driving, laser radars, and multiple domain controllers (MDCs), the BER requirement is 10 -15 can reach an order of magnitude.

[0004] In industry, various redundancy coding mechanisms are commonly used to improve the reliability of data transmission. However, they simultaneously cause problems of transmission delay and overhead. How to balance reliability and transmission delay is an urgent problem to be solved. Summary of the Invention [Means for solving the problem]

[0005] SUMMARY OF THE INVENTION The embodiments of this application provide a data transmission method, a communication device, and a storage medium.To improve the reliability of data transmission and reduce the transmission delay, error correction and error detection are performed on data to be transmitted.

[0006] According to a first aspect, an embodiment of this application provides a data transmission method. The method may be performed by a transmitting end or a chip applied to the transmitting end. The following provides an example in which the method is performed by the transmitting end. The method includes: generating a first code block, where the first code block includes a first load and a first redundant code, the first load includes N second code blocks, the first redundant code is used to perform error correction on the first load, the i-th second code block includes a second load and a second redundant code, and the second redundant code is used to perform error detection on the second load in the i-th second code block, where i is an integer ranging from 1 to N, and N is an integer greater than or equal to 1; and transmitting the first code block to a receiving end.

[0007] It may be known that the first code block includes a first redundancy code used for error correction, and each second code block includes a second code block used for error detection. After receiving the first code blocks, the receiving end first performs error correction on the first load by using the first redundancy code, thereby reducing erroneously transmitted bits in the first load. Then, error detection is performed on each second code block by using the second redundancy code of each second code block to determine a specific second code block among the N second code blocks that has an error bit, i.e., a bit that failed to be received. In this way, the receiving end can instruct the transmitting end to retransmit these second code blocks instead of instructing the transmitting end to retransmit the entire first code block, thereby improving retransmission efficiency and meeting the requirements for high reliability and low delay in data transmission.

[0008] It should be understood that if the transmitting end and the receiving end are devices in an in-vehicle system, the reliability of data transmission in the in-vehicle communication field can be improved by using the aforementioned data transmission method, the transmission delay can be reduced, and the requirements of data transmission in the in-vehicle communication field can be met.

[0009] In some possible implementations, the method further includes a step of receiving first acknowledgment information from the receiving end, wherein the first acknowledgment information indicates the reception status of at least one of the N second code blocks.

[0010] It should be understood that the first acknowledgment information may indicate unsuccessfully received second code blocks among the N second code blocks, and the transmitting end may retransmit some loads among the first code blocks and retransmit these unsuccessfully received second code blocks based on the first acknowledgment information to improve retransmission efficiency.

[0011] In some possible implementations, the first redundant code is obtained by performing Reed-Solomon forward error correction (RS-FEC) encoding on the first load, and the second redundant code is obtained by performing cyclic redundancy check (CRC) encoding on the second load in the i-th second code block.

[0012] In some possible implementations, the second load in the i-th second code block includes indication information and data to be transmitted, and the indication information is used to indicate an identifier of the i-th second code block.

[0013] The indication information in the second code blocks is used to indicate the identifiers of the second code blocks, thereby triggering the transmitting end to retransmit these second code blocks, and the receiving end can know that it can determine the second code blocks that were not successfully received and further send first acknowledgment information to the transmitting end in order to successfully retransmit some loads in the first code blocks.

[0014] In some possible implementations, the indication information in the i-th second code block is further used to indicate a code block type of the i-th second code block, where the code block type includes a type in which retransmission is supported or a type in which retransmission is not supported.

[0015] It may be noted that the indication information of each second code block is used to indicate the code block type of each code block. In this way, when the receiving end fails to receive the second code block and determines that the code block type of the second code block is a type for which retransmission is not supported, the receiving end does not need to wait for retransmission of the second code block and can subsequently process the successfully received second code block in a timely manner, thereby reducing processing delay. In addition, the receiving end may not need to feed back the reception status of the second code block to the transmitting end; the second code block is considered to be successfully received by default, thereby reducing the feedback overhead of the first acknowledgment information.

[0016] In some possible implementations, when the value of the indication information is a first preset value, the code block type of the i-th second code block is a type for which retransmission is not supported, or when the value of the indication information is not the first preset value, the code block type of the i-th second code block is a type for which retransmission is supported.

[0017] In some possible implementations, the indication information in the i-th second code block is further used to indicate a code block type of at least one second code block before the i-th second code block, where the code block type includes a type for which retransmission is supported or a type for which retransmission is not supported.

[0018] The indication information in the i-th code block is used to indicate the code block type of at least one second code block before the i-th second code block, so that when the i-th second code block is successfully received, the receiving end can know to determine the code block type of the second code block before the i-th second code block. If the code block type of the second code block before the i-th second code block is determined to be a type that does not support retransmission and the second code block is not successfully received, the receiving end does not need to wait for retransmission of the second code block and can subsequently process the successfully received second code block in a timely manner, thereby reducing processing delay. Additionally, in this case, the receiving end may not need to feed back the reception status of the second code block to the transmitting end; the second code block is considered to be successfully received by default, thereby reducing the feedback overhead of the first acknowledgment information.

[0019] In some possible implementations, the indication information in the i-th second code block is further used to indicate that the data to be transmitted in the i-th second code block includes padding bits.

[0020] It can be seen that if wired transmission is performed between the transmitting end and the receiving end, adding padding bits to the first code block can ensure that the transmission rate is always a fixed value and further ensure the stability of data transmission. In addition, the indication information in the i-th second code block is further used to indicate that the data to be transmitted in the i-th second code block includes padding bits, so that the receiving end can determine that the i-th second code block is invalid data and directly discard the second code block, thereby reducing processing complexity.

[0021] In some possible implementations, the data to be transmitted includes at least one data segment to be transmitted, and the length of each data segment to be transmitted among the at least one data segment to be transmitted is an integer multiple of the sum of the length of the indication information and the length of the second redundancy code.

[0022] It may be known that the length of each data segment to be transmitted in the second code block is set to an integer multiple of the sum of the length of the indication information and the length of the second redundant code. In this way, when the channel quality is good, for example, when error detection does not need to be performed on the second code block and the RS-FEC encoded data can be directly used for transmission, the data to be transmitted can be placed at a position corresponding to the indication information and the second redundant code, thereby further improving the efficiency of data transmission.

[0023] In some possible implementations, the step of receiving the first acknowledgment information from the receiving end includes the step of receiving a third code block from the receiving end, the third code block including the first acknowledgment information and a third redundant code, and the third redundant code being used to perform error correction on the first acknowledgment information.

[0024] It may be noted that in the process of feeding back the first acknowledgment information, the receiving end may jointly encode the first acknowledgment information and the data to be transmitted from the receiving end to form a third code block. In this way, the transmitting end can perform error correction on the first acknowledgment information by using the third redundant code in the third code block, thereby ensuring the stability of the transmission of the first acknowledgment message. Because error correction can be performed on the first acknowledgment information by using the third redundant code, error detection does not need to be performed separately on the first acknowledgment information, thereby further reducing the feedback overhead of the first acknowledgment information.

[0025] In some possible implementations, receiving the first acknowledgement information from the receiving end includes receiving the first acknowledgement information from the receiving end.

[0026] It may be known that in the process of feeding back the first acknowledgment message, the receiving end may feed back the first acknowledgment information separately, and does not need to encode the first acknowledgment information together with the data to be transmitted at the receiving end to form a third code block before feeding back the first acknowledgment information, thereby improving the flexibility of feeding back the first acknowledgment information. In addition, the transmitting end can receive the first acknowledgment message earlier, decode the first acknowledgment message, and more quickly determine the specific second code block that needs to be retransmitted, thereby further improving the efficiency of retransmission.

[0027] In some possible implementations, the method further includes, to the receiving end, retransmitting, based on the first acknowledgment information, at least one of the second code blocks that was not successfully received among the N second code blocks.

[0028] It may be known that when the first code block is transmitted in error, the transmitting end only needs to retransmit to the receiving end at least one of the second code blocks that was not successfully received, and does not need to retransmit the entire first code block, thereby improving the efficiency of retransmission.

[0029] In some possible implementations, the method further includes, based on the first acknowledgment information, retransmitting to the receiving end at least one of the second code blocks that supports retransmission and is among the N second code blocks and that was not successfully received.

[0030] It may be known that when the first code block is transmitted erroneously, the transmitting end only needs to retransmit to the receiving end at least one of the second code blocks that supports retransmission and that was not successfully received, and does not need to retransmit the entire first code block and some of the second code blocks that do not support retransmission, thereby further improving the efficiency of retransmission.

[0031] According to a second aspect, an embodiment of the present application provides a data transmission method applied to a receiving end, the method including: receiving a first code block from a transmitting end, the first code block including a first load and a first redundant code, the first load including N second code blocks, the i-th second code block including a second load and a second redundant code, where i is an integer ranging from 1 to N and N is an integer greater than or equal to 1; performing error correction on the first load by using the first redundant code; and performing error detection on a second load in the i-th second code block by using the second redundant code.

[0032] After receiving the first code block, the receiving end may first perform error correction on the first load by using the first redundancy code to reduce erroneously transmitted bits in the first load. Then, error detection is performed on each second code block by using the second redundancy code of each second code block to determine which second code blocks among the N second code blocks were not successfully received. In this way, the transmitting end may be instructed to retransmit these second code blocks, without needing to retransmit the entire first code block, thereby improving retransmission efficiency and meeting the requirements for high reliability and low delay in data transmission.

[0033] It should be understood that if the transmitting end and the receiving end are devices in an in-vehicle system, by using the aforementioned data transmission method, the reliability of data transmission in the in-vehicle communication field is improved, the transmission delay is reduced, and the requirements of the in-vehicle field for data transmission are met.

[0034] In some possible implementations, the method further includes a step of sending first acknowledgment information to the transmitting end, where the first acknowledgment information indicates the reception status of at least one of the N second code blocks.

[0035] It should be understood that the receiving end can indicate the second code blocks that were not successfully received among the N second code blocks by using the first acknowledgment information, so that the transmitting end can retransmit the second code blocks that were not successfully received based on the first acknowledgment information, thereby retransmitting some of the load among the first code blocks and improving the probability of retransmission.

[0036] In some possible implementations, the first redundant code is obtained by performing Reed-Solomon forward error correction (RS-FEC) encoding on the first load, and the second redundant code is obtained by performing cyclic redundancy check (CRC) encoding on the second load in the i-th second code block.

[0037] In some possible implementations, the second load in the i-th second code block includes indication information and data to be transmitted, and the indication information is used to indicate an identifier of the i-th second code block.

[0038] Since the second instruction information of each second code block indicates the identifier of the second code block, when some second code blocks are not successfully received, in order to trigger the transmitting end to retransmit these second code blocks, the receiving end can determine the specific second code blocks that are not successfully received and further send first acknowledgment information to the transmitting end, thereby knowing that some loads in the first code blocks are successfully retransmitted.

[0039] In some possible implementations, the indication information in the i-th second code block is further used to indicate a code block type of the i-th second code block, where the code block type includes a type in which retransmission is supported or a type in which retransmission is not supported.

[0040] It may be noted that the indication information of each second code block is used to indicate the code block type of each second code block. In this way, when the receiving end fails to receive a second code block and determines that the code block type of the second code block is a type for which retransmission is not supported, the receiving end can subsequently process the successfully received second code block in a timely manner, thereby reducing processing delay. In addition, the reception status of the second code block may not need to be fed back to the transmitting end; the second code block is considered to have been successfully received by default, thereby reducing the feedback overhead of the first acknowledgment information.

[0041] In some possible implementations, when the value of the indication information is a first preset value, the code block type of the i-th second code block is a type for which retransmission is not supported, or when the value of the indication information is not the first preset value, the code block type of the i-th second code block is a type for which retransmission is supported.

[0042] In some possible implementations, the indication information in the i-th second code block is further used to indicate a code block type of at least one second code block before the i-th second code block, where the code block type includes a type for which retransmission is supported or a type for which retransmission is not supported.

[0043] It may be noted that the indication information in the i-th code block is used to indicate the code block type of at least one second code block preceding the i-th second code block. In this way, when the i-th second code block is successfully received, the receiving end can determine the code block type of the second code block preceding the i-th second code block. If the code block type of the second code block preceding the i-th second code block is determined to be a type that does not support retransmission and the second code block is not successfully received, the receiving end does not need to wait for retransmission of the second code block and can subsequently process the successfully received second code block in a timely manner, thereby reducing processing delay. In addition, the reception status of the second code block may not need to be fed back to the transmitting end; the second code block is considered to be successfully received by default, thereby reducing the feedback overhead of the first acknowledgment information.

[0044] In some possible implementations, the indication information in the i-th second code block is further used to indicate that the data to be transmitted in the i-th second code block includes padding bits.

[0045] It can be seen that if wired transmission is performed between the transmitting end and the receiving end, adding padding bits to the first code block can ensure that the transmission rate is always a fixed value and further ensure the stability of data transmission. In addition, the indication information in the i-th second code block is further used to indicate that the data to be transmitted in the i-th second code block includes padding bits, so that the receiving end can determine that the i-th second code block is invalid data and can directly discard the second code block, thereby reducing processing complexity.

[0046] In some possible implementations, the data to be transmitted includes at least one data segment to be transmitted, and the length of each data segment to be transmitted among the at least one data segment to be transmitted is an integer multiple of the sum of the length of the indication information and the length of the second redundancy code.

[0047] It may be known that the length of each data segment to be transmitted in the second code block is set to an integer multiple of the sum of the length of the indication information and the length of the second redundant code. In this way, when the channel quality is good, for example, when error detection does not need to be performed on the second code block and the RS-FEC encoded data can be directly used for transmission, the data to be transmitted can be placed at a position corresponding to the indication information and the second redundant code, thereby further improving the efficiency of data transmission.

[0048] In some possible implementations, the step of sending the first acknowledgment information to the transmitting end includes: The method includes a step of sending a third code block to a transmitting end, where the third code block includes the first acknowledgement information and a third redundant code, and the third redundant code is used to perform error correction on the first acknowledgement information.

[0049] It may be noted that in the process of feeding back the first acknowledgment information, the receiving end may jointly encode the first acknowledgment information and the data to be transmitted from the receiving end to form a third code block. In this way, the transmitting end performs error correction on the first acknowledgment information by using the third redundant code in the third code block, thereby ensuring the stability of the transmission of the first acknowledgment message. Because error correction can be performed on the first acknowledgment information by using the third redundant code, error detection does not need to be performed separately on the first acknowledgment information, thereby further reducing the feedback overhead of the first acknowledgment information.

[0050] In some possible implementations, the step of sending the first acknowledgement information to the transmitting end includes the step of sending the first acknowledgement information to the transmitting end.

[0051] It may be known that in the process of feeding back the first acknowledgment message, the receiving end may feed back the first acknowledgment information separately, and does not need to encode the first acknowledgment information together with the data to be transmitted at the receiving end to form a third code block before feeding back the first acknowledgment information, thereby improving the flexibility of feeding back the first acknowledgment information. In this way, the transmitting end can receive the first acknowledgment message earlier, decode the first acknowledgment message, and more quickly determine the specific second code block that needs to be retransmitted, thereby further improving the efficiency of retransmission.

[0052] In some possible implementations, the method further includes receiving at least one of the second code blocks that was not successfully received and that is among the N second code blocks and is retransmitted by the transmitting end.

[0053] It may be known that when the first code block is transmitted in error, the receiving end receives only at least one of the second code blocks that was not successfully received and is retransmitted by the transmitting end, and the transmitting end does not need to retransmit the entire first code block, thereby improving the efficiency of retransmission.

[0054] In some possible implementations, the method further includes receiving at least one of the N second code blocks that was not successfully received, the at least one second code block being retransmitted by the transmitting end, which supports retransmission.

[0055] It may be known that when the first code block is transmitted erroneously, the receiving end receives only at least one of the second code blocks that is not successfully received and that supports retransmission and is retransmitted by the transmitting end, and the transmitting end does not need to retransmit the entire first code block and some second code blocks for which retransmission is not supported, thereby further improving the efficiency of retransmission.

[0056] According to a third aspect, an embodiment of this application provides a communication device. For beneficial effects, please refer to the description in the first aspect. Details will not be described again here. The communication device has a function for implementing the behavior of the example method in the first aspect. The function may be implemented by hardware or by hardware executing corresponding software. The hardware or software may include one or more modules corresponding to the function. In a possible design, the communication device includes a processing module and a transceiver module. The processing module is configured to generate a first code block, the first code block including a first load and a first redundant code, the first load including N second code blocks, the first redundant code being used to perform error correction on the first load, the i-th second code block including a second load and a second redundant code, the second redundant code being used to perform error detection on the second load in the i-th second code block, where i is an integer ranging from 1 to N, and N is an integer greater than or equal to 1. The transceiver module is configured to transmit the first code block to a receiving end. These modules may perform corresponding functions in the method examples in the first aspect. For details, please refer to the detailed description in the method examples. The details will not be described again here.

[0057] According to a fourth aspect, an embodiment of the present application provides a communication device. For beneficial effects, please refer to the description in the second aspect. Details will not be described again here. The communication device has a function for implementing the behavior of the example method in the first aspect. The function may be implemented by hardware or by hardware executing corresponding software. The hardware or software may include one or more modules corresponding to the function. In a possible design, the communication device includes a transceiver module and a processing module. The transceiver module is configured to receive a first code block from a transmitting end, the first code block including a first load and a first redundancy code, the first load including N second code blocks, and the i-th second code block including a second load and a second redundancy code, where i is an integer ranging from 1 to N and N is an integer greater than or equal to 1. The processing module is configured to perform error correction on the first load by using the first redundancy code and error detection on the second load in the i-th second code block by using the second redundancy code.

[0058] According to a fifth aspect, a communication device is provided. The communication device may be the transmitting end in the aforementioned method embodiment, or a chip disposed in the transmitting end. The communication device includes a communication interface and a processor, and optionally further includes a memory. The memory is configured to store a computer program or instructions. The processor is coupled to the memory and the communication interface. When the processor executes the computer program or instructions, the communication device is enabled to perform the method performed by the transmitting end in the aforementioned method embodiment.

[0059] According to a sixth aspect, a communication device is provided. The communication device may be the receiving end in the aforementioned method embodiment, or a chip disposed in the receiving end. The communication device includes a communication interface and a processor, and optionally further includes a memory. The memory is configured to store a computer program or instructions. The processor is coupled to the memory and the communication interface. When the processor executes the computer program or instructions, the communication device is enabled to perform the method performed by the receiving end in the aforementioned method embodiment.

[0060] According to a seventh aspect, there is provided a computer program product, the computer program product comprising computer program code, which, when executed, performs the method performed by the transmitting end in the aforementioned aspect.

[0061] According to an eighth aspect, there is provided a computer program product, the computer program product comprising computer program code, which when executed performs the method performed by the receiving end in the aforementioned aspect.

[0062] According to a ninth aspect, the present application provides a chip system. The chip system includes a processor configured to implement the functions of the transmitting end in the method of the aforementioned aspect. In a possible design, the chip system further includes a memory configured to store program instructions and / or data. The chip system may include the chip, or may include the chip and another individual device.

[0063] According to a tenth aspect, the present application provides a chip system. The chip system includes a processor configured to implement the functions of the receiving end in the method of the aforementioned aspect. In a possible design, the chip system further includes a memory configured to store program instructions and / or data. The chip system may include a chip, or may include a chip and another individual device.

[0064] According to an eleventh aspect, the present application provides a computer-readable storage medium. The computer-readable storage medium stores a computer program, which, when executed, performs the method performed by the transmitting end in the aforementioned aspect.

[0065] According to a twelfth aspect, the present application provides a computer-readable storage medium storing a computer program, which, when executed, performs the method performed by the receiving end in the aforementioned aspect.

[0066] According to a thirteenth aspect, the present application provides a communication system including the communication device according to the fifth aspect and the communication device according to the sixth aspect. [Brief explanation of the drawings]

[0067] [Figure 1] 1 is a schematic diagram of the architecture of a communication system according to an embodiment of the present application; [Figure 2] 1 is a schematic flowchart of a data transmission method according to an embodiment of the present application; [Figure 3] FIG. 2 is a schematic diagram of a first code block according to an embodiment of the present application; [Figure 4] FIG. 2 is a schematic diagram of a second code block according to an embodiment of the present application; [Figure 5] 1 is a schematic diagram of data to be transmitted according to an embodiment of the present application; [Figure 6]4 is a schematic flowchart of another data transmission method according to an embodiment of the present application; [Figure 7] FIG. 1 is a schematic diagram of transmitting first acknowledgement information according to an embodiment of the present application; [Figure 8] FIG. 10 is another schematic diagram of transmitting first acknowledgement information according to an embodiment of the present application; [Figure 9] FIG. 2 is a schematic diagram of transmitting acknowledgement information according to an embodiment of the present application; [Figure 10] 1 is a schematic diagram of the structure of a communication device according to an embodiment of the present application; [Figure 11] 1 is a schematic diagram of the structure of another communication device according to an embodiment of the present application; DETAILED DESCRIPTION OF THE INVENTION

[0068] The technical solutions in the embodiments of this application may be applied to various communication systems, such as in-vehicle systems, Long Term Evolution (LTE) mobile communication systems, and 5th generation (5G) mobile communication systems.

[0069] It should be understood that when the technical solution of this application is applied to an in-vehicle system, the transmitting end and receiving end in the embodiment of this application can be an MDC, an in-vehicle large screen, a central control screen, and various sensors. Generally, the transmitting end and receiving end communicate with each other by using cables. The sensors include a positioning system (the positioning system can be a GPS system, a Beidou system, or another positioning system), an inertial measurement unit (IMU), a radar (e.g., a laser radar), a laser range finder, and a camera (e.g., a high-resolution camera). The sensors can also include sensors of the monitored vehicle's internal systems (e.g., an in-vehicle air quality monitor, a fuel gauge, or an engine oil temperature gauge).

[0070] It should be understood that when the technical solution of this application is applied to a Long Term Evolution (LTE) mobile communication system and a 5th generation (5G) mobile communication system, the transmitting end and the receiving end in the embodiments of this application can be one of a network device and a User Equipment (UE).

[0071] A UE may include a mobile phone (also called a "cellular" phone), wireless user equipment, mobile user equipment, device-to-device (D2D) user equipment, vehicle-to-everything (V2X) user equipment, machine-to-machine / machine-type communications (M2M / MTC) user equipment, internet of things (IoT) user equipment, subscriber unit, subscriber station, mobile station, remote station, access point (AP), remote terminal, access terminal, user terminal, user agent, user device, or the like.

[0072] The network device may be an Access Network (AN) device. The AN device may be a device that communicates with wireless user equipment over an air interface in an access network by using one or more cells, such as a base station NodeB (e.g., an access point), an evolved NodeB (eNB, or e-NodeB, evolutionary Node B), a new radio network device gNB, or a road side unit (RSU). In addition, the AN device may further include a centralized unit (CU) and a distributed unit (DU) in a cloud radio access network (CloudRAN) system. The AN device is not limited in the embodiments of this application.

[0073] For ease of understanding this application, the relevant technical knowledge involved in the embodiments of this application will be described here first.

[0074] To improve reliability in the data transmission process, the implementation provides two coding schemes: Reed Solomon Forward Error Correction (RS-FEC) coding and Cyclic Redundancy Check (CRC) coding.

[0075] A specific RS-FEC encoding scheme may be represented by RS(N, K, U), where U represents the number of bits corresponding to one unit, K represents the number of units of input data, and N represents the number of units of output data after encoding. RS(360, 326, 10) is used as an example. The input data contains 3260 bits and is divided into 326 input data units by using 10 bits as a unit. After RS-FEC encoding is performed on the input data, 360 units, i.e., one 3600-bit RS code block, is output. The 360 ​​units consist of 326 input data units and 34 redundant units. The 326 input data units are the loads of the RS code block, i.e., valid data. The 34 redundant units are the redundant codes of the RS code block, i.e., invalid data. The 34 redundant units are obtained by performing Galois field operations on the 326 input data units and are used to perform error correction on the 326 input data units.

[0076] The following uses an example to explain an implementation in which the 34 redundancy units used for error correction are obtained through RS-FEC encoding.

[0077] For example, if the data to be transmitted is expressed as Equation 1, i.e.: m(x)=m 325 *x 359 +m 324 *x 358 +...+m1*x 35 +m0*x 34 (Formula 1) where the coefficients m0 to m 325 represents 326 bits of data to be transmitted, with each coefficient corresponding to one 10-bit unit.

[0078] Then, the polynomial g(x) is constructed by using a predetermined primitive polynomial. The sender and receiver agree on the primitive polynomial. The primitive polynomial is x 10 +x 3 +1, and α is assumed to be a primitive element of the primitive polynomial. In this case, the polynomial g(x) is expressed as:

number

[0079] Finally, the remainder polynomial p(x) of m(x) / g(x) is determined by performing Galois field arithmetic, and the remainder polynomial p(x) is expressed as Equation 3, i.e., p(x)=p 33 *x 33 +p 32 *x 32 +...+p2*x 2 +p1*x 1 +p0 (formula 3) can be expressed by using

[0080] In the remainder polynomial, there are 34 coefficients p0 to p 33 is used for error correction, and each coefficient corresponds to one 10-bit unit. m 325 , m 324 ,...,m0,p 33 , p 32 The 360 ​​units, including p0, ..., and p1, are sequentially arranged to form one RS code block, and the transmitting end transmits the RS code block to the receiving end. The receiving end performs error correction on the 326 input data units by using 34 redundancy units to obtain correct valid data.

[0081] Therefore, RS-FEC coding provides an error correction mechanism for data transmission. However, RS-FEC coding can only tolerate errors with a maximum number of consecutive error bits of (NK) / 2*U. Once the number of consecutive error bits in an RS code block exceeds (NK) / 2*U, the receiving end cannot restore the load. In this case, the transmitting end needs to retransmit the entire RS code block. The entire RS code block contains a large number of bits. As a result, the entire retransmission process is slow and occupies a large amount of bandwidth resources.

[0082] In CRC coding, the transmitting end and receiving end agree on a generator polynomial in advance. A CRC check code is generated based on the generator polynomial and input data, and the CRC check code is added to the input data bits to obtain a CRC code block. The input data is the load of the CRC code block, i.e., valid data. The CRC check code is a redundant code for the CRC code block, i.e., invalid data. The receiving end performs error detection on the load of the CRC code block by using the CRC check code. After the received load undergoes the same CRC processing as the transmitting end, a local CRC check code is obtained. If the local CRC check code is the same as the received CRC check code, there are no error bits in the load; otherwise, if the local CRC check code is different from the received CRC check code, there are error bits in the load.

[0083] CRC coding provides an error detection mechanism but cannot perform data correction. Once a transmission error occurs, the CRC code block needs to be retransmitted. In the whole data transmission process, a large number of CRC code blocks are retransmitted, resulting in long transmission delays.

[0084] The aforementioned coding schemes cannot meet the requirements for both high reliability and low delay of data transmission in the communication field. How to balance reliability and transmission delay is an urgent problem to be solved.

[0085] 1 is a schematic diagram of a communication system architecture according to an embodiment of this application. The communication system includes a transmitting end 10 and a receiving end 20. It can be understood that the communication system may include one or more transmitting ends, or may include one or more receiving ends. Although FIG. 1 shows only two transmitting ends and one receiving end, this does not constitute a limitation to this application.

[0086] The method provided in this embodiment of the present application includes: a transmitting end 10 generates a first code block, the first code block including a first load and a first redundant code, the first load including N second code blocks, the first redundant code being used to perform error correction on the first load, the i-th second code block including a second load and a second redundant code, the second redundant code in the i-th second code block being used to perform error detection on the second load in the i-th second code block, where the value of i is an integer ranging from 1 to N (inclusive), and N is an integer equal to or greater than 1. In other words, the i-th second code block can be any one of the N second code blocks. In addition, the first code block is transmitted to a receiving end 20.

[0087] It should be understood that the receiving end 20 may first perform error correction on the first code block by using the first redundant code to improve the reliability of the transmission of the first code block, and then perform error detection on each second code block by using the second redundant code of each second code block. When detecting that an error occurs in the second code block, the receiving end 20 may instruct the transmitting end 10 to retransmit the second code block. In this way, when the first code block is erroneously transmitted, the transmitting end 10 can retransmit only a portion of the data carried in the first code block, thereby improving retransmission efficiency and reducing transmission delay.

[0088] It should be understood that when the transmitting end 10 and the receiving end 20 are devices in an in-vehicle system, the requirements for high reliability and low delay of data transmission in the in-vehicle communication field can be met by using the technical solutions in this application.

[0089] 2 is a schematic flowchart of a data transmission method according to an embodiment of this application. This embodiment includes the following steps:

[0090] 201: The transmitting end generates a first code block.

[0091] 3, the first code block includes a first load and a first redundant code, the first load includes N second code blocks, the first redundant code is used to perform error correction on the first load, the i-th second code block includes a second load and a second redundant code, the second redundant code in the i-th second code block is used to perform error detection on the second load in the i-th second code block, where the value of i is an integer ranging from 1 to N (inclusive). In other words, the i-th second code block may be any one of the N second code blocks, where N is an integer equal to or greater than 1.

[0092] For example, the second redundant code in the i-th second code block may be a CRC check code. In other words, the second load in the i-th second code block is used as valid data in the CRC encoding process, and CRC encoding is performed on the second load in the i-th second code block to obtain the i-th second code block, and the N second code blocks are encapsulated as valid data (first loads) in the RS-FEC encoding process. For example, the first redundant code may be obtained by performing RS-FEC encoding on the first load, i.e., RS-FEC encoding is performed on the N second code blocks to generate the first code block.

[0093] It should be understood that the above RS-FEC encoding and CRC encoding are merely examples for explanation. In actual applications, the first load and the second load may alternatively be encoded with a different encoding scheme to obtain the first redundancy code and the second redundancy code. For example, Low Density Parity Check (LPDC) and CRC encoding are used. The encoding scheme is not limited in this application.

[0094] For example, as shown in FIG. 4, the second load in the i-th second code block includes indication information and data to be transmitted. The indication information is used to indicate the identifier of the i-th second code block, and the identifier may uniquely correspond to one second code block within a specific time range. For example, if the value of the indication information is 0001, it indicates that the i-th second code block is the first second code block among N second code blocks. After the identifier is added to each second code block, the receiving end can refer to the identifier of each second code block to feedback the reception status of each second code block. In this way, the transmitting end can retransmit second code blocks that were not successfully received based on the reception status of each second code block, without needing to retransmit the entire first code block, thereby improving retransmission efficiency.

[0095] For example, the indication information in the i-th second code block is further used to indicate a code block type of the i-th second code block, and the code block type includes a type that supports retransmission or a type that does not support retransmission. For example, when the data to be transmitted in the second code block is image data, the second code block is a second code block that does not support retransmission, or when the data to be transmitted in the second code block is a control message, the second code block is a second code block that supports retransmission.

[0096] Specifically, when the value of the indication information is a first preset value, the code block type of the i-th second code block is a type that does not support retransmission, or when the indication information is not the first preset value, the code block type of the i-th second code block is a type that supports retransmission.

[0097] For example, the indication information includes 4 bits. When the value of the indication information is 0000, it indicates that the code block type of the second code block is a type that does not support retransmission. When the value of the indication information is not 0000, it indicates that the code block type of the second code block is a type that supports retransmission.

[0098] Furthermore, the values ​​of the indication information in the second code block supporting retransmission may be coded in ascending order, and when the value of the indication information reaches a maximum value, the value of the indication information is automatically rolled back to a minimum value for continuing coding, so that the receiving end can determine the code block type of the second code block by using the continuity of the value of the indication information. When the second code block supporting retransmission is transmitted for the first time, the second code block is sequentially transmitted in ascending order of the value of the indication information.

[0099] For example, if the code block types of the first, third, and fourth second code blocks are types that support retransmission, the values ​​of the indication information in the first, third, and fourth second code blocks may be set to 0001, 0010, and 0011, respectively. If the code block type of the second code block is a type that does not support retransmission, the value of the indication information in the second second code block may be set to 0000. In this way, when the receiving end successfully receives the first second code block and the third second code block but fails to receive the second second code block, the values ​​of the indication information in the first second code block and the third second code block are consecutive, so the receiving end determines that the second second code block that was not successfully received is a second code block that does not support retransmission. When the receiving end successfully receives the first second code block, the second second code block, and the fourth code block, but fails to receive the third second code block, the identifiers of the second second code block and the fourth second code block are discontinuous, so the receiving end can determine that the third second code block that was not successfully received supports retransmission, and the value of the indication information is 0010.

[0100] For example, the indication information in the i-th second code block is further used to indicate the code block type of at least one second code block before the i-th second code block, where the code block type includes a type in which retransmission is supported or a type in which retransmission is not supported.

[0101] For example, the code block type of at least one second code block before the i-th second code block may be indicated in a bitmap manner.

[0102] For example, if the indication information in the i-th second code block is used to indicate the code block types of the three second code blocks preceding the i-th second code block, the code block types of the three second code blocks can be indicated by using three bits in the indication information. When the value of a bit is 1, it indicates that the code block type of the second code block corresponding to the bit is a type that supports retransmission, or when the value of a bit is 0, it indicates that the code block type of the second code block corresponding to the bit is a type that supports retransmission. It should be noted that when the i-th second code block is the first second code block among the first code blocks that are transmitted first, the values ​​of the three bits can all be set to 0. It should be understood that, alternatively, 0 can be used to indicate that retransmission is supported, and 1 can be used to indicate that retransmission is not supported.

[0103] It should be understood that in practical applications, the indication information of each second code block may alternatively be used to indicate the code block type of the N second code blocks, or the indication information of one or more second code blocks selected from the N second code blocks may be used to indicate the code block type of the N second code blocks. After successfully receiving such second code blocks, the receiving end can obtain the code block types of the N second code blocks, thereby improving the flexibility of indicating the code block types. The transmitting end may know the indication information in the second code blocks to indicate the code block types of the second code blocks. In this way, the receiving end can clearly understand the code block type of each second code block. When some second code blocks fail to be transmitted and these second code blocks are second code blocks that do not support retransmission, acknowledgment information for instructing retransmission of these second code blocks does not need to be sent to the transmitting end, thereby reducing the feedback overhead of the acknowledgment information.

[0104] For example, the indication information in the i-th second code block may be further used to indicate that the data to be transmitted of the i-th second code block includes padding bits. For example, a value of 1 bit in the indication information may be used to indicate whether the data to be transmitted of the second code block includes only padding bits. For example, if the value is 0, it indicates that the data to be transmitted of the second code block includes only padding bits, or if the value is 1, it indicates that the data to be transmitted of the second code block does not include only padding bits. It should be understood that the bit used to indicate that the data to be transmitted includes padding bits and the bit used to indicate the code block type of the second code block may be different bits in the indication information.

[0105] It should be understood that for a second code block whose data to be transmitted includes only padding bits, the code block type of the second code block is a type for which retransmission is not supported. For a second code block whose data to be transmitted does not include only padding bits, the code block type of the second code block is determined based on the type of data to be transmitted of the second code block. For example, when the data to be transmitted of the second code block is a control message, the code block type of the second code block is a type for which retransmission is supported, or when the data to be transmitted of the second code block is image data, the code block type of the second code block is a type for which retransmission is not supported.

[0106] In a wired transmission system, meaningless bits may be padded to ensure that the transmission rate is always a fixed value, thereby ensuring the stability of transmission. If the receiving end determines that the data to be transmitted of the i-th second code block contains only padding bits, the receiving end may directly discard the i-th second code block to avoid subsequent processing and reduce processing complexity.

[0107] For example, as shown in Figure 5, the data to be transmitted of the i-th second code block includes at least one data segment to be transmitted. The length of each of the at least one data segment to be transmitted is an integer multiple of the sum of the length of the indication information in the i-th second code block and the length of the second redundancy code. The length referred to in this application can be understood as the number of bits.

[0108] For example, if each data segment to be transmitted is obtained using a 64 / 66B encoding method, the length of each data segment to be transmitted is 66 bits, and the sum of the length of the indication information and the length of the second redundancy code can be set to 6 bits, 11 bits, 22 bits, 33 bits, or 66 bits. For example, the length of the indication information can be set to 14 bits, and the length of the second redundancy code can be set to 8 bits.

[0109] It may be known that the length of each data segment to be transmitted in the second code block is set to an integer multiple of the sum of the length of the indicator information and the length of the second redundancy code. In this way, when the channel quality is good, for example, when error detection does not need to be performed on the second code block and the RS-FEC encoded data can be directly used for transmission, the data to be transmitted can be placed at a position corresponding to the indicator information and the second redundancy code, thereby further improving the efficiency of data transmission. For example, when 64 / 66B encoding is used and the length of the data segment to be transmitted is three times the sum of the length of the indicator information and the second redundancy code, compared to the scheme in which the indicator information and the second redundancy code are placed in the second code block, another data segment to be transmitted, which is 66 bits long, can be transmitted after three second code blocks have passed, thereby improving the efficiency of data transmission.

[0110] 202: The transmitting end transmits a first code block to the receiving end, and the receiving end receives the first code block in response.

[0111] It should be understood that the receiving end may first perform error correction on the first load by using the first redundant code to improve the reliability of the transmission of the first code block, and then perform error detection on the second load of each second code block by using the second redundant code of each second code block. When detecting that a transmission error occurs in the second code block, the receiving end may instruct the transmitting end to retransmit the second code block. In this way, when the first code block is erroneously transmitted, the transmitting end may retransmit part of the data carried in the first code block (the erroneously transmitted second code block). This improves the efficiency of retransmission, reduces transmission delay, and meets the requirements for high reliability and low delay in data transmission.

[0112] 6 is a schematic flowchart of another data transmission method according to an embodiment of the present application. The contents in this embodiment that are the same as those in the embodiment shown in FIG. 2 will not be repeated here. This embodiment includes the following steps:

[0113] 601: The transmitting end generates a first code block.

[0114] 602: The transmitting end transmits a first code block to the receiving end, and the receiving end receives the first code block in response.

[0115] 603: The receiving end sends first acknowledgment information to the transmitting end, and the transmitting end receives the first acknowledgment information in response.

[0116] The first acknowledgment information indicates a reception status of at least one of the N second code blocks, and the reception status of each second code block includes a state of being successfully received or a state of being not successfully received.

[0117] For example, a bitmap may be set in the first acknowledgment information to indicate the reception status of at least one of the N second code blocks. For example, the reception status of each second code block may be indicated by using a bitmap. When the value of the bitmap is 1, it indicates that the reception status of the second code block corresponding to the value is in a state of being successfully received, or when the value is 0, it indicates that the reception status of the second code block corresponding to the value is in a state of being unsuccessfully received. It should be understood that if the code block type of the second code block is a type that does not support retransmission, the value corresponding to the second code block may be set to 1 in the bitmap even if the receiving end fails to receive the second code block in the current transmission process. In this way, the transmitting end does not need to retransmit the second code block, thereby avoiding invalid retransmissions and improving retransmission efficiency.

[0118] For example, the reception status of at least one of the N second code blocks may be further indicated in the first acknowledgment information by carrying an identifier of the second code block. For example, the first acknowledgment information may be used to indicate which second code blocks among the N second code blocks were not successfully received, i.e., the first acknowledgment information may carry only the identifiers of the second code blocks that were not successfully received. For second code blocks that do not carry indication information, these second code blocks are considered to have been successfully received by default. In this way, the transmitting end may determine that a particular second code block was not successfully received by using the identifier of the second code block carried in the first acknowledgment information.

[0119] In this embodiment, it may be known that the receiving end may first perform error correction on the first load by using the first redundant code to improve the reliability of the transmission of the first code block, and then perform error detection on the second load of each second code block by using the second redundant code of each second code block. When detecting that a transmission error occurs in the second code block, the receiving end may feed back first acknowledgment information to the transmitting end to indicate the erroneously transmitted second code block. In this way, when the first code block is erroneously transmitted, the transmitting end may retransmit part of the data carried in the first code block (i.e., the erroneously transmitted second code block) based on the acknowledgment information. This improves retransmission efficiency and reduces transmission delay, meeting the requirements for high reliability and low delay in data transmission.

[0120] It should be understood that if the code block type of the second code block is a type that does not support retransmission, the identifier of the second code block may not be carried in the first acknowledgment information even if the second code block is not successfully received in the current transmission process.

[0121] For example, as shown in FIG. 7, the receiving end transmits a third code block to the transmitting end. The third code block includes first acknowledgement (ACK) information and a third redundancy code, i.e., the first ACK is included in the third code block. In addition, the first ACK is used as part of the third load of the third code block and is encoded together with the data to obtain the third code block. The encoding method of the third code block is similar to the aforementioned encoding method of the first code block (although certain parameters may be different). Details will not be described again. Therefore, the third redundancy code may be used to perform error correction on the first ACK. The third redundancy code is used to perform error correction on the first ACK, thereby improving the reliability of the transmission process of the first ACK.

[0122] For example, when the first ACK is included in the third code block, error correction is performed by using the third redundant code in the third code block. In this case, error detection may be performed on the first ACK using an error detection scheme with a small number of check codes, or no error detection may be performed on the first ACK. For example, error detection may be performed on the first ACK using a parity check scheme. Because a small number of check codes are used in the error detection process of the first ACK, the feedback overhead of the first ACK is reduced.

[0123] The third load of the third code block shown in FIG. 7 includes the fourth code block shown in FIG. 7 and first acknowledgment information. It should be understood that the manner in which the receiving end generates the third code block may be similar to the aforementioned manner in which the transmitting end generates the first code block. Details will not be described again. In addition, as shown in FIG. 7, each fourth code block includes a fourth load and a fourth redundant code, and the fourth load includes instruction information and data to be transmitted. It should be understood that the manner in which the receiving end generates the fourth code block may be similar to the aforementioned manner in which the transmitting end generates the second code block. Details will not be described again.

[0124] For example, as shown in FIG. 8, the receiving end transmits the first ACK to the transmitting end, i.e., the receiving end independently transmits the first ACK to the transmitting end. In other words, the first ACK is outside the third code block. For example, the receiving end may periodically transmit the first ACK to the transmitting end. In this way, the receiving end can flexibly transmit the first ACK to the transmitting end, and the process by which the transmitting end obtains the first ACK is not affected by the third code block. Specifically, the transmitting end can obtain the first ACK without decoding the third code block, and can more quickly determine the second code block that needs to be retransmitted. This further improves the efficiency of retransmission and reduces delays.

[0125] The load of the third code block in FIG. 8 includes the fourth code block shown in FIG. 8, and it should be understood that the manner in which the receiving end generates the fourth code block may be similar to the manner in which the transmitting end generates the third code block. Details will not be described again. In addition, as shown in FIG. 8, each fourth code block includes a fourth load and a fourth redundant code, and each fourth code block includes instruction information and data to be transmitted. It should be understood that the manner in which the receiving end generates the fourth code block may be similar to the manner in which the transmitting end generates the second code block. Details will not be described again.

[0126] In an implementation of this application, the transmitting end may further retransmit at least one of the N second code blocks that was not successfully received to the receiving end based on the first acknowledgment information. For example, when the first acknowledgment information indicates that the reception status of at least one of the N second code blocks is in an unsuccessfully received state, the transmitting end may determine the unsuccessfully received second code block among the N second code blocks based on the first acknowledgment information. For example, the transmitting end may determine the unsuccessfully received second code block among the N second code blocks based on the bitmap in the first acknowledgment information, and retransmit at least one of the unsuccessfully received second code blocks to the receiving end.

[0127] In addition, when the bandwidth is sufficient, the transmitting end may retransmit all of the second code blocks that were not successfully received to the receiving end, or when the bandwidth is insufficient, the transmitting end may retransmit one or more of the second code blocks that were not successfully received to the receiving end.

[0128] In an implementation of this application, the transmitting end may further retransmit, to the receiving end, at least one of the second code blocks that supports retransmission and is among the N second code blocks and that was not successfully received, based on the first acknowledgment information. For example, when the reception status of at least one of the N second code blocks indicated by the first acknowledgment information is an unsuccessfully received state, the transmitting end may determine, based on the first acknowledgment information, the second code block that was not successfully received among the N second code blocks and determine that the code block type of the unsuccessfully received second code block is a second code block that supports retransmission. Then, the transmitting end retransmits, to the receiving end, at least one of the second code blocks that supports retransmission and is among the N second code blocks and that was not successfully received.

[0129] It should be understood that in the process of feeding back the first acknowledgment information, the receiving end takes into account the code block type of the second code block. When the receiving end does not feed back the second code block that does not support retransmission, the second code block that was not successfully received indicated by the first acknowledgment information is actually the second code block that supports retransmission and was not successfully received.

[0130] In the implementation of this application, the receiving end may further send second acknowledgment information to the transmitting end, where the second acknowledgment information indicates the reception status of at least one of the N second code blocks. In other words, the receiving end may send multiple acknowledgment information to the transmitting end at different moments, and the second code blocks indicated by the acknowledgment information sent at different moments may overlap.

[0131] For example, as shown in FIG. 9, the receiving end may periodically transmit acknowledgment information to the transmitting end. For example, the receiving end transmits first acknowledgment information to the transmitting end at instant t1, where the first acknowledgment information indicates the reception status of at least one of the N code blocks. However, in the process of transmitting the first acknowledgment information, the transmitting end may fail to decode the first acknowledgment information, i.e., the transmitting end fails to receive the first acknowledgment information, or the transmitting end successfully receives the first acknowledgment information but does not retransmit the unsuccessfully received second code block to the receiving end. In this case, the receiving end may further transmit second acknowledgment information to the transmitting end when the timing period reaches, for example, instant t2, to indicate the reception status of at least one of the N second code blocks by using the second acknowledgment information. It should be understood that if another first code block transmitted by the transmitting end is further received before the receiving end transmits the second acknowledgment information to the transmitting end, the second acknowledgment information can be further used to indicate the reception status of at least one second code block among the another first code block.

[0132] It should be understood that when the transmitting end receives the second acknowledgment information and has not retransmitted the second code blocks that were not successfully received among the N second code blocks to the receiving end, the transmitting end may retransmit at least one of the second code blocks that were not successfully received among the N second code blocks to the receiving end based on the first acknowledgment information and / or the second acknowledgment information, or may support retransmission and retransmit at least one of the second code blocks that were not successfully received among the N second code blocks to the receiving end based on the first acknowledgment information and / or the second acknowledgment information.

[0133] Correspondingly, the receiving end may further transmit third acknowledgment information, fourth acknowledgment information, fifth acknowledgment information, and the like to the transmitting end, as shown in Figure 9. In addition, the second code blocks indicated by adjacent acknowledgment information may overlap.

[0134] It should be understood that when the time for feeding back the status of the second code block that was not successfully received expires and the transmitting end has not retransmitted the second code block that was not successfully received to the receiving end, the receiving end will no longer send acknowledgement information to the transmitting end to indicate the second code block that was not successfully received, and will discard the second code block that was not successfully received.

[0135] In the foregoing embodiments provided in this application, the methods provided in the embodiments of this application are separately described in terms of a transmitting end, a receiving end, and the interaction between the transmitting end and the receiving end. To realize the functions in the methods provided in the embodiments of this application, the transmitting end and the receiving end may include hardware structures and / or software modules, and the foregoing functions are realized in the form of a hardware structure, a software module, or a combination of a hardware structure and a software module. Whether a specific function in the foregoing functions is performed by using a hardware structure, a software module, or a combination of a hardware structure and a software module depends on the specific application and design constraints of the technical solution.

[0136] 10 and 11 are schematic diagrams of the structure of a communication device according to an embodiment of this application. These communication devices can realize the functions of the transmitting end or the receiving end in the above-mentioned method embodiments, and therefore can also realize the beneficial effects of the above-mentioned method embodiments. In this embodiment of this application, the communication device may be the transmitting end 10 shown in FIG. 1, or the receiving end 20 shown in FIG. 1, or may be a module (e.g., a chip) applied to the transmitting end or the receiving end.

[0137] 10, the communication device 1000 includes a transceiver module 1001 and a processing module 1002. The communication device 1000 may be configured to implement the functions of the transmitting end or the receiving end in the method embodiments shown in FIGS.

[0138] The communication device 1000 is configured to implement the functions of the transmitting end in the method embodiments in FIG. 2 and FIG. 6 as follows.

[0139] The processing module 1002 is configured to generate a first code block, the first code block including a first load and a first redundant code, the first load including N second code blocks, the first redundant code being used to perform error correction on the first load, the i-th second code block including a second load and a second redundant code, and the second redundant code being used to perform error detection on a second load in the i-th second code block, where the value of i is an integer ranging from 1 to N, and N is an integer greater than or equal to 1.

[0140] The transceiver module 1001 is configured to transmit a first code block to a receiving end.

[0141] The communication device 1000 is configured to implement the functions of the receiving end in the method embodiments in FIG. 2 and FIG. 6 as follows.

[0142] The transceiver module 1001 is configured to receive a first code block from a transmitting end, the first code block including a first load and a first redundant code, the first load including N second code blocks, the i-th second code block including a second load and a second redundant code, the value of i being an integer ranging from 1 to N, and N being an integer greater than or equal to 1.

[0143] The processing module 1002 is configured to perform error correction on the first load by using a first redundancy code and to perform error detection on the second load in the i-th second code block by using a second redundancy code.

[0144] For a more detailed description of the transceiver module 1001 and the processing module 1002, please refer to the relevant descriptions in the above method embodiments, and the details will not be described again here.

[0145] 11 , the communication device 1100 includes a processor 1101 and an interface circuit 1102. The processor 1101 and the interface circuit 1102 are coupled to each other. It may be understood that the interface circuit 1102 may be a transceiver or an input / output interface. Optionally, the communication device 1100 may further include a memory 1103 configured to store instructions to be executed by the processor 1101, to store input data required by the processor 1101 to execute the instructions, or to store data generated after the processor 1101 executes the instructions.

[0146] When the communication device 1100 is configured to perform the method in the above-described method embodiments, the processor 1101 is configured to perform the functions of the processing module 1002, and the interface circuit 1102 is configured to perform the functions of the transceiver module 1001.

[0147] When the communication device is a chip applied to the transmitting end, the chip at the transmitting end realizes the function of the transmitting end in the above-mentioned method embodiment. The chip at the transmitting end receives information from another module (for example, a radio frequency module or an antenna) at the transmitting end, and this information is transmitted to the transmitting end by the receiving end, or the chip at the transmitting end transmits information to another module (for example, a radio frequency module or an antenna) at the transmitting end, and this information is transmitted to the receiving end by the transmitting end.

[0148] When the communication device is a chip applied to the receiving end, the chip at the receiving end realizes the function of the receiving end in the above-mentioned method embodiment. The chip at the receiving end receives information from another module (for example, a radio frequency module or an antenna) at the receiving end, and this information is transmitted to the receiving end by the transmitting end, or the chip at the receiving end transmits information to another module (for example, a radio frequency module or an antenna) at the receiving end, and this information is transmitted to the transmitting end by the receiving end.

[0149] An embodiment of the present application further provides a communication system including the aforementioned communication device for realizing the function of a transmitting end and the aforementioned communication device for realizing the function of a receiving end.

[0150] It may be understood that the processor in the embodiments of this application may be a central processing unit (CPU), or may be another general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic device, a transistor logic device, a hardware component, or any combination thereof. The general-purpose processor may be a microprocessor or any conventional processor.

[0151] The steps of the method in the embodiments of this application may be implemented in a hardware manner or by a processor executing software instructions. The software instructions may include corresponding software modules. The software modules may be stored in random access memory (RAM), flash memory, read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), registers, a hard disk, a removable hard disk, a CD-ROM, or any other form of storage medium well known in the art. For example, the storage medium is coupled to the processor such that the processor can read information from and write information to the storage medium. Of course, the storage medium may be a component of the processor. The processor and the storage medium may be located in an ASIC. In addition, the ASIC may be located at the receiving end or the transmitting end. Of course, the processor and the storage medium may reside as separate components at the receiving end or the transmitting end.

[0152] All or some of the above-described embodiments may be realized by using software, hardware, firmware, or any combination thereof. When software is used to realize the embodiments, all or part of the embodiments may be realized in the form of a computer program product. The computer program product includes one or more computer programs or instructions. When the computer program or instructions are loaded and executed on a computer, the processes or functions according to the embodiments of this application are realized in whole or in part. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or another programmable device. The computer program or instructions may be stored in or transmitted using a computer-readable storage medium. The computer-readable storage medium may be any available medium accessible by a computer or a data storage device such as a server that integrates one or more available media. The available medium may be a magnetic medium, such as a floppy disk, hard disk, or magnetic tape, an optical medium, such as a DVD, or a semiconductor medium, such as a solid-state disk (SSD).

[0153] In the embodiments of this application, unless stated differently or there is a logical contradiction, the terms and / or descriptions among different embodiments are consistent and may be cross-referenced, and the technical features in different embodiments may be combined based on their internal logical relationships to form a new embodiment.

[0154] In this application, "at least one" means one or more, and "multiple" means two or more. The term "and / or" describes an association relationship between associated objects and expresses that three relationships may exist. For example, A and / or B may express the following cases: only A is present, both A and B are present, and only B is present, and A and B may be singular or plural. In the text descriptions of this application, the character " / " generally indicates an "or" relationship between associated objects. In formulas in this application, the character " / " indicates a "division by" relationship between associated objects.

[0155] It can be understood that various numbers in the embodiments of this application are merely used for distinction for ease of description, and are not used to limit the scope of the embodiments of this application. The sequence numbers of the above processes do not imply the execution order, and the execution order of the processes should be determined based on the functions and internal logic of the processes. [Explanation of symbols]

[0156] 10. Transmitting End 20 Receiving end 1000 Communication Equipment 1001 Transceiver Module 1002 Processing Module 1100 Communication equipment 1101 processor 1102 Interface circuit 1103 Memory

Claims

1. A data transmission method applied to a transmitting end in a wired communication system, comprising: generating a second code block, the second code block comprising a second load and a second redundant code, the second redundant code being used to perform error detection on the second load; performing encoding on the second code block to obtain a first code block; transmitting the first code block to a receiving end; Including, the second load comprises indication information and data to be transmitted, the indication information being used to indicate one of: that a code block type of the second code block is a type that supports retransmission; that a code block type of the second code block is a type that does not support retransmission; and that the data to be transmitted comprises padding bits.

2. The method described in claim 1, wherein the first code block comprises a first redundant code, and the first redundant code is used to perform error correction on a first load comprising the second code block.

3. The method described in claim 2, wherein the first redundant code is obtained by performing Reed-Solomon forward error correction RS-FEC encoding on the second code block.

4. A method described in any one of claims 1 to 3, wherein the second redundant code is obtained by performing cyclic redundancy check (CRC) encoding on the second load.

5. A method described in any one of claims 1 to 4, wherein the instruction information is further used to indicate an identifier of the second code block.

6. The method comprises:

6. The method according to claim 1, further comprising the step of receiving first acknowledgement information from the receiving end, wherein the first acknowledgement information indicates a reception status of the second code block.

7. The method according to claim 1 , wherein the indication information is used to indicate an identifier of the second code block.

8. When the value of the indication information is a first preset value, the code block type of the second code block is a type for which the retransmission is not supported, or 8. The method according to claim 1, wherein when the value of the indication information is not a first preset value, the code block type of the second code block is a type for which the retransmission is supported.

9. 9. The method according to claim 1, wherein the data to be transmitted comprises at least one data segment to be transmitted, and a length of each data segment to be transmitted among the at least one data segment to be transmitted is an integer multiple of a sum of a length of the indication information and a length of the second redundancy code.

10. receiving first acknowledgment information from the receiving end; 10. The method of claim 6, further comprising: receiving a third code block from the receiving end, the third code block comprising the first acknowledgement information and a third redundancy code, the third redundancy code being used to perform error correction on the first acknowledgement information.

11. The method comprises: The method according to claim 6, further comprising the step of: retransmitting, to the receiving end, the second code block based on the first acknowledgement information.

12. The method comprises: The method according to claim 6, further comprising the step of: at the receiving end, retransmitting the second code block that supports retransmission based on the first acknowledgement information.

13. A data transmission method applied to a receiving end in a wired communication system, comprising: receiving a first code block from a transmitting end; performing decoding on the first code block to obtain a second code block, the second code block comprising a second load and a second redundant code; performing error detection on the second load by using the second redundancy code; Including, the second load comprises indication information and data to be transmitted, the indication information being used to indicate one of: that a code block type of the second code block is a type that supports retransmission; that a code block type of the second code block is a type that does not support retransmission; and that the data to be transmitted comprises padding bits.

14. The method described in claim 13, wherein the first code block comprises a first redundant code, and the first redundant code is used to perform error correction on a first load comprising the second code block.

15. The method described in claim 14, wherein the first redundant code is obtained by performing Reed-Solomon forward error correction RS-FEC encoding on the second code block.

16. A method described in any one of claims 13 to 15, wherein the second redundancy code is obtained by performing cyclic redundancy check (CRC) encoding on the second load.

17. A method described in any one of claims 13 to 16, wherein the instruction information is further used to indicate an identifier of the second code block.

18. The method comprises:

18. The method according to claim 13, further comprising the step of sending first acknowledgement information to the transmitting end, wherein the first acknowledgement information indicates a reception status of the second code block.

19. 19. The method of claim 13, wherein the indication information is used to indicate an identifier of the second code block.

20. When the value of the indication information is a first preset value, the code block type of the second code block is a type for which the retransmission is not supported, or 20. The method of claim 13, wherein when the value of the indication information is not a first preset value, the code block type of the second code block is a type for which the retransmission is supported.

21. 21. The method according to claim 13, wherein the data to be transmitted comprises at least one data segment to be transmitted, and wherein a length of each data segment to be transmitted among the at least one data segment to be transmitted is an integer multiple of a sum of a length of the indication information and a length of the second redundancy code.

22. the step of sending first acknowledgement information to the transmitting end, 22. The method according to claim 18, further comprising the step of transmitting a third code block to the transmitting end, the third code block comprising the first acknowledgement information and a third redundancy code, the third redundancy code being used to perform error correction on the first acknowledgement information.

23. The method comprises:

23. The method of claim 18, further comprising receiving the second code block retransmitted by the transmitting end.

24. The method comprises:

23. The method of any one of claims 18 to 22, further comprising receiving the second code block that supports retransmission and is to be retransmitted by the transmitting end.

25. A communications device comprising modules configured to carry out the method of any one of claims 1 to 12 or claims 13 to 24.

26. A communication device comprising a processor and a communication interface, wherein the communication interface is configured to receive a signal from another communication device different from the communication device and transmit the signal to the processor, or to transmit a signal from the processor to another communication device different from the communication device, and wherein the processor is configured to perform the method of any one of claims 1 to 12 or claims 13 to 24 through logic circuits or by executing code instructions.

27. 25. A computer-readable storage medium storing a computer program that, when executed, performs the method of any one of claims 1 to 12 or 13 to 24.

28. A communication system comprising a transmitting end and a receiving end, wherein the transmitting end is configured to perform a method according to any one of claims 1 to 12, and the receiving end is configured to perform a method according to any one of claims 13 to 24.

29. A vehicle, said vehicle comprising a transmitting end according to any one of claims 1 to 12, or a receiving end according to any one of claims 13 to 24, or a communication system according to claim 28.