WO2022027661A1 - Communication method, apparatus and system - Google Patents

Communication method, apparatus and system Download PDF

Info

Publication number
WO2022027661A1
WO2022027661A1 PCT/CN2020/107973 CN2020107973W WO2022027661A1 WO 2022027661 A1 WO2022027661 A1 WO 2022027661A1 CN 2020107973 W CN2020107973 W CN 2020107973W WO 2022027661 A1 WO2022027661 A1 WO 2022027661A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
original data
encoded
original
packets
Prior art date
Application number
PCT/CN2020/107973
Other languages
French (fr)
Chinese (zh)
Inventor
谭志远
董朋朋
祝慧颖
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Priority to PCT/CN2020/107973 priority Critical patent/WO2022027661A1/en
Priority to CN202080101546.XA priority patent/CN115668828A/en
Publication of WO2022027661A1 publication Critical patent/WO2022027661A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0059Convolutional codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/1607Details of the supervisory signal
    • H04L1/1671Details of the supervisory signal the supervisory signal being transmitted together with control information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/1607Details of the supervisory signal
    • H04L1/1614Details of the supervisory signal using bitmaps

Definitions

  • the embodiments of the present application relate to the field of communication technologies, and in particular, to a communication method, apparatus, and system.
  • Network coding can maximize the throughput of the entire network and effectively improve the transmission of wireless communication systems by combining different information streams at the routing node and transmitting, that is, the intermediate nodes in the network encode and transmit the received data packets with random coefficients. performance.
  • Embodiments of the present application provide a communication method, device, and system, so as to improve encoding performance, thereby improving data transmission efficiency and quality.
  • an embodiment of the present application provides a communication method, which may be executed by a terminal or a network device, or may be executed by a component of the terminal or network device (for example, a processor, a chip, or a chip system, etc.), including: The first original data is encoded to obtain the first encoded data; the first encoded data is sent to the first communication device; the indication information from the first communication device is received; the second original data and the encoding bit rate information are obtained according to the indication information, The second original data includes part or all of the first original data; according to the encoding rate information, the third original data and the second original data are jointly encoded to obtain second encoded data, the third original data does not include the first original data; sending the second encoded data to the first communication device.
  • the indication information can be received, and then based on the indication information, the second original data in the encoded original data and the currently encoded encoding rate information are acquired, Further, the third original data that has not participated in encoding and the second original data that have participated in encoding are jointly encoded according to the encoding bit rate information to obtain second encoded data, and the second encoded data is sent to the first communication device.
  • This solution is based on the feedback mechanism to guide the next encoding, which can realize adaptive adjustment of relevant encoding parameters, thereby improving spectral efficiency, error correction capability, and reducing packet error rate and encoding and decoding complexity, thereby improving encoding performance. , thereby improving the efficiency and quality of data transmission.
  • joint coding of new and old data is realized, which can improve the success rate of the first communication device on the receiving side to correctly decode the original data.
  • the second original data includes one or more first original data packets in the first original data
  • the indication information indicates the number of the first original data packets
  • the first original data packet is obtained according to the indication information
  • Two original data including: acquiring the second original data according to the number of the first original data packets.
  • the number of the first original data packets is indicated by the indication information, which facilitates the acquisition of the second original data from the first original data that has already participated in the encoding, enables the realization of the joint encoding of the old and new data, and thus enables the improvement of the encoding ability .
  • the first original data packet in the embodiment of the present application is one or more original data packets contained in the first original data.
  • the number of the first original data packets may be understood as the number of original data packets related to the second original data in the first original data. Alternatively, it can be understood that the number of the first original data packets is the number of original data packets used to determine the second original data in the first original data.
  • the definition of the first original data package here is applicable to the whole text, that is, for the meaning of the first original data package appearing in the whole text, reference may be made to the above description.
  • the second original data includes one or more first original data blocks in the first original data, and the indication information indicates the number of the first original data blocks; the first original data block is obtained according to the indication information.
  • Two original data including: acquiring the second original data according to the number of the first original data blocks.
  • the number of the first original data blocks is indicated by the indication information, which facilitates the acquisition of the second original data from the first original data that has already participated in the encoding, enables the realization of the joint encoding of the old and new data, and thus enables the improvement of the encoding ability .
  • the indication information indicates a rank corresponding to the first encoded data; the second original data includes one or more first original data packets in the first original data; the first original data packet is obtained according to the indication information 2.
  • Original data including: determining the number of the first original data packets according to the rank corresponding to the first encoded data; and acquiring the second original data according to the number of the first original data packets.
  • the rank corresponding to the first coded data reflects the number of equivalent correct original data packets obtained by the first communication device decoding the first coded data, so that the rank corresponding to the first coded data is indicated by the indication information, which is convenient for Determining the number of the first original data packets facilitates obtaining the second original data from the first original data that has already participated in encoding, enabling the realization of joint encoding of new and old data, thereby enabling the improvement of encoding capability.
  • the number of equivalent correct original data packets can be understood as the sum of the number of actual decoded correct original data packets and the number of valid (linearly independent) redundant data packets, and can also be understood as the number of correctly received Number of valid encoded packets. There is a corresponding relationship between the number of equivalent correct original data packets and the rank corresponding to the first encoded data. A unified description is made here, and will not be repeated in the future.
  • the indication information indicates a rank corresponding to the first encoded data
  • the second original data includes one or more first original data blocks in the first original data
  • the first original data block is obtained according to the indication information.
  • Original data including: determining the number of the first original data blocks according to the rank corresponding to the first encoded data; and acquiring the second original data according to the number of the first original data blocks.
  • the rank corresponding to the first coded data reflects the number of equivalent correct original data packets obtained by the first communication device decoding the first coded data, so that the rank corresponding to the first coded data is indicated by the indication information, which is convenient for Determining the number of the first original data blocks facilitates obtaining the second original data from the first original data that has already participated in encoding, enabling the realization of joint encoding, thereby enabling the improvement of encoding capability.
  • the first original data block in the embodiment of the present application is one or more original data blocks included in the first original data.
  • the number of the first original data blocks may be understood as the number of original data blocks related to the second original data in the first original data. Alternatively, it can be understood that the number of the first original data blocks is the number of original data blocks used to determine the second original data in the first original data.
  • the definition of the first original data block here is applicable to the whole text, that is, for the meaning of the first original data block appearing in the whole text, reference may be made to the above description.
  • the indication information indicates the system data packet reception situation and the redundant data packet reception situation corresponding to the first encoded data; the second original data includes one or more first original data in the first original data. original data packets; obtaining the second original data according to the indication information includes: determining the number of the first original data packets according to the system data packet reception situation and the redundant data packet reception situation corresponding to the first encoded data; The number of the first original data packets, and the second original data is obtained.
  • the reception situation of the system data packets corresponding to the first coded data and the reception situation of the redundant data packets reflect the number of equivalent correct original data packets obtained by the first communication device decoding the first coded data, so that by indicating
  • the information indicates the reception situation of the system data packets corresponding to the first encoded data and the reception situation of the redundant data packets, which is convenient for determining the number of the first original data packets, thereby facilitating the acquisition of the second original data from the first original data that has participated in the encoding,
  • the realization of joint coding of new and old data is enabled, thereby enabling the improvement of coding capability.
  • the indication information indicates the system data packet reception situation and the redundant data packet reception situation corresponding to the first encoded data; the second original data includes one or more first original data in the first original data. original data blocks; obtaining the second original data according to the indication information includes: determining the number of the first original data blocks according to the reception conditions of the system data packets and the redundant data packets corresponding to the first encoded data; The number of first original data blocks, and the second original data is obtained.
  • the reception situation of the system data packets corresponding to the first coded data and the reception situation of the redundant data packets reflect the number of equivalent correct original data packets obtained by the first communication device decoding the first coded data, so that by indicating
  • the information indicates the reception status of the system data packets and the redundant data packet reception status corresponding to the first encoded data, so as to facilitate the determination of the number of the first original data blocks, thereby facilitating the acquisition of the second original data from the first original data that has participated in the encoding,
  • the realization of joint coding of new and old data is enabled, thereby enabling the improvement of coding capability.
  • the indication information indicates the encoded first association depth; the second original data includes one or more first original data packets in the first original data; the second original data is obtained according to the indication information
  • the data includes: determining the number of the first original data packets according to the first association depth; and acquiring the second original data according to the number of the first original data packets.
  • the first associated depth of encoding is used to indicate the number of original data packets that need to be acquired in the next encoding that have participated in encoding, and the acquired original data packets will participate in the next encoding, so that the encoded
  • the first correlation depth is convenient for determining the number of the first original data packets, which in turn facilitates obtaining the second original data from the first original data that has already participated in the encoding, enabling the realization of the joint encoding of the new and old data, thereby enabling the encoding capability. promote.
  • the indication information indicates the encoded first associated depth; the second original data includes one or more first original data blocks in the first original data; the second original data is obtained according to the indication information
  • the data includes: determining the number of the first original data blocks according to the first association depth; and acquiring the second original data according to the number of the first original data blocks.
  • the first associated depth of encoding is used to indicate the number of original data blocks that need to be acquired in the next encoding that have participated in encoding, and the acquired original data blocks will participate in the next encoding, thereby indicating the encoded
  • the first correlation depth is convenient for determining the number of the first original data blocks, which in turn facilitates obtaining the second original data from the first original data that has already participated in the encoding, enabling the realization of joint encoding of new and old data, thereby enabling the improvement of encoding capabilities. promote.
  • the encoding rate information indicates the number of redundant data packets corresponding to the second encoded data, the number of encoded data packets corresponding to the second encoded data, or the encoding code corresponding to the second encoded data Rate.
  • the indication information indicates a rank corresponding to the first coded data; and acquiring the coding rate information according to the indication information includes: according to the rank corresponding to the first coded data, determining that the second coded data corresponds to The number of redundant data packets; the encoding code rate is determined according to the number of redundant data packets corresponding to the second encoded data.
  • the rank corresponding to the first coded data reflects the number of equivalent correct original data packets obtained by decoding the first coded data by the first communication device, and the rank corresponding to the first coded data is indicated by the indication information, It is convenient to determine the coding rate, optimize coding parameters and performance, and improve the reliability and accuracy of data transmission.
  • acquiring the coding rate information according to the indication information includes: determining the number of redundant data packets corresponding to the second coded data according to the rank corresponding to the first coded data; according to the second coding The number of redundant data packets corresponding to the data determines the coding rate.
  • the indication information indicates the system data packet reception situation and the redundant data packet reception situation corresponding to the first encoded data; and acquiring encoding bit rate information according to the indication information includes: according to the first encoded data Corresponding system data packet reception conditions and redundant data packet reception conditions determine the number of redundant data packets corresponding to the second encoded data; determine the encoding code rate according to the number of redundant data packets corresponding to the second encoded data.
  • the reception status of the system data packets and the redundant data packet reception statuses corresponding to the first encoded data reflect the number of equivalent correct original data packets obtained by the first communication device decoding the first encoded data, so that through the
  • the indication information indicates the reception status of the system data packets and the redundant data packets corresponding to the first encoded data, which facilitates the determination of the encoding bit rate, optimizes encoding parameters and performance, and improves the reliability and accuracy of data transmission.
  • acquiring the encoding bit rate information according to the indication information includes: determining the redundant data packet corresponding to the second encoded data according to the system data packet reception situation and the redundant data packet reception situation corresponding to the first encoded data. The number of redundant data packets; the encoding code rate is determined according to the number of redundant data packets corresponding to the second encoded data.
  • the indication information indicates one or more of the following: the number of original data packets corresponding to the third original data; the number of original data blocks corresponding to the third original data; or the available decoding window Window length or decoding window used window length.
  • the second encoded data includes header information, the header information indicating the second association depth.
  • the header information carries the second association depth, which facilitates correct decoding by the first communication device, and can improve the decoding success rate.
  • the header information further indicates one or more of the following: the number of original data packets corresponding to the third original data; the identifier of the original data block corresponding to the second encoded data; or the second encoded data The coding coefficients corresponding to the coded data.
  • the coding coefficients are local codebook coefficients or global codebook coefficients.
  • the header information carries one or more of the number of original data packets corresponding to the third original data, the identifier of the original data block corresponding to the second encoded data, or the encoding coefficients corresponding to the second encoded data
  • the first communication device can decode the second encoded data according to the above information carried in the header information, which can improve the decoding success rate.
  • receiving the indication information from the first communication device includes: receiving a feedback message from the first communication device, where the feedback message includes header information and data information, and the data information includes the indication information.
  • the feedback message is carried in downlink control information DCI or uplink control information UCI.
  • the header information is PDCP layer header information or MAC layer header information
  • the header information carries one or more of a header indication field, a data block number or a process number
  • the header indication field uses
  • the data block number is used to indicate the encoded data block corresponding to the indication information
  • the process number is used to indicate the sender process number corresponding to the indication information.
  • the header information is RLC layer header information
  • the header information carries one or more of control information, a data block number or a process number, wherein the control information is used to indicate the information carried in the feedback message.
  • the indication information of network coding is used to indicate the encoded data block corresponding to the indication information
  • the process number is used to indicate the sender process number corresponding to the indication information.
  • an embodiment of the present application provides a communication method, which may be executed by a terminal or a network device, or may be executed by a component of the terminal or network device (for example, a processor, a chip, or a chip system, etc.), including: receiving First encoded data corresponding to the first original data from the second communication device; sending indication information to the second communication device, where the indication information is used to obtain the second original data and the encoding rate information, the second original data includes Part or all of the first original data; receiving the second encoded data corresponding to the encoded bit rate information, the third original data and the second original data from the second communication device, the third original data does not include the first original data Raw data.
  • the second communication device after receiving the first encoded data from the second communication device, the second communication device sends indication information to the second communication device, and the second communication device can obtain the second original data from the first original data that has participated in encoding according to the indication information. data, and obtain the currently encoded encoding rate information according to the instruction information, and then jointly encode the third original data that has not participated in encoding and the second original data that has participated in encoding according to the encoding rate information to obtain the second encoded data, and send the second encoded data.
  • This solution is based on the feedback mechanism to guide the next encoding, which can realize adaptive adjustment of relevant encoding parameters, thereby improving spectral efficiency, error correction capability, and reducing packet error rate and encoding and decoding complexity, thereby improving encoding performance. , thereby improving the efficiency and quality of data transmission.
  • joint coding of new and old data is realized, which can improve the success rate of the first communication device on the receiving side to correctly decode the original data.
  • the second original data includes one or more first original data packets in the first original data; the indication information indicates any one of the following: the number of the first original data packets, the first original data packet The rank corresponding to a coded data, the reception situation of the system data packet and the redundant data packet corresponding to the first coded data, or the first correlation depth of the encoding.
  • the rank corresponding to the first encoded data reflects the number of equivalent correct original data packets obtained by decoding the first encoded data by the first communication device, the reception status and redundancy of the system data packets corresponding to the first encoded data
  • the data packet reception status reflects the number of equivalent correct original data packets obtained by the first communication device decoding the first encoded data, and the first associated depth of the encoding is used to indicate that the encoding has participated in the encoding that needs to be acquired in the next encoding.
  • the number of original data packets or original data blocks, and the above-mentioned information is indicated by the indication information, which is convenient to obtain the second original data from the first original data that has participated in the encoding, and enables the realization of joint encoding of new and old data, thereby enabling encoding ability enhancement.
  • the second original data includes one or more first original data blocks in the first original data; the indication information indicates any one of the following: the number of the first original data blocks, the first original data block The rank corresponding to a coded data, the reception situation of the system data packet and the redundant data packet corresponding to the first coded data, or the first correlation depth of the encoding.
  • the rank corresponding to the first encoded data reflects the number of equivalent correct original data packets obtained by decoding the first encoded data by the first communication device, the reception status and redundancy of the system data packets corresponding to the first encoded data
  • the data packet reception status reflects the number of equivalent correct original data packets obtained by the first communication device decoding the first encoded data, and the first associated depth of the encoding is used to indicate that the encoding has participated in the encoding that needs to be acquired in the next encoding.
  • the number of original data packets or original data blocks, and the above-mentioned information is indicated by the indication information, which is convenient to obtain the second original data from the first original data that has participated in the encoding, and enables the realization of joint encoding of new and old data, thereby enabling encoding ability enhancement.
  • the indication information indicates one or more of the following: the number of original data packets corresponding to the third original data; the number of original data blocks corresponding to the third original data; or the available decoding window Window length or decoding window used window length.
  • the encoding bit rate information indicates any one of the following: the number of redundant data packets corresponding to the second encoded data, the number of encoded data packets corresponding to the second encoded data, the second encoding The encoding code rate corresponding to the data, or the receiving conditions of the system data packets and the redundant data packets corresponding to the first encoded data.
  • the second encoded data includes header information, the header information indicating the second association depth.
  • the header information carries the second association depth, which facilitates correct decoding by the first communication device, and can improve the decoding success rate.
  • the header information further indicates one or more of the following: the number of original data packets corresponding to the third original data; the identifier of the original data block corresponding to the second encoded data; or the second encoded data The coding coefficients corresponding to the coded data.
  • the coding coefficients are local codebook coefficients or global codebook coefficients.
  • the header information carries one or more of the number of original data packets corresponding to the third original data, the identifier of the original data block corresponding to the second encoded data, or the encoding coefficients corresponding to the second encoded data
  • the first communication device can decode the second encoded data according to the above information carried in the header information, which can improve the decoding success rate.
  • sending the indication information to the second communication device includes: sending a feedback message to the second communication device, where the feedback message includes header information and data information, and the data information includes the indication information.
  • the feedback message is carried in downlink control information DCI or uplink control information UCI.
  • the header information is PDCP layer header information or MAC layer header information
  • the header information carries one or more of a header indication field, a data block number or a process number
  • the header indication field uses
  • the data block number is used to indicate the encoded data block corresponding to the indication information
  • the process number is used to indicate the sender process number corresponding to the indication information.
  • the header information is RLC layer header information
  • the header information carries one or more of control information, a data block number or a process number, wherein the control information is used to indicate the information carried in the feedback message.
  • the indication information of network coding is used to indicate the encoded data block corresponding to the indication information
  • the process number is used to indicate the sender process number corresponding to the indication information.
  • an embodiment of the present application provides a communication apparatus, and the apparatus may be a second communication device or a chip used for the second communication device.
  • the apparatus has the function of implementing the above-mentioned first aspect or each possible implementation method based on the first aspect. This function can be implemented by hardware or by executing corresponding software by hardware.
  • the hardware or software includes one or more modules corresponding to the above functions.
  • an embodiment of the present application provides a communication apparatus, and the apparatus may be a first communication device or a chip used for the first communication device.
  • the apparatus has the function of implementing the above-mentioned second aspect or each possible implementation method based on the second aspect. This function can be implemented by hardware or by executing corresponding software by hardware.
  • the hardware or software includes one or more modules corresponding to the above functions.
  • an embodiment of the present application provides a communication device, including a processor, where the processor is coupled to a memory, and the memory is used to store programs or instructions, and when the programs or instructions are executed by the processor, the device implements the above-mentioned first aspect , the second aspect, each possible implementation method based on the first aspect, or a method based on each possible implementation method of the second aspect.
  • the memory may be located within the device or external to the device.
  • the processor includes one or more.
  • an embodiment of the present application provides a communication apparatus, including a method for implementing the above-mentioned first aspect, or the second aspect, or each possible implementation method based on the first aspect, or each possible implementation based on the second aspect The units or means of the individual steps of the method.
  • an embodiment of the present application provides a communication device, including a processor and an interface circuit, where the processor is configured to control the interface circuit to communicate with other devices, and execute the above-mentioned first aspect, or the second aspect, or based on the first aspect Possible implementation methods of the aspect, or possible implementation methods based on the second aspect.
  • the processor includes one or more.
  • an embodiment of the present application further provides a computer-readable storage medium, including instructions, which, when executed on a computer, cause the computer to execute the above-mentioned first aspect, or the second aspect, or various possibilities based on the first aspect. implementation method, or each possible implementation method based on the second aspect.
  • an embodiment of the present application further provides a computer program product, which, when run on a computer, enables the computer to execute the above-mentioned first aspect, or the second aspect, or each possible implementation method based on the first aspect, or Various possible implementation methods based on the second aspect.
  • an embodiment of the present application further provides a chip system, including a processor, the processor is coupled to a memory, and the memory is used to store programs or instructions, when the program or instructions are executed by the processor, the chip system enables the above-mentioned first One aspect, the second aspect, each possible implementation method based on the first aspect, or a method based on each possible implementation method of the second aspect.
  • the memory may be located within the system-on-chip, or may be located outside the system-on-chip.
  • the processor includes one or more.
  • an embodiment of the present application further provides a communication system, including a second communication device for implementing the above-mentioned first aspect or any possible implementation method based on the first aspect, and a second communication device for implementing the above-mentioned second aspect Or a first communication device based on any possible implementation method of the second aspect.
  • Fig. 1 is a schematic diagram of random linear network coding
  • Fig. 2 is a schematic diagram of convolutional network coding
  • FIG. 3 is a schematic diagram of a scenario to which an embodiment of the present application is applicable.
  • FIG. 4 is a schematic diagram of a communication method provided by an embodiment of the present application.
  • Figure 5(a) is a schematic diagram of a feedback-based convolutional network coding scheme
  • Figure 5(b) is a schematic diagram of the feedback scheme of the single-process stop equation
  • FIG. 6 is a schematic diagram of a single-process filled feedback scheme
  • FIG. 7 is a schematic diagram of a feedback scheme based on multiple processes
  • Fig. 8-Fig. 9 are two example diagrams of the coded data block after interleaving
  • 10-11 are two schematic diagrams of a multi-process encoder
  • 12-13 are two schematic diagrams of a multi-process decoder
  • FIG. 15 is a schematic diagram of the PDCP layer bearing of the feedback message
  • 16 is a schematic diagram of the RLC layer bearing of the feedback message
  • 17 is a schematic diagram of the MAC layer bearing of the feedback message
  • Figure 18 is a schematic diagram of a packet header information field
  • 19 is a schematic diagram of a local codebook
  • 20 is a schematic diagram of partial codebook selection
  • 21 is a schematic diagram of a local codebook generation matrix
  • 22 is a schematic diagram of a global codebook
  • Figure 23 is a schematic diagram of global codebook selection
  • 24 is a schematic flowchart of a feedback-based coding scheme
  • 25-26 are two schematic diagrams of feedback-based adaptive non-systematic code schemes
  • 27 is a schematic diagram of a feedback-based average redundant non-systematic code scheme
  • FIG. 31 is a schematic diagram of a communication device according to an embodiment of the present application.
  • FIG. 32 is a schematic diagram of another communication device provided by an embodiment of the present application.
  • FIG. 33 is a schematic diagram of another communication device provided by an embodiment of the present application.
  • FIG. 34 is a schematic structural diagram of a terminal according to an embodiment of the present application.
  • the data block before encoding may be referred to as an original data block, an original data block, or an original block, and the like, and a data block after encoding may be referred to as an encoded data block or an encoded block, or the like.
  • a pre-encoded data block includes one or more pre-encoded data packets, wherein the pre-encoded data packets may also be referred to as original data packets, original data packets, or original packets.
  • An encoded data block contains one or more encoded data packets, wherein the encoded data packets may also be referred to as encoded data packets or encoded packets.
  • “next encoding” refers to the most recent encoding to be performed, and “next encoding” corresponds to "last encoding”.
  • “Last encoding” refers to the most recent encoding that has been done.
  • the transmitting end receives indication information (also referred to as feedback information) from the receiving end, and then determines the encoding for the next encoding based on the indication information. parameters, the original data involved in encoding, etc., and perform the next encoding based on these contents to obtain encoded data and send it to the receiving end.
  • “next encoding” may also be referred to as "current encoding”.
  • Network coding can maximize the throughput of the entire network and effectively improve the transmission of wireless communication systems by combining different information streams at the routing node and transmitting, that is, the intermediate nodes in the network encode and transmit the received data packets with random coefficients. performance.
  • the feedback retransmission mechanism can realize effective error control.
  • the hybrid automatic repeat request (HARQ) retransmission mechanism of the medium access control (MAC) layer and the automatic repeat request (automatic) of the radio link control (RLC) layer repeat request, ARQ) retransmission mechanism jointly ensures the reliability of transmission.
  • MAC medium access control
  • RLC radio link control
  • ARQ ARQ
  • the feedback retransmission mechanism faces many problems, such as frequent feedback overhead and performance loss in multicast or broadcast scenarios, serious performance loss in burst continuous error scenarios, dual-connection or multi-connection congestion scenarios, etc.
  • Network coding technology as a forward error correction technology, reduces the feedback overhead by encoding the original data packet (also known as the pre-encoding data packet) and adding redundancy to combat problems such as packet loss or performance loss in wireless transmission .
  • Network coding schemes include random linear network coding (RLNC), convolutional network coding (CNC), etc.
  • the RLNC and CNC will be introduced and explained below.
  • the RLNC technology takes a data block as a unit (a data block includes one or more data packets), and obtains a set of encoded data packets by encoding the original data packets by constructing a coding coefficient matrix.
  • the coefficients in the coding matrix are randomly selected in a finite field, such as a Galois field (GF).
  • FIG. 1 it is a schematic diagram of random linear network coding.
  • the coefficients in the coding matrix are randomly selected in the Galois field, and the size of the coding matrix is (N+R)*N, that is, the number of rows is N+R, and the number of columns is N.
  • the receiver cannot perform decoding.
  • the receiving end can feed back the number of encoded data packets needed for correct decoding to the transmitting end, and the transmitting end sends the corresponding number of encoded data packets according to the feedback content, and the encoded data packets have nothing to do with the encoding of the next data block.
  • a larger Galois threshold value is usually selected and the number of data packets in the data block is larger, but this will lead to increased computational complexity and overhead.
  • the ability of network coding to resist channel burst errors is limited to a certain extent. In the case of considering feedback, the large number of packets in the data block will lead to increased communication delay.
  • the coding coefficient matrix of convolutional network coding includes ⁇ +1 convolutional coding kernel matrices, namely G (0) ⁇ G ( ⁇ ) , which performs convolutional network coding on multiple original data blocks to generate coded data blocks.
  • the i-th convolutional coding kernel (which can be referred to as convolution kernel for short) can be expressed as That is, G (i) is a matrix whose upper half is denoted as G (i,0) and the lower half is denoted as G (i,1) .
  • the number of original data packets participating in the encoding of the current original data block in the i-th original data block is less than the number of lines of G (i) .
  • is an integer greater than or equal to 0.
  • the original data package currently participating in encoding contains one or more of the newly added original data blocks (also called new original data blocks, new data blocks or new blocks)
  • the original data packet (also referred to as a new original data packet, a new data packet or a new packet, etc.), optionally, may also include the original data block before the newly added original data block (also referred to as the old original data block) , old data block or old block) one or more original data packets (may also be referred to as old original data packets, old data packets or old packets, etc.).
  • the encoded data block c1 is obtained by encoding the original data block b1, that is, the original data packet currently participating in encoding includes all the data packets in b1, which are all new packets.
  • the encoded data block c2 is obtained by encoding the original data blocks b1 and b2, that is, the original data packets currently participating in the encoding include all the data packets in b2 (both are new packets) and all the original data packets in b1 (both are new packets). old package).
  • the encoded data block c3 is obtained by encoding the original data blocks b1, b2 and b3, that is, the original data packets currently participating in the encoding include all data packets in b3 (all new packets), all original data packets in b2 ( are both old packages) and all original packets in b1 (all are old packages).
  • the encoded data block is obtained by encoding at most ⁇ +1 original data blocks, wherein the ⁇ +1 original data block contains ⁇ old original data blocks (which may be referred to as old blocks for short) and 1 new original data block.
  • the original data block (may be referred to simply as the new block).
  • the number of encoded data packets in the encoded data block can be smaller than that of RLNC, and the convolutional form ensures that some or all of the original data in the current original data block and several previous original data blocks or all of the original data.
  • the packets are jointly encoded, which can better combat burst continuous errors and improve performance such as throughput.
  • convolutional network coding always uses ⁇ +1 convolutional coding kernels, that is, the correlation depth is ⁇ +1, and the size of different convolutional coding kernels is the same, and there is no certain row or certain number of convolutional coding kernels.
  • the coefficient of the row is 0, the number of corresponding coded data packets cannot be adjusted flexibly.
  • the association depth is used to indicate the number of original data packets or original data blocks that need to be acquired in the next encoding, and the acquired original data packets or original data blocks will participate in the next encoding.
  • the performance of convolutional network coding is related to the correlation depth, the design of the convolutional coding kernel, and the number of redundant packets (code rate). ) and other factors. Since the convolutional network coding cannot adjust the relevant parameters adaptively, the performance of spectral efficiency, error correction capability, packet error rate, coding and decoding complexity, etc. will be reduced.
  • the embodiments of the present application provide a feedback-based network coding method and device, which mainly involve:
  • single-process and multi-process feedback-based network coding schemes are designed to solve the problem of performance degradation caused by the delay caused by feedback, and the structure design of the transmitter encoder and receiver decoder is given.
  • the receiving end decodes the received encoded data, forms feedback information according to the decoding situation, and transmits it to the transmitting end.
  • the present application designs various forms of feedback information, and designs different ways of carrying the feedback information.
  • the transmitting end obtains the feedback information from the receiving end, and optimizes the parameters of the next encoding according to the feedback information, including but not limited to: correlation depth, convolutional encoding kernel, and the number of encoded data packets.
  • the network coding codebook and the codebook or coefficient indication methods are designed.
  • the sender performs network coding to generate a coded data packet, and carries the corresponding parameter or parameter index in the packet header of the coded data packet to ensure that the receiver can Encoded packets are processed and decoded correctly.
  • the embodiments of this application are aimed at protocol frameworks such as long term evolution (LTE) or NR, and can be applied to various mobile communication scenarios, such as between a network device and a terminal device, or point-to-point transmission between terminal devices, or a network device and a terminal device. Scenarios such as multi-hop/relay transmission between terminal devices, or dual connectivity (DC) or multi-connection transmission between multiple network devices and terminal devices.
  • LTE long term evolution
  • NR NR
  • Scenarios such as multi-hop/relay transmission between terminal devices, or dual connectivity (DC) or multi-connection transmission between multiple network devices and terminal devices.
  • the terminal device involved in the embodiments of this application may also be referred to as a terminal, which may be a device with a wireless transceiver function, which may be deployed on land, including indoor or outdoor, handheld or vehicle-mounted; it may also be deployed on water (such as ships, etc.); can also be deployed in the air (such as on airplanes, balloons, satellites, etc.).
  • the terminal device may be a user equipment (user equipment, UE), wherein the UE includes a handheld device, a vehicle-mounted device, a wearable device or a computing device with a wireless communication function.
  • the UE may be a mobile phone, a tablet computer, or a computer with a wireless transceiver function.
  • the terminal device may also be a virtual reality (VR) terminal device, an augmented reality (AR) terminal device, a wireless terminal in industrial control, a wireless terminal in unmanned driving, a wireless terminal in telemedicine, intelligent Wireless terminals in power grids, wireless terminals in smart cities, wireless terminals in smart homes, and so on.
  • the device for realizing the function of the terminal may be a terminal; it may also be a device capable of supporting the terminal to realize the function, such as a chip system, and the device may be installed in the terminal.
  • the chip system may be composed of chips, or may include chips and other discrete devices.
  • the network devices involved in the embodiments of the present application include access network devices, such as a base station (base station, BS).
  • the base station may be a device deployed in a wireless access network and capable of wirelessly communicating with a terminal.
  • the base station may have various forms, such as a macro base station, a micro base station, a relay station, and an access point.
  • the base station involved in the embodiments of the present application may be a base station in 5G or an evolved base station (evolved node B, eNB) in LTE, where the base station in 5G may also be referred to as a transmission reception point (transmission reception point). , TRP) or 5G base station (next-generation node B, gNB).
  • the apparatus for implementing the function of the network device may be a network device; it may also be an apparatus capable of supporting the network device to implement the function, such as a chip system, and the apparatus may be installed in the network device.
  • the technical solutions provided in the embodiments of the present application can be applied to wireless communication between communication devices.
  • the wireless communication between communication devices may include: wireless communication between a network device and a terminal device, wireless communication between a network device and a network device, and wireless communication between a terminal and a terminal.
  • wireless communication may also be referred to as “communication” for short, and the term “communication” may also be described as "data transmission", “information transmission” or “transmission”.
  • a device serving as a sender may be referred to as a sending device or a sending end
  • a device serving as a receiving party may be referred to as a receiving device or a receiving end
  • a terminal device sends data to a network device
  • the terminal device is called a sending device or a sending end
  • the network device is called a receiving device or a receiving end
  • a network device sends data to a terminal device the network device is called a sending device or a sending end
  • the terminal device is called a receiving device or a receiving end.
  • the first network device when the first network device sends data to the second network device, the first network device is called a sending device or a sending end, and the second network device is called a receiving device or a receiving end.
  • the first terminal device when the first terminal device sends data to the second terminal device, the first terminal device is called a sending device or a sending end, and the second terminal device is called a receiving device or a receiving end.
  • FIG. 3 it is a schematic diagram of a scenario to which this embodiment of the present application is applied. It can be understood that FIG. 3 is only exemplary, and does not limit the network architecture applicable to the embodiments of the present application. Moreover, the embodiments of the present application do not limit the transmission of uplink, downlink, access link, backhaul (backhaul) link, sidelink (sidelink) and the like. From the perspective of service scenarios, the embodiments of the present application are applicable to many scenarios, including but not limited to hierarchical data coding in extended reality (Extended Reality, XR) services. Among them, the XR business includes but is not limited to a virtual reality (Virtual Reality, VR) business, an augmented reality (Augmented Reality, AR) business, and a mixed reality (Mixed Reality, MR) business.
  • VR virtual reality
  • AR Augmented Reality
  • MR mixed reality
  • a schematic diagram of a communication method provided by an embodiment of the present application can be performed by a first communication device (or a chip of the first communication device) and a second communication device (or a chip of the second communication device).
  • the first communication device may be a terminal or a network device
  • the second communication device may be a network device or a terminal. The following description will be given by taking the first communication device and the second communication device executing the method as an example.
  • the method includes the following steps:
  • Step 401 the second communication device encodes the first original data to obtain the first encoded data.
  • the second communication device as a sending end, may be referred to as a sending device, a sending end device or a sending end.
  • the second communication device encodes the original data to obtain encoded data and sends the encoded data to the first communication device, so as to improve the reliability of data transmission.
  • the first communication device as a receiving end, may be referred to as a receiving device, a receiving end device or a receiving end.
  • the first original data corresponds to the first encoded data.
  • the first original data may be part or all of all the original data involved in encoding to obtain the first encoded data.
  • the first original data can be either an original data block or an original data packet.
  • the first encoded data may be either an encoded data block or an encoded data packet.
  • Step 402 the second communication device sends the first encoded data to the first communication device. Accordingly, the first communication device can receive the first encoded data.
  • Step 403 the first communication device sends indication information to the second communication device.
  • the second communication device can receive the indication information.
  • the first communication device after receiving the first encoded data, the first communication device generates indication information according to the first encoded data, where the indication information is used to feed back the reception status of the first encoded data and/or to instruct the second communication device to next time Reference information when encoding.
  • the indication information may also be referred to as feedback information.
  • Step 404 the second communication device acquires the second original data and the encoding bit rate information according to the indication information.
  • the indication information is used to obtain the second original data and the coding rate information. That is, after the second communication device receives the indication information, it can obtain the second original data participating in the next encoding according to the indication information, where the second original data is part or all of the above-mentioned first original data, and also According to the indication information, the coding rate information for the next coding is obtained.
  • Step 405 the second communication device performs joint encoding on the third original data and the second original data according to the encoding bit rate information to obtain the second encoded data.
  • the second encoded data is encoded data corresponding to the encoded bit rate information, the third original data and the second original data.
  • the third original data is newly added data that has not participated in encoding during the current encoding, and the third original data does not include the first original data. It can be understood that the third original data also does not include data that has participated in encoding before the first original data.
  • the second communication device performs joint encoding on the newly added data that has not participated in encoding (ie, the third original data) and some or all of the original data in the data that has participated in the encoding (ie, the second original data), so as to improve the coding efficiency.
  • Step 406 the second communication device sends the second encoded data to the first communication device. Accordingly, the first communication device can receive the second encoded data.
  • the second communication device may receive the indication information, and then obtain the second original data and the currently encoded original data in the encoded original data based on the indication information. encoding bit rate information, and then jointly encoding the third original data and the second original data according to the encoding bit rate information to obtain second encoded data, and sending the second encoded data to the first communication device.
  • This solution is based on the feedback mechanism to guide the next coding, and can adjust the relevant coding parameters adaptively, thereby improving the spectral efficiency, error correction ability, and reducing the packet error rate and coding and decoding complexity.
  • the joint encoding of the data can improve the success rate of the first communication device on the receiving side to correctly decode the original data.
  • the following describes different implementation methods for the second communication device to acquire the second original data according to the indication information in the foregoing step 404 . Two cases are described below.
  • the above-mentioned second original data includes one or more first original data packets in the first original data.
  • the method for the second communication device to obtain the second original data according to the indication information includes but is not limited to:
  • the second communication device obtains the second original data according to the number of the first original data packets.
  • the second communication device will obtain the number of original data packets from the first original data that has participated in the encoding as the second original data. Participate in the next coding.
  • the number of original data packets whose time sequence is closest to the third original data in the first original data may be used as the second original data.
  • the number of original data packets randomly selected from the first original data may be used as the second original data. This embodiment of the present application does not limit the specific implementation method for obtaining the number of original data packets from the first original data as the second original data.
  • the first original data packet in the embodiment of the present application is one or more original data packets contained in the first original data.
  • the number of the first original data packets may be understood as the number of original data packets related to the second original data in the first original data. Alternatively, it can be understood that the number of the first original data packets is the number of original data packets used to determine the second original data in the first original data.
  • the definition of the first original data package here is applicable to the whole text, that is, for the meaning of the first original data package appearing in the whole text, reference may be made to the above description.
  • the second communication device determines the number of first original data packets included in the second original data according to the rank corresponding to the first encoded data, and then according to the The number of one original data packet obtains the second original data.
  • the rank corresponding to the first coded data refers to the rank of the coding matrix corresponding to the coded data received by the first communication device (may also be referred to as the rank corresponding to the coded data), and is used to reflect the rank of the first communication device with respect to the first coded data. reception. When the rank is full, it indicates that the first communication device receives the first coded data correctly, and when the rank is not satisfied, it indicates that the first coded data has packet loss.
  • the second communication device may determine the number of the first original data packets included in the second original data according to the rank corresponding to the first encoded data indicated by the indication information.
  • the number of first original data packets included in the second original data is the difference between the number of original data packets corresponding to the first encoded data and the rank corresponding to the first encoded data indicated by the indication information.
  • the number of original data packets corresponding to the first encoded data is 4, and when the rank corresponding to the first encoded data indicated by the indication information is 3, it is determined that the number of first original data packets included in the second original data is 1.
  • the second communication device obtains the second original data according to the number of the first original data packets, that is, the second communication device obtains the number of original data packets from the first original data that has participated in the encoding as the second original data, and the second original data 2. The original data participates in the next encoding.
  • Method 3 when the above-mentioned indication information indicates the reception situation of the system data packet corresponding to the first encoded data and the reception situation of the redundant data packet, then the second communication device receives the reception situation of the system data packet and the redundant data packet corresponding to the first encoded data.
  • the number of the first original data packets included in the second original data is determined according to the situation, and then the second original data is acquired according to the number of the first original data packets.
  • the system data packet refers to the data packet in the encoded data that is the same as the original data packet, and its encoding coefficient may also be considered to be 1.
  • Redundant data packets refer to redundant encoded data packets added to improve decoding success rate.
  • the reception of system data packets refers to the number or proportion of correct reception of system data packets, or the number or proportion of incorrect reception of system data packets.
  • the redundant data packet reception condition refers to the correct number or proportion of redundant data packets received, or the wrong number or proportion of redundant data packets received.
  • the second communication device may determine the number of the first original data packets according to the reception conditions of the system data packets and the reception conditions of the redundant data packets corresponding to the first encoded data indicated by the indication information.
  • the number of the first original data packets included in the second original data is the number of original data packets included in the K original data blocks that are closest to the third original data in terms of time sequence and have participated in encoding , where K is the larger value of the number of error receptions of system data packets corresponding to the first encoded data determined according to the indication information and the number of error receptions of redundant data packets corresponding to the first encoded data.
  • the reception situation of the system data packets corresponding to the first encoded data indicated by the indication information the number of error receptions of system data packets is 1
  • the reception situation of redundant data packets the number of error receptions of redundant data packets is 0
  • the number of an original data packet is the number of original data packets contained in an original data block that is closest to the third original data in terms of time sequence and has participated in encoding.
  • the reception situation of the system data packets corresponding to the first encoded data indicated by the indication information the number of error receptions of system data packets is 1
  • the reception situation of redundant data packets the number of error receptions of redundant data packets is 1
  • the number of the first original data packet is the number of original data packets contained in the original data block that is closest to the third original data in terms of time sequence and has participated in the encoding.
  • the number of original data packets contained in the most recent O original data blocks that have participated in the encoding of the third original data, and the number of original data blocks corresponding to redundant data packets can also be understood as generating the original data blocks related to the redundant data packet quantity.
  • the number of first original data packets determined according to the erroneous system data packet may be the same as the number of first original data packets determined according to the erroneous redundant data packet number remains the same.
  • the second communication device obtains the second original data according to the number of the first original data packets, that is, the second communication device obtains the number of original data packets from the first original data that has participated in the encoding as the second original data, and the second original data 2.
  • the original data participates in the next encoding.
  • the second communication device determines the number of first original data packets contained in the second original data according to the first association depth, and then obtains according to the number of the first original data packets. The second raw data.
  • the association depth is used to indicate the number of original data packets (or original data blocks) that participate in the next encoding in the original data packets (or original data blocks) that have participated in the encoding. Therefore, when the indication information indicates the encoded first association depth, the second communication device may determine the number of the first original data packets according to the first association depth, and then obtain the second original data according to the number of the first original data packets, that is, The second communication device obtains the number of original data packets from the first original data that has participated in the encoding as the second original data, and the second original data participates in the next encoding.
  • the above-mentioned second original data includes one or more first original data blocks in the first original data.
  • the method for the second communication device to obtain the second original data according to the indication information includes but is not limited to:
  • the second communication device acquires the second original data according to the number of the first original data blocks.
  • the second communication device will obtain the number of original data blocks from the first original data that has participated in the encoding as the second original data. Participate in the next coding.
  • the number of original data blocks in the first original data that are closest in time series to the third original data may be used as the second original data.
  • the number of raw data blocks randomly selected from the first raw data may be used as the second raw data. This embodiment of the present application does not limit the specific implementation method for obtaining the number of original data blocks from the first original data as the second original data.
  • the first original data block in the embodiment of the present application is one or more original data packets contained in the first original data.
  • the number of the first original data blocks may be understood as the number of original data blocks related to the second original data in the first original data.
  • the number of the first original data blocks is the number of original data blocks used to determine the second original data in the first original data.
  • the definition of the first original data block here is applicable to the whole text, that is, for the meaning of the first original data block appearing in the whole text, reference may be made to the above description.
  • the second communication device determines the number of first original data blocks included in the second original data according to the rank corresponding to the first encoded data, and then according to the first original data The number of blocks gets the second raw data.
  • the rank corresponding to the first coded data refers to the rank of the coding matrix corresponding to the coded data received by the first communication device, and is used to reflect the reception of the first coded data by the first communication device. When the rank is full, it indicates that the first communication device receives the first coded data correctly, and when the rank is not satisfied, it indicates that the first coded data has packet loss.
  • the second communication device may determine the number of the first original data blocks according to the rank corresponding to the first encoded data indicated by the indication information, and then obtain the second original data according to the number of the first original data blocks, that is, the second communication device receives the The number of original data blocks is obtained from the over-encoded first original data as the second original data, and the second original data participates in the next encoding.
  • Method 3 when the above-mentioned indication information indicates the reception situation of the system data packet corresponding to the first encoded data and the reception situation of the redundant data packet, then the second communication device receives the reception situation of the system data packet and the redundant data packet corresponding to the first encoded data.
  • the number of the first original data blocks included in the second original data is determined according to the situation, and then the second original data is acquired according to the number of the first original data blocks.
  • the system data packet refers to the same data packet as the original data packet in the encoded data.
  • Redundant data packets refer to redundant encoded data packets added to improve decoding success rate.
  • reception status of system data packets refers to the correct number or proportion of system data packets received, or the number or proportion of system data packets received incorrectly.
  • the redundant data packet reception condition refers to the correct number or proportion of redundant data packets received, or the wrong number or proportion of redundant data packets received.
  • the second communication device may determine the number of the first original data blocks according to the reception situation of the system data packets and the reception situation of the redundant data packets corresponding to the first encoded data indicated by the indication information.
  • the number of the first original data blocks included in the second original data is the redundancy between the number of error receptions of the system data packets corresponding to the first encoded data determined according to the indication information and the corresponding first encoded data The larger of the number of incorrectly received packets.
  • the reception situation of the system data packets corresponding to the first encoded data indicated by the indication information the number of error receptions of system data packets is 1
  • the reception situation of redundant data packets the number of error receptions of redundant data packets is 0
  • the number of one original data block is one original data block that is closest to the third original data in terms of time sequence and has participated in encoding.
  • the reception situation of the system data packets corresponding to the first encoded data indicated by the indication information the number of error receptions of system data packets is 1
  • the reception situation of redundant data packets the number of error receptions of redundant data packets is 1
  • the number of the first original data block is the original data block that has participated in the encoding closest to the third original data in time sequence
  • the original data block is also the system data packet in the first encoded data.
  • the number of original data blocks corresponding to the redundant data packets can also be understood as the number of original data blocks related to the generation of the redundant data packets.
  • the number of the first original data block determined according to the erroneous system packet may be the same as the number of the first original data block determined according to the erroneous redundant data packet. The number remains the same.
  • the second communication device obtains the second original data according to the number of the first original data blocks, that is, the second communication device obtains the number of original data blocks from the first original data that has participated in the encoding as the second original data, and the second original data is used as the second original data. 2.
  • the original data participates in the next encoding.
  • the second communication device determines the number of the first original data blocks contained in the second original data according to the first association depth, and then obtains according to the number of the first original data blocks. The second raw data.
  • the association depth is used to indicate the number of original data packets (or original data blocks) that participate in the next encoding in the original data packets (or original data blocks) that have participated in the encoding. Therefore, when the indication information indicates the encoded first association depth, the second communication device may determine the number of the first original data blocks according to the first association depth, and then obtain the second original data according to the number of the first original data blocks, that is, The second communication device obtains the number of original data blocks from the first original data that has participated in the encoding as the second original data, and the second original data participates in the current encoding.
  • the second communication device can obtain the second original data, and the second original data participates in the next encoding .
  • the encoding bit rate information indicates the number of redundant data packets corresponding to the second encoded data, the number of encoded data packets corresponding to the second encoded data, or the encoding bit rate corresponding to the second encoded data.
  • the coding rate corresponding to the second coded data (the number of coded data packets corresponding to the second coded data-the number of redundant data packets corresponding to the second coded data)/the number of coded data packets corresponding to the second coded data .
  • the number of encoded data packets corresponding to the second encoded data is the total number of data packets in the second encoded data, and the total number includes the number of redundant data packets.
  • the method for the second communication device to obtain the coding rate information according to the indication information includes but is not limited to:
  • the second communication device determines the number of redundant data packets corresponding to the second coded data according to the rank corresponding to the first coded data, and then determines the number of redundant data packets corresponding to the second coded data according to the rank corresponding to the first coded data.
  • the number of redundant data packets determines the coding rate.
  • the rank corresponding to the first coded data refers to the rank of the coded data received by the first communication device, and is used to reflect the reception situation of the first coded data by the first communication device. When the rank is full, it indicates that the first communication device receives the first coded data correctly, and when the rank is not satisfied, it indicates that the first coded data has packet loss.
  • the second communication device may determine the number of redundant data packets corresponding to the next encoding according to the rank corresponding to the first encoded data indicated by the indication information, that is, the number of redundant data packets corresponding to the second encoded data obtained by the next encoding .
  • the number of redundant data packets corresponding to the next encoding is equal to the original data packets corresponding to the first encoded data that have not been correctly decoded before. The difference between the number and the rank corresponding to the first encoded data indicated by the indication information.
  • the number of original data packets corresponding to the first encoded data that have not been correctly decoded before is 4, and when the rank corresponding to the first encoded data indicated by the indication information is 3, the number of redundant data packets corresponding to the next encoding can be determined.
  • the number is 1.
  • the second communication device determines the encoding code rate according to the number of redundant data packets corresponding to the second encoded data.
  • the second communication device when the indication information indicates the reception situation of the system data packets and the reception situation of the redundant data packets corresponding to the first encoded data, the second communication device will receive the system data packets and the redundant data packets corresponding to the first encoded data according to the reception situation.
  • the number of redundant data packets corresponding to the second encoded data is determined, and then the encoding code rate is determined according to the number of redundant data packets corresponding to the second encoded data.
  • the system data packet refers to the same data packet as the original data packet in the encoded data.
  • Redundant data packets refer to redundant encoded data packets added to improve decoding success rate.
  • the reception of system data packets refers to the number or proportion of correct reception of system data packets, or the number or proportion of incorrect reception of system data packets.
  • the redundant data packet reception condition refers to the correct number or proportion of redundant data packets received, or the wrong number or proportion of redundant data packets received.
  • the second communication device may determine the number of redundant data packets corresponding to the next encoding, that is, the number of redundant data packets corresponding to the next encoding, according to the receiving conditions of the system data packets and the redundant data packets corresponding to the first encoded data indicated by the indication information, that is, the first encoding obtained by the next encoding.
  • the number of redundant data packets corresponding to the second encoded data is the erroneous reception of the system data packets corresponding to the first encoded data determined according to the indication information The sum of the number of error reception numbers of redundant data packets corresponding to the first encoded data.
  • the reception situation of the system data packets corresponding to the first encoded data indicated by the indication information the number of error receptions of system data packets is 1, and the reception situation of redundant data packets: the number of error receptions of redundant data packets is 0, it can be determined as follows: The number of redundant data packets corresponding to the secondary encoding is 1.
  • the reception situation of the system data packets corresponding to the first encoded data indicated by the indication information the number of error receptions of system data packets is 1
  • the reception situation of redundant data packets: the number of error receptions of redundant data packets the number of error receptions of redundant data packets is 1
  • the second communication device determines the encoding code rate according to the number of redundant data packets corresponding to the second encoded data.
  • the second communication device can determine the coding rate, so as to obtain the second coded data by jointly coding the third original data and the second original data according to the coding rate.
  • the above-mentioned indication information in addition to the above-described information, may also indicate one or more of the following:
  • the indication information indicates the number of newly added original data packets that have not participated in the encoding used in the next encoding.
  • the indication information indicates the number of newly added original data blocks that have not participated in the encoding to be used in the next encoding.
  • the decoding window corresponds to a maximum window length
  • the maximum window length refers to the maximum data length involved in decoding, which can also be understood as the maximum number of encoded data blocks that can be decoded. Therefore, the indication information may indicate the available window length of the decoding window, that is, the number of remaining encoded data blocks that can participate in decoding. Alternatively, the indication information can indicate the used window length of the decoding window, so that the available window length of the decoding window can be determined according to the used window length of the decoding window and the maximum window length of the decoding window, thereby determining the remaining coded data blocks that can be decoded. quantity.
  • the above-mentioned second encoded data may include header information and data information, wherein the data information is used to carry the encoded data.
  • the header information is used to indicate encoding parameter information corresponding to the second encoded data, so that the first communication device can correctly decode the original data before encoding after receiving the second encoded data.
  • the header information indicates the second association depth, and the second association depth may be determined according to the indication information, or may be jointly determined according to the indication information and other system information (eg, channel state information, etc.). If the above indication information indicates the first association depth (which may be an explicit indication or an implicit indication), the second association depth may be the same as or different from the first association depth.
  • the header information may also indicate one or more of the following:
  • the coding coefficients may also be referred to as coding codebook coefficients, codebook coefficients, or the like.
  • the above-mentioned indication information is referred to as feedback information in the following embodiments
  • the above-mentioned first communication device is referred to as a receiving end in the following embodiments
  • the above-mentioned second communication device is referred to as a transmitting end in the following embodiments
  • the above-mentioned The second original data may be old original data packets or old original data blocks in the following embodiments
  • the above-mentioned third original data may be new original data packets or new original data blocks in the following embodiments.
  • This embodiment provides the overall design and flow of the feedback-based convolutional network coding scheme, and provides single-process and multi-process feedback solutions on this basis.
  • FIG. 5(a) it is a schematic diagram of a feedback-based convolutional network coding scheme.
  • the program includes the following steps:
  • Step 1 In the initial state, at the sending end, the original data packet enters the convolutional network encoder at the sending end and is stored in the corresponding storage unit, such as a register unit.
  • the convolutional network encoder determines an initial code generation according to the set initial parameters. Matrix, network coding is performed on the corresponding original data packets according to the coding generation matrix, and header information is added to obtain a set of coded data packets.
  • the convolutional network encoder may also be referred to as an encoder, a transmitter encoder or a transmitter encoder for short, which is described in a unified manner here, and will not be repeated hereafter.
  • Step 2 The sender sends the generated network coding data packet, and transmits it through the channel. Due to the influence of interference, noise and other factors, there will be packet loss and/or packet error. Through a reasonable verification mechanism, such as cyclic redundancy code Check (cyclic redundancy check, CRC) check, the receiver receives a set of correct encoded data packets.
  • CRC cyclic redundancy code Check
  • Step 3 After receiving the encoded data packet, the receiving end identifies the packet header information, obtains parameters such as the data block ID, encoding coefficient, correlation depth, etc. and uses the convolutional network decoder to perform the decoding operation, and forms feedback information to characterize the decoding process. condition. If the decoding is correct, output the original data packet obtained by decoding. In addition, the feedback information is sent to the sender through a channel through a corresponding bearer.
  • the convolutional network decoder may also be referred to as a decoder, a receiver decoder, or a receiver decoder for short, which is described in a unified manner here, and will not be repeated in the following.
  • Step 4 The transmitting end receives the feedback information from the receiving end, and determines the encoding parameters of the next convolutional network encoder, such as the correlation depth, the convolutional encoding kernel, and the number of encoded data packets.
  • the coding parameters determined by the sending end may be consistent with the coding parameters corresponding to the feedback information, or the coding parameters may be re-determined by the sending end according to the coding parameters of the feedback information and in combination with other system information.
  • the new data packet and the old data packet are jointly encoded, and the packet header information is added to obtain a set of encoded data packets. Then go back to step two.
  • the embodiments of the present application propose a feedback solution based on a single process or multiple processes. They are described below.
  • the stop-and-wait method is adopted, that is, after the sender sends a set of coded data packets, it needs to wait for the feedback information from the receiver, during which the sender does not send new coded data.
  • FIG. 5(b) it is a schematic diagram of the feedback scheme of the single-process stopping equation.
  • T time delay between the first original data block B 0 and the second original data block B 1 , and during the time delay T, the sender does not send new encoded data. This way of waiting will cause waste of system resources and performance degradation.
  • padding is used.
  • the encoded data uses the first original data for the original data blocks after the first original data block.
  • the encoding parameters of the block, or the method of semi-statically configuring the encoding parameters encodes the original data block in the delay T, and realizes the joint encoding of the new original data packet and the old original data packet.
  • the feedback delay T can be adjusted according to the granularity of the smallest time unit T 0 , so that T is rounded up to an integer multiple of T 0 , so that within the feedback delay T, an integer number of original data blocks can be encoded and sent.
  • FIG. 6 it is a schematic diagram of a single-process filled feedback scheme.
  • the first original data block B 0 enters the convolutional network encoder at the sending end, performs network encoding according to the encoding parameters and sends the encoded data block.
  • three original data blocks ie, original data blocks B 1 , B 2 , B 3
  • B 1 , B 2 , and B 3 enter the convolutional network encoder at the sending end
  • B 1 , B 2 , and B 3 can be encoded according to the encoding parameter of B 0 or the encoding parameter of the semi-static configuration.
  • the above operations are performed until the sender receives the feedback information, and the encoding parameter configuration is optimized according to the feedback information, and the original data block B 4 is encoded according to the optimized encoding parameter configuration within the next unit time after the feedback delay T.
  • the encoding parameters here include, but are not limited to, the associated depth, the number of encoded data packets, encoding coefficients, and the like.
  • the stop-and-wait scheme is simple to operate, but will cause waste of system resources and performance degradation within the feedback delay.
  • the fill-in scheme improves the resource utilization of the stop-and-wait scheme, but the feedback time
  • the delay leads to hysteresis, that is, the coding parameters of the original data block B 4 are determined according to the decoding result of the original data block B 0 , and real-time and accurate feedback cannot be achieved, resulting in increased redundancy or decreased decoding performance.
  • the sender cannot determine the encoding parameters of the original data block B 1 according to the decoding result of the original data block B 0 , cannot determine the encoding parameters of the original data block B 2 according to the decoding result of the original data block B 1 , and cannot determine the encoding parameters of the original data block B 2 according to the decoding result of the original data block B 1 .
  • the decoding result of the block B2 determines the encoding parameter of the original data block B3
  • the encoding parameter of the original data block B4 cannot be determined according to the decoding result of the original data block B3 .
  • a multi-process based feedback scheme there is a feedback delay T and at least one process value.
  • the sender can determine the number of activated processes according to the number of original data packets in the original data block, the size of the MAC layer transmission block and the delay requirements, that is, obtain a suitable process value from at least one process value, and activate it. the corresponding number of processes.
  • FIG. 7 it is a schematic diagram of a feedback scheme based on multiple processes.
  • the sender has z processes, where z is 4, that is, the sender includes process 0, process 1, process 2 and process 3.
  • the three original data blocks (B 1 to B 3 ) can be encoded and transmitted respectively within the feedback delay T.
  • the original data block B 1 is encoded and sent under process 1
  • the original data block B 2 is encoded under process 2.
  • send, the original data block B 3 is encoded and sent under process 3.
  • the sender can receive feedback information of the encoded data block corresponding to the original data block B 0 in process 0.
  • the encoding parameters of the original data block B 4 are determined according to the feedback information corresponding to B 0 , and the original data block B 4 is encoded according to the encoding parameters. sent later.
  • the convolutional network decoder at the receiving end decodes the received encoded data packet corresponding to B 0 , generates feedback information, and sends it to sender. If the decoding is successful, the decoding result (ie, the original data block B 0 ) is output.
  • the sender can determine the encoding parameters of the original data block B 4 according to the decoding result of the original data block B 0 in the process 0, and can determine the encoding parameters of the original data block B 1 in the process 1 according to the decoding result of the original data block B 1
  • the encoding parameters of the original data block B 5 can be determined according to the decoding result of the original data block B 2 in the process 2
  • the encoding parameters of the original data block B 6 can be determined in the process 3 according to the decoding result of the original data block B 3 . Coding parameters of original data block B 7 .
  • Each process can independently determine the encoding parameters of the next original data block based on the feedback information (ie the decoding result) of the encoded data block corresponding to the previous original data block, and encode the next original data block based on the encoding parameters, Therefore, it is possible to adjust the coding parameters based on the decoding result fed back in real time, and improve the coding performance.
  • interleaving function can also be implemented in the convolutional network encoder at the transmitting end.
  • interleaving is performed at the granularity of coded packets.
  • the original data block is passed through the convolutional network encoder at the sender to generate multi-process coded data blocks, and then the coded data blocks are interleaved in units of coded data packets to form interleaved coded data blocks under different processes.
  • FIG. 8 it is an example diagram of an interleaved encoded data block.
  • the figure shows 4 processes, and the convolutional network encoder generates encoded data blocks C 0 to C 7 corresponding to the four processes. It is assumed that the number of encoded data packets in each encoded data block is 3, which is not an integer multiple of the number of processes (ie, 4).
  • Figure 8 shows the coded data block form after interleaving, each process number represents a coded data block, for example, the first coded data block after interleaving corresponding to process 0 is the first coded data block by C 0 ⁇ C 2 Composed of data packets, the first coded data block after interleaving corresponding to process 1 is composed of the first coded data packet of C 3 and the second coded data packets of C 0 to C 1 . According to the above rules and so on, an interleaved encoded data block is obtained.
  • the following shows the interleaved encoded data blocks corresponding to each process.
  • the interleaved encoded data blocks corresponding to each process are as follows:
  • Process 0 encoded data block 1 (C 00 , C 10 , C 20 ), encoded data block 2 (C 40 , C 50 , C 60 ).
  • Process 1 encoded data block 1 (C 30 , C 01 , C 11 ), encoded data block 2 (C 70 , C 41 , C 51 ).
  • Process 2 encoded data block 1 (C 21 , C 31 , C 02 ), encoded data block 2 (C 61 , C 71 , C 42 ).
  • Process 3 Encoding data block 1 (C 12 , C 22 , C 32 ), encoding data block 2 (C 52 , C 62 , C 72 ).
  • the number of encoded data packets in the encoded data block is an integer multiple of the number of processes.
  • FIG. 9 it is another example diagram of an interleaved encoded data block.
  • the number of encoded data packets of the encoded data block is 4, which is equal to the number of processes (ie, 4).
  • the first encoded data packets of C 0 to C 3 are formed into the first encoded data block corresponding to process 0
  • the second encoded data packets of C 0 to C 3 are formed into the second encoded data block corresponding to process 0 ,And so on.
  • each interleaving process sequentially extracts n encoded data packets from each encoded data block and combines them into a new encoded data block.
  • Figure 9 shows the form of the coded data block after interleaving.
  • Each process number represents a coded data block.
  • the first coded data block after interleaving corresponding to process 0 is the first coded data block from C 0 to C 3 .
  • the first coded data block after interleaving corresponding to process 1 is composed of the second coded data packets of C 0 to C 3 . According to the above rules and so on, an interleaved encoded data block is obtained.
  • the following shows the interleaved encoded data blocks corresponding to each process.
  • the interleaved encoded data blocks corresponding to each process are as follows:
  • Process 0 encoded data block 1 (C 00 , C 10 , C 20 , C 30 ), encoded data block 2 (C 40 , C 50 , C 60 , C 70 ).
  • Process 1 encoded data block 1 (C 01 , C 11 , C 21 , C 31 ), encoded data block 2 (C 41 , C 51 , C 61 , C 71 ).
  • Process 2 encoded data block 1 (C 02 , C 12 , C 22 , C 32 ), encoded data block 2 (C 42 , C 52 , C 62 , C 72 ).
  • Process 3 Encoded data block 1 (C 03 , C 13 , C 23 , C 33 ), encoded data block 2 (C 43 , C 53 , C 63 , C 73 ).
  • FIG. 10 it is a schematic diagram of a multi-process encoder.
  • the convolutional network encoder set at the sending end has multi-process encoding capability, that is, multiple processes or channels can be distinguished in the convolutional network encoder, and each process is independent of each other and has its own shift buffer module, encoding module, etc.
  • the convolutional network encoder is further provided with a data classification and process management module, which is used for distributing the received original data blocks (or original data packets) to each process, and for managing each process.
  • FIG. 11 it is another schematic diagram of a multi-process encoder.
  • the convolutional network encoder also sets a data classification module for distributing the received raw data blocks (or raw data packets) to each single-process encoder.
  • FIG. 12 it is a schematic diagram of a multi-process decoder.
  • the convolutional network decoder set at the receiving end has multi-process decoding capability, that is, multiple processes or channels can be distinguished in the convolutional network decoder. Each process is independent of each other and has its own shift buffer module. code module, etc.
  • the convolutional network decoder is further provided with a data classification and process management module for distributing the received encoded data blocks (or encoded data packets) to each process, and for managing each process.
  • FIG. 13 it is another schematic diagram of a multi-process decoder.
  • the convolutional network decoder is also provided with a data classification module for distributing the received encoded data blocks (or encoded data packets) to each single-process decoder.
  • a feedback-based network coding method and device under single-process and multi-process are designed, and by optimizing the operation of single-process and multi-process, it is possible to make full use of the transmitting end to send encoded data to the receiver that receives the feedback information. this time delay.
  • the subsequent original data blocks can be convolutionally encoded and transmitted according to the semi-static encoding parameters or the previous encoding parameters based on feedback optimization.
  • the next original data block Perform encoding parameter optimization.
  • multiple processes can be added to the feedback delay, and the multiple processes are independent of each other.
  • Each process can provide accurate feedback and optimize the encoding parameters, so as to more efficiently implement the encoding strategy of the sender, and fully Utilize system resources to improve system throughput and other performance.
  • the ability of network coding to resist burst interference can be further improved.
  • the second embodiment provides the content of the feedback information and the format of the feedback information. They are described below.
  • the content of the feedback information determines the depth of association between the next original data block and one or more previous original data blocks (part or all of the data packets) and the number of redundant packets.
  • the association depth represents the number of original data blocks and the number of original data packets, and can also represent the number of new data packets (also referred to as new original data packets, or simply referred to as new packets) (hereinafter referred to as the number of new packets). Represented by N) and the number of old data packets (also referred to as old original data packets, or simply referred to as old packets) (represented by letter O hereinafter).
  • the number of redundant packets may be embodied in information such as the number of encoded data packets (represented by C hereinafter), or the number of redundant encoded data packets (represented by R below).
  • the transmitting end may adjust the number of redundant packets in the feedback information. For example, when there is a delay limit in the decoding of the encoded data packet, and the maximum delay is required to be the delay corresponding to the length of the decoding window, the decoding needs to be successful before the encoded data exits the decoding window.
  • the number of redundant packets may be increased on the basis of the number of redundant packets fed back by the receiving end through the feedback information.
  • the feedback information for the encoded data sent by the receiving end to the transmitting end is used to indicate but not limited to the following information: the depth of association D, the number of redundant packets R, the number of new packets participating in encoding N, the number of new packets participating in encoding The number of old packets is 0 or the decoding window state.
  • the content of the feedback information may be different.
  • the feedback information may be dynamically indicated through control information at the physical (PHY) layer, or may also be semi-statically configured through related high-level messages such as the MAC layer, the radio resource control (RRC) layer, or the like, or By means of semi-static configuration combined with dynamic indication.
  • PHY physical
  • RRC radio resource control
  • the following divides the network coding scheme into two types: non-systematic codes and systematic codes, and respectively describes the feedback information corresponding to the non-systematic codes and the feedback information corresponding to the systematic codes.
  • the feedback information when the feedback information is used to indicate one or more of the association depth D, the number of redundant packets R, the number of new packets involved in encoding N, the number of old packets involved in encoding O, or the decoding window state If there are any, the following methods can be used to give instructions.
  • the feedback information is used to indicate the number R of redundant packets (also called redundant coded data packets), it can be indicated in any of the following ways:
  • the association depth D is equivalent to the number O of old packets, that is, the values of the two are the same.
  • the feedback information is used to indicate the association depth D, it can be indicated in any of the following ways:
  • bitmap bitmap
  • the bitmap of the old packet refers to indicating the number of old packets involved in encoding in the next encoded data block by means of a bitmap. For example, if the bitmap is 8 bits, when the bitmap information is "10000000”, it means that the number of old packets involved in encoding in the next encoded data block is 1, and when the bitmap information is "11000000", it means the next The number of old packets involved in encoding in the encoded data block is 2. It should be noted that, in the subsequent description, the bitmap of the old packet has the same meaning, and will not be repeated here.
  • the bitmap of the old block refers to using a bitmap to indicate the number of old blocks involved in encoding in the next encoded data block. For example, if the bitmap is 8 bits, when the bitmap information is "10000000", it means that the number of old blocks involved in coding in the next encoded data block is 1, and when the bitmap information is "11000000", it means the next The number of old blocks involved in encoding in the encoded data block is 2. It should be noted that, in the subsequent description, the bitmap of the old block has the same meaning and will not be repeated.
  • the number of new packets N is used for the scheme in which the total number of original data packets encoded each time is the same (that is, N+O is a fixed value).
  • the feedback information is used to indicate the number N of new packets involved in encoding in the next original data block, it can be indicated in any of the following ways:
  • the N value can be obtained by means of the relevant indication information of the association depth
  • the value of the association depth D is the same as that of the old packet O. After pre-configuring the total number of original data packets encoded each time, and determining the association depth D through feedback information, the value of the number N of new packets can be obtained.
  • the decoding window state includes the length used by the decoding window and/or the remaining length of the decoding window (that is, the unused length), which is used to characterize the usage of the current decoding window, the currently used window length and the maximum window length (using W_max). representation) relationship.
  • the state of the decoding window will affect the redundancy addition algorithm of the encoder, that is, under the relevant algorithm, the number of encoded data packets generated by the encoding of the next original data block in the convolutional network encoder at the transmitting end not only depends on the receiving end.
  • the number of missing packets in the current coded data block also depends on the used length of the decoding window or on the remaining length of a coded data packet in the window.
  • the feedback information when the feedback information is used to indicate one or more of the association depth D, the number of redundant packets R, the number of new packets involved in encoding N, the number of old packets involved in encoding O, or the decoding window state , you can instruct by the following methods.
  • the feedback information is used to indicate the number R of redundant packets (also called redundant coded data packets), it can be indicated in any of the following ways:
  • any of the above 5) to 8) can be combined with known parameters or semi-static parameters to obtain the number R of redundant encoded data packets included in the next encoding block, the number of system packets S, etc.
  • the feedback information is used to indicate the association depth D, it can be indicated in any of the following ways:
  • state 00 means that neither the system packet nor the encoded data packet is lost, and the corresponding association depth is 0;
  • state 11/01 means that the encoded data packet is lost, and the corresponding association depth is the value of the association depth of the previous data block + 1;
  • state 10 Indicates that only system packets are lost, and the corresponding association depth is 2.
  • any of the above 6) to 9) can be combined with known parameters or semi-static parameters to obtain the associated depth of the next encoded data block.
  • the number of new packets N is used for the scheme in which the total number of original data packets encoded each time is the same (that is, N+O is a fixed value).
  • the feedback information is used to indicate the number N of new packets involved in encoding in the next original data block, it can be indicated in any of the following ways:
  • the number N of new packets included in the next encoded data block can be obtained.
  • the decoding window status includes the length used by the decoding window and/or the remaining length of the decoding window (that is, the unused length), which is used to characterize the usage of the current decoding window, the currently used window length and the maximum window length (using W_max). Representation), or the remaining length of stay in an encoded packet window.
  • the state of the decoding window will affect the redundancy addition algorithm of the encoder, that is, under the relevant algorithm, the number of encoded data packets generated by the encoding of the next original data block in the convolutional network encoder at the transmitting end not only depends on the receiving end.
  • the number of missing packets in the current coded data block also depends on the used length of the decoding window or on the remaining length of a coded data packet in the window.
  • the receiving end can jointly decode the window state information when forming the feedback information, instead of directly feeding back the decoding window state information, that is, the number of redundant encoding packets or the total number of encoding packets in the feedback information is determined by considering the decoding The parameters formed by the redundant addition algorithm of the window state information.
  • the feedback information can be carried in multiple fields, as shown in FIG. 14 , which is a schematic diagram of the format of the feedback information.
  • Field 1 in the figure indicates the format sequence number, for example, there are 3 bits, and different sequence numbers indicate different schemes and/or situations.
  • One of the 3 bits is used to distinguish the non-systematic code scheme from the systematic code scheme, 1 bit is used to distinguish the two situations where the size of the original data block is the same and the size of the encoded data block is the same, and 1 bit is used to distinguish the consideration of decoding
  • a total of 8 schemes are obtained by combining the window state and the two situations without considering the decoding window state. They are described below.
  • the high-order 1 bit of this field is used to indicate the non-systematic coding scheme and the systematic coding scheme, wherein “0” represents the non-systematic coding scheme, and “1” represents the systematic coding plan.
  • the middle 1 bit of this field is used to distinguish two situations where the original data block size is the same and the encoded data block size is the same, where "0" indicates that the original data block size is the same, and "1” indicates that the encoded data block size is the same.
  • the low-order 1 bit of this field is used to distinguish two situations in which the decoding window state is considered and the decoding window state is not considered, wherein "0" indicates that the decoding window state is not considered, and "1" indicates that the decoding window state is considered. It should be noted that the meanings of the above “0” and “1” can also be used in reverse. In the subsequent description, the meanings of "0” and “1” are only used as examples.
  • Field 1 Format serial number (also called pattern number) 000, 3bit;
  • Field 2 The missing rank value of the current coded data block, or other information that can indirectly obtain the missing rank value, such as the rank value of the coded data block, from which the associated depth D and the number of redundant packets of the next block can be obtained R.
  • any form of the association depth D in the non-systematic code scheme can be used as field 2, and any form of the number of redundant packets R can be used as field 3.
  • the display indicates feedback information.
  • Field 2 The missing rank value of the current coded data block or other information that can indirectly obtain the missing rank value, such as the rank value of the coded data block, from which the association depth D can be obtained.
  • Field 3 Decoding window status, which represents the effect of the decoding window length on the number of encoded data packets.
  • the number of redundant packets R of the next encoded data block can be determined (both the sender and the receiver can be determined according to the algorithm) , when the receiving end executes the relevant algorithm to determine the number R of redundant packets to form a feedback message, then field 3 can be omitted; when the sender executes the relevant algorithm to determine the number R of redundant packets, then field 3 cannot be omitted).
  • field 2 can use any form in the association depth D in the non-systematic code scheme
  • field 3 can use any form in 1) and 2) of the number of redundant packets R.
  • the display indicates Feedback.
  • Field 1 pattern number 010, 3bit
  • Field 2 The missing rank value of the current coded data block or other information that can indirectly derive the missing rank value, such as the rank value of the coded data block.
  • any form of the association depth D of the next original data block in the non-systematic code scheme can be used as field 2
  • the number of redundant packets R of the next encoded data block can be used as field 3
  • the number of new packets is N.
  • Any one of the forms as field 4 by combining, displays the feedback information.
  • Field 2 The missing rank value of the current coded data block or other information that can indirectly derive the missing rank value information, such as the rank value of the coded data block.
  • the association depth D (the number of old packets 0) can be obtained.
  • Field 3 Decoding window status, which represents the influence of the decoding window length on the number of encoded data packets, combined with field 2 to determine the number of new packets N of the next original data block and the number of redundant packets of the next encoded data block R (both the sender and the receiver can be determined according to the algorithm).
  • any form of the association depth D of the next original data block in the non-systematic code scheme can be used as field 2
  • any form of the number N of new packets can be used as field 3
  • the next encoded data block can be used as field 3.
  • the number R of redundant packets is used as field 4, and by combining, it is displayed to indicate feedback information.
  • Feedback format 1_0_0 The system code scheme, the size of the original data block is the same, and the decoding window state is not considered (among them, the number of new packets participating in the encoding is N semi-static configuration)
  • Field 1 pattern number 100, 3bit
  • Field 2 Indicates the correct number of system packets S or the number of incorrect system packets S' of the current data block;
  • Field 3 Indicates the number P of correct encoded data packets or the number of incorrect encoded data packets P' of the current data block.
  • Field 2 and field 3 can be combined with the semi-static configuration information to obtain the association depth D and the number R of redundant packets in the next block.
  • any form of the association depth D in the systematic code scheme can be used as field 2
  • any form of the number of redundant packets R can be used as field 3
  • the feedback information is displayed.
  • Feedback format 1_0_1 The system code scheme, the original data block size is the same, and the decoding window state is considered (among them, the number of new packets participating in the encoding is N semi-static configuration)
  • Field 1 pattern number 101, 3bit
  • Field 2 Indicates the correct number of system packets S or the number of incorrect system packets S' of the current data block;
  • Field 3 Indicates the correct number of coded packets P or the number of erroneous coded packets P' of the current data block;
  • the association depth D can be obtained by combining field 2 and field 3 with the semi-static configuration information
  • Field 4 Decoding window status, which represents the effect of the decoding window length on the number of encoded data packets. Combining field 2 and field 3, the number of redundant packets R in the next block can be determined (both the sender and receiver can use the algorithm according to the Sure).
  • any form of the association depth D in the systematic code scheme can be used as field 2
  • any form of the number of redundant packets R can be used as field 3
  • the feedback information is displayed.
  • Feedback format 1_1_0 The system code scheme, the size of the encoded data block is the same, and the decoding window state is not considered (among them, N+O semi-static configuration)
  • Field 1 pattern number 110, 3bit;
  • Field 2 Indicates the correct number of system packets S or the number of incorrect system packets S' of the current data block;
  • Field 3 Indicates the number P of correct encoded data packets or the number of incorrect encoded data packets P' of the current data block.
  • Field 2 and field 3 can be combined with semi-static configuration information to obtain the association depth D, the number of new packets N of the next original data block (equal to the number of correctly received encoded data packets) and the number of redundant packets R (equal to the number of wrongly encoded packets) number of packets);
  • any form of the association depth D of the next original data block in the system code scheme can be used as field 2
  • any form of the number N of new packets can be used as field 3
  • the number of redundant packets R can be used as field 3.
  • Field 4 by combining, displays the feedback information.
  • Field 1 pattern number 111, 3bit
  • Field 2 Indicates the correct number of system packets S or the number of incorrect system packets S' of the current data block;
  • Field 3 Indicates the correct number of coded packets P or the number of erroneous coded packets P' of the current data block;
  • the association depth D can be obtained by combining field 2 and field 3 with the semi-static configuration information.
  • Field 4 Decoding window status, which represents the effect of the decoding window length on the number of encoded data packets. Combining field 2 and field 3, the number of redundant packets R in the next block can be determined (both the sender and receiver can use the algorithm according to the OK) and the number of new packets N of the next original data block.
  • any form of the association depth D of the next original data block in the system code scheme can be used as field 2
  • any form of the number N of new packets can be used as field 3
  • the number of redundant packets R can be used as field 3.
  • Field 4 by combining, displays the feedback information.
  • the beneficial effects of the second embodiment above are as follows: the content and possible formats of the feedback information of the receiving end are designed, the receiving end can send different feedback information formats, and the transmitting end obtains different network coding schemes and parameter settings. Further, the transmitting end reasonably configures encoding parameters according to the feedback information and requirements, and performs network encoding on some or all of the data packets in the next original data block and several previous original data blocks to generate encoded data packets. It can effectively ensure the effectiveness of the network coding scheme and the improvement of system performance.
  • the third embodiment is used to provide the bearing method for the above feedback information, that is, in what manner to send the feedback information to the transmitting end.
  • the feedback information may be sent through a message at the MAC layer or above (including but not limited to the PDCP layer, the RLC layer, etc.). Or define a new network coding layer separately, and then use the message of the new network coding layer as the bearer of the feedback information.
  • the feedback information given in the second embodiment can be understood as the data of the feedback message.
  • the feedback message also needs header information. That is, the receiving end sends a feedback message to the transmitting end, and the feedback message carries a message header and data, and the data carries the feedback information.
  • the header indication field is used to indicate that the current data packet is the feedback information of network coding.
  • the data block number is used to indicate the encoded data block corresponding to the feedback information.
  • the process ID is used to indicate the sender process ID corresponding to the feedback information (used in the multi-process feedback scheme, this field information is optional, and the sender process ID can also be calculated from the data block ID combined with the semi-static information).
  • the feedback message may be carried by a protocol data unit (protocol data unit, PDU) generated by the PDCP layer.
  • PDU protocol data unit
  • FIG. 15 it is a schematic diagram of the PDCP layer bearing of the feedback message.
  • the left side is the PDCP data format, including the PDCP header and the PDCP data, wherein the PDCP header includes the header information fields 1), 2), and 3) mentioned above, and the field Others represents other field information.
  • the feedback message may be carried by a PDU generated by the RLC layer.
  • FIG. 16 it is a schematic diagram of the RLC layer bearing of the feedback message.
  • it is necessary to The header information fields 2) and 3) are added, and the field Others indicates the remaining field information of the RLC layer packet header.
  • Corresponding to the RLC header is the RLC layer data, including the data (which carries the feedback information) and the PDU packet of the PDCP layer.
  • the feedback information may be carried by a PDU generated by the MAC layer.
  • FIG. 17 it is a schematic diagram of the MAC layer bearing of the feedback message.
  • the header information of the MAC layer PDU implements the functions of the above three fields by adding fields 1) to 3).
  • the MAC layer PDU data includes data (which carries feedback information) and PDU data from the RLC layer.
  • Another feasible bearer method is to use control information for bearer. Specifically, on the protocol layer corresponding to the network coding at the receiving end, a feedback message is generated by operations such as decoding, and the feedback message is transmitted to the physical layer in the form of PDU, and finally the uplink control information (UCI) or Downlink control information (DCI) is carried and transmitted to the sender.
  • UCI uplink control information
  • DCI Downlink control information
  • new fields can be added or existing fields can be multiplexed in UCI or DCI to carry the above fields 1) to 3) and data (which carry feedback information).
  • the beneficial effects of the third embodiment are as follows: feedback information can be provided more flexibly, and the existing PDCP, RLC, and MAC layers can provide PDUs corresponding to the feedback information, and only need to make appropriate adjustments on the existing protocol layer PDUs, which is convenient and fast. For the method carried by the physical layer UCI or DCI, the reliability of the feedback information can be better guaranteed.
  • Embodiment 4 provides the design of the control message at the sending end.
  • the sending end jointly determines the coding parameters of the next original data block through the feedback information of the receiving end and other information such as (channel conditions, etc.) Joint encoding with some or all of the data packets of several previous original data blocks. Since the factors affecting the encoding decision of the transmitting end may not be limited to the feedback information of the receiving end, the parameters encoded by the transmitting end may or may not be consistent with the parameters provided by the feedback information.
  • the header of the encoded data packet carries a control message indicating the corresponding encoding parameter, so that the receiving end can perform operations such as decoding according to the encoding parameter.
  • different encoding schemes may correspond to different feedback information formats, and may correspond to different encoded data packet header information.
  • the sender determines the encoding scheme of the next original data packet according to the received feedback information and other system information, and adds a corresponding control message to the packet header of the encoded data packet.
  • FIG. 18 it is a schematic diagram of the header information field of the sender.
  • the header of a coded data packet at the sending end includes a data block ID field, a coefficient field (which may be a coded coefficient field or a coefficient indication information field), a correlation depth (D) field, a data block packet number (N) field, and the like.
  • the representation method of the associated depth field may partially refer to the non-systematic coding scheme or the associated depth representation form of the systematic coding scheme in the second embodiment.
  • the specific representation is as follows: the coefficient field may indicate the coefficient value, or configure the coefficient value in a semi-static manner.
  • the following describes the association depth field and the number of packets (N) fields of the data block.
  • the feedback formats 0_0_0 and 0_0_1 belong to the case where the number of packets (N value) of the next original data block is fixed.
  • the packet count field of the data block is not needed because it is already semi-statically configured.
  • bitmap (L) In combination with the size of the data block, the channel condition, the encoding window length, and the feasibility of the solution;
  • the feedback formats are 0_1_0 and 0_1_1, and the number of encoded packets C of the next encoded data block is a fixed value.
  • N can be deduced according to the semi-static information C, optionally, the information of the N field of the number of new packets can also be displayed explicitly, or the information of the N field of the number of new packets can be not carried.
  • the sum of the number N of new packets and the number O of old packets that belong to the next encoded data block is fixed (N+O is a fixed value), the number of packets (N) field of the original data block and the associated depth (D) field You can choose one of two.
  • the associated depth field D in the header information of the sender is equal to the number of data packets contained in the previous data block (the number of old packets is O), and it can also be implied in the number of new packets N participating in the encoding of the next data block, which can be any of the following options:
  • bitmap (L) In combination with the size of the data block, the channel condition, the encoding window length, and the feasibility of the solution;
  • the N field of the number of new packets that the next data block participates in encoding may specifically be any of the following schemes:
  • bitmap indicating the number N of new packets currently participating in coding.
  • the bitmap needs to give a fixed number of bits (with L representing the maximum value) in combination with the size of the data block, the channel condition, the coding window length, and the feasibility of the scheme.
  • the header information of the sender needs to carry the associated depth field D (equal to the number of data packets contained in the previous data block) and the number of new packets N fields involved in the encoding of the next data block.
  • the associated depth field D field can be any of the following: One option:
  • bitmap indicating the number N of new packets currently participating in encoding.
  • the bitmap needs to give a fixed number of bits in combination with the size of the data block, the channel condition, the encoding window length, and the feasibility of the solution (L represents the maximum value);
  • the feedback formats 1_0_0 and 1_0_1 belong to the case where the number of packets (N value) of the next original data block is fixed.
  • the packet count field of the data block is not needed because it is already semi-statically configured.
  • bitmap (L) In combination with the size of the data block, the channel condition, the encoding window length, and the feasibility of the solution;
  • the number C of encoded packets of the next encoded data block is a fixed value. It is necessary to indicate the associated depth field D and the N field of the number of new packets that the next data block participates in encoding, and there is no direct relationship between the two.
  • the associated depth field D in the header information of the sender is not equal to the number of data packets contained in the previous data block (the number of old packets is 0), which may be any of the following schemes:
  • bitmap (L) In combination with the size of the data block, the channel condition, the encoding window length, and the feasibility of the solution;
  • bitmap indicating the number N of new packets currently participating in encoding.
  • the bitmap needs to give a fixed number of bits (denoted by C) in combination with the size of the data block, the channel condition, the encoding window length, and the feasibility of the solution;
  • the indication information of the coding coefficients can be carried in the header of the coded data packet. Combined with the correlation depth and the number of redundant packets determined by the feedback information, the original data packet information of the coded data packet and the coefficient corresponding to the original data packet information can be indicated.
  • a semi-static codebook may also be configured and the coding coefficients may be indicated in the semi-static codebook through codebook indication information.
  • the codebook can be a local codebook or a global codebook.
  • the advantage of the local codebook is that the range of the GF domain is small, and the number of packets involved in coding (ie, the dimension of a coefficient vector) is usually much smaller than the range of the largest coding window.
  • the position and number of the original data packets to be encoded are located with reference to the information, and the decoder at the receiving end needs to equivalently form a global decoding coefficient matrix for decoding according to the above information.
  • the global codebook defines a global coefficient matrix with a coding coefficient vector dimension equal to the maximum coding window length of the sender.
  • the value of the value so that the coding coefficients in the codebook can be used cyclically to ensure that all the coded data packets in the decoding window are linearly independent, and the decoding validity is guaranteed, but the disadvantage is that the size of the GF field needs to be considered larger, and the coding and decoding The computational complexity of the process will be higher.
  • the local codebook and the global codebook are respectively described below.
  • the local codebook is a matrix with k rows and n columns (k*n), the codebook contains n coefficient vectors (n columns, which can be used to generate n encoded data packets at most), and the maximum dimension of each coefficient vector is k (that is, it can be used to encode at most k original data packets), and the n coefficient vectors are linearly independent of each other, and the corresponding codebook coefficients that satisfy the characteristics of linear independence include but are not limited to Vandermonde matrix or Cauchy matrix Wait.
  • the values of k and n of the local codebook are smaller or much smaller than the size of the coding window.
  • a general local codebook can be defined or configured, from which the encoding process of the encoder at the transmitting end can select a sub-matrix as the encoding coefficient matrix (also referred to as the encoding kernel matrix) of an original data block, which can be determined according to submatrix to complete the encoding of each encoded data block step by step.
  • a sub-matrix as the encoding coefficient matrix (also referred to as the encoding kernel matrix) of an original data block, which can be determined according to submatrix to complete the encoding of each encoded data block step by step.
  • Submatrix 1, Submatrix 2, or Submatrix 3 can be selected. Here, you can also choose a smaller codebook to ensure that it can meet the needs of encoding.
  • the subsequent encoding generator matrix is based on this
  • the default coefficient of the system package is 1, and the other coefficients are 0. There is no need to use a local codebook.
  • the local code can be used according to the aforementioned content according to the number of encoded data packets required. Book.
  • the global codebook needs to consider the length limitations of the encoder at the sender and the decoder at the receiver. Usually, in order to ensure the decoding capability of the receiver, the length of the coding window of the sender needs to meet the following conditions: the length of the coding window L of the sender is less than or equal to The receiver decoding window length Length_Wind_Decoder. Correspondingly, the length of the coding and decoding window determines the size of the codebook and the size of the corresponding GF field. As shown in FIG. 22 , it is a schematic diagram of the global codebook.
  • the global codebook is a matrix with K rows and N columns (that is, K*N).
  • the codebook contains N coefficient vectors (N columns, which can be used to generate N encoded data packets at most), and the maximum dimension of each coefficient vector. is K (that is, it can be used to encode at most K original data packets), and the N coefficient vectors are linearly independent in pairs, and the corresponding codebook coefficients that satisfy the characteristics of linear independence include but are not limited to Vandermonde matrix or Cauchy matrix, etc.
  • K in the global codebook is greater than or equal to the maximum window length L of the encoder at the sending end, and the value of N is greater than or equal to the maximum window length Length_Wind_Decoder of the decoder at the receiving end.
  • the GF domain value can be selected according to max ⁇ K,N ⁇ , that is, for GF(2 q ), 2 q ⁇ max ⁇ K,N ⁇ .
  • the coded data packet carries packet header information
  • the packet header information carries the indication information of the codebook.
  • the indication information of the row codebook includes coefficients in the starting position Para_start of the codebook, the ending position Para_end, and the number of coefficients Para_length any two pieces of information. When the number of coefficients Para_length is semi-statically configured, only the starting position Para_start or the ending position Para_end of the codebook is required.
  • the encoder at the transmitting end encodes the original data, and sequentially selects the encoding coefficients from the global codebook in a circular manner.
  • the first coded data packet in the initial stage corresponds to the first group of coding coefficients of the global codebook, and the coding coefficients of the subsequent coded data packets are sequentially selected from the global codebook in a circular manner.
  • FIG. 23 a schematic diagram of global codebook selection is shown.
  • the first encoding Encode 3 new packets to generate 3 encoded data packets, and select coefficient sub-matrix 1 from the global codebook.
  • the second encoding encoding 3 new packets and 1 old packet to generate 4 encoded data packets, and considering that the correlation depth is 1, therefore, the coefficient sub-matrix 2 is selected from the global codebook.
  • the third encoding encode 3 new packets and 2 old packets to generate 5 encoded data packets, select coefficient sub-matrix 3 from the global codebook, and so on.
  • the encoding generates 3 coded data packets.
  • the first encoding Encode 3 new packets to generate 3 encoded data packets, and select coefficient sub-matrix 1 from the global codebook.
  • Second encoding Encode 2 new packets and 1 old packet to generate 3 encoded data packets, and select coefficient sub-matrix 2 from the global codebook.
  • Third encoding Encode 1 new packet and 2 old packets to generate 3 encoded packets.
  • the transmitting end As the encoded data block of the transmitting end enters the window, there will also be a decoder window at the receiving end. If the receiving end successfully decodes the current and previous encoded data blocks, the windowing operation is performed on the encoded data blocks in the decoding window (such as Clear the decoding window), and feedback the decoding situation to the sender. Then, the transmitting end determines the successfully decoded coded data block, moves the successfully decoded data block and the data block before the coded data block out of the coding window, and then can reuse the global codebook. When the encoded data block in the window has not been successfully decoded after the encoding window is full, before the next encoded data block enters the window, if the size of the encoding window is fixed, an old encoded data block may exit the window.
  • the decoding window such as Clear the decoding window
  • the default coefficient of the system package is 1, and the other coefficients are 0. There is no need to use the global codebook.
  • the global codebook can be used according to the aforementioned content according to the number of encoded data packets required.
  • the control message of the sender is completely designed.
  • the control message carried in the header of each coded data packet can indicate the coding decision determined by the sender according to the feedback information of the receiver and other system information, which is embodied as coding parameters. Due to the influence of other system information, the coding parameters of the packet header and the coding parameters corresponding to the feedback information of the receiving end are not always consistent. Therefore, by identifying the header control message of the encoded data packet, the receiving end can obtain specific encoding parameters including the association depth D, the number of redundant packets R, the number of new packets N, and the corresponding encoding coefficient matrix, etc.
  • the terminal can accurately identify the encoding parameters and the corresponding encoded data, so as to achieve accurate decoding.
  • the semi-static local and global codebook scheme and the corresponding design of the indication information are given, which reduces the overhead caused by the random coefficient carrying in the packet header, ensures the reduction of the complexity of the GF domain operation, and ensures a coded data block.
  • the coded packets are linearly independent between coded packets within and between coded data blocks.
  • Embodiment 5 provides an encoding scheme by combining the erasure situation in the transmission process of the encoded data packet (which can also be understood as data packet loss), the decoding of the receiving end, and the feedback information of the receiving end, including the design under systematic codes and non-systematic codes. scheme, and made different designs according to different parameter configurations.
  • FIG. 24 it is a schematic diagram of the flow chart of the sending end of the feedback-based coding scheme.
  • Step 2401 the transmitting end determines the type of encoding scheme and initializes encoding parameters in the initialization phase.
  • the coding scheme includes a systematic code scheme and a non-systematic code scheme.
  • the initial encoding parameters include the association depth D, the number R of redundant encoded data packets, the number N of new original data packets in the original data block, and the encoding coefficients (which can be randomly generated or selected from the codebook).
  • Step 2402 the transmitting end performs encoding according to the encoding parameters, generates an encoded data packet, and sends it.
  • the parameters that can be semi-statically configured here are: the total number of original data packets to be encoded (including the sum of the original data packets of the new original data block and the original data packets of several old original data blocks), the association depth D, The number N of original data packets (that is, new packets) of the new original data block, and the number R of redundant encoded data packets.
  • the sender first encodes the original data according to the scheme type, semi-static parameter configuration and initial parameter configuration, generates an encoded data packet (including adding packet header information), and sends the encoded data packet.
  • Step 2403 the sending end receives the feedback information and other system information.
  • system information here includes, but is not limited to: channel state information, other indications or system information affecting coding parameters, and the like.
  • Step 2404 The sender determines whether the feedback information includes decoding success information.
  • step 2405 If yes, go to step 2405, if no, go to step 2406.
  • Step 2405 the sender removes the successfully decoded original data from the encoder.
  • the sender When the sender receives the feedback information from the receiver, it needs to determine whether the decoding is successful according to the feedback information. If the decoding is successful, the encoder at the sender clears the original data packet, otherwise, no operation is performed. Due to the limited size of the convolutional network encoder, if the convolutional network encoder is full, one unit of old data is cleaned out of the convolutional network encoder, and one unit of new data is put into the convolutional network encoder.
  • Step 2406 the transmitting end determines the encoding parameters for the next encoding according to the feedback information and other system information.
  • the sender determines the encoding parameters for the next encoding according to the scheme type, semi-static parameter configuration, and in combination with feedback information and other system information.
  • the encoding parameter here may be the same as the encoding parameter indicated by the feedback information, or the encoding parameter may be updated according to other system information on the basis of the feedback information.
  • the determined encoding parameters of the next encoding need to be carried in the packet header of the encoded data packet generated by the next encoding to ensure that the convolutional network decoder at the receiving end can correctly identify the relevant parameter information, and then accurately decode.
  • G 0 , G 1 , G 2 , G 3 , and G 4 are coding coefficients.
  • the dots in G 0 represent the coding coefficients of the new packet
  • the dots in G 1 , G 2 , G 3 , G 4 represent the coding coefficients of the old packets
  • the black dots represent the coefficients of the non-redundant coded data packets
  • the dots represent the coefficients of redundant coded data packets
  • the blank positions always represent the coefficients as 0, and the values represented by the dots can also be 0.
  • the total number of data packets of each encoded data block is a fixed value.
  • the influence of the decoding window and the corresponding algorithm are not considered, it is equivalent to the total number of original data packets to be encoded. value (N+O semi-static configuration).
  • FIG. 25 it is a schematic diagram of an adaptive non-systematic code scheme based on feedback.
  • the left side B i in the figure represents the original data block of the sender, each original data block contains several original data packets, and a i represents the original data packet.
  • each coded data block contains several coded data packets, and the number of coded data packets of each coded data block is the same, which is 4, that is, each time is equivalent to
  • the encoding coefficient matrix is always a 4*4 matrix.
  • the dots in G 0 represent the coding coefficients of the new packet
  • the dots in G 1 represent the coding coefficients of the old packet
  • the white dots in G 0 and G 1 represent the coefficients of the redundant coded data packets.
  • the encoded data packets are denoted ci and the redundant packets are denoted pi .
  • the coding coefficients here can be random coefficients, or a semi-static coefficient codebook can be considered. If a local codebook is selected, a 4*4 linearly independent codebook can be selected. If you choose a global codebook, you need to consider a Q*Q codebook, Q ⁇ max(K,N), where K, N are the length of the convolutional network encoder at the sender and the length of the convolutional network decoder at the receiver For details, refer to Embodiment 4 above for details.
  • a 1 to a 4 of the original data block B 1 are encoded to generate c 1 to c 4 of B 1 ', and c 2 is erased (corresponding to the coefficient column label " ⁇ "), and the receiving end cannot successfully decode it , and then generate feedback information, where the parameters related to the feedback information can be represented as the information in the foregoing second embodiment, such as a rank value, and then send the feedback information to the sender.
  • the generator matrix is composed of encoding kernel matrices G 0 and G 1 , where G 0 is a 3*4 matrix, and G 1 is a 1*4 matrix, which can correspond to any original data packet in B 1 .
  • G 0 is a 3*4 matrix
  • G 1 is a 1*4 matrix, which can correspond to any original data packet in B 1 .
  • the corresponding algorithm can be considered at the sending end or at the receiving end.
  • the sending end needs to feed back information carrying the parameters of the window length usage.
  • the relevant algorithm is executed to add additional redundancy, and the receiving end directly executes the relevant algorithm and sends
  • the result is converted into other parameters, such as the number of redundant data packets, and the feedback information does not need to carry the decoder window length parameter separately.
  • the state feedback of the decoder is not considered.
  • the original data block B 3 contains a 8 and a 9 , which are the same as B 2 a 6 and a 7 in the joint code.
  • the transmitting end participates in encoding the original data packet in the original data block B5
  • the receiving end receives c 13 to c 15 in the corresponding encoded data block B' 5 and the redundant packet p 5 is successfully decoded
  • All the original data packets in the original data blocks B 1 to B 5 are successfully decoded.
  • the receiving end moves the transmitting ends B' 1 to B' 5 of the encoded data blocks out of the decoder window.
  • the transmitting end moves the original data packets of the original data blocks B 1 to B 5 out of the encoder window according to the feedback information of the receiving end.
  • the number of packets N of the current original data block is a fixed value (the number of new packets N is semi-statically configured).
  • FIG. 26 it is a schematic diagram of an adaptive non-systematic code scheme based on feedback.
  • the number of new packets of the original data block of the sender is the same, that is, N is a fixed value.
  • Scheme 2 is consistent with Scheme 1 as a whole, except that the number of new packets N of the original data block of the sender is semi-statically configured to be 3, and the value of N+O will also change accordingly according to the change of the association depth. According to the erasure of the encoded data packets, the number R of redundant packets will also be adjusted accordingly.
  • the original data packet of the original data block B3 and the original data packet a6 of the original data block B2 are jointly encoded to generate encoded data Block B'3 , in which encoded packets c8 and c9 are erased.
  • the corresponding algorithm can be considered at the sending end or at the receiving end. The sending end needs to feed back information carrying the parameters of the window length usage. On this basis, the relevant algorithm is executed to add additional redundancy, and the receiving end directly executes the relevant algorithm and sends The result is converted into other parameters, such as the number of redundant data packets, and the feedback information does not need to carry the decoder window length parameter separately. The influence of the state of the decoding window is considered here.
  • the simplified algorithm here is to add an extra redundant packet at the end of the window, that is, to encode the four original data packets a 12 to a 15 of B 4 to B 5 to generate five encoded packets.
  • an additional redundant packet p 6 is generated according to the decoding window correlation algorithm f, which can ensure correct decoding even when a data packet is lost in the last encoded data block.
  • the number N of the original data packets of the current original data block is a fixed value
  • the coded redundancy packet R is a fixed value (the N value and the R value are semi-statically configured).
  • FIG. 27 it is a schematic diagram of a feedback-based average redundancy non-systematic code scheme.
  • the coefficient indication information is carried in the header of the encoded data packet.
  • the encoded data packets c 2 and c 3 are erased (corresponding coefficient columns marked "x").
  • the receiving end After receiving the encoded data packet, the receiving end performs related operations such as decoding, and generates feedback information, where the parameters related to the feedback information can be represented as rank values, or the information described in the foregoing embodiments, and send the feedback information to the transmitting end.
  • the sender determines the association depth according to the parameters of the feedback information. Since the number of redundant packets is semi-statically configured, no adjustment is required.
  • the generating matrix is composed of the encoding kernel matrices G 0 and G 1 , where G 0 is a 3 *4 matrix, G 1 is a 1*4 matrix.
  • the sender determines that the association depth is 1 data packet according to the feedback, and so on, until the encoded data block B' 5 is received, and is decoded jointly by B' 1 to B' 5 , the decoding is successful, and the decoding window of the receiver is cleared. (B' 1 to B' 5 are out of the window), and the decoding information is fed back. The original data blocks B 1 to B 5 of the sender are out of the window (the sender's coding window is cleared). Subsequent operations are analogous. On the other hand, if the decoding fails, it will be fed back to the sender.
  • the sender encoder B 1 is out of the window, B 6 is in the window and encoded and sent, and the receiver decoder B' 1 is out of the window and received B' 6 and into the window for decoding. operation, and so on.
  • the number R of redundant packets in the current coded data block is semi-statically configured by the system information, that is, the average redundancy.
  • the relevant algorithm is executed to add additional redundancy, and the receiving end directly executes the relevant algorithm and sends
  • the result is converted into other parameters, such as the number of redundant data packets, and the feedback information does not need to carry the decoder window length parameter separately.
  • the number N of new packets of the current original data block is a fixed value (the number of new packets N is semi-statically configured), and the depth of association is adaptive.
  • FIG. 28 it is a schematic diagram of a feedback-based systematic code scheme.
  • the number N of new packets of the current original data block is a fixed value (semi-static configuration).
  • the present systematic code scheme needs to feed back the case of the systematic code and redundant coded data packets respectively.
  • the association depth corresponding to the erasure of the system packet and the encoded data packet is adjusted differently.
  • the receiving end When the encoded data packet is erased, the associated depth D in the next encoding is equal to the associated depth in the previous encoding + 1.
  • the receiving end generates feedback information according to the system code scheme in the second embodiment, respectively indicating the situation of the system packet and the situation of the encoded data packet .
  • the foregoing scheme only selects the largest association depth, which can reduce header overhead.
  • the window operation needs to be performed on the earliest encoded data block in the decoding window before the new encoded data block enters the decoding window.
  • the data of a 1 to a 3 included in ' 1 are still included in B' 2 and B' 3 , but not included in B' 4. Therefore, windowing is performed on B' 1 and B' 2 , and B' 3 only considers In the system package part, the decoding operation is performed together with the subsequent encoded data blocks and the newly entered encoded data blocks.
  • the related encoded data blocks can be directly performed on the receiving end decoder.
  • a judgment algorithm for fast windowing Another optional solution is to perform windowing only on one encoded data block B' 1.
  • Blocks perform windowing operations, and new encoded data blocks enter the window. It should be noted that, when the encoded data of the decoder of the receiving end is out of the window, the transmitting end will also perform the windowing operation of the old original data synchronously according to the feedback information of the receiving end. In other words, for the encoded data block that is windowed at the receiving end, the relevant original data block at the transmitting end will also perform the relevant windowing operation, that is, the encoding process will not include encoding of the relevant original data block.
  • the above-mentioned second optional solution increases the probability of successful decoding compared with the first optional solution, but the decoding delay of the corresponding encoded data block increases.
  • the corresponding algorithm can be considered at the sending end or at the receiving end. The sending end needs to feed back information carrying the parameters of the window length usage. On this basis, the relevant algorithm is executed to add additional redundancy, and the receiving end directly executes the relevant algorithm and sends The result is converted into other parameters, such as the number of redundant data packets, and the feedback information does not need to carry the decoder window length parameter separately. In this way, by combining the decoding window state and adding redundant coded data packets at the end of the window, the current decoding capability can be improved and the delay overhead of successful decoding of the coded data can be reduced.
  • the number N of original data packets of the current data block is a fixed value (the number of new packets N is semi-statically configured), and the association depth is fixed to a maximum value.
  • the receiving end will send the feedback information to the transmitting end, and the transmitting end similarly performs the encoding window operation on the original data block B1, or when the encoding window length of the transmitting end is longer than the decoding window length of the receiving end (the encoding window of the transmitting end is not full, No windowing operation is performed), and the original data block B 1 also needs to be excluded during encoding.
  • the encoded data packets in 6 are generated by encoding the original data packets of the original data blocks B 2 to B 6 .
  • the corresponding algorithm can be considered at the sending end or at the receiving end. The sending end needs to feed back information carrying the parameters of the window length usage. On this basis, the relevant algorithm is executed to add additional redundancy, and the receiving end directly executes the relevant algorithm and sends The result is converted into other parameters, such as the number of redundant data packets, and the feedback information does not need to carry the decoder window length parameter separately.
  • FIG. 30 it is a schematic diagram of a feedback-based systematic code scheme.
  • This scheme is similar to scheme 4, the difference is that the number of data packets of each original data block is changed, and the number of data packets of each encoded data block is a fixed value, when the influence of the decoding window state on redundant data packets is not considered is equal to the sum of the number of erroneous coded data packets in the previous coded data block and the number of system packets in the current coded data block as a fixed value.
  • the corresponding algorithm can be considered at the sending end or at the receiving end.
  • the sending end needs to feed back information carrying the parameters of the window length usage.
  • the relevant algorithm is executed to add additional redundancy, and the receiving end directly executes the relevant algorithm and sends
  • the result is converted into other parameters, such as the number of redundant data packets, and the feedback information does not need to carry the decoder window length parameter separately.
  • Six coding schemes of adaptive network coding based on feedback are given from the two categories of systematic codes and non-systematic codes, which generally improve the decoding performance of the receiving end and make the original data packets more likely to be decoded
  • the code is correct, while reducing the redundancy overhead and improving the throughput and other performance.
  • the systematic code has a shorter time delay, but the associated depth of the encoding is in units of data blocks, that is, the association depth is longer, and the corresponding storage overhead is larger.
  • the non-systematic code has a small association depth and a lower storage cost, but since the coding coefficient matrix is not as sparse as the systematic code scheme, the coding and decoding are more complicated and the computational cost is high.
  • the communication apparatus 3100 includes a transceiver unit 3110 and a processing unit 3120 .
  • the transceiver unit 3110 is configured to send first encoded data to a first communication device; receive indication information from the first communication device; and send second encoded data to the first communication device.
  • the processing unit 3120 is configured to encode the first original data to obtain the first encoded data; obtain second original data and encoding bit rate information according to the indication information, where the second original data includes part or all of the first encoded data. an original data; according to the encoding rate information, jointly encoding the third original data and the second original data to obtain the second encoded data, the third original data does not include the first original data .
  • the second original data includes one or more first original data packets in the first original data, and the indication information indicates the number of the first original data packets;
  • the processing Unit 3120 configured to acquire the second original data according to the indication information, specifically includes: to acquire the second original data according to the number of the first original data packets.
  • the second original data includes one or more first original data blocks in the first original data, and the indication information indicates the number of the first original data blocks;
  • the processing The unit 3120 configured to acquire the second original data according to the indication information, specifically includes: to acquire the second original data according to the number of the first original data blocks.
  • the indication information indicates a rank corresponding to the first encoded data
  • the second original data includes one or more first original data packets in the first original data
  • the processing A unit 3120 configured to acquire the second original data according to the indication information, specifically includes: determining the number of the first original data packets according to the rank corresponding to the first encoded data; The number of the first original data packets, and the second original data is obtained.
  • the indication information indicates a rank corresponding to the first encoded data
  • the second original data includes one or more first original data blocks in the first original data
  • the processing A unit 3120 configured to acquire the second original data according to the indication information, specifically includes: determining the number of the first original data blocks according to the rank corresponding to the first encoded data; The number of first original data blocks, and the second original data is obtained.
  • the indication information indicates the system data packet reception situation and the redundant data packet reception situation corresponding to the first encoded data
  • the second original data includes one of the first original data or a plurality of first original data packets
  • the processing unit 3120 is configured to acquire the second original data according to the indication information, specifically including: for receiving the system data packets corresponding to the first encoded data and redundancy The number of the first original data packets is determined according to the receiving conditions of the remaining data packets; and the number of the second original data is obtained according to the number of the first original data packets.
  • the indication information indicates the system data packet reception situation and the redundant data packet reception situation corresponding to the first encoded data
  • the second original data includes one of the first original data or a plurality of first original data blocks
  • the processing unit 3120 is configured to acquire the second original data according to the indication information, specifically including: for receiving the system data packets corresponding to the first encoded data and redundancy
  • the number of the first original data blocks is determined according to the reception situation of the remaining data packets; the number of the first original data blocks is used to obtain the second original data according to the number of the first original data blocks.
  • the indication information indicates the encoded first association depth; the second original data includes one or more first original data packets in the first original data; the processing unit 3120, Obtaining the second original data according to the indication information specifically includes: determining the number of the first original data packets according to the first association depth; quantity, and obtain the second original data.
  • the indication information indicates the encoded first associated depth; the second original data includes one or more first original data blocks in the first original data; the processing unit 3120, Obtaining the second original data according to the indication information specifically includes: determining the number of the first original data blocks according to the first association depth; quantity, and obtain the second original data.
  • the encoding rate information indicates the number of redundant data packets corresponding to the second encoded data, the number of encoded data packets corresponding to the second encoded data, or the second encoding The encoding bit rate corresponding to the data.
  • the indication information indicates a rank corresponding to the first encoded data
  • the processing unit 3120 is configured to acquire encoding bit rate information according to the indication information, specifically including: for The rank corresponding to the first encoded data is used to determine the number of redundant data packets corresponding to the second encoded data; the number of redundant data packets corresponding to the second encoded data is used to determine the encoding code rate.
  • the processing unit 3120 configured to obtain the encoding bit rate information according to the indication information, specifically includes: determining the second encoding according to the rank corresponding to the first encoded data The number of redundant data packets corresponding to the data; used for determining the encoding code rate according to the number of redundant data packets corresponding to the second encoded data.
  • the indication information indicates the system data packet reception situation and the redundant data packet reception situation corresponding to the first encoded data; the processing unit 3120 is configured to obtain the encoding according to the indication information
  • the code rate information specifically includes: for determining the number of redundant data packets corresponding to the second encoded data according to the system data packet reception situation and the redundant data packet reception situation corresponding to the first encoded data; for determining the number of redundant data packets corresponding to the second encoded data; The number of redundant data packets corresponding to the second encoded data determines the encoding rate.
  • the processing unit 3120 configured to obtain the coding rate information according to the indication information, specifically includes: according to the system data packet reception situation and redundancy corresponding to the first coded data The data packet reception status is used to determine the number of redundant data packets corresponding to the second encoded data; and is used to determine the encoding code rate according to the number of redundant data packets corresponding to the second encoded data.
  • the indication information indicates one or more of the following:
  • the second encoded data includes header information, and the header information indicates the second association depth.
  • the header information further indicates one or more of the following:
  • the above-mentioned communication device may further include a storage unit, which is used to store data or instructions (also referred to as codes or programs), and each of the above-mentioned units may interact or be coupled with the storage unit to implement corresponding methods or functions.
  • the processing unit 3120 may read data or instructions in the storage unit, so that the communication apparatus implements the methods in the above embodiments.
  • each unit in the above communication apparatus can all be implemented in the form of software calling through the processing element; also can all be implemented in the form of hardware; some units can also be implemented in the form of software calling through the processing element, and some units can be implemented in the form of hardware.
  • each unit can be a separately established processing element, or can be integrated in a certain chip of the communication device to realize, in addition, it can also be stored in the memory in the form of a program, which can be called and executed by a certain processing element of the communication device. function of the unit.
  • each step of the above method or each of the above units may be implemented by an integrated logic circuit of hardware in the processor element or implemented in the form of software being invoked by the processing element.
  • a unit in any of the above communication devices may be one or more integrated circuits configured to implement the above method, such as: one or more application specific integrated circuits (ASICs), or, an or multiple microprocessors (digital singnal processors, DSP), or, one or more field programmable gate arrays (FPGA), or a combination of at least two of these integrated circuit forms.
  • ASICs application specific integrated circuits
  • DSP digital singnal processors
  • FPGA field programmable gate arrays
  • a unit in the communication device can be implemented in the form of a processing element scheduler
  • the processing element can be a general-purpose processor, such as a central processing unit (CPU) or other processors that can invoke programs.
  • CPU central processing unit
  • these units can be integrated together and implemented in the form of a system-on-a-chip (SOC).
  • FIG. 32 it is a schematic diagram of a communication apparatus according to an embodiment of the present application.
  • the communication apparatus is used to implement each step corresponding to the first communication device or the receiving end in the above embodiments.
  • the communication apparatus 3200 includes a sending unit 3210 and a receiving unit 3220 .
  • the receiving unit 3220 is configured to receive the first encoded data corresponding to the first original data from the second communication device; receive the corresponding encoded bit rate information, the third original data and the first encoded data of the second original data from the second communication device. Second encoded data, the third original data does not include the first original data.
  • the sending unit 3210 is configured to send indication information to the second communication device, where the indication information is used to obtain the second original data and the coding rate information, and the second original data includes part or all of all Describe the first raw data.
  • the second original data includes one or more first original data packets in the first original data; the indication information indicates any of the following:
  • the number of the first original data packets, the rank corresponding to the first encoded data, the reception situation of the system data packets and the redundant data packet reception situation corresponding to the first encoded data, or the first correlation depth of the encoding is the number of the first original data packets, the rank corresponding to the first encoded data, the reception situation of the system data packets and the redundant data packet reception situation corresponding to the first encoded data, or the first correlation depth of the encoding.
  • the second original data includes one or more first original data blocks in the first original data; the indication information indicates any of the following:
  • the number of the first original data blocks, the rank corresponding to the first encoded data, the reception status of system data packets and redundant data packets corresponding to the first encoded data, or the first associated depth of encoding is the number of the first original data blocks, the rank corresponding to the first encoded data, the reception status of system data packets and redundant data packets corresponding to the first encoded data, or the first associated depth of encoding.
  • the indication information indicates one or more of the following:
  • the coding rate information indicates any of the following:
  • the number of redundant data packets corresponding to the second encoded data The number of redundant data packets corresponding to the second encoded data, the number of encoded data packets corresponding to the second encoded data, the encoding bit rate corresponding to the second encoded data, or the encoding rate corresponding to the first encoded data.
  • the second encoded data includes header information, and the header information indicates the second association depth.
  • the header information further indicates one or more of the following:
  • the above-mentioned communication device may further include a storage unit, which is used to store data or instructions (also referred to as codes or programs), and each of the above-mentioned units may interact or be coupled with the storage unit to implement corresponding methods or functions. .
  • a storage unit which is used to store data or instructions (also referred to as codes or programs), and each of the above-mentioned units may interact or be coupled with the storage unit to implement corresponding methods or functions.
  • each unit in the communication apparatus can all be implemented in the form of software calling through the processing element; also all can be implemented in the form of hardware; some units can also be implemented in the form of software calling through the processing element, and some units can be implemented in the form of hardware.
  • each unit can be a separately established processing element, or can be integrated in a certain chip of the communication device to realize, in addition, it can also be stored in the memory in the form of a program, which can be called and executed by a certain processing element of the communication device. function of the unit.
  • each step of the above method or each of the above units may be implemented by an integrated logic circuit of hardware in the processor element or implemented in the form of software being invoked by the processing element.
  • a unit in any of the above communication devices may be one or more integrated circuits configured to implement the above method, such as: one or more ASICs, or, one or more DSPs, or, one or more an FPGA, or a combination of at least two of these integrated circuit forms.
  • the processing element can be a general-purpose processor, such as a CPU or other processors that can invoke programs.
  • these units can be integrated together and implemented in the form of SOC.
  • the communication apparatus includes: a processor 3310 and an interface 3330 , and optionally, the communication apparatus further includes a memory 3320 .
  • the interface 3330 is used to enable communication with other devices.
  • the method performed by the first communication device or the second communication device in the above embodiment may call the program stored in the memory (which may be the memory 3320 in the first communication device or the second communication device, or an external memory) through the processor 3310 to realise. That is, the first communication device or the second communication device may include a processor 3310, and the processor 3310 executes the method performed by the first communication device or the second communication device in the above method embodiments by invoking a program in the memory.
  • the processor here may be an integrated circuit with signal processing capability, such as a CPU.
  • the first communication device or the second communication device may be implemented by one or more integrated circuits configured to implement the above methods. For example: one or more ASICs, or, one or more microprocessor DSPs, or, one or more FPGAs, etc., or a combination of at least two of these integrated circuit forms. Alternatively, the above implementations may be combined.
  • the functions/implementation process of the transceiver unit 3110 and the processing unit 3120 in FIG. 31 can be implemented by the processor 3310 in the communication apparatus 3300 shown in FIG. 33 calling computer executable instructions stored in the memory 3320 .
  • the function/implementation process of the processing unit 3120 in FIG. 31 may be implemented by the processor 3310 in the communication device 3300 shown in FIG. 33 calling the computer-executed instructions stored in the memory 3320, and the function of the transceiver unit 3110 in FIG. 31
  • the implementation process can be implemented by the interface 3330 in the communication device 3300 shown in FIG. 33 .
  • the function/implementation process of the transceiver unit 3110 can be implemented by the processor calling program instructions in the memory to drive the interface 3330 .
  • the functions/implementation process of the sending unit 3210 and the receiving unit 3220 in FIG. 32 can be implemented by the processor 3310 in the communication apparatus 3300 shown in FIG. 33 calling computer executable instructions stored in the memory 3320 .
  • the functions/implementation process of the sending unit 3210 and the receiving unit 3220 in FIG. 32 can be implemented through the interface 3330 in the communication device 3300 shown in FIG. 33 .
  • the implementation process can be implemented by the processor calling program instructions in the memory to drive the interface 3330 .
  • Figure 34 provides a schematic structural diagram of a terminal device.
  • the terminal device is applicable to the scenario shown in FIG. 3 .
  • FIG. 34 shows only the main components of the terminal device.
  • the terminal device 3400 includes a processor, a memory, a control circuit, an antenna, and an input and output device.
  • the processor is mainly used to process communication protocols and communication data, control the entire terminal, execute software programs, and process data of the software programs.
  • the memory is mainly used to store software programs and data.
  • the radio frequency circuit is mainly used for the conversion of the baseband signal and the radio frequency signal and the processing of the radio frequency signal.
  • Antennas are mainly used to send and receive radio frequency signals in the form of electromagnetic waves.
  • Input and output devices such as touch screens, display screens, and keyboards, are mainly used to receive data input by users and output data to users.
  • the processor can read the software program in the storage unit, parse and execute the instructions of the software program, and process the data of the software program.
  • the processor performs baseband processing on the data to be sent, and outputs the baseband signal to the radio frequency circuit.
  • the radio frequency circuit processes the baseband signal to obtain a radio frequency signal and sends the radio frequency signal through the antenna in the form of electromagnetic waves. .
  • the radio frequency circuit receives the radio frequency signal through the antenna, the radio frequency signal is further converted into a baseband signal, and the baseband signal is output to the processor, and the processor converts the baseband signal into data and processes the data. deal with.
  • Figure 34 shows only one memory and processor. In an actual terminal device, there may be multiple processors and memories.
  • the memory may also be referred to as a storage medium or a storage device, etc., which is not limited in this embodiment of the present invention.
  • the processor may include a baseband processor and a central processing unit.
  • the baseband processor is mainly used to process communication protocols and communication data
  • the central processing unit is mainly used to control the entire terminal device, execute A software program that processes data from the software program.
  • the processor in FIG. 34 integrates the functions of the baseband processor and the central processing unit.
  • the baseband processor and the central processing unit may also be independent processors, interconnected by technologies such as a bus.
  • a terminal device may include multiple baseband processors to adapt to different network standards, a terminal device may include multiple central processors to enhance its processing capability, and various components of the terminal device may be connected through various buses.
  • the baseband processor may also be expressed as a baseband processing circuit or a baseband processing chip.
  • the central processing unit can also be expressed as a central processing circuit or a central processing chip.
  • the function of processing the communication protocol and communication data may be built in the processor, or may be stored in the storage unit in the form of a software program, and the processor executes the software program to realize the baseband processing function.
  • the antenna and control circuit with a transceiving function can be regarded as the transceiving unit 3411 of the terminal device 3400
  • the processor having a processing function can be regarded as the processing unit 3412 of the terminal device 3400
  • the terminal device 3400 includes a transceiver unit 3411 and a processing unit 3412 .
  • the transceiving unit may also be referred to as a transceiver, a transceiver, a transceiving device, or the like.
  • the device for implementing the receiving function in the transceiver unit 3411 may be regarded as a receiving unit, and the device for implementing the transmitting function in the transceiver unit 3411 may be regarded as a transmitting unit, that is, the transceiver unit 3411 includes a receiving unit and a transmitting unit.
  • the receiving unit may also be referred to as a receiver, a receiver, a receiving circuit, and the like
  • the transmitting unit may be referred to as a transmitter, a transmitter, or a transmitting circuit, or the like.
  • the above-mentioned receiving unit and transmitting unit may be an integrated unit, or may be multiple independent units.
  • the above-mentioned receiving unit and transmitting unit may be located in one geographic location, or may be dispersed in multiple geographic locations.
  • At least one item (single, species) of a, b, or c can represent: a, b, c, ab, ac, bc, or abc, where a, b, c can be single or multiple.
  • “Plurality" means two or more, and other quantifiers are similar.
  • the above-mentioned embodiments it may be implemented in whole or in part by software, hardware, firmware or any combination thereof.
  • software it can be implemented in whole or in part in the form of a computer program product.
  • the computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of the present application are generated.
  • the computer may be a general purpose computer, special purpose computer, computer network, or other programmable device.
  • the computer instructions may be stored in or transmitted from one computer-readable storage medium to another computer-readable storage medium, for example, the computer instructions may be downloaded from a website site, computer, server, or data center Transmission to another website site, computer, server, or data center is by wire (eg, coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (eg, infrared, wireless, microwave, etc.).
  • the computer-readable storage medium may be any available medium that a computer can access, or a data storage device such as a server, a data center, or the like that includes an integration of one or more available media.
  • the usable media may be magnetic media (eg, floppy disks, hard disks, magnetic tapes), optical media (eg, DVDs), or semiconductor media (eg, solid state disks (SSDs)), and the like.
  • a general-purpose processor may be a microprocessor, or alternatively, the general-purpose processor may be any conventional processor, controller, microcontroller, or state machine.
  • a processor may also be implemented by a combination of computing devices, such as a digital signal processor and a microprocessor, multiple microprocessors, one or more microprocessors in combination with a digital signal processor core, or any other similar configuration. accomplish.
  • the steps of the method or algorithm described in the embodiments of this application may be directly embedded in hardware, a software unit executed by a processor, or a combination of the two.
  • Software units can be stored in random access memory (Random Access Memory, RAM), flash memory, read-only memory (Read-Only Memory, ROM), EPROM memory, EEPROM memory, registers, hard disk, removable disk, CD-ROM or this.
  • RAM Random Access Memory
  • ROM read-only memory
  • EPROM memory read-only memory
  • EEPROM memory electrically erasable programmable read-only memory
  • registers hard disk, removable disk, CD-ROM or this.
  • a storage medium may be coupled to the processor such that the processor may read information from, and store information in, the storage medium.
  • the storage medium can also be integrated into the processor.
  • the processor and storage medium may be provided in the ASIC.
  • the above-described functions described herein may be implemented in hardware, software, firmware, or any combination of the three. If implemented in software, the functions may be stored on, or transmitted over, a computer-readable medium in the form of one or more instructions or code.
  • Computer-readable media includes computer storage media and communication media that facilitate the transfer of a computer program from one place to another. Storage media can be any available media that a general-purpose or special-purpose computer can access.
  • Such computer-readable media may include, but are not limited to, RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other device that can be used to carry or store instructions or data structures and Other media in the form of program code that can be read by a general-purpose or special-purpose computer, or a general-purpose or special-purpose processor.
  • any connection is properly defined as a computer-readable medium, for example, if software is transmitted from a website site, server or other remote source over a coaxial cable, fiber optic computer, twisted pair, digital subscriber line (DSL) Or transmitted by wireless means such as infrared, wireless, and microwave are also included in the definition of computer-readable media.
  • DSL digital subscriber line
  • the discs and magnetic discs include compact discs, laser discs, optical discs, digital versatile discs (English: Digital Versatile Disc, DVD for short), floppy discs and Blu-ray discs. Disks usually reproduce data magnetically, while Discs usually use lasers to optically reproduce data. Combinations of the above can also be included in computer readable media.
  • the functions described in this application may be implemented in hardware, software, firmware, or any combination thereof.
  • the functions may be stored on or transmitted over as one or more instructions or code on a computer-readable medium.
  • Computer-readable media includes both computer storage media and communication media including any medium that facilitates transfer of a computer program from one place to another.
  • a storage medium can be any available medium that can be accessed by a general purpose or special purpose computer.

Abstract

The embodiments of the present application provide a communication method, apparatus and system. The method comprises: coding first original data to obtain first coded data; transmitting the first coded data to a first communication device; receiving indication information from the first communication device; according to the indication information, acquiring second original data and coding rate information, wherein the second original data comprises part or all of the first original data; performing joint coding on third original data and the second original data according to the coding rate information to obtain second coded data, the first original data being not included in the third original data; and sending the second coded data to the first communication device. The solution, on one hand, guides next coding on the basis of a feedback mechanism, thus achieving self-adaptive adjustment of relevant coding parameters, and improving coding performance and data transmission efficiency and quality; and the solution, on the other hand, can joint code new and old data, thus increasing the success rate that a first communication device on the receiving side decodes correctly and obtain original data.

Description

通信方法、装置及系统Communication method, device and system 技术领域technical field
本申请实施例涉及通信技术领域,尤其涉及通信方法、装置及系统。The embodiments of the present application relate to the field of communication technologies, and in particular, to a communication method, apparatus, and system.
背景技术Background technique
网络编码可以通过在路由节点对不同信息流进行合并后传输,即网络中间节点对接收到的数据包进行随机系数的编码后传输,能够最大化整个网络的吞吐量,并有效改善无线通信系统传输性能。Network coding can maximize the throughput of the entire network and effectively improve the transmission of wireless communication systems by combining different information streams at the routing node and transmitting, that is, the intermediate nodes in the network encode and transmit the received data packets with random coefficients. performance.
如何进一步提升编码性能,比如提升频谱效率和纠错能力,降低误包率和编译码复杂度等,是目前需要解决的。How to further improve coding performance, such as improving spectral efficiency and error correction capability, reducing packet error rate and coding and decoding complexity, etc., need to be solved at present.
发明内容SUMMARY OF THE INVENTION
本申请实施例提供通信方法、装置及系统,用以提升编码性能,从而提升数据传输效率和质量。Embodiments of the present application provide a communication method, device, and system, so as to improve encoding performance, thereby improving data transmission efficiency and quality.
第一方面,本申请实施例提供一种通信方法,该方法可以由终端或网络设备执行,也可以由终端或网络设备的部件(例如处理器、芯片、或芯片系统等)执行,包括:对第一原始数据进行编码获得第一编码数据;向第一通信设备发送该第一编码数据;接收来自该第一通信设备的指示信息;根据该指示信息获取第二原始数据和编码码率信息,该第二原始数据包括部分或全部该第一原始数据;根据该编码码率信息,对第三原始数据和该第二原始数据进行联合编码,得到第二编码数据,该第三原始数据不包括该第一原始数据;向该第一通信设备发送该第二编码数据。In a first aspect, an embodiment of the present application provides a communication method, which may be executed by a terminal or a network device, or may be executed by a component of the terminal or network device (for example, a processor, a chip, or a chip system, etc.), including: The first original data is encoded to obtain the first encoded data; the first encoded data is sent to the first communication device; the indication information from the first communication device is received; the second original data and the encoding bit rate information are obtained according to the indication information, The second original data includes part or all of the first original data; according to the encoding rate information, the third original data and the second original data are jointly encoded to obtain second encoded data, the third original data does not include the first original data; sending the second encoded data to the first communication device.
基于该方案,在向第一通信设备发送第一编码数据之后,可以接收到指示信息,然后基于该指示信息获取参与过编码的原始数据中的第二原始数据和当前编码的编码码率信息,进而根据编码码率信息对未参与过编码的第三原始数据和参与过编码的第二原始数据进行联合编码得到第二编码数据,并向第一通信设备发送第二编码数据。该方案,一方面是基于反馈机制指导下次编码,可以实现自适应地调节相关编码参数,进而提升频谱效率、纠错能力,以及降低误包率、编译码复杂度,从而可以实现提升编码性能,进而提升数据传输效率和质量,另一方面实现了新旧数据的联合编码,可以提升接收侧的第一通信设备正确译码得到原始数据的成功率。Based on this solution, after sending the first encoded data to the first communication device, the indication information can be received, and then based on the indication information, the second original data in the encoded original data and the currently encoded encoding rate information are acquired, Further, the third original data that has not participated in encoding and the second original data that have participated in encoding are jointly encoded according to the encoding bit rate information to obtain second encoded data, and the second encoded data is sent to the first communication device. This solution, on the one hand, is based on the feedback mechanism to guide the next encoding, which can realize adaptive adjustment of relevant encoding parameters, thereby improving spectral efficiency, error correction capability, and reducing packet error rate and encoding and decoding complexity, thereby improving encoding performance. , thereby improving the efficiency and quality of data transmission. On the other hand, joint coding of new and old data is realized, which can improve the success rate of the first communication device on the receiving side to correctly decode the original data.
在一种可能实现方法中,该第二原始数据包括第一原始数据中的一个或多个第一原始数据包,该指示信息指示该第一原始数据包的数量;根据该指示信息获取该第二原始数据,包括:根据该第一原始数据包的数量,获取该第二原始数据。In a possible implementation method, the second original data includes one or more first original data packets in the first original data, the indication information indicates the number of the first original data packets; the first original data packet is obtained according to the indication information Two original data, including: acquiring the second original data according to the number of the first original data packets.
该方案,通过指示信息指示第一原始数据包的数量,便于从已经参与过编码的第一原始数据中获取第二原始数据,使能了新旧数据联合编码的实现,从而使能编码能力的提升。In this solution, the number of the first original data packets is indicated by the indication information, which facilitates the acquisition of the second original data from the first original data that has already participated in the encoding, enables the realization of the joint encoding of the old and new data, and thus enables the improvement of the encoding ability .
本申请实施例中的第一原始数据包是包含在第一原始数据中的一个或多个原始数据包。该第一原始数据包的数量可理解为第一原始数据中与第二原始数据有关的原始数据包的个数。或者理解为,该第一原始数据包的数量是第一原始数据中用于确定第二原始数据的原始数据包的个数。The first original data packet in the embodiment of the present application is one or more original data packets contained in the first original data. The number of the first original data packets may be understood as the number of original data packets related to the second original data in the first original data. Alternatively, it can be understood that the number of the first original data packets is the number of original data packets used to determine the second original data in the first original data.
这里对于第一原始数据包的定义适用于全文,也即对于全文中出现的第一原始数据包 的含义均可以参考上面描述。The definition of the first original data package here is applicable to the whole text, that is, for the meaning of the first original data package appearing in the whole text, reference may be made to the above description.
在一种可能实现方法中,该第二原始数据包括第一原始数据中的一个或多个第一原始数据块,该指示信息指示该第一原始数据块的数量;根据该指示信息获取该第二原始数据,包括:根据该第一原始数据块的数量,获取该第二原始数据。In a possible implementation method, the second original data includes one or more first original data blocks in the first original data, and the indication information indicates the number of the first original data blocks; the first original data block is obtained according to the indication information. Two original data, including: acquiring the second original data according to the number of the first original data blocks.
该方案,通过指示信息指示第一原始数据块的数量,便于从已经参与过编码的第一原始数据中获取第二原始数据,使能了新旧数据联合编码的实现,从而使能编码能力的提升。In this solution, the number of the first original data blocks is indicated by the indication information, which facilitates the acquisition of the second original data from the first original data that has already participated in the encoding, enables the realization of the joint encoding of the old and new data, and thus enables the improvement of the encoding ability .
在一种可能实现方法中,该指示信息指示该第一编码数据对应的秩;该第二原始数据包括第一原始数据中的一个或多个第一原始数据包;根据该指示信息获取该第二原始数据,包括:根据该第一编码数据对应的秩,确定该第一原始数据包的数量;根据该第一原始数据包的数量,获取该第二原始数据。In a possible implementation method, the indication information indicates a rank corresponding to the first encoded data; the second original data includes one or more first original data packets in the first original data; the first original data packet is obtained according to the indication information 2. Original data, including: determining the number of the first original data packets according to the rank corresponding to the first encoded data; and acquiring the second original data according to the number of the first original data packets.
该方案,第一编码数据对应的秩反映了第一通信设备对第一编码数据进行译码得到的等效的正确原始数据包的数量,从而通过指示信息指示第一编码数据对应的秩,便于确定第一原始数据包的数量,进而便于从已经参与过编码的第一原始数据中获取第二原始数据,使能了新旧数据联合编码的实现,从而使能编码能力的提升。In this solution, the rank corresponding to the first coded data reflects the number of equivalent correct original data packets obtained by the first communication device decoding the first coded data, so that the rank corresponding to the first coded data is indicated by the indication information, which is convenient for Determining the number of the first original data packets facilitates obtaining the second original data from the first original data that has already participated in encoding, enabling the realization of joint encoding of new and old data, thereby enabling the improvement of encoding capability.
本申请实施例中,等效的正确原始数据包的数量可以理解为实际译码正确的原始数据包的数量与有效的(线性无关)冗余数据包的数量和,也可以理解为正确接收的有效编码数据包的数量。等效的正确原始数据包的数量与第一编码数据对应的秩存在对应关系。这里做统一说明,后续不再赘述。In this embodiment of the present application, the number of equivalent correct original data packets can be understood as the sum of the number of actual decoded correct original data packets and the number of valid (linearly independent) redundant data packets, and can also be understood as the number of correctly received Number of valid encoded packets. There is a corresponding relationship between the number of equivalent correct original data packets and the rank corresponding to the first encoded data. A unified description is made here, and will not be repeated in the future.
在一种可能实现方法中,该指示信息指示该第一编码数据对应的秩,该第二原始数据包括第一原始数据中的一个或多个第一原始数据块;根据该指示信息获取该第二原始数据,包括:根据该第一编码数据对应的秩,确定该第一原始数据块的数量;根据该第一原始数据块的数量,获取该第二原始数据。In a possible implementation method, the indication information indicates a rank corresponding to the first encoded data, and the second original data includes one or more first original data blocks in the first original data; the first original data block is obtained according to the indication information. 2. Original data, including: determining the number of the first original data blocks according to the rank corresponding to the first encoded data; and acquiring the second original data according to the number of the first original data blocks.
该方案,第一编码数据对应的秩反映了第一通信设备对第一编码数据进行译码得到的等效的正确原始数据包的数量,从而通过指示信息指示第一编码数据对应的秩,便于确定第一原始数据块的数量,进而便于从已经参与过编码的第一原始数据中获取第二原始数据,使能了联合编码的实现,从而使能编码能力的提升。In this solution, the rank corresponding to the first coded data reflects the number of equivalent correct original data packets obtained by the first communication device decoding the first coded data, so that the rank corresponding to the first coded data is indicated by the indication information, which is convenient for Determining the number of the first original data blocks facilitates obtaining the second original data from the first original data that has already participated in encoding, enabling the realization of joint encoding, thereby enabling the improvement of encoding capability.
本申请实施例中的第一原始数据块是包含在第一原始数据中的一个或多个原始数据块。该第一原始数据块的数量可以理解为第一原始数据中与第二原始数据有关的原始数据块的个数。或者理解为,该第一原始数据块的数量是第一原始数据中用于确定第二原始数据的原始数据块的个数。The first original data block in the embodiment of the present application is one or more original data blocks included in the first original data. The number of the first original data blocks may be understood as the number of original data blocks related to the second original data in the first original data. Alternatively, it can be understood that the number of the first original data blocks is the number of original data blocks used to determine the second original data in the first original data.
这里对于第一原始数据块的定义适用于全文,也即对于全文中出现的第一原始数据块的含义均可以参考上面描述。The definition of the first original data block here is applicable to the whole text, that is, for the meaning of the first original data block appearing in the whole text, reference may be made to the above description.
在一种可能实现方法中,该指示信息指示该第一编码数据对应的系统数据包接收情况和冗余数据包接收情况;该第二原始数据包括第一原始数据中的一个或多个第一原始数据包;根据该指示信息获取该第二原始数据,包括:根据该第一编码数据对应的系统数据包接收情况和冗余数据包接收情况,确定该第一原始数据包的数量;根据该第一原始数据包的数量,获取该第二原始数据。In a possible implementation method, the indication information indicates the system data packet reception situation and the redundant data packet reception situation corresponding to the first encoded data; the second original data includes one or more first original data in the first original data. original data packets; obtaining the second original data according to the indication information includes: determining the number of the first original data packets according to the system data packet reception situation and the redundant data packet reception situation corresponding to the first encoded data; The number of the first original data packets, and the second original data is obtained.
该方案,第一编码数据对应的系统数据包接收情况和冗余数据包接收情况反映了第一通信设备对第一编码数据进行译码得到的等效的正确原始数据包的数量,从而通过指示信息指示第一编码数据对应的系统数据包接收情况和冗余数据包接收情况,便于确定第一原 始数据包的数量,进而便于从已经参与过编码的第一原始数据中获取第二原始数据,使能了新旧数据联合编码的实现,从而使能编码能力的提升。In this solution, the reception situation of the system data packets corresponding to the first coded data and the reception situation of the redundant data packets reflect the number of equivalent correct original data packets obtained by the first communication device decoding the first coded data, so that by indicating The information indicates the reception situation of the system data packets corresponding to the first encoded data and the reception situation of the redundant data packets, which is convenient for determining the number of the first original data packets, thereby facilitating the acquisition of the second original data from the first original data that has participated in the encoding, The realization of joint coding of new and old data is enabled, thereby enabling the improvement of coding capability.
在一种可能实现方法中,该指示信息指示该第一编码数据对应的系统数据包接收情况和冗余数据包接收情况;该第二原始数据包括第一原始数据中的一个或多个第一原始数据块;根据该指示信息获取该第二原始数据,包括:根据该第一编码数据对应的系统数据包接收情况和冗余数据包接收情况,确定该第一原始数据块的数量;根据该第一原始数据块的数量,获取该第二原始数据。In a possible implementation method, the indication information indicates the system data packet reception situation and the redundant data packet reception situation corresponding to the first encoded data; the second original data includes one or more first original data in the first original data. original data blocks; obtaining the second original data according to the indication information includes: determining the number of the first original data blocks according to the reception conditions of the system data packets and the redundant data packets corresponding to the first encoded data; The number of first original data blocks, and the second original data is obtained.
该方案,第一编码数据对应的系统数据包接收情况和冗余数据包接收情况反映了第一通信设备对第一编码数据进行译码得到的等效的正确原始数据包的数量,从而通过指示信息指示第一编码数据对应的系统数据包接收情况和冗余数据包接收情况,便于确定第一原始数据块的数量,进而便于从已经参与过编码的第一原始数据中获取第二原始数据,使能了新旧数据联合编码的实现,从而使能编码能力的提升。In this solution, the reception situation of the system data packets corresponding to the first coded data and the reception situation of the redundant data packets reflect the number of equivalent correct original data packets obtained by the first communication device decoding the first coded data, so that by indicating The information indicates the reception status of the system data packets and the redundant data packet reception status corresponding to the first encoded data, so as to facilitate the determination of the number of the first original data blocks, thereby facilitating the acquisition of the second original data from the first original data that has participated in the encoding, The realization of joint coding of new and old data is enabled, thereby enabling the improvement of coding capability.
在一种可能实现方法中,该指示信息指示编码的第一关联深度;该第二原始数据包括第一原始数据中的一个或多个第一原始数据包;根据该指示信息获取该第二原始数据,包括:根据该第一关联深度,确定该第一原始数据包的数量;根据该第一原始数据包的数量,获取该第二原始数据。In a possible implementation method, the indication information indicates the encoded first association depth; the second original data includes one or more first original data packets in the first original data; the second original data is obtained according to the indication information The data includes: determining the number of the first original data packets according to the first association depth; and acquiring the second original data according to the number of the first original data packets.
该方案,编码的第一关联深度用于表示下次编码时需要获取的已经参与过编码的原始数据包的数量,该获取的原始数据包会参与该下次编码,从而通过指示信息指示编码的第一关联深度,便于确定第一原始数据包的数量,进而便于从已经参与过编码的第一原始数据中获取第二原始数据,使能了新旧数据联合编码的实现,从而使能编码能力的提升。In this solution, the first associated depth of encoding is used to indicate the number of original data packets that need to be acquired in the next encoding that have participated in encoding, and the acquired original data packets will participate in the next encoding, so that the encoded The first correlation depth is convenient for determining the number of the first original data packets, which in turn facilitates obtaining the second original data from the first original data that has already participated in the encoding, enabling the realization of the joint encoding of the new and old data, thereby enabling the encoding capability. promote.
在一种可能实现方法中,该指示信息指示编码的第一关联深度;该第二原始数据包括第一原始数据中的一个或多个第一原始数据块;根据该指示信息获取该第二原始数据,包括:根据该第一关联深度,确定该第一原始数据块的数量;根据该第一原始数据块的数量,获取该第二原始数据。In a possible implementation method, the indication information indicates the encoded first associated depth; the second original data includes one or more first original data blocks in the first original data; the second original data is obtained according to the indication information The data includes: determining the number of the first original data blocks according to the first association depth; and acquiring the second original data according to the number of the first original data blocks.
该方案,编码的第一关联深度用于表示下次编码时需要获取的已经参与过编码的原始数据块的数量,该获取的原始数据块会参与该下次编码,从而通过指示信息指示编码的第一关联深度,便于确定第一原始数据块的数量,进而便于从已经参与过编码的第一原始数据中获取第二原始数据,使能了新旧数据联合编码的实现,从而使能编码能力的提升。In this solution, the first associated depth of encoding is used to indicate the number of original data blocks that need to be acquired in the next encoding that have participated in encoding, and the acquired original data blocks will participate in the next encoding, thereby indicating the encoded The first correlation depth is convenient for determining the number of the first original data blocks, which in turn facilitates obtaining the second original data from the first original data that has already participated in the encoding, enabling the realization of joint encoding of new and old data, thereby enabling the improvement of encoding capabilities. promote.
在一种可能实现方法中,该编码码率信息指示该第二编码数据对应的冗余数据包个数、该第二编码数据对应的编码数据包个数或该第二编码数据对应的编码码率。In a possible implementation method, the encoding rate information indicates the number of redundant data packets corresponding to the second encoded data, the number of encoded data packets corresponding to the second encoded data, or the encoding code corresponding to the second encoded data Rate.
基于该方案,便于确定编码码率信息,优化编码参数及性能,提升了数据传输的可靠性及准确性。Based on this solution, it is convenient to determine the coding rate information, optimize the coding parameters and performance, and improve the reliability and accuracy of data transmission.
在一种可能实现方法中,该指示信息指示该第一编码数据对应的秩;根据该指示信息获取编码码率信息,包括:根据该第一编码数据对应的秩,确定该第二编码数据对应的冗余数据包个数;根据该第二编码数据对应的冗余数据包个数,确定编码码率。In a possible implementation method, the indication information indicates a rank corresponding to the first coded data; and acquiring the coding rate information according to the indication information includes: according to the rank corresponding to the first coded data, determining that the second coded data corresponds to The number of redundant data packets; the encoding code rate is determined according to the number of redundant data packets corresponding to the second encoded data.
基于该方案,第一编码数据对应的秩反映了第一通信设备对第一编码数据进行译码得到的等效的正确原始数据包的数量,通过指示信息指示该第一编码数据对应的秩,便于确定编码码率,优化编码参数及性能,提升了数据传输的可靠性及准确性。Based on this solution, the rank corresponding to the first coded data reflects the number of equivalent correct original data packets obtained by decoding the first coded data by the first communication device, and the rank corresponding to the first coded data is indicated by the indication information, It is convenient to determine the coding rate, optimize coding parameters and performance, and improve the reliability and accuracy of data transmission.
在一种可能实现方法中,根据该指示信息获取编码码率信息,包括:根据该第一编码数据对应的秩,确定该第二编码数据对应的冗余数据包个数;根据该第二编码数据对应的 冗余数据包个数,确定编码码率。In a possible implementation method, acquiring the coding rate information according to the indication information includes: determining the number of redundant data packets corresponding to the second coded data according to the rank corresponding to the first coded data; according to the second coding The number of redundant data packets corresponding to the data determines the coding rate.
基于该方案,便于确定编码码率,优化编码参数及性能,提升了数据传输的可靠性及准确性。Based on this solution, it is convenient to determine the coding rate, optimize the coding parameters and performance, and improve the reliability and accuracy of data transmission.
在一种可能实现方法中,该指示信息指示该第一编码数据对应的系统数据包接收情况和冗余数据包接收情况;根据该指示信息获取编码码率信息,包括:根据该第一编码数据对应的系统数据包接收情况和冗余数据包接收情况,确定该第二编码数据对应的冗余数据包个数;根据该第二编码数据对应的冗余数据包个数,确定编码码率。In a possible implementation method, the indication information indicates the system data packet reception situation and the redundant data packet reception situation corresponding to the first encoded data; and acquiring encoding bit rate information according to the indication information includes: according to the first encoded data Corresponding system data packet reception conditions and redundant data packet reception conditions determine the number of redundant data packets corresponding to the second encoded data; determine the encoding code rate according to the number of redundant data packets corresponding to the second encoded data.
基于该方案,第一编码数据对应的系统数据包接收情况和冗余数据包接收情况反映了第一通信设备对第一编码数据进行译码得到的等效的正确原始数据包的数量,从而通过指示信息指示该第一编码数据对应的系统数据包接收情况和冗余数据包接收情况,便于确定编码码率,优化编码参数及性能,提升了数据传输的可靠性及准确性。Based on this solution, the reception status of the system data packets and the redundant data packet reception statuses corresponding to the first encoded data reflect the number of equivalent correct original data packets obtained by the first communication device decoding the first encoded data, so that through the The indication information indicates the reception status of the system data packets and the redundant data packets corresponding to the first encoded data, which facilitates the determination of the encoding bit rate, optimizes encoding parameters and performance, and improves the reliability and accuracy of data transmission.
在一种可能实现方法中,根据该指示信息获取编码码率信息,包括:根据该第一编码数据对应的系统数据包接收情况和冗余数据包接收情况,确定该第二编码数据对应的冗余数据包个数;根据该第二编码数据对应的冗余数据包个数,确定编码码率。In a possible implementation method, acquiring the encoding bit rate information according to the indication information includes: determining the redundant data packet corresponding to the second encoded data according to the system data packet reception situation and the redundant data packet reception situation corresponding to the first encoded data. The number of redundant data packets; the encoding code rate is determined according to the number of redundant data packets corresponding to the second encoded data.
基于该方案,便于确定编码码率,优化编码参数及性能,提升了数据传输的可靠性及准确性。Based on this solution, it is convenient to determine the coding rate, optimize the coding parameters and performance, and improve the reliability and accuracy of data transmission.
在一种可能实现方法中,该指示信息指示以下一项或多项:该第三原始数据对应的原始数据包的数量;该第三原始数据对应的原始数据块的数量;或译码窗可用窗长或译码窗已用窗长。In a possible implementation method, the indication information indicates one or more of the following: the number of original data packets corresponding to the third original data; the number of original data blocks corresponding to the third original data; or the available decoding window Window length or decoding window used window length.
在一种可能实现方法中,该第二编码数据包括头信息,该头信息指示第二关联深度。In one possible implementation, the second encoded data includes header information, the header information indicating the second association depth.
基于该方案,通过头信息携带第二关联深度,便于第一通信设备正确译码,可以提升译码成功率。Based on this solution, the header information carries the second association depth, which facilitates correct decoding by the first communication device, and can improve the decoding success rate.
在一种可能实现方法中,该头信息还指示以下一项或多项:该第三原始数据对应的原始数据包的数量;该第二编码数据对应的原始数据块的标识;或该第二编码数据对应的编码系数。In a possible implementation method, the header information further indicates one or more of the following: the number of original data packets corresponding to the third original data; the identifier of the original data block corresponding to the second encoded data; or the second encoded data The coding coefficients corresponding to the coded data.
在一种可能实现方法中,该编码系数为局部码本系数或全局码本系数。In a possible implementation method, the coding coefficients are local codebook coefficients or global codebook coefficients.
基于该方案,在头信息携带第三原始数据对应的原始数据包的数量、第二编码数据对应的原始数据块的标识或该第二编码数据对应的编码系数中的一项或的多项,第一通信设备可以根据头信息中携带的上述信息,对第二编码数据进行译码,可以提升译码成功率。Based on this solution, the header information carries one or more of the number of original data packets corresponding to the third original data, the identifier of the original data block corresponding to the second encoded data, or the encoding coefficients corresponding to the second encoded data, The first communication device can decode the second encoded data according to the above information carried in the header information, which can improve the decoding success rate.
在一种可能实现方法中,接收来自该第一通信设备的指示信息,包括:接收来自该第一通信设备的反馈消息,该反馈消息包含头信息和数据信息,该数据信息包括该指示信息。In a possible implementation method, receiving the indication information from the first communication device includes: receiving a feedback message from the first communication device, where the feedback message includes header information and data information, and the data information includes the indication information.
在一种可能实现方法中,该反馈消息承载于下行控制信息DCI或上行控制信息UCI。In a possible implementation method, the feedback message is carried in downlink control information DCI or uplink control information UCI.
在一种可能实现方法中,该头信息为PDCP层头信息或MAC层头信息,该头信息携带头指示域、数据块编号或进程编号中的一个或多个,其中,该头指示域用于指示该反馈消息携带的是网络编码的指示信息,该数据块编号用于指示该指示信息对应的编码数据块,该进程编号用于指示该指示信息对应的发送端进程编号。In a possible implementation method, the header information is PDCP layer header information or MAC layer header information, and the header information carries one or more of a header indication field, a data block number or a process number, wherein the header indication field uses In order to indicate that the feedback message carries the indication information of network coding, the data block number is used to indicate the encoded data block corresponding to the indication information, and the process number is used to indicate the sender process number corresponding to the indication information.
在一种可能实现方法中,该头信息为RLC层头信息,该头信息携带控制信息、数据块编号或进程编号中的一个或多个,其中,该控制信息用于指示该反馈消息携带的是网络编码的指示信息,该数据块编号用于指示该指示信息对应的编码数据块,该进程编号用于指示该指示信息对应的发送端进程编号。In a possible implementation method, the header information is RLC layer header information, and the header information carries one or more of control information, a data block number or a process number, wherein the control information is used to indicate the information carried in the feedback message. is the indication information of network coding, the data block number is used to indicate the encoded data block corresponding to the indication information, and the process number is used to indicate the sender process number corresponding to the indication information.
第二方面,本申请实施例提供一种通信方法,该方法可以由终端或网络设备执行,也可以由终端或网络设备的部件(例如处理器、芯片、或芯片系统等)执行,包括:接收来自第二通信设备的对应第一原始数据的第一编码数据;向该第二通信设备发送指示信息,该指示信息用于第二原始数据和编码码率信息的获取,该第二原始数据包括部分或全部该第一原始数据;接收来自该第二通信设备的对应该编码码率信息、第三原始数据和该第二原始数据的第二编码数据,该第三原始数据不包括该第一原始数据。In a second aspect, an embodiment of the present application provides a communication method, which may be executed by a terminal or a network device, or may be executed by a component of the terminal or network device (for example, a processor, a chip, or a chip system, etc.), including: receiving First encoded data corresponding to the first original data from the second communication device; sending indication information to the second communication device, where the indication information is used to obtain the second original data and the encoding rate information, the second original data includes Part or all of the first original data; receiving the second encoded data corresponding to the encoded bit rate information, the third original data and the second original data from the second communication device, the third original data does not include the first original data Raw data.
基于该方案,从第二通信设备接收到第一编码数据之后,向第二通信设备发送指示信息,第二通信设备可以根据该指示信息从已经参与过编码的第一原始数据中获取第二原始数据,以及根据该指示信息获取当前编码的编码码率信息,进而根据编码码率信息对未参与过编码的第三原始数据和参与过编码的第二原始数据进行联合编码得到第二编码数据,并发送第二编码数据。该方案,一方面是基于反馈机制指导下次编码,可以实现自适应地调节相关编码参数,进而提升频谱效率、纠错能力,以及降低误包率、编译码复杂度,从而可以实现提升编码性能,进而提升数据传输效率和质量,另一方面实现了新旧数据的联合编码,可以提升接收侧的第一通信设备正确译码得到原始数据的成功率。Based on this solution, after receiving the first encoded data from the second communication device, the second communication device sends indication information to the second communication device, and the second communication device can obtain the second original data from the first original data that has participated in encoding according to the indication information. data, and obtain the currently encoded encoding rate information according to the instruction information, and then jointly encode the third original data that has not participated in encoding and the second original data that has participated in encoding according to the encoding rate information to obtain the second encoded data, and send the second encoded data. This solution, on the one hand, is based on the feedback mechanism to guide the next encoding, which can realize adaptive adjustment of relevant encoding parameters, thereby improving spectral efficiency, error correction capability, and reducing packet error rate and encoding and decoding complexity, thereby improving encoding performance. , thereby improving the efficiency and quality of data transmission. On the other hand, joint coding of new and old data is realized, which can improve the success rate of the first communication device on the receiving side to correctly decode the original data.
在一种可能实现方法中,该第二原始数据包括第一原始数据中的一个或多个第一原始数据包;该指示信息指示以下任一项:该第一原始数据包的数量、该第一编码数据对应的秩、该第一编码数据对应的系统数据包接收情况和冗余数据包接收情况、或编码的第一关联深度。In a possible implementation method, the second original data includes one or more first original data packets in the first original data; the indication information indicates any one of the following: the number of the first original data packets, the first original data packet The rank corresponding to a coded data, the reception situation of the system data packet and the redundant data packet corresponding to the first coded data, or the first correlation depth of the encoding.
该方案,第一编码数据对应的秩反映了第一通信设备对第一编码数据进行译码得到的等效的正确原始数据包的数量,第一编码数据对应的系统数据包接收情况和冗余数据包接收情况反映了第一通信设备对第一编码数据进行译码得到的等效的正确原始数据包的数量,编码的第一关联深度用于表示下次编码时需要获取的已经参与过编码的原始数据包或原始数据块的数量,通过指示信息指示上述信息,便于从已经参与过编码的第一原始数据中获取第二原始数据,使能了新旧数据联合编码的实现,从而使能编码能力的提升。In this solution, the rank corresponding to the first encoded data reflects the number of equivalent correct original data packets obtained by decoding the first encoded data by the first communication device, the reception status and redundancy of the system data packets corresponding to the first encoded data The data packet reception status reflects the number of equivalent correct original data packets obtained by the first communication device decoding the first encoded data, and the first associated depth of the encoding is used to indicate that the encoding has participated in the encoding that needs to be acquired in the next encoding. The number of original data packets or original data blocks, and the above-mentioned information is indicated by the indication information, which is convenient to obtain the second original data from the first original data that has participated in the encoding, and enables the realization of joint encoding of new and old data, thereby enabling encoding ability enhancement.
在一种可能实现方法中,该第二原始数据包括第一原始数据中的一个或多个第一原始数据块;该指示信息指示以下任一项:该第一原始数据块的数量、该第一编码数据对应的秩、该第一编码数据对应的系统数据包接收情况和冗余数据包接收情况、或编码的第一关联深度。In a possible implementation method, the second original data includes one or more first original data blocks in the first original data; the indication information indicates any one of the following: the number of the first original data blocks, the first original data block The rank corresponding to a coded data, the reception situation of the system data packet and the redundant data packet corresponding to the first coded data, or the first correlation depth of the encoding.
该方案,第一编码数据对应的秩反映了第一通信设备对第一编码数据进行译码得到的等效的正确原始数据包的数量,第一编码数据对应的系统数据包接收情况和冗余数据包接收情况反映了第一通信设备对第一编码数据进行译码得到的等效的正确原始数据包的数量,编码的第一关联深度用于表示下次编码时需要获取的已经参与过编码的原始数据包或原始数据块的数量,通过指示信息指示上述信息,便于从已经参与过编码的第一原始数据中获取第二原始数据,使能了新旧数据联合编码的实现,从而使能编码能力的提升。In this solution, the rank corresponding to the first encoded data reflects the number of equivalent correct original data packets obtained by decoding the first encoded data by the first communication device, the reception status and redundancy of the system data packets corresponding to the first encoded data The data packet reception status reflects the number of equivalent correct original data packets obtained by the first communication device decoding the first encoded data, and the first associated depth of the encoding is used to indicate that the encoding has participated in the encoding that needs to be acquired in the next encoding. The number of original data packets or original data blocks, and the above-mentioned information is indicated by the indication information, which is convenient to obtain the second original data from the first original data that has participated in the encoding, and enables the realization of joint encoding of new and old data, thereby enabling encoding ability enhancement.
在一种可能实现方法中,该指示信息指示以下一项或多项:该第三原始数据对应的原始数据包的数量;该第三原始数据对应的原始数据块的数量;或译码窗可用窗长或译码窗已用窗长。In a possible implementation method, the indication information indicates one or more of the following: the number of original data packets corresponding to the third original data; the number of original data blocks corresponding to the third original data; or the available decoding window Window length or decoding window used window length.
在一种可能实现方法中,该编码码率信息指示以下任一项:该第二编码数据对应的冗余数据包个数、该第二编码数据对应的编码数据包个数、该第二编码数据对应的编码码率、或该第一编码数据对应的系统数据包接收情况和冗余数据包接收情况。In a possible implementation method, the encoding bit rate information indicates any one of the following: the number of redundant data packets corresponding to the second encoded data, the number of encoded data packets corresponding to the second encoded data, the second encoding The encoding code rate corresponding to the data, or the receiving conditions of the system data packets and the redundant data packets corresponding to the first encoded data.
基于该方案,便于确定编码码率信息,从而可以实现冗余编码,提升了数据传输的正确性。Based on this scheme, it is convenient to determine the coding rate information, so that redundant coding can be realized, and the correctness of data transmission is improved.
在一种可能实现方法中,该第二编码数据包括头信息,该头信息指示第二关联深度。In one possible implementation, the second encoded data includes header information, the header information indicating the second association depth.
基于该方案,通过头信息携带第二关联深度,便于第一通信设备正确译码,可以提升译码成功率。Based on this solution, the header information carries the second association depth, which facilitates correct decoding by the first communication device, and can improve the decoding success rate.
在一种可能实现方法中,该头信息还指示以下一项或多项:该第三原始数据对应的原始数据包的数量;该第二编码数据对应的原始数据块的标识;或该第二编码数据对应的编码系数。In a possible implementation method, the header information further indicates one or more of the following: the number of original data packets corresponding to the third original data; the identifier of the original data block corresponding to the second encoded data; or the second encoded data The coding coefficients corresponding to the coded data.
在一种可能实现方法中,该编码系数为局部码本系数或全局码本系数。In a possible implementation method, the coding coefficients are local codebook coefficients or global codebook coefficients.
基于该方案,在头信息携带第三原始数据对应的原始数据包的数量、第二编码数据对应的原始数据块的标识或该第二编码数据对应的编码系数中的一项或的多项,第一通信设备可以根据头信息中携带的上述信息,对第二编码数据进行译码,可以提升译码成功率。Based on this solution, the header information carries one or more of the number of original data packets corresponding to the third original data, the identifier of the original data block corresponding to the second encoded data, or the encoding coefficients corresponding to the second encoded data, The first communication device can decode the second encoded data according to the above information carried in the header information, which can improve the decoding success rate.
在一种可能实现方法中,向该第二通信设备发送指示信息,包括:向该第二通信设备发送反馈消息,该反馈消息包含头信息和数据信息,该数据信息包括该指示信息。In a possible implementation method, sending the indication information to the second communication device includes: sending a feedback message to the second communication device, where the feedback message includes header information and data information, and the data information includes the indication information.
在一种可能实现方法中,该反馈消息承载于下行控制信息DCI或上行控制信息UCI。In a possible implementation method, the feedback message is carried in downlink control information DCI or uplink control information UCI.
在一种可能实现方法中,该头信息为PDCP层头信息或MAC层头信息,该头信息携带头指示域、数据块编号或进程编号中的一个或多个,其中,该头指示域用于指示该反馈消息携带的是网络编码的指示信息,该数据块编号用于指示该指示信息对应的编码数据块,该进程编号用于指示该指示信息对应的发送端进程编号。In a possible implementation method, the header information is PDCP layer header information or MAC layer header information, and the header information carries one or more of a header indication field, a data block number or a process number, wherein the header indication field uses In order to indicate that the feedback message carries the indication information of network coding, the data block number is used to indicate the encoded data block corresponding to the indication information, and the process number is used to indicate the sender process number corresponding to the indication information.
在一种可能实现方法中,该头信息为RLC层头信息,该头信息携带控制信息、数据块编号或进程编号中的一个或多个,其中,该控制信息用于指示该反馈消息携带的是网络编码的指示信息,该数据块编号用于指示该指示信息对应的编码数据块,该进程编号用于指示该指示信息对应的发送端进程编号。In a possible implementation method, the header information is RLC layer header information, and the header information carries one or more of control information, a data block number or a process number, wherein the control information is used to indicate the information carried in the feedback message. is the indication information of network coding, the data block number is used to indicate the encoded data block corresponding to the indication information, and the process number is used to indicate the sender process number corresponding to the indication information.
第三方面,本申请实施例提供一种通信装置,该装置可以是第二通信设备,还可以是用于第二通信设备的芯片。该装置具有实现上述第一方面或基于第一方面的各可能的实现方法的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。In a third aspect, an embodiment of the present application provides a communication apparatus, and the apparatus may be a second communication device or a chip used for the second communication device. The apparatus has the function of implementing the above-mentioned first aspect or each possible implementation method based on the first aspect. This function can be implemented by hardware or by executing corresponding software by hardware. The hardware or software includes one or more modules corresponding to the above functions.
第四方面,本申请实施例提供一种通信装置,该装置可以是第一通信设备,还可以是用于第一通信设备的芯片。该装置具有实现上述第二方面或基于第二方面的各可能的实现方法的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。In a fourth aspect, an embodiment of the present application provides a communication apparatus, and the apparatus may be a first communication device or a chip used for the first communication device. The apparatus has the function of implementing the above-mentioned second aspect or each possible implementation method based on the second aspect. This function can be implemented by hardware or by executing corresponding software by hardware. The hardware or software includes one or more modules corresponding to the above functions.
第五方面,本申请实施例提供一种通信装置,包括处理器,处理器与存储器耦合,存储器用于存储程序或指令,当程序或指令被处理器执行时,使得该装置实现上述第一方面、第二方面、基于第一方面的各可能的实现方法、或基于第二方面的各可能的实现方法中的方法。该存储器可以位于该装置之内,也可以位于该装置之外。且该处理器包括一个或多个。In a fifth aspect, an embodiment of the present application provides a communication device, including a processor, where the processor is coupled to a memory, and the memory is used to store programs or instructions, and when the programs or instructions are executed by the processor, the device implements the above-mentioned first aspect , the second aspect, each possible implementation method based on the first aspect, or a method based on each possible implementation method of the second aspect. The memory may be located within the device or external to the device. And the processor includes one or more.
第六方面,本申请实施例提供一种通信装置,包括用于执行上述第一方面、或第二方面、或基于第一方面的各可能的实现方法、或基于第二方面的各可能的实现方法的各个步骤的单元或手段(means)。In a sixth aspect, an embodiment of the present application provides a communication apparatus, including a method for implementing the above-mentioned first aspect, or the second aspect, or each possible implementation method based on the first aspect, or each possible implementation based on the second aspect The units or means of the individual steps of the method.
第七方面,本申请实施例提供一种通信装置,包括处理器和接口电路,所述处理器用 于控制接口电路与其它装置通信,并执行上述第一方面、或第二方面、或基于第一方面的各可能的实现方法、或基于第二方面的各可能的实现方法。该处理器包括一个或多个。In a seventh aspect, an embodiment of the present application provides a communication device, including a processor and an interface circuit, where the processor is configured to control the interface circuit to communicate with other devices, and execute the above-mentioned first aspect, or the second aspect, or based on the first aspect Possible implementation methods of the aspect, or possible implementation methods based on the second aspect. The processor includes one or more.
第八方面,本申请实施例还提供一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行上述第一方面、或第二方面、或基于第一方面的各可能的实现方法、或基于第二方面的各可能的实现方法。In an eighth aspect, an embodiment of the present application further provides a computer-readable storage medium, including instructions, which, when executed on a computer, cause the computer to execute the above-mentioned first aspect, or the second aspect, or various possibilities based on the first aspect. implementation method, or each possible implementation method based on the second aspect.
第九方面,本申请实施例还提供一种计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面、或第二方面、或基于第一方面的各可能的实现方法、或基于第二方面的各可能的实现方法。In a ninth aspect, an embodiment of the present application further provides a computer program product, which, when run on a computer, enables the computer to execute the above-mentioned first aspect, or the second aspect, or each possible implementation method based on the first aspect, or Various possible implementation methods based on the second aspect.
第十方面,本申请实施例还提供一种芯片系统,包括处理器,处理器与存储器耦合,存储器用于存储程序或指令,当程序或指令被处理器执行时,使得该芯片系统实现上述第一方面、第二方面、基于第一方面的各可能的实现方法、或基于第二方面的各可能的实现方法中的方法。该存储器可以位于该芯片系统之内,也可以位于该芯片系统之外。且该处理器包括一个或多个。In a tenth aspect, an embodiment of the present application further provides a chip system, including a processor, the processor is coupled to a memory, and the memory is used to store programs or instructions, when the program or instructions are executed by the processor, the chip system enables the above-mentioned first One aspect, the second aspect, each possible implementation method based on the first aspect, or a method based on each possible implementation method of the second aspect. The memory may be located within the system-on-chip, or may be located outside the system-on-chip. And the processor includes one or more.
第十一方面,本申请实施例还提供一种通信系统,包括用于执行上述第一方面或基于第一方面的任一可能的实现方法的第二通信设备,和用于执行上述第二方面或基于第二方面的任一可能的实现方法的第一通信设备。In an eleventh aspect, an embodiment of the present application further provides a communication system, including a second communication device for implementing the above-mentioned first aspect or any possible implementation method based on the first aspect, and a second communication device for implementing the above-mentioned second aspect Or a first communication device based on any possible implementation method of the second aspect.
附图说明Description of drawings
图1为随机线性网络编码示意图;Fig. 1 is a schematic diagram of random linear network coding;
图2为卷积网络编码示意图;Fig. 2 is a schematic diagram of convolutional network coding;
图3为本申请实施例适用的场景示意图;FIG. 3 is a schematic diagram of a scenario to which an embodiment of the present application is applicable;
图4为本申请实施例提供的一种通信方法示意图;FIG. 4 is a schematic diagram of a communication method provided by an embodiment of the present application;
图5(a)为基于反馈的卷积网络编码方案示意图;Figure 5(a) is a schematic diagram of a feedback-based convolutional network coding scheme;
图5(b)为单进程停等式的反馈方案示意图;Figure 5(b) is a schematic diagram of the feedback scheme of the single-process stop equation;
图6为单进程填充式的反馈方案示意图;FIG. 6 is a schematic diagram of a single-process filled feedback scheme;
图7为基于多进程的反馈方案示意图;7 is a schematic diagram of a feedback scheme based on multiple processes;
图8-图9为交织后的编码数据块的两个示例图;Fig. 8-Fig. 9 are two example diagrams of the coded data block after interleaving;
图10-图11为多进程编码器的两个示意图;10-11 are two schematic diagrams of a multi-process encoder;
图12-图13为多进程译码器的两个示意图;12-13 are two schematic diagrams of a multi-process decoder;
图14为反馈信息的格式示意图;14 is a schematic diagram of the format of feedback information;
图15为反馈消息的PDCP层承载示意图;FIG. 15 is a schematic diagram of the PDCP layer bearing of the feedback message;
图16为反馈消息的RLC层承载示意图;16 is a schematic diagram of the RLC layer bearing of the feedback message;
图17为反馈消息的MAC层承载示意图;17 is a schematic diagram of the MAC layer bearing of the feedback message;
图18为包头信息字段示意图;Figure 18 is a schematic diagram of a packet header information field;
图19为局部码本示意图;19 is a schematic diagram of a local codebook;
图20为局部码本选择示意图;20 is a schematic diagram of partial codebook selection;
图21为局部码本生成矩阵示意图;21 is a schematic diagram of a local codebook generation matrix;
图22为全局码本示意图;22 is a schematic diagram of a global codebook;
图23为全局码本选择示意图;Figure 23 is a schematic diagram of global codebook selection;
图24为基于反馈的编码方案流程示意图;24 is a schematic flowchart of a feedback-based coding scheme;
图25-图26为基于反馈的自适应非系统码方案的两种示意图;25-26 are two schematic diagrams of feedback-based adaptive non-systematic code schemes;
图27为基于反馈的平均冗余非系统码方案示意图;27 is a schematic diagram of a feedback-based average redundant non-systematic code scheme;
图28-图30为基于反馈的系统码方案的三种示意图;28-30 are three schematic diagrams of feedback-based systematic code schemes;
图31为本申请实施例提供的一种通信装置示意图;FIG. 31 is a schematic diagram of a communication device according to an embodiment of the present application;
图32为本申请实施例提供的又一种通信装置示意图;FIG. 32 is a schematic diagram of another communication device provided by an embodiment of the present application;
图33为本申请实施例提供的又一种通信装置示意图;FIG. 33 is a schematic diagram of another communication device provided by an embodiment of the present application;
图34为本申请实施例提供的一种终端的结构示意图。FIG. 34 is a schematic structural diagram of a terminal according to an embodiment of the present application.
具体实施方式detailed description
本申请实施例中,编码前的数据块可以称为原始数据块、原数据块或原块等,编码后的数据块可以称为编码数据块或编码块等。一个编码前的数据块包含一个或多个编码前的数据包,其中编码前的数据包也可以称为原始数据包、原数据包或原包等。一个编码后的数据块包含一个或多个编码后的数据包,其中编码后的数据包也可以称为编码数据包、或编码包等。本申请以下描述中,在不同地方会使用到同一概念的不同名称,其具有相同含义,不再赘述。In this embodiment of the present application, the data block before encoding may be referred to as an original data block, an original data block, or an original block, and the like, and a data block after encoding may be referred to as an encoded data block or an encoded block, or the like. A pre-encoded data block includes one or more pre-encoded data packets, wherein the pre-encoded data packets may also be referred to as original data packets, original data packets, or original packets. An encoded data block contains one or more encoded data packets, wherein the encoded data packets may also be referred to as encoded data packets or encoded packets. In the following description of the present application, different names of the same concept will be used in different places, which have the same meaning and will not be repeated here.
本申请实施例中,“下次编码”指的是即将执行的最近的一次编码,与“下次编码”相对应的是“上次编码”。“上次编码”指的是已经完成的最近的一次编码。在本申请实施中,发送端在上次编码完成并向接收端发送了编码数据后,从接收端收到指示信息(也可称为反馈信息),然后基于该指示信息确定下次编码的编码参数、参与编码的原始数据等内容,并基于这些内容执行下次编码得到编码数据并发送至接收端。本申请实施例中也可将“下次编码”称为“当前编码”。In this embodiment of the present application, "next encoding" refers to the most recent encoding to be performed, and "next encoding" corresponds to "last encoding". "Last encoding" refers to the most recent encoding that has been done. In the implementation of this application, after the last encoding is completed and the encoded data is sent to the receiving end, the transmitting end receives indication information (also referred to as feedback information) from the receiving end, and then determines the encoding for the next encoding based on the indication information. parameters, the original data involved in encoding, etc., and perform the next encoding based on these contents to obtain encoded data and send it to the receiving end. In this embodiment of the present application, "next encoding" may also be referred to as "current encoding".
网络编码可以通过在路由节点对不同信息流进行合并后传输,即网络中间节点对接收到的数据包进行随机系数的编码后传输,能够最大化整个网络的吞吐量,并有效改善无线通信系统传输性能。Network coding can maximize the throughput of the entire network and effectively improve the transmission of wireless communication systems by combining different information streams at the routing node and transmitting, that is, the intermediate nodes in the network encode and transmit the received data packets with random coefficients. performance.
通信系统中,反馈重传机制能够实现有效的差错控制。如媒体接入控制(medium access control,MAC)层的混合自动重传请求(hybrid automatic repeat request,HARQ)重传机制和无线链路控制(radio link control,RLC)层的自动重传请求(automatic repeat request,ARQ)重传机制联合保证了传输的可靠性。随着通信技术的演进及发展,新无线(new radio,NR)对系统的可靠性、有效性等提出了更高的需求。反馈重传机制面临着诸多问题,例如,在多播或者广播场景中频繁的反馈开销及性能损失问题,突发连续错误场景、双连接或者多连接拥堵场景下的性能损失严重等问题。网络编码技术作为一种前向纠错技术,通过对原始数据包(也称为编码前数据包)进行编码并增加冗余来对抗无线传输中的丢包或性能损失等问题,减少了反馈开销。网络编码方案包括随机线性网络编码(random linear network coding,RLNC)、卷积网络编码(convolutional network coding,CNC)等。In the communication system, the feedback retransmission mechanism can realize effective error control. For example, the hybrid automatic repeat request (HARQ) retransmission mechanism of the medium access control (MAC) layer and the automatic repeat request (automatic) of the radio link control (RLC) layer repeat request, ARQ) retransmission mechanism jointly ensures the reliability of transmission. With the evolution and development of communication technologies, new radio (NR) has put forward higher requirements for the reliability and effectiveness of the system. The feedback retransmission mechanism faces many problems, such as frequent feedback overhead and performance loss in multicast or broadcast scenarios, serious performance loss in burst continuous error scenarios, dual-connection or multi-connection congestion scenarios, etc. Network coding technology, as a forward error correction technology, reduces the feedback overhead by encoding the original data packet (also known as the pre-encoding data packet) and adding redundancy to combat problems such as packet loss or performance loss in wireless transmission . Network coding schemes include random linear network coding (RLNC), convolutional network coding (CNC), etc.
下面对RLNC和CNC分别进行介绍说明。The RLNC and CNC will be introduced and explained below.
一、RLNC1. RLNC
RLNC技术以数据块为单位(数据块中包括一个或多个数据包),通过构建编码系数矩阵对原始数据包进行编码得到一组编码数据包。通常,编码矩阵中的系数在有限域,如伽罗华域(galois field,GF)中随机选取。The RLNC technology takes a data block as a unit (a data block includes one or more data packets), and obtains a set of encoded data packets by encoding the original data packets by constructing a coding coefficient matrix. Usually, the coefficients in the coding matrix are randomly selected in a finite field, such as a Galois field (GF).
如图1所示,为随机线性网络编码示意图。在伽罗华域中随机选择编码矩阵中的系数,编码矩阵大小为(N+R)*N,即行数为N+R,列数为N。通过对包含N个原始数据包的原始数据块进行网络编码,得到包含N+R个编码数据包的编码数据块,对应的码率表示为N/(N+R)。RLNC方案中,不同编码数据块之间没有关联,即编码操作是对独立的原始数据块进行的,不同编码数据块的冗余(码率)可以相同,也可以不同。将生成的N+R个编码数据包发送至接收端,接收端只要接收到该N+R个编码数据包中的任意N个线性无关的编码数据包,即可正确译码并恢复出N个原始数据包。As shown in Figure 1, it is a schematic diagram of random linear network coding. The coefficients in the coding matrix are randomly selected in the Galois field, and the size of the coding matrix is (N+R)*N, that is, the number of rows is N+R, and the number of columns is N. By performing network coding on an original data block containing N original data packets, an encoded data block containing N+R encoded data packets is obtained, and the corresponding code rate is expressed as N/(N+R). In the RLNC scheme, there is no association between different encoded data blocks, that is, the encoding operation is performed on independent original data blocks, and the redundancy (code rate) of different encoded data blocks may be the same or different. The generated N+R encoded data packets are sent to the receiving end. As long as the receiving end receives any N linearly independent encoded data packets in the N+R encoded data packets, it can be correctly decoded and recovered. original packet.
由于干扰、噪声等因素,当接收端收到线性无关的正确编码数据包的个数小于N时,接收端无法进行译码。接收端可以向发送端反馈正确译码还需要的编码数据包的个数,发送端根据反馈的内容发送对应个数的编码数据包,该编码数据包与下一个数据块的编码无关。由于RLNC方案中需要避免编码系数线性相关,因此通常选择较大的伽罗华域值并且数据块中数据包的个数较多,但由此会导致计算复杂度和开销增加。此外,由于数据块间不存在关联,一定程度限制了网络编码对抗信道突发错误的能力。在考虑反馈的情况下,数据块中的包个数较多会导致通信时延增大。Due to factors such as interference and noise, when the number of linearly independent correctly encoded data packets received by the receiver is less than N, the receiver cannot perform decoding. The receiving end can feed back the number of encoded data packets needed for correct decoding to the transmitting end, and the transmitting end sends the corresponding number of encoded data packets according to the feedback content, and the encoded data packets have nothing to do with the encoding of the next data block. Since the linear correlation of coding coefficients needs to be avoided in the RLNC scheme, a larger Galois threshold value is usually selected and the number of data packets in the data block is larger, but this will lead to increased computational complexity and overhead. In addition, because there is no correlation between data blocks, the ability of network coding to resist channel burst errors is limited to a certain extent. In the case of considering feedback, the large number of packets in the data block will lead to increased communication delay.
二、CNC2. CNC
如图2所示,为卷积网络编码示意图。卷积网络编码的编码系数矩阵包括μ+1个卷积编码核矩阵,即G (0)~G (μ),对多个原始数据块进行卷积网络编码,生成编码数据块。其中,第i个卷积编码核(可以简称为卷积核)可以表示为
Figure PCTCN2020107973-appb-000001
也即G (i)是一个矩阵,该矩阵的上半部分表示为G (i,0),下半部分表示为G (i,1)。当G (i,0)=0或G (i,1)=0,则表示第i个原始数据块的部分原始数据包参与当前原始数据块的网络编码。换言之,第i个原始数据块中参与当前原始数据块编码的原始数据包的个数小于G (i)的行数。其中,μ为大于或等于0的整数。
As shown in Figure 2, it is a schematic diagram of convolutional network coding. The coding coefficient matrix of convolutional network coding includes μ+1 convolutional coding kernel matrices, namely G (0) ˜G (μ) , which performs convolutional network coding on multiple original data blocks to generate coded data blocks. Among them, the i-th convolutional coding kernel (which can be referred to as convolution kernel for short) can be expressed as
Figure PCTCN2020107973-appb-000001
That is, G (i) is a matrix whose upper half is denoted as G (i,0) and the lower half is denoted as G (i,1) . When G (i,0) =0 or G (i,1) =0, it means that part of the original data packets of the i-th original data block participate in the network coding of the current original data block. In other words, the number of original data packets participating in the encoding of the current original data block in the i-th original data block is less than the number of lines of G (i) . Wherein, μ is an integer greater than or equal to 0.
在CNC中,当新增一个原始数据块时,当前参与编码的原始数据包包含新增的原始数据块(也可以称为新原始数据块、新数据块或新块)中的一个或多个原始数据包(也可以称为新原始数据包、新数据包或新包等),可选地,还可以包含该新增的原始数据块之前的原始数据块(也可以称为旧原始数据块、旧数据块或旧块)中的一个或多个原始数据包(也可以称为旧原始数据包、旧数据包或旧包等)。In CNC, when a new original data block is added, the original data package currently participating in encoding contains one or more of the newly added original data blocks (also called new original data blocks, new data blocks or new blocks) The original data packet (also referred to as a new original data packet, a new data packet or a new packet, etc.), optionally, may also include the original data block before the newly added original data block (also referred to as the old original data block) , old data block or old block) one or more original data packets (may also be referred to as old original data packets, old data packets or old packets, etc.).
从图2可以看出,编码数据块c1是对原始数据块b1进行编码得到的,也即当前参与编码的原始数据包包括b1中的所有数据包,均为新包。编码数据块c2是对原始数据块b1和b2进行编码得到的,也即当前参与编码的原始数据包包括b2中的所有数据包(均为新包)和b1中的所有原始数据包(均为旧包)。编码数据块c3是对原始数据块b1、b2和b3进行编码得到的,也即当前参与编码的原始数据包包括b3中的所有数据包(均为新包)、b2中的所有原始数据包(均为旧包)和b1中的所有原始数据包(均为旧包)。以此类推,编码数据块是对至多μ+1个原始数据块进行编码得到的,其中,该μ+1个原始数据块中包含μ个旧原始数据块(可以简称为旧块)和1个新原始数据块(可以简称为新块)。It can be seen from FIG. 2 that the encoded data block c1 is obtained by encoding the original data block b1, that is, the original data packet currently participating in encoding includes all the data packets in b1, which are all new packets. The encoded data block c2 is obtained by encoding the original data blocks b1 and b2, that is, the original data packets currently participating in the encoding include all the data packets in b2 (both are new packets) and all the original data packets in b1 (both are new packets). old package). The encoded data block c3 is obtained by encoding the original data blocks b1, b2 and b3, that is, the original data packets currently participating in the encoding include all data packets in b3 (all new packets), all original data packets in b2 ( are both old packages) and all original packets in b1 (all are old packages). By analogy, the encoded data block is obtained by encoding at most μ+1 original data blocks, wherein the μ+1 original data block contains μ old original data blocks (which may be referred to as old blocks for short) and 1 new original data block. The original data block (may be referred to simply as the new block).
卷积网络编码中,编码数据块中的编码数据包的个数相较于RLNC可以更小,卷积的形式保证了当前原始数据块与若干个之前的原始数据块中的部分或全部原始数据包进行联合编码,可以更好地对抗突发连续错误,改善吞吐量等性能。In convolutional network coding, the number of encoded data packets in the encoded data block can be smaller than that of RLNC, and the convolutional form ensures that some or all of the original data in the current original data block and several previous original data blocks or all of the original data. The packets are jointly encoded, which can better combat burst continuous errors and improve performance such as throughput.
通常情况下,卷积网络编码始终采用μ+1个卷积编码核,即关联深度为μ+1,并且不同卷积编码核的大小一致,且不存在卷积编码核中某行或者某几行的系数为0的情况,同时对应的编码数据包个数也不能进行灵活地调整。其中,关联深度用于指示下次编码时需要获取的已经参与过编码的原始数据包或原始数据块的数量,该获取的原始数据包或原始数据块会参与该下次编码。Usually, convolutional network coding always uses μ+1 convolutional coding kernels, that is, the correlation depth is μ+1, and the size of different convolutional coding kernels is the same, and there is no certain row or certain number of convolutional coding kernels. When the coefficient of the row is 0, the number of corresponding coded data packets cannot be adjusted flexibly. The association depth is used to indicate the number of original data packets or original data blocks that need to be acquired in the next encoding, and the acquired original data packets or original data blocks will participate in the next encoding.
针对上述卷积网络编码,虽然可以更好地克服信道连续突发错误导致的丢包问题,但是卷积网络编码的性能与关联深度、卷积编码核的设计、冗余包的数量(码率)等因素有关。由于卷积网络编码不能自适应地调节相关参数,继而导致频谱效率、纠错能力、误包率、编译码复杂度等性能的下降。For the above convolutional network coding, although the problem of packet loss caused by continuous burst errors in the channel can be better overcome, the performance of convolutional network coding is related to the correlation depth, the design of the convolutional coding kernel, and the number of redundant packets (code rate). ) and other factors. Since the convolutional network coding cannot adjust the relevant parameters adaptively, the performance of spectral efficiency, error correction capability, packet error rate, coding and decoding complexity, etc. will be reduced.
为解决上述问题,本申请实施例提供基于反馈的网络编码方法及装置,该方法主要涉及:In order to solve the above problems, the embodiments of the present application provide a feedback-based network coding method and device, which mainly involve:
第一,设计单进程和多进程的基于反馈的网络编码方案,以解决反馈带来的时延导致的性能下降问题,并且给出发送端编码器和接收端译码器的结构设计。First, single-process and multi-process feedback-based network coding schemes are designed to solve the problem of performance degradation caused by the delay caused by feedback, and the structure design of the transmitter encoder and receiver decoder is given.
第二,基于反馈的网络编码方案中,接收端对接收到的编码数据进行译码,根据译码情况形成反馈信息,并传输给发送端。本申请设计了各种不同形式的反馈信息,以及设计了反馈信息的不同承载方式。Second, in the feedback-based network coding scheme, the receiving end decodes the received encoded data, forms feedback information according to the decoding situation, and transmits it to the transmitting end. The present application designs various forms of feedback information, and designs different ways of carrying the feedback information.
第三,发送端获得来自接收端的反馈信息,并根据反馈信息优化下一次编码的参数,包括但不限于:关联深度、卷积编码核以及编码数据包的个数等。在此基础上设计网络编码码本以及码本或系数的指示方式,发送端进行网络编码生成编码数据包,并且在编码数据包的包头携带对应的参数或者参数的索引,以保证接收端可以根据编码数据包进行正确地处理及译码操作。Third, the transmitting end obtains the feedback information from the receiving end, and optimizes the parameters of the next encoding according to the feedback information, including but not limited to: correlation depth, convolutional encoding kernel, and the number of encoded data packets. On this basis, the network coding codebook and the codebook or coefficient indication methods are designed. The sender performs network coding to generate a coded data packet, and carries the corresponding parameter or parameter index in the packet header of the coded data packet to ensure that the receiver can Encoded packets are processed and decoded correctly.
第四,提供了完整的基于反馈的非系统码及系统码的网络编码方案,如码型设计,针对不同的网络编码方案进行具体的参数设计和匹配,优化网络编码的系统性能。Fourth, it provides a complete feedback-based network coding scheme of non-systematic codes and systematic codes, such as code pattern design, and performs specific parameter design and matching for different network coding schemes to optimize the system performance of network coding.
本申请实施例针对长期演进(long term evolution,LTE)或NR等协议框架,可应用于多种移动通信场景,如网络设备和终端设备之间,或终端设备之间点对点传输,或网络设备和终端设备之间的多跳/中继传输,或多个网络设备和终端设备之间的双连接(dual connectivity,DC)或多连接传输等场景。The embodiments of this application are aimed at protocol frameworks such as long term evolution (LTE) or NR, and can be applied to various mobile communication scenarios, such as between a network device and a terminal device, or point-to-point transmission between terminal devices, or a network device and a terminal device. Scenarios such as multi-hop/relay transmission between terminal devices, or dual connectivity (DC) or multi-connection transmission between multiple network devices and terminal devices.
本申请实施例涉及到的终端设备还可以称为终端,可以是一种具有无线收发功能的设备,其可以部署在陆地上,包括室内或室外、手持或车载;也可以部署在水面上(如轮船等);还可以部署在空中(例如飞机、气球和卫星上等)。终端设备可以是用户设备(user equipment,UE),其中,UE包括具有无线通信功能的手持式设备、车载设备、可穿戴设备或计算设备。示例性地,UE可以是手机(mobile phone)、平板电脑或带无线收发功能的电脑。终端设备还可以是虚拟现实(virtual reality,VR)终端设备、增强现实(augmented reality,AR)终端设备、工业控制中的无线终端、无人驾驶中的无线终端、远程医疗中的无线终端、智能电网中的无线终端、智慧城市(smart city)中的无线终端、智慧家庭(smart  home)中的无线终端等等。本申请实施例中,用于实现终端的功能的装置可以是终端;也可以是能够支持终端实现该功能的装置,例如芯片系统,该装置可以被安装在终端中。本申请实施例中,芯片系统可以由芯片构成,也可以包括芯片和其他分立器件。The terminal device involved in the embodiments of this application may also be referred to as a terminal, which may be a device with a wireless transceiver function, which may be deployed on land, including indoor or outdoor, handheld or vehicle-mounted; it may also be deployed on water (such as ships, etc.); can also be deployed in the air (such as on airplanes, balloons, satellites, etc.). The terminal device may be a user equipment (user equipment, UE), wherein the UE includes a handheld device, a vehicle-mounted device, a wearable device or a computing device with a wireless communication function. Exemplarily, the UE may be a mobile phone, a tablet computer, or a computer with a wireless transceiver function. The terminal device may also be a virtual reality (VR) terminal device, an augmented reality (AR) terminal device, a wireless terminal in industrial control, a wireless terminal in unmanned driving, a wireless terminal in telemedicine, intelligent Wireless terminals in power grids, wireless terminals in smart cities, wireless terminals in smart homes, and so on. In this embodiment of the present application, the device for realizing the function of the terminal may be a terminal; it may also be a device capable of supporting the terminal to realize the function, such as a chip system, and the device may be installed in the terminal. In this embodiment of the present application, the chip system may be composed of chips, or may include chips and other discrete devices.
本申请实施例涉及到的网络设备包括接入网设备,例如基站(base station,BS),基站可以是一种部署在无线接入网中能够和终端进行无线通信的设备。其中,基站可能有多种形式,比如宏基站、微基站、中继站和接入点等。示例性地,本申请实施例涉及到的基站可以是5G中的基站或LTE中的演进的基站(evolved node B,eNB),其中,5G中的基站还可以称为发送接收点(transmission reception point,TRP)或5G基站(next-generation node B,gNB)。本申请实施例中,用于实现网络设备的功能的装置可以是网络设备;也可以是能够支持网络设备实现该功能的装置,例如芯片系统,该装置可以被安装在网络设备中。The network devices involved in the embodiments of the present application include access network devices, such as a base station (base station, BS). The base station may be a device deployed in a wireless access network and capable of wirelessly communicating with a terminal. The base station may have various forms, such as a macro base station, a micro base station, a relay station, and an access point. Exemplarily, the base station involved in the embodiments of the present application may be a base station in 5G or an evolved base station (evolved node B, eNB) in LTE, where the base station in 5G may also be referred to as a transmission reception point (transmission reception point). , TRP) or 5G base station (next-generation node B, gNB). In this embodiment of the present application, the apparatus for implementing the function of the network device may be a network device; it may also be an apparatus capable of supporting the network device to implement the function, such as a chip system, and the apparatus may be installed in the network device.
本申请实施例提供的技术方案可以应用于通信设备间的无线通信。通信设备间的无线通信可以包括:网络设备和终端设备间的无线通信、网络设备和网络设备间的无线通信以及终端和终端间的无线通信。其中,在本申请实施例中,术语“无线通信”还可以简称为“通信”,术语“通信”还可以描述为“数据传输”、“信息传输”或“传输”。The technical solutions provided in the embodiments of the present application can be applied to wireless communication between communication devices. The wireless communication between communication devices may include: wireless communication between a network device and a terminal device, wireless communication between a network device and a network device, and wireless communication between a terminal and a terminal. Wherein, in this embodiment of the present application, the term "wireless communication" may also be referred to as "communication" for short, and the term "communication" may also be described as "data transmission", "information transmission" or "transmission".
本申请实施例中,作为发送一方的设备可以称为发送设备或发送端,作为接收一方的设备可以称为接收设备或接收端。比如,当终端设备向网络设备发送数据,则终端设备称为发送设备或发送端,网络设备称为接收设备或接收端。再比如,当网络设备向终端设备发送数据,则网络设备称为发送设备或发送端,终端设备称为接收设备或接收端。再比如,当第一网络设备向第二网络设备发送数据,则第一网络设备称为发送设备或发送端,第二网络设备称为接收设备或接收端。再比如,当第一终端设备向第二终端设备发送数据,则第一终端设备称为发送设备或发送端,第二终端设备称为接收设备或接收端。In this embodiment of the present application, a device serving as a sender may be referred to as a sending device or a sending end, and a device serving as a receiving party may be referred to as a receiving device or a receiving end. For example, when a terminal device sends data to a network device, the terminal device is called a sending device or a sending end, and the network device is called a receiving device or a receiving end. For another example, when a network device sends data to a terminal device, the network device is called a sending device or a sending end, and the terminal device is called a receiving device or a receiving end. For another example, when the first network device sends data to the second network device, the first network device is called a sending device or a sending end, and the second network device is called a receiving device or a receiving end. For another example, when the first terminal device sends data to the second terminal device, the first terminal device is called a sending device or a sending end, and the second terminal device is called a receiving device or a receiving end.
如图3所示,为本申请实施例适用的场景示意图。可以理解,图3只是示例性的,不对适用于本申请实施例的网络架构产生限制。并且,本申请实施例不限制上行、下行、接入链路、回传(backhaul)链路、侧链路(sidelink)等传输。从业务场景的角度看,本申请实施例适用于诸多场景方案,包括但不限于诸如扩展现实(Extended Reality,XR)业务中的分层数据编码。其中,XR业务包括但不限于虚拟现实(Virtual Reality,VR)业务、增强现实(Augmented Reality,AR)业务、混合现实(Mixed Reality,MR)业务。As shown in FIG. 3 , it is a schematic diagram of a scenario to which this embodiment of the present application is applied. It can be understood that FIG. 3 is only exemplary, and does not limit the network architecture applicable to the embodiments of the present application. Moreover, the embodiments of the present application do not limit the transmission of uplink, downlink, access link, backhaul (backhaul) link, sidelink (sidelink) and the like. From the perspective of service scenarios, the embodiments of the present application are applicable to many scenarios, including but not limited to hierarchical data coding in extended reality (Extended Reality, XR) services. Among them, the XR business includes but is not limited to a virtual reality (Virtual Reality, VR) business, an augmented reality (Augmented Reality, AR) business, and a mixed reality (Mixed Reality, MR) business.
下面,首先结合附图对本申请实施例提供的方法进行介绍说明,后续再结合具体实施例(即实施例一至实施例五),说明方法中涉及到的各个部分内容。In the following, the method provided by the embodiments of the present application is first introduced and described with reference to the accompanying drawings, and then each part of the content involved in the method is described with reference to specific embodiments (ie, the first embodiment to the fifth embodiment).
如图4所示,为本申请实施例提供的一种通信方法示意图,该方法可由第一通信设备(或第一通信设备的芯片)和第二通信设备(或第二通信设备的芯片)执行。第一通信设备可以是终端或网络设备,第二通信设备可以是网络设备或终端。以下以第一通信设备和第二通信设备执行该方法为例进行说明。As shown in FIG. 4 , a schematic diagram of a communication method provided by an embodiment of the present application can be performed by a first communication device (or a chip of the first communication device) and a second communication device (or a chip of the second communication device). . The first communication device may be a terminal or a network device, and the second communication device may be a network device or a terminal. The following description will be given by taking the first communication device and the second communication device executing the method as an example.
该方法包括以下步骤:The method includes the following steps:
步骤401,第二通信设备对第一原始数据进行编码获得第一编码数据。Step 401, the second communication device encodes the first original data to obtain the first encoded data.
这里的第二通信设备作为发送端,可以称为发送设备、发送端设备或发送端。Here, the second communication device, as a sending end, may be referred to as a sending device, a sending end device or a sending end.
第二通信设备对原始数据进行编码得到编码数据并向第一通信设备发送编码数据,以提升数据传输的可靠性。这里的第一通信设备作为接收端,可以称为接收设备、接收端设备或接收端。The second communication device encodes the original data to obtain encoded data and sends the encoded data to the first communication device, so as to improve the reliability of data transmission. Here, the first communication device, as a receiving end, may be referred to as a receiving device, a receiving end device or a receiving end.
该第一原始数据与第一编码数据对应。第一原始数据可以是参与编码得到第一编码数据的所有原始数据中的部分或全部数据。The first original data corresponds to the first encoded data. The first original data may be part or all of all the original data involved in encoding to obtain the first encoded data.
该第一原始数据既可以是原始数据块,也可以是原始数据包。The first original data can be either an original data block or an original data packet.
该第一编码数据既可以是编码数据块,也可以是编码数据包。The first encoded data may be either an encoded data block or an encoded data packet.
步骤402,第二通信设备向第一通信设备发送第一编码数据。相应地,第一通信设备可以接收到该第一编码数据。Step 402, the second communication device sends the first encoded data to the first communication device. Accordingly, the first communication device can receive the first encoded data.
步骤403,第一通信设备向第二通信设备发送指示信息。相应地,第二通信设备可以接收到该指示信息。Step 403, the first communication device sends indication information to the second communication device. Correspondingly, the second communication device can receive the indication information.
可选地,第一通信设备接收到第一编码数据之后,根据第一编码数据生成指示信息,该指示信息用于反馈第一编码数据的接收情况和/或用于指示第二通信设备下次编码时的参考信息。Optionally, after receiving the first encoded data, the first communication device generates indication information according to the first encoded data, where the indication information is used to feed back the reception status of the first encoded data and/or to instruct the second communication device to next time Reference information when encoding.
本申请实施例中,该指示信息也可以称为反馈信息。In this embodiment of the present application, the indication information may also be referred to as feedback information.
步骤404,第二通信设备根据指示信息获取第二原始数据和编码码率信息。Step 404, the second communication device acquires the second original data and the encoding bit rate information according to the indication information.
该指示信息用于第二原始数据和编码码率信息的获取。也即,当第二通信设备接收到指示信息后,可以根据指示信息获取参与下次编码的第二原始数据,该第二原始数据是上述第一原始数据中的部分或全部数据,以及还可以根据指示信息获取下次编码时的编码码率信息。The indication information is used to obtain the second original data and the coding rate information. That is, after the second communication device receives the indication information, it can obtain the second original data participating in the next encoding according to the indication information, where the second original data is part or all of the above-mentioned first original data, and also According to the indication information, the coding rate information for the next coding is obtained.
步骤405,第二通信设备根据编码码率信息,对第三原始数据和第二原始数据进行联合编码,得到第二编码数据。Step 405, the second communication device performs joint encoding on the third original data and the second original data according to the encoding bit rate information to obtain the second encoded data.
该第二编码数据即为与编码码率信息、第三原始数据和第二原始数据对应的编码数据。The second encoded data is encoded data corresponding to the encoded bit rate information, the third original data and the second original data.
该第三原始数据是当前编码时新增的未曾参与过编码的数据,该第三原始数据不包括第一原始数据。可以理解,该第三原始数据也不包括第一原始数据之前的参与过编码的数据。The third original data is newly added data that has not participated in encoding during the current encoding, and the third original data does not include the first original data. It can be understood that the third original data also does not include data that has participated in encoding before the first original data.
也即,第二通信设备将新增的未曾参与过编码的数据(即第三原始数据)与参与过编码的数据中的部分或全部原始数据(即第二原始数据)进行联合编码,以提升编码效率。That is, the second communication device performs joint encoding on the newly added data that has not participated in encoding (ie, the third original data) and some or all of the original data in the data that has participated in the encoding (ie, the second original data), so as to improve the coding efficiency.
步骤406,第二通信设备向第一通信设备发送第二编码数据。相应地,第一通信设备可以接收到该第二编码数据。Step 406, the second communication device sends the second encoded data to the first communication device. Accordingly, the first communication device can receive the second encoded data.
基于上述实现方案,第二通信设备在向第一通信设备发送第一编码数据之后,可以接收到指示信息,然后基于该指示信息获取参与过编码的原始数据中的第二原始数据和当前编码的编码码率信息,进而根据编码码率信息对第三原始数据和第二原始数据进行联合编码得到第二编码数据,并向第一通信设备发送第二编码数据。该方案,一方面是基于反馈机制指导下次编码,可以实现自适应地调节相关编码参数,进而提升频谱效率、纠错能力,以及降低误包率、编译码复杂度,另一方面实现了新旧数据的联合编码,可以提升接收侧的第一通信设备正确译码得到原始数据的成功率。Based on the above implementation solution, after sending the first encoded data to the first communication device, the second communication device may receive the indication information, and then obtain the second original data and the currently encoded original data in the encoded original data based on the indication information. encoding bit rate information, and then jointly encoding the third original data and the second original data according to the encoding bit rate information to obtain second encoded data, and sending the second encoded data to the first communication device. This solution, on the one hand, is based on the feedback mechanism to guide the next coding, and can adjust the relevant coding parameters adaptively, thereby improving the spectral efficiency, error correction ability, and reducing the packet error rate and coding and decoding complexity. The joint encoding of the data can improve the success rate of the first communication device on the receiving side to correctly decode the original data.
下面对上述步骤404中第二通信设备根据指示信息获取第二原始数据的不同实现方法进行说明。下面分两种情形进行说明。The following describes different implementation methods for the second communication device to acquire the second original data according to the indication information in the foregoing step 404 . Two cases are described below.
情形一,上述第二原始数据包括第一原始数据中的一个或多个第一原始数据包。In case 1, the above-mentioned second original data includes one or more first original data packets in the first original data.
在该情形一下,第二通信设备根据指示信息获取第二原始数据的方法包括但不限于:In this case, the method for the second communication device to obtain the second original data according to the indication information includes but is not limited to:
方法1,当上述指示信息指示第二原始数据包含的第一原始数据包的数量,则第二通 信设备根据第一原始数据包的数量获取第二原始数据。In method 1, when the above-mentioned indication information indicates the number of the first original data packets included in the second original data, the second communication device obtains the second original data according to the number of the first original data packets.
也即,当指示信息指示了第一原始数据包的数量,则第二通信设备将从参与过编码的第一原始数据中获取该数量的原始数据包作为第二原始数据,该第二原始数据参与下次编码。作为一种实现方法,可以将第一原始数据中与第三原始数据时序最近的该数量的原始数据包作为第二原始数据。作为另一种实现方法,可以将第一原始数据中随机选取的该数量的原始数据包作为第二原始数据。本申请实施例对于从第一原始数据中获取该数量的原始数据包作为第二原始数据的具体实现方法不限定。That is, when the indication information indicates the number of the first original data packets, the second communication device will obtain the number of original data packets from the first original data that has participated in the encoding as the second original data. Participate in the next coding. As an implementation method, the number of original data packets whose time sequence is closest to the third original data in the first original data may be used as the second original data. As another implementation method, the number of original data packets randomly selected from the first original data may be used as the second original data. This embodiment of the present application does not limit the specific implementation method for obtaining the number of original data packets from the first original data as the second original data.
本申请实施例中的第一原始数据包是包含在第一原始数据中的一个或多个原始数据包。该第一原始数据包的数量可理解为第一原始数据中与第二原始数据有关的原始数据包的个数。或者理解为,该第一原始数据包的数量是第一原始数据中用于确定第二原始数据的原始数据包的个数。这里对于第一原始数据包的定义适用于全文,也即对于全文中出现的第一原始数据包的含义均可以参考上面描述。The first original data packet in the embodiment of the present application is one or more original data packets contained in the first original data. The number of the first original data packets may be understood as the number of original data packets related to the second original data in the first original data. Alternatively, it can be understood that the number of the first original data packets is the number of original data packets used to determine the second original data in the first original data. The definition of the first original data package here is applicable to the whole text, that is, for the meaning of the first original data package appearing in the whole text, reference may be made to the above description.
方法2,当上述指示信息指示第一编码数据对应的秩(rank),则第二通信设备根据第一编码数据对应的秩确定第二原始数据包含的第一原始数据包的数量,然后根据第一原始数据包的数量获取第二原始数据。 Method 2, when the above indication information indicates the rank corresponding to the first encoded data, the second communication device determines the number of first original data packets included in the second original data according to the rank corresponding to the first encoded data, and then according to the The number of one original data packet obtains the second original data.
第一编码数据对应的秩指的是第一通信设备接收到的编码数据对应的编码矩阵的秩(也可简称为编码数据对应的秩),用于反映第一通信设备对于第一编码数据的接收情况。当满秩,表明第一通信设备对于第一编码数据接收正确,当不满秩,表明第一编码数据存在丢包情况。The rank corresponding to the first coded data refers to the rank of the coding matrix corresponding to the coded data received by the first communication device (may also be referred to as the rank corresponding to the coded data), and is used to reflect the rank of the first communication device with respect to the first coded data. reception. When the rank is full, it indicates that the first communication device receives the first coded data correctly, and when the rank is not satisfied, it indicates that the first coded data has packet loss.
第二通信设备可以根据指示信息指示的第一编码数据对应的秩,确定第二原始数据包含的第一原始数据包的数量。在一种可能的实施方式下,第二原始数据包含的第一原始数据包的数量为第一编码数据对应的原始数据包的数量与指示信息指示的第一编码数据对应的秩的差值。比如,第一编码数据对应的原始数据包的数量为4,当指示信息指示的第一编码数据对应的秩为3,则确定第二原始数据包含的第一原始数据包的数量为1。当指示信息指示的第一编码数据对应的秩为2,则确定第二原始数据包含的第一原始数据包的数量为2。当指示信息指示的第一编码数据对应的秩为1,则确定第二原始数据包含的第一原始数据包的数量为3。进而第二通信设备根据第一原始数据包的数量获取第二原始数据,也即第二通信设备从参与过编码的第一原始数据中获取该数量的原始数据包作为第二原始数据,该第二原始数据参与下次编码。The second communication device may determine the number of the first original data packets included in the second original data according to the rank corresponding to the first encoded data indicated by the indication information. In a possible implementation manner, the number of first original data packets included in the second original data is the difference between the number of original data packets corresponding to the first encoded data and the rank corresponding to the first encoded data indicated by the indication information. For example, the number of original data packets corresponding to the first encoded data is 4, and when the rank corresponding to the first encoded data indicated by the indication information is 3, it is determined that the number of first original data packets included in the second original data is 1. When the rank corresponding to the first encoded data indicated by the indication information is 2, it is determined that the number of first original data packets included in the second original data is 2. When the rank corresponding to the first encoded data indicated by the indication information is 1, it is determined that the number of first original data packets included in the second original data is 3. Further, the second communication device obtains the second original data according to the number of the first original data packets, that is, the second communication device obtains the number of original data packets from the first original data that has participated in the encoding as the second original data, and the second original data 2. The original data participates in the next encoding.
方法3,当上述指示信息指示第一编码数据对应的系统数据包接收情况和冗余数据包接收情况,则第二通信设备根据第一编码数据对应的系统数据包接收情况和冗余数据包接收情况确定第二原始数据包含的第一原始数据包的数量,然后根据第一原始数据包的数量获取第二原始数据。 Method 3, when the above-mentioned indication information indicates the reception situation of the system data packet corresponding to the first encoded data and the reception situation of the redundant data packet, then the second communication device receives the reception situation of the system data packet and the redundant data packet corresponding to the first encoded data. The number of the first original data packets included in the second original data is determined according to the situation, and then the second original data is acquired according to the number of the first original data packets.
其中,系统数据包指的是编码数据中的与原始数据包相同的数据包,也可以认为其编码系数为1。冗余数据包指的是为了提升解码成功率而增加的冗余编码数据包。系统数据包接收情况指的是系统数据包的正确接收数量或比例、或系统数据包的错误接收数量或比例。冗余数据包接收情况指的是冗余数据包的正确接收数量或比例、或冗余数据包的错误接收数量或比例。The system data packet refers to the data packet in the encoded data that is the same as the original data packet, and its encoding coefficient may also be considered to be 1. Redundant data packets refer to redundant encoded data packets added to improve decoding success rate. The reception of system data packets refers to the number or proportion of correct reception of system data packets, or the number or proportion of incorrect reception of system data packets. The redundant data packet reception condition refers to the correct number or proportion of redundant data packets received, or the wrong number or proportion of redundant data packets received.
第二通信设备可以根据指示信息指示的第一编码数据对应的系统数据包接收情况和冗余数据包接收情况,确定第一原始数据包的数量。在一种可能的实施方式下,第二原始数据包含的第一原始数据包的数量为在时序上与第三原始数据最近的K个已经参与过编码的原始数据块包含的原始数据包的数量,该K为根据指示信息确定的第一编码数据对应的系统数据包的错误接收数量与第一编码数据对应的冗余数据包的错误接收数量中的较大值。比如,当指示信息指示的第一编码数据对应的系统数据包接收情况:系统数据包的错误接收数量为1,冗余数据包接收情况:冗余数据包的错误接收数量为0,则确定第一原始数据包的数量为在时序上与第三原始数据最近的1个已经参与过编码的原始数据块包含的原始数据包的数量。再比如,当指示信息指示的第一编码数据对应的系统数据包接收情况:系统数据包的错误接收数量为1,冗余数据包接收情况:冗余数据包的错误接收数量为1,对于错误的系统数据包,可以确定第一原始数据包的数量为在时序上与第三原始数据最近的1个已经参与过编码的原始数据块包含的原始数据包的数量,该原始数据块也即第一编码数据中系统数据包对应的数据块;对于错误的冗余数据包,根据冗余数据包对应的原始数据块数量(表示为O),确定第一原始数据包的数量为在时序上与第三原始数据最近的O个已经参与过编码的原始数据块包含的原始数据包的数量,冗余数据包对应的原始数据块数量也可以理解为是生成该冗余数据包相关的原始数据块的数量。此外,对于系统数据包和冗余数据包都发生错误/丢失的情况,根据错误的系统数据包确定的第一原始数据包的数量可以和根据错误的冗余数据包确定的第一原始数据包的数量保持一致。进而第二通信设备根据第一原始数据包的数量获取第二原始数据,也即第二通信设备从参与过编码的第一原始数据中获取该数量的原始数据包作为第二原始数据,该第二原始数据参与下次编码。The second communication device may determine the number of the first original data packets according to the reception conditions of the system data packets and the reception conditions of the redundant data packets corresponding to the first encoded data indicated by the indication information. In a possible implementation manner, the number of the first original data packets included in the second original data is the number of original data packets included in the K original data blocks that are closest to the third original data in terms of time sequence and have participated in encoding , where K is the larger value of the number of error receptions of system data packets corresponding to the first encoded data determined according to the indication information and the number of error receptions of redundant data packets corresponding to the first encoded data. For example, when the reception situation of the system data packets corresponding to the first encoded data indicated by the indication information: the number of error receptions of system data packets is 1, and the reception situation of redundant data packets: the number of error receptions of redundant data packets is 0, then it is determined that the number of error receptions of the system data packets is 1. The number of an original data packet is the number of original data packets contained in an original data block that is closest to the third original data in terms of time sequence and has participated in encoding. For another example, when the reception situation of the system data packets corresponding to the first encoded data indicated by the indication information: the number of error receptions of system data packets is 1, and the reception situation of redundant data packets: the number of error receptions of redundant data packets is 1, for the error It can be determined that the number of the first original data packet is the number of original data packets contained in the original data block that is closest to the third original data in terms of time sequence and has participated in the encoding. A data block corresponding to the system data packet in the encoded data; for the erroneous redundant data packet, according to the number of original data blocks corresponding to the redundant data packet (represented as 0), determine that the number of the first original data packet is the same as that in time sequence. The number of original data packets contained in the most recent O original data blocks that have participated in the encoding of the third original data, and the number of original data blocks corresponding to redundant data packets can also be understood as generating the original data blocks related to the redundant data packet quantity. In addition, for the case where both the system data packet and the redundant data packet are erroneous/lost, the number of first original data packets determined according to the erroneous system data packet may be the same as the number of first original data packets determined according to the erroneous redundant data packet number remains the same. Further, the second communication device obtains the second original data according to the number of the first original data packets, that is, the second communication device obtains the number of original data packets from the first original data that has participated in the encoding as the second original data, and the second original data 2. The original data participates in the next encoding.
方法4,当上述指示信息指示编码的第一关联深度,则第二通信设备根据第一关联深度确定第二原始数据包含的第一原始数据包的数量,然后根据第一原始数据包的数量获取第二原始数据。 Method 4, when the above-mentioned indication information indicates the encoded first association depth, the second communication device determines the number of first original data packets contained in the second original data according to the first association depth, and then obtains according to the number of the first original data packets. The second raw data.
其中,关联深度用于指示参与过编码的原始数据包(或原始数据块)中,用于参与下次编码的原始数据包(或原始数据块)的数量。因此,当指示信息指示编码的第一关联深度,则第二通信设备可以根据第一关联深度确定第一原始数据包的数量,进而根据第一原始数据包的数量获取第二原始数据,也即第二通信设备从参与过编码的第一原始数据中获取该数量的原始数据包作为第二原始数据,该第二原始数据参与下次编码。Wherein, the association depth is used to indicate the number of original data packets (or original data blocks) that participate in the next encoding in the original data packets (or original data blocks) that have participated in the encoding. Therefore, when the indication information indicates the encoded first association depth, the second communication device may determine the number of the first original data packets according to the first association depth, and then obtain the second original data according to the number of the first original data packets, that is, The second communication device obtains the number of original data packets from the first original data that has participated in the encoding as the second original data, and the second original data participates in the next encoding.
情形二,上述第二原始数据包括第一原始数据中的一个或多个第一原始数据块。In case 2, the above-mentioned second original data includes one or more first original data blocks in the first original data.
在该情形二下,第二通信设备根据指示信息获取第二原始数据的方法包括但不限于:In the second situation, the method for the second communication device to obtain the second original data according to the indication information includes but is not limited to:
方法1,当上述指示信息指示第二原始数据包含的第一原始数据块的数量,则第二通信设备根据第一原始数据块的数量获取第二原始数据。In method 1, when the above-mentioned indication information indicates the number of first original data blocks included in the second original data, the second communication device acquires the second original data according to the number of the first original data blocks.
也即,当指示信息指示了第一原始数据块的数量,则第二通信设备将从参与过编码的第一原始数据中获取该数量的原始数据块作为第二原始数据,该第二原始数据参与下次编码。作为一种实现方法,可以将第一原始数据中与第三原始数据时序最近的该数量的原始数据块作为第二原始数据。作为一种实现方法,可以将第一原始数据中随机选取的该数量的原始数据块作为第二原始数据。本申请实施例对于从第一原始数据中获取该数量的原始 数据块作为第二原始数据的具体实现方法不限定。That is, when the indication information indicates the number of first original data blocks, the second communication device will obtain the number of original data blocks from the first original data that has participated in the encoding as the second original data. Participate in the next coding. As an implementation method, the number of original data blocks in the first original data that are closest in time series to the third original data may be used as the second original data. As an implementation method, the number of raw data blocks randomly selected from the first raw data may be used as the second raw data. This embodiment of the present application does not limit the specific implementation method for obtaining the number of original data blocks from the first original data as the second original data.
本申请实施例中的第一原始数据块是包含在第一原始数据中的一个或多个原始数据包。该第一原始数据块的数量可理解为第一原始数据中与第二原始数据有关的原始数据块的个数。或者理解为,该第一原始数据块的数量是第一原始数据中用于确定第二原始数据的原始数据块的个数。这里对于第一原始数据块的定义适用于全文,也即对于全文中出现的第一原始数据块的含义均可以参考上面描述。The first original data block in the embodiment of the present application is one or more original data packets contained in the first original data. The number of the first original data blocks may be understood as the number of original data blocks related to the second original data in the first original data. Alternatively, it can be understood that the number of the first original data blocks is the number of original data blocks used to determine the second original data in the first original data. The definition of the first original data block here is applicable to the whole text, that is, for the meaning of the first original data block appearing in the whole text, reference may be made to the above description.
方法2,当上述指示信息指示第一编码数据对应的秩,则第二通信设备根据第一编码数据对应的秩确定第二原始数据包含的第一原始数据块的数量,然后根据第一原始数据块的数量获取第二原始数据。 Method 2, when the above-mentioned indication information indicates the rank corresponding to the first encoded data, the second communication device determines the number of first original data blocks included in the second original data according to the rank corresponding to the first encoded data, and then according to the first original data The number of blocks gets the second raw data.
第一编码数据对应的秩指的是第一通信设备接收到的编码数据对应的编码矩阵的秩,用于反映第一通信设备对于第一编码数据的接收情况。当满秩,表明第一通信设备对于第一编码数据接收正确,当不满秩,表明第一编码数据存在丢包情况。The rank corresponding to the first coded data refers to the rank of the coding matrix corresponding to the coded data received by the first communication device, and is used to reflect the reception of the first coded data by the first communication device. When the rank is full, it indicates that the first communication device receives the first coded data correctly, and when the rank is not satisfied, it indicates that the first coded data has packet loss.
第二通信设备可以根据指示信息指示的第一编码数据对应的秩,确定第一原始数据块的数量,进而根据第一原始数据块的数量获取第二原始数据,也即第二通信设备从参与过编码的第一原始数据中获取该数量的原始数据块作为第二原始数据,该第二原始数据参与下次编码。The second communication device may determine the number of the first original data blocks according to the rank corresponding to the first encoded data indicated by the indication information, and then obtain the second original data according to the number of the first original data blocks, that is, the second communication device receives the The number of original data blocks is obtained from the over-encoded first original data as the second original data, and the second original data participates in the next encoding.
方法3,当上述指示信息指示第一编码数据对应的系统数据包接收情况和冗余数据包接收情况,则第二通信设备根据第一编码数据对应的系统数据包接收情况和冗余数据包接收情况确定第二原始数据包含的第一原始数据块的数量,然后根据第一原始数据块的数量获取第二原始数据。 Method 3, when the above-mentioned indication information indicates the reception situation of the system data packet corresponding to the first encoded data and the reception situation of the redundant data packet, then the second communication device receives the reception situation of the system data packet and the redundant data packet corresponding to the first encoded data. The number of the first original data blocks included in the second original data is determined according to the situation, and then the second original data is acquired according to the number of the first original data blocks.
其中,系统数据包指的是编码数据中的与原始数据包相同的数据包。冗余数据包指的是为了提升解码成功率而增加的冗余编码数据包。The system data packet refers to the same data packet as the original data packet in the encoded data. Redundant data packets refer to redundant encoded data packets added to improve decoding success rate.
其中,系统数据包接收情况指的是系统数据包的正确接收数量或比例、或系统数据包的错误接收数量或比例。冗余数据包接收情况指的是冗余数据包的正确接收数量或比例、或冗余数据包的错误接收数量或比例。Wherein, the reception status of system data packets refers to the correct number or proportion of system data packets received, or the number or proportion of system data packets received incorrectly. The redundant data packet reception condition refers to the correct number or proportion of redundant data packets received, or the wrong number or proportion of redundant data packets received.
第二通信设备可以根据指示信息指示的第一编码数据对应的系统数据包接收情况和冗余数据包接收情况,确定第一原始数据块的数量。在一种可能的实施方式下,第二原始数据包含的第一原始数据块的数量为根据指示信息确定的第一编码数据对应的系统数据包的错误接收数量与第一编码数据对应的冗余数据包的错误接收数量中的较大值。比如,当指示信息指示的第一编码数据对应的系统数据包接收情况:系统数据包的错误接收数量为1,冗余数据包接收情况:冗余数据包的错误接收数量为0,则确定第一原始数据块的数量为在时序上与第三原始数据最近的1个已经参与过编码的原始数据块。再比如,当指示信息指示的第一编码数据对应的系统数据包接收情况:系统数据包的错误接收数量为1,冗余数据包接收情况:冗余数据包的错误接收数量为1,对于错误的系统数据包,可以确定第一原始数据块的数量为在时序上与第三原始数据最近的1个已经参与过编码的原始数据块,该原始数据块也即第一编码数据中系统数据包对应的数据块;对于错误的冗余数据包,根据冗余数据包对应的原始数据块数量(用O表示),确定第一原始数据块的数量为在时序上与第三原始数据最近的O个已经参与过编码的原始数据块,冗余数据包对应的原 始数据块数量也可以理解为是生成该冗余数据包相关的原始数据块的数量。此外,对于系统数据包和冗余数据包都发生错误/丢失的情况,根据错误的系统包确定的第一原始数据块的数量可以和根据错误的冗余数据包确定的第一原始数据块的数量保持一致。进而第二通信设备根据第一原始数据块的数量获取第二原始数据,也即第二通信设备从参与过编码的第一原始数据中获取该数量的原始数据块作为第二原始数据,该第二原始数据参与下次编码。The second communication device may determine the number of the first original data blocks according to the reception situation of the system data packets and the reception situation of the redundant data packets corresponding to the first encoded data indicated by the indication information. In a possible implementation manner, the number of the first original data blocks included in the second original data is the redundancy between the number of error receptions of the system data packets corresponding to the first encoded data determined according to the indication information and the corresponding first encoded data The larger of the number of incorrectly received packets. For example, when the reception situation of the system data packets corresponding to the first encoded data indicated by the indication information: the number of error receptions of system data packets is 1, and the reception situation of redundant data packets: the number of error receptions of redundant data packets is 0, then it is determined that the number of error receptions of the system data packets is 1. The number of one original data block is one original data block that is closest to the third original data in terms of time sequence and has participated in encoding. For another example, when the reception situation of the system data packets corresponding to the first encoded data indicated by the indication information: the number of error receptions of system data packets is 1, and the reception situation of redundant data packets: the number of error receptions of redundant data packets is 1, for the error It can be determined that the number of the first original data block is the original data block that has participated in the encoding closest to the third original data in time sequence, and the original data block is also the system data packet in the first encoded data. Corresponding data block; for the wrong redundant data packet, according to the number of original data blocks corresponding to the redundant data packet (represented by 0), determine that the number of the first original data block is 0 that is closest to the third original data in time series. The number of original data blocks corresponding to the redundant data packets can also be understood as the number of original data blocks related to the generation of the redundant data packets. In addition, for the case where both the system data packet and the redundant data packet are erroneous/lost, the number of the first original data block determined according to the erroneous system packet may be the same as the number of the first original data block determined according to the erroneous redundant data packet. The number remains the same. Further, the second communication device obtains the second original data according to the number of the first original data blocks, that is, the second communication device obtains the number of original data blocks from the first original data that has participated in the encoding as the second original data, and the second original data is used as the second original data. 2. The original data participates in the next encoding.
方法4,当上述指示信息指示编码的第一关联深度,则第二通信设备根据第一关联深度确定第二原始数据包含的第一原始数据块的数量,然后根据第一原始数据块的数量获取第二原始数据。 Method 4, when the above-mentioned indication information indicates the encoded first association depth, the second communication device determines the number of the first original data blocks contained in the second original data according to the first association depth, and then obtains according to the number of the first original data blocks. The second raw data.
其中,关联深度用于指示参与过编码的原始数据包(或原始数据块)中,用于参与下次编码的原始数据包(或原始数据块)的数量。因此,当指示信息指示编码的第一关联深度,则第二通信设备可以根据第一关联深度确定第一原始数据块的数量,进而根据第一原始数据块的数量获取第二原始数据,也即第二通信设备从参与过编码的第一原始数据中获取该数量的原始数据块作为第二原始数据,该第二原始数据参与当前编码。Wherein, the association depth is used to indicate the number of original data packets (or original data blocks) that participate in the next encoding in the original data packets (or original data blocks) that have participated in the encoding. Therefore, when the indication information indicates the encoded first association depth, the second communication device may determine the number of the first original data blocks according to the first association depth, and then obtain the second original data according to the number of the first original data blocks, that is, The second communication device obtains the number of original data blocks from the first original data that has participated in the encoding as the second original data, and the second original data participates in the current encoding.
通过上述情形一的方法1至方法4中的任一方法,或情形二的方法1至方法4的任一方面,第二通信设备可以获取第二原始数据,该第二原始数据参与下次编码。Through any one of the methods 1 to 4 in the above situation 1, or any one of the methods 1 to 4 in the situation 2, the second communication device can obtain the second original data, and the second original data participates in the next encoding .
下面对上述步骤404中第二通信设备根据指示信息获取编码码率信息的不同实现方法进行说明。其中,编码码率信息指示第二编码数据对应的冗余数据包个数、第二编码数据对应的编码数据包个数或第二编码数据对应的编码码率。其中,第二编码数据对应的编码码率=(第二编码数据对应的编码数据包个数-第二编码数据对应的冗余数据包个数)/第二编码数据对应的编码数据包个数。其中,第二编码数据对应的编码数据包个数即为第二编码数据中的数据包的总个数,该总个数中包含冗余数据包个数。The following describes different implementation methods in which the second communication device acquires the coding rate information according to the indication information in the foregoing step 404 . The encoding bit rate information indicates the number of redundant data packets corresponding to the second encoded data, the number of encoded data packets corresponding to the second encoded data, or the encoding bit rate corresponding to the second encoded data. Wherein, the coding rate corresponding to the second coded data=(the number of coded data packets corresponding to the second coded data-the number of redundant data packets corresponding to the second coded data)/the number of coded data packets corresponding to the second coded data . The number of encoded data packets corresponding to the second encoded data is the total number of data packets in the second encoded data, and the total number includes the number of redundant data packets.
第二通信设备根据指示信息获取编码码率信息的方法包括但不限于:The method for the second communication device to obtain the coding rate information according to the indication information includes but is not limited to:
方法1,当指示信息指示第一编码数据对应的秩,则第二通信设备根据第一编码数据对应的秩确定第二编码数据对应的冗余数据包个数,然后根据第二编码数据对应的冗余数据包个数确定编码码率。 Method 1, when the indication information indicates the rank corresponding to the first coded data, the second communication device determines the number of redundant data packets corresponding to the second coded data according to the rank corresponding to the first coded data, and then determines the number of redundant data packets corresponding to the second coded data according to the rank corresponding to the first coded data. The number of redundant data packets determines the coding rate.
第一编码数据对应的秩指的是第一通信设备接收到的编码数据的秩,用于反映第一通信设备对于第一编码数据的接收情况。当满秩,表明第一通信设备对于第一编码数据接收正确,当不满秩,表明第一编码数据存在丢包情况。The rank corresponding to the first coded data refers to the rank of the coded data received by the first communication device, and is used to reflect the reception situation of the first coded data by the first communication device. When the rank is full, it indicates that the first communication device receives the first coded data correctly, and when the rank is not satisfied, it indicates that the first coded data has packet loss.
第二通信设备可以根据指示信息指示的第一编码数据对应的秩,确定下次编码对应的冗余数据包个数,也即下次编码得到的第二编码数据对应的冗余数据包个数。在一种可能的实施方式下,在不考虑额外冗余数据包的情况下,下次编码对应的冗余数据包的数量为第一编码数据对应的之前未被正确译码的原始数据包的数量与指示信息指示的第一编码数据对应的秩的差值。比如,第一编码数据对应的之前未被正确译码的原始数据包的数量为4,当指示信息指示的第一编码数据对应的秩为3,可以确定下次编码对应的冗余数据包个数为1。当指示信息指示的之前未被正确译码的第一编码数据对应的秩为2,可以确定下次编码对应的冗余数据包个数为2,等等。进而第二通信设备根据第二编码数据对应的冗余数据包个数确定编码码率。The second communication device may determine the number of redundant data packets corresponding to the next encoding according to the rank corresponding to the first encoded data indicated by the indication information, that is, the number of redundant data packets corresponding to the second encoded data obtained by the next encoding . In a possible implementation manner, without considering additional redundant data packets, the number of redundant data packets corresponding to the next encoding is equal to the original data packets corresponding to the first encoded data that have not been correctly decoded before. The difference between the number and the rank corresponding to the first encoded data indicated by the indication information. For example, the number of original data packets corresponding to the first encoded data that have not been correctly decoded before is 4, and when the rank corresponding to the first encoded data indicated by the indication information is 3, the number of redundant data packets corresponding to the next encoding can be determined. The number is 1. When the rank corresponding to the first encoded data indicated by the indication information that has not been correctly decoded before is 2, it can be determined that the number of redundant data packets corresponding to the next encoding is 2, and so on. Further, the second communication device determines the encoding code rate according to the number of redundant data packets corresponding to the second encoded data.
方法2,当指示信息指示第一编码数据对应的系统数据包接收情况和冗余数据包接收情况,则第二通信设备根据第一编码数据对应的系统数据包接收情况和冗余数据包接收情况确定第二编码数据对应的冗余数据包个数,然后根据第二编码数据对应的冗余数据包个数确定编码码率。 Method 2, when the indication information indicates the reception situation of the system data packets and the reception situation of the redundant data packets corresponding to the first encoded data, the second communication device will receive the system data packets and the redundant data packets corresponding to the first encoded data according to the reception situation. The number of redundant data packets corresponding to the second encoded data is determined, and then the encoding code rate is determined according to the number of redundant data packets corresponding to the second encoded data.
其中,系统数据包指的是编码数据中的与原始数据包相同的数据包。冗余数据包指的是为了提升解码成功率而增加的冗余编码数据包。系统数据包接收情况指的是系统数据包的正确接收数量或比例、或系统数据包的错误接收数量或比例。冗余数据包接收情况指的是冗余数据包的正确接收数量或比例、或冗余数据包的错误接收数量或比例。The system data packet refers to the same data packet as the original data packet in the encoded data. Redundant data packets refer to redundant encoded data packets added to improve decoding success rate. The reception of system data packets refers to the number or proportion of correct reception of system data packets, or the number or proportion of incorrect reception of system data packets. The redundant data packet reception condition refers to the correct number or proportion of redundant data packets received, or the wrong number or proportion of redundant data packets received.
第二通信设备可以根据指示信息指示的第一编码数据对应的系统数据包接收情况和冗余数据包接收情况,确定下次编码对应的冗余数据包个数,也即下次编码得到的第二编码数据对应的冗余数据包个数。在一种可能的实施方式下,在不考虑额外冗余数据包的情况下,下次编码对应的冗余数据包的数量为根据指示信息确定的第一编码数据对应的系统数据包的错误接收数量与第一编码数据对应的冗余数据包的错误接收数量的和值。比如,当指示信息指示的第一编码数据对应的系统数据包接收情况:系统数据包的错误接收数量为1,冗余数据包接收情况:冗余数据包的错误接收数量为0,可以确定下次编码对应的冗余数据包个数为1。再比如,当指示信息指示的第一编码数据对应的系统数据包接收情况:系统数据包的错误接收数量为1,冗余数据包接收情况:冗余数据包的错误接收数量为1,可以确定下次编码对应的冗余数据包个数为2。进而第二通信设备根据第二编码数据对应的冗余数据包个数确定编码码率。The second communication device may determine the number of redundant data packets corresponding to the next encoding, that is, the number of redundant data packets corresponding to the next encoding, according to the receiving conditions of the system data packets and the redundant data packets corresponding to the first encoded data indicated by the indication information, that is, the first encoding obtained by the next encoding. The number of redundant data packets corresponding to the second encoded data. In a possible implementation manner, without considering additional redundant data packets, the number of redundant data packets corresponding to the next encoding is the erroneous reception of the system data packets corresponding to the first encoded data determined according to the indication information The sum of the number of error reception numbers of redundant data packets corresponding to the first encoded data. For example, when the reception situation of the system data packets corresponding to the first encoded data indicated by the indication information: the number of error receptions of system data packets is 1, and the reception situation of redundant data packets: the number of error receptions of redundant data packets is 0, it can be determined as follows: The number of redundant data packets corresponding to the secondary encoding is 1. For another example, when the reception situation of the system data packets corresponding to the first encoded data indicated by the indication information: the number of error receptions of system data packets is 1, and the reception situation of redundant data packets: the number of error receptions of redundant data packets is 1, it can be determined that The number of redundant data packets corresponding to the next encoding is 2. Further, the second communication device determines the encoding code rate according to the number of redundant data packets corresponding to the second encoded data.
通过上述方法1或方法2,第二通信设备可以确定编码码率,从而根据编码码率,对第三原始数据和第二原始数据进行联合编码得到第二编码数据。Through the above method 1 or method 2, the second communication device can determine the coding rate, so as to obtain the second coded data by jointly coding the third original data and the second original data according to the coding rate.
作为一种实现方法,上述指示信息,除了指示上述描述的信息之外,还可以指示以下一项或多项:As an implementation method, the above-mentioned indication information, in addition to the above-described information, may also indicate one or more of the following:
1)第三原始数据对应的原始数据包的数量。1) The number of original data packets corresponding to the third original data.
也即指示信息指示了下次编码时,使用到的新增的未曾参与过编码的原始数据包的数量。That is, the indication information indicates the number of newly added original data packets that have not participated in the encoding used in the next encoding.
2)第三原始数据对应的原始数据块的数量。2) The number of original data blocks corresponding to the third original data.
也即指示信息指示了下次编码时,使用到的新增的未曾参与过编码的原始数据块的数量。That is, the indication information indicates the number of newly added original data blocks that have not participated in the encoding to be used in the next encoding.
3)译码窗可用窗长或译码窗已用窗长。3) The available window length of the decoding window or the used window length of the decoding window.
译码窗对应一个最大窗长,该最大窗长指的是参与译码的最大数据长度,也可理解为能够进行译码的编码数据块的最大数量。因此指示信息可以指示译码窗可用窗长,也即指示剩余能够参与译码的编码数据块的数量。或者,指示信息可以指示译码窗已用窗长,从而可以根据译码窗已用窗长和译码窗最大窗长确定译码窗可用窗长,从而确定剩余能够译码的编码数据块的数量。The decoding window corresponds to a maximum window length, and the maximum window length refers to the maximum data length involved in decoding, which can also be understood as the maximum number of encoded data blocks that can be decoded. Therefore, the indication information may indicate the available window length of the decoding window, that is, the number of remaining encoded data blocks that can participate in decoding. Alternatively, the indication information can indicate the used window length of the decoding window, so that the available window length of the decoding window can be determined according to the used window length of the decoding window and the maximum window length of the decoding window, thereby determining the remaining coded data blocks that can be decoded. quantity.
作为一种实现方法,上述第二编码数据可以包含头信息和数据信息,其中,数据信息用于携带编码后的数据。该头信息用于指示该第二编码数据对应的编码参数信息,使得第 一通信设备在接收到第二编码数据后可以正确译码得到编码前的原始数据。As an implementation method, the above-mentioned second encoded data may include header information and data information, wherein the data information is used to carry the encoded data. The header information is used to indicate encoding parameter information corresponding to the second encoded data, so that the first communication device can correctly decode the original data before encoding after receiving the second encoded data.
其中,头信息指示第二关联深度,该第二关联深度可以是根据指示信息确定的,或者可以是根据指示信息及其他系统信息(如信道状态信息等)联合确定的。若上述指示信息指示了第一关联深度(可以是显式指示或隐式指示),则该第二关联深度可以与第一关联深度相同,也可以不相同。The header information indicates the second association depth, and the second association depth may be determined according to the indication information, or may be jointly determined according to the indication information and other system information (eg, channel state information, etc.). If the above indication information indicates the first association depth (which may be an explicit indication or an implicit indication), the second association depth may be the same as or different from the first association depth.
可选地,该头信息还可以指示以下一项或多项:Optionally, the header information may also indicate one or more of the following:
1)第三原始数据对应的原始数据包的数量。1) The number of original data packets corresponding to the third original data.
2)第二编码数据对应的原始数据块的标识。2) The identifier of the original data block corresponding to the second encoded data.
3)第二编码数据对应的编码系数。3) Coding coefficients corresponding to the second coded data.
其中,编码系数也可以称为编码码本系数、或码本系数等。The coding coefficients may also be referred to as coding codebook coefficients, codebook coefficients, or the like.
下面结合以下实施例一至实施例五的具体示例,对上述图4所示的通信方法,从不同方面进行详细阐述。可以理解,在本申请中各个实施例、以及各实施例中的各个实施方式/实施方法中,如果没有特殊说明以及逻辑冲突,不同的实施例、以及各实施例中的各个实施方式/实施方法/实现方法中的技术特征根据其内在的逻辑关系可以组合形成新的实施例、实施方式、或实施方法。The communication method shown in FIG. 4 above will be described in detail from different aspects in conjunction with the specific examples of the first embodiment to the fifth embodiment below. It can be understood that, in the various embodiments in this application and each implementation manner/implementation method in each embodiment, if there is no special description or logical conflict, different embodiments and various implementation manners/implementation methods in each embodiment The technical features in the implementation method can be combined to form new embodiments, implementation manners, or implementation methods according to their inherent logical relationships.
可以理解,上述指示信息在以下实施例中被称为反馈信息,上述第一通信设备在以下实施例中被称为接收端,上述第二通信设备在以下实施例中被称为发送端,上述第二原始数据可以是以下实施例中的旧原始数据包或旧原始数据块,上述第三原始数据可以是以下实施例中的新原始数据包或新原始数据块。It can be understood that the above-mentioned indication information is referred to as feedback information in the following embodiments, the above-mentioned first communication device is referred to as a receiving end in the following embodiments, the above-mentioned second communication device is referred to as a transmitting end in the following embodiments, the above-mentioned The second original data may be old original data packets or old original data blocks in the following embodiments, and the above-mentioned third original data may be new original data packets or new original data blocks in the following embodiments.
实施例一Example 1
该实施例提供基于反馈的卷积网络编码方案的整体设计及流程,并在此基础上提供单进程和多进程的反馈方案。This embodiment provides the overall design and flow of the feedback-based convolutional network coding scheme, and provides single-process and multi-process feedback solutions on this basis.
如图5(a)所示,为基于反馈的卷积网络编码方案示意图。该方案包括以下步骤:As shown in Figure 5(a), it is a schematic diagram of a feedback-based convolutional network coding scheme. The program includes the following steps:
步骤一:初始状态,在发送端,原始数据包进入发送端的卷积网络编码器,并存储在对应的存储单元,如寄存器单元,卷积网络编码器按照设定的初始参数确定一个初始编码生成矩阵,按照编码生成矩阵对相应的原始数据包进行网络编码,并添加包头信息,得到一组编码数据包。Step 1: In the initial state, at the sending end, the original data packet enters the convolutional network encoder at the sending end and is stored in the corresponding storage unit, such as a register unit. The convolutional network encoder determines an initial code generation according to the set initial parameters. Matrix, network coding is performed on the corresponding original data packets according to the coding generation matrix, and header information is added to obtain a set of coded data packets.
本申请中,卷积网络编码器也可以简称为编码器、发端编码器或发送端编码器,这里统一说明,后续不再赘述。In this application, the convolutional network encoder may also be referred to as an encoder, a transmitter encoder or a transmitter encoder for short, which is described in a unified manner here, and will not be repeated hereafter.
步骤二:发送端发送生成的网络编码数据包,经信道传输,由于干扰、噪声等因素的影响,会出现丢包和/或误包的情况,通过合理的校验机制,如循环冗余码校验(cyclic redundancy check,CRC)校验,接收端收到一组正确的编码数据包。Step 2: The sender sends the generated network coding data packet, and transmits it through the channel. Due to the influence of interference, noise and other factors, there will be packet loss and/or packet error. Through a reasonable verification mechanism, such as cyclic redundancy code Check (cyclic redundancy check, CRC) check, the receiver receives a set of correct encoded data packets.
步骤三:接收端收到编码数据包后,识别包头信息,获取数据块ID、编码系数、关联深度等参数并使用卷积网络译码器进行译码操作,并形成反馈信息以表征译码的情况。如果译码正确,输出译码得到的原始数据包。此外,将反馈信息通过对应的承载方式经信道发送给发送端。Step 3: After receiving the encoded data packet, the receiving end identifies the packet header information, obtains parameters such as the data block ID, encoding coefficient, correlation depth, etc. and uses the convolutional network decoder to perform the decoding operation, and forms feedback information to characterize the decoding process. condition. If the decoding is correct, output the original data packet obtained by decoding. In addition, the feedback information is sent to the sender through a channel through a corresponding bearer.
本申请中,卷积网络译码器也可以简称为译码器、收端译码器或接收端译码器,这里统一说明,后续不再赘述。In this application, the convolutional network decoder may also be referred to as a decoder, a receiver decoder, or a receiver decoder for short, which is described in a unified manner here, and will not be repeated in the following.
步骤四:发送端接收来自接收端的反馈信息,并确定下一次卷积网络编码器的编码参数,诸如关联深度、卷积编码核以及编码数据包的个数等。发送端确定的编码参数可以和反馈信息对应的编码参数保持一致,也可以由发送端根据反馈信息的编码参数以及结合其他系统信息重新确定编码参数。根据编码参数,对新数据包和旧数据包进行联合编码,并添加包头信息,得到一组编码数据包。然后返回步骤二。Step 4: The transmitting end receives the feedback information from the receiving end, and determines the encoding parameters of the next convolutional network encoder, such as the correlation depth, the convolutional encoding kernel, and the number of encoded data packets. The coding parameters determined by the sending end may be consistent with the coding parameters corresponding to the feedback information, or the coding parameters may be re-determined by the sending end according to the coding parameters of the feedback information and in combination with other system information. According to the encoding parameters, the new data packet and the old data packet are jointly encoded, and the packet header information is added to obtain a set of encoded data packets. Then go back to step two.
由于发送端从发送编码数据到收到反馈信息的过程存在时延,如空口传输时延、接收端数据处理时延等,为了降低时延造成系统性能,如吞吐量、频谱效率等的下降,本申请实施例提出基于单进程或多进程的反馈方案。下面分别说明。Since there is a delay in the process from sending coded data to receiving feedback information at the sender, such as air interface transmission delay, data processing delay at the receiver, etc., in order to reduce the delay, the system performance, such as throughput and spectral efficiency, decreases. The embodiments of the present application propose a feedback solution based on a single process or multiple processes. They are described below.
(1)基于单进程的反馈方案(1) Feedback scheme based on single process
在第一种单进程反馈方案中,采用停等的方式,即发送端发送了一组编码数据包之后,需要等待接收端的反馈信息,期间发送端不发送新的编码数据。In the first single-process feedback scheme, the stop-and-wait method is adopted, that is, after the sender sends a set of coded data packets, it needs to wait for the feedback information from the receiver, during which the sender does not send new coded data.
如图5(b)所示,为单进程停等式的反馈方案示意图。第一个原始数据块B 0与第二个原始数据块B 1之间存在时延T,在时延T期间发送端不发送新的编码数据。这种停等的方式会造成系统资源的浪费以及性能的下降。 As shown in Figure 5(b), it is a schematic diagram of the feedback scheme of the single-process stopping equation. There is a time delay T between the first original data block B 0 and the second original data block B 1 , and during the time delay T, the sender does not send new encoded data. This way of waiting will cause waste of system resources and performance degradation.
在第二种单进程的反馈方案中,采用填充的方式,在时延T期间,发送端继续发送编码数据,编码数据通过对第一个原始数据块之后的原始数据块沿用第一个原始数据块的编码参数,或者采用半静态配置编码参数的方式,对时延T中的原始数据块进行编码,实现新原始数据包与旧原始数据包的联合编码。通过该方案,可以保证发送端发送编码数据包到收到反馈信息的这段时间(即上述时延T)的资源不被浪费。可选地,可以按照最小时间单元T 0为粒度调整反馈时延T,使得T向上取整为T 0的整数倍,从而在反馈时延T内,有整数个原始数据块可以被编码发送。 In the second single-process feedback scheme, padding is used. During the time delay T, the sender continues to send encoded data. The encoded data uses the first original data for the original data blocks after the first original data block. The encoding parameters of the block, or the method of semi-statically configuring the encoding parameters, encodes the original data block in the delay T, and realizes the joint encoding of the new original data packet and the old original data packet. With this solution, it can be ensured that resources during the period from when the sender sends the encoded data packet to when the feedback information is received (ie, the above-mentioned time delay T) is not wasted. Optionally, the feedback delay T can be adjusted according to the granularity of the smallest time unit T 0 , so that T is rounded up to an integer multiple of T 0 , so that within the feedback delay T, an integer number of original data blocks can be encoded and sent.
如图6所示,为单进程填充式的反馈方案示意图。假设第一个原始数据块B 0进入发送端的卷积网络编码器,按照编码参数进行网络编码并发送编码数据块。在反馈时延T内可以对3个原始数据块(即原始数据块B 1、B 2、B 3)进行编码传输操作,也即B 1、B 2、B 3进入发送端的卷积网络编码器,可以根据B 0的编码参数或半静态配置的编码参数对B 1、B 2、B 3进行编码。执行上述操作直到发送端收到反馈信息,并根据反馈信息优化编码参数配置,并在反馈时延T之后的下一个单位时间内根据优化后的编码参数配置对原始数据块B 4进行编码操作。这里的编码参数包括但不限于关联深度、编码数据包的个数、编码系数等。这里不同原始数据块B i(i=0,1,2,3)的大小(即原始数据块包含的原始数据包的个数),可以是相同的,也可以是不同的。 As shown in FIG. 6 , it is a schematic diagram of a single-process filled feedback scheme. Suppose that the first original data block B 0 enters the convolutional network encoder at the sending end, performs network encoding according to the encoding parameters and sends the encoded data block. Within the feedback delay T, three original data blocks (ie, original data blocks B 1 , B 2 , B 3 ) can be encoded and transmitted, that is, B 1 , B 2 , and B 3 enter the convolutional network encoder at the sending end , B 1 , B 2 , and B 3 can be encoded according to the encoding parameter of B 0 or the encoding parameter of the semi-static configuration. The above operations are performed until the sender receives the feedback information, and the encoding parameter configuration is optimized according to the feedback information, and the original data block B 4 is encoded according to the optimized encoding parameter configuration within the next unit time after the feedback delay T. The encoding parameters here include, but are not limited to, the associated depth, the number of encoded data packets, encoding coefficients, and the like. Here, the sizes of different original data blocks B i (i=0, 1, 2, 3) (that is, the number of original data packets included in the original data blocks) may be the same or different.
(2)基于多进程的反馈方案(2) Feedback scheme based on multi-process
在上述基于单进程的反馈方案中,停等式方案操作简单,但会造成反馈时延内的系统资源浪费及性能下降,填充式方案改善了停等式方案的资源利用率,但是反馈的时延导致了滞后性,即原始数据块B 4的编码参数是根据原始数据块B 0的译码结果确定的,并不能做到实时准确的反馈,导致冗余的增加或者译码性能的下降。比如,发送端无法根据原始数据块B 0的译码结果确定原始数据块B 1的编码参数,无法根据原始数据块B 1的译码结果确定原始数据块B 2的编码参数,无法根据原始数据块B 2的译码结果确定原始数据块B 3的编码参数,无法根据原始数据块B 3的译码结果确定原始数据块B 4的编码参数。 In the above single-process-based feedback scheme, the stop-and-wait scheme is simple to operate, but will cause waste of system resources and performance degradation within the feedback delay. The fill-in scheme improves the resource utilization of the stop-and-wait scheme, but the feedback time The delay leads to hysteresis, that is, the coding parameters of the original data block B 4 are determined according to the decoding result of the original data block B 0 , and real-time and accurate feedback cannot be achieved, resulting in increased redundancy or decreased decoding performance. For example, the sender cannot determine the encoding parameters of the original data block B 1 according to the decoding result of the original data block B 0 , cannot determine the encoding parameters of the original data block B 2 according to the decoding result of the original data block B 1 , and cannot determine the encoding parameters of the original data block B 2 according to the decoding result of the original data block B 1 . The decoding result of the block B2 determines the encoding parameter of the original data block B3 , and the encoding parameter of the original data block B4 cannot be determined according to the decoding result of the original data block B3 .
(a)在基于多进程的反馈方案中,存在反馈时延T以及至少一个进程数值。发送端可以根据原始数据块中原始数据包的个数、MAC层传输块的大小以及时延的要求,确定 激活的进程数,也即从至少一个进程数值中获得一个合适的进程数值,并激活相应数量的进程。(a) In a multi-process based feedback scheme, there is a feedback delay T and at least one process value. The sender can determine the number of activated processes according to the number of original data packets in the original data block, the size of the MAC layer transmission block and the delay requirements, that is, obtain a suitable process value from at least one process value, and activate it. the corresponding number of processes.
如图7所示,为基于多进程的反馈方案示意图。发送端有z个进程,这里z取值为4,即发送端包含进程0,进程1,进程2和进程3。反馈时延T内可以对3个原始数据块(B 1~B 3)分别进行编码和传输,原始数据块B 1在进程1下进行编码并发送,原始数据块B 2在进程2下进行编码并发送,原始数据块B 3在进程3下进行编码并发送。在此期间,发送端可以收到进程0中的原始数据块B 0对应的编码数据块的反馈信息。在进程3完成对原始数据块B 3的编码处理以后,在进程0中,根据B 0对应的反馈信息确定原始数据块B 4的编码参数,并根据该编码参数对原始数据块B 4进行编码后发送。对于原始数据块B 0对应的反馈信息的生成,从接收端来看,接收端的卷积网络译码器对收到的B 0对应的编码数据包进行译码处理,生成反馈信息,并发送给发送端。如果译码成功,则输出译码结果(即原始数据块B 0)。可以理解,在发送端,进程1至进程3中的编码等操作与进程0中的编码等操作类似,不再赘述。在接收端,进程1至进程3中的译码等操作与进程0中的译码等操作类似,也不再赘述。 As shown in FIG. 7 , it is a schematic diagram of a feedback scheme based on multiple processes. The sender has z processes, where z is 4, that is, the sender includes process 0, process 1, process 2 and process 3. The three original data blocks (B 1 to B 3 ) can be encoded and transmitted respectively within the feedback delay T. The original data block B 1 is encoded and sent under process 1, and the original data block B 2 is encoded under process 2. And send, the original data block B 3 is encoded and sent under process 3. During this period, the sender can receive feedback information of the encoded data block corresponding to the original data block B 0 in process 0. After the process 3 completes the encoding process of the original data block B 3 , in the process 0, the encoding parameters of the original data block B 4 are determined according to the feedback information corresponding to B 0 , and the original data block B 4 is encoded according to the encoding parameters. sent later. For the generation of feedback information corresponding to the original data block B 0 , from the perspective of the receiving end, the convolutional network decoder at the receiving end decodes the received encoded data packet corresponding to B 0 , generates feedback information, and sends it to sender. If the decoding is successful, the decoding result (ie, the original data block B 0 ) is output. It can be understood that, on the sending end, operations such as encoding in process 1 to process 3 are similar to operations such as encoding in process 0, and will not be described again. At the receiving end, operations such as decoding in process 1 to process 3 are similar to those in process 0, and will not be repeated here.
从图7可以看出,发送端在进程0中可以根据原始数据块B 0的译码结果确定原始数据块B 4的编码参数,在进程1中可以根据原始数据块B 1的译码结果确定原始数据块B 5的编码参数,在进程2中可以根据原始数据块B 2的译码结果确定原始数据块B 6的编码参数,在进程3中可以根据原始数据块B 3的译码结果确定原始数据块B 7的编码参数。各进程可以独立实现基于上一个原始数据块对应的编码数据块的反馈信息(即译码结果)来确定下一个原始数据块的编码参数,并基于该编码参数对下一个原始数据块进行编码,从而可以实现基于实时反馈的译码结果来调整编码参数,提升编码性能。 As can be seen from Figure 7, the sender can determine the encoding parameters of the original data block B 4 according to the decoding result of the original data block B 0 in the process 0, and can determine the encoding parameters of the original data block B 1 in the process 1 according to the decoding result of the original data block B 1 The encoding parameters of the original data block B 5 can be determined according to the decoding result of the original data block B 2 in the process 2, and the encoding parameters of the original data block B 6 can be determined in the process 3 according to the decoding result of the original data block B 3 . Coding parameters of original data block B 7 . Each process can independently determine the encoding parameters of the next original data block based on the feedback information (ie the decoding result) of the encoded data block corresponding to the previous original data block, and encode the next original data block based on the encoding parameters, Therefore, it is possible to adjust the coding parameters based on the decoding result fed back in real time, and improve the coding performance.
(b)进一步地,还可以在发送端的卷积网络编码器中实现交织功能。可选地,交织是以编码数据包为粒度进行的。(b) Further, the interleaving function can also be implemented in the convolutional network encoder at the transmitting end. Optionally, interleaving is performed at the granularity of coded packets.
原始数据块经过发送端的卷积网络编码器生成多进程的编码数据块,再以编码数据包为单位对编码数据块进行交织形成不同进程下的交织后的编码数据块。The original data block is passed through the convolutional network encoder at the sender to generate multi-process coded data blocks, and then the coded data blocks are interleaved in units of coded data packets to form interleaved coded data blocks under different processes.
下面分两种情况分别说明。Two cases are described below.
情形一,编码数据块中的编码数据包的个数不是进程数的整数倍。 Case 1, the number of encoded data packets in the encoded data block is not an integral multiple of the number of processes.
如图8所示,为交织后的编码数据块的一个示例图。该图给出了4个进程,并且卷积网络编码器生成了对应四个进程的编码数据块C 0~C 7。假设每个编码数据块中的编码数据包的个数为3,不是进程数(即4)的整数倍。 As shown in FIG. 8 , it is an example diagram of an interleaved encoded data block. The figure shows 4 processes, and the convolutional network encoder generates encoded data blocks C 0 to C 7 corresponding to the four processes. It is assumed that the number of encoded data packets in each encoded data block is 3, which is not an integer multiple of the number of processes (ie, 4).
图8给出了交织后的编码数据块形式,每个进程号表示一个编码数据块,如进程0对应的交织后的第一个编码数据块,是由C 0~C 2的第一个编码数据包组成,进程1对应的交织后的第一个编码数据块,是由C 3的第一个编码数据包以及C 0~C 1的第二个编码数据包构成。按照上述规律以此类推,得到交织后的编码数据块。 Figure 8 shows the coded data block form after interleaving, each process number represents a coded data block, for example, the first coded data block after interleaving corresponding to process 0 is the first coded data block by C 0 ~ C 2 Composed of data packets, the first coded data block after interleaving corresponding to process 1 is composed of the first coded data packet of C 3 and the second coded data packets of C 0 to C 1 . According to the above rules and so on, an interleaved encoded data block is obtained.
下面展示各个进程对应的交织后的编码数据块。The following shows the interleaved encoded data blocks corresponding to each process.
首先,编码数据块C i(i=0,1,2,…,7)中的编码数据包表示为:C i0,C i1,C i2First, the encoded data packets in the encoded data block C i (i=0, 1, 2, . . . , 7) are represented as: C i0 , C i1 , C i2 .
C 0:C 00,C 01,C 02 C 0 :C 00 ,C 01 ,C 02
C 1:C 10,C 11,C 12 C1 : C10 , C11 , C12
C 2:C 20,C 21,C 22 C2 : C20 , C21 , C22
C 3:C 30,C 31,C 32 C3 : C30 , C31 , C32
C 4:C 40,C 41,C 42 C4 : C40 , C41 , C42
C 5:C 50,C 51,C 52 C5 : C50 , C51 , C52
C 6:C 60,C 61,C 62 C6 : C60 , C61 , C62
C 7:C 70,C 71,C 72 C7 : C70 , C71 , C72
则交织后,各个进程分别对应的交织后的编码数据块如下:After interleaving, the interleaved encoded data blocks corresponding to each process are as follows:
进程0:编码数据块1(C 00,C 10,C 20),编码数据块2(C 40,C 50,C 60)。 Process 0: encoded data block 1 (C 00 , C 10 , C 20 ), encoded data block 2 (C 40 , C 50 , C 60 ).
进程1:编码数据块1(C 30,C 01,C 11),编码数据块2(C 70,C 41,C 51)。 Process 1: encoded data block 1 (C 30 , C 01 , C 11 ), encoded data block 2 (C 70 , C 41 , C 51 ).
进程2:编码数据块1(C 21,C 31,C 02),编码数据块2(C 61,C 71,C 42)。 Process 2: encoded data block 1 (C 21 , C 31 , C 02 ), encoded data block 2 (C 61 , C 71 , C 42 ).
进程3:编码数据块1(C 12,C 22,C 32),编码数据块2(C 52,C 62,C 72)。 Process 3: Encoding data block 1 (C 12 , C 22 , C 32 ), encoding data block 2 (C 52 , C 62 , C 72 ).
情形二,编码数据块中的编码数据包的个数是进程数的整数倍。In the second case, the number of encoded data packets in the encoded data block is an integer multiple of the number of processes.
如图9所示,为交织后的编码数据块的另一个示例图。假设编码数据块的编码数据包个数为4,等于进程数(即4)。此时只需要将每个编码数据块的相同位置的编码数据包提取并组合,即可构成新的编码数据块。例如,将C 0~C 3的第1个编码数据包组成进程0对应的第1个编码数据块,C 0~C 3的第2个编码数据包组成进程0对应的第2个编码数据块,依次类推。如果编码数据块的包个数是进程数的n倍,则每次交织过程依次提取每个编码数据块n个编码数据包组合成新的编码数据块。 As shown in FIG. 9 , it is another example diagram of an interleaved encoded data block. It is assumed that the number of encoded data packets of the encoded data block is 4, which is equal to the number of processes (ie, 4). In this case, it is only necessary to extract and combine the encoded data packets at the same position of each encoded data block to form a new encoded data block. For example, the first encoded data packets of C 0 to C 3 are formed into the first encoded data block corresponding to process 0, and the second encoded data packets of C 0 to C 3 are formed into the second encoded data block corresponding to process 0 ,And so on. If the number of packets of the encoded data block is n times the number of processes, each interleaving process sequentially extracts n encoded data packets from each encoded data block and combines them into a new encoded data block.
图9给出了交织后的编码数据块形式,每个进程号表示一个编码数据块,如进程0对应的交织后的第一个编码数据块,是由C 0~C 3的第一个编码数据包组成,进程1对应的交织后的第一个编码数据块,是由C 0~C 3的第二个编码数据包组成。按照上述规律以此类推,得到交织后的编码数据块。 Figure 9 shows the form of the coded data block after interleaving. Each process number represents a coded data block. For example, the first coded data block after interleaving corresponding to process 0 is the first coded data block from C 0 to C 3 . The first coded data block after interleaving corresponding to process 1 is composed of the second coded data packets of C 0 to C 3 . According to the above rules and so on, an interleaved encoded data block is obtained.
下面展示各个进程对应的交织后的编码数据块。The following shows the interleaved encoded data blocks corresponding to each process.
首先,编码数据块C i(i=0,1,2,…,7)中的编码数据包表示为:C i0,C i1,C i2,C i3First, the encoded data packets in the encoded data block C i (i=0, 1, 2, . . . , 7) are represented as: C i0 , C i1 , C i2 , C i3 .
C 0:C 00,C 01,C 02,C 03 C 0 :C 00 ,C 01 ,C 02 ,C 03
C 1:C 10,C 11,C 12,C 13 C 1 :C 10 ,C 11 ,C 12 ,C 13
C 2:C 20,C 21,C 22,C 23 C2 : C20 , C21 , C22 , C23
C 3:C 30,C 31,C 32,C 33 C3 : C30 , C31 , C32 , C33
C 4:C 40,C 41,C 42,C 43 C4 : C40 , C41 , C42 , C43
C 5:C 50,C 51,C 52,C 53 C5 : C50 , C51 , C52 , C53
C 6:C 60,C 61,C 62,C 63 C6 : C60 , C61 , C62 , C63
C 7:C 70,C 71,C 72,C 73 C7 : C70 , C71 , C72 , C73
则交织后,各个进程分别对应的交织后的编码数据块如下:After interleaving, the interleaved encoded data blocks corresponding to each process are as follows:
进程0:编码数据块1(C 00,C 10,C 20,C 30),编码数据块2(C 40,C 50,C 60,C 70)。 Process 0: encoded data block 1 (C 00 , C 10 , C 20 , C 30 ), encoded data block 2 (C 40 , C 50 , C 60 , C 70 ).
进程1:编码数据块1(C 01,C 11,C 21,C 31),编码数据块2(C 41,C 51,C 61,C 71)。 Process 1: encoded data block 1 (C 01 , C 11 , C 21 , C 31 ), encoded data block 2 (C 41 , C 51 , C 61 , C 71 ).
进程2:编码数据块1(C 02,C 12,C 22,C 32),编码数据块2(C 42,C 52,C 62,C 72)。 Process 2: encoded data block 1 (C 02 , C 12 , C 22 , C 32 ), encoded data block 2 (C 42 , C 52 , C 62 , C 72 ).
进程3:编码数据块1(C 03,C 13,C 23,C 33),编码数据块2(C 43,C 53,C 63,C 73)。 Process 3: Encoded data block 1 (C 03 , C 13 , C 23 , C 33 ), encoded data block 2 (C 43 , C 53 , C 63 , C 73 ).
下面给出本申请实施例提供的发送端的卷积网络编码器的结构形式。The structural form of the convolutional network encoder at the transmitting end provided by the embodiment of the present application is given below.
如图10所示,为多进程编码器的一个示意图。在发送端设置的卷积网络编码器具有多进程编码能力,即卷积网络编码器中可以区分多个进程或者通道,各个进程之间相互独立,具有各自的移位缓存模块,编码模块等。卷积网络编码器还设置一个数据分类及进程管理模块,用于将接收到的原始数据块(或原始数据包)分发至各个进程,以及用于对各个进程进行管理。As shown in Figure 10, it is a schematic diagram of a multi-process encoder. The convolutional network encoder set at the sending end has multi-process encoding capability, that is, multiple processes or channels can be distinguished in the convolutional network encoder, and each process is independent of each other and has its own shift buffer module, encoding module, etc. The convolutional network encoder is further provided with a data classification and process management module, which is used for distributing the received original data blocks (or original data packets) to each process, and for managing each process.
如图11所示,为多进程编码器的又一个示意图。在发送端设置的卷积网络编码器内部有多个单进程编码器,各个单进程编码器之间相互独立,具有各自的移位缓存模块,编码模块等。卷积网络编码器还设置一个数据分类模块,用于将接收到的原始数据块(或原始数据包)分发至各个单进程编码器。As shown in FIG. 11 , it is another schematic diagram of a multi-process encoder. There are multiple single-process encoders inside the convolutional network encoder set at the sending end, and each single-process encoder is independent of each other and has its own shift buffer module, encoding module, and so on. The convolutional network encoder also sets a data classification module for distributing the received raw data blocks (or raw data packets) to each single-process encoder.
下面给出本申请实施例提供的接收端的卷积网络译码器的结构形式。The structural form of the convolutional network decoder at the receiving end provided by the embodiment of the present application is given below.
如图12所示,为多进程译码器的一个示意图。在接收端设置的卷积网络译码器具有多进程译码能力,即卷积网络译码器中可以区分多个进程或者通道,各个进程之间相互独立,具有各自的移位缓存模块,译码模块等。卷积网络译码器还设置一个数据分类及进程管理模块,用于将接收到的编码数据块(或编码数据包)分发至各个进程,以及用于对各个进程进行管理。As shown in FIG. 12, it is a schematic diagram of a multi-process decoder. The convolutional network decoder set at the receiving end has multi-process decoding capability, that is, multiple processes or channels can be distinguished in the convolutional network decoder. Each process is independent of each other and has its own shift buffer module. code module, etc. The convolutional network decoder is further provided with a data classification and process management module for distributing the received encoded data blocks (or encoded data packets) to each process, and for managing each process.
如图13所示,为多进程译码器的又一个示意图。在接收端设置的卷积网络译码器内部有多个单进程译码器,各个单进程译码器之间相互独立,具有各自的移位缓存模块,译码模块等。卷积网络译码器还设置一个数据分类模块,用于将接收到的编码数据块(或编码数据包)分发至各个单进程译码器。As shown in FIG. 13 , it is another schematic diagram of a multi-process decoder. There are multiple single-process decoders inside the convolutional network decoder set at the receiving end, and each single-process decoder is independent of each other, and has its own shift buffer module, decoding module, and so on. The convolutional network decoder is also provided with a data classification module for distributing the received encoded data blocks (or encoded data packets) to each single-process decoder.
上述实施例一有益效果如下:设计了单进程和多进程下的基于反馈的网络编码方法及设备,通过优化单进程和多进程的操作,可以充分利用发送端发送编码数据到收到反馈信息的这段时延。在单进程的情况下,可以根据半静态的编码参数或者前一个基于反馈优化的编码参数,对后续的原始数据块进行卷积编码并传输,等收到反馈信息,再对下一个原始数据块进行编码参数优化。在多进程的情况下,能够在反馈时延里添加多个进程,并且多个进程之间相互独立,每个进程可以进行准确的反馈并优化编码参数,更加高效地实现发送端编码策略,充分利用系统资源,提升了系统吞吐量等性能。此外,通过多进程交织的方式,可以进一步改善网络编码对突发干扰的对抗能力。The beneficial effects of the above-mentioned first embodiment are as follows: a feedback-based network coding method and device under single-process and multi-process are designed, and by optimizing the operation of single-process and multi-process, it is possible to make full use of the transmitting end to send encoded data to the receiver that receives the feedback information. this time delay. In the case of a single process, the subsequent original data blocks can be convolutionally encoded and transmitted according to the semi-static encoding parameters or the previous encoding parameters based on feedback optimization. After receiving the feedback information, the next original data block Perform encoding parameter optimization. In the case of multiple processes, multiple processes can be added to the feedback delay, and the multiple processes are independent of each other. Each process can provide accurate feedback and optimize the encoding parameters, so as to more efficiently implement the encoding strategy of the sender, and fully Utilize system resources to improve system throughput and other performance. In addition, by means of multi-process interleaving, the ability of network coding to resist burst interference can be further improved.
实施例二 Embodiment 2
该实施例二给出了反馈信息的内容以及反馈信息的格式。下面分别说明。The second embodiment provides the content of the feedback information and the format of the feedback information. They are described below.
一、反馈信息的内容1. Content of feedback information
反馈信息的内容决定了下一个原始数据块与之前一个或多个原始数据块(部分或者全部数据包)的关联深度以及冗余包的个数。The content of the feedback information determines the depth of association between the next original data block and one or more previous original data blocks (part or all of the data packets) and the number of redundant packets.
关联深度(以下用D表示)表示原始数据块的个数和原始数据包的个数,也可以表示新数据包(也可以称为新原始数据包,或简称为新包)个数(以下用N表示)以及旧数据包(也可以称为旧原始数据包,或简称为旧包)个数(以下用字母O表示)。The association depth (represented by D below) represents the number of original data blocks and the number of original data packets, and can also represent the number of new data packets (also referred to as new original data packets, or simply referred to as new packets) (hereinafter referred to as the number of new packets). Represented by N) and the number of old data packets (also referred to as old original data packets, or simply referred to as old packets) (represented by letter O hereinafter).
冗余包个数可以体现为编码数据包个数(以下用C表示)、或冗余编码数据包个数(以下用R表示)等信息。可选地,当反馈信息中包含译码窗状态,则发送端可以对反馈信息中的冗余包个数进行调整。例如,当编码数据包的译码存在时延限制,要求最大时延为译码窗长对应的时延,则需要在编码数据出译码窗之前译码成功,因此在出窗前,发送端可以在接收端通过反馈信息反馈的冗余包个数的基础上,增加冗余包个数。The number of redundant packets may be embodied in information such as the number of encoded data packets (represented by C hereinafter), or the number of redundant encoded data packets (represented by R below). Optionally, when the feedback information includes the decoding window state, the transmitting end may adjust the number of redundant packets in the feedback information. For example, when there is a delay limit in the decoding of the encoded data packet, and the maximum delay is required to be the delay corresponding to the length of the decoding window, the decoding needs to be successful before the encoded data exits the decoding window. The number of redundant packets may be increased on the basis of the number of redundant packets fed back by the receiving end through the feedback information.
本申请实施例中,接收端向发送端发送的针对编码数据的反馈信息用于指示但不限于如下信息:关联深度D、冗余包个数R、参与编码的新包个数N、参与编码的旧包个数O或译码窗状态。在不同的方案及不同的半静态参数配置方法中,反馈信息的内容可以不同。In the embodiment of the present application, the feedback information for the encoded data sent by the receiving end to the transmitting end is used to indicate but not limited to the following information: the depth of association D, the number of redundant packets R, the number of new packets participating in encoding N, the number of new packets participating in encoding The number of old packets is 0 or the decoding window state. In different schemes and different semi-static parameter configuration methods, the content of the feedback information may be different.
本申请实施例中,反馈信息可以通过物理(physical,PHY)层的控制信息动态指示,或者也可以通过MAC层、无线资源控制(radio resource control,RRC)层等相关高层消息半静态配置,或者通过半静态配置联合动态指示的方式。In this embodiment of the present application, the feedback information may be dynamically indicated through control information at the physical (PHY) layer, or may also be semi-statically configured through related high-level messages such as the MAC layer, the radio resource control (RRC) layer, or the like, or By means of semi-static configuration combined with dynamic indication.
以下将网络编码方案分为非系统码和系统码两类,分别对非系统码对应的反馈信息以及系统码对应的反馈信息进行说明。The following divides the network coding scheme into two types: non-systematic codes and systematic codes, and respectively describes the feedback information corresponding to the non-systematic codes and the feedback information corresponding to the systematic codes.
1、非系统码方案1. Non-system code scheme
针对非系统码方案,当反馈信息用于指示关联深度D、冗余包个数R、参与编码的新包个数N、参与编码的旧包个数O或译码窗状态中的一个或多个时,可以通过以下方法进行指示。For the non-systematic code scheme, when the feedback information is used to indicate one or more of the association depth D, the number of redundant packets R, the number of new packets involved in encoding N, the number of old packets involved in encoding O, or the decoding window state If there are any, the following methods can be used to give instructions.
a)冗余包个数Ra) The number of redundant packets R
当反馈信息用于指示冗余包(也称为冗余编码数据包)个数R时,可以通过以下任一方式进行指示:When the feedback information is used to indicate the number R of redundant packets (also called redundant coded data packets), it can be indicated in any of the following ways:
1)指示下一个编码数据块包含的冗余包个数R;1) Indicate the number R of redundant packets included in the next encoded data block;
2)指示下一个编码数据块包含的总编码数据包个数C;2) indicating the total number of encoded data packets C included in the next encoded data block;
3)指示当前收到的编码数据块的正确rank值:通过已知参数或者半静态配置参数(参与编码的原始数据包总个数),可以获得下一个编码数据块包含的冗余编码数据包个数R或者下一个编码数据块包含的总编码数据包个数C;3) Indicate the correct rank value of the currently received encoded data block: Through known parameters or semi-static configuration parameters (the total number of original data packets participating in encoding), the redundant encoded data packets contained in the next encoded data block can be obtained. The number R or the total number C of encoded data packets contained in the next encoded data block;
4)指示当前收到的编码数据块的错误rank值:通过已知参数或者半静态配置参数(参与编码的原始数据包总个数),可以获得下一个编码数据块包含的冗余编码数据包个数R或者下一个编码数据块包含的总编码数据包个数C。4) Indicate the error rank value of the currently received encoded data block: Through known parameters or semi-static configuration parameters (the total number of original data packets participating in encoding), the redundant encoded data packets contained in the next encoded data block can be obtained. The number R or the total number C of encoded data packets contained in the next encoded data block.
b)关联深度Db) Association depth D
作为一种实现方法,在非系统码方案中,关联深度D与旧包个数O等效,即二者数值相同。As an implementation method, in the non-systematic code scheme, the association depth D is equivalent to the number O of old packets, that is, the values of the two are the same.
当反馈信息用于指示关联深度D时,可以通过以下任一方式进行指示:When the feedback information is used to indicate the association depth D, it can be indicated in any of the following ways:
1)指示下一个编码数据块中参与编码的旧包个数,以及旧块(也称为旧原始数据块、或旧数据块)个数;1) Indicate the number of old packets involved in encoding in the next encoded data block, and the number of old blocks (also called old original data blocks, or old data blocks);
2)指示下一个编码数据块中参与编码的旧包的比特位图(bitmap),以及旧块的bitmap;2) indicating the bitmap (bitmap) of the old packet participating in the encoding in the next encoded data block, and the bitmap of the old block;
其中,旧包的比特位图指的是用比特位图的方式指示下一个编码数据块中参与编码的旧包个数。例如,比特位图是8比特,当比特位图的信息是“10000000”,表示下一个编码数据块中参与编码的旧包个数为1,当比特位图的信息是“11000000”表示下一个编码数据块中参与编码的旧包个数为2。需要说明的是,后续描述中,旧包的比特位图具有相同的含义,不再赘述。The bitmap of the old packet refers to indicating the number of old packets involved in encoding in the next encoded data block by means of a bitmap. For example, if the bitmap is 8 bits, when the bitmap information is "10000000", it means that the number of old packets involved in encoding in the next encoded data block is 1, and when the bitmap information is "11000000", it means the next The number of old packets involved in encoding in the encoded data block is 2. It should be noted that, in the subsequent description, the bitmap of the old packet has the same meaning, and will not be repeated here.
旧块的比特位图指的是用比特位图的方式指示下一个编码数据块中参与编码的旧块个数。例如,比特位图是8比特,当比特位图的信息是“10000000”,表示下一个编码数据块中参与编码的旧块个数为1,当比特位图的信息是“11000000”表示下一个编码数据块中参与编码的旧块个数为2。需要说明的是,后续描述中,旧块的比特位图具有相同的含义,不再赘述。The bitmap of the old block refers to using a bitmap to indicate the number of old blocks involved in encoding in the next encoded data block. For example, if the bitmap is 8 bits, when the bitmap information is "10000000", it means that the number of old blocks involved in coding in the next encoded data block is 1, and when the bitmap information is "11000000", it means the next The number of old blocks involved in encoding in the encoded data block is 2. It should be noted that, in the subsequent description, the bitmap of the old block has the same meaning and will not be repeated.
3)指示最新收到的编码数据块的rank值,通过已知参数或者半静态配置参数(参与编码的原始数据包总个数)间接得到关联深度D;3) Indicate the rank value of the newly received encoded data block, and indirectly obtain the association depth D through known parameters or semi-static configuration parameters (the total number of original data packets participating in encoding);
4)指示参与编码的第一个原始数据包的索引(index)号、最后一个原始数据包的index号或第一个原始数据包到最后一个原始数据包的总个数中的任意两个;4) any two of the index number of the first original data packet involved in encoding, the index number of the last original data packet or the total number of the first original data packet to the last original data packet;
5)指示参与编码的发送端编码窗中的起始包编号、发送端编码窗中的终止包编号以及发送端编码窗参与的有效长度中的任意两个。5) Indicate any two of the starting packet number in the encoding window of the transmitting end, the ending packet number in the encoding window of the transmitting end, and the effective length of the encoding window of the transmitting end participating in the encoding.
c)下一个原始数据块中参与编码的新包个数Nc) The number N of new packets involved in encoding in the next original data block
其中,新包个数N用于每次编码的原始数据包总个数相同(即N+O为定值)的方案。Among them, the number of new packets N is used for the scheme in which the total number of original data packets encoded each time is the same (that is, N+O is a fixed value).
当反馈信息用于指示下一个原始数据块中参与编码的新包个数N时,可以通过以下任一方式进行指示:When the feedback information is used to indicate the number N of new packets involved in encoding in the next original data block, it can be indicated in any of the following ways:
1)可以借助关联深度的相关指示信息求得N值;1) The N value can be obtained by means of the relevant indication information of the association depth;
这是因为关联深度D和旧包O的值一致,在预先配置每次编码的原始数据包总个数,以及通过反馈信息确定关联深度D后,可以求得新包个数N的值。This is because the value of the association depth D is the same as that of the old packet O. After pre-configuring the total number of original data packets encoded each time, and determining the association depth D through feedback information, the value of the number N of new packets can be obtained.
2)如果参与编码的新包和旧包总数一定(即N+O半静态配置),指示下一次编码的新包个数N;2) If the total number of new and old packets involved in encoding is constant (ie, N+O semi-static configuration), the number N of new packets to be encoded next time is indicated;
3)如果参与编码的新包和旧包总数一定(即N+O半静态配置),指示下一次编码的新包bitmap。3) If the total number of new and old packets involved in encoding is constant (ie, N+O semi-static configuration), it indicates the bitmap of the new packet for the next encoding.
d)译码窗状态d) Decoding window status
译码窗状态包括译码窗使用的长度和/或译码窗剩余的长度(即未使用的长度),用于表征当前译码窗的使用情况、当前使用窗长与最大窗长(用W_max表示)的关系。The decoding window state includes the length used by the decoding window and/or the remaining length of the decoding window (that is, the unused length), which is used to characterize the usage of the current decoding window, the currently used window length and the maximum window length (using W_max). representation) relationship.
可以理解,译码窗状态会影响编码器的冗余添加算法,即相关算法下,发送端卷积网络编码器中对下一个原始数据块编码产生的编码数据包个数,不仅取决于接收端当前编码数据块缺少的包数,还取决于译码窗的使用长度或者取决于一个编码数据包在窗中停留的剩余长度。It can be understood that the state of the decoding window will affect the redundancy addition algorithm of the encoder, that is, under the relevant algorithm, the number of encoded data packets generated by the encoding of the next original data block in the convolutional network encoder at the transmitting end not only depends on the receiving end. The number of missing packets in the current coded data block also depends on the used length of the decoding window or on the remaining length of a coded data packet in the window.
2、系统码方案2. System code scheme
针对系统码方案,当反馈信息用于指示关联深度D、冗余包个数R、参与编码的新包个数N、参与编码的旧包个数O或译码窗状态中的一个或多个时,可以通过以下方法进行指示。For the systematic code scheme, when the feedback information is used to indicate one or more of the association depth D, the number of redundant packets R, the number of new packets involved in encoding N, the number of old packets involved in encoding O, or the decoding window state , you can instruct by the following methods.
a)冗余包个数Ra) The number of redundant packets R
当反馈信息用于指示冗余包(也称为冗余编码数据包)个数R时,可以通过以下任一方式进行指示:When the feedback information is used to indicate the number R of redundant packets (also called redundant coded data packets), it can be indicated in any of the following ways:
1)指示下一个编码数据块包含的冗余包个数R;1) Indicate the number R of redundant packets included in the next encoded data block;
2)指示下一个编码数据块包含的总编码数据包个数C;2) indicating the total number of encoded data packets C included in the next encoded data block;
3)指示最新收到的编码数据块的正确rank值:通过已知参数或者半静态配置参数(参与编码的原始数据包个数),可以获得下一个编码数据块包含的冗余编码数据包个数R或者下一个编码数据块包含的总编码数据包个数C;3) Indicate the correct rank value of the newly received encoded data block: Through known parameters or semi-static configuration parameters (the number of original data packets involved in encoding), the number of redundant encoded data packets contained in the next encoded data block can be obtained. The number R or the total number C of encoded data packets contained in the next encoded data block;
4)指示最新收到的编码数据块的错误rank值:通过已知参数或者半静态配置参数(参与编码的原始数据包个数),可以获得下一个编码数据块包含的冗余编码数据包个数R或者下一个编码数据块包含的总编码数据包个数C;4) Indicates the error rank value of the newly received encoded data block: Through known parameters or semi-static configuration parameters (the number of original data packets involved in encoding), the number of redundant encoded data packets contained in the next encoded data block can be obtained. The number R or the total number C of encoded data packets contained in the next encoded data block;
5)指示最新收到的编码数据块中正确的系统数据包数和冗余数据包数;5) Indicate the correct number of system data packets and the number of redundant data packets in the newly received encoded data block;
6)指示最新收到的编码数据块中错误的系统数据包数和冗余数据包数;6) Indicate the number of erroneous system data packets and the number of redundant data packets in the newly received encoded data block;
7)指示最新收到的编码数据块中正确的系统数据包数和错误的冗余数据包数;7) Indicate the number of correct system packets and the number of erroneous redundant packets in the newly received encoded data block;
8)指示最新收到的编码数据块中错误的系统数据包数和正确冗余数据包数;8) Indicate the number of wrong system data packets and the number of correct redundant data packets in the newly received encoded data block;
可以理解,上述5)至8)中的任一项结合已知参数或者半静态参数,可以获得下一个编码块包含的冗余编码数据包个数R,系统包个数S等。It can be understood that any of the above 5) to 8) can be combined with known parameters or semi-static parameters to obtain the number R of redundant encoded data packets included in the next encoding block, the number of system packets S, etc.
b)关联深度Db) Association depth D
当反馈信息用于指示关联深度D时,可以通过以下任一方式进行指示:When the feedback information is used to indicate the association depth D, it can be indicated in any of the following ways:
1)指示下一个原始数据块参与编码的旧块个数;1) Indicate the number of old blocks that the next original data block participates in encoding;
2)指示下一个原始数据块参与编码的旧块bitmap;2) Indicate the old block bitmap that the next original data block participates in encoding;
3)指示当前原始数据块系统包和编码数据包的状态指示因子(2bit),通过已知参数或者半静态配置参数(例如参与编码的原始数据包个数)得到关联深度;3) Indicate the status indicator factor (2bit) of the current original data block system packet and the encoded data packet, and obtain the associated depth through known parameters or semi-static configuration parameters (for example, the number of original data packets participating in encoding);
比如,状态00表示系统包和编码数据包都没有丢包,对应关联深度为0;状态11/01表示编码数据包有丢失,对应关联深度为上一个数据块关联深度的数值+1;状态10表示仅系统包丢失,对应关联深度为2。For example, state 00 means that neither the system packet nor the encoded data packet is lost, and the corresponding association depth is 0; state 11/01 means that the encoded data packet is lost, and the corresponding association depth is the value of the association depth of the previous data block + 1; state 10 Indicates that only system packets are lost, and the corresponding association depth is 2.
4)指示参与编码的第一个原始数据包的index号、最后一个原始数据包的index号或第一个原始数据包到最后一个原始数据包的总个数中的任意两个;4) any two of the index number of the first original data packet involved in encoding, the index number of the last original data packet or the total number of the first original data packet to the last original data packet;
5)指示参与编码的发送端编码窗中的起始包编号、发送端编码窗的终止包编号以及发送端编码窗参与的有效长度中的任意两个。5) Indicate any two of the starting packet number in the encoding window of the transmitting end participating in the encoding, the ending packet number of the encoding window of the transmitting end, and the effective length of the encoding window of the transmitting end.
6)指示最新收到的编码数据块中正确的系统数据包数和冗余数据包数;6) Indicate the correct number of system data packets and the number of redundant data packets in the newly received encoded data block;
7)指示最新收到的编码数据块中错误的系统数据包数和冗余数据包数;7) Indicate the number of wrong system data packets and the number of redundant data packets in the newly received encoded data block;
8)指示最新收到的编码数据块中正确的系统数据包数和错误的冗余数据包数;8) Indicate the number of correct system data packets and the number of wrong redundant data packets in the newly received encoded data block;
9)指示最新收到的编码数据块中错误的系统数据包数和正确冗余数据包数。9) Indicate the number of erroneous system data packets and the number of correct redundant data packets in the newly received encoded data block.
可以理解,上述6)至9)中的任一项结合已知参数或者半静态参数,可以获得下一 个编码数据块的关联深度。It can be understood that, any of the above 6) to 9) can be combined with known parameters or semi-static parameters to obtain the associated depth of the next encoded data block.
c)下一个原始数据块中参与编码的新包个数Nc) The number N of new packets involved in encoding in the next original data block
其中,新包个数N用于每次编码的原始数据包总个数相同(即N+O为定值)的方案。Among them, the number of new packets N is used for the scheme in which the total number of original data packets encoded each time is the same (that is, N+O is a fixed value).
当反馈信息用于指示下一个原始数据块中参与编码的新包个数N时,可以通过以下任一方式进行指示:When the feedback information is used to indicate the number N of new packets involved in encoding in the next original data block, it can be indicated in any of the following ways:
1)指示下一次编码的新块个数和新包个数N(可以不指示);1) Indicate the number of new blocks and the number of new packets N to be encoded next time (it may not be indicated);
2)指示下一次编码的新块bitmap和新包bitmap(可以不指示);2) Indicate the new block bitmap and the new packet bitmap for the next encoding (may not be indicated);
3)指示最新收到的编码数据块中正确的系统数据包数和冗余数据包数;3) Indicate the correct number of system data packets and the number of redundant data packets in the newly received encoded data block;
4)指示最新收到的编码数据块中错误的系统数据包数和冗余数据包数;4) Indicate the number of wrong system data packets and the number of redundant data packets in the newly received encoded data block;
5)指示最新收到的编码数据块中正确的系统数据包数和错误的冗余数据包数;5) Indicate the number of correct system packets and the number of erroneous redundant packets in the newly received encoded data block;
6)指示最新收到的编码数据块中错误的系统数据包数和正确冗余数据包数。6) Indicate the number of erroneous system data packets and the number of correct redundant data packets in the newly received encoded data block.
可以理解,上述3)至6)中的任一项结合已知参数或者半静态参数,可以获得下一个编码数据块包含的新包个数N。It can be understood that, by combining known parameters or semi-static parameters in any of the above 3) to 6), the number N of new packets included in the next encoded data block can be obtained.
d)译码窗状态d) Decoding window status
译码窗状态包括译码窗使用的长度和/或译码窗剩余的长度(即未使用的长度),用于表征当前译码窗的使用情况,当前使用窗长与最大窗长(用W_max表示)的关系,或者一个编码数据包窗中停留的剩余长度。The decoding window status includes the length used by the decoding window and/or the remaining length of the decoding window (that is, the unused length), which is used to characterize the usage of the current decoding window, the currently used window length and the maximum window length (using W_max). Representation), or the remaining length of stay in an encoded packet window.
可以理解,译码窗状态会影响编码器的冗余添加算法,即相关算法下,发送端卷积网络编码器中对下一个原始数据块编码产生的编码数据包个数,不仅取决于接收端当前编码数据块缺少的包数,还取决于译码窗的使用长度或者取决于一个编码数据包在窗中停留的剩余长度。此外,接收端可以在形成反馈信息时联合译码窗状态信息,而不直接反馈译码窗状态信息,即反馈信息中的冗余编码包的数量或者总的编码包的数量是通过考虑译码窗状态信息的冗余添加算法后形成的参数。It can be understood that the state of the decoding window will affect the redundancy addition algorithm of the encoder, that is, under the relevant algorithm, the number of encoded data packets generated by the encoding of the next original data block in the convolutional network encoder at the transmitting end not only depends on the receiving end. The number of missing packets in the current coded data block also depends on the used length of the decoding window or on the remaining length of a coded data packet in the window. In addition, the receiving end can jointly decode the window state information when forming the feedback information, instead of directly feeding back the decoding window state information, that is, the number of redundant encoding packets or the total number of encoding packets in the feedback information is determined by considering the decoding The parameters formed by the redundant addition algorithm of the window state information.
二、反馈信息的格式2. Format of feedback information
反馈信息可以承载于多个字段,如图14所示,为反馈信息的格式示意图。图中字段1指示格式序列号,例如有3比特,不同的序列号表示不同的方案和/或情形。该3比特中的1个比特用于区分非系统码方案与系统码方案,1个比特用于区分原始数据块大小相同与编码数据块大小相同的两种情形,1比特用于区分考虑译码窗状态与不考虑译码窗状态的两种情形,共组合得到8种方案。下面分别说明。The feedback information can be carried in multiple fields, as shown in FIG. 14 , which is a schematic diagram of the format of the feedback information. Field 1 in the figure indicates the format sequence number, for example, there are 3 bits, and different sequence numbers indicate different schemes and/or situations. One of the 3 bits is used to distinguish the non-systematic code scheme from the systematic code scheme, 1 bit is used to distinguish the two situations where the size of the original data block is the same and the size of the encoded data block is the same, and 1 bit is used to distinguish the consideration of decoding A total of 8 schemes are obtained by combining the window state and the two situations without considering the decoding window state. They are described below.
以下示例中,结合图14的字段1(共3比特),该字段的高位1比特用于指示非系统码方案与系统码方案,其中“0”表示非系统编码方案,“1”表示系统编码方案。该字段的中间1比特用于区分原始数据块大小相同与编码数据块大小相同的两种情形,其中“0”表示原始数据块大小相同,“1”表示编码数据块大小相同。该字段的低位1比特用于区分考虑译码窗状态与不考虑译码窗状态的两种情形,其中“0”表示不考虑译码窗状态,“1”表示考虑译码窗状态。需要说明的是,上述“0”和“1”的含义反过来使用也是可以的。在后续说明中,“0”和“1”的含义仅作为示例。In the following example, combined with field 1 (3 bits in total) in FIG. 14 , the high-order 1 bit of this field is used to indicate the non-systematic coding scheme and the systematic coding scheme, wherein “0” represents the non-systematic coding scheme, and “1” represents the systematic coding plan. The middle 1 bit of this field is used to distinguish two situations where the original data block size is the same and the encoded data block size is the same, where "0" indicates that the original data block size is the same, and "1" indicates that the encoded data block size is the same. The low-order 1 bit of this field is used to distinguish two situations in which the decoding window state is considered and the decoding window state is not considered, wherein "0" indicates that the decoding window state is not considered, and "1" indicates that the decoding window state is considered. It should be noted that the meanings of the above "0" and "1" can also be used in reverse. In the subsequent description, the meanings of "0" and "1" are only used as examples.
结合图14,具体方案如下:With reference to Figure 14, the specific scheme is as follows:
1)反馈格式(也可称为feedback格式)0_0_0:非系统码方案、原始数据块大小相同且不考虑译码窗状态(其中,参与编码的新包个数N半静态配置)1) Feedback format (also known as feedback format) 0_0_0: non-systematic code scheme, the size of the original data block is the same, and the decoding window state is not considered (among them, the number of new packets participating in the encoding is N semi-static configuration)
字段1:格式序列号(也称为pattern号)000,3bit;Field 1: Format serial number (also called pattern number) 000, 3bit;
字段2:当前编码数据块缺少的rank值,或者能间接得出缺少的rank值的其他信息,如编码数据块的rank值,由此可以得到关联深度D和下一个块的冗余包个数R。Field 2: The missing rank value of the current coded data block, or other information that can indirectly obtain the missing rank value, such as the rank value of the coded data block, from which the associated depth D and the number of redundant packets of the next block can be obtained R.
可选地,在不使用rank值的情况下,可以用非系统码方案中关联深度D中的任意一种形式作为字段2,冗余包个数R的任意一种形式作为字段3,通过组合,显示表示反馈信息。Optionally, without using the rank value, any form of the association depth D in the non-systematic code scheme can be used as field 2, and any form of the number of redundant packets R can be used as field 3. By combining , the display indicates feedback information.
2)feedback格式0_0_1:非系统码方案、原始数据块大小相同且考虑译码窗状态(其中,参与编码的新包个数N半静态配置)2) Feedback format 0_0_1: non-systematic code scheme, the size of the original data block is the same, and the decoding window state is considered (among them, the number of new packets participating in the encoding is N semi-static configuration)
字段1:pattern号001,3bit;Field 1: pattern number 001, 3bit;
字段2:当前编码数据块缺少的rank值或者能间接得出缺少的rank值的其他信息,如编码数据块的rank值,由此可以得到关联深度D。Field 2: The missing rank value of the current coded data block or other information that can indirectly obtain the missing rank value, such as the rank value of the coded data block, from which the association depth D can be obtained.
字段3:译码窗状态,表征译码窗长对编码数据包个数的影响,结合字段2可以确定下一个编码数据块的冗余包个数R(发送端和接收端均可根据算法确定,当接收端执行相关算法确定冗余包个数R构成反馈消息,则字段3可以省略;当发送端执行相关算法确定冗余包个数R,则字段3不可以省略)。Field 3: Decoding window status, which represents the effect of the decoding window length on the number of encoded data packets. Combined with field 2, the number of redundant packets R of the next encoded data block can be determined (both the sender and the receiver can be determined according to the algorithm) , when the receiving end executes the relevant algorithm to determine the number R of redundant packets to form a feedback message, then field 3 can be omitted; when the sender executes the relevant algorithm to determine the number R of redundant packets, then field 3 cannot be omitted).
可选地,字段2可以用非系统码方案中关联深度D中的任意一种形式,字段3可以采用冗余包个数R的1)和2)中任意一种形式,通过组合,显示表示反馈信息。Optionally, field 2 can use any form in the association depth D in the non-systematic code scheme, and field 3 can use any form in 1) and 2) of the number of redundant packets R. By combining, the display indicates Feedback.
3)feedback格式0_1_0:非系统码方案、编码数据块大小相同且不考虑译码窗状态(其中,N+O半静态配置)3) Feedback format 0_1_0: non-systematic code scheme, the size of the encoded data block is the same, and the decoding window state is not considered (among them, N+O semi-static configuration)
字段1:pattern号010,3bit;Field 1: pattern number 010, 3bit;
字段2:当前编码数据块缺少的rank值或者能间接得出缺少的rank值的其他信息,如编码数据块的rank值。Field 2: The missing rank value of the current coded data block or other information that can indirectly derive the missing rank value, such as the rank value of the coded data block.
字段2结合半静态配置信息,可以得到关联深度D(等于旧包个数O)和下一个原始数据块的新包个数N,以及下一个编码数据块的冗余包数R(R=O)。 Field 2 combines the semi-static configuration information to obtain the association depth D (equal to the number of old packets O), the number of new packets N of the next original data block, and the number of redundant packets of the next encoded data block R (R=O ).
可选地,可以用非系统码方案中下一个原始数据块的关联深度D中的任意一种形式作为字段2,下一个编码数据块的冗余包数R作为字段3,新包个数N的任意一种形式作为字段4,通过组合,显示表示反馈信息。Optionally, any form of the association depth D of the next original data block in the non-systematic code scheme can be used as field 2, the number of redundant packets R of the next encoded data block can be used as field 3, and the number of new packets is N. Any one of the forms as field 4, by combining, displays the feedback information.
4)feedback格式0_1_1:非系统码方案、编码数据块大小相同且考虑译码窗状态(其中,N+O半静态配置)4) Feedback format 0_1_1: non-systematic code scheme, the size of the encoded data block is the same, and the decoding window state is considered (among them, N+O semi-static configuration)
字段1:pattern号011,3bit;Field 1: pattern number 011, 3bit;
字段2:当前编码数据块缺少的rank值或者能间接得出缺少的rank值信息的其他信息,如编码数据块的rank值。Field 2: The missing rank value of the current coded data block or other information that can indirectly derive the missing rank value information, such as the rank value of the coded data block.
字段2结合半静态配置信息,可以得到关联深度D(旧包个数O)。Combining the semi-static configuration information in field 2, the association depth D (the number of old packets 0) can be obtained.
字段3:译码窗状态,表征译码窗长对编码数据包个数的影响,结合字段2确定和下一个原始数据块的新包个数N以及下一个编码数据块的冗余包个数R(发送端和接收端均 可根据算法确定)。Field 3: Decoding window status, which represents the influence of the decoding window length on the number of encoded data packets, combined with field 2 to determine the number of new packets N of the next original data block and the number of redundant packets of the next encoded data block R (both the sender and the receiver can be determined according to the algorithm).
可选地,可以用非系统码方案中下一个原始数据块的关联深度D中的任意一种形式作为字段2,新包个数N的任意一种形式作为字段3,下一个编码数据块的冗余包数R作为字段4,通过组合,显示表示反馈信息。Optionally, any form of the association depth D of the next original data block in the non-systematic code scheme can be used as field 2, any form of the number N of new packets can be used as field 3, and the next encoded data block can be used as field 3. The number R of redundant packets is used as field 4, and by combining, it is displayed to indicate feedback information.
5)feedback格式1_0_0:系统码方案、原始数据块大小相同且不考虑译码窗状态(其中,参与编码的新包个数N半静态配置)5) Feedback format 1_0_0: The system code scheme, the size of the original data block is the same, and the decoding window state is not considered (among them, the number of new packets participating in the encoding is N semi-static configuration)
字段1:pattern号100,3bit;Field 1: pattern number 100, 3bit;
字段2:指示当前数据块正确的系统包数S或错误的系统包数S';Field 2: Indicates the correct number of system packets S or the number of incorrect system packets S' of the current data block;
字段3:指示当前数据块正确的编码数据包数P或错误的编码数据包数P'。Field 3: Indicates the number P of correct encoded data packets or the number of incorrect encoded data packets P' of the current data block.
字段2和字段3结合半静态配置信息可以得到关联深度D和下一个块的冗余包个数R。 Field 2 and field 3 can be combined with the semi-static configuration information to obtain the association depth D and the number R of redundant packets in the next block.
可选地,可以用系统码方案中关联深度D中的任意一种形式作为字段2,冗余包个数R的任意一种形式作为字段3,通过组合,显示表示反馈信息。Optionally, any form of the association depth D in the systematic code scheme can be used as field 2, and any form of the number of redundant packets R can be used as field 3, and through combination, the feedback information is displayed.
6)feedback格式1_0_1:系统码方案、原始数据块大小相同且考虑译码窗状态(其中,参与编码的新包个数N半静态配置)6) Feedback format 1_0_1: The system code scheme, the original data block size is the same, and the decoding window state is considered (among them, the number of new packets participating in the encoding is N semi-static configuration)
字段1:pattern号101,3bit;Field 1: pattern number 101, 3bit;
字段2:指示当前数据块正确的系统包数S或错误的系统包数S';Field 2: Indicates the correct number of system packets S or the number of incorrect system packets S' of the current data block;
字段3:指示当前数据块正确的编码数据包数P或错误的编码数据包数P';Field 3: Indicates the correct number of coded packets P or the number of erroneous coded packets P' of the current data block;
字段2和字段3结合半静态配置信息可以得到关联深度D;The association depth D can be obtained by combining field 2 and field 3 with the semi-static configuration information;
字段4:译码窗状态,表征译码窗长对编码数据包个数的影响,结合字段2和字段3可以确定下一个块的冗余包个数R(发送端和接收端均可根据算法确定)。Field 4: Decoding window status, which represents the effect of the decoding window length on the number of encoded data packets. Combining field 2 and field 3, the number of redundant packets R in the next block can be determined (both the sender and receiver can use the algorithm according to the Sure).
可选地,可以用系统码方案中关联深度D中的任意一种形式作为字段2,冗余包个数R的任意一种形式作为字段3,通过组合,显示表示反馈信息。Optionally, any form of the association depth D in the systematic code scheme can be used as field 2, and any form of the number of redundant packets R can be used as field 3, and through combination, the feedback information is displayed.
7)feedback格式1_1_0:系统码方案、编码数据块大小相同且不考虑译码窗状态(其中,N+O半静态配置)7) Feedback format 1_1_0: The system code scheme, the size of the encoded data block is the same, and the decoding window state is not considered (among them, N+O semi-static configuration)
字段1:pattern号110,3bit;Field 1: pattern number 110, 3bit;
字段2:指示当前数据块正确的系统包数S或错误的系统包数S';Field 2: Indicates the correct number of system packets S or the number of incorrect system packets S' of the current data block;
字段3:指示当前数据块正确的编码数据包数P或错误的编码数据包数P'。Field 3: Indicates the number P of correct encoded data packets or the number of incorrect encoded data packets P' of the current data block.
字段2和字段3结合半静态配置信息可以得到关联深度D、下一个原始数据块的新包个数N(等于正确接收的编码数据包的数量)以及冗余包个数R(等于错误的编码数据包的数量); Field 2 and field 3 can be combined with semi-static configuration information to obtain the association depth D, the number of new packets N of the next original data block (equal to the number of correctly received encoded data packets) and the number of redundant packets R (equal to the number of wrongly encoded packets) number of packets);
可选地,可以用系统码方案中下一个原始数据块的关联深度D中的任意一种形式作为字段2,新包个数N的任意一种形式作为字段3,冗余包个数R作为字段4,通过组合,显示表示反馈信息。Optionally, any form of the association depth D of the next original data block in the system code scheme can be used as field 2, any form of the number N of new packets can be used as field 3, and the number of redundant packets R can be used as field 3. Field 4, by combining, displays the feedback information.
8)feedback格式1_1_1:系统码方案、编码数据块大小相同且考虑译码窗状态(其中,N+O半静态配置)8) Feedback format 1_1_1: System code scheme, the size of the encoded data block is the same, and the decoding window state is considered (among them, N+O semi-static configuration)
字段1:pattern号111,3bit;Field 1: pattern number 111, 3bit;
字段2:指示当前数据块正确的系统包数S或错误的系统包数S';Field 2: Indicates the correct number of system packets S or the number of incorrect system packets S' of the current data block;
字段3:指示当前数据块正确的编码数据包数P或错误的编码数据包数P';Field 3: Indicates the correct number of coded packets P or the number of erroneous coded packets P' of the current data block;
字段2和字段3结合半静态配置信息可以得到关联深度D。The association depth D can be obtained by combining field 2 and field 3 with the semi-static configuration information.
字段4:译码窗状态,表征译码窗长对编码数据包个数的影响,结合字段2和字段3可以确定下一个块的冗余包个数R(发送端和接收端均可根据算法确定)以及下一个原始数据块的新包个数N。Field 4: Decoding window status, which represents the effect of the decoding window length on the number of encoded data packets. Combining field 2 and field 3, the number of redundant packets R in the next block can be determined (both the sender and receiver can use the algorithm according to the OK) and the number of new packets N of the next original data block.
可选地,可以用系统码方案中下一个原始数据块的关联深度D中的任意一种形式作为字段2,新包个数N的任意一种形式作为字段3,冗余包个数R作为字段4,通过组合,显示表示反馈信息。Optionally, any form of the association depth D of the next original data block in the system code scheme can be used as field 2, any form of the number N of new packets can be used as field 3, and the number of redundant packets R can be used as field 3. Field 4, by combining, displays the feedback information.
上述实施例二有益效果如下:对接收端反馈信息的内容以及可能的格式进行了设计,可以通过接收端发送不同的反馈信息格式,发送端获取不同的网络编码方案及参数设置。进一步,发送端根据反馈信息及需求合理配置编码参数,对下一个原始数据块与若干个之前的原始数据块中部分或者全部数据包进行网络编码,生成编码数据包。可以有效地保证网络编码方案的有效性和系统性能的提升。The beneficial effects of the second embodiment above are as follows: the content and possible formats of the feedback information of the receiving end are designed, the receiving end can send different feedback information formats, and the transmitting end obtains different network coding schemes and parameter settings. Further, the transmitting end reasonably configures encoding parameters according to the feedback information and requirements, and performs network encoding on some or all of the data packets in the next original data block and several previous original data blocks to generate encoded data packets. It can effectively ensure the effectiveness of the network coding scheme and the improvement of system performance.
实施例三 Embodiment 3
实施例三用于提供上述反馈信息的承载方法,也即以何种方式向发送端发送反馈信息。The third embodiment is used to provide the bearing method for the above feedback information, that is, in what manner to send the feedback information to the transmitting end.
比如可以通过MAC层或MAC层以上(包括但不限于PDCP层,RLC层等)的消息发送反馈信息。或者单独定义新的网络编码层,然后通过该新的网络编码层的消息作为反馈信息的承载。For example, the feedback information may be sent through a message at the MAC layer or above (including but not limited to the PDCP layer, the RLC layer, etc.). Or define a new network coding layer separately, and then use the message of the new network coding layer as the bearer of the feedback information.
具体地,反馈信息中,实施例二中给出的反馈信息可以理解为反馈消息的数据,除此之外,反馈消息还需要头信息。也即,接收端向发送端发送反馈消息,反馈消息携带消息头和数据,该数据中携带反馈信息。Specifically, in the feedback information, the feedback information given in the second embodiment can be understood as the data of the feedback message. Besides, the feedback message also needs header information. That is, the receiving end sends a feedback message to the transmitting end, and the feedback message carries a message header and data, and the data carries the feedback information.
其中,头信息包括以下内容字段:The header information includes the following content fields:
1)头指示域H_Field;1) The header indicates the field H_Field;
2)数据块编号Block_Num;2) Data block number Block_Num;
3)进程编号Process_Num。3) Process number Process_Num.
其中,头指示域用于指示当前的数据包是网络编码的反馈信息。数据块编号用于指示反馈信息对应的编码数据块。进程编号用于表示反馈信息对应的发送端进程编号(在多进程的反馈方案中使用,该字段信息是可选的,亦可由数据块编号结合半静态信息推算出所在的发送端进程编号)。Wherein, the header indication field is used to indicate that the current data packet is the feedback information of network coding. The data block number is used to indicate the encoded data block corresponding to the feedback information. The process ID is used to indicate the sender process ID corresponding to the feedback information (used in the multi-process feedback scheme, this field information is optional, and the sender process ID can also be calculated from the data block ID combined with the semi-static information).
可选地,当网络编码的编译码操作发生在PDCP层,反馈消息可以由PDCP层生成的协议数据单元(protocol data unit,PDU)承载。如图15所示,为反馈消息的PDCP层承载示意图。左侧为PDCP数据格式,包括PDCP头和PDCP数据,其中PDCP头包括了上述提及的头信息字段1)、2)、3),字段Others表示其他的字段信息。Optionally, when the encoding and decoding operation of network coding occurs at the PDCP layer, the feedback message may be carried by a protocol data unit (protocol data unit, PDU) generated by the PDCP layer. As shown in FIG. 15 , it is a schematic diagram of the PDCP layer bearing of the feedback message. The left side is the PDCP data format, including the PDCP header and the PDCP data, wherein the PDCP header includes the header information fields 1), 2), and 3) mentioned above, and the field Others represents other field information.
可选地,当网络编码的编译码操作发生在RLC层,反馈消息可以由RLC层生成的PDU承载。如图16所示,为反馈消息的RLC层承载示意图。RLC层PDU的头信息来实现上述三个字段的功能,其中令已有字段D/C=1表示控制消息,CPT=001表示接收端的网络编码反馈消息,这样可以省去H_Field字段,此外还需要添加头信息字段2)和3),字段Others表示RLC层包头的剩余字段信息。与RLC头相对应的是RLC层数据,包括数据(其中携 带反馈信息)以及PDCP层的PDU包。Optionally, when the encoding/decoding operation of network coding occurs at the RLC layer, the feedback message may be carried by a PDU generated by the RLC layer. As shown in FIG. 16 , it is a schematic diagram of the RLC layer bearing of the feedback message. The header information of the RLC layer PDU implements the functions of the above three fields, in which the existing field D/C=1 represents the control message, and CPT=001 represents the network coding feedback message of the receiving end, so that the H_Field field can be omitted. In addition, it is necessary to The header information fields 2) and 3) are added, and the field Others indicates the remaining field information of the RLC layer packet header. Corresponding to the RLC header is the RLC layer data, including the data (which carries the feedback information) and the PDU packet of the PDCP layer.
可选地,当网络编码的编译码操作发生在MAC层,反馈信息可以由MAC层生成的PDU承载。如图17所示,为反馈消息的MAC层承载示意图。MAC层PDU的头信息通过添加字段1)至3)来实现上述三个字段的功能,MAC层PDU数据包括了数据(其中携带反馈信息)以及来自RLC层的PDU数据。Optionally, when the encoding and decoding operations of network coding occur at the MAC layer, the feedback information may be carried by a PDU generated by the MAC layer. As shown in FIG. 17 , it is a schematic diagram of the MAC layer bearing of the feedback message. The header information of the MAC layer PDU implements the functions of the above three fields by adding fields 1) to 3). The MAC layer PDU data includes data (which carries feedback information) and PDU data from the RLC layer.
另一种可行的承载方法是采用控制信息进行承载。具体地,在接收端网络编码对应的协议层上,通过译码等操作生成反馈消息,反馈消息以PDU的形式向物理层传输,最后由物理层的上行控制信息(uplink control information,UCI)或下行控制信息(downlink control information,DCI)进行承载并传输给发送端。其中,UCI或DCI中可以添加新的字段或复用已有的字段承载上述字段1)至3)以及数据(其中携带反馈信息)。Another feasible bearer method is to use control information for bearer. Specifically, on the protocol layer corresponding to the network coding at the receiving end, a feedback message is generated by operations such as decoding, and the feedback message is transmitted to the physical layer in the form of PDU, and finally the uplink control information (UCI) or Downlink control information (DCI) is carried and transmitted to the sender. Wherein, new fields can be added or existing fields can be multiplexed in UCI or DCI to carry the above fields 1) to 3) and data (which carry feedback information).
上述实施例三有益效果如下:可以更加灵活地提供反馈信息,已有的PDCP、RLC、MAC层可以提供反馈信息对应的PDU,只需在已有的协议层PDU上进行适当调整,方便快捷。对于物理层UCI或者DCI承载的方法,可以更好地保证反馈信息的可靠性。The beneficial effects of the third embodiment are as follows: feedback information can be provided more flexibly, and the existing PDCP, RLC, and MAC layers can provide PDUs corresponding to the feedback information, and only need to make appropriate adjustments on the existing protocol layer PDUs, which is convenient and fast. For the method carried by the physical layer UCI or DCI, the reliability of the feedback information can be better guaranteed.
实施例四 Embodiment 4
实施例四提供了发送端控制消息的设计。发送端通过接收端的反馈信息以及其他信息如(信道条件等)联合确定下一个原始数据块的编码参数,包括关联深度、冗余包个数以及相应的编码系数等,从而将下一个原始数据块与之前的若干个原始数据块的部分或者全部数据包进行联合编码。由于影响发送端编码决策的因素可以不限于接收端的反馈信息,因此发送端编码的参数可以与反馈信息提供的参数一致,也可以不一致。相应地,编码数据包的头部携带指示相应编码参数的控制消息,以使得接收端能够依据编码参数进行译码等操作。 Embodiment 4 provides the design of the control message at the sending end. The sending end jointly determines the coding parameters of the next original data block through the feedback information of the receiving end and other information such as (channel conditions, etc.) Joint encoding with some or all of the data packets of several previous original data blocks. Since the factors affecting the encoding decision of the transmitting end may not be limited to the feedback information of the receiving end, the parameters encoded by the transmitting end may or may not be consistent with the parameters provided by the feedback information. Correspondingly, the header of the encoded data packet carries a control message indicating the corresponding encoding parameter, so that the receiving end can perform operations such as decoding according to the encoding parameter.
如前所述,不同的编码方案可以对应不同的反馈信息格式,以及可以对应不同的编码数据包头信息。发送端根据接收到的反馈信息和其他系统信息确定下一个原始数据包的编码方案,并在编码数据包的包头添加对应的控制消息。As mentioned above, different encoding schemes may correspond to different feedback information formats, and may correspond to different encoded data packet header information. The sender determines the encoding scheme of the next original data packet according to the received feedback information and other system information, and adds a corresponding control message to the packet header of the encoded data packet.
如图18所示,为发送端包头信息字段示意图。发送端的一个编码数据包的头部包含数据块ID字段、系数字段(可以是编码系数字段或系数指示信息字段)、关联深度(D)字段、数据块的包数(N)字段等。其中,关联深度字段的表征方式可以部分借鉴上述实施例二中的非系统编码方案或者系统编码方案的关联深度表示形式。具体表示如下:系数字段可以指示系数值,或者通过半静态方式配置系数值。As shown in FIG. 18 , it is a schematic diagram of the header information field of the sender. The header of a coded data packet at the sending end includes a data block ID field, a coefficient field (which may be a coded coefficient field or a coefficient indication information field), a correlation depth (D) field, a data block packet number (N) field, and the like. The representation method of the associated depth field may partially refer to the non-systematic coding scheme or the associated depth representation form of the systematic coding scheme in the second embodiment. The specific representation is as follows: the coefficient field may indicate the coefficient value, or configure the coefficient value in a semi-static manner.
下面介绍关联深度字段和数据块的包数(N)字段。The following describes the association depth field and the number of packets (N) fields of the data block.
一、针对非系统编码方案1. For non-systematic coding schemes
1、feedback格式0_0_0和0_0_1,同属于下一个原始数据块的包数(N值)固定的情况。不需要数据块的包数字段,因为已经半静态配置。1. The feedback formats 0_0_0 and 0_0_1 belong to the case where the number of packets (N value) of the next original data block is fixed. The packet count field of the data block is not needed because it is already semi-statically configured.
关联深度字段的实现方法可以是以下任一种:The implementation of the associated depth field can be any of the following:
1)指示下一个编码数据块中参与的旧包个数,结合信道情况以及编码窗和译码窗的最大窗长等因素,给出一个最大值L,用
Figure PCTCN2020107973-appb-000002
比特表示,这种情况的关联深度是从当前数据块依次向前计数;
1) Indicate the number of old packets involved in the next coded data block, combined with the channel conditions and factors such as the maximum window length of the coding window and the decoding window, a maximum value L is given, using
Figure PCTCN2020107973-appb-000002
The bit indicates that the association depth in this case is counted forward in order from the current data block;
2)指示下一个编码数据块中参与的旧包的bitmap,bitmap需要结合数据块的大小、信道情况及编码窗长以及方案的可行性给出一个固定的bit数(用L表示);2) Indicate the bitmap of the old packet participating in the next encoded data block. The bitmap needs to give a fixed number of bits (represented by L) in combination with the size of the data block, the channel condition, the encoding window length, and the feasibility of the solution;
3)指示当前参与编码的原始数据包的总个数Pack_Total,用
Figure PCTCN2020107973-appb-000003
比特表示, 由Pack_Total-N计算可以得到关联的旧包个数;
3) Indicate the total number of original data packets currently involved in encoding Pack_Total, use
Figure PCTCN2020107973-appb-000003
Bit representation, calculated by Pack_Total-N to get the number of associated old packets;
4)分为两个子字段,指示参与编码的第一个原始数据包的index号、最后一个原始数据包的index号或第一个原始数据包到最后一个原始数据包的总个数中的任意两个;4) Divided into two subfields, indicating any of the index number of the first original data packet involved in encoding, the index number of the last original data packet, or the total number of the first original data packet to the last original data packet. two;
5)分为两个子字段,指示参与编码的发送端编码窗的起始包编号、发送端编码窗的终止包编号以及发送端编码窗参与的有效长度中的任意两个。5) Divided into two subfields, indicating any two of the starting packet number of the encoding window of the transmitting end participating in the encoding, the ending packet number of the encoding window of the transmitting end and the effective length of the encoding window of the transmitting end.
2、feedback格式0_1_0和0_1_1,下一个编码数据块的编码包数量C为定值。2. The feedback formats are 0_1_0 and 0_1_1, and the number of encoded packets C of the next encoded data block is a fixed value.
当不考虑译码窗状态时,等效于新包个数N和旧包个数O的和为定值,即C=N+O,关联深度D和O的数值相等,已知D或者O,根据半静态信息C可以推导出N,可选地,也可以显示地表明新包个数N字段的信息,也可以不携带新包个数N字段信息。同属于下一个编码数据块参与编码的新包个数N和旧包个数O的和固定(N+O为定值),原始数据块的包数(N)字段与关联深度(D)字段二选一即可。When the decoding window state is not considered, it is equivalent to the sum of the number of new packets N and the number of old packets O is a fixed value, that is, C=N+O, the values of the associated depth D and O are equal, and D or O is known , N can be deduced according to the semi-static information C, optionally, the information of the N field of the number of new packets can also be displayed explicitly, or the information of the N field of the number of new packets can be not carried. The sum of the number N of new packets and the number O of old packets that belong to the next encoded data block is fixed (N+O is a fixed value), the number of packets (N) field of the original data block and the associated depth (D) field You can choose one of two.
发送端的头信息中关联深度字段D等于之前数据块包含的数据包个数(旧包个数O),也可以隐含在下一个数据块参与编码的新包个数N,具体可以是以下任一种方案:The associated depth field D in the header information of the sender is equal to the number of data packets contained in the previous data block (the number of old packets is O), and it can also be implied in the number of new packets N participating in the encoding of the next data block, which can be any of the following options:
1)指示下一个编码数据块中参与的旧包个数,所在范围的最大值L=N+O,用
Figure PCTCN2020107973-appb-000004
比特表示,这种情况的关联深度从当前数据块依次向前计数;
1) Indicate the number of old packets involved in the next encoded data block, the maximum value of the range L=N+O, use
Figure PCTCN2020107973-appb-000004
The bit indicates that the association depth in this case counts forward from the current data block in turn;
2)指示下一个编码数据块中参与的旧包的bitmap,bitmap需要结合数据块的大小、信道情况及编码窗长以及方案的可行性给出一个固定的bit数(用L表示);2) Indicate the bitmap of the old packet participating in the next encoded data block. The bitmap needs to give a fixed number of bits (represented by L) in combination with the size of the data block, the channel condition, the encoding window length, and the feasibility of the solution;
3)指示当前参与编码的新包个数N,用
Figure PCTCN2020107973-appb-000005
表示,由数据包总数N+O减去N可以得到关联的旧包个数O;
3) Indicate the number N of new packets currently participating in encoding, use
Figure PCTCN2020107973-appb-000005
It means that the number of old packets associated with O can be obtained by subtracting N from the total number of data packets N+O;
4)分为两个子字段,指示参与编码的第一个原始数据包的index号、最后一个原始数据包的index号或第一个原始数据包到最后一个原始数据包的总个数中的任意两个;4) Divided into two subfields, indicating any of the index number of the first original data packet involved in encoding, the index number of the last original data packet, or the total number of the first original data packet to the last original data packet. two;
5)分为两个子字段,指示参与编码的发送端编码窗的起始包编号、发送端编码窗的终止包编号以及发送端编码窗参与的有效长度中的任意两个。5) Divided into two subfields, indicating any two of the starting packet number of the encoding window of the transmitting end participating in the encoding, the ending packet number of the encoding window of the transmitting end and the effective length of the encoding window of the transmitting end.
可选地,下一个数据块参与编码的新包个数N字段具体可以是以下任一种方案:Optionally, the N field of the number of new packets that the next data block participates in encoding may specifically be any of the following schemes:
1)指示当前参与编码的新包个数N,最大取值为L,需要用
Figure PCTCN2020107973-appb-000006
表示比特表示;
1) Indicate the number N of new packets currently participating in encoding, and the maximum value is L, which needs to be used
Figure PCTCN2020107973-appb-000006
Represents bit representation;
2)指示当前参与编码的新包个数N的bitmap,bitmap需要结合数据块的大小、信道情况及编码窗长以及方案的可行性给出一个固定的bit数(用L表示最大值)。2) A bitmap indicating the number N of new packets currently participating in coding. The bitmap needs to give a fixed number of bits (with L representing the maximum value) in combination with the size of the data block, the channel condition, the coding window length, and the feasibility of the scheme.
当考虑译码窗状态(窗长)时,需要分别指示关联深度字段D和下一个数据块参与编码的新包个数N字段。根据窗长的使用情况,定义冗余包数量R'=R+ΔR。其中,ΔR与译码器的状态变量Length_Wind_Decoder相关的冗余包数量,表示为ΔR=f(Length_Wind_Decoder),其中函数f表示一种译码器窗长使用情况与额外冗余包个数的映射关系。此时,数量关系满足C=N+O+ΔR。When considering the decoding window state (window length), it is necessary to indicate the associated depth field D and the N field of the number of new packets that the next data block participates in encoding. According to the usage of the window length, the number of redundant packets R'=R+ΔR is defined. Among them, ΔR is related to the number of redundant packets related to the state variable Length_Wind_Decoder of the decoder, which is expressed as ΔR=f(Length_Wind_Decoder), where the function f represents a mapping relationship between the usage of the window length of the decoder and the number of additional redundant packets . At this time, the quantitative relationship satisfies C=N+O+ΔR.
发送端的头信息中需要分别携带关联深度字段D(等于之前数据块包含的数据包个数O)和下一个数据块参与编码的新包个数N字段,关联深度字段D字段具体可以是以下任一种方案:The header information of the sender needs to carry the associated depth field D (equal to the number of data packets contained in the previous data block) and the number of new packets N fields involved in the encoding of the next data block. The associated depth field D field can be any of the following: One option:
1)指示下一个编码数据块中参与的旧包个数,所在范围的最大值L=N+O,用
Figure PCTCN2020107973-appb-000007
比特表示,这种情况的关联深度从当前数据块依次向前计数;
1) Indicate the number of old packets involved in the next encoded data block, the maximum value of the range L=N+O, use
Figure PCTCN2020107973-appb-000007
The bit indicates that the association depth in this case counts forward from the current data block in turn;
2)指示下一个编码数据块中参与的旧包的bitmap,bitmap需要结合数据块的大小、信道情况及编码窗长以及方案的可行性给出一个固定的bit数(用L表示最大值);2) Indicate the bitmap of the old packet participating in the next encoded data block. The bitmap needs to give a fixed number of bits in combination with the size of the data block, the channel condition, the encoding window length, and the feasibility of the solution (L represents the maximum value);
3)分为两个子字段,指示参与编码的第一个原始数据包的index号、最后一个原始数据包的index号或第一个原始数据包到最后一个原始数据包的总个数中的任意两个;3) Divided into two subfields, indicating any of the index number of the first original data packet involved in encoding, the index number of the last original data packet, or the total number of the first original data packet to the last original data packet. two;
4)分为两个子字段,指示参与编码的发送端编码窗的起始包编号、发送端编码窗的终止包编号以及发送端编码窗参与的有效长度中的任意两个。4) Divided into two subfields, indicating any two of the starting packet number of the encoding window of the transmitting end participating in the encoding, the ending packet number of the encoding window of the transmitting end and the effective length of the encoding window of the transmitting end.
下一个数据块参与编码的新包个数N字段具体可以是以下任一种方案:The N field of the number of new packets that the next data block participates in encoding can be any of the following schemes:
1)指示当前参与编码的新包个数N,最大取值为L,则用
Figure PCTCN2020107973-appb-000008
表示比特表示;
1) Indicate the number N of new packets currently participating in encoding, and the maximum value is L, then use
Figure PCTCN2020107973-appb-000008
Represents bit representation;
2)指示当前参与编码的新包个数N的bitmap,bitmap需要结合数据块的大小、信道情况及编码窗长以及方案的可行性给出一个固定的bit数(用L表示最大值);2) A bitmap indicating the number N of new packets currently participating in encoding. The bitmap needs to give a fixed number of bits in combination with the size of the data block, the channel condition, the encoding window length, and the feasibility of the solution (L represents the maximum value);
3)指示当前参与编码的与译码窗相关的冗余包数量ΔR,这里定义最大值为L,用
Figure PCTCN2020107973-appb-000009
比特表示;
3) Indicate the number of redundant packets ΔR related to the decoding window currently participating in the encoding, where the maximum value is defined as L, using
Figure PCTCN2020107973-appb-000009
bit representation;
4)指示当前参与编码的与译码窗相关的冗余包数量ΔR的bitmap,长度为L比特。4) A bitmap indicating the number of redundant packets ΔR related to the decoding window currently involved in encoding, with a length of L bits.
二、针对系统编码方案Second, for the system coding scheme
1、feedback格式1_0_0和1_0_1,同属于下一个原始数据块的包数(N值)固定的情况。不需要数据块的包数字段,因为已经半静态配置。1. The feedback formats 1_0_0 and 1_0_1 belong to the case where the number of packets (N value) of the next original data block is fixed. The packet count field of the data block is not needed because it is already semi-statically configured.
关联深度字段的实现方法可以是以下任一种:The implementation of the associated depth field can be any of the following:
1)指示下一个编码数据块中参与的旧包个数,结合信道情况以及编码窗最大窗长等因素,给出一个最大值L,用
Figure PCTCN2020107973-appb-000010
比特表示。
1) Indicate the number of old packets involved in the next coded data block, combined with the channel conditions and factors such as the maximum window length of the coding window, give a maximum value L, use
Figure PCTCN2020107973-appb-000010
Bit representation.
2)指示下一个编码数据块中参与的旧包的bitmap,bitmap需要结合数据块的大小、信道情况及编码窗长以及方案的可行性给出一个固定的bit数(用L表示);2) Indicate the bitmap of the old packet participating in the next encoded data block. The bitmap needs to give a fixed number of bits (represented by L) in combination with the size of the data block, the channel condition, the encoding window length, and the feasibility of the solution;
3)指示下一个编码数据块中参与的旧块个数Block_Num,结合信道情况以及编码窗最大窗长等因素,给出一个最大值Block_Max,用
Figure PCTCN2020107973-appb-000011
比特表示,通过旧块个数乘以块长N折算得到旧包个数;
3) Indicate the number of old blocks Block_Num involved in the next coded data block, and give a maximum value Block_Max in combination with the channel conditions and the maximum window length of the coding window, using
Figure PCTCN2020107973-appb-000011
Bit representation, the number of old packets is obtained by multiplying the number of old blocks by the block length N;
4)指示下一个编码数据块中参与的旧块的bitmap,可以折算出参与编码的包数;4) indicating the bitmap of the old block participating in the next coded data block, the number of packets participating in the coding can be calculated;
5)指示当前参与编码的原始数据包的总个数;5) Indicate the total number of original data packets currently involved in encoding;
6)指示参与编码的第一个原始数据包的index号、最后一个原始数据包的index号或第一个原始数据包到最后一个原始数据包的总个数中的任意两个;6) Indicate any two of the index number of the first original data packet involved in encoding, the index number of the last original data packet or the total number of the first original data packet to the last original data packet;
7)指示参与编码的发送端编码窗的起始包编号、发送端编码窗的终止包编号以及发送端编码窗参与的有效长度中的任意两个。7) Indicate any two of the starting packet number of the encoding window of the transmitting end participating in the encoding, the ending packet number of the encoding window of the transmitting end, and the effective length of the encoding window of the transmitting end.
可以理解,上述的关联深度D仅对编码数据包有效,系统包是原始数据包本身,自身的系统为1,其他包的系数为0,关联深度D=0。It can be understood that the above-mentioned association depth D is only valid for coded data packets, the system packet is the original data packet itself, its own system is 1, the coefficients of other packets are 0, and the association depth D=0.
2、feedback格式1_1_0和1_1_1,下一个编码数据块的编码包数量C为定值。需要分别指示关联深度字段D和下一个数据块参与编码的新包个数N字段,二者没有直接的关系。2. For feedback formats 1_1_0 and 1_1_1, the number C of encoded packets of the next encoded data block is a fixed value. It is necessary to indicate the associated depth field D and the N field of the number of new packets that the next data block participates in encoding, and there is no direct relationship between the two.
发送端的头信息中关联深度字段D不等于之前数据块包含的数据包个数(旧包个数O),具体可以是以下任一种方案:The associated depth field D in the header information of the sender is not equal to the number of data packets contained in the previous data block (the number of old packets is 0), which may be any of the following schemes:
1)指示下一个编码数据块中参与的旧包个数,结合信道情况以及编码窗最大窗长等因素,给出一个最大值L,该值可以由数据块的长度半静态确定,用
Figure PCTCN2020107973-appb-000012
比特表示。
1) Indicate the number of old packets involved in the next coded data block, and give a maximum value L in combination with the channel conditions and the maximum window length of the coding window, which can be semi-statically determined by the length of the data block, using
Figure PCTCN2020107973-appb-000012
Bit representation.
2)指示下一个编码数据块中参与的旧包的bitmap,bitmap需要结合数据块的大小、信道情况及编码窗长以及方案的可行性给出一个固定的bit数(用L表示);2) Indicate the bitmap of the old packet participating in the next encoded data block. The bitmap needs to give a fixed number of bits (represented by L) in combination with the size of the data block, the channel condition, the encoding window length, and the feasibility of the solution;
3)指示下一个编码数据块中参与的旧块个数Block_Num,结合信道情况以及编码窗最大窗长等因素,给出一个最大值Block_Max,用
Figure PCTCN2020107973-appb-000013
比特表示,通过旧块个数结合块长折算得到旧包个数;
3) Indicate the number of old blocks Block_Num involved in the next coded data block, and give a maximum value Block_Max in combination with the channel conditions and the maximum window length of the coding window, using
Figure PCTCN2020107973-appb-000013
Bit indicates that the number of old packets is obtained by converting the number of old blocks combined with the block length;
4)指示下一个编码数据块中参与的旧块的bitmap,可以折算出参与编码的包数;5)指示当前参与编码的原始数据包的总个数;4) indicate the bitmap of the old block participating in the next encoded data block, and can convert the number of packets involved in encoding; 5) indicate the total number of original data packets currently participating in encoding;
6)指示参与编码的第一个原始数据包的index号、最后一个原始数据包的index号或第一个原始数据包到最后一个原始数据包的总个数中的任意两个;6) Indicate any two of the index number of the first original data packet involved in encoding, the index number of the last original data packet or the total number of the first original data packet to the last original data packet;
7)指示参与编码的发送端编码窗的起始包编号、发送端编码窗的终止包编号以及发送端编码窗参与的有效长度中的任意两个。7) Indicate any two of the starting packet number of the encoding window of the transmitting end participating in the encoding, the ending packet number of the encoding window of the transmitting end, and the effective length of the encoding window of the transmitting end.
可以理解,上述的关联深度D仅对编码数据包有效,系统包是原始数据包本身,自身的系统为1,其他包的系数为O,关联深度D=O。It can be understood that the above-mentioned association depth D is only valid for coded data packets, the system packet is the original data packet itself, its own system is 1, the coefficient of other packets is 0, and the association depth D=0.
下一个数据块参与编码的新包个数N字段具体可以是以下任一种方案:The N field of the number of new packets that the next data block participates in encoding can be any of the following schemes:
1)指示当前参与编码的新包个数N,用
Figure PCTCN2020107973-appb-000014
表示;
1) Indicate the number N of new packets currently participating in encoding, use
Figure PCTCN2020107973-appb-000014
Express;
2)指示当前参与编码的新包个数N的bitmap,bitmap需要结合数据块的大小、信道情况及编码窗长以及方案的可行性给出一个固定的bit数(用C表示);2) A bitmap indicating the number N of new packets currently participating in encoding. The bitmap needs to give a fixed number of bits (denoted by C) in combination with the size of the data block, the channel condition, the encoding window length, and the feasibility of the solution;
3)当考虑译码窗状态时,指示当前参与编码的与译码窗相关的冗余包数量ΔR,用
Figure PCTCN2020107973-appb-000015
3) When considering the state of the decoding window, indicate the number of redundant packets ΔR related to the decoding window currently participating in the encoding, and use
Figure PCTCN2020107973-appb-000015
4)当考虑译码窗状态时,指示当前参与编码的与译码窗相关的冗余包数量ΔR的bitmap,长度为C比特;4) when considering the decoding window state, indicate the bitmap of the number of redundant packets ΔR related to the decoding window currently participating in the encoding, and the length is C bits;
下面再介绍系数字段。The coefficient field is described below.
编码系数的指示信息可以在编码数据包的头部携带,结合反馈信息确定的关联深度和冗余包个数,可以指示出编码数据包的原始数据包信息和对于原始数据包信息对应的系数。除了在包头携带编码系数的方式之外,还可以配置半静态码本并通过码本指示信息在半静态码本中指示编码系数。The indication information of the coding coefficients can be carried in the header of the coded data packet. Combined with the correlation depth and the number of redundant packets determined by the feedback information, the original data packet information of the coded data packet and the coefficient corresponding to the original data packet information can be indicated. In addition to the manner of carrying the coding coefficients in the packet header, a semi-static codebook may also be configured and the coding coefficients may be indicated in the semi-static codebook through codebook indication information.
码本可以是局部码本或全局码本。The codebook can be a local codebook or a global codebook.
局部码本的优势在于GF域的范围小,且参与编码的包个数(即一个系数向量的维数)通常远小于最大的编码窗范围,编译码计算复杂度低,但是需要借助关联深度等参考信息来定位待编码的原始数据包位置和个数,在接收端译码器需要根据上述信息等效形成全局译码系数矩阵进行译码。The advantage of the local codebook is that the range of the GF domain is small, and the number of packets involved in coding (ie, the dimension of a coefficient vector) is usually much smaller than the range of the largest coding window. The position and number of the original data packets to be encoded are located with reference to the information, and the decoder at the receiving end needs to equivalently form a global decoding coefficient matrix for decoding according to the above information.
全局码本通过定义一个编码系数向量维度大小等于发送端最大编码窗长值的全局系数矩阵,矩阵中的系数向量的个数(编码数据包的个数)是一个大于最大接收端译码窗长值的值,这样可以通过循环使用码本中的编码系数,确保译码窗中的所有编码数据包均线性无关,保证译码有效性,但不足是需要考虑GF域的大小更大,编译码过程的计算复杂度会更高。下面分别对局部码本和全局码本进行说明。The global codebook defines a global coefficient matrix with a coding coefficient vector dimension equal to the maximum coding window length of the sender. The value of the value, so that the coding coefficients in the codebook can be used cyclically to ensure that all the coded data packets in the decoding window are linearly independent, and the decoding validity is guaranteed, but the disadvantage is that the size of the GF field needs to be considered larger, and the coding and decoding The computational complexity of the process will be higher. The local codebook and the global codebook are respectively described below.
一、针对局部码本1. For local codebooks
如图19所示,为局部码本示意图。该局部码本是一个k行n列(k*n)的矩阵,该码本包含n个系数向量(n列,最多可以用于生成n个编码数据包),每个系数向量的最大维度为k(即最多可用于对k个原始数据包进行编码),且n个系数向量之间两两线性无关,满足两两线性无关的特性对应的码本系数包括但不限于范德蒙矩阵或者柯西矩阵等。这里,局部码本的k和n值小于或远小于编译码窗的大小。可选地,可定义或配置一个通用的局部码本,发送端编码器的编码过程可以从中选择一个子矩阵作为一个原始数据块的编码系数矩阵(也可以称为编码核矩阵),即可根据子矩阵来逐步完成每个编码数据块的编码。As shown in FIG. 19 , it is a schematic diagram of a local codebook. The local codebook is a matrix with k rows and n columns (k*n), the codebook contains n coefficient vectors (n columns, which can be used to generate n encoded data packets at most), and the maximum dimension of each coefficient vector is k (that is, it can be used to encode at most k original data packets), and the n coefficient vectors are linearly independent of each other, and the corresponding codebook coefficients that satisfy the characteristics of linear independence include but are not limited to Vandermonde matrix or Cauchy matrix Wait. Here, the values of k and n of the local codebook are smaller or much smaller than the size of the coding window. Optionally, a general local codebook can be defined or configured, from which the encoding process of the encoder at the transmitting end can select a sub-matrix as the encoding coefficient matrix (also referred to as the encoding kernel matrix) of an original data block, which can be determined according to submatrix to complete the encoding of each encoded data block step by step.
不同编码方案的具体操作不同,码本的使用方式也有所差异。The specific operations of different coding schemes are different, and the ways of using the codebook are also different.
1、对于非系统码,以每次编码的数据包个数均相同的情况(即新包个数和旧包个数的和为定值,N+O为定值)为例,由于关联深度和编码数据包个数已经确定,从局部码本中选择一个子矩阵作为编码系数即可。例如,当N+O=4,编码数据包个数为6(冗余包个数R=2),可以选择(a i,j~a i+3,j)作为一个系数向量,这里满足i≥1且i+3≤k,在i值不变的情况下,从局部码本中随机选择6个不同的系数向量即可,这里6个向量可以是局部码本上连续的6个列向量,或者也可以是局部码本上不连续的6个列向量,该6个向量构成一个码本的子矩阵。如图20所示,为局部码本选择示意图。可以选择子矩阵1、子矩阵2或者子矩阵3。这里还可以选择更小的码本,保证可以满足编码的需求即可。另外,如果参数N+O=4,编码数据包个数最大为6(冗余包个数R最大为2),可以给出一个最小局部码本,如子矩阵1即可,每次通过调整关联深度D(当前原始数据块的数据包和之前数据块的数据包的个数),利用已有的码本进行编码,如图21所示,为局部码本生成矩阵示意图,第一个生成矩阵采用4*4的码本,第二个生成矩阵采用4*5的码本,且D=1,第三个生成矩阵采用4*6的码本,D=2;后续编码生成矩阵以此类推,只要码本内部,满足每两个编码向量线性无关即可。 1. For non-systematic codes, take the case where the number of data packets encoded each time is the same (that is, the sum of the number of new packets and the number of old packets is a fixed value, and N+O is a fixed value) as an example, due to the depth of association And the number of encoded data packets has been determined, just select a sub-matrix from the local codebook as the encoding coefficient. For example, when N+O=4 and the number of encoded data packets is 6 (the number of redundant packets R=2), (a i,j ~a i+3,j ) can be selected as a coefficient vector, where i satisfies ≥1 and i+3≤k, under the condition that the value of i remains unchanged, 6 different coefficient vectors can be randomly selected from the local codebook, where the 6 vectors can be consecutive 6 column vectors on the local codebook , or it can also be 6 discontinuous column vectors on the local codebook, and the 6 vectors form a sub-matrix of a codebook. As shown in Fig. 20, it is a schematic diagram of local codebook selection. Submatrix 1, Submatrix 2, or Submatrix 3 can be selected. Here, you can also choose a smaller codebook to ensure that it can meet the needs of encoding. In addition, if the parameter N+O=4, the maximum number of encoded data packets is 6 (the maximum number of redundant packets R is 2), a minimum local codebook can be given, such as sub-matrix 1, each time by adjusting Correlation depth D (the number of data packets of the current original data block and the data packets of the previous data block), using the existing codebook for encoding, as shown in Figure 21, is a schematic diagram of the local codebook generation matrix, the first generated The matrix uses a 4*4 codebook, the second generator matrix uses a 4*5 codebook, and D=1, and the third generator matrix uses a 4*6 codebook, D=2; the subsequent encoding generator matrix is based on this By analogy, as long as it is within the codebook, it is sufficient that every two coding vectors are linearly independent.
2、对于系统码方案,系统包默认自身系数为1,其余系数为0,无需使用局部码本,对冗余编码数据包则可根据所需编码数据包的个数按照前述的内容使用局部码本。2. For the system code scheme, the default coefficient of the system package is 1, and the other coefficients are 0. There is no need to use a local codebook. For redundant encoded data packets, the local code can be used according to the aforementioned content according to the number of encoded data packets required. Book.
二、针对全局码本Second, for the global codebook
全局码本需要考虑发送端编码器和接收端译码器的长度限制,通常情况下,为了保证接收端译码的能力,需要发送端编码窗长度满足如下条件:发送端编码窗长度L小于等于接收端译码窗长度Length_Wind_Decoder。相应地,编译码窗长度决定了码本的大小以及 相应GF域的大小。如图22所示,为全局码本示意图。全局码本的是一个K行N列(即K*N)的矩阵,该码本包含N个系数向量(N列,最多可以用于生成N个编码数据包),每个系数向量的最大维度为K(即最多可用于对K个原始数据包进行编码),且N个系数向量之间两两线性无关,满足两两线性无关的特性对应的码本系数包括但不限于范德蒙矩阵或者柯西矩阵等。全局码本中的K大于等于发送端编码器的最大窗长L,N值大于等于接收端译码器的最大窗长Length_Wind_Decoder。相应地,GF域值可以根据max{K,N}对应选择,即对于GF(2 q)中,2 q≥max{K,N}。在全局码本中,编码数据包携带包头信息,该包头信息携带码本的指示信息,行码本的指示信息包括系数在码本的起始位置Para_start、终止位置Para_end以及系数的个数Para_length中的任意两个信息。当系数个数Para_length半静态配置的情况下,只需要码本的起始位置Para_start或者终止位置Para_end。综上,发送端编码器对原始数据进行编码,从全局码本中以循环的方式依次选择编码系数。例如,初始阶段的第一个编码数据包对应全局码本的第一组编码系数,其后编码数据包的编码系数从全局码本中以循环的方式依次选择。 The global codebook needs to consider the length limitations of the encoder at the sender and the decoder at the receiver. Usually, in order to ensure the decoding capability of the receiver, the length of the coding window of the sender needs to meet the following conditions: the length of the coding window L of the sender is less than or equal to The receiver decoding window length Length_Wind_Decoder. Correspondingly, the length of the coding and decoding window determines the size of the codebook and the size of the corresponding GF field. As shown in FIG. 22 , it is a schematic diagram of the global codebook. The global codebook is a matrix with K rows and N columns (that is, K*N). The codebook contains N coefficient vectors (N columns, which can be used to generate N encoded data packets at most), and the maximum dimension of each coefficient vector. is K (that is, it can be used to encode at most K original data packets), and the N coefficient vectors are linearly independent in pairs, and the corresponding codebook coefficients that satisfy the characteristics of linear independence include but are not limited to Vandermonde matrix or Cauchy matrix, etc. K in the global codebook is greater than or equal to the maximum window length L of the encoder at the sending end, and the value of N is greater than or equal to the maximum window length Length_Wind_Decoder of the decoder at the receiving end. Correspondingly, the GF domain value can be selected according to max{K,N}, that is, for GF(2 q ), 2 q ≥max{K,N}. In the global codebook, the coded data packet carries packet header information, and the packet header information carries the indication information of the codebook. The indication information of the row codebook includes coefficients in the starting position Para_start of the codebook, the ending position Para_end, and the number of coefficients Para_length any two pieces of information. When the number of coefficients Para_length is semi-statically configured, only the starting position Para_start or the ending position Para_end of the codebook is required. To sum up, the encoder at the transmitting end encodes the original data, and sequentially selects the encoding coefficients from the global codebook in a circular manner. For example, the first coded data packet in the initial stage corresponds to the first group of coding coefficients of the global codebook, and the coding coefficients of the subsequent coded data packets are sequentially selected from the global codebook in a circular manner.
不同编码方案的具体操作不同,码本的使用方式也有所差异。The specific operations of different coding schemes are different, and the ways of using the codebook are also different.
1、针对非系统码方案1. For non-system code scheme
如图23所示,为全局码本选择示意图。在一个完整的全局码本中,如果每个数据块的新包个数相同,旧包的个数随着关联深度变化。第一次编码:对3个新包进行编码生成3个编码数据包,从全局码本选择系数子矩阵1。第二次编码:对3个新包和1个旧包进行编码生成4个编码数据包,并且考虑到关联深度为1,因此,从全局码本选择系数子矩阵2。第三次编码:对3个新包和2个旧包进行编码生成5个编码数据包,从全局码本选择系数子矩阵3,依次类推。如果每个编码数据块的总包数相同,即新包和旧包个数总和相同,以每个编码数据块包含总计3个包为例,编码生成3个编码数据包。第一次编码:对3个新包进行编码生成3个编码数据包,从全局码本选择系数子矩阵1。第二次编码:对2个新包和1个旧包进行编码生成3个编码数据包,从全局码本选择系数子矩阵2.第三次编码:对1个新包和2个旧包进行编码生成3个编码数据包。As shown in FIG. 23, a schematic diagram of global codebook selection is shown. In a complete global codebook, if each data block has the same number of new packets, the number of old packets varies with the depth of association. The first encoding: Encode 3 new packets to generate 3 encoded data packets, and select coefficient sub-matrix 1 from the global codebook. The second encoding: encoding 3 new packets and 1 old packet to generate 4 encoded data packets, and considering that the correlation depth is 1, therefore, the coefficient sub-matrix 2 is selected from the global codebook. The third encoding: encode 3 new packets and 2 old packets to generate 5 encoded data packets, select coefficient sub-matrix 3 from the global codebook, and so on. If the total number of packets in each coded data block is the same, that is, the total number of new and old packets is the same, and each coded data block contains a total of 3 packets as an example, the encoding generates 3 coded data packets. The first encoding: Encode 3 new packets to generate 3 encoded data packets, and select coefficient sub-matrix 1 from the global codebook. Second encoding: Encode 2 new packets and 1 old packet to generate 3 encoded data packets, and select coefficient sub-matrix 2 from the global codebook. Third encoding: Encode 1 new packet and 2 old packets to generate 3 encoded packets.
随着发送端编码数据块进窗,在接收端也会有译码器窗口,如果接收端成功译码当前及之前的编码数据块,对译码窗中的编码数据块执行出窗操作(如清空译码窗),并将译码情况反馈给发送端。然后,发送端确定译码成功的编码数据块,并将该译码成功的数据块及该编码数据块之前的数据块移出编码窗然后可以重新使用全局码本。当编码窗满以后还未成功译码窗内的编码数据块,下一个编码数据块进窗之前,若编码窗的大小固定,则可以有一个旧编码数据块出窗。As the encoded data block of the transmitting end enters the window, there will also be a decoder window at the receiving end. If the receiving end successfully decodes the current and previous encoded data blocks, the windowing operation is performed on the encoded data blocks in the decoding window (such as Clear the decoding window), and feedback the decoding situation to the sender. Then, the transmitting end determines the successfully decoded coded data block, moves the successfully decoded data block and the data block before the coded data block out of the coding window, and then can reuse the global codebook. When the encoded data block in the window has not been successfully decoded after the encoding window is full, before the next encoded data block enters the window, if the size of the encoding window is fixed, an old encoded data block may exit the window.
2、针对系统码方案2. For the system code scheme
系统包默认自身系数为1,其余系数为0,无需使用全局码本,对编码数据包则可根据所需编码数据包的个数按照前述的内容使用全局码本。The default coefficient of the system package is 1, and the other coefficients are 0. There is no need to use the global codebook. For the encoded data packets, the global codebook can be used according to the aforementioned content according to the number of encoded data packets required.
上述实施例四有益效果如下:对发送端的控制消息进行了完整的设计。每个编码数据 包的头部携带控制消息可以表明发送端根据接收端反馈信息以及其他系统信息确定的编码决策,体现为编码参数。由于其他系统信息的影响,包头的编码参数和接收端的反馈信息对应的编码参数不总是一致。因此,接收端通过识别编码数据包的头部控制消息,可以获取具体的编码参数包括关联深度D、冗余包个数R、新包的数量N以及相应的编码系数矩阵等,从而可以在接收端准确地识别编码参数和对应的编码数据,做到准确地译码。并且对编码系数矩阵给出了半静态局部和全局码本的方案以及相应的指示信息设计,降低了包头随机系数携带导致的开销,确保了降低GF域运算的复杂度,保证了一个编码数据块内的编码数据包之间以及编码数据块之间编码数据包是线性无关的。The beneficial effects of the fourth embodiment above are as follows: the control message of the sender is completely designed. The control message carried in the header of each coded data packet can indicate the coding decision determined by the sender according to the feedback information of the receiver and other system information, which is embodied as coding parameters. Due to the influence of other system information, the coding parameters of the packet header and the coding parameters corresponding to the feedback information of the receiving end are not always consistent. Therefore, by identifying the header control message of the encoded data packet, the receiving end can obtain specific encoding parameters including the association depth D, the number of redundant packets R, the number of new packets N, and the corresponding encoding coefficient matrix, etc. The terminal can accurately identify the encoding parameters and the corresponding encoded data, so as to achieve accurate decoding. And for the coding coefficient matrix, the semi-static local and global codebook scheme and the corresponding design of the indication information are given, which reduces the overhead caused by the random coefficient carrying in the packet header, ensures the reduction of the complexity of the GF domain operation, and ensures a coded data block. The coded packets are linearly independent between coded packets within and between coded data blocks.
实施例五 Embodiment 5
实施例五通过结合编码数据包传输过程中的擦除情况(也可以理解为数据包丢失)、接收端的译码和接收端的反馈信息,提供了编码方案,包括系统码和非系统码下的设计方案,并且根据不同的参数配置作了不同的设计。 Embodiment 5 provides an encoding scheme by combining the erasure situation in the transmission process of the encoded data packet (which can also be understood as data packet loss), the decoding of the receiving end, and the feedback information of the receiving end, including the design under systematic codes and non-systematic codes. scheme, and made different designs according to different parameter configurations.
如图24所示,为基于反馈的编码方案发送端流程示意图。As shown in FIG. 24 , it is a schematic diagram of the flow chart of the sending end of the feedback-based coding scheme.
步骤2401,发送端在初始化阶段确定编码方案的类型和初始化编码参数。 Step 2401, the transmitting end determines the type of encoding scheme and initializes encoding parameters in the initialization phase.
其中,编码方案包括系统码方案和非系统码方案。The coding scheme includes a systematic code scheme and a non-systematic code scheme.
初始化编码参数包括关联深度D、冗余编码数据包个数R、原始数据块中的新原始数据包数量N、编码系数(可以随机生成或从码本中选择)。The initial encoding parameters include the association depth D, the number R of redundant encoded data packets, the number N of new original data packets in the original data block, and the encoding coefficients (which can be randomly generated or selected from the codebook).
步骤2402,发送端根据编码参数进行编码,生成编码数据包并发送。 Step 2402, the transmitting end performs encoding according to the encoding parameters, generates an encoded data packet, and sends it.
在明确编码方案大类以后,需要明确方案中哪些参数是半静态配置的。这里考虑可以半静态配置的参数有:待编码的原始数据包的总个数(包括新原始数据块的原始数据包和若干旧原始数据块的原始数据包个数之和)、关联深度D、新原始数据块的原始数据包(也即新包)个数N、冗余编码数据包个数R。发送端在初始化状态先按照方案类型、半静态参数配置以及初始参数配置对原始数据进行编码,生成编码数据包(包括添加包头信息),并发送编码数据包。After specifying the coding scheme categories, it is necessary to clarify which parameters in the scheme are semi-statically configured. The parameters that can be semi-statically configured here are: the total number of original data packets to be encoded (including the sum of the original data packets of the new original data block and the original data packets of several old original data blocks), the association depth D, The number N of original data packets (that is, new packets) of the new original data block, and the number R of redundant encoded data packets. In the initialization state, the sender first encodes the original data according to the scheme type, semi-static parameter configuration and initial parameter configuration, generates an encoded data packet (including adding packet header information), and sends the encoded data packet.
步骤2403,发送端收到反馈信息以及其他系统信息。 Step 2403, the sending end receives the feedback information and other system information.
这里的反馈信息可以参考前述实施例的描述。For the feedback information here, reference may be made to the descriptions of the foregoing embodiments.
这里的其他系统信息包括但不限于:信道状态信息、其他指示或者影响编码参数的系统信息等。Other system information here includes, but is not limited to: channel state information, other indications or system information affecting coding parameters, and the like.
步骤2404,发送端判断反馈信息中是否包含译码成功信息。Step 2404: The sender determines whether the feedback information includes decoding success information.
若是,转到步骤2405,若否,转到步骤2406。If yes, go to step 2405, if no, go to step 2406.
步骤2405,发送端将译码成功的原始数据从编码器中移除。 Step 2405, the sender removes the successfully decoded original data from the encoder.
发送端收到接收端的反馈信息,需要根据反馈信息确定译码是否成功,如果译码成功,则发送端编码器清空原始数据包,反之不做操作。由于卷积网络编码器大小受限,如果卷积网络编码器已满,则将一个单位的旧数据清理出卷积网络编码器,并使一个单位的新数据进卷积网络编码器。When the sender receives the feedback information from the receiver, it needs to determine whether the decoding is successful according to the feedback information. If the decoding is successful, the encoder at the sender clears the original data packet, otherwise, no operation is performed. Due to the limited size of the convolutional network encoder, if the convolutional network encoder is full, one unit of old data is cleaned out of the convolutional network encoder, and one unit of new data is put into the convolutional network encoder.
步骤2406,发送端根据反馈信息和其他系统信息,确定下次编码的编码参数。 Step 2406, the transmitting end determines the encoding parameters for the next encoding according to the feedback information and other system information.
发送端根据方案类型、半静态参数配置,并结合反馈信息以及其他系统信息确定下次编码的编码参数。可选地,这里编码参数可以和反馈信息指示的编码参数相同,也可以在反馈信息的基础上,根据其他系统信息更新编码参数。并且,确定的下次编码的编码参数 需要携带在下次编码生成的编码数据包的包头中,以确保接收端的卷积网络译码器可以正确识别相关参数信息,进而准确译码。The sender determines the encoding parameters for the next encoding according to the scheme type, semi-static parameter configuration, and in combination with feedback information and other system information. Optionally, the encoding parameter here may be the same as the encoding parameter indicated by the feedback information, or the encoding parameter may be updated according to other system information on the basis of the feedback information. In addition, the determined encoding parameters of the next encoding need to be carried in the packet header of the encoded data packet generated by the next encoding to ensure that the convolutional network decoder at the receiving end can correctly identify the relevant parameter information, and then accurately decode.
下面给出结合编码方案类型、半静态参数配置给出如下几种方案:Combining the coding scheme type and semi-static parameter configuration, the following schemes are given below:
需要说明的是,以下图25至30中,G 0、G 1、G 2、G 3、G 4为编码系数。G 0中的圆点表示新包的编码系数,G 1、G 2、G 3、G 4中的圆点表示旧包的编码系数,黑色圆点表示非冗余编码数据包的系数,而白色圆点表示冗余编码数据包的系数,空白的位置一律表征系数为0,圆点表示的值也可以取0。 It should be noted that in the following FIGS. 25 to 30 , G 0 , G 1 , G 2 , G 3 , and G 4 are coding coefficients. The dots in G 0 represent the coding coefficients of the new packet, the dots in G 1 , G 2 , G 3 , G 4 represent the coding coefficients of the old packets, the black dots represent the coefficients of the non-redundant coded data packets, and the white The dots represent the coefficients of redundant coded data packets, the blank positions always represent the coefficients as 0, and the values represented by the dots can also be 0.
1、基于反馈的非系统码方案,每个编码数据块的数据包总数为定值,当不考虑译码窗的影响及对应算法时,等效于待编码的原始数据包总个数为定值(N+O半静态配置)。1. In the feedback-based non-systematic code scheme, the total number of data packets of each encoded data block is a fixed value. When the influence of the decoding window and the corresponding algorithm are not considered, it is equivalent to the total number of original data packets to be encoded. value (N+O semi-static configuration).
如图25所示,为基于反馈的自适应非系统码方案示意图。其中,编码数据块的数据包数量为定值4,等效于发送端的待编码的原始数据包总个数(N+O)为定值,具体的N+O=4。图中左侧B i表示发送端原始数据块,每个原始数据块包含若干个原始数据包,用a i表示原始数据包。图中上侧表示编码数据块,用B' i表示,每个编码数据块中包含若干个编码数据包,每个编码数据块的编码数据包个数相同,均为4,即每次等效编码系数矩阵始终为4*4的矩阵。下方为编码系数,G 0中的圆点表示新包的编码系数,G 1中的圆点表示旧包的编码系数,G 0和G 1中的白色圆点表示冗余编码数据包的系数。编码数据包表示c i,冗余包表示为p i。这里的编码系数可以采用随机系数,也可以考虑半静态系数码本,如果选择局部码本,选择一个4*4的线性无关的码本即可。如果选择全局码本则需考虑一个Q*Q的码本,Q≥max(K,N),其中K,N与发送端卷积网络编码器的长度和接收端卷积网络译码器的长度相关,详见上述实施例四。初始时刻,对原始数据块B 1的a 1~a 4进行编码生成B 1'的c 1~c 4,且c 2被擦除(对应系数列标“×”),接收端无法成功译码,然后生成反馈信息,这里反馈信息相关的参数可以表征为前述实施例二中的信息,如rank值,然后将反馈信息发送给发送端。发送端根据反馈信息的参数确定关联深度D=1个数据包,且下一个原始数据块的包个数N=3,冗余包个数R=1。生成矩阵由编码核矩阵G 0和G 1构成,其中G 0是一个3*4的矩阵,G 1是一个1*4的矩阵,可以对应B 1中的任意一个原始数据包。此外,如果考虑到译码器的状态(窗长)对反馈信息或者编码的影响,根据窗长的使用情况,定义一个冗余包R'=R+ΔR。其中,ΔR与译码器的状态变量Length_Wind_Decoder相关的函数,表示为ΔR=f(Length_Wind_Decoder),其中函数f表示一种译码器窗长使用情况与额外冗余包个数的映射关系。相应的算法可以在发送端考虑,也可以在接收端考虑,发送端需要反馈信息携带窗长使用情况的参数,在此基础上执行相关算法额外增加冗余,接收端则直接执行相关算法并将结果折算到其他参数中,如冗余数据包的个数,反馈信息并不需要单独携带译码器窗长参数。图中,未考虑译码器的状态反馈。编码数据块B′ 2的编码数据包c 5、c 7被擦除,根据反馈信息,关联深度D=2个数据包,相应地,原始数据块B 3包含a 8和a 9,与B 2中的a 6和a 7联合编码。依次类推,当发送端对原始数据块B 5中的原始数据包参与编码,接收端接收到对应的编码数据块B′ 5中的c 13~c 15以及冗余包p 5译码成功,则原始数据块B 1~B 5中所有的原始数据包均译码成功。接收端将编码数据块发送端B′ 1~B′ 5移出译码器窗口,同样地发送端根据接收端地反馈信息将原始数据块B 1~B 5的原始数据包移出编码器窗口。 As shown in FIG. 25 , it is a schematic diagram of an adaptive non-systematic code scheme based on feedback. The number of data packets in the encoded data block is a fixed value of 4, which is equivalent to a fixed value of the total number of original data packets to be encoded at the transmitting end (N+O), specifically N+O=4. The left side B i in the figure represents the original data block of the sender, each original data block contains several original data packets, and a i represents the original data packet. The upper side of the figure represents the coded data block, which is represented by B'i , each coded data block contains several coded data packets, and the number of coded data packets of each coded data block is the same, which is 4, that is, each time is equivalent to The encoding coefficient matrix is always a 4*4 matrix. Below are the coding coefficients, the dots in G 0 represent the coding coefficients of the new packet, the dots in G 1 represent the coding coefficients of the old packet, and the white dots in G 0 and G 1 represent the coefficients of the redundant coded data packets. The encoded data packets are denoted ci and the redundant packets are denoted pi . The coding coefficients here can be random coefficients, or a semi-static coefficient codebook can be considered. If a local codebook is selected, a 4*4 linearly independent codebook can be selected. If you choose a global codebook, you need to consider a Q*Q codebook, Q≥max(K,N), where K, N are the length of the convolutional network encoder at the sender and the length of the convolutional network decoder at the receiver For details, refer to Embodiment 4 above for details. At the initial moment, a 1 to a 4 of the original data block B 1 are encoded to generate c 1 to c 4 of B 1 ', and c 2 is erased (corresponding to the coefficient column label "×"), and the receiving end cannot successfully decode it , and then generate feedback information, where the parameters related to the feedback information can be represented as the information in the foregoing second embodiment, such as a rank value, and then send the feedback information to the sender. The sender determines the association depth D=1 data packets according to the parameters of the feedback information, and the number of packets of the next original data block is N=3, and the number of redundant packets is R=1. The generator matrix is composed of encoding kernel matrices G 0 and G 1 , where G 0 is a 3*4 matrix, and G 1 is a 1*4 matrix, which can correspond to any original data packet in B 1 . In addition, if the influence of the state of the decoder (window length) on feedback information or coding is considered, according to the usage of the window length, a redundant packet R'=R+ΔR is defined. The function related to ΔR and the state variable Length_Wind_Decoder of the decoder is expressed as ΔR=f(Length_Wind_Decoder), where the function f represents a mapping relationship between the usage of the decoder window length and the number of extra redundant packets. The corresponding algorithm can be considered at the sending end or at the receiving end. The sending end needs to feed back information carrying the parameters of the window length usage. On this basis, the relevant algorithm is executed to add additional redundancy, and the receiving end directly executes the relevant algorithm and sends The result is converted into other parameters, such as the number of redundant data packets, and the feedback information does not need to carry the decoder window length parameter separately. In the figure, the state feedback of the decoder is not considered. The encoded data packets c 5 and c 7 of the encoded data block B′ 2 are erased. According to the feedback information, the associated depth D=2 data packets. Correspondingly, the original data block B 3 contains a 8 and a 9 , which are the same as B 2 a 6 and a 7 in the joint code. By analogy, when the transmitting end participates in encoding the original data packet in the original data block B5, and the receiving end receives c 13 to c 15 in the corresponding encoded data block B' 5 and the redundant packet p 5 is successfully decoded, then All the original data packets in the original data blocks B 1 to B 5 are successfully decoded. The receiving end moves the transmitting ends B' 1 to B' 5 of the encoded data blocks out of the decoder window. Similarly, the transmitting end moves the original data packets of the original data blocks B 1 to B 5 out of the encoder window according to the feedback information of the receiving end.
2、基于反馈的非系统码方案,当前原始数据块的包个数N为定值(新包个数N半静态配置)。2. In the feedback-based non-systematic code scheme, the number of packets N of the current original data block is a fixed value (the number of new packets N is semi-statically configured).
如图26所示,为基于反馈的自适应非系统码方案示意图。其中,发送端原始数据块的新包个数相同,即N为定值。该方案2与方案1整体保持一致,不同之处在于发送端原始数据块的新包个数N半静态配置为3,根据关联深度的变化,N+O的值也会相应变化。根据编码数据包的擦除情况,冗余包的个数R也会对应调整,例如,对于原始数据块B 3的原始数据包与原始数据块B 2的原始数据包a 6联合编码生成编码数据块B′ 3,其中编码数据包c 8和c 9被擦除。根据反馈信息,发送端获知rank=2,因此下一个原始数据块的关联深度D=2个数据包,R=2个数据包,对应的编码系数为5*5的矩阵。此外,如果考虑到译码器的状态(窗长)对反馈信息或者编码的影响,根据窗长的使用情况,定义一个冗余包R′=R+ΔR。其中,ΔR与译码器的状态变量Length_Wind_Decoder相关的函数,表示为ΔR=f(Length_Wind_Decoder),其中函数f表示一种译码器窗长使用情况与额外冗余包个数的映射关系。相应的算法可以在发送端考虑,也可以在接收端考虑,发送端需要反馈信息携带窗长使用情况的参数,在此基础上执行相关算法额外增加冗余,接收端则直接执行相关算法并将结果折算到其他参数中,如冗余数据包的个数,反馈信息并不需要单独携带译码器窗长参数。这里考虑了译码窗器状态的影响,这里的简化算法是在窗尾多加一个冗余包,即将B 4~B 5的4个原始数据包a 12~a 15编码生成5个编码包,在冗余包p 5的基础上根据译码窗相关算法f额外生成一个冗余包p 6,即使当最后一个编码数据块有一个数据包丢失,也可以保证正确译码。 As shown in FIG. 26 , it is a schematic diagram of an adaptive non-systematic code scheme based on feedback. Among them, the number of new packets of the original data block of the sender is the same, that is, N is a fixed value. Scheme 2 is consistent with Scheme 1 as a whole, except that the number of new packets N of the original data block of the sender is semi-statically configured to be 3, and the value of N+O will also change accordingly according to the change of the association depth. According to the erasure of the encoded data packets, the number R of redundant packets will also be adjusted accordingly. For example, the original data packet of the original data block B3 and the original data packet a6 of the original data block B2 are jointly encoded to generate encoded data Block B'3 , in which encoded packets c8 and c9 are erased. According to the feedback information, the sender knows that rank=2, so the association depth of the next original data block is D=2 data packets, R=2 data packets, and the corresponding coding coefficient is a matrix of 5*5. In addition, if the influence of the state of the decoder (window length) on the feedback information or coding is considered, according to the usage of the window length, a redundant packet R'=R+ΔR is defined. The function related to ΔR and the state variable Length_Wind_Decoder of the decoder is expressed as ΔR=f(Length_Wind_Decoder), where the function f represents a mapping relationship between the usage of the decoder window length and the number of extra redundant packets. The corresponding algorithm can be considered at the sending end or at the receiving end. The sending end needs to feed back information carrying the parameters of the window length usage. On this basis, the relevant algorithm is executed to add additional redundancy, and the receiving end directly executes the relevant algorithm and sends The result is converted into other parameters, such as the number of redundant data packets, and the feedback information does not need to carry the decoder window length parameter separately. The influence of the state of the decoding window is considered here. The simplified algorithm here is to add an extra redundant packet at the end of the window, that is, to encode the four original data packets a 12 to a 15 of B 4 to B 5 to generate five encoded packets. On the basis of the redundant packet p 5 , an additional redundant packet p 6 is generated according to the decoding window correlation algorithm f, which can ensure correct decoding even when a data packet is lost in the last encoded data block.
3、基于反馈的非系统码方案,当前原始数据块的原始数据包个数N为定值、编码冗余包R为定值(N值、R值半静态配置)。3. In the feedback-based non-systematic code scheme, the number N of the original data packets of the current original data block is a fixed value, and the coded redundancy packet R is a fixed value (the N value and the R value are semi-statically configured).
如图27所示,为基于反馈的平均冗余非系统码方案示意图。其中,每个原始数据块的新包个数N值是个定值,这里N=3,并且,平均冗余方案中冗余包的个数也为定值,这里R=1。因此,发送端先对数据块B 1中的数据包a 1~a 3编码生成编码数据块B′ 1,包括四个编码数据包c 1~c 3以及冗余编码数据包p 1,编码系数可以在GF域随机生成,且在编码数据包头携带,亦可选择前述半静态的局部或者全局码本,并在编码数据包头携带系数指示信息。在发送端传输过程中,编码数据包c 2和c 3被擦除(对应的系数列标“×”)。接收端收到编码数据包后,进行译码等相关操作,并生成反馈信息,这里反馈信息相关的参数可以表征为rank值,或者前述实施例描述的信息,将反馈信息发送给发送端。发送端根据反馈信息的参数确定关联深度。冗余包个数由于是半静态配置的,不需要做调整。因为编码数据块B′ 1的rank为2,不满秩,译码失败,因此关联深度等于1(即原始包个数-rank值)。相应地,对原始数据块B 2的全部数据包和原始数据块B 1的一个数据包(如a 3)联合编码,生成矩阵由编码核矩阵G 0和G 1构成,其中G 0是一个3*4的矩阵,G 1是一个1*4的矩阵。编码数据块B′ 2中c 5被擦除,接收端对编码数据块B′ 2和B′ 1联合译码,译码失败,生成反馈信息给发送端。发送端根据反馈确定关联深度为1个数据包,以此类推,直到收到编码数据块B′ 5,并通过B′ 1~B′ 5联合译码,译码成功,接收端译码窗清空(B′ 1~B′ 5出窗),并反馈译码信息。发送端的原始数据块B 1~B 5出窗(发送端编码窗清空)。后续的操作以此类推。反之,如果译码失败,反馈给发送端,发送端编码器B 1出窗,B 6进窗并编码发送,接收端译码器 B′ 1出窗接收到B′ 6并进窗,进行译码操作,以此类推。此外,不考虑译码器状态时,当前编码数据块中的冗余包数量R由系统信息半静态配置,即平均冗余。在考虑译码器状态时,根据窗长的使用情况,定义冗余包数量R'=R+ΔR,其中,ΔR与译码器的状态变量Length_Wind_Decoder相关的函数,表示为ΔR=f(Length_Wind_Decoder),其中函数f表示一种译码器窗长使用情况与额外冗余包个数的映射关系。相应的算法可以在发送端考虑,也可以在接收端考虑,发送端需要反馈信息携带窗长使用情况的参数,在此基础上执行相关算法额外增加冗余,接收端则直接执行相关算法并将结果折算到其他参数中,如冗余数据包的个数,反馈信息并不需要单独携带译码器窗长参数。 As shown in FIG. 27 , it is a schematic diagram of a feedback-based average redundancy non-systematic code scheme. The value N of the number of new packets in each original data block is a fixed value, where N=3, and the number of redundant packets in the average redundancy scheme is also a fixed value, where R=1. Therefore, the transmitting end first encodes the data packets a 1 to a 3 in the data block B 1 to generate an encoded data block B′ 1 , which includes four encoded data packets c 1 to c 3 and redundant encoded data packets p 1 . It can be randomly generated in the GF field and carried in the header of the encoded data packet, or the aforementioned semi-static local or global codebook can also be selected, and the coefficient indication information is carried in the header of the encoded data packet. During transmission at the sender, the encoded data packets c 2 and c 3 are erased (corresponding coefficient columns marked "x"). After receiving the encoded data packet, the receiving end performs related operations such as decoding, and generates feedback information, where the parameters related to the feedback information can be represented as rank values, or the information described in the foregoing embodiments, and send the feedback information to the transmitting end. The sender determines the association depth according to the parameters of the feedback information. Since the number of redundant packets is semi-statically configured, no adjustment is required. Because the rank of the encoded data block B' 1 is 2, the rank is not satisfied, and the decoding fails, so the correlation depth is equal to 1 (ie, the number of original packets - the rank value). Correspondingly, to jointly encode all the data packets of the original data block B 2 and one data packet (such as a 3 ) of the original data block B 1 , the generating matrix is composed of the encoding kernel matrices G 0 and G 1 , where G 0 is a 3 *4 matrix, G 1 is a 1*4 matrix. c 5 in the encoded data block B' 2 is erased, the receiving end jointly decodes the encoded data blocks B' 2 and B' 1 , the decoding fails, and the feedback information is generated to the transmitting end. The sender determines that the association depth is 1 data packet according to the feedback, and so on, until the encoded data block B' 5 is received, and is decoded jointly by B' 1 to B' 5 , the decoding is successful, and the decoding window of the receiver is cleared. (B' 1 to B' 5 are out of the window), and the decoding information is fed back. The original data blocks B 1 to B 5 of the sender are out of the window (the sender's coding window is cleared). Subsequent operations are analogous. On the other hand, if the decoding fails, it will be fed back to the sender. The sender encoder B 1 is out of the window, B 6 is in the window and encoded and sent, and the receiver decoder B' 1 is out of the window and received B' 6 and into the window for decoding. operation, and so on. In addition, irrespective of the decoder state, the number R of redundant packets in the current coded data block is semi-statically configured by the system information, that is, the average redundancy. When considering the state of the decoder, according to the usage of the window length, define the number of redundant packets R'=R+ΔR, where ΔR is a function related to the state variable Length_Wind_Decoder of the decoder, expressed as ΔR=f(Length_Wind_Decoder) , where the function f represents a mapping relationship between the usage of the decoder window length and the number of extra redundant packets. The corresponding algorithm can be considered at the sending end or at the receiving end. The sending end needs to feed back information carrying the parameters of the window length usage. On this basis, the relevant algorithm is executed to add additional redundancy, and the receiving end directly executes the relevant algorithm and sends The result is converted into other parameters, such as the number of redundant data packets, and the feedback information does not need to carry the decoder window length parameter separately.
4、基于反馈的系统码方案,当前原始数据块的新包个数N为定值(新包个数N半静态配置),自适应关联深度。4. In the system code scheme based on feedback, the number N of new packets of the current original data block is a fixed value (the number of new packets N is semi-statically configured), and the depth of association is adaptive.
如图28所示,为基于反馈的系统码方案示意图。其中,当前原始数据块的新包个数N为定值(半静态配置)。区别于基于反馈的非系统码方案,本系统码方案需要分别反馈系统码和冗余编码数据包的情况。系统包和编码数据包被擦除对应的关联深度进行不同的自适应调整,关联深度D不再以数据包的个数为单位,而是以数据块为单位。只有当系统包被擦除的情况下,与前一个原始数据块有关,即D=1。当编码数据包被擦除时,下一次编码时关联深度D等于前一次编码时的关联深度+1。具体的方案中,接收端按照实施例二中的系统码方案生成反馈信息,分别指示系统包的情况和编码数据包的情况,例如,图中编码数据块B′ 2中系统包a 4和冗余编码数据包p 1被擦除,接收端生成的反馈信息提示系统包和编码数据包分别缺少1个,发送端相应生成两个冗余编码数据包R=2,由于编码数据包被擦除,为了保证译码特性,这里设计关联深度D=2,为两个编码数据块,生成矩阵由G 0、G 1和G 2构成,相应的编码系数可以随机生成或者从半静态码本中选择,这里不再赘述。可选地,这里也可以设定一个冗余包的关联深度D=2,另一个冗余包的关联深度D=1,即针对错误的系统包和冗余编码包个数分别设定对应的关联深度D,前述方案仅选择最大的关联深度,可以减少头开销。对于编码数据块B′ 3,仅系统包a 9被擦除,因此下一个原始数据块B 4编码时的关联深度D=1,即关联深度为1个原始数据块,系数矩阵由G 0和G 1组成,冗余包个数R=1。此外,当接收端译码窗满的时候,这时新的编码数据块进入译码窗之前需要对译码窗中最早的编码数据块执行出窗操作,可选地,这里由于编码数据块B′ 1所包含a 1~a 3数据仍然包含在B′ 2和B′ 3中,但不包括在B′ 4中,因此,对B′ 1和B′ 2执行出窗,B′ 3仅考虑系统包部分,并联合后续的编码数据块和新入窗的编码数据块一起执行译码操作,一旦译码成功,可以直接将相关的编码数据块在接收端译码器执行出窗操作,这是一种快速出窗的判断算法。另外一种可选的方案是,仅将一个编码数据块B′ 1执行出窗,由于B′ 1的 部分系统包正确,视为已知信息,B′ 2和B′ 3中的编码数据包可以进行简化,可以视为B′ 1中包含的a 2以及B′ 2中包含的a 4是可见的,但不能译码,通过后续新进窗的编码数据块,如果译码成功,则之前的编码数据块也译码成功,即尽管B′ 1出窗,但其中的原始数据包a 2也被成功译码;如果新编码数据块为成功译码,则译码窗中所有的编码数据块都执行出窗操作,新的编码数据块进窗。需要注意的是,接收端译码器的编码数据出窗,发送端根据接收端的反馈信息也会同步执行对旧原始数据的出窗操作。换言之,对于接收端出窗的编码数据块,其在发送端的相关原始数据块也会执行相关出窗操作,即编码过程不会包括相关原始数据块编码。 As shown in FIG. 28 , it is a schematic diagram of a feedback-based systematic code scheme. Among them, the number N of new packets of the current original data block is a fixed value (semi-static configuration). Different from the feedback-based non-systematic code scheme, the present systematic code scheme needs to feed back the case of the systematic code and redundant coded data packets respectively. The association depth corresponding to the erasure of the system packet and the encoded data packet is adjusted differently. The association depth D is no longer based on the number of data packets, but in data blocks. Only when the system packet is erased, it is related to the previous original data block, ie D=1. When the encoded data packet is erased, the associated depth D in the next encoding is equal to the associated depth in the previous encoding + 1. In the specific scheme, the receiving end generates feedback information according to the system code scheme in the second embodiment, respectively indicating the situation of the system packet and the situation of the encoded data packet . The remaining coded data packet p 1 is erased, and the feedback information generated by the receiving end indicates that there is one missing system packet and one coded data packet, respectively, and the transmitting end generates two redundant coded data packets R=2 accordingly, because the coded data packet is erased , in order to ensure the decoding characteristics, the association depth D=2 is designed here, which is two encoded data blocks, the generator matrix is composed of G 0 , G 1 and G 2 , and the corresponding encoding coefficients can be randomly generated or selected from the semi-static codebook , which will not be repeated here. Optionally, it is also possible to set the association depth of one redundant packet to D=2, and the association depth of another redundant packet to D=1, that is, for the number of erroneous system packets and redundant encoding packets, respectively set the corresponding Associative depth D, the foregoing scheme only selects the largest association depth, which can reduce header overhead. For the encoded data block B′ 3 , only the system packet a 9 is erased, so the associated depth D=1 when encoding the next original data block B 4 , that is, the associated depth is 1 original data block, and the coefficient matrix consists of G 0 and It consists of G1 , and the number of redundant packets is R=1. In addition, when the decoding window of the receiving end is full, the window operation needs to be performed on the earliest encoded data block in the decoding window before the new encoded data block enters the decoding window. The data of a 1 to a 3 included in ' 1 are still included in B' 2 and B' 3 , but not included in B' 4. Therefore, windowing is performed on B' 1 and B' 2 , and B' 3 only considers In the system package part, the decoding operation is performed together with the subsequent encoded data blocks and the newly entered encoded data blocks. Once the decoding is successful, the related encoded data blocks can be directly performed on the receiving end decoder. A judgment algorithm for fast windowing. Another optional solution is to perform windowing only on one encoded data block B' 1. Since part of the system packets of B' 1 are correct, they are regarded as known information, and the encoded data packets in B' 2 and B' 3 are regarded as known information. It can be simplified. It can be considered that a 2 contained in B' 1 and a 4 contained in B' 2 are visible, but cannot be decoded. Through the subsequent encoded data blocks of the new window, if the decoding is successful, the previous The encoded data block of A is also successfully decoded, that is, although B' 1 is out of the window, the original data packet a 2 in it is also successfully decoded; if the new encoded data block is successfully decoded, all the encoded data in the decoding window will be decoded successfully. Blocks perform windowing operations, and new encoded data blocks enter the window. It should be noted that, when the encoded data of the decoder of the receiving end is out of the window, the transmitting end will also perform the windowing operation of the old original data synchronously according to the feedback information of the receiving end. In other words, for the encoded data block that is windowed at the receiving end, the relevant original data block at the transmitting end will also perform the relevant windowing operation, that is, the encoding process will not include encoding of the relevant original data block.
相应地,上述第二种可选方案相比第一种可选方案增加了译码成功的几率,但对应编码数据块的译码时延会增大。上述两种可选方案均可考虑,发送端结合接收端反馈信息中的译码器状态信息进行编码。如果考虑到译码器的状态(窗长)对反馈信息或者编码的影响,根据窗长的使用情况,定义冗余包数量R'=R+ΔR。其中,ΔR与译码器的状态变量Length_Wind_Decoder相关的函数,表示为ΔR=f(Length_Wind_Decoder),其中函数f表示一种译码器窗长使用情况与额外冗余包个数的映射关系。相应的算法可以在发送端考虑,也可以在接收端考虑,发送端需要反馈信息携带窗长使用情况的参数,在此基础上执行相关算法额外增加冗余,接收端则直接执行相关算法并将结果折算到其他参数中,如冗余数据包的个数,反馈信息并不需要单独携带译码器窗长参数。这样通过结合译码窗状态,在窗的尾部多加冗余编码数据包,可以改善当下的译码能力,降低编码数据成功译码的时延开销。Correspondingly, the above-mentioned second optional solution increases the probability of successful decoding compared with the first optional solution, but the decoding delay of the corresponding encoded data block increases. The above two optional solutions can be considered, and the transmitting end performs encoding in combination with the decoder state information in the feedback information of the receiving end. If the influence of the state of the decoder (window length) on the feedback information or coding is considered, according to the usage of the window length, the number of redundant packets R'=R+ΔR is defined. The function related to ΔR and the state variable Length_Wind_Decoder of the decoder is expressed as ΔR=f(Length_Wind_Decoder), where the function f represents a mapping relationship between the usage of the decoder window length and the number of extra redundant packets. The corresponding algorithm can be considered at the sending end or at the receiving end. The sending end needs to feed back information carrying the parameters of the window length usage. On this basis, the relevant algorithm is executed to add additional redundancy, and the receiving end directly executes the relevant algorithm and sends The result is converted into other parameters, such as the number of redundant data packets, and the feedback information does not need to carry the decoder window length parameter separately. In this way, by combining the decoding window state and adding redundant coded data packets at the end of the window, the current decoding capability can be improved and the delay overhead of successful decoding of the coded data can be reduced.
5、基于反馈的系统码方案,当前数据块的原始数据包个数N为定值(新包个数N半静态配置),关联深度固定为最大值。5. In the feedback-based system code scheme, the number N of original data packets of the current data block is a fixed value (the number of new packets N is semi-statically configured), and the association depth is fixed to a maximum value.
该方案5与方案4类似,也是基于反馈的系统码方案,不同之处在于,每一个编码数据块都具备当前编码窗口内最大可用的关联深度,由于关联深度用半静态配置,因此不需要分别反馈系统包和编码数据包的情况(反馈总数据包的情况即可)。如图29所示,为基于反馈的系统码方案示意图。在接收端译码成功之前且不超过译码窗长的情况下,B′ 2的关联深度D=2个数据块,B′ 3的关联深度D=3个数据块,B′ 4的关联深度D=4个数据块,B′ 5的关联深度D=5个数据块,这时译码成功。此外,当译码窗满的情况下,每次一个数据块出窗,另一个数据块进窗,进窗的数据块的关联深度达到最大译码窗的长度。对下图而言,假设B′ 5由于编码数据包擦除未译码成功,且达到最大窗长,下一个编码数据块到来的时候需要先对编码数据块B′ 1执行出译码窗操作。且接收端将发送反馈信息给发送端,发送端同理将原始数据块B 1执行出编码窗操作,或者当发送端编码窗长长于接收端译码窗长时(发送端编码窗未满,不执行出窗操作),编码时也需要将原始数据块B 1排除。接收端而言,编码数据块B′ 1出译码窗,编码数据块B′ 6进入译码窗,而编码数据块B′ 6的关联深度仍然为最大值,即D=5,即B′ 6中的编码数据包由原始数据块B 2~B 6的原始数据包编码生成。此外,不考虑译码器状态时,当前编码数据块中的冗余包数量R等于前一个编码数据块的丢包个数;如果考虑到译码器的状态(窗长)对反馈信息或者编码的影响,根据窗长的使用情况, 定义冗余包数量R'=R+ΔR。其中,ΔR与译码器的状态变量Length_Wind_Decoder相关的函数,表示为ΔR=f(Length_Wind_Decoder),其中函数f表示一种译码器窗长使用情况与额外冗余包个数的映射关系。相应的算法可以在发送端考虑,也可以在接收端考虑,发送端需要反馈信息携带窗长使用情况的参数,在此基础上执行相关算法额外增加冗余,接收端则直接执行相关算法并将结果折算到其他参数中,如冗余数据包的个数,反馈信息并不需要单独携带译码器窗长参数。 Scheme 5 is similar to Scheme 4, and is also a feedback-based systematic code scheme. The difference is that each encoded data block has the maximum available association depth in the current encoding window. Since the association depth is semi-statically configured, it is not necessary to separately Feedback the situation of the system packet and the encoded data packet (only the condition of the total data packet is fed back). As shown in FIG. 29, it is a schematic diagram of a feedback-based systematic code scheme. Before the receiving end successfully decodes and does not exceed the decoding window length, the association depth of B′ 2 is D=2 data blocks, the association depth of B′ 3 is D=3 data blocks, and the association depth of B′ 4 D=4 data blocks, and the associated depth of B′ 5 is D=5 data blocks, and decoding is successful at this time. In addition, when the decoding window is full, each time one data block is out of the window, another data block enters the window, and the associated depth of the data block in the window reaches the length of the maximum decoding window. For the following figure, it is assumed that B' 5 is not successfully decoded due to the erasure of the encoded data packet and reaches the maximum window length. When the next encoded data block arrives, the decoding window operation needs to be performed on the encoded data block B' 1 first . . And the receiving end will send the feedback information to the transmitting end, and the transmitting end similarly performs the encoding window operation on the original data block B1, or when the encoding window length of the transmitting end is longer than the decoding window length of the receiving end (the encoding window of the transmitting end is not full, No windowing operation is performed), and the original data block B 1 also needs to be excluded during encoding. For the receiving end, the encoded data block B'1 exits the decoding window, the encoded data block B'6 enters the decoding window, and the associated depth of the encoded data block B'6 is still the maximum value, that is, D= 5 , that is, B' The encoded data packets in 6 are generated by encoding the original data packets of the original data blocks B 2 to B 6 . In addition, when the decoder state is not considered, the number of redundant packets R in the current coded data block is equal to the number of lost packets in the previous coded data block; According to the usage of the window length, the number of redundant packets R'=R+ΔR is defined. The function related to ΔR and the state variable Length_Wind_Decoder of the decoder is expressed as ΔR=f(Length_Wind_Decoder), where the function f represents a mapping relationship between the usage of the decoder window length and the number of extra redundant packets. The corresponding algorithm can be considered at the sending end or at the receiving end. The sending end needs to feed back information carrying the parameters of the window length usage. On this basis, the relevant algorithm is executed to add additional redundancy, and the receiving end directly executes the relevant algorithm and sends The result is converted into other parameters, such as the number of redundant data packets, and the feedback information does not need to carry the decoder window length parameter separately.
6、基于反馈的系统码方案(每个编码数据块的数据包数量为定值)。6. System code scheme based on feedback (the number of data packets in each encoded data block is a fixed value).
如图30所述,为基于反馈的系统码方案示意图。该方案与方案4类似,不同之处在于每个原始数据块的数据包个数是变化,个编码数据块的数据包数量为定值,当不考虑译码窗状态对冗余数据包的影响时,等效于前一个编码数据块中错误的编码数据包数与当前编码数据块中的系统包数之和为定值。根据反馈信息,在不考虑译码窗状态的情况下,冗余编码数据包个数R等于上一个编码数据块丢包的个数;如果考虑到译码器的状态(窗长)对反馈信息或者编码的影响,根据窗长的使用情况,定义冗余包数量R'=R+ΔR。其中,ΔR与译码器的状态变量Length_Wind_Decoder相关的函数,表示为ΔR=f(Length_Wind_Decoder),其中函数f表示一种译码器窗长使用情况与额外冗余包个数的映射关系。相应的算法可以在发送端考虑,也可以在接收端考虑,发送端需要反馈信息携带窗长使用情况的参数,在此基础上执行相关算法额外增加冗余,接收端则直接执行相关算法并将结果折算到其他参数中,如冗余数据包的个数,反馈信息并不需要单独携带译码器窗长参数。As shown in FIG. 30 , it is a schematic diagram of a feedback-based systematic code scheme. This scheme is similar to scheme 4, the difference is that the number of data packets of each original data block is changed, and the number of data packets of each encoded data block is a fixed value, when the influence of the decoding window state on redundant data packets is not considered is equal to the sum of the number of erroneous coded data packets in the previous coded data block and the number of system packets in the current coded data block as a fixed value. According to the feedback information, without considering the state of the decoding window, the number of redundant encoded data packets R is equal to the number of packets lost in the previous encoded data block; if the state of the decoder (window length) is considered, the feedback information Or the influence of coding, according to the usage of the window length, define the number of redundant packets R'=R+ΔR. The function related to ΔR and the state variable Length_Wind_Decoder of the decoder is expressed as ΔR=f(Length_Wind_Decoder), where the function f represents a mapping relationship between the usage of the decoder window length and the number of extra redundant packets. The corresponding algorithm can be considered at the sending end or at the receiving end. The sending end needs to feed back information carrying the parameters of the window length usage. On this basis, the relevant algorithm is executed to add additional redundancy, and the receiving end directly executes the relevant algorithm and sends The result is converted into other parameters, such as the number of redundant data packets, and the feedback information does not need to carry the decoder window length parameter separately.
上述实施例五有益效果如下:设计了基于非系统码和系统码方案,并给出了不同的参数配置下具体的方案流程。完整的流程建立在实施例一到实施例四的基础上。本发明实施例五设计了基于非系统码和系统码方案,并给出了不同的参数配置下具体的方案流程。完整的流程建立在实施例一到实施例四的基础上。从系统码和非系统码两个大类上给出了基于反馈的自适应网络编码的6个编码方案,总体上改善了接收端的译码性能,使原始数据包有更大的可能性被译码正确,同时降低了冗余的开销,提升了吞吐量等性能。系统码相较于非系统码具有更短的时延但编码的关联深度是以数据块为单位的,即关联深度更长,相应的存储开销更大。反言之,非系统码的关联深度小,存储开销更小,但由于编码系数矩阵不如系统码方案稀疏,编译码更加复杂,计算开销大。The beneficial effects of the fifth embodiment above are as follows: schemes based on non-systematic codes and systematic codes are designed, and specific scheme flows under different parameter configurations are given. The complete flow is established on the basis of Embodiment 1 to Embodiment 4. Embodiment 5 of the present invention designs a scheme based on a non-systematic code and a systematic code, and provides a specific scheme flow under different parameter configurations. The complete flow is established on the basis of Embodiment 1 to Embodiment 4. Six coding schemes of adaptive network coding based on feedback are given from the two categories of systematic codes and non-systematic codes, which generally improve the decoding performance of the receiving end and make the original data packets more likely to be decoded The code is correct, while reducing the redundancy overhead and improving the throughput and other performance. Compared with the non-systematic code, the systematic code has a shorter time delay, but the associated depth of the encoding is in units of data blocks, that is, the association depth is longer, and the corresponding storage overhead is larger. Conversely, the non-systematic code has a small association depth and a lower storage cost, but since the coding coefficient matrix is not as sparse as the systematic code scheme, the coding and decoding are more complicated and the computational cost is high.
参考图31,为本申请实施例提供的一种通信装置示意图。该通信装置用于实现上述各实施例中对应第二通信设备或发送端的各个步骤,如图31所示,该通信装置3100包括收发单元3110和处理单元3120。Referring to FIG. 31 , it is a schematic diagram of a communication apparatus according to an embodiment of the present application. The communication apparatus is used to implement each step corresponding to the second communication device or the transmitting end in the above embodiments. As shown in FIG. 31 , the communication apparatus 3100 includes a transceiver unit 3110 and a processing unit 3120 .
收发单元3110,用于向第一通信设备发送第一编码数据;接收来自所述第一通信设备的指示信息;向所述第一通信设备发送第二编码数据。处理单元3120,用于对第一原始数据进行编码获得所述第一编码数据;根据所述指示信息获取第二原始数据和编码码率信息,所述第二原始数据包括部分或全部所述第一原始数据;根据所述编码码率信息,对第三原始数据和所述第二原始数据进行联合编码,得到所述第二编码数据,所述第三原始数据不包括所述第一原始数据。The transceiver unit 3110 is configured to send first encoded data to a first communication device; receive indication information from the first communication device; and send second encoded data to the first communication device. The processing unit 3120 is configured to encode the first original data to obtain the first encoded data; obtain second original data and encoding bit rate information according to the indication information, where the second original data includes part or all of the first encoded data. an original data; according to the encoding rate information, jointly encoding the third original data and the second original data to obtain the second encoded data, the third original data does not include the first original data .
在一种可能的实现方法中,所述第二原始数据包括第一原始数据中的一个或多个第一 原始数据包,所述指示信息指示所述第一原始数据包的数量;所述处理单元3120,用于根据所述指示信息获取所述第二原始数据,具体包括:用于根据所述第一原始数据包的数量,获取所述第二原始数据。In a possible implementation method, the second original data includes one or more first original data packets in the first original data, and the indication information indicates the number of the first original data packets; the processing Unit 3120, configured to acquire the second original data according to the indication information, specifically includes: to acquire the second original data according to the number of the first original data packets.
在一种可能的实现方法中,所述第二原始数据包括第一原始数据中的一个或多个第一原始数据块,所述指示信息指示所述第一原始数据块的数量;所述处理单元3120,用于根据所述指示信息获取所述第二原始数据,具体包括:用于根据所述第一原始数据块的数量,获取所述第二原始数据。In a possible implementation method, the second original data includes one or more first original data blocks in the first original data, and the indication information indicates the number of the first original data blocks; the processing The unit 3120, configured to acquire the second original data according to the indication information, specifically includes: to acquire the second original data according to the number of the first original data blocks.
在一种可能的实现方法中,所述指示信息指示所述第一编码数据对应的秩;所述第二原始数据包括第一原始数据中的一个或多个第一原始数据包;所述处理单元3120,用于根据所述指示信息获取所述第二原始数据,具体包括:用于根据所述第一编码数据对应的秩,确定所述第一原始数据包的数量;用于根据所述第一原始数据包的数量,获取所述第二原始数据。In a possible implementation method, the indication information indicates a rank corresponding to the first encoded data; the second original data includes one or more first original data packets in the first original data; the processing A unit 3120, configured to acquire the second original data according to the indication information, specifically includes: determining the number of the first original data packets according to the rank corresponding to the first encoded data; The number of the first original data packets, and the second original data is obtained.
在一种可能的实现方法中,所述指示信息指示所述第一编码数据对应的秩,所述第二原始数据包括第一原始数据中的一个或多个第一原始数据块;所述处理单元3120,用于根据所述指示信息获取所述第二原始数据,具体包括:用于根据所述第一编码数据对应的秩,确定所述第一原始数据块的数量;用于根据所述第一原始数据块的数量,获取所述第二原始数据。In a possible implementation method, the indication information indicates a rank corresponding to the first encoded data, and the second original data includes one or more first original data blocks in the first original data; the processing A unit 3120, configured to acquire the second original data according to the indication information, specifically includes: determining the number of the first original data blocks according to the rank corresponding to the first encoded data; The number of first original data blocks, and the second original data is obtained.
在一种可能的实现方法中,所述指示信息指示所述第一编码数据对应的系统数据包接收情况和冗余数据包接收情况;所述第二原始数据包括第一原始数据中的一个或多个第一原始数据包;所述处理单元3120,用于根据所述指示信息获取所述第二原始数据,具体包括:用于根据所述第一编码数据对应的系统数据包接收情况和冗余数据包接收情况,确定所述第一原始数据包的数量;用于根据所述第一原始数据包的数量,获取所述第二原始数据。In a possible implementation method, the indication information indicates the system data packet reception situation and the redundant data packet reception situation corresponding to the first encoded data; the second original data includes one of the first original data or a plurality of first original data packets; the processing unit 3120 is configured to acquire the second original data according to the indication information, specifically including: for receiving the system data packets corresponding to the first encoded data and redundancy The number of the first original data packets is determined according to the receiving conditions of the remaining data packets; and the number of the second original data is obtained according to the number of the first original data packets.
在一种可能的实现方法中,所述指示信息指示所述第一编码数据对应的系统数据包接收情况和冗余数据包接收情况;所述第二原始数据包括第一原始数据中的一个或多个第一原始数据块;所述处理单元3120,用于根据所述指示信息获取所述第二原始数据,具体包括:用于根据所述第一编码数据对应的系统数据包接收情况和冗余数据包接收情况,确定所述第一原始数据块的数量;用于根据所述第一原始数据块的数量,获取所述第二原始数据。In a possible implementation method, the indication information indicates the system data packet reception situation and the redundant data packet reception situation corresponding to the first encoded data; the second original data includes one of the first original data or a plurality of first original data blocks; the processing unit 3120 is configured to acquire the second original data according to the indication information, specifically including: for receiving the system data packets corresponding to the first encoded data and redundancy The number of the first original data blocks is determined according to the reception situation of the remaining data packets; the number of the first original data blocks is used to obtain the second original data according to the number of the first original data blocks.
在一种可能的实现方法中,所述指示信息指示编码的第一关联深度;所述第二原始数据包括第一原始数据中的一个或多个第一原始数据包;所述处理单元3120,用于根据所述指示信息获取所述第二原始数据,具体包括:用于根据所述第一关联深度,确定所述第一原始数据包的数量;用于根据所述第一原始数据包的数量,获取所述第二原始数据。In a possible implementation method, the indication information indicates the encoded first association depth; the second original data includes one or more first original data packets in the first original data; the processing unit 3120, Obtaining the second original data according to the indication information specifically includes: determining the number of the first original data packets according to the first association depth; quantity, and obtain the second original data.
在一种可能的实现方法中,所述指示信息指示编码的第一关联深度;所述第二原始数据包括第一原始数据中的一个或多个第一原始数据块;所述处理单元3120,用于根据所述指示信息获取所述第二原始数据,具体包括:用于根据所述第一关联深度,确定所述第一原始数据块的数量;用于根据所述第一原始数据块的数量,获取所述第二原始数据。In a possible implementation method, the indication information indicates the encoded first associated depth; the second original data includes one or more first original data blocks in the first original data; the processing unit 3120, Obtaining the second original data according to the indication information specifically includes: determining the number of the first original data blocks according to the first association depth; quantity, and obtain the second original data.
在一种可能的实现方法中,所述编码码率信息指示所述第二编码数据对应的冗余数据包个数、所述第二编码数据对应的编码数据包个数或所述第二编码数据对应的编码码率。In a possible implementation method, the encoding rate information indicates the number of redundant data packets corresponding to the second encoded data, the number of encoded data packets corresponding to the second encoded data, or the second encoding The encoding bit rate corresponding to the data.
在一种可能的实现方法中,所述指示信息指示所述第一编码数据对应的秩;所述处理 单元3120,用于根据所述指示信息获取编码码率信息,具体包括:用于根据所述第一编码数据对应的秩,确定所述第二编码数据对应的冗余数据包个数;用于根据所述第二编码数据对应的冗余数据包个数,确定编码码率。In a possible implementation method, the indication information indicates a rank corresponding to the first encoded data; the processing unit 3120 is configured to acquire encoding bit rate information according to the indication information, specifically including: for The rank corresponding to the first encoded data is used to determine the number of redundant data packets corresponding to the second encoded data; the number of redundant data packets corresponding to the second encoded data is used to determine the encoding code rate.
在一种可能的实现方法中,所述处理单元3120,用于根据所述指示信息获取编码码率信息,具体包括:用于根据所述第一编码数据对应的秩,确定所述第二编码数据对应的冗余数据包个数;用于根据所述第二编码数据对应的冗余数据包个数,确定编码码率。In a possible implementation method, the processing unit 3120, configured to obtain the encoding bit rate information according to the indication information, specifically includes: determining the second encoding according to the rank corresponding to the first encoded data The number of redundant data packets corresponding to the data; used for determining the encoding code rate according to the number of redundant data packets corresponding to the second encoded data.
在一种可能的实现方法中,所述指示信息指示所述第一编码数据对应的系统数据包接收情况和冗余数据包接收情况;所述处理单元3120,用于根据所述指示信息获取编码码率信息,具体包括:用于根据所述第一编码数据对应的系统数据包接收情况和冗余数据包接收情况,确定所述第二编码数据对应的冗余数据包个数;用于根据所述第二编码数据对应的冗余数据包个数,确定编码码率。In a possible implementation method, the indication information indicates the system data packet reception situation and the redundant data packet reception situation corresponding to the first encoded data; the processing unit 3120 is configured to obtain the encoding according to the indication information The code rate information specifically includes: for determining the number of redundant data packets corresponding to the second encoded data according to the system data packet reception situation and the redundant data packet reception situation corresponding to the first encoded data; for determining the number of redundant data packets corresponding to the second encoded data; The number of redundant data packets corresponding to the second encoded data determines the encoding rate.
在一种可能的实现方法中,所述处理单元3120,用于根据所述指示信息获取编码码率信息,具体包括:用于根据所述第一编码数据对应的系统数据包接收情况和冗余数据包接收情况,确定所述第二编码数据对应的冗余数据包个数;用于根据所述第二编码数据对应的冗余数据包个数,确定编码码率。In a possible implementation method, the processing unit 3120, configured to obtain the coding rate information according to the indication information, specifically includes: according to the system data packet reception situation and redundancy corresponding to the first coded data The data packet reception status is used to determine the number of redundant data packets corresponding to the second encoded data; and is used to determine the encoding code rate according to the number of redundant data packets corresponding to the second encoded data.
在一种可能的实现方法中,所述指示信息指示以下一项或多项:In a possible implementation method, the indication information indicates one or more of the following:
所述第三原始数据对应的原始数据包的数量;the number of original data packets corresponding to the third original data;
所述第三原始数据对应的原始数据块的数量;或the number of raw data blocks corresponding to the third raw data; or
译码窗可用窗长或译码窗已用窗长。Decoding Window Available Window Length or Decoding Window Used Window Length.
在一种可能的实现方法中,所述第二编码数据包括头信息,所述头信息指示第二关联深度。In a possible implementation method, the second encoded data includes header information, and the header information indicates the second association depth.
在一种可能的实现方法中,所述头信息还指示以下一项或多项:In a possible implementation method, the header information further indicates one or more of the following:
所述第三原始数据对应的原始数据包的数量;the number of original data packets corresponding to the third original data;
所述第二编码数据对应的原始数据块的标识;或The identifier of the original data block corresponding to the second encoded data; or
所述第二编码数据对应的编码系数。coding coefficients corresponding to the second coded data.
可选地,上述通信装置还可以包括存储单元,该存储单元用于存储数据或者指令(也可以称为代码或者程序),上述各个单元可以和存储单元交互或者耦合,以实现对应的方法或者功能。例如,处理单元3120可以读取存储单元中的数据或者指令,使得通信装置实现上述实施例中的方法。Optionally, the above-mentioned communication device may further include a storage unit, which is used to store data or instructions (also referred to as codes or programs), and each of the above-mentioned units may interact or be coupled with the storage unit to implement corresponding methods or functions. . For example, the processing unit 3120 may read data or instructions in the storage unit, so that the communication apparatus implements the methods in the above embodiments.
应理解以上通信装置中单元的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且通信装置中的单元可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分单元以软件通过处理元件调用的形式实现,部分单元以硬件的形式实现。例如,各个单元可以为单独设立的处理元件,也可以集成在通信装置的某一个芯片中实现,此外,也可以以程序的形式存储于存储器中,由通信装置的某一个处理元件调用并执行该单元的功能。此外这些单元全部或部分可以集成在一起,也可以独立实现。这里所述的处理元件又可以成为处理器,可以是一种具有信号的处理能力的集成电路。在实现过程中,上述方法的各步骤或以上各个单元可以通过处理器元件中的硬件的集成逻辑电路实现或者以软件通过处理元件调用的形式实现。It should be understood that the division of units in the above communication apparatus is only a division of logical functions, and in actual implementation, it may be integrated into one physical entity in whole or in part, or may be physically separated. And the units in the communication device can all be implemented in the form of software calling through the processing element; also can all be implemented in the form of hardware; some units can also be implemented in the form of software calling through the processing element, and some units can be implemented in the form of hardware. For example, each unit can be a separately established processing element, or can be integrated in a certain chip of the communication device to realize, in addition, it can also be stored in the memory in the form of a program, which can be called and executed by a certain processing element of the communication device. function of the unit. In addition, all or part of these units can be integrated together, and can also be implemented independently. The processing element described here can also become a processor, which can be an integrated circuit with signal processing capability. In the implementation process, each step of the above method or each of the above units may be implemented by an integrated logic circuit of hardware in the processor element or implemented in the form of software being invoked by the processing element.
在一个例子中,以上任一通信装置中的单元可以是被配置成实施以上方法的一个或多 个集成电路,例如:一个或多个特定集成电路(application specific integrated circuit,ASIC),或,一个或多个微处理器(digital singnal processor,DSP),或,一个或者多个现场可编程门阵列(field programmable gate array,FPGA),或这些集成电路形式中至少两种的组合。再如,当通信装置中的单元可以通过处理元件调度程序的形式实现时,该处理元件可以是通用处理器,例如中央处理器(central processing unit,CPU)或其它可以调用程序的处理器。再如,这些单元可以集成在一起,以片上系统(system-on-a-chip,SOC)的形式实现。In one example, a unit in any of the above communication devices may be one or more integrated circuits configured to implement the above method, such as: one or more application specific integrated circuits (ASICs), or, an or multiple microprocessors (digital singnal processors, DSP), or, one or more field programmable gate arrays (FPGA), or a combination of at least two of these integrated circuit forms. For another example, when a unit in the communication device can be implemented in the form of a processing element scheduler, the processing element can be a general-purpose processor, such as a central processing unit (CPU) or other processors that can invoke programs. For another example, these units can be integrated together and implemented in the form of a system-on-a-chip (SOC).
参考图32,为本申请实施例提供的一种通信装置的示意图。该通信装置用于实现上述各实施例中对应第一通信设备或接收端的各个步骤,如图32所示,该通信装置3200包括发送单元3210和接收单元3220。Referring to FIG. 32 , it is a schematic diagram of a communication apparatus according to an embodiment of the present application. The communication apparatus is used to implement each step corresponding to the first communication device or the receiving end in the above embodiments. As shown in FIG. 32 , the communication apparatus 3200 includes a sending unit 3210 and a receiving unit 3220 .
接收单元3220,用于接收来自第二通信设备的对应第一原始数据的第一编码数据;接收来自所述第二通信设备的对应编码码率信息、第三原始数据和第二原始数据的第二编码数据,所述第三原始数据不包括所述第一原始数据。发送单元3210,用于向所述第二通信设备发送指示信息,所述指示信息用于所述第二原始数据和所述编码码率信息的获取,所述第二原始数据包括部分或全部所述第一原始数据。The receiving unit 3220 is configured to receive the first encoded data corresponding to the first original data from the second communication device; receive the corresponding encoded bit rate information, the third original data and the first encoded data of the second original data from the second communication device. Second encoded data, the third original data does not include the first original data. The sending unit 3210 is configured to send indication information to the second communication device, where the indication information is used to obtain the second original data and the coding rate information, and the second original data includes part or all of all Describe the first raw data.
在一种可能的实现方法中,所述第二原始数据包括第一原始数据中的一个或多个第一原始数据包;所述指示信息指示以下任一项:In a possible implementation method, the second original data includes one or more first original data packets in the first original data; the indication information indicates any of the following:
所述第一原始数据包的数量、所述第一编码数据对应的秩、所述第一编码数据对应的系统数据包接收情况和冗余数据包接收情况、或编码的第一关联深度。The number of the first original data packets, the rank corresponding to the first encoded data, the reception situation of the system data packets and the redundant data packet reception situation corresponding to the first encoded data, or the first correlation depth of the encoding.
在一种可能的实现方法中,所述第二原始数据包括第一原始数据中的一个或多个第一原始数据块;所述指示信息指示以下任一项:In a possible implementation method, the second original data includes one or more first original data blocks in the first original data; the indication information indicates any of the following:
所述第一原始数据块的数量、指示所述第一编码数据对应的秩、所述第一编码数据对应的系统数据包接收情况和冗余数据包接收情况、或编码的第一关联深度。The number of the first original data blocks, the rank corresponding to the first encoded data, the reception status of system data packets and redundant data packets corresponding to the first encoded data, or the first associated depth of encoding.
在一种可能的实现方法中,所述指示信息指示以下一项或多项:In a possible implementation method, the indication information indicates one or more of the following:
所述第三原始数据对应的原始数据包的数量;the number of original data packets corresponding to the third original data;
所述第三原始数据对应的原始数据块的数量;或the number of raw data blocks corresponding to the third raw data; or
译码窗可用窗长或译码窗已用窗长。Decoding Window Available Window Length or Decoding Window Used Window Length.
在一种可能的实现方法中,所述编码码率信息指示以下任一项:In a possible implementation method, the coding rate information indicates any of the following:
所述第二编码数据对应的冗余数据包个数、所述第二编码数据对应的编码数据包个数、所述第二编码数据对应的编码码率、或所述第一编码数据对应的系统数据包接收情况和冗余数据包接收情况。The number of redundant data packets corresponding to the second encoded data, the number of encoded data packets corresponding to the second encoded data, the encoding bit rate corresponding to the second encoded data, or the encoding rate corresponding to the first encoded data. System packet reception and redundant packet reception.
在一种可能的实现方法中,所述第二编码数据包括头信息,所述头信息指示第二关联深度。In a possible implementation method, the second encoded data includes header information, and the header information indicates the second association depth.
在一种可能的实现方法中,所述头信息还指示以下一项或多项:In a possible implementation method, the header information further indicates one or more of the following:
所述第三原始数据对应的原始数据包的数量;the number of original data packets corresponding to the third original data;
所述第二编码数据对应的原始数据块的标识;或The identifier of the original data block corresponding to the second encoded data; or
所述第二编码数据对应的编码系数。coding coefficients corresponding to the second coded data.
可选地,上述通信装置还可以包括存储单元,该存储单元用于存储数据或者指令(也可以称为代码或者程序),上述各个单元可以和存储单元交互或者耦合,以实现对应的方法或者功能。Optionally, the above-mentioned communication device may further include a storage unit, which is used to store data or instructions (also referred to as codes or programs), and each of the above-mentioned units may interact or be coupled with the storage unit to implement corresponding methods or functions. .
应理解以上通信装置中单元的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且通信装置中的单元可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分单元以软件通过处理元件调用的形式实现,部分单元以硬件的形式实现。例如,各个单元可以为单独设立的处理元件,也可以集成在通信装置的某一个芯片中实现,此外,也可以以程序的形式存储于存储器中,由通信装置的某一个处理元件调用并执行该单元的功能。此外这些单元全部或部分可以集成在一起,也可以独立实现。这里所述的处理元件又可以成为处理器,可以是一种具有信号的处理能力的集成电路。在实现过程中,上述方法的各步骤或以上各个单元可以通过处理器元件中的硬件的集成逻辑电路实现或者以软件通过处理元件调用的形式实现。It should be understood that the division of units in the above communication apparatus is only a division of logical functions, and in actual implementation, it may be integrated into one physical entity in whole or in part, or may be physically separated. And the units in the communication device can all be implemented in the form of software calling through the processing element; also all can be implemented in the form of hardware; some units can also be implemented in the form of software calling through the processing element, and some units can be implemented in the form of hardware. For example, each unit can be a separately established processing element, or can be integrated in a certain chip of the communication device to realize, in addition, it can also be stored in the memory in the form of a program, which can be called and executed by a certain processing element of the communication device. function of the unit. In addition, all or part of these units can be integrated together, and can also be implemented independently. The processing element described here can also become a processor, which can be an integrated circuit with signal processing capability. In the implementation process, each step of the above method or each of the above units may be implemented by an integrated logic circuit of hardware in the processor element or implemented in the form of software being invoked by the processing element.
在一个例子中,以上任一通信装置中的单元可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个ASIC,或,一个或多个DSP,或,一个或者多个FPGA,或这些集成电路形式中至少两种的组合。再如,当通信装置中的单元可以通过处理元件调度程序的形式实现时,该处理元件可以是通用处理器,例如CPU或其它可以调用程序的处理器。再如,这些单元可以集成在一起,以SOC的形式实现。In one example, a unit in any of the above communication devices may be one or more integrated circuits configured to implement the above method, such as: one or more ASICs, or, one or more DSPs, or, one or more an FPGA, or a combination of at least two of these integrated circuit forms. For another example, when a unit in the communication device can be implemented in the form of a processing element scheduler, the processing element can be a general-purpose processor, such as a CPU or other processors that can invoke programs. For another example, these units can be integrated together and implemented in the form of SOC.
参考图33,为本申请实施例提供的一种通信装置示意图,用于实现以上实施例中第一通信设备(即接收端)、第二通信设备(即发送端)的操作。如图33所示,该通信装置包括:处理器3310和接口3330,可选地,该通信装置还包括存储器3320。接口3330用于实现与其他设备进行通信。Referring to FIG. 33 , a schematic diagram of a communication apparatus provided in an embodiment of the present application is used to implement the operations of the first communication device (ie, the receiving end) and the second communication device (ie, the sending end) in the above embodiments. As shown in FIG. 33 , the communication apparatus includes: a processor 3310 and an interface 3330 , and optionally, the communication apparatus further includes a memory 3320 . The interface 3330 is used to enable communication with other devices.
以上实施例中第一通信设备或第二通信设备执行的方法可以通过处理器3310调用存储器(可以是第一通信设备或第二通信设备中的存储器3320,也可以是外部存储器)中存储的程序来实现。即,第一通信设备或第二通信设备可以包括处理器3310,该处理器3310通过调用存储器中的程序,以执行以上方法实施例中第一通信设备或第二通信设备执行的方法。这里的处理器可以是一种具有信号的处理能力的集成电路,例如CPU。第一通信设备或第二通信设备可以通过配置成实施以上方法的一个或多个集成电路来实现。例如:一个或多个ASIC,或,一个或多个微处理器DSP,或,一个或者多个FPGA等,或这些集成电路形式中至少两种的组合。或者,可以结合以上实现方式。The method performed by the first communication device or the second communication device in the above embodiment may call the program stored in the memory (which may be the memory 3320 in the first communication device or the second communication device, or an external memory) through the processor 3310 to realise. That is, the first communication device or the second communication device may include a processor 3310, and the processor 3310 executes the method performed by the first communication device or the second communication device in the above method embodiments by invoking a program in the memory. The processor here may be an integrated circuit with signal processing capability, such as a CPU. The first communication device or the second communication device may be implemented by one or more integrated circuits configured to implement the above methods. For example: one or more ASICs, or, one or more microprocessor DSPs, or, one or more FPGAs, etc., or a combination of at least two of these integrated circuit forms. Alternatively, the above implementations may be combined.
具体的,图31中的收发单元3110和处理单元3120的功能/实现过程可以通过图33所示的通信装置3300中的处理器3310调用存储器3320中存储的计算机可执行指令来实现。或者,图31中的处理单元3120的功能/实现过程可以通过图33所示的通信装置3300中的处理器3310调用存储器3320中存储的计算机执行指令来实现,图31中的收发单元3110的功能/实现过程可以通过图33中所示的通信装置3300中的接口3330来实现,示例性的,收发单元3110的功能/实现过程可以通过处理器调用存储器中的程序指令以驱动接口3330来实现。Specifically, the functions/implementation process of the transceiver unit 3110 and the processing unit 3120 in FIG. 31 can be implemented by the processor 3310 in the communication apparatus 3300 shown in FIG. 33 calling computer executable instructions stored in the memory 3320 . Alternatively, the function/implementation process of the processing unit 3120 in FIG. 31 may be implemented by the processor 3310 in the communication device 3300 shown in FIG. 33 calling the computer-executed instructions stored in the memory 3320, and the function of the transceiver unit 3110 in FIG. 31 The implementation process can be implemented by the interface 3330 in the communication device 3300 shown in FIG. 33 . Exemplarily, the function/implementation process of the transceiver unit 3110 can be implemented by the processor calling program instructions in the memory to drive the interface 3330 .
具体的,图32中的发送单元3210和接收单元3220的功能/实现过程可以通过图33所示的通信装置3300中的处理器3310调用存储器3320中存储的计算机可执行指令来实现。或者,图32中的发送单元3210和接收单元3220的功能/实现过程可以通过图33中所示的通信装置3300中的接口3330来实现,示例性的,发送单元3210和接收单元3220的功能/实现过程可以通过处理器调用存储器中的程序指令以驱动接口3330来实现。Specifically, the functions/implementation process of the sending unit 3210 and the receiving unit 3220 in FIG. 32 can be implemented by the processor 3310 in the communication apparatus 3300 shown in FIG. 33 calling computer executable instructions stored in the memory 3320 . Alternatively, the functions/implementation process of the sending unit 3210 and the receiving unit 3220 in FIG. 32 can be implemented through the interface 3330 in the communication device 3300 shown in FIG. 33 . The implementation process can be implemented by the processor calling program instructions in the memory to drive the interface 3330 .
图34提供了一种终端设备的结构示意图。该终端设备可适用于图3所示出的场景中。为了便于说明,图34仅示出了终端设备的主要部件。如图34所示,终端设备3400包括处理器、存储器、控制电路、天线以及输入输出装置。处理器主要用于对通信协议以及通信数据进行处理,以及对整个终端进行控制,执行软件程序,处理软件程序的数据。存储器主要用于存储软件程序和数据。射频电路主要用于基带信号与射频信号的转换以及对射频信号的处理。天线主要用于收发电磁波形式的射频信号。输入输出装置,例如触摸屏、显示屏,键盘等主要用于接收用户输入的数据以及对用户输出数据。Figure 34 provides a schematic structural diagram of a terminal device. The terminal device is applicable to the scenario shown in FIG. 3 . For convenience of explanation, FIG. 34 shows only the main components of the terminal device. As shown in FIG. 34, the terminal device 3400 includes a processor, a memory, a control circuit, an antenna, and an input and output device. The processor is mainly used to process communication protocols and communication data, control the entire terminal, execute software programs, and process data of the software programs. The memory is mainly used to store software programs and data. The radio frequency circuit is mainly used for the conversion of the baseband signal and the radio frequency signal and the processing of the radio frequency signal. Antennas are mainly used to send and receive radio frequency signals in the form of electromagnetic waves. Input and output devices, such as touch screens, display screens, and keyboards, are mainly used to receive data input by users and output data to users.
当终端设备开机后,处理器可以读取存储单元中的软件程序,解析并执行软件程序的指令,处理软件程序的数据。当需要通过无线发送数据时,处理器对待发送的数据进行基带处理后,输出基带信号至射频电路,射频电路将基带信号进行处理后得到射频信号并将射频信号通过天线以电磁波的形式向外发送。当有数据发送到终端设备时,射频电路通过天线接收到射频信号,该射频信号被进一步转换为基带信号,并将基带信号输出至处理器,处理器将基带信号转换为数据并对该数据进行处理。When the terminal device is powered on, the processor can read the software program in the storage unit, parse and execute the instructions of the software program, and process the data of the software program. When data needs to be sent wirelessly, the processor performs baseband processing on the data to be sent, and outputs the baseband signal to the radio frequency circuit. The radio frequency circuit processes the baseband signal to obtain a radio frequency signal and sends the radio frequency signal through the antenna in the form of electromagnetic waves. . When data is sent to the terminal device, the radio frequency circuit receives the radio frequency signal through the antenna, the radio frequency signal is further converted into a baseband signal, and the baseband signal is output to the processor, and the processor converts the baseband signal into data and processes the data. deal with.
为了便于说明,图34仅示出了一个存储器和处理器。在实际的终端设备中,可以存在多个处理器和存储器。存储器也可以称为存储介质或者存储设备等,本发明实施例对此不做限制。For ease of illustration, Figure 34 shows only one memory and processor. In an actual terminal device, there may be multiple processors and memories. The memory may also be referred to as a storage medium or a storage device, etc., which is not limited in this embodiment of the present invention.
作为一种可选的实现方式,处理器可以包括基带处理器和中央处理器,基带处理器主要用于对通信协议以及通信数据进行处理,中央处理器主要用于对整个终端设备进行控制,执行软件程序,处理软件程序的数据。图34中的处理器集成了基带处理器和中央处理器的功能,本领域技术人员可以理解,基带处理器和中央处理器也可以是各自独立的处理器,通过总线等技术互联。本领域技术人员可以理解,终端设备可以包括多个基带处理器以适应不同的网络制式,终端设备可以包括多个中央处理器以增强其处理能力,终端设备的各个部件可以通过各种总线连接。所述基带处理器也可以表述为基带处理电路或者基带处理芯片。所述中央处理器也可以表述为中央处理电路或者中央处理芯片。对通信协议以及通信数据进行处理的功能可以内置在处理器中,也可以以软件程序的形式存储在存储单元中,由处理器执行软件程序以实现基带处理功能。As an optional implementation manner, the processor may include a baseband processor and a central processing unit. The baseband processor is mainly used to process communication protocols and communication data, and the central processing unit is mainly used to control the entire terminal device, execute A software program that processes data from the software program. The processor in FIG. 34 integrates the functions of the baseband processor and the central processing unit. Those skilled in the art can understand that the baseband processor and the central processing unit may also be independent processors, interconnected by technologies such as a bus. Those skilled in the art can understand that a terminal device may include multiple baseband processors to adapt to different network standards, a terminal device may include multiple central processors to enhance its processing capability, and various components of the terminal device may be connected through various buses. The baseband processor may also be expressed as a baseband processing circuit or a baseband processing chip. The central processing unit can also be expressed as a central processing circuit or a central processing chip. The function of processing the communication protocol and communication data may be built in the processor, or may be stored in the storage unit in the form of a software program, and the processor executes the software program to realize the baseband processing function.
在一个例子中,可以将具有收发功能的天线和控制电路视为终端设备3400的收发单元3411,将具有处理功能的处理器视为终端设备3400的处理单元3412。如图34所示,终端设备3400包括收发单元3411和处理单元3412。收发单元也可以称为收发器、收发机、收发装置等。可选的,可以将收发单元3411中用于实现接收功能的器件视为接收单元,将收发单元3411中用于实现发送功能的器件视为发送单元,即收发单元3411包括接收单元和发送单元。示例性的,接收单元也可以称为接收机、接收器、接收电路等,发送单元可以称为发射机、发射器或者发射电路等。可选的,上述接收单元和发送单元可以是集成在一起的一个单元,也可以是各自独立的多个单元。上述接收单元和发送单元可以在一个地理位置,也可以分散在多个地理位置。In an example, the antenna and control circuit with a transceiving function can be regarded as the transceiving unit 3411 of the terminal device 3400 , and the processor having a processing function can be regarded as the processing unit 3412 of the terminal device 3400 . As shown in FIG. 34 , the terminal device 3400 includes a transceiver unit 3411 and a processing unit 3412 . The transceiving unit may also be referred to as a transceiver, a transceiver, a transceiving device, or the like. Optionally, the device for implementing the receiving function in the transceiver unit 3411 may be regarded as a receiving unit, and the device for implementing the transmitting function in the transceiver unit 3411 may be regarded as a transmitting unit, that is, the transceiver unit 3411 includes a receiving unit and a transmitting unit. Exemplarily, the receiving unit may also be referred to as a receiver, a receiver, a receiving circuit, and the like, and the transmitting unit may be referred to as a transmitter, a transmitter, or a transmitting circuit, or the like. Optionally, the above-mentioned receiving unit and transmitting unit may be an integrated unit, or may be multiple independent units. The above-mentioned receiving unit and transmitting unit may be located in one geographic location, or may be dispersed in multiple geographic locations.
本领域普通技术人员可以理解:本申请中涉及的第一、第二等各种数字编号仅为描述方便进行的区分,并不用来限制本申请实施例的范围,也表示先后顺序。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A, 同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。“至少一个”是指一个或者多个。至少两个是指两个或者多个。“至少一个”、“任意一个”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个、种),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。“多个”是指两个或两个以上,其它量词与之类似。Those of ordinary skill in the art can understand that the first, second, and other numeral numbers involved in the present application are only for the convenience of description, and are not used to limit the scope of the embodiments of the present application, but also represent the sequence. "And/or", which describes the association relationship of the associated objects, means that there can be three kinds of relationships, for example, A and/or B, which can mean that A exists alone, A and B exist at the same time, and B exists alone. The character "/" generally indicates that the associated objects are an "or" relationship. "At least one" means one or more. At least two means two or more. "At least one", "any one", or similar expressions, refers to any combination of these items, including any combination of single item(s) or plural item(s). For example, at least one item (single, species) of a, b, or c can represent: a, b, c, ab, ac, bc, or abc, where a, b, c can be single or multiple. "Plurality" means two or more, and other quantifiers are similar.
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。It should be understood that, in the various embodiments of the present application, the size of the sequence numbers of the above-mentioned processes does not mean the sequence of execution, and the execution sequence of each process should be determined by its functions and internal logic, and should not be dealt with in the embodiments of the present invention. implementation constitutes any limitation.
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working process of the above-described systems, devices and units may refer to the corresponding processes in the foregoing method embodiments, which will not be repeated here.
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包括一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。In the above-mentioned embodiments, it may be implemented in whole or in part by software, hardware, firmware or any combination thereof. When implemented in software, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of the present application are generated. The computer may be a general purpose computer, special purpose computer, computer network, or other programmable device. The computer instructions may be stored in or transmitted from one computer-readable storage medium to another computer-readable storage medium, for example, the computer instructions may be downloaded from a website site, computer, server, or data center Transmission to another website site, computer, server, or data center is by wire (eg, coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (eg, infrared, wireless, microwave, etc.). The computer-readable storage medium may be any available medium that a computer can access, or a data storage device such as a server, a data center, or the like that includes an integration of one or more available media. The usable media may be magnetic media (eg, floppy disks, hard disks, magnetic tapes), optical media (eg, DVDs), or semiconductor media (eg, solid state disks (SSDs)), and the like.
本申请实施例中所描述的各种说明性的逻辑单元和电路可以通过通用处理器,数字信号处理器,专用集成电路(ASIC),现场可编程门阵列(FPGA)或其它可编程逻辑装置,离散门或晶体管逻辑,离散硬件部件,或上述任何组合的设计来实现或操作所描述的功能。通用处理器可以为微处理器,可选地,该通用处理器也可以为任何传统的处理器、控制器、微控制器或状态机。处理器也可以通过计算装置的组合来实现,例如数字信号处理器和微处理器,多个微处理器,一个或多个微处理器联合一个数字信号处理器核,或任何其它类似的配置来实现。The various illustrative logic units and circuits described in the embodiments of this application may be implemented by general purpose processors, digital signal processors, application specific integrated circuits (ASICs), field programmable gate arrays (FPGAs) or other programmable logic devices, Discrete gate or transistor logic, discrete hardware components, or any combination of the above are designed to implement or operate the described functions. A general-purpose processor may be a microprocessor, or alternatively, the general-purpose processor may be any conventional processor, controller, microcontroller, or state machine. A processor may also be implemented by a combination of computing devices, such as a digital signal processor and a microprocessor, multiple microprocessors, one or more microprocessors in combination with a digital signal processor core, or any other similar configuration. accomplish.
本申请实施例中所描述的方法或算法的步骤可以直接嵌入硬件、处理器执行的软件单元、或者这两者的结合。软件单元可以存储于随机存取存储器(Random Access Memory,RAM)、闪存、只读存储器(Read-Only Memory,ROM)、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动磁盘、CD-ROM或本领域中其它任意形式的存储媒介中。示例性地,存储媒介可以与处理器连接,以使得处理器可以从存储媒介中读取信息,并可以向存储媒介存写信息。可选地,存储媒介还可以集成到处理器中。处理器和存储媒介可以设置于ASIC中。The steps of the method or algorithm described in the embodiments of this application may be directly embedded in hardware, a software unit executed by a processor, or a combination of the two. Software units can be stored in random access memory (Random Access Memory, RAM), flash memory, read-only memory (Read-Only Memory, ROM), EPROM memory, EEPROM memory, registers, hard disk, removable disk, CD-ROM or this. In any other form of storage media in the field. Illustratively, a storage medium may be coupled to the processor such that the processor may read information from, and store information in, the storage medium. Optionally, the storage medium can also be integrated into the processor. The processor and storage medium may be provided in the ASIC.
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。These computer program instructions can also be loaded on a computer or other programmable data processing device to cause a series of operational steps to be performed on the computer or other programmable device to produce a computer-implemented process such that The instructions provide steps for implementing the functions specified in the flow or blocks of the flowcharts and/or the block or blocks of the block diagrams.
在一个或多个示例性的设计中,本申请所描述的上述功能可以在硬件、软件、固件或这三者的任意组合来实现。如果在软件中实现,这些功能可以存储与电脑可读的媒介上,或以一个或多个指令或代码形式传输于电脑可读的媒介上。电脑可读媒介包括电脑存储媒介和便于使得让电脑程序从一个地方转移到其它地方的通信媒介。存储媒介可以是任何通用或特殊电脑可以接入访问的可用媒体。例如,这样的电脑可读媒体可以包括但不限于RAM、ROM、EEPROM、CD-ROM或其它光盘存储、磁盘存储或其它磁性存储装置,或其它任何可以用于承载或存储以指令或数据结构和其它可被通用或特殊电脑、或通用或特殊处理器读取形式的程序代码的媒介。此外,任何连接都可以被适当地定义为电脑可读媒介,例如,如果软件是从一个网站站点、服务器或其它远程资源通过一个同轴电缆、光纤电脑、双绞线、数字用户线(DSL)或以例如红外、无线和微波等无线方式传输的也被包含在所定义的电脑可读媒介中。所述的碟片(disk)和磁盘(disc)包括压缩磁盘、镭射盘、光盘、数字通用光盘(英文:Digital Versatile Disc,简称:DVD)、软盘和蓝光光盘,磁盘通常以磁性复制数据,而碟片通常以激光进行光学复制数据。上述的组合也可以包含在电脑可读媒介中。In one or more exemplary designs, the above-described functions described herein may be implemented in hardware, software, firmware, or any combination of the three. If implemented in software, the functions may be stored on, or transmitted over, a computer-readable medium in the form of one or more instructions or code. Computer-readable media includes computer storage media and communication media that facilitate the transfer of a computer program from one place to another. Storage media can be any available media that a general-purpose or special-purpose computer can access. For example, such computer-readable media may include, but are not limited to, RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other device that can be used to carry or store instructions or data structures and Other media in the form of program code that can be read by a general-purpose or special-purpose computer, or a general-purpose or special-purpose processor. In addition, any connection is properly defined as a computer-readable medium, for example, if software is transmitted from a website site, server or other remote source over a coaxial cable, fiber optic computer, twisted pair, digital subscriber line (DSL) Or transmitted by wireless means such as infrared, wireless, and microwave are also included in the definition of computer-readable media. The discs and magnetic discs include compact discs, laser discs, optical discs, digital versatile discs (English: Digital Versatile Disc, DVD for short), floppy discs and Blu-ray discs. Disks usually reproduce data magnetically, while Discs usually use lasers to optically reproduce data. Combinations of the above can also be included in computer readable media.
本领域技术人员应该可以意识到,在上述一个或多个示例中,本申请所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。Those skilled in the art should appreciate that, in one or more of the above examples, the functions described in this application may be implemented in hardware, software, firmware, or any combination thereof. When implemented in software, the functions may be stored on or transmitted over as one or more instructions or code on a computer-readable medium. Computer-readable media includes both computer storage media and communication media including any medium that facilitates transfer of a computer program from one place to another. A storage medium can be any available medium that can be accessed by a general purpose or special purpose computer.
以上所述的具体实施方式,对本申请的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本申请的具体实施方式而已,并不用于限定本申请的保护范围,凡在本申请的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本申请的保护范围之内。本申请说明书的上述描述可以使得本领域技术任何可以利用或实现本申请的内容,任何基于所公开内容的修改都应该被认为是本领域显而易见的,本申请所描述的基本原则可以应用到其它变形中而不偏离本申请的发明本质和范围。因此,本申请所公开的内容不仅仅局限于所描述的实施例和设计,还可以扩展到与本申请原则和所公开的新特征一致的最大范围。The specific embodiments described above further describe the purpose, technical solutions and beneficial effects of the present application in detail. It should be understood that the above descriptions are only specific embodiments of the present application, and are not intended to limit the The protection scope, any modifications, equivalent replacements, improvements, etc. made on the basis of the technical solutions of the present application shall be included within the protection scope of the present application. The above description of the specification of this application can enable any skilled in the art to utilize or realize the content of this application, and any modifications based on the disclosed content should be considered obvious in the art, and the basic principles described in this application can be applied to other modifications without departing from the spirit and scope of the invention of the present application. Thus, the present disclosure is not intended to be limited only to the embodiments and designs described, but can be extended to the fullest extent consistent with the principles of this application and the novel features disclosed.
尽管结合具体特征及其实施例对本申请进行了描述,显而易见的,在不脱离本申请的精神和范围的情况下,可对其进行各种修改和组合。相应地,本说明书和附图仅仅是所附权利要求所界定的本申请的示例性说明,且视为已覆盖本申请范围内的任意和所有修改、变化、组合或等同物。显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包括这些改动和变型在内。Although the application has been described in conjunction with specific features and embodiments thereof, it will be apparent that various modifications and combinations can be made therein without departing from the spirit and scope of the application. Accordingly, this specification and drawings are merely exemplary illustrations of the application as defined by the appended claims, and are deemed to cover any and all modifications, variations, combinations or equivalents within the scope of this application. Obviously, those skilled in the art can make various changes and modifications to the present application without departing from the scope of the present application. Thus, if these modifications and variations of the present application fall within the scope of the claims of the present application and their equivalents, the present application is also intended to include these modifications and variations.

Claims (57)

  1. 一种通信方法,其特征在于,包括:A communication method, comprising:
    对第一原始数据进行编码获得第一编码数据;Encoding the first original data to obtain the first encoded data;
    向第一通信设备发送所述第一编码数据;sending the first encoded data to a first communication device;
    接收来自所述第一通信设备的指示信息;receiving indication information from the first communication device;
    根据所述指示信息获取第二原始数据和编码码率信息,所述第二原始数据包括部分或全部所述第一原始数据;Acquire second original data and coding rate information according to the indication information, where the second original data includes part or all of the first original data;
    根据所述编码码率信息,对第三原始数据和所述第二原始数据进行联合编码,得到第二编码数据,所述第三原始数据不包括所述第一原始数据;According to the encoding bit rate information, jointly encoding the third original data and the second original data to obtain second encoded data, the third original data does not include the first original data;
    向所述第一通信设备发送所述第二编码数据。The second encoded data is sent to the first communication device.
  2. 如权利要求1所述的方法,其特征在于,所述第二原始数据包括所述第一原始数据中的一个或多个第一原始数据包,所述指示信息指示所述第一原始数据包的数量;The method of claim 1, wherein the second original data comprises one or more first original data packets in the first original data, and the indication information indicates the first original data packets quantity;
    根据所述指示信息获取所述第二原始数据,包括:Acquiring the second raw data according to the indication information includes:
    根据所述第一原始数据包的数量,获取所述第二原始数据。Acquire the second original data according to the number of the first original data packets.
  3. 如权利要求1所述的方法,其特征在于,所述第二原始数据包括所述第一原始数据中的一个或多个第一原始数据块,所述指示信息指示所述第一原始数据块的数量;The method of claim 1, wherein the second original data comprises one or more first original data blocks in the first original data, and the indication information indicates the first original data blocks quantity;
    根据所述指示信息获取所述第二原始数据,包括:Acquiring the second raw data according to the indication information includes:
    根据所述第一原始数据块的数量,获取所述第二原始数据。The second original data is acquired according to the number of the first original data blocks.
  4. 如权利要求1所述的方法,其特征在于,所述指示信息指示所述第一编码数据对应的秩;所述第二原始数据包括所述第一原始数据中的一个或多个第一原始数据包;The method of claim 1, wherein the indication information indicates a rank corresponding to the first encoded data; the second original data comprises one or more first original data in the first original data data pack;
    根据所述指示信息获取所述第二原始数据,包括:Acquiring the second raw data according to the indication information includes:
    根据所述第一编码数据对应的秩,确定所述第一原始数据包的数量;determining the number of the first original data packets according to the rank corresponding to the first encoded data;
    根据所述第一原始数据包的数量,获取所述第二原始数据。Acquire the second original data according to the number of the first original data packets.
  5. 如权利要求1所述的方法,其特征在于,所述指示信息指示所述第一编码数据对应的秩,所述第二原始数据包括所述第一原始数据中的一个或多个第一原始数据块;The method of claim 1, wherein the indication information indicates a rank corresponding to the first encoded data, and the second original data comprises one or more first original data in the first original data data block;
    根据所述指示信息获取所述第二原始数据,包括:Acquiring the second raw data according to the indication information includes:
    根据所述第一编码数据对应的秩,确定所述第一原始数据块的数量;determining the number of the first original data blocks according to the rank corresponding to the first encoded data;
    根据所述第一原始数据块的数量,获取所述第二原始数据。The second original data is acquired according to the number of the first original data blocks.
  6. 如权利要求1所述的方法,其特征在于,所述指示信息指示所述第一编码数据对应的系统数据包接收情况和冗余数据包接收情况;所述第二原始数据包括所述第一原始数据中的一个或多个第一原始数据包;The method according to claim 1, wherein the indication information indicates the system data packet reception situation and the redundant data packet reception situation corresponding to the first encoded data; the second original data includes the first encoded data. one or more first raw data packets in the raw data;
    根据所述指示信息获取所述第二原始数据,包括:Acquiring the second raw data according to the indication information includes:
    根据所述第一编码数据对应的系统数据包接收情况和冗余数据包接收情况,确定所述第一原始数据包的数量;Determine the number of the first original data packets according to the system data packet reception situation and the redundant data packet reception situation corresponding to the first encoded data;
    根据所述第一原始数据包的数量,获取所述第二原始数据。Acquire the second original data according to the number of the first original data packets.
  7. 如权利要求1所述的方法,其特征在于,所述指示信息指示所述第一编码数据对应的系统数据包接收情况和冗余数据包接收情况;所述第二原始数据包括所述第一原始数据中的一个或多个第一原始数据块;The method according to claim 1, wherein the indication information indicates the system data packet reception situation and the redundant data packet reception situation corresponding to the first encoded data; the second original data includes the first encoded data. one or more first raw data blocks in the raw data;
    根据所述指示信息获取所述第二原始数据,包括:Acquiring the second raw data according to the indication information includes:
    根据所述第一编码数据对应的系统数据包接收情况和冗余数据包接收情况,确定所述 第一原始数据块的数量;Determine the quantity of the first original data block according to the system data packet reception situation and the redundant data packet reception situation corresponding to the first encoded data;
    根据所述第一原始数据块的数量,获取所述第二原始数据。The second original data is acquired according to the number of the first original data blocks.
  8. 如权利要求1所述的方法,其特征在于,所述指示信息指示编码的第一关联深度;所述第二原始数据包括所述第一原始数据中的一个或多个第一原始数据包;The method of claim 1, wherein the indication information indicates an encoded first associated depth; the second original data comprises one or more first original data packets in the first original data;
    根据所述指示信息获取所述第二原始数据,包括:Acquiring the second raw data according to the indication information includes:
    根据所述第一关联深度,确定所述第一原始数据包的数量;determining the number of the first original data packets according to the first association depth;
    根据所述第一原始数据包的数量,获取所述第二原始数据。Acquire the second original data according to the number of the first original data packets.
  9. 如权利要求1所述的方法,其特征在于,所述指示信息指示编码的第一关联深度;所述第二原始数据包括所述第一原始数据中的一个或多个第一原始数据块;The method of claim 1, wherein the indication information indicates an encoded first associated depth; the second original data comprises one or more first original data blocks in the first original data;
    根据所述指示信息获取所述第二原始数据,包括:Acquiring the second raw data according to the indication information includes:
    根据所述第一关联深度,确定所述第一原始数据块的数量;determining the number of the first original data blocks according to the first association depth;
    根据所述第一原始数据块的数量,获取所述第二原始数据。The second original data is acquired according to the number of the first original data blocks.
  10. 如权利要求1-9任一所述的方法,其特征在于,所述编码码率信息指示所述第二编码数据对应的冗余数据包个数、所述第二编码数据对应的编码数据包个数或所述第二编码数据对应的编码码率。The method according to any one of claims 1-9, wherein the coding rate information indicates the number of redundant data packets corresponding to the second coded data and the coded data packets corresponding to the second coded data The number or the encoding code rate corresponding to the second encoded data.
  11. 如权利要求1-3、6-9任一所述的方法,其特征在于,所述指示信息指示所述第一编码数据对应的秩;The method according to any one of claims 1-3 and 6-9, wherein the indication information indicates a rank corresponding to the first encoded data;
    根据所述指示信息获取编码码率信息,包括:Acquiring encoding bit rate information according to the indication information includes:
    根据所述第一编码数据对应的秩,确定所述第二编码数据对应的冗余数据包个数;determining the number of redundant data packets corresponding to the second encoded data according to the rank corresponding to the first encoded data;
    根据所述第二编码数据对应的冗余数据包个数,确定编码码率。The coding rate is determined according to the number of redundant data packets corresponding to the second coded data.
  12. 如权利要求4或5所述的方法,其特征在于,根据所述指示信息获取编码码率信息,包括:The method according to claim 4 or 5, wherein acquiring the coding rate information according to the indication information comprises:
    根据所述第一编码数据对应的秩,确定所述第二编码数据对应的冗余数据包个数;determining the number of redundant data packets corresponding to the second encoded data according to the rank corresponding to the first encoded data;
    根据所述第二编码数据对应的冗余数据包个数,确定编码码率。The coding rate is determined according to the number of redundant data packets corresponding to the second coded data.
  13. 如权利要求1-5、8-9任一所述的方法,其特征在于,所述指示信息指示所述第一编码数据对应的系统数据包接收情况和冗余数据包接收情况;The method according to any one of claims 1-5 and 8-9, wherein the indication information indicates the reception situation of system data packets and the reception situation of redundant data packets corresponding to the first encoded data;
    根据所述指示信息获取编码码率信息,包括:Acquiring encoding bit rate information according to the indication information includes:
    根据所述第一编码数据对应的系统数据包接收情况和冗余数据包接收情况,确定所述第二编码数据对应的冗余数据包个数;Determine the number of redundant data packets corresponding to the second encoded data according to the reception of the system data packets and the redundant data packets corresponding to the first encoded data;
    根据所述第二编码数据对应的冗余数据包个数,确定编码码率。The coding rate is determined according to the number of redundant data packets corresponding to the second coded data.
  14. 如权利要求6或7所述的方法,其特征在于,根据所述指示信息获取编码码率信息,包括:The method according to claim 6 or 7, wherein acquiring the coding rate information according to the indication information comprises:
    根据所述第一编码数据对应的系统数据包接收情况和冗余数据包接收情况,确定所述第二编码数据对应的冗余数据包个数;Determine the number of redundant data packets corresponding to the second encoded data according to the reception of the system data packets and the redundant data packets corresponding to the first encoded data;
    根据所述第二编码数据对应的冗余数据包个数,确定编码码率。The coding rate is determined according to the number of redundant data packets corresponding to the second coded data.
  15. 如权利要求1-14任一所述的方法,其特征在于,所述指示信息指示以下一项或多项:The method according to any one of claims 1-14, wherein the indication information indicates one or more of the following:
    所述第三原始数据对应的原始数据包的数量;the number of original data packets corresponding to the third original data;
    所述第三原始数据对应的原始数据块的数量;或the number of raw data blocks corresponding to the third raw data; or
    译码窗可用窗长或译码窗已用窗长。Decoding Window Available Window Length or Decoding Window Used Window Length.
  16. 如权利要求1-15任一所述的方法,其特征在于,所述第二编码数据包括头信息,所述头信息指示第二关联深度。The method according to any one of claims 1-15, wherein the second encoded data includes header information, and the header information indicates the second association depth.
  17. 如权利要求16所述的方法,其特征在于,所述头信息还指示以下一项或多项:The method of claim 16, wherein the header information further indicates one or more of the following:
    所述第三原始数据对应的原始数据包的数量;the number of original data packets corresponding to the third original data;
    所述第二编码数据对应的原始数据块的标识;或The identifier of the original data block corresponding to the second encoded data; or
    所述第二编码数据对应的编码系数。coding coefficients corresponding to the second coded data.
  18. 一种通信方法,其特征在于,包括:A communication method, comprising:
    接收来自第二通信设备的对应第一原始数据的第一编码数据;receiving first encoded data corresponding to the first original data from the second communication device;
    向所述第二通信设备发送指示信息,所述指示信息用于第二原始数据和编码码率信息的获取,所述第二原始数据包括部分或全部所述第一原始数据;Sending indication information to the second communication device, where the indication information is used for acquiring second original data and coding rate information, and the second original data includes part or all of the first original data;
    接收来自所述第二通信设备的对应所述编码码率信息、第三原始数据和所述第二原始数据的第二编码数据,所述第三原始数据不包括所述第一原始数据。Second encoded data corresponding to the encoded bit rate information, third original data and the second original data from the second communication device is received, the third original data does not include the first original data.
  19. 如权利要求18所述的方法,其特征在于,所述第二原始数据包括所述第一原始数据中的一个或多个第一原始数据包;The method of claim 18, wherein the second raw data comprises one or more first raw data packets in the first raw data;
    所述指示信息指示以下任一项:The indication information indicates any of the following:
    所述第一原始数据包的数量、所述第一编码数据对应的秩、所述第一编码数据对应的系统数据包接收情况和冗余数据包接收情况、或编码的第一关联深度。The number of the first original data packets, the rank corresponding to the first encoded data, the reception situation of the system data packets and the redundant data packet reception situation corresponding to the first encoded data, or the first correlation depth of the encoding.
  20. 如权利要求18所述的方法,其特征在于,所述第二原始数据包括所述第一原始数据中的一个或多个第一原始数据块;The method of claim 18, wherein the second raw data comprises one or more first raw data blocks in the first raw data;
    所述指示信息指示以下任一项:The indication information indicates any of the following:
    所述第一原始数据块的数量、所述第一编码数据对应的秩、所述第一编码数据对应的系统数据包接收情况和冗余数据包接收情况、或编码的第一关联深度。The number of the first original data blocks, the rank corresponding to the first encoded data, the reception situation of the system data packet and the redundant data packet corresponding to the first encoded data, or the first correlation depth of encoding.
  21. 如权利要求18-20任一所述的方法,其特征在于,所述指示信息指示以下一项或多项:The method according to any one of claims 18-20, wherein the indication information indicates one or more of the following:
    所述第三原始数据对应的原始数据包的数量;the number of original data packets corresponding to the third original data;
    所述第三原始数据对应的原始数据块的数量;或the number of raw data blocks corresponding to the third raw data; or
    译码窗可用窗长或译码窗已用窗长。Decoding Window Available Window Length or Decoding Window Used Window Length.
  22. 如权利要求18-21任一所述的方法,其特征在于,所述编码码率信息指示以下任一项:The method according to any one of claims 18-21, wherein the coding rate information indicates any one of the following:
    所述第二编码数据对应的冗余数据包个数、所述第二编码数据对应的编码数据包个数、所述第二编码数据对应的编码码率、或所述第一编码数据对应的系统数据包接收情况和冗余数据包接收情况。The number of redundant data packets corresponding to the second encoded data, the number of encoded data packets corresponding to the second encoded data, the encoding bit rate corresponding to the second encoded data, or the encoding rate corresponding to the first encoded data. System packet reception and redundant packet reception.
  23. 如权利要求18-22任一所述的方法,其特征在于,所述第二编码数据包括头信息,所述头信息指示第二关联深度。The method according to any one of claims 18-22, wherein the second encoded data includes header information, and the header information indicates the second association depth.
  24. 如权利要求23所述的方法,其特征在于,所述头信息还指示以下一项或多项:The method of claim 23, wherein the header information further indicates one or more of the following:
    所述第三原始数据对应的原始数据包的数量;the number of original data packets corresponding to the third original data;
    所述第二编码数据对应的原始数据块的标识;或The identifier of the original data block corresponding to the second encoded data; or
    所述第二编码数据对应的编码系数。coding coefficients corresponding to the second coded data.
  25. 一种通信装置,其特征在于,包括:A communication device, comprising:
    收发单元,用于向第一通信设备发送第一编码数据;接收来自所述第一通信设备的指 示信息;向所述第一通信设备发送第二编码数据;A transceiver unit, used to send the first encoded data to the first communication device; receive instruction information from the first communication device; send the second encoded data to the first communication device;
    处理单元,用于对第一原始数据进行编码获得所述第一编码数据;根据所述指示信息获取第二原始数据和编码码率信息,所述第二原始数据包括部分或全部所述第一原始数据;根据所述编码码率信息,对第三原始数据和所述第二原始数据进行联合编码,得到所述第二编码数据,所述第三原始数据不包括所述第一原始数据。a processing unit, configured to encode the first original data to obtain the first encoded data; obtain second original data and encoding bit rate information according to the indication information, where the second original data includes part or all of the first encoded data original data; according to the encoding bit rate information, jointly encoding the third original data and the second original data to obtain the second encoded data, the third original data does not include the first original data.
  26. 如权利要求25所述的装置,其特征在于,所述第二原始数据包括所述第一原始数据中的一个或多个第一原始数据包,所述指示信息指示所述第一原始数据包的数量;The apparatus of claim 25, wherein the second original data comprises one or more first original data packets in the first original data, and the indication information indicates the first original data packets quantity;
    所述处理单元,用于根据所述指示信息获取所述第二原始数据,具体包括:The processing unit, configured to acquire the second original data according to the indication information, specifically includes:
    用于根据所述第一原始数据包的数量,获取所述第二原始数据。for acquiring the second original data according to the number of the first original data packets.
  27. 如权利要求25所述的装置,其特征在于,所述第二原始数据包括所述第一原始数据中的一个或多个第一原始数据块,所述指示信息指示所述第一原始数据块的数量;The apparatus of claim 25, wherein the second original data comprises one or more first original data blocks in the first original data, and the indication information indicates the first original data blocks quantity;
    所述处理单元,用于根据所述指示信息获取所述第二原始数据,具体包括:The processing unit, configured to acquire the second original data according to the indication information, specifically includes:
    用于根据所述第一原始数据块的数量,获取所述第二原始数据。for acquiring the second original data according to the number of the first original data blocks.
  28. 如权利要求25所述的装置,其特征在于,所述指示信息指示所述第一编码数据对应的秩;所述第二原始数据包括所述第一原始数据中的一个或多个第一原始数据包;The apparatus of claim 25, wherein the indication information indicates a rank corresponding to the first encoded data; the second original data comprises one or more first original data in the first original data data pack;
    所述处理单元,用于根据所述指示信息获取所述第二原始数据,具体包括:The processing unit, configured to acquire the second original data according to the indication information, specifically includes:
    用于根据所述第一编码数据对应的秩,确定所述第一原始数据包的数量;for determining the number of the first original data packets according to the rank corresponding to the first encoded data;
    用于根据所述第一原始数据包的数量,获取所述第二原始数据。for acquiring the second original data according to the number of the first original data packets.
  29. 如权利要求25所述的装置,其特征在于,所述指示信息指示所述第一编码数据对应的秩,所述第二原始数据包括所述第一原始数据中的一个或多个第一原始数据块;The apparatus of claim 25, wherein the indication information indicates a rank corresponding to the first encoded data, and the second original data includes one or more first original data in the first original data data block;
    所述处理单元,用于根据所述指示信息获取所述第二原始数据,具体包括:The processing unit, configured to acquire the second original data according to the indication information, specifically includes:
    用于根据所述第一编码数据对应的秩,确定所述第一原始数据块的数量;for determining the number of the first original data blocks according to the rank corresponding to the first encoded data;
    用于根据所述第一原始数据块的数量,获取所述第二原始数据。for acquiring the second original data according to the number of the first original data blocks.
  30. 如权利要求25所述的装置,其特征在于,所述指示信息指示所述第一编码数据对应的系统数据包接收情况和冗余数据包接收情况;所述第二原始数据包括所述第一原始数据中的一个或多个第一原始数据包;The apparatus according to claim 25, wherein the indication information indicates the reception status of system data packets and the reception status of redundant data packets corresponding to the first encoded data; the second original data includes the first encoded data one or more first raw data packets in the raw data;
    所述处理单元,用于根据所述指示信息获取所述第二原始数据,具体包括:The processing unit, configured to acquire the second original data according to the indication information, specifically includes:
    用于根据所述第一编码数据对应的系统数据包接收情况和冗余数据包接收情况,确定所述第一原始数据包的数量;for determining the number of the first original data packets according to the system data packet reception situation and the redundant data packet reception situation corresponding to the first encoded data;
    用于根据所述第一原始数据包的数量,获取所述第二原始数据。for acquiring the second original data according to the number of the first original data packets.
  31. 如权利要求25所述的装置,其特征在于,所述指示信息指示所述第一编码数据对应的系统数据包接收情况和冗余数据包接收情况;所述第二原始数据包括所述第一原始数据中的一个或多个第一原始数据块;The apparatus according to claim 25, wherein the indication information indicates the reception status of system data packets and the reception status of redundant data packets corresponding to the first encoded data; the second original data includes the first encoded data one or more first raw data blocks in the raw data;
    所述处理单元,用于根据所述指示信息获取所述第二原始数据,具体包括:The processing unit, configured to acquire the second original data according to the indication information, specifically includes:
    用于根据所述第一编码数据对应的系统数据包接收情况和冗余数据包接收情况,确定所述第一原始数据块的数量;for determining the number of the first original data blocks according to the system data packet reception situation and the redundant data packet reception situation corresponding to the first encoded data;
    用于根据所述第一原始数据块的数量,获取所述第二原始数据。for acquiring the second original data according to the number of the first original data blocks.
  32. 如权利要求25所述的装置,其特征在于,所述指示信息指示编码的第一关联深度;所述第二原始数据包括所述第一原始数据中的一个或多个第一原始数据包;The apparatus of claim 25, wherein the indication information indicates a first associated depth of encoding; the second original data comprises one or more first original data packets in the first original data;
    所述处理单元,用于根据所述指示信息获取所述第二原始数据,具体包括:The processing unit, configured to acquire the second original data according to the indication information, specifically includes:
    用于根据所述第一关联深度,确定所述第一原始数据包的数量;for determining the number of the first original data packets according to the first association depth;
    用于根据所述第一原始数据包的数量,获取所述第二原始数据。for acquiring the second original data according to the number of the first original data packets.
  33. 如权利要求25所述的装置,其特征在于,所述指示信息指示编码的第一关联深度;所述第二原始数据包括所述第一原始数据中的一个或多个第一原始数据块;The apparatus of claim 25, wherein the indication information indicates an encoded first associated depth; the second original data comprises one or more first original data blocks in the first original data;
    所述处理单元,用于根据所述指示信息获取所述第二原始数据,具体包括:The processing unit, configured to acquire the second original data according to the indication information, specifically includes:
    用于根据所述第一关联深度,确定所述第一原始数据块的数量;for determining the number of the first original data blocks according to the first association depth;
    用于根据所述第一原始数据块的数量,获取所述第二原始数据。for acquiring the second original data according to the number of the first original data blocks.
  34. 如权利要求25-33任一所述的装置,其特征在于,所述编码码率信息指示所述第二编码数据对应的冗余数据包个数、所述第二编码数据对应的编码数据包个数或所述第二编码数据对应的编码码率。The apparatus according to any one of claims 25-33, wherein the coding rate information indicates the number of redundant data packets corresponding to the second coded data and the coded data packets corresponding to the second coded data The number or the encoding code rate corresponding to the second encoded data.
  35. 如权利要求25-27、30-33任一所述的装置,其特征在于,所述指示信息指示所述第一编码数据对应的秩;The apparatus according to any one of claims 25-27 and 30-33, wherein the indication information indicates a rank corresponding to the first encoded data;
    所述处理单元,用于根据所述指示信息获取编码码率信息,具体包括:The processing unit is configured to obtain the coding rate information according to the indication information, and specifically includes:
    用于根据所述第一编码数据对应的秩,确定所述第二编码数据对应的冗余数据包个数;for determining the number of redundant data packets corresponding to the second encoded data according to the rank corresponding to the first encoded data;
    用于根据所述第二编码数据对应的冗余数据包个数,确定编码码率。for determining the coding rate according to the number of redundant data packets corresponding to the second coded data.
  36. 如权利要求28或29所述的装置,其特征在于,所述处理单元,用于根据所述指示信息获取编码码率信息,具体包括:The apparatus according to claim 28 or 29, wherein the processing unit, configured to obtain the coding rate information according to the indication information, specifically includes:
    用于根据所述第一编码数据对应的秩,确定所述第二编码数据对应的冗余数据包个数;for determining the number of redundant data packets corresponding to the second encoded data according to the rank corresponding to the first encoded data;
    用于根据所述第二编码数据对应的冗余数据包个数,确定编码码率。for determining the coding rate according to the number of redundant data packets corresponding to the second coded data.
  37. 如权利要求25-29、32-33任一所述的装置,其特征在于,所述指示信息指示所述第一编码数据对应的系统数据包接收情况和冗余数据包接收情况;The apparatus according to any one of claims 25-29 and 32-33, wherein the indication information indicates the system data packet reception situation and the redundant data packet reception situation corresponding to the first encoded data;
    所述处理单元,用于根据所述指示信息获取编码码率信息,具体包括:The processing unit, configured to obtain the coding rate information according to the indication information, specifically includes:
    用于根据所述第一编码数据对应的系统数据包接收情况和冗余数据包接收情况,确定所述第二编码数据对应的冗余数据包个数;for determining the number of redundant data packets corresponding to the second encoded data according to the reception situation of the system data packets corresponding to the first encoded data and the redundant data packet reception situation;
    用于根据所述第二编码数据对应的冗余数据包个数,确定编码码率。It is used to determine the coding rate according to the number of redundant data packets corresponding to the second coded data.
  38. 如权利要求30或31所述的装置,其特征在于,所述处理单元,用于根据所述指示信息获取编码码率信息,具体包括:The apparatus according to claim 30 or 31, wherein the processing unit, configured to obtain the coding rate information according to the indication information, specifically includes:
    用于根据所述第一编码数据对应的系统数据包接收情况和冗余数据包接收情况,确定所述第二编码数据对应的冗余数据包个数;for determining the number of redundant data packets corresponding to the second encoded data according to the reception situation of the system data packets corresponding to the first encoded data and the redundant data packet reception situation;
    用于根据所述第二编码数据对应的冗余数据包个数,确定编码码率。It is used to determine the coding rate according to the number of redundant data packets corresponding to the second coded data.
  39. 如权利要求25-38任一所述的装置,其特征在于,所述指示信息指示以下一项或多项:The apparatus according to any one of claims 25-38, wherein the indication information indicates one or more of the following:
    所述第三原始数据对应的原始数据包的数量;the number of original data packets corresponding to the third original data;
    所述第三原始数据对应的原始数据块的数量;或the number of raw data blocks corresponding to the third raw data; or
    译码窗可用窗长或译码窗已用窗长。Decoding Window Available Window Length or Decoding Window Used Window Length.
  40. 如权利要求25-39任一所述的装置,其特征在于,所述第二编码数据包括头信息,所述头信息指示第二关联深度。The apparatus according to any one of claims 25-39, wherein the second encoded data includes header information, and the header information indicates the second association depth.
  41. 如权利要求40所述的装置,其特征在于,所述头信息还指示以下一项或多项:The apparatus of claim 40, wherein the header information further indicates one or more of the following:
    所述第三原始数据对应的原始数据包的数量;the number of original data packets corresponding to the third original data;
    所述第二编码数据对应的原始数据块的标识;或The identifier of the original data block corresponding to the second encoded data; or
    所述第二编码数据对应的编码系数。coding coefficients corresponding to the second coded data.
  42. 一种通信装置,其特征在于,包括:A communication device, comprising:
    接收单元,用于接收来自第二通信设备的对应第一原始数据的第一编码数据;接收来自所述第二通信设备的对应编码码率信息、第三原始数据和第二原始数据的第二编码数据,所述第三原始数据不包括所述第一原始数据;a receiving unit, configured to receive the first encoded data corresponding to the first original data from the second communication device; receive the corresponding encoded bit rate information, the third original data and the second original data from the second communication device encoded data, the third original data does not include the first original data;
    发送单元,用于向所述第二通信设备发送指示信息,所述指示信息用于所述第二原始数据和所述编码码率信息的获取,所述第二原始数据包括部分或全部所述第一原始数据。a sending unit, configured to send indication information to the second communication device, where the indication information is used for acquiring the second original data and the coding rate information, and the second original data includes part or all of the first raw data.
  43. 如权利要求42所述的装置,其特征在于,所述第二原始数据包括所述第一原始数据中的一个或多个第一原始数据包;The apparatus of claim 42, wherein the second raw data comprises one or more first raw data packets of the first raw data;
    所述指示信息指示以下任一项:The indication information indicates any of the following:
    所述第一原始数据包的数量、所述第一编码数据对应的秩、所述第一编码数据对应的系统数据包接收情况和冗余数据包接收情况、或编码的第一关联深度。The number of the first original data packets, the rank corresponding to the first encoded data, the reception status of the system data packets and the redundant data packet reception status corresponding to the first encoded data, or the encoded first correlation depth.
  44. 如权利要求42所述的装置,其特征在于,所述第二原始数据包括所述第一原始数据中的一个或多个第一原始数据块;The apparatus of claim 42, wherein the second raw data comprises one or more first raw data blocks in the first raw data;
    所述指示信息指示以下任一项:The indication information indicates any of the following:
    所述第一原始数据块的数量、所述第一编码数据对应的秩、所述第一编码数据对应的系统数据包接收情况和冗余数据包接收情况、或编码的第一关联深度。The number of the first original data blocks, the rank corresponding to the first encoded data, the reception situation of the system data packet and the redundant data packet corresponding to the first encoded data, or the first correlation depth of encoding.
  45. 如权利要求42-44任一所述的装置,其特征在于,所述指示信息指示以下一项或多项:The apparatus according to any one of claims 42-44, wherein the indication information indicates one or more of the following:
    所述第三原始数据对应的原始数据包的数量;the number of original data packets corresponding to the third original data;
    所述第三原始数据对应的原始数据块的数量;或the number of raw data blocks corresponding to the third raw data; or
    译码窗可用窗长或译码窗已用窗长。Decoding Window Available Window Length or Decoding Window Used Window Length.
  46. 如权利要求42-45任一所述的装置,其特征在于,所述编码码率信息指示以下任一项:The apparatus according to any one of claims 42-45, wherein the coding rate information indicates any one of the following:
    所述第二编码数据对应的冗余数据包个数、所述第二编码数据对应的编码数据包个数、所述第二编码数据对应的编码码率、或所述第一编码数据对应的系统数据包接收情况和冗余数据包接收情况。The number of redundant data packets corresponding to the second encoded data, the number of encoded data packets corresponding to the second encoded data, the encoding bit rate corresponding to the second encoded data, or the encoding rate corresponding to the first encoded data. System packet reception and redundant packet reception.
  47. 如权利要求42-46任一所述的装置,其特征在于,所述第二编码数据包括头信息,所述头信息指示第二关联深度。The apparatus of any one of claims 42-46, wherein the second encoded data includes header information, the header information indicating the second association depth.
  48. 如权利要求47所述的装置,其特征在于,所述头信息还指示以下一项或多项:48. The apparatus of claim 47, wherein the header information further indicates one or more of the following:
    所述第三原始数据对应的原始数据包的数量;the number of original data packets corresponding to the third original data;
    所述第二编码数据对应的原始数据块的标识;或The identifier of the original data block corresponding to the second encoded data; or
    所述第二编码数据对应的编码系数。coding coefficients corresponding to the second coded data.
  49. 一种通信装置,其特征在于,包括:处理器,所述处理器与存储器耦合,所述存储器用于存储程序或指令,当所述程序或指令被所述处理器执行时,使得所述装置执行如权利要求1至17中任一项所述的方法。A communication device, characterized in that it comprises: a processor coupled with a memory, the memory is used to store a program or an instruction, when the program or instruction is executed by the processor, the device causes the device A method as claimed in any one of claims 1 to 17 is performed.
  50. 一种通信装置,其特征在于,包括:处理器,所述处理器与存储器耦合,所述存储器用于存储程序或指令,当所述程序或指令被所述处理器执行时,使得所述装置执行如权利要求18至24中任一项所述的方法。A communication device, characterized in that it comprises: a processor coupled with a memory, the memory is used to store a program or an instruction, when the program or instruction is executed by the processor, the device causes the device A method as claimed in any one of claims 18 to 24 is performed.
  51. 一种芯片系统,其特征在于,包括:所述芯片系统包括至少一个处理器,和接口 电路,所述接口电路和所述至少一个处理器耦合,所述处理器通过运行指令,以执行权利要求1-17任一项所述的方法。A chip system, comprising: the chip system includes at least one processor, and an interface circuit, wherein the interface circuit is coupled with the at least one processor, and the processor executes the claims by running instructions The method of any one of 1-17.
  52. 一种芯片系统,其特征在于,包括:所述芯片系统包括至少一个处理器,和接口电路,所述接口电路和所述至少一个处理器耦合,所述处理器通过运行指令,以执行权利要求18-24任一项所述的方法。A chip system, comprising: the chip system includes at least one processor, and an interface circuit, wherein the interface circuit is coupled with the at least one processor, and the processor executes the claims by running instructions The method of any one of 18-24.
  53. 一种通信装置,其特征在于,用于执行权利要求1-17任一项所述的方法。A communication device, characterized by being used for executing the method of any one of claims 1-17.
  54. 一种通信装置,其特征在于,用于执行权利要求18-24任一项所述的方法。A communication device, characterized in that it is used for executing the method of any one of claims 18-24.
  55. 一种包含指令的计算机程序产品,其特征在于,当其在计算机上运行时,使得计算机执行上述权利要求1-24任一项所述的方法。A computer program product comprising instructions, which, when run on a computer, causes the computer to perform the method of any one of the preceding claims 1-24.
  56. 一种计算机可读存储介质,其特征在于,包括指令,当其在计算机上运行时,使得计算机执行如权利要求1-24任一项所述的方法。A computer-readable storage medium, characterized by comprising instructions that, when executed on a computer, cause the computer to perform the method of any one of claims 1-24.
  57. 一种通信系统,其特征在于,包括如权利要求25-41任一项所述的装置,和如权利要求42-48任一项所述的装置。A communication system, characterized by comprising the device according to any one of claims 25-41 and the device according to any one of claims 42-48.
PCT/CN2020/107973 2020-08-07 2020-08-07 Communication method, apparatus and system WO2022027661A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/CN2020/107973 WO2022027661A1 (en) 2020-08-07 2020-08-07 Communication method, apparatus and system
CN202080101546.XA CN115668828A (en) 2020-08-07 2020-08-07 Communication method, device and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2020/107973 WO2022027661A1 (en) 2020-08-07 2020-08-07 Communication method, apparatus and system

Publications (1)

Publication Number Publication Date
WO2022027661A1 true WO2022027661A1 (en) 2022-02-10

Family

ID=80116867

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/107973 WO2022027661A1 (en) 2020-08-07 2020-08-07 Communication method, apparatus and system

Country Status (2)

Country Link
CN (1) CN115668828A (en)
WO (1) WO2022027661A1 (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101039260A (en) * 2006-03-17 2007-09-19 富士通株式会社 Data transferring method, and communication system and program applied with the method
US20130230058A1 (en) * 2011-08-26 2013-09-05 Texas Instruments Incorporated Systems and methods for construction of and network coding using near-maximum distance separable (mds) linear network codes
CN105450357A (en) * 2014-09-24 2016-03-30 中兴通讯股份有限公司 Adjustment method of encoding parameters, adjustment device of encoding parameters, processing method of feedback information and processing device of feedback information
CN106850152A (en) * 2017-01-21 2017-06-13 陕西尚品信息科技有限公司 A kind of transmission coating control method based on network code
CN107248904A (en) * 2017-07-31 2017-10-13 北京理工大学 A kind of LDPC code error control method based on combined coding
CN109889308A (en) * 2019-01-28 2019-06-14 中国人民解放军陆军工程大学 The mixed automatic retransmission request method of joint polarization coding and decoding in Internet of Things

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101039260A (en) * 2006-03-17 2007-09-19 富士通株式会社 Data transferring method, and communication system and program applied with the method
US20130230058A1 (en) * 2011-08-26 2013-09-05 Texas Instruments Incorporated Systems and methods for construction of and network coding using near-maximum distance separable (mds) linear network codes
CN105450357A (en) * 2014-09-24 2016-03-30 中兴通讯股份有限公司 Adjustment method of encoding parameters, adjustment device of encoding parameters, processing method of feedback information and processing device of feedback information
CN106850152A (en) * 2017-01-21 2017-06-13 陕西尚品信息科技有限公司 A kind of transmission coating control method based on network code
CN107248904A (en) * 2017-07-31 2017-10-13 北京理工大学 A kind of LDPC code error control method based on combined coding
CN109889308A (en) * 2019-01-28 2019-06-14 中国人民解放军陆军工程大学 The mixed automatic retransmission request method of joint polarization coding and decoding in Internet of Things

Also Published As

Publication number Publication date
CN115668828A (en) 2023-01-31

Similar Documents

Publication Publication Date Title
US20180242236A1 (en) System and Method for Dynamically Configurable Air Interfaces
US20100146351A1 (en) Error correcting scheme for wireless communication
WO2020200014A1 (en) Method and device for communication
US20230370195A1 (en) Method and apparatus for transmission or reception of data in communication system
US20230139754A1 (en) Coding method and apparatus
WO2021032029A1 (en) Method for transmitting sidelink channel state information, and communication apparatus
WO2021180065A1 (en) Data transmission method and communication apparatus
KR20190060605A (en) Method and apparatus for data mapping in wireless communication system
US20050195849A1 (en) Early termination of low data rate traffic in a wireless network
EP3490181B1 (en) Data transmission method and device
WO2022116946A1 (en) Channel coding and decoding method and related apparatus
WO2018201984A1 (en) Data transmission method and device
US8369361B2 (en) Early termination of low data rate traffic in a wireless network
WO2022027661A1 (en) Communication method, apparatus and system
WO2018201903A1 (en) Data transmission method, terminal, and base station
WO2022133918A1 (en) Decoding failure processing method, apparatus and system
WO2021180226A1 (en) Data transmission method and related apparatus
WO2022116458A1 (en) Tbs determination method
US10797726B2 (en) Network data prediction method, network data processing device and network data processing method
WO2023143467A1 (en) Variable high throughput control field
WO2022268064A1 (en) Data transmission method and related apparatus
WO2022165660A1 (en) Method and device for transmitting data
WO2022033566A1 (en) Coding or decoding method in finite field and related device
WO2024055180A1 (en) Data transmission method and communication apparatus
WO2023236755A1 (en) Data transmission method, terminal, device, and storage medium

Legal Events

Date Code Title Description
NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20947853

Country of ref document: EP

Kind code of ref document: A1