[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

CN115668828A - Communication method, device and system - Google Patents

Communication method, device and system Download PDF

Info

Publication number
CN115668828A
CN115668828A CN202080101546.XA CN202080101546A CN115668828A CN 115668828 A CN115668828 A CN 115668828A CN 202080101546 A CN202080101546 A CN 202080101546A CN 115668828 A CN115668828 A CN 115668828A
Authority
CN
China
Prior art keywords
data
original data
packets
original
indication information
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
CN202080101546.XA
Other languages
Chinese (zh)
Inventor
谭志远
董朋朋
祝慧颖
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN115668828A publication Critical patent/CN115668828A/en
Pending legal-status Critical Current

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The embodiment of the application provides a communication method, a communication device and a communication system. The method comprises the following steps: encoding the first original data to obtain first encoded data; transmitting the first encoded data to the first communication device; receiving indication information from a first communication device; acquiring second original data and coding rate information according to the indication information, wherein the second original data comprises part or all of the first original data; performing joint coding on the third original data and the second original data according to the coding rate information to obtain second coded data, wherein the third original data does not include the first original data; the second encoded data is transmitted to the first communication device. According to the scheme, on one hand, the next coding is guided based on a feedback mechanism, the relevant coding parameters can be adjusted in a self-adaptive manner, the coding performance and the data transmission efficiency and quality can be improved, on the other hand, the joint coding of new and old data is realized, and the success rate of obtaining the original data by correctly decoding the first communication equipment at the receiving side is improved.

Description

Communication method, device and system Technical Field
The embodiment of the application relates to the technical field of communication, in particular to a communication method, device and system.
Background
The network coding can be realized by combining different information flows at the routing node and then transmitting the combined information flows, namely, the network intermediate node performs random coefficient coding on the received data packet and then transmits the coded data packet, so that the throughput of the whole network can be maximized, and the transmission performance of a wireless communication system can be effectively improved.
How to further improve the coding performance, such as improving the spectrum efficiency and error correction capability, reducing the packet error rate and the coding and decoding complexity, is currently required to be solved.
Disclosure of Invention
The embodiment of the application provides a communication method, a communication device and a communication system, which are used for improving the coding performance, so that the data transmission efficiency and the data transmission quality are improved.
In a first aspect, an embodiment of the present application provides a communication method, which may be performed by a terminal or a network device, or may be performed by a component (e.g., a processor, a chip, or a system-on-chip) of the terminal or the network device, and includes: coding the first original data to obtain first coded data; transmitting the first encoded data to the first communication device; receiving indication information from the first communication device; acquiring second original data and coding rate information according to the indication 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, wherein the third original data does not comprise the first original data; the second encoded data is transmitted to the first communication device.
Based on the scheme, after the first coded data is sent to the first communication device, the indication information can be received, then the second original data in the original data participating in coding and the coding rate information of the current coding are obtained based on the indication information, and then the third original data not participating in coding and the second original data participating in coding are jointly coded according to the coding rate information to obtain second coded data, and the second coded data are sent to the first communication device. According to the scheme, on one hand, the next coding is guided based on a feedback mechanism, relevant coding parameters can be adjusted in a self-adaptive mode, the spectrum efficiency and the error correction capability are further improved, the packet error rate and the coding and decoding complexity are reduced, the coding performance can be improved, the data transmission efficiency and the data transmission quality are further improved, on the other hand, the joint coding of new data and old data is realized, and the success rate of obtaining original data through correct decoding of first communication equipment on a receiving side can be improved.
In one 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; acquiring the second original data according to the indication information, including: and acquiring the second original data according to the number of the first original data packets.
According to the scheme, the number of the first original data packets is indicated through the indication information, so that the second original data can be conveniently obtained from the first original data which participates in coding, the realization of joint coding of new and old data is realized, and the coding capacity is improved.
The first original data packet in the embodiment of the present application is one or more original data packets included in the first original data. The number of the first original data packets can be understood as the number of original data packets in the first original data related to the second original data. Or, it is understood that the number of the first original data packets is the number of original data packets in the first original data for determining the second original data.
The definition of the first original packet applies here to the whole text, i.e. reference may be made to the above description for the meaning of the first original packet appearing in the whole text.
In one 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; acquiring the second original data according to the indication information, including: and acquiring the second original data according to the number of the first original data blocks.
According to the scheme, the number of the first original data blocks is indicated through the indication information, so that the second original data can be conveniently acquired from the first original data which participates in coding, the realization of joint coding of new data and old data is enabled, and the coding capacity is improved.
In one possible implementation method, the indication information indicates a rank corresponding to the first encoded data; the second original data comprises one or more first original data packets in the first original data; acquiring the second original data according to the indication information, including: determining the number of the first original data packets according to the rank corresponding to the first coded data; and acquiring the second original data according to the number of the first original data packets.
According to the scheme, the rank corresponding to the first encoding data reflects the number of equivalent correct original data packets obtained by the first communication equipment decoding the first encoding data, so that the rank corresponding to the first encoding data is indicated through the indication information, the number of the first original data packets is convenient to determine, second original data is convenient to obtain from the first original data which participates in encoding, the realization of new and old data joint encoding is enabled, and the encoding capacity is improved.
In the embodiment of the present application, the equivalent number of correct original data packets may be understood as the sum of the number of actually decoded correct original data packets and the number of valid (linearly independent) redundant data packets, and may also be understood as the number of correctly received valid encoded data packets. The number of equivalent correct original data packets corresponds to the rank corresponding to the first encoded data. The unified description is made here, and the description is not repeated.
In one 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; acquiring the second original data according to the indication information, including: determining the number of the first original data blocks according to the rank corresponding to the first coded data; and acquiring the second original data according to the number of the first original data blocks.
According to the scheme, the rank corresponding to the first encoding data reflects the number of equivalent correct original data packets obtained by decoding the first encoding data by the first communication equipment, so that the rank corresponding to the first encoding data is indicated through the indication information, the number of the first original data blocks is convenient to determine, second original data is convenient to obtain from the first original data which participates in encoding, joint encoding is achieved, and encoding capacity is improved.
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 first original data blocks may be understood as the number of original data blocks in the first original data that are related to the second original data. Or, it is understood that the number of first original data blocks is the number of original data blocks in the first original data that are used to determine the second original data.
The definition of the first original data block applies here in its entirety, i.e. reference is made to the above description for the meaning of the first original data block that appears in its entirety.
In one possible implementation method, the indication information indicates a system packet reception condition and a redundant packet reception condition corresponding to the first encoded data; the second original data comprises one or more first original data packets in the first original data; acquiring the second original data according to the indication information, including: determining the number of the first original data packets according to the receiving condition of the system data packets and the receiving condition of the redundant data packets corresponding to the first coded data; and acquiring the second original data according to the number of the first original data packets.
According to the scheme, the receiving condition of the system data packet and the receiving condition of the redundant data packet corresponding to the first encoding data reflect the number of equivalent correct original data packets obtained by decoding the first encoding data by the first communication equipment, so that the receiving condition of the system data packet and the receiving condition of the redundant data packet corresponding to the first encoding data are indicated through the indication information, the number of the first original data packets is convenient to determine, the second original data is convenient to obtain from the first original data which participates in encoding, the realization of new and old data joint encoding is enabled, and the encoding capacity is improved.
In one possible implementation method, the indication information indicates a system data packet reception condition and a redundant data packet reception condition corresponding to the first encoded data; the second original data comprises one or more first original data blocks in the first original data; acquiring the second original data according to the indication information, including: determining the number of the first original data blocks according to the receiving condition of the system data packets and the receiving condition of the redundant data packets corresponding to the first coded data; and acquiring the second original data according to the number of the first original data blocks.
According to the scheme, the receiving condition of the system data packet and the receiving condition of the redundant data packet corresponding to the first encoding data reflect the number of equivalent correct original data packets obtained by decoding the first encoding data by the first communication equipment, so that the receiving condition of the system data packet and the receiving condition of the redundant data packet corresponding to the first encoding data are indicated through the indication information, the number of the first original data blocks is convenient to determine, the second original data is convenient to obtain from the first original data which participates in encoding, the realization of new and old data joint encoding is enabled, and the encoding capacity is improved.
In one possible implementation, 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; acquiring the second original data according to the indication information, including: 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.
According to the scheme, the first coded associated depth is used for representing the number of original data packets which need to be obtained and participate in coding at the next time, the obtained original data packets can participate in the next coding, so that the first coded associated depth is indicated through the indication information, the number of the first original data packets is convenient to determine, second original data is convenient to obtain from the first original data which participates in the coding, realization of new and old data combined coding is enabled, and the coding capacity is improved.
In one possible implementation, the indication information indicates a first associated depth of encoding; the second original data comprises one or more first original data blocks in the first original data; acquiring the second original data according to the indication information, including: determining the number of the first original data blocks according to the first associated depth; and acquiring the second original data according to the number of the first original data blocks.
According to the scheme, the coded first associated depth is used for representing the number of the original data blocks which need to be obtained and participate in coding at the next time, the obtained original data blocks can participate in the next coding, so that the coded first associated depth is indicated through the indication information, the number of the first original data blocks is convenient to determine, second original data is convenient to obtain from the first original data which participate in the coding, realization of new and old data joint coding is enabled, and the coding capacity is improved.
In a possible implementation method, the coding 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 a coding rate corresponding to the second encoded data.
Based on the scheme, the coding rate information is convenient to determine, the coding parameters and performance are optimized, and the reliability and accuracy of data transmission are improved.
In one possible implementation method, the indication information indicates a rank corresponding to the first encoded data; acquiring coding rate information according to the indication information, comprising: determining the number of redundant data packets corresponding to the second coded data according to the rank corresponding to the first coded data; and determining the coding rate according to the number of the redundant data packets corresponding to the second coded data.
Based on the scheme, the rank corresponding to the first coded data reflects the number of equivalent correct original data packets obtained by the first communication equipment decoding the first coded data, and the rank corresponding to the first coded data is indicated through the indication information, so that the coding rate is convenient to determine, the coding parameters and the performance are optimized, and the reliability and the accuracy of data transmission are improved.
In a possible implementation method, obtaining 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; and determining the coding rate according to the number of the redundant data packets corresponding to the second coded data.
Based on the scheme, the encoding code rate is convenient to determine, encoding parameters and performance are optimized, and the reliability and accuracy of data transmission are improved.
In one possible implementation method, the indication information indicates a system data packet reception condition and a redundant data packet reception condition corresponding to the first encoded data; acquiring coding rate information according to the indication information, comprising: determining the number of redundant data packets corresponding to the second coded data according to the receiving condition of the system data packets and the receiving condition of the redundant data packets corresponding to the first coded data; and determining the coding rate according to the number of the redundant data packets corresponding to the second coded data.
Based on the scheme, the receiving condition of the system data packets and the receiving condition of the redundant data packets corresponding to the first coded data reflect the number of equivalent correct original data packets obtained by decoding the first coded data by the first communication equipment, so that the receiving condition of the system data packets and the receiving condition of the redundant data packets corresponding to the first coded data are indicated through the indication information, the coding rate is convenient to determine, the coding parameters and performance are optimized, and the reliability and accuracy of data transmission are improved.
In a possible implementation method, obtaining 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 receiving condition of the system data packets and the receiving condition of the redundant data packets corresponding to the first coded data; and determining the coding rate according to the number of the redundant data packets corresponding to the second coded data.
Based on the scheme, the coding rate is convenient to determine, the coding parameters and performance are optimized, and the reliability and accuracy of data transmission are improved.
In one possible implementation, the indication information indicates one or more of: 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 a decoding window available window length or a decoding window used window length.
In one possible implementation, the second encoded data includes header information indicating the second associated depth.
Based on the scheme, the header information carries the second correlation depth, so that the first communication equipment can decode correctly conveniently, and the decoding success rate can be improved.
In one possible implementation, the header information further indicates one or more of: the number of original data packets corresponding to the third original data; the identification of the original data block corresponding to the second coded data; or a coding coefficient corresponding to the second encoded data.
In one possible implementation, the coding coefficients are local codebook coefficients or global codebook coefficients.
Based on the scheme, when 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 coefficient corresponding to the second encoded data, the first communication device may decode the second encoded data according to the information carried in the header information, so as to improve the decoding success rate.
In one possible implementation method, receiving indication information from the first communication device includes: receiving a feedback message from the first communication device, the feedback message comprising header information and data information, the data information comprising the indication information.
In a possible implementation method, the feedback message is carried in downlink control information DCI or uplink control information UCI.
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, where the header indication field is used to indicate that the feedback message carries indication information of network coding, the data block number is used to indicate a coded data block corresponding to the indication information, and the process number is used to indicate a process number of a sending end corresponding to the indication information.
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, where the control information is used to indicate that the feedback message carries indication information of network coding, the data block number is used to indicate a coded data block corresponding to the indication information, and the process number is used to indicate a process number of a sending end corresponding to the indication information.
In a second aspect, embodiments of the present application provide a communication method, which may be executed by a terminal or a network device, and may also be executed by a component (e.g., a processor, a chip, or a system of chips) of the terminal or the network device, and the method includes: receiving first coded data corresponding to the first original data from the second communication device; sending indication information to the second communication device, wherein the indication information is used for acquiring second original data and coding rate information, and the second original data comprises part or all of the first original data; and receiving second coded data corresponding to the coding rate information, third original data and the second original data from the second communication device, wherein the third original data does not comprise the first original data.
Based on the scheme, after receiving the first encoded data from the second communication device, the second communication device sends the indication information to the second communication device, and the second communication device may obtain the second original data from the first original data that has participated in encoding according to the indication information, obtain the encoding code rate information of the current encoding according to the indication 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 code rate information to obtain the second encoded data, and send the second encoded data. According to the scheme, on one hand, the next coding is guided based on a feedback mechanism, relevant coding parameters can be adjusted in a self-adaptive mode, the spectrum efficiency and the error correction capability are improved, the packet error rate and the coding and decoding complexity are reduced, the coding performance can be improved, the data transmission efficiency and the data transmission quality are improved, on the other hand, the joint coding of new and old data is realized, and the success rate of obtaining original data through correct decoding of first communication equipment on a receiving side can be improved.
In one 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 number of the first original data packets, the rank corresponding to the first encoded data, the system data packet reception condition and the redundant data packet reception condition corresponding to the first encoded data, or the first correlation depth of encoding.
According to the scheme, the rank corresponding to the first encoding data reflects the number of equivalent correct original data packets obtained by decoding the first encoding data by the first communication device, the receiving condition of the system data packets and the receiving condition of the redundant data packets corresponding to the first encoding data reflect the number of equivalent correct original data packets obtained by decoding the first encoding data by the first communication device, the first coded association depth is used for representing the number of original data packets or original data blocks which need to be obtained in the next coding and participate in the coding, the indication information indicates the information, the second original data can be conveniently obtained from the first original data which participate in the coding, the realization of new and old data combined coding is enabled, and therefore the coding capacity is improved.
In one 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 number of the first original data blocks, the rank corresponding to the first encoded data, the system data packet reception condition and the redundant data packet reception condition corresponding to the first encoded data, or the first correlation depth of encoding.
According to the scheme, the rank corresponding to the first encoding data reflects the number of equivalent correct original data packets obtained by the first communication equipment decoding the first encoding data, the receiving condition of the system data packets and the receiving condition of the redundant data packets corresponding to the first encoding data reflect the number of equivalent correct original data packets obtained by the first communication equipment decoding the first encoding data, the first coded association depth is used for representing the number of original data packets or original data blocks which need to be obtained when the first coding is carried out next time, the information is indicated through the indication information, the second original data can be conveniently obtained from the first original data which participate in the coding, the realization of new and old data combined coding is achieved, and therefore the coding capacity can be improved.
In one possible implementation, the indication information indicates one or more of: 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 a decoding window available window length or a decoding window used window length.
In one possible implementation, the coding rate information indicates any one of: 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 code rate corresponding to the second encoded data, or the system data packet reception condition and the redundant data packet reception condition corresponding to the first encoded data.
Based on the scheme, the coding rate information is convenient to determine, 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 indicating the second associated depth.
Based on the scheme, the header information carries the second correlation depth, so that the first communication equipment can decode correctly conveniently, and the decoding success rate can be improved.
In one possible implementation, the header information further indicates one or more of: the number of original data packets corresponding to the third original data; the identification of the original data block corresponding to the second coded data; or a coding coefficient corresponding to the second encoded data.
In one possible implementation, the coding coefficients are local codebook coefficients or global codebook coefficients.
Based on the scheme, when 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 coefficient corresponding to the second encoded data, the first communication device may decode the second encoded data according to the information carried in the header information, so as to improve the decoding success rate.
In one possible implementation method, sending indication information to the second communication device includes: and sending a feedback message to the second communication device, wherein the feedback message comprises header information and data information, and the data information comprises the indication information.
In a possible implementation method, the feedback message is carried in downlink control information DCI or uplink control information UCI.
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, where the header indication field is used to indicate that the feedback message carries indication information of network coding, the data block number is used to indicate a coded data block corresponding to the indication information, and the process number is used to indicate a process number of a sending end corresponding to the indication information.
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, where the control information is used to indicate that the feedback message carries indication information of network coding, the data block number is used to indicate a coded data block corresponding to the indication information, and the process number is used to indicate a process number of a sending end corresponding to the indication information.
In a third aspect, an embodiment of the present application provides a communication apparatus, which may be a second communication device and may also be a chip for the second communication device. The apparatus has the function of implementing the first aspect described above or each possible implementation method based on the first aspect. The function can be realized by hardware, and can also be realized by hardware executing corresponding software. The hardware or software includes one or more modules corresponding to the functions described above.
In a fourth aspect, an embodiment of the present application provides a communication apparatus, which may be a first communication device and may also be a chip for the first communication device. The apparatus has the function of implementing the second aspect described above or each possible implementation method based on the second aspect. The function can be realized by hardware, and can also be realized by executing corresponding software by hardware. The hardware or software includes one or more modules corresponding to the functions described above.
In a fifth aspect, an embodiment of the present application provides a communication apparatus, including a processor, coupled with a memory, where the memory is used to store a program or instructions, and when the program or instructions are executed by the processor, the apparatus implements the first aspect, the second aspect, each possible implementation method based on the first aspect, or one of each possible implementation method based on the second aspect. The memory may be located within the device or external to the device. And the processor includes one or more.
In a sixth aspect, an embodiment of the present application provides a communication apparatus, which includes means (means) for performing each step of the foregoing first aspect, or the second aspect, or each possible implementation method based on the first aspect, or each possible implementation method based on the second aspect.
In a seventh aspect, an embodiment of the present application provides a communication device, which includes a processor and an interface circuit, where the processor is configured to control the interface circuit to communicate with other devices, and to execute the first aspect, the second aspect, or each possible implementation method based on the first aspect, or each possible implementation method based on the second aspect. The processor includes one or more.
In an eighth aspect, embodiments of the present application further provide a computer-readable storage medium, which includes instructions that, when executed on a computer, cause the computer to perform the above-mentioned first aspect, or second aspect, or each possible implementation method based on the first aspect, or each possible implementation method based on the second aspect.
In a ninth aspect, the present application further provides a computer program product, which when run on a computer, causes the computer to execute the first aspect, the second aspect, each possible implementation method based on the first aspect, or each possible implementation method based on the second aspect.
In a tenth aspect, an embodiment of the present application further provides a chip system, which includes a processor, where the processor is coupled with a memory, and the memory is used to store a program or instructions, and when the program or instructions are executed by the processor, the chip system implements the first aspect, the second aspect, each possible implementation method based on the first aspect, or each possible implementation method based on the second aspect. The memory may be located within the system-on-chip or external to 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, which includes a second communication device configured to execute the first aspect or any possible implementation method based on the first aspect, and a first communication device configured to execute the second aspect or any possible implementation method based on the second aspect.
Drawings
FIG. 1 is a schematic diagram of a random linear network coding;
FIG. 2 is a schematic diagram of convolutional network coding;
FIG. 3 is a schematic view of a scenario applicable to the embodiment of the present application;
fig. 4 is a schematic diagram of a communication method according to an embodiment of the present application;
FIG. 5 (a) is a schematic diagram of a feedback-based convolutional network coding scheme;
FIG. 5 (b) is a schematic diagram of a feedback scheme for a single process stop-and-go equation;
FIG. 6 is a schematic diagram of a single-process fill-type feedback scheme;
FIG. 7 is a schematic diagram of a multi-process based feedback scheme;
FIGS. 8-9 are two exemplary diagrams of an interleaved encoded data block;
FIGS. 10-11 are two schematic diagrams of a multi-pass encoder;
FIGS. 12-13 are two schematic diagrams of a multi-process decoder;
FIG. 14 is a diagram illustrating a format of feedback information;
FIG. 15 is a schematic diagram of PDCP layer bearer of feedback message;
FIG. 16 is a schematic diagram of RLC layer bearer of feedback message;
fig. 17 is a schematic diagram of MAC layer bearer of a feedback message;
FIG. 18 is a diagram illustrating header information fields;
FIG. 19 is a diagram of a local codebook;
FIG. 20 is a diagram illustrating local codebook selection;
FIG. 21 is a schematic diagram of a local codebook generating matrix;
FIG. 22 is a diagram of a global codebook;
FIG. 23 is a diagram illustrating global codebook selection;
FIG. 24 is a flow chart illustrating a feedback-based coding scheme;
FIGS. 25-26 are two diagrams of feedback-based adaptive non-systematic code schemes;
FIG. 27 is a schematic diagram of a feedback-based mean redundancy non-systematic code scheme;
28-30 are three schematic diagrams of a feedback-based 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 in the embodiments of the present application;
FIG. 33 is a schematic diagram of another exemplary communications apparatus according to an embodiment of the present application;
fig. 34 is a schematic structural diagram of a terminal according to an embodiment of the present application.
Detailed Description
In the embodiment of the present application, a data block before encoding may be referred to as an original data block, an original block, or the like, and a data block after encoding may be referred to as an encoded data block, an encoded block, or the like. A data block before encoding comprises one or more data packets before encoding, wherein a data packet before encoding may also be referred to as an original data packet, or an original packet. An encoded data block contains one or more encoded data packets, where an encoded data packet may also be referred to as an encoded data packet, or an encoded packet, etc. In the following description of the present application, different names of the same concept will be used in different places, and have the same meaning, and are not described in detail.
In the embodiment of the present application, "next encoding" refers to the latest encoding to be performed, and "last encoding" corresponds to "next encoding". The "last encoding" refers to the last encoding that has been completed. In the implementation of the present application, after the previous encoding is completed and the encoded data is sent to the receiving end, the sending end receives indication information (also referred to as feedback information) from the receiving end, then determines the encoding parameters of the next encoding and the contents such as the original data participating in the encoding based on the indication information, and performs the next encoding based on the contents to obtain the encoded data and sends the encoded data to the receiving end. In the embodiments of the present application, "next encoding" may also be referred to as "current encoding".
The network coding can be transmitted after different information flows are merged at the routing node, namely, the network intermediate node transmits the received data packet after coding the random coefficient, so that the throughput of the whole network can be maximized, and the transmission performance of a wireless communication system can be effectively improved.
In a communication system, a feedback retransmission mechanism enables efficient error control. For example, a hybrid automatic repeat request (HARQ) retransmission mechanism of a Medium Access Control (MAC) layer and an automatic repeat request (ARQ) retransmission mechanism of a Radio Link Control (RLC) layer jointly ensure transmission reliability. As communication technology evolves and develops, new Radio (NR) places higher demands on reliability, effectiveness, etc. of a system. The feedback retransmission mechanism faces many problems, for example, the problem of frequent feedback overhead and performance loss in a multicast or broadcast scenario, the problem of severe performance loss in a burst continuous error scenario and a dual-connection or multi-connection congestion scenario, and the like. Network coding, a forward error correction technique, reduces feedback overhead by coding an original data packet (also referred to as a pre-coding data packet) and adding redundancy to combat the problems of packet loss or performance loss in wireless transmission. The network coding scheme includes Random Linear Network Coding (RLNC), convolutional Network Coding (CNC), and the like.
The RLNC and CNC are described separately below.
1. RLNC
The RLNC technique uses a data block as a unit (the data block includes one or more data packets), and encodes an original data packet by constructing an encoding coefficient matrix to obtain a set of encoded data packets. Typically, the coefficients in the coding matrix are randomly chosen in a finite field, such as a Galois Field (GF).
As shown in 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, the coding matrix size is (N + R) × N, i.e. the number of rows is N + R and the number of columns is N. The method comprises the steps of obtaining a coded data block comprising N + R coded data packets by carrying out network coding on an original data block comprising N original data packets, wherein the corresponding code rate is represented as N/(N + R). In the RLNC scheme, there is no correlation 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. And the generated N + R coded data packets are sent to a receiving end, and the receiving end can correctly decode and recover the N original data packets as long as the receiving end receives any N linearly independent coded data packets in the N + R coded data packets.
Due to factors such as interference and noise, when the number of the correct encoded data packets received by the receiving end is less than N, the receiving end cannot decode. The receiving end can feed back the number of the coding data packets which are still needed for correct decoding to the sending end, the sending end sends the coding data packets with the corresponding number according to the fed back content, and the coding data packets are irrelevant to the coding of the next data block. Since it is necessary to avoid linear correlation of coding coefficients in the RLNC scheme, a larger galois field value is generally selected and the number of data packets in a data block is larger, which results in increased computational complexity and overhead. In addition, since there is no correlation between data blocks, the capability of network coding to combat channel burst errors is limited to some extent. In consideration of feedback, a larger number of packets in a data block leads to an increase in communication delay.
2. CNC (computer numerical control)
Fig. 2 shows a schematic diagram of convolutional network coding. The coding coefficient matrix of the convolutional network coding comprises mu +1 convolutional coding kernel matrices, i.e. G (0) ~G (μ) And carrying out convolutional network coding on the plurality of original data blocks to generate coded data blocks. Wherein, the ith convolution coding kernel (which may be simply referred to as convolution kernel) can be expressed as
Figure PCTCN2020107973-APPB-000001
I.e. G (i) Is a matrix, the upper half of which is denoted G (i,0) The lower half is denoted by G (i,1) . When G is (i,0) =0 or G (i,1) =0, it indicates that a partial original packet of the ith original data block participates in the network coding of the current original data block. In other words, the number of original data packets in the ith original data block, which are encoded with the current original data block, is less than G (i) The number of rows of (c). Wherein μ is an integer greater than or equal to 0.
In CNC, when an original data block is newly added, the original data packet currently participating in encoding includes one or more original data packets (also referred to as new original data packet, new data packet, or new packet, etc.) in the newly added original data block (also referred to as new original data packet, new data packet, or new packet, etc.), and optionally also includes one or more original data packets (also referred to as old original data packet, old data packet, or old packet, etc.) in original data blocks (also referred to as old original data block, old data block, or old block, etc.) before the newly added original data block.
As can be seen from fig. 2, 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 data packets in b1, which are new packets. The encoded data block c2 is obtained by encoding the original data blocks b1 and b2, that is, the original data packet currently participating in encoding includes all data packets (all new packets) in b2 and all original data packets (all old packets) in b 1. 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 encoding include all data packets (all new packets) in b3, all original data packets (all old packets) in b2, and all original data packets (all old packets) in b 1. By analogy, the encoded data block is obtained by encoding at most μ +1 original data blocks, where μ +1 original data blocks include μ old original data blocks (may be referred to as old blocks for short) and 1 new original data block (may be referred to as new blocks for short).
In the convolutional network coding, the number of the coded data packets in the coded data block can be smaller than that of the RLNC, and the convolutional form ensures that the current original data block and part or all of original data packets in a plurality of previous original data blocks are jointly coded, so that burst continuous errors can be better resisted, and the performances such as throughput and the like are improved.
In general, the convolutional encoding always uses μ +1 convolutional coding kernels, that is, the correlation depth is μ +1, and the sizes of different convolutional coding kernels are the same, and there is no case that the coefficient of a certain row or several rows in the convolutional coding kernels is 0, and the number of corresponding encoded data packets cannot be flexibly adjusted. The associated depth is used to indicate the number of original data packets or original data blocks that need to be acquired at the next encoding and are already involved in encoding, and the acquired original data packets or original data blocks are involved in the next encoding.
Although the problem of packet loss caused by channel continuous burst errors can be better overcome for the above convolutional network coding, the performance of the convolutional network coding is related to the correlation depth, the design of the convolutional coding core, the number of redundant packets (code rate), and other factors. Since the convolutional network coding cannot adaptively adjust the relevant parameters, the performance of the frequency spectrum efficiency, the error correction capability, the packet error rate, the coding and decoding complexity and the like are reduced.
In order to solve the above problems, embodiments of the present application provide a method and an apparatus for network coding based on feedback, where the method mainly involves:
firstly, a single-process and multi-process feedback-based network coding scheme is designed to solve the problem of performance degradation caused by time delay brought by feedback, and structural designs of a sending end encoder and a receiving end decoder are given.
Secondly, in the feedback-based network coding scheme, the receiving end decodes the received coded data, forms feedback information according to the decoding condition, and transmits the feedback information to the transmitting end. The feedback information of various forms is designed, and different bearing modes of the feedback information are designed.
Thirdly, the sending 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: the associated depth, the convolutional coding kernel, the number of coded data packets, and the like. On the basis, a network coding codebook and an indication mode of a codebook or a coefficient are designed, a sending end carries out network coding to generate a coded data packet, and a packet header of the coded data packet carries corresponding parameters or indexes of the parameters, so that a receiving end can be ensured to carry out correct processing and decoding operation according to the coded data packet.
And fourthly, providing a complete feedback-based non-systematic code and systematic code network coding scheme, such as code pattern design, carrying out specific parameter design and matching aiming at different network coding schemes, and optimizing the system performance of network coding.
The embodiment of the application is directed to Long Term Evolution (LTE) or NR protocol frameworks, and may be applied to multiple mobile communication scenarios, such as scenarios of point-to-point transmission between network devices and terminal devices, or scenarios of multi-hop/relay transmission between a network device and a terminal device, or scenarios of Dual Connectivity (DC) or multi-connection transmission between multiple network devices and a terminal device.
The terminal device related to the embodiment of the present application may also be referred to as a terminal, and may be a device with a wireless transceiving function, which may be deployed on land, including indoors or outdoors, handheld or vehicle-mounted; can also be deployed on the water surface (such as a ship and the like); and may also be deployed in the air (e.g., airplanes, balloons, satellites, etc.). The terminal device may be a User Equipment (UE), wherein the UE includes a handheld device, an in-vehicle device, a wearable device, or a computing device having wireless communication functionality. Illustratively, the UE may be a mobile phone (mobile phone), a tablet computer, or a computer with wireless transceiving 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, a wireless terminal in smart grid, a wireless terminal in smart city (smart city), a wireless terminal in smart home (smart home), and so on. In the embodiment of the present application, the apparatus for implementing the function of the terminal may be a terminal; it may also be a device, such as a system-on-chip, capable of supporting the terminal to implement the function, which may be installed in the terminal. In the embodiment of the present application, the chip system may be composed of a chip, and may also include a chip and other discrete devices.
The network device related to the embodiment of the present application includes an access network device, such as a Base Station (BS), where the base station may be a device deployed in a radio access network and capable of performing wireless communication with a terminal. The base station may have various forms, such as a macro base station, a micro base station, a relay station, an access point, and the like. For example, the base station related to the embodiment of the present application may be a base station in 5G or an evolved node B (eNB) in LTE, where the base station in 5G may also be referred to as a Transmission Reception Point (TRP) or a 5G base station (next-generation node B, gNB). In the embodiment of the present application, the apparatus for implementing the function of the network device may be a network device; or may be a device, such as a system-on-chip, capable of supporting the network device to implement the function, and the device may be installed in the network device.
The technical scheme provided by the embodiment of the application can be applied to wireless communication among communication devices. The wireless communication between the 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. In the embodiments of the present application, the term "wireless communication" may also be simply referred to as "communication", and the term "communication" may also be described as "data transmission", "information transmission", or "transmission".
In this embodiment, a device as a transmitting party may be referred to as a transmitting device or a transmitting end, and a device 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 a first network device sends data to a 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 a first terminal device sends data to a 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 is a schematic view of a scenario applicable to the embodiment of the present application. It is to be understood that fig. 3 is merely exemplary and is not intended to limit the network architecture suitable for use with embodiments of the present application. In addition, the embodiments of the present application do not limit transmissions of uplink, downlink, access link, backhaul (backhaul) link, sidelink (sidelink), and the like. From the perspective of a service scenario, the embodiments of the present application are applicable to a variety of scenario schemes, including but not limited to layered data encoding such as in Extended Reality (XR) services. Among them, XR services include, but are not limited to, virtual Reality (VR) services, augmented Reality (AR) services, and Mixed Reality (MR) services.
The method provided by the embodiment of the present application is first described with reference to the drawings, and then the contents of each part involved in the method are described with reference to specific embodiments (i.e., embodiment one to embodiment five).
As shown in fig. 4, a schematic diagram of a communication method provided in this embodiment of the present application is implemented 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 taking as an example that the first communication device and the second communication device execute the method.
The method comprises the following steps:
step 401, the second communication device encodes the first original data to obtain first encoded data.
The second communication device is referred to as a sending device, a sending 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 that the reliability of data transmission is improved. The first communication device may be referred to as a receiving device, or a receiving end as a receiving end.
The first original data corresponds to first encoded data. The first original data may be some or all of all original data that participated in encoding to obtain the first encoded data.
The first original data may be an original data block or an original data packet.
The first encoded data may be an encoded data block or an encoded data packet.
In step 402, the second communication device transmits first encoded data to the first communication device. Accordingly, the first communication device may receive the first encoded data.
In step 403, the first communication device sends indication information to the second communication device. Accordingly, the second communication device may 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 receiving condition of the first encoded data and/or is used to indicate reference information of the second communication device at the time of next encoding.
In the embodiment of the present application, the indication information may also be referred to as feedback information.
And step 404, the second communication device obtains the second original data and the coding rate information according to the indication information.
The indication information is used for acquiring the second original data and the coding rate information. That is, after the second communication device receives the indication information, the second original data participating in the next encoding may be obtained according to the indication information, where the second original data is part or all of the first original data, and the encoding rate information in the next encoding may also be obtained according to the indication information.
And 405, the second communication device performs joint coding on the third original data and the second original data according to the coding rate information to obtain second coded data.
The second encoded data is encoded data corresponding to the encoding code rate information, the third original data and the second original data.
The third original data is data which is newly added at the current encoding and has not participated in encoding, and the third original data does not comprise the first original data. It will be appreciated that this third raw data also does not include data preceding the first raw data that participated in the encoding.
That is, the second communication device jointly encodes the newly added data that has not participated in encoding (i.e., the third original data) and part or all of the original data (i.e., the second original data) of the data that has participated in encoding, so as to improve the encoding efficiency.
In step 406, the second communication device transmits the second encoded data to the first communication device. Accordingly, the first communication device may receive the second encoded data.
Based on the above implementation scheme, after sending the first encoded data to the first communication device, the second communication device may receive the indication information, then obtain, based on the indication information, the second original data and the currently encoded coding rate information in the encoded original data, further perform joint encoding on the third original data and the second original data according to the coding rate information to obtain the second encoded data, and send the second encoded data to the first communication device. According to the scheme, on one hand, the next coding is guided based on a feedback mechanism, relevant coding parameters can be adjusted in a self-adaptive mode, so that the spectrum efficiency and the error correction capability are improved, the packet error rate and the coding and decoding complexity are reduced, on the other hand, the joint coding of new and old data is realized, and the success rate of obtaining original data through correct decoding of first communication equipment on a receiving side can be improved.
Different implementation methods for the second communication device to obtain the second original data according to the indication information in step 404 are described below. The following description is divided into two cases.
In case one, the 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:
in the method 1, when the indication information indicates the number of first original data packets included in the second original data, the second communication device acquires the second original data according to the number of the first original data packets.
That is, when the indication information indicates the number of first original data packets, the second communication device acquires the number of original data packets from the first original data that participated in encoding as second original data, which participates in encoding next time. As an implementation method, the number of original data packets in the first original data that are closest in time sequence to the third 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. The embodiment of the present application is not limited to a specific implementation method for acquiring 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 included in the first original data. The number of the first original data packets can be understood as the number of original data packets in the first original data related to the second original data. Or, in other words, the number of first original data packets is the number of original data packets in the first original data that are used to determine the second original data. The definition of the first original packet applies here in its entirety, i.e. reference is made to the above description for the meaning of the first original packet that appears in its entirety.
Method 2, when the indication information indicates a rank (rank) corresponding to the first encoded data, the second communication device determines, according to the rank corresponding to the first encoded data, a number of first original data packets included in the second original data, and then obtains the second original data according to the number of the first original data packets.
The rank corresponding to the first encoded data refers to a rank of an encoding matrix corresponding to the encoded data received by the first communication device (which may also be referred to as simply a rank corresponding to the encoded data), and is used for reflecting a reception condition of the first encoded data by the first communication device. When the full rank indicates that the first communication device receives the first coded data correctly, and when the full rank does not indicate that the first coded data has a packet loss condition.
The second communication device may determine the number of 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 second original data includes a number of first original data packets that is a difference between the number of original data packets corresponding to the first encoded data and a 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 second original data contains 2 first original data packets. When the rank corresponding to the first encoded data indicated by the indication information is 1, it is determined that the second original data contains 3 first original data packets. And then 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 the original data packets from the first original data which participates in the encoding as the second original data, and the second original data participates in the encoding next time.
In the method 3, when the indication information indicates the receiving condition of the system data packet and the receiving condition of the redundant data packet corresponding to the first encoded data, the second communication device determines the number of the first original data packets contained in the second original data according to the receiving condition of the system data packet and the receiving condition of the redundant data packet corresponding to the first encoded data, and then obtains the second original data according to the number of the first original data packets.
The system packet refers to a packet of the encoded data that is the same as the original packet, and may be considered as having an encoding coefficient of 1. The redundant data packet refers to a redundant coded data packet that is increased in order to increase a decoding success rate. The system packet reception condition refers to the number or proportion of correctly received system packets or the number or proportion of incorrectly received system packets. The redundant data packet reception condition refers to the number or proportion of correctly received redundant data packets or the number or proportion of erroneously received redundant data packets.
The second communication device may determine the number of the first original data packets according to the system data packet reception condition and the redundant data packet reception condition 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 number of original data packets included in K original data blocks that are temporally closest to the third original data and that have already participated in encoding, where K is the larger value of the number of erroneous receptions of the system data packets corresponding to the first encoded data and the number of erroneous receptions of the redundant data packets corresponding to the first encoded data, which are determined according to the indication information. For example, when the indication information indicates that the system data packet corresponding to the first encoded data is received: the number of erroneous receptions of system packets is 1, and the reception condition of redundant data packets: if the number of erroneous receptions of the redundant data packet is 0, the number of first original data packets is determined to be the number of original data packets included in the 1 original data block that is temporally closest to the third original data block and that has already participated in encoding. For another example, when the system data packet reception condition corresponding to the first encoded data indicated by the indication information: the number of erroneous receptions of system packets is 1, and the reception condition of redundant data packets: the number of received errors of the redundant data packets is 1, and for an erroneous system data packet, it may be determined that the number of the first original data packet is the number of original data packets included in 1 original data block that is closest to the third original data in time sequence and that has already participated in encoding, where the original data block is also a data block corresponding to the system data packet in the first encoded data; for the redundant data packets with errors, according to the number (denoted as O) of original data blocks corresponding to the redundant data packets, the number of the first original data packets is determined to be the number of original data packets contained in O original data blocks which are closest to the third original data in time sequence and have already participated in encoding, and the number of original data blocks corresponding to the redundant data packets can also be understood to be the number of original data blocks related to generating the redundant data packets. Furthermore, for the case where both the systematic data packets and the redundant data packets are erroneous/lost, the number of first original data packets determined according to the erroneous systematic data packets may be kept identical to the number of first original data packets determined according to the erroneous redundant data packets. And 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 the original data packets from the first original data participating in encoding as the second original data, and the second original data participates in the next encoding.
In method 4, when the indication information indicates the first correlation depth of the coding, the second communication device determines the number of first original data packets included in the second original data according to the first correlation depth, and then acquires the second original data according to the number of the first original data packets.
Wherein, the associated depth is used to indicate the number of original data packets (or original data blocks) participating in the next encoding in the original data packets (or original data blocks) participating in the encoding. Therefore, when the indication information indicates the first correlation depth of the encoding, the second communication device may determine the number of the first original data packets according to the first correlation depth, and further 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 the original data packets from the first original data participating in the encoding as the second original data, where the second original data participates in the next encoding.
In case two, the second original data includes one or more first original data blocks in the first original data.
In this case two, the method for the second communication device to obtain the second original data according to the indication information includes, but is not limited to:
in the method 1, when the 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 acquires the number of original data blocks from the first original data that participated in encoding as second original data, which participates in encoding next time. As an implementation method, the number of original data blocks in the first original data that are chronologically closest to the third original data may be used as the second original data. As an implementation method, the number of original data blocks randomly selected from the first original data may be used as the second original data. The embodiment of the present application is not limited to a specific implementation method for acquiring 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 included in the first original data. The number of first original data blocks can be understood as the number of original data blocks in the first original data that are related to the second original data. Or, it is understood that the number of first original data blocks is the number of original data blocks in the first original data that are used to determine the second original data. The definition of the first original data block applies here in its entirety, i.e. reference is made to the above description for the meaning of the first original data block that appears in its entirety.
In method 2, when the 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 obtains the second original data according to the number of the first original data blocks.
The rank corresponding to the first encoding data refers to a rank of an encoding matrix corresponding to the encoding data received by the first communication device, and is used for reflecting the receiving condition of the first encoding data by the first communication device. When the full rank indicates that the first communication device receives the first coded data correctly, and when the full rank does not indicate that the first coded data has a packet loss condition.
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 further 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 the original data blocks from the first original data that participates in encoding as the second original data, where the second original data participates in encoding next time.
In the method 3, when the indication information indicates the receiving condition of the system data packet and the receiving condition of the redundant data packet corresponding to the first encoded data, the second communication device determines the number of first original data blocks contained in the second original data according to the receiving condition of the system data packet and the receiving condition of the redundant data packet corresponding to the first encoded data, and then obtains the second original data according to the number of the first original data blocks.
The system data packet refers to the same data packet in the encoded data as the original data packet. The redundant data packet refers to a redundant coded data packet that is increased in order to increase a decoding success rate.
The system data packet receiving condition refers to the number or proportion of correctly received system data packets or the number or proportion of incorrectly received system data packets. The redundant data packet reception condition refers to the number or proportion of correctly received redundant data packets or the number or proportion of incorrectly received redundant data packets.
The second communication device may determine the number of the first original data blocks according to the system data packet reception condition and the redundant data packet reception condition corresponding to the first encoded data indicated by the indication information. In a possible implementation manner, the number of first original data blocks included in the second original data is a larger value of the number of erroneous receptions of the system data packet corresponding to the first encoded data determined according to the indication information and the number of erroneous receptions of the redundant data packet corresponding to the first encoded data. For example, when the indication information indicates that the system data packet corresponding to the first encoded data is received: the number of erroneous receptions of system packets is 1, and the reception condition of redundant data packets: if the number of erroneous receptions of the redundant data packets is 0, the number of first original data blocks is determined to be the 1 original data blocks which are chronologically closest to the third original data and which have already participated in encoding. For another example, when the indication information indicates that the system data packet corresponding to the first encoded data is received: the number of erroneous receptions of system packets is 1, and the reception condition of redundant data packets: the number of received errors of the redundant data packets is 1, and for an erroneous system data packet, it may be determined that the number of the first original data blocks is 1 original data block that has been encoded, which is closest to the third original data in time sequence, and the original data block is also a data block corresponding to the system data packet in the first encoded data; for the redundant data packet with errors, according to the number (denoted by O) of the original data blocks corresponding to the redundant data packet, the number of the first original data blocks is determined as O original data blocks which are closest to the third original data in terms of time sequence and have already participated in encoding. Furthermore, for the case where both the systematic data packets and the redundant data packets are erroneous/lost, the number of first original data blocks determined according to the erroneous systematic data packets may be kept consistent with the number of first original data blocks determined according to the erroneous redundant data packets. And then 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 the original data blocks from the first original data which participates in the encoding as the second original data, and the second original data participates in the next encoding.
In method 4, when the indication information indicates the first associated depth of the coding, the second communication device determines the number of first original data blocks included in the second original data according to the first associated depth, and then acquires the second original data according to the number of the first original data blocks.
Wherein, the associated depth is used to indicate the number of original data packets (or original data blocks) participating in the next encoding in the original data packets (or original data blocks) participating in the encoding. Therefore, when the indication information indicates the first associated depth of the encoding, the second communication device may determine the number of the first original data blocks according to the first associated depth, and further 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 the original data blocks from the first original data that participates in the encoding as the second original data, where the second original data participates in the current encoding.
By any of the methods 1 through 4 of case one or any of the aspects 1 through 4 of case two, as described above, the second communication device may obtain the second original data, which participates in the next encoding.
Different implementation methods for the second communication device to obtain the coding rate information according to the indication information in step 404 are described below. The coding rate information indicates the number of redundant data packets corresponding to the second coded data, the number of coded data packets corresponding to the second coded data, or the coding rate corresponding to the second coded data. The coding rate = (the number of the coded data packets corresponding to the second coded data-the number of the redundant data packets corresponding to the second coded data)/the number of the coded data packets corresponding to the second coded data. The number of the coded data packets corresponding to the second coded data is the total number of the data packets in the second coded data, and the total number includes the number of the 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:
in the method 1, when the indication information indicates the rank corresponding to the first encoded data, the second communication device determines the number of redundant data packets corresponding to the second encoded data according to the rank corresponding to the first encoded data, and then determines the encoding code rate according to the number of redundant data packets corresponding to the second encoded data.
The rank corresponding to the first encoded data refers to a rank of the encoded data received by the first communication device, and is used for reflecting a receiving condition of the first encoded data by the first communication device. When the full rank indicates that the first communication device receives the first coded data correctly, and when the full rank does not indicate that the first coded data has a packet loss condition.
The second communication device may determine, according to the rank corresponding to the first encoded data indicated by the indication information, the number of redundant data packets corresponding to the next encoding, that is, the number of redundant data packets corresponding to the second encoded data obtained by the next encoding. In a possible implementation manner, the number of redundant data packets corresponding to the next encoding is the difference between the number of original data packets corresponding to the first encoded data and which have not been decoded correctly before and the rank corresponding to the first encoded data indicated by the indication information, without considering the additional redundant data packets. For example, the number of original data packets that are not decoded correctly before 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 can be determined that the number of redundant data packets corresponding to the next encoding is 1. When the rank corresponding to the first encoded data that is not correctly decoded before and indicated by the indication information is 2, it may be determined that the number of redundant data packets corresponding to the next encoding is 2, and so on. And the second communication equipment determines the coding rate according to the number of the redundant data packets corresponding to the second coded data.
In the method 2, when the indication information indicates the receiving condition of the system data packet and the receiving condition of the redundant data packet corresponding to the first encoded data, the second communication device determines the number of the redundant data packets corresponding to the second encoded data according to the receiving condition of the system data packet and the receiving condition of the redundant data packet corresponding to the first encoded data, and then determines the encoding rate according to the number of the redundant data packets corresponding to the second encoded data.
The system packet refers to a packet in the encoded data that is the same as the original packet. The redundant data packet refers to a redundant coded data packet that is increased in order to increase a decoding success rate. The system packet reception condition refers to the number or proportion of correctly received system packets or the number or proportion of incorrectly received system packets. The redundant data packet reception condition refers to the number or proportion of correctly received redundant data packets or the number or proportion of erroneously received redundant data packets.
The second communication device may determine, according to the system data packet receiving condition and the redundant data packet receiving condition corresponding to the first encoded data indicated by the indication information, the number of redundant data packets corresponding to the next encoding, that is, the number of redundant data packets corresponding to the second encoded data obtained by the next encoding. In a possible implementation manner, the number of redundant data packets corresponding to the next encoding without considering the additional redundant data packets is the sum of the number of erroneously received system data packets corresponding to the first encoded data determined according to the indication information and the number of erroneously received redundant data packets corresponding to the first encoded data. For example, when the indication information indicates that the system data packet corresponding to the first encoded data is received: the number of erroneous receptions of system packets is 1, and the reception condition of redundant data packets: the number of erroneous receptions of the redundant data packet is 0, and it can be determined that the number of redundant data packets corresponding to the next encoding is 1. For another example, when the system data packet reception condition corresponding to the first encoded data indicated by the indication information: the number of erroneous receptions of system packets is 1, and the reception condition of redundant data packets: the number of erroneous receptions of the redundant data packets is 1, and it can be determined that the number of redundant data packets corresponding to the next encoding is 2. And the second communication equipment determines the coding rate according to the number of the redundant data packets corresponding to the second coded data.
By the method 1 or the method 2, the second communication device may determine the coding rate, and thus jointly encode the third original data and the second original data according to the coding rate to obtain the second encoded data.
As an implementation method, the indication information may indicate, in addition to the information described above, one or more of the following:
1) The number of original data packets corresponding to the third original data.
That is, the indication information indicates the number of the original data packets that have not been encoded, which are newly added and used in the next encoding.
2) The number of original data blocks corresponding to the third original data.
That is, the indication information indicates the number of the original data blocks that have not been encoded in the next encoding.
3) A decoding window available window length or a decoding window used window length.
The decoding window corresponds to a maximum window length, which refers to the maximum data length involved in decoding, and may also be understood as the maximum number of encoded data blocks that can be decoded. The indication information may therefore indicate the available window length of the decoding window, i.e. the number of coded data blocks remaining that can participate in the decoding. Alternatively, the indication information may indicate a decoding window used window length, so that the decoding window used window length may be determined according to the decoding window used window length and the decoding window maximum window length, thereby determining the number of the coded data blocks which can be decoded.
As an implementation method, the second encoded data may include header information and data information, where the data information is used to carry encoded data. The header information is used for indicating the encoding parameter information corresponding to the second encoded data, so that the first communication device can correctly decode the second encoded data to obtain the original data before encoding.
Wherein the header information indicates a second association depth, which may be determined according to the indication information or may be jointly determined according to the indication information and other system information (e.g., channel state information, etc.). If the 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:
1) The number of original packets corresponding to the third original data.
2) And the identification of the original data block corresponding to the second coded data.
3) And the second coded data corresponds to the coded coefficient.
The coding coefficient may also be referred to as a coding codebook coefficient, a codebook coefficient, or the like.
The following describes the communication method shown in fig. 4 in detail in different aspects with reference to specific examples of the first to fifth embodiments. It is understood that in the embodiments and the implementation methods in the embodiments of the present application, if there is no specific description or logic conflict, technical features in different embodiments and implementation methods may be combined to form a new embodiment, implementation method or implementation method according to the inherent logic relationship thereof.
It is to be understood that the indication information is referred to as feedback information in the following embodiments, the first communication device is referred to as a receiving end in the following embodiments, the second communication device is referred to as a transmitting end in the following embodiments, the second original data may be an old original data packet or an old original data block in the following embodiments, and the third original data may be a new original data packet or a new original data block in the following embodiments.
Example one
The embodiment provides the overall design and the flow of the feedback-based convolutional network coding scheme, and provides a single-process and multi-process feedback scheme on the basis of the overall design and the flow.
As shown in fig. 5 (a), it is a schematic diagram of a feedback-based convolutional network coding scheme. The scheme comprises the following steps:
the method comprises the following steps: in the initial state, at a sending end, an original data packet enters a convolutional network encoder of the sending end and is stored in a corresponding storage unit, such as a register unit, the convolutional network encoder determines an initial encoding generating matrix according to set initial parameters, network encoding is performed on the corresponding original data packet according to the encoding generating matrix, and packet header information is added to obtain a group of encoded data packets.
In this application, the convolutional network encoder may also be referred to as an encoder, a transmitting-end encoder, or a transmitting-end encoder for short, which is described here in a unified manner and is not described in detail later.
Step two: the sending end sends the generated network coded data packet, and the packet loss and/or packet error can occur due to the influence of factors such as interference, noise and the like through channel transmission, and the receiving end receives a group of correct coded data packets through a reasonable checking mechanism, such as Cyclic Redundancy Check (CRC).
Step three: and after receiving the coded data packet, the receiving end identifies packet header information, acquires parameters such as a data block ID, a coding coefficient, correlation depth and the like, performs decoding operation by using a convolutional network decoder, and forms feedback information to represent the decoding condition. And if the decoding is correct, outputting the original data packet obtained by the decoding. In addition, the feedback information is sent to the sending end through a corresponding bearing mode through a channel.
In this application, the convolutional network decoder may also be referred to as a decoder, a receiving end decoder, or a receiving end decoder for short, which is described here in a unified manner and is not described in detail later.
Step four: and the sending end receives the feedback information from the receiving end and determines the coding parameters of the next convolutional network coder, such as the correlation depth, the convolutional coding kernel, the number of the coded data packets and the like. The coding parameters determined by the sending end can be consistent with the coding parameters corresponding to the feedback information, and the sending end can also re-determine the coding parameters according to the coding parameters of the feedback information and in combination with other system information. And jointly encoding the new data packet and the old data packet according to the encoding parameters, and adding packet header information to obtain a group of encoded data packets. And then returning to the step two.
Because a time delay exists in the process from sending coded data to receiving feedback information by a sending end, such as air interface transmission time delay, receiving end data processing time delay, and the like, in order to reduce the time delay and cause system performance, such as reduction of throughput, spectrum efficiency, and the like, the embodiment of the application provides a feedback scheme based on a single process or multiple processes. The following are described separately.
(1) Single process based feedback scheme
In the first single-process feedback scheme, a stop-and-wait mode is adopted, that is, after a transmitting end transmits a set of encoded data packets, the transmitting end needs to wait for feedback information of a receiving end, and does not transmit new encoded data during the period.
As shown in fig. 5 (b), a schematic diagram of a feedback scheme of a single-process stop equation is shown. First original data block B 0 And a second original data block B 1 And a time delay T exists between the two, and the transmitting end does not transmit new coded data during the time delay T. This manner of stopping and waiting can result in wasted system resources and reduced performance.
In a second single-process feedback scheme, a padding method is adopted, during a time delay T, a sending end continues to send encoded data, and the encoded data encodes an original data block in the time delay T by using an encoding parameter of a first original data block for the original data block after the first original data block, or by using a method of configuring an encoding parameter in a semi-static manner, so as to implement joint encoding of a new original data packet and an old original data packet. Through the scheme, the resource of the time (namely the time delay T) for the sending end to send the coded data packet to the receiving end to receive the feedback information can be ensured not to be wasted. Alternatively, the minimum time unit T may be followed 0 Adjusting the feedback delay T for granularity such that T is rounded up to T 0 So that an integer number of original data blocks can be coded and transmitted within the feedback delay T.
Fig. 6 is a schematic diagram of a single-process filling type feedback scheme. Suppose a first original data block B 0 And entering a convolutional network encoder of the sending end, carrying out network encoding according to the encoding parameters and sending the encoded data block. Within the feedback time delay T, 3 original data blocks (i.e. original data block B) can be processed 1 、B 2 、B 3 ) Performing coded transmission operations, i.e. B 1 、B 2 、B 3 The convolutional network encoder entering the transmitting end can be according to B 0 Or semi-statically configured coding parameter pair B 1 、B 2 、B 3 And (6) coding is carried out. Executing the above operations until the sending end receives the feedback information, optimizing the coding parameter configuration according to the feedback information, and after the feedback time delay TIs configured for the original data block B according to the optimized coding parameters in the next unit time 4 An encoding operation is performed. The encoding parameters include, but are not limited to, associated depth, number of encoded data packets, encoding coefficients, and the like. Here different original data blocks B i The size of (i =0,1,2,3) (i.e., the number of original packets included in the original data block) may be the same or different.
(2) Multi-process based feedback scheme
In the above feedback scheme based on single process, the stop-equation scheme is simple to operate, but causes system resource waste and performance degradation in the feedback delay, the padding scheme improves the resource utilization rate of the stop-equation scheme, but the feedback delay causes hysteresis, that is, the original data block B 4 Is based on the original data block B 0 The decoding result is determined, and real-time accurate feedback cannot be achieved, so that redundancy is increased or decoding performance is reduced. For example, the sender cannot be based on the original data block B 0 Determines the original data block B 1 Cannot be based on the original data block B 1 Determines the original data block B 2 Cannot be based on the original data block B 2 Determines the original data block B 3 Cannot be based on the original data block B 3 Determines the original data block B 4 The encoding parameter of (2).
(a) In a multi-process based feedback scheme, there is a feedback delay T and at least one process value. The sending end 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 requirement of time delay, namely, obtain a proper process value from at least one process value and activate the processes with corresponding number.
Fig. 7 is a schematic diagram of a feedback scheme based on multiple processes. The sender has z processes, where z takes a value of 4, i.e. the sender includes process 0, process 1, process 2, and process 3. Within the feedback time delay TFor 3 original data blocks (B) 1 ~B 3 ) Coded and transmitted separately, the original data block B 1 Coded and transmitted under the process 1, and the original data block B 2 Coded and transmitted under process 2, and original data block B 3 And encoding and transmitting under the process 3. During this time, the sender may receive the original data block B in Process 0 0 Feedback information of the corresponding encoded data block. Completing the original data block B in process 3 3 After the encoding process of (3), in process 0, according to B 0 Corresponding feedback information determines original data block B 4 And according to the coding parameters, the original data block B 4 And transmitting after encoding. For original data block B 0 Generating corresponding feedback information, from the receiving end, the convolutional network decoder at the receiving end compares the received B 0 And decoding the corresponding coded data packet to generate feedback information and sending the feedback information to the sending end. If the decoding is successful, outputting the decoding result (namely the original data block B) 0 ). It can be understood that at the sending end, operations such as encoding in the processes 1 to 3 are similar to those in the process 0, and are not described again. At the receiving end, operations such as decoding in the processes 1 to 3 are similar to those in the process 0, and are not described again.
As can be seen from FIG. 7, the sender can be based on the original data block B in process 0 0 Determines the original data block B 4 May be based on the original data block B in process 1 1 Determines the original data block B 5 May be based on the original data block B in process 2 2 Determines the original data block B 6 Can be based on the original data block B in process 3 3 Determines the original data block B 7 The encoding parameter of (1). Each process can independently determine the encoding parameter of the next original data block based on the feedback information (i.e. decoding result) of the encoded data block corresponding to the previous original data block, and based on the determined encoding parameterAnd coding the next original data block according to the coding parameters, so that the coding parameters can be adjusted based on the decoding result fed back in real time, and the coding performance is improved.
(b) Further, the interleaving function can be realized in a convolutional network encoder at the transmitting end. Optionally, the interleaving is performed at the granularity of the encoded data packet.
The original data block generates a multi-process coded data block through a convolutional network encoder at a sending end, and the coded data block is interleaved by taking a coded data packet as a unit to form an interleaved coded data block under different processes.
The following two cases are described separately.
In case one, the number of encoded data packets in an encoded data block is not an integer multiple of the number of processes.
As shown in fig. 8, which is an exemplary diagram of an interleaved encoded data block. The figure shows 4 processes and the convolutional network encoder generates a coded data block C corresponding to the four processes 0 ~C 7 . Assume that the number of encoded data packets in each encoded data block is 3, not an integer multiple of the number of processes (i.e., 4).
FIG. 8 shows the form of the encoded data block after interleaving, and each process number represents an encoded data block, for example, the first encoded data block after interleaving corresponding to process 0 is represented by C 0 ~C 2 The first coded data block after interleaving corresponding to the process 1 is formed by C 3 And C 0 ~C 1 And the second encoded packet of (a). And repeating the above steps according to the above rule to obtain the interleaved coded data block.
The interleaved encoded data blocks corresponding to each process are shown below.
First, a data block C is encoded i The coded packet in (i =0,1,2, \8230;, 7) is expressed as: c i0 ,C i1 ,C i2
C 0 :C 00 ,C 01 ,C 02
C 1 :C 10 ,C 11 ,C 12
C 2 :C 20 ,C 21 ,C 22
C 3 :C 30 ,C 31 ,C 32
C 4 :C 40 ,C 41 ,C 42
C 5 :C 50 ,C 51 ,C 52
C 6 :C 60 ,C 61 ,C 62
C 7 :C 70 ,C 71 ,C 72
After interleaving, the interleaved encoded data blocks corresponding to each process are as follows:
and (3) process 0: coded data block 1 (C) 00 ,C 10 ,C 20 ) Coded data block 2 (C) 40 ,C 50 ,C 60 )。
And (3) process 1: coded data block 1 (C) 30 ,C 01 ,C 11 ) Coded data block 2 (C) 70 ,C 41 ,C 51 )。
And (3) process 2: coded data block 1 (C) 21 ,C 31 ,C 02 ) Coded data block 2 (C) 61 ,C 71 ,C 42 )。
And 3, process 3: coded data block 1 (C) 12 ,C 22 ,C 32 ) Coded data block 2 (C) 52 ,C 62 ,C 72 )。
In case two, the number of encoded packets in an encoded data block is an integer multiple of the number of processes.
As shown in FIG. 9, is interleavingAnother example diagram of a subsequent encoded data block. Assume that the number of encoded packets of an encoded data block is 4, which is equal to the number of processes (i.e., 4). At this time, a new encoded data block can be formed by extracting and combining the encoded data packets at the same position of each encoded data block. For example, C 0 ~C 3 The 1 st encoded data packet of (2) constitutes a 1 st encoded data block, C, corresponding to process 0 0 ~C 3 The 2 nd encoded data packet of (2) constitutes the 2 nd encoded data block corresponding to process 0, and so on. If the number of the packets of the coding data block is n times of the process number, n coding data packets of each coding data block are sequentially extracted in each interleaving process to be combined into a new coding data block.
FIG. 9 shows the form of the encoded data blocks after interleaving, where each process number represents one encoded data block, e.g. the first encoded data block after interleaving corresponding to process 0 is represented by C 0 ~C 3 The first coded data block after interleaving corresponding to the process 1 is formed by C 0 ~C 3 And the second encoded packet of (a). And repeating the above steps to obtain the interleaved encoded data block.
The interleaved encoded data blocks corresponding to each process are shown below.
First, a data block C is encoded i The coded packet in (i =0,1,2, \8230;, 7) is expressed as: c i0 ,C i1 ,C i2 ,C i3
C 0 :C 00 ,C 01 ,C 02 ,C 03
C 1 :C 10 ,C 11 ,C 12 ,C 13
C 2 :C 20 ,C 21 ,C 22 ,C 23
C 3 :C 30 ,C 31 ,C 32 ,C 33
C 4 :C 40 ,C 41 ,C 42 ,C 43
C 5 :C 50 ,C 51 ,C 52 ,C 53
C 6 :C 60 ,C 61 ,C 62 ,C 63
C 7 :C 70 ,C 71 ,C 72 ,C 73
After interleaving, the interleaved encoded data blocks corresponding to each process are as follows:
and (3) process 0: coded data block 1 (C) 00 ,C 10 ,C 20 ,C 30 ) Coded data block 2 (C) 40 ,C 50 ,C 60 ,C 70 )。
And (3) process 1: coded data block 1 (C) 01 ,C 11 ,C 21 ,C 31 ) Coded data block 2 (C) 41 ,C 51 ,C 61 ,C 71 )。
And (4) process 2: coded data block 1 (C) 02 ,C 12 ,C 22 ,C 32 ) Coded data block 2 (C) 42 ,C 52 ,C 62 ,C 72 )。
And 3, process 3: coded data block 1 (C) 03 ,C 13 ,C 23 ,C 33 ) Coded data block 2 (C) 43 ,C 53 ,C 63 ,C 73 )。
The following provides a structural form of the convolutional network encoder at the transmitting end according to the embodiment of the present application.
Fig. 10 is a schematic diagram of a multi-pass encoder. The convolutional network encoder arranged at the transmitting end has multi-process encoding capability, namely, a plurality of processes or channels can be distinguished in the convolutional network encoder, and the processes are mutually independent and are provided with respective shift cache modules, encoding modules and the like. 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 managing each process.
Fig. 11 is yet another schematic diagram of a multi-pass encoder. A plurality of single-process encoders are arranged in a convolutional network encoder arranged at a sending end, and the single-process encoders are independent of each other and are provided with respective shift cache modules, encoding modules and the like. The convolutional network encoder is further provided with a data classification module for distributing the received original data blocks (or original data packets) to each single-process encoder.
The following provides a structural form of the convolutional network decoder at the receiving end according to the embodiment of the present application.
Fig. 12 is a schematic diagram of a multi-process decoder. The convolutional network decoder arranged at the receiving end has multi-process decoding capability, namely, the convolutional network decoder can distinguish a plurality of processes or channels, and each process is independent and is provided with a shift cache module, a decoding module and the like. The convolutional network decoder is also provided with a data classification and process management module which is used for distributing the received encoded data blocks (or encoded data packets) to each process and managing each process.
FIG. 13 is a further schematic diagram of a multi-process decoder. A plurality of single-process decoders are arranged in a convolutional network decoder arranged at a receiving end, and the single-process decoders are independent of one another and are provided with respective shift cache modules, decoding modules and the like. 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 first beneficial effect of the above embodiment is as follows: the network coding method and the network coding device based on feedback under the single process and the multiple processes are designed, and the time delay of the sending end for sending the coded data to the receiving end for receiving the feedback information can be fully utilized by optimizing the operation of the single process and the multiple processes. Under the condition of single process, the subsequent original data block can be subjected to convolutional coding and transmitted according to the semi-static coding parameter or the former coding parameter based on feedback optimization, and the next original data block is subjected to coding parameter optimization after receiving feedback information. Under the condition of multiple processes, multiple processes can be added in the feedback time delay and are independent from one another, each process can accurately feed back and optimize coding parameters, a coding strategy of a sending end can be more efficiently realized, system resources are fully utilized, and the system throughput and other performances are improved. In addition, the countermeasure capability of the network coding to the burst interference can be further improved by a multi-process interleaving mode.
Example two
The second embodiment provides the content of the feedback information and the format of the feedback information. The following are described separately.
1. Content of feedback information
The content of the feedback information determines the depth of association of the next original data block with one or more previous original data blocks (some or all of the data packets) and the number of redundant packets.
The association depth (hereinafter, denoted by D) may indicate the number of original data blocks and the number of original data packets, may indicate the number of new data packets (which may also be referred to as new original data packets or simply new packets) (hereinafter, denoted by N) and the number of old data packets (which may also be referred to as old original data packets or simply old packets) (hereinafter, denoted by the letter O).
The number of redundant packets may be represented by information such as the number of coded packets (hereinafter, denoted by C) or the number of redundant coded packets (hereinafter, denoted by R). Optionally, when the feedback information includes the decoding window state, the sending end may adjust the number of redundant packets in the feedback information. For example, when the decoding of the encoded data packet has a delay limitation, and the maximum delay is required to be the delay corresponding to the decoding window length, the decoding needs to be successful before the encoded data goes out of the decoding window, so that before going out of the window, the sending end can increase the number of the redundant packets on the basis of the number of the redundant packets fed back by the receiving end through the feedback information.
In this embodiment of the present application, feedback information for encoded data sent by a receiving end to a sending end is used for indicating but not limited to the following information: the correlation depth D, the number R of redundant packets, the number N of new packets participating in encoding, the number O of old packets participating in encoding, or the decoding window state. In different schemes and different semi-static parameter configuration methods, the content of the feedback information may be different.
In this embodiment, the feedback information may be dynamically indicated by control information of a Physical (PHY) layer, or may be semi-statically configured by a message of a related higher layer, such as a MAC layer and a Radio Resource Control (RRC) layer, or jointly dynamically indicated by the semi-statically configured.
Hereinafter, the network coding schemes are divided into two types, i.e., non-systematic codes and systematic codes, and the feedback information corresponding to the non-systematic codes and the feedback information corresponding to the systematic codes are described respectively.
1. Non-systematic code scheme
For non-systematic code schemes, when the feedback information is used to indicate one or more of the associated depth D, the number R of redundant packets, the number N of new packets participating in encoding, the number O of old packets participating in encoding, or the decoding window status, the indication may be made by the following method.
a) Number of redundant packets R
When the feedback information is used to indicate the number R of redundant packets (also referred to as redundant coded data packets), the indication can be made by any of the following methods:
1) Indicating the number R of redundant packets contained in the next coded data block;
2) Indicating the total number of coded data packets C contained in the next coded data block;
3) Indicating the correct rank value of the currently received coded data block: the number R of redundant coded data packets contained in the next coded data block or the number C of total coded data packets contained in the next coded data block can be obtained through known parameters or semi-static configuration parameters (the total number of original data packets participating in coding);
4) Error rank value indicating the currently received coded data block: the number R of redundant coded data packets contained in the next coded data block or the total number C of coded data packets contained in the next coded data block can be obtained by known parameters or semi-static configuration parameters (the total number of original data packets participating in coding).
b) Associated depth D
As an implementation method, in the non-systematic code scheme, the association depth D is equivalent to the number O of the old packets, that is, the two numbers are the same.
When the feedback information is used to indicate the associated depth D, the indication may be made by any of the following means:
1) Indicating the number of old packets participating in encoding in the next encoded data block, and the number of old blocks (also referred to as old original data blocks, or old data blocks);
2) A bitmap (bitmap) indicating an old packet to be coded in a next coded data block, and a bitmap of the old block;
the bitmap of the old packet refers to the number of old packets participating in encoding in the next encoded data block indicated by the bitmap. For example, the bitmap is 8 bits, and when the information of the bitmap is "10000000", it indicates that the number of old packets participating in encoding in the next encoded data block is 1, and when the information of the bitmap is "11000000", it indicates that the number of old packets participating in encoding in the next encoded data block is 2. It should be noted that, in the following description, the bit bitmap of the old packet has the same meaning, and is not described again.
The bitmap of the old block indicates the number of the old blocks participating in encoding in the next encoded data block in the form of a bitmap. For example, the bitmap is 8 bits, and when the information of the bitmap is "10000000", it indicates that the number of old blocks participating in encoding in the next encoded data block is 1, and when the information of the bitmap is "11000000", it indicates that the number of old blocks participating in encoding in the next encoded data block is 2. It should be noted that, in the following description, the bitmap of the old block has the same meaning, and is not described again.
3) Indicating the rank value of the latest received encoded data block, and indirectly obtaining the associated depth D through known parameters or semi-static configuration parameters (the total number of original data packets participating in encoding);
4) Any two of an index (index) number of a first original data packet participating in encoding, an index number of a last original data packet, or a total number of the first original data packet to the last original data packet are indicated;
5) And indicating any two of the number of the initial packet in the coding window of the sending end participating in the coding, the number of the termination packet in the coding window of the sending end and the effective length of the coding window of the sending end participating in the coding.
c) Number N of new packets participating in encoding in the next original data block
The new packet number N is used for a scheme in which the total number of the original data packets encoded at each time is the same (i.e., N + O is a constant value).
When the feedback information is used to indicate the number N of new packets participating in encoding in the next original data block, the indication may be performed in any one of the following manners:
1) The N value can be obtained by means of the related indication information of the associated depth;
this is because the correlation depth D is consistent with the value of the old packet O, and the value of the new packet number N can be obtained after the total number of original data packets for each encoding is previously allocated and the correlation depth D is determined by the feedback information.
2) If the total number of the new packets and the old packets participating in the encoding is certain (namely N + O semi-static configuration), indicating the number N of the new packets of the next encoding;
3) If the total number of the new packets and the old packets participating in the encoding is certain (namely N + O semi-static configuration), indicating the bitmap of the new packet to be encoded next time.
d) Decoding window status
The decoding window status includes the length of the decoding window used and/or the length of the decoding window remaining (i.e. the unused length) for characterizing the usage of the current decoding window, the current used window length and the maximum window length (denoted by W _ max).
It can be understood that the decoding window state may affect the redundancy addition algorithm of the encoder, that is, under the correlation algorithm, the number of encoded data packets generated by encoding the next original data block in the convolutional network encoder at the transmitting end depends not only on the number of packets missing from the current encoded data block at the receiving end, but also on the used length of the decoding window or the remaining length of an encoded data packet staying in the window.
2. System code scheme
For the systematic code scheme, when the feedback information is used to indicate one or more of the associated depth D, the number R of redundant packets, the number N of new packets participating in encoding, the number O of old packets participating in encoding, or the decoding window state, the indication may be performed by the following method.
a) Number of redundant packets R
When the feedback information is used to indicate the number R of redundant packets (also referred to as redundant coded data packets), the indication may be performed by any of the following methods:
1) Indicating the number R of redundant packets contained in the next coded data block;
2) Indicating the total number of coded data packets C contained in the next coded data block;
3) Indicating the correct rank value of the latest received coded data block: the number R of redundant coded data packets contained in the next coded data block or the number C of total coded data packets contained in the next coded data block can be obtained through known parameters or semi-static configuration parameters (the number of original data packets participating in coding);
4) Error rank value indicating the latest received coded data block: the number R of redundant coded data packets contained in the next coded data block or the number C of total coded data packets contained in the next coded data block can be obtained through known parameters or semi-static configuration parameters (the number of original data packets participating in coding);
5) Indicating the correct number of systematic data packets and the number of redundant data packets in the newly received encoded data block;
6) Indicating the number of systematic data packets and the number of redundant data packets in error in the newly received encoded data block;
7) Indicating the number of correct systematic packets and the number of erroneous redundant packets in the newly received encoded data block;
8) Indicating the number of erroneous system packets and the number of correct redundant packets in the newly received encoded data block;
it is understood that, any one of the above 5) to 8) may obtain the number R of redundant coded data packets, the number S of system packets, and the like included in the next coded block in combination with the known parameter or the semi-static parameter.
b) Associated depth D
When the feedback information is used to indicate the associated depth D, this may be indicated by either:
1) Indicating the number of old blocks of the next original data block participating in encoding;
2) Indicating the old block bitmap of the next original data block participating in coding;
3) Indicating the state indicator factor (2 bit) of the current original data block system packet and the coded data packet, and obtaining the correlation depth through the known parameters or semi-static configuration parameters (such as the number of the original data packets participating in coding);
for example, the state 00 indicates that neither the system packet nor the encoded packet has packet loss, and the corresponding association depth is 0; the state 11/01 indicates that the coded data packet is lost, and the corresponding correlation depth is the value +1 of the correlation depth of the previous data block; state 10 indicates that only system packets are lost, corresponding to an association depth of 2.
4) Indicating any two of the index number of the first original data packet participating 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) And indicating any two of the number of the start packet in the coding window of the transmitting end participating in the coding, the number of the end packet in the coding window of the transmitting end and the participating effective length of the coding window of the transmitting end.
6) Indicating the correct number of systematic data packets and the number of redundant data packets in the newly received encoded data block;
7) Indicating the number of systematic data packets and the number of redundant data packets in error in the most recently received encoded data block;
8) Indicating the number of correct systematic packets and the number of erroneous redundant packets in the newly received encoded data block;
9) Indicating the number of systematic packets and the number of correct redundant packets in the newly received encoded data block.
It will be appreciated that any of the above 6) to 9) in combination with known parameters or semi-static parameters may obtain the associated depth of the next encoded data block.
c) Number N of new packets participating in encoding in the next original data block
The new packet number N is used for a scheme that the total number of the original data packets coded at each time is the same (i.e., N + O is a constant value).
When the feedback information is used to indicate the number N of new packets participating in encoding in the next original data block, the indication may be performed in any one of the following manners:
1) Indicating the number of new blocks and the number of new packets N for the next encoding (which may not be indicated);
2) Indicating a new block bitmap and a new packet bitmap of the next encoding (which may not be indicated);
3) Indicating the correct number of systematic data packets and the number of redundant data packets in the newly received encoded data block;
4) Indicating the number of systematic data packets and the number of redundant data packets in error in the most recently received encoded data block;
5) Indicating the number of correct systematic packets and the number of erroneous redundant packets in the newly received encoded data block;
6) Indicating the number of systematic packets and the number of correct redundant packets in the newly received encoded data block.
It is understood that any one of the above-mentioned 3) to 6) may obtain the new number N of packets contained in the next encoded data block by combining the known parameter or the semi-static parameter.
d) Decoding window status
The decoding window status includes the length of the decoding window used and/or the length of the decoding window remaining (i.e. the length not used), and is used to characterize the use condition of the current decoding window, the relation between the current used window length and the maximum window length (denoted by W _ max), or the remaining length remaining in a coded packet window.
It can be understood that the decoding window state may affect the redundancy addition algorithm of the encoder, that is, under the correlation algorithm, the number of encoded data packets generated by encoding the next original data block in the convolutional network encoder at the transmitting end not only depends on the number of packets missing from the current encoded data block at the receiving end, but also depends on the length of the decoding window used or the remaining length of an encoded data packet remaining in the window. In addition, the receiving end may jointly decode the window state information when forming the feedback information, without directly feeding back the decoding window state information, that is, the number of redundant coded packets or the number of total coded packets in the feedback information is a parameter formed by a redundancy addition algorithm considering the decoding window state information.
2. Format of feedback information
The feedback information may be carried in a plurality of fields, as shown in fig. 14, which is a schematic format diagram of the feedback information. In the figure, field 1 indicates a format sequence number, e.g. 3 bits, different sequence numbers indicating different schemes and/or scenarios. 1 bit of the 3 bits is used for distinguishing a non-systematic code scheme and a systematic code scheme, 1 bit is used for distinguishing two situations that the size of an original data block is the same as that of an encoded data block, and 1 bit is used for distinguishing two situations that a decoding window state is considered and a decoding window state is not considered, so that 8 schemes are obtained by combining the situations. The following are described separately.
In the following example, in connection with field 1 (total 3 bits) of fig. 14, the upper 1 bit of the field is used to indicate a non-systematic code scheme and a systematic code scheme, where "0" denotes the non-systematic coding scheme and "1" denotes the systematic coding scheme. The middle 1 bit of this field is used to distinguish between two cases where the original data block size is the same as the encoded data block size, 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 lower 1 bit of this field is used to distinguish between the two cases where the decoding window state is considered and the decoding window state is not considered, where "0" indicates that the decoding window state is not considered and "1" indicates that the decoding window state is considered. The meanings of "0" and "1" described above may be used in reverse. In the following description, the meanings of "0" and "1" are merely examples.
With reference to fig. 14, the specific scheme is as follows:
1) Feedback format (also referred to as feedback format) 0_0: non-systematic code scheme, original data block size is the same and decoding window status is not considered (where the number of new packets participating in encoding N is semi-static configured)
Field 1: format serial number (also called pattern number) 000,3bit;
field 2: the missing rank value of the current encoded data block, or other information that can indirectly derive the missing rank value, such as the rank value of the encoded data block, can be used to derive the associated depth D and the number R of redundant packets of the next block.
Alternatively, in the case of not using the rank value, any form of the correlation depth D in the non-systematic code scheme may be used as the field 2, and any form of the number R of redundant packets may be used as the field 3, and the feedback information may be displayed by combination.
2) feedback format 0_0_1: non-systematic code scheme, original data block size is the same and decoding window status is considered (where the number of new packets participating in encoding is N semi-static configuration)
Field 1: pattern No. 001,3bit;
field 2: the rank value missing for the current encoded data block or other information that can indirectly derive the missing rank value, such as the rank value of the encoded data block, from which the associated depth D can be derived.
A field 3: and the decoding window state represents the influence of the decoding window length on the number of the coded data packets, and the number R of the redundant packets of the next coded data block can be determined by combining the field 2 (both the sending end and the receiving end can be determined according to the algorithm, when the receiving end executes the related algorithm to determine that the number R of the redundant packets forms feedback information, the field 3 can be omitted, and when the sending end executes the related algorithm to determine the number R of the redundant packets, the field 3 can not be omitted).
Alternatively, the field 2 may be in any form of the correlation depth D in the non-systematic code scheme, and the field 3 may be in any form of 1) and 2) of the number R of redundant packets, and the combination thereof displays the feedback information.
3) feedback format 0_1_0: non-systematic code scheme, coded data block size is the same and decoding window status is not considered (where, N + O semi-static configuration)
Field 1: pattern number 010,3bit;
field 2: the rank value missing for the current encoded data block or other information that can indirectly derive the missing rank value, such as the rank value of the encoded data block.
The field 2, in combination with the semi-static configuration information, may result in an associated depth D (equal to the number of old packets O) and the number of new packets N for the next original data block, and the number of redundant packets R (R = O) for the next encoded data block.
Alternatively, any form of the correlation depth D of the next original data block in the non-systematic code scheme may be used as the field 2, the redundant packet number R of the next encoded data block may be used as the field 3, and any form of the new packet number N may be used as the field 4, and the feedback information may be displayed by combination.
4) feedback format 0_1: non-systematic code scheme, coded data block size being the same and considering decoding window status (where N + O semi-static configuration)
Field 1: pattern No. 011,3bit;
field 2: the rank value that is missing for the current encoded data block or other information that can indirectly derive the missing rank value information, such as the rank value of the encoded data block.
The field 2 is combined with the semi-static configuration information to obtain the association depth D (the number O of old packets).
Field 3: and (3) a decoding window state, which represents the influence of the length of the decoding window on the number of the coded data packets, and determines the number N of new packets of the next original data block and the number R of redundant packets of the next coded data block by combining the field 2 (both a sending end and a receiving end can be determined according to an algorithm).
Alternatively, any form of the correlation depth D of the next original data block in the non-systematic code scheme may be used as the field 2, any form of the number N of new packets may be used as the field 3, and the number R of redundant packets of the next encoded data block may be used as the field 4, and the feedback information may be displayed by combination.
5) feedback format 1_0: the system code scheme, the original data block size are the same and the decoding window status is not considered (where the number of new packets participating in encoding N is semi-static configured)
Field 1: pattern No. 100,3bit;
field 2: indicating the correct system packet number S or the wrong system packet number S' of the current data block;
field 3: indicating the number of correct coded data packets P or the number of erroneous coded data packets P' of the current data block.
The field 2 and the field 3 are combined with the semi-static configuration information to obtain the associated depth D and the number R of redundant packets of the next block.
Alternatively, any form of the correlation depth D in the systematic code scheme may be used as the field 2, and any form of the number R of redundant packets may be used as the field 3, and the feedback information may be displayed by combination.
6) feedback format 1_0_1: the system code scheme, the original data block size are the same and the decoding window state is considered (wherein, the number of new packets participating in the encoding is N semi-static configuration)
Field 1: pattern No. 101,3bit;
field 2: indicating the correct system packet number S or the wrong system packet number S' of the current data block;
field 3: indicating the correct coded data packet number P or the wrong coded data packet number P' of the current data block;
the field 2 and the field 3 are combined with semi-static configuration information to obtain the associated depth D;
field 4: and the decoding window state represents the influence of the decoding window length on the number of the coded data packets, and the number R of the redundant packets of the next block can be determined by combining the field 2 and the field 3 (both the sending end and the receiving end can be determined according to the algorithm).
Alternatively, any form of the correlation depth D in the systematic code scheme may be used as the field 2, and any form of the number R of redundant packets may be used as the field 3, and the feedback information may be displayed by combination.
7) feedback format 1_1_0: the system code scheme, the coded data block size are the same and the decoding window status is not considered (wherein, the N + O semi-static configuration)
Field 1: pattern No. 110,3bit;
field 2: indicating the correct system packet number S or the wrong system packet number S' of the current data block;
a field 3: indicating the number of correct P or erroneous P' coded data packets of the current data block.
The associated depth D, the number N of new packets of the next original data block (equal to the number of correctly received encoded data packets), and the number R of redundant packets (equal to the number of erroneous encoded data packets) can be obtained by combining the field 2 and the field 3 with the semi-static configuration information;
alternatively, any form of the correlation depth D of the next original data block in the systematic code scheme may be used as the field 2, any form of the number N of new packets may be used as the field 3, and the number R of redundant packets may be used as the field 4, and the feedback information may be displayed by combination.
8) feedback format 1_1: the system code scheme, the coded data block size are the same and the decoding window state is considered (wherein, the N + O semi-static configuration)
Field 1: pattern No. 111,3bit;
field 2: indicating the correct system packet number S or the wrong system packet number S' of the current data block;
a field 3: indicating the correct coded data packet number P or the wrong coded data packet number P' of the current data block;
the associated depth D may be obtained by combining field 2 and field 3 with semi-static configuration information.
Field 4: and the decoding window state represents the influence of the decoding window length on the number of the coded data packets, and the number R of redundant packets of the next block (both a sending end and a receiving end can be determined according to an algorithm) and the number N of new packets of the next original data block can be determined by combining the field 2 and the field 3.
Alternatively, any form of the correlation depth D of the next original data block in the systematic code scheme may be used as the field 2, any form of the number N of new packets may be used as the field 3, and the number R of redundant packets may be used as the field 4, and the feedback information may be displayed by combination.
The second embodiment has the following beneficial effects: the content and possible format of the feedback information of the receiving end are designed, different feedback information formats can be sent through the receiving end, and different network coding schemes and parameter settings can be obtained by the sending end. Further, the sending end reasonably configures coding parameters according to the feedback information and the requirement, and carries out network coding on the next original data block and part or all of the data packets in a plurality of previous original data blocks to generate coded data packets. The effectiveness of the network coding scheme and the improvement of the system performance can be effectively ensured.
EXAMPLE III
The embodiment is three-purpose for providing the above-mentioned carrying method of the feedback information, that is, in what manner the feedback information is sent to the sending end.
For example, the feedback information may be sent via a message at or above the MAC layer (including but not limited to PDCP layer, RLC layer, etc.). Or a new network coding layer is separately defined, and then the message passing through the new network coding layer is used as the carrier of the feedback information.
Specifically, in the feedback information, the feedback information given in the second embodiment may be understood as data of the feedback message, and besides, the feedback message also needs header information. That is, the receiving end sends a feedback message to the sending end, where the feedback message carries a message header and data, and the data carries feedback information.
Wherein, the header information comprises the following content fields:
1) The header indicates a Field H _ Field;
2) Data Block number Block _ Num;
3) The Process number Process _ Num.
Wherein, the header indication field is used for indicating that the current data packet is the feedback information of the network coding. The data block number is used for indicating the coded data block corresponding to the feedback information. The process number is used to indicate the sending end process number corresponding to the feedback information (used in a multi-process feedback scheme, the field information is optional, and the sending end process number can also be calculated by combining the data block number with the semi-static information).
Alternatively, when the coding and decoding operations of the network coding occur in the PDCP layer, the feedback message may be carried by a Protocol Data Unit (PDU) generated by the PDCP layer. As shown in fig. 15, a PDCP layer bearer of the feedback message is illustrated. The left side is PDCP data format, which includes PDCP header and PDCP data, wherein the PDCP header includes the above mentioned header information fields 1), 2), 3), and the field other indicates other field information.
Alternatively, when the network coded coding operation 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 RLC layer bearer of feedback message. Header information of the RLC layer PDU is used to realize the functions of the three fields, where existing Field D/C =1 represents a control message, CPT =001 represents a network coding feedback message of a receiving end, so that an H _ Field can be omitted, and header information fields 2) and 3) need to be added), and Field other represents the remaining Field information of the RLC layer packet header. Corresponding to the RLC header is RLC layer data including data (carrying feedback information) and PDU packets of the PDCP layer.
Alternatively, when the network coding operation occurs at the MAC layer, the feedback information may be carried by PDUs generated by the MAC layer. As shown in fig. 17, it is a schematic diagram of a MAC layer bearer of a feedback message. Header information of the MAC layer PDU, which includes data (carrying feedback information) and PDU data from the RLC layer, implements the functions of the above three fields by adding fields 1) to 3).
Another possible bearer method is to use control information for bearer. Specifically, on a protocol layer corresponding to a network code at a receiving end, a feedback message is generated through operations such as decoding, the feedback message is transmitted to a physical layer in a form of PDU, and finally, uplink Control Information (UCI) or Downlink Control Information (DCI) of the physical layer carries and transmits the uplink control information or the downlink control information to the transmitting end. Wherein, new fields may be added to the UCI or the DCI or the existing fields may be multiplexed to carry the above fields 1) to 3) and data (which carries feedback information).
The third embodiment has the following beneficial effects: the feedback information can be provided more flexibly, the existing PDCP, RLC and MAC layers can provide the PDU corresponding to the feedback information, and only appropriate adjustment needs to be carried out on the existing protocol layer PDU, so that the method is convenient and fast. For the method of physical layer UCI or DCI bearing, the reliability of the feedback information can be better ensured.
Example four
The fourth embodiment provides a design of a sender control message. The sending end jointly determines the coding parameters of the next original data block, including the associated depth, the number of redundant packets, the corresponding coding coefficients and the like, through the feedback information and other information (such as channel conditions and the like) of the receiving end, so that the next original data block and part or all of the previous original data blocks are jointly coded. Because the factors influencing the coding decision of the sending end can not be limited to the feedback information of the receiving end, the parameters coded by the sending end can be consistent with or inconsistent with the parameters provided by the feedback information. Accordingly, 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 coding schemes may correspond to different feedback information formats and may correspond to different coded packet header information. And the transmitting end determines the coding scheme of the next original data packet according to the received feedback information and other system information, and adds a corresponding control message in the packet header of the coded data packet.
Fig. 18 is a diagram illustrating the header information field of the sending end. The header of a coded data packet at the transmitting end includes a data block ID field, a coefficient field (which may be a coded coefficient field or a coefficient indication information field), an associated depth (D) field, a packet number (N) field of a data block, and the like. The characterization manner of the associated depth field may partially use the associated depth representation form of the non-systematic coding scheme or the systematic coding scheme in the second embodiment. Specifically, the following are shown: the coefficient field may indicate the coefficient value or configure the coefficient value in a semi-static manner.
The associated depth field and the number of packets (N) field of the data block are described below.
1. For non-systematic coding schemes
1. The feedback formats 0_0 _0and 0_0 _1are the same as the case where the number of packets (N value) belonging to the next original data block is fixed. The packet number field of the data block is not needed because it is already semi-statically configured.
The implementation method of the associated depth field may be any one of the following:
1) Indicating the number of old packets participating in the next encoded data block, and combining the channel condition and the maximum window length of the encoding window and the decoding window to give a maximum value L
Figure PCTCN2020107973-APPB-000002
Bit representation, the associated depth of this case is counted sequentially forward from the current data block;
2) Indicating the bitmap of the old packet participating in the next encoded data block, wherein the bitmap needs to provide a fixed bit number (represented by L) by combining the size of the data block, the channel condition, the length of the encoding window and the feasibility of the scheme;
3) Indicating the Total number Pack _ Total of the original data packets currently participating in encoding
Figure PCTCN2020107973-APPB-000003
Bit representation, calculating the number of the related old packets by Pack _ Total-N;
4) Dividing the data into two subfields, and indicating any two of the index number of the first original data packet participating in encoding, the index number of the last original data packet or the total number from the first original data packet to the last original data packet;
5) And the sub-fields are divided into two sub-fields and indicate any two of the initial packet number of the coding window of the sending end participating in coding, the end packet number of the coding window of the sending end and the participating effective length of the coding window of the sending end.
2. The feedback formats 0_1 _0and 0_1, and the number of encoded packets C of the next encoded data block is constant.
When the decoding window state is not considered, the sum of the number N of the new packets and the number O of the old packets is a fixed value, that is, C = N + O, and the values of the association depths D and O are equal, if D or O is known, N may be derived according to the semi-static information C, optionally, information indicating the N field of the number N of the new packets may also be displayed, or information not carrying the N field of the number N of the new packets may also be carried. The sum of the number N of new packets and the number O of old packets which belong to the next encoding data block and participate in encoding is fixed (N + O is a fixed value), and the number (N) field and the associated depth (D) field of the original data block can be selected.
The associated depth field D in the header information of the sending end is equal to the number of data packets (the number O of old packets) contained in the previous data block, and may also imply the number N of new packets that the next data block participates in encoding, which may specifically be any of the following schemes:
1) Indicating the number of old packets participating in the next encoded data block, in the range of maximum L = N + O
Figure PCTCN2020107973-APPB-000004
Bit indicates that the associated depth for this case counts sequentially forward from the current data block;
2) Indicating the bitmap of the old packet participating in the next encoded data block, wherein the bitmap needs to provide a fixed bit number (represented by L) by combining the size of the data block, the channel condition, the length of the encoding window and the feasibility of the scheme;
3) Indicating the number N of new packets currently participating in encoding
Figure PCTCN2020107973-APPB-000005
Representing that the number O of the related old packets can be obtained by subtracting N from the total number N + O of the data packets;
4) The method comprises the steps that the data are divided into two subfields, and any two of the index number of a first original data packet participating in coding, the index number of a last original data packet or the total number from the first original data packet to the last original data packet are indicated;
5) And the sub-fields are divided into two sub-fields and indicate any two of the initial packet number of the coding window of the sending end participating in coding, the end packet number of the coding window of the sending end and the participating effective length of the coding window of the sending end.
Optionally, the number N field of new packets for the next data block to participate in encoding may specifically be any one of the following schemes:
1) Indicating the number N of new packets currently participating in encoding, the maximum value is L, and the new packets need to be used
Figure PCTCN2020107973-APPB-000006
A representation bit representation;
2) And a bitmap for indicating the number N of new packets currently participating in coding, wherein the bitmap needs to provide a fixed bit number (L is used for representing the maximum value) by combining the size of the data block, the channel condition, the length of a coding window and the feasibility of a scheme.
When considering the decoding window status (window length), it is necessary to indicate the associated depth field D and the number of new packets N field for the next data block to participate in encoding, respectively. According to the use case of the window length, the number of redundant packets R' = R + Δ R is defined. The number of redundant packets, where Δ R is related to a state variable Length _ Wind _ Decoder of the Decoder, is represented 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 number relationship satisfies C = N + O + Δ R.
The header information of the sending end needs to carry an associated depth field D (equal to the number O of data packets contained in the previous data block) and a new number N of packets of the next data block participating in encoding, where the associated depth field D may specifically be any of the following schemes:
1) Indicating the number of old packets participating in the next encoded data block, in a range with a maximum value of L = N + O
Figure PCTCN2020107973-APPB-000007
Bit indicates that the associated depth of this case counts sequentially forward from the current data block;
2) Indicating a bitmap of an old packet participating in a next encoded data block, wherein the bitmap needs to give a fixed bit number (L represents the maximum value) by combining the size of the data block, the channel condition, the length of an encoding window and the feasibility of a scheme;
3) Dividing the data into two subfields, and indicating any two of the index number of the first original data packet participating in encoding, the index number of the last original data packet or the total number from the first original data packet to the last original data packet;
4) And the sub-fields are divided into two sub-fields and indicate any two of the initial packet number of the coding window of the sending end participating in coding, the end packet number of the coding window of the sending end and the participating effective length of the coding window of the sending end.
The N field of the number of new packets for the next data block to participate in encoding may be any of the following schemes:
1) Indicating the number N of new packets currently participating in encoding, and if the maximum value is L, using
Figure PCTCN2020107973-APPB-000008
Representing a bit representation;
2) A bitmap for indicating the number N of new packets currently participating in encoding, wherein the bitmap needs to give a fixed bit number (L represents the maximum value) by combining the size of a data block, the channel condition, the length of an encoding window and the feasibility of a scheme;
3) Indicating the number of redundant packets Δ R currently involved in the encoding, associated with the decoding window, where the maximum value is defined as L, by
Figure PCTCN2020107973-APPB-000009
Bit representation;
4) And the length of the bitmap for indicating the number delta R of the redundant packets which are currently involved in the coding and are related to the decoding window is L bits.
2. Coding scheme for a system
1. The feedback formats 1_0 _0and 1_0 _1are the same as the case where the number of packets (N value) belonging to the next original data block is fixed. The packet number field of the data block is not needed because it is already semi-statically configured.
The implementation method of the associated depth field may be any one of the following:
1) The number of old packets participating in the next encoded data block is indicated, a maximum value L is given by combining the factors of the channel condition, the maximum window length of the encoding window and the like,by using
Figure PCTCN2020107973-APPB-000010
Bit representation.
2) Indicating a bitmap of an old packet participating in a next encoded data block, wherein the bitmap needs to give a fixed bit number (represented by L) by combining the size of the data block, the channel condition, the length of a coding window and the feasibility of a scheme;
3) Indicating the number of old blocks Block _ Num participated in the next coded data Block, combining the factors of channel condition and maximum window length of coding window, etc., giving a maximum value Block _ Max, and using
Figure PCTCN2020107973-APPB-000011
Bit representation, namely obtaining the number of old packets by multiplying the number of old blocks by the block length N;
4) Indicating the bitmap of the old block participating in the next coding data block, and converting the number of packets participating in coding;
5) Indicating the total number of the original data packets currently participating in encoding;
6) Indicating any two of an index number of a first original data packet participating in encoding, an index number of a last original data packet, or a total number of the first original data packet to the last original data packet;
7) And indicating any two of the starting packet number of the coding window of the sending end participating in the coding, the ending packet number of the coding window of the sending end and the effective length of the coding window of the sending end participating in the coding.
It can be understood that the above-mentioned association depth D is only valid for the encoded data packet, the system packet is the original data packet itself, the system of itself is 1, the coefficients of the other packets are 0, and the association depth D =0.
2. The feedback formats 1_1_0 and 1_1 _u1, and the number of encoded packets C of the next encoded data block is constant. It is necessary to indicate the associated depth field D and the number N of new packets for the next data block to participate in encoding, respectively, and there is no direct relationship between the two fields.
The associated depth field D in the header information of the sending end is not equal to the number of data packets (the number O of old packets) contained in the previous data block, and may specifically be any of the following schemes:
1) Indicating the number of old packets participating in the next encoded data block, and combining the channel condition and the maximum window length of the encoding window to give a maximum value L, which can be determined semi-statically by the length of the data block
Figure PCTCN2020107973-APPB-000012
Bit representation.
2) Indicating the bitmap of the old packet participating in the next encoded data block, wherein the bitmap needs to provide a fixed bit number (represented by L) by combining the size of the data block, the channel condition, the length of the encoding window and the feasibility of the scheme;
3) Indicating the number of old blocks Block _ Num participated in the next coded data Block, combining the factors of channel condition and maximum window length of coding window, etc., giving a maximum value Block _ Max, and using
Figure PCTCN2020107973-APPB-000013
Bit representation, namely obtaining the number of old packets by combining the number of old blocks with block length conversion;
4) Indicating the bitmap of the old block participating in the next coding data block, and converting the number of packets participating in coding; 5) Indicating the total number of the original data packets currently participating in encoding;
6) Indicating any two of an index number of a first original data packet participating in encoding, an index number of a last original data packet, or a total number of the first original data packet to the last original data packet;
7) And indicating any two of the starting packet number of the coding window of the sending end participating in the coding, the ending packet number of the coding window of the sending end and the effective length of the coding window of the sending end participating in the coding.
It can be understood that the above-mentioned association depth D is only valid for the encoded data packet, the system packet is the original data packet itself, the system of itself is 1, the coefficients of the other packets are O, and the association depth D = O.
The number N field of new packets for the next data block to participate in encoding may be any of the following schemes:
1) Indicating the number N of new packets currently participating in encoding
Figure PCTCN2020107973-APPB-000014
Represents;
2) A bitmap for indicating the number N of new packets currently participating in coding, wherein the bitmap needs to provide a fixed bit number (represented by C) by combining the size of a data block, the channel condition, the length of a coding window and the feasibility of a scheme;
3) Indicating the number of redundant packets associated with the decoding window, Δ R, currently participating in the encoding when considering the decoding window status
Figure PCTCN2020107973-APPB-000015
4) When the state of a decoding window is considered, indicating the bitmap of the quantity delta R of the redundant packets which currently participate in coding and are related to the decoding window, wherein the length of the bitmap is C bits;
the coefficient field is described below.
The indication information of the coding coefficient can be carried in the header of the coding data packet, and the original data packet information of the coding data packet and the coefficient corresponding to the original data packet information can be indicated by combining the correlation depth and the number of the redundant packets determined by the feedback information. Besides the mode of carrying the coding coefficient in the packet header, a semi-static codebook can be configured and the coding coefficient can be indicated in the semi-static codebook through codebook indication information.
The codebook may be a local codebook or a global codebook.
The local codebook has the advantages that the range of the GF domain is small, the number of packets participating in encoding (i.e., the dimension of a coefficient vector) is usually much smaller than the maximum encoding window range, the encoding and decoding computation complexity is low, but the position and the number of original data packets to be encoded need to be positioned by means of reference information such as associated depth, and a decoder at a receiving end needs to equivalently form a global decoding coefficient matrix according to the information for decoding.
The global codebook defines a global coefficient matrix with the dimension of a coding coefficient vector equal to the maximum coding window length value of a sending end, and the number of coefficient vectors (the number of coding data packets) in the matrix is a value larger than the maximum receiving end decoding window length value, so that all coding data packets in a decoding window can be ensured to be linearly independent by circularly using the coding coefficient in the codebook, the decoding effectiveness is ensured, but the defect that the GF domain needs to be considered to be larger in size, and the calculation complexity in the coding and decoding process is higher. The local codebook and the global codebook are explained below separately.
1. For local codebook
Fig. 19 is a schematic diagram of a local codebook. The local codebook is a matrix of k rows and n columns (k × n), the codebook includes n coefficient vectors (n columns, which can be used to generate n encoded data packets at most), the maximum dimension of each coefficient vector is k (i.e., which can be used to encode k original data packets at most), and two of the n coefficient vectors are linearly independent from each other, and the codebook coefficients corresponding to the characteristics satisfying the two-two linear independence include, but are not limited to, a vandermonde matrix or a cauchy matrix. Here, the k and n values of the local codebook are smaller or much smaller than the size of the coding window. Alternatively, a general local codebook may be defined or configured, and an encoding process of the encoder at the transmitting end may select a sub-matrix as an encoding coefficient matrix (also referred to as an encoding kernel matrix) of an original data block, that is, encoding of each encoded data block may be gradually completed according to the sub-matrix.
The specific operations of different coding schemes are different, and the use of codebooks is also different.
1. For non-systematic codes, taking the case that the number of data packets coded each time is the same (i.e. 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, since the association depth and the number of coded data packets are already determined, one submatrix is selected from the local codebook as a coding coefficient. For example, when N + O =4, the number of coded packets is 6 (the number of redundant packets R = 2), and (a) may be selected i,j ~a i+3,j ) As a coefficient vector, i ≧ 1 and i +3 ≦ k are satisfied, and under the condition that the value of i is unchanged, 6 different coefficient vectors are randomly selected from the local codebook, where the 6 vectors may be 6 continuous column vectors on the local codebook, or may also be 6 discontinuous column vectors on the local codebook, and the 6 vectors constitute a sub-matrix of the codebook. Fig. 20 shows a schematic diagram of local codebook selection. Sub-matrix 1, sub-matrix 2, or sub-matrix 3 may be selected. Here, a smaller codebook can be selected to ensure that the coding requirement can be met. In addition, if the parameter N + O =4 and the number of encoded data packets is at most 6 (the number R of redundant packets is at most 2), a minimum local codebook may be given, for example, a sub-matrix 1, and encoding is performed by using an existing codebook each time by adjusting the association depth D (the number of data packets of the current original data block and data packets of the previous data block), as shown in fig. 21, a schematic diagram of matrices is generated for the local codebook, where a first generation matrix uses a 4 × 4 codebook, a second generation matrix uses a 4 × 5 codebook, and D =1, a third generation matrix uses a 4 × 6 codebook, and D =2; and the subsequent coding generates a matrix in the same way, so long as the inside of the codebook meets the condition that every two coding vectors are linearly independent.
2. For the system code scheme, the default coefficient of the system packet is 1, the other coefficients are 0, a local codebook is not needed, and the local codebook can be used for the redundant coded data packets according to the content according to the number of the required coded data packets.
2. For global codebooks
The global codebook needs to consider the length restrictions of the encoder at the transmitting end and the decoder at the receiving end, and in general, in order to ensure the decoding capability at the receiving end, the length of the coding window at the transmitting end needs to satisfy the following conditions: the Length L of the coding window of the sending end is less than or equal to the Length _ Wind _ Decoder of the decoding window of the receiving end. Accordingly, the coding window length determines the size of the codebook and the size of the corresponding GF field. Fig. 22 is a schematic diagram of a global codebook. The global codebook is a matrix of K rows and N columns (i.e., K x N) and contains N coefficient vectors (N columns, which can be used to generate up to N encoded packets), each having the largest dimensionThe degree is K (i.e., it can be used to encode K original data packets at most), and each two of the N coefficient vectors are linearly independent, and the codebook coefficients corresponding to the characteristics satisfying the linear independence of each two include, but are not limited to, vandermonde matrix or cauchy matrix. K in the global codebook is larger than or equal to the maximum window Length L of the encoder at the transmitting end, and the N value is larger than or equal to the maximum window Length _ Wind _ Decoder of the Decoder at the receiving end. Accordingly, the GF domain value may be selected accordingly based on max { K, N }, i.e., for GF (2) q ) In (2) q Not less than max { K, N }. In the global codebook, a coded data packet carries header information, the header information carries indication information of the codebook, and the indication information of the line codebook includes any two information of coefficients in a starting position Para _ start, an ending position Para _ end and the number of coefficients Para _ length of the codebook. When the number of coefficients Para _ length is configured semi-statically, only the start position Para _ start or the end position Para _ end of the codebook is needed. In summary, the sender-side encoder encodes the original data, and sequentially selects the encoding coefficients from the global codebook in a cyclic manner. For example, the first encoded packet in the initial stage corresponds to the first set of encoding coefficients of the global codebook, and then the encoding coefficients of the encoded packet are sequentially selected from the global codebook in a cyclic manner.
The specific operations of different coding schemes are different, and the use of codebooks is also different.
1. For non-systematic code schemes
As shown in fig. 23, a diagram of global codebook selection is shown. In a complete global codebook, if the number of new packets is the same for each data block, the number of old packets varies with the correlation depth. And (3) first-time encoding: and (3) encoding the 3 new packets to generate 3 encoded data packets, and selecting a coefficient submatrix 1 from the global codebook. And (3) second-time encoding: encoding 3 new packets and 1 old packet generates 4 encoded data packets, and considering that the association depth is 1, a coefficient submatrix 2 is selected from the global codebook. And (3) third-time coding: and (3) encoding the 3 new packets and the 2 old packets to generate 5 encoded data packets, selecting a coefficient submatrix 3 from the global codebook, and so on. If the total number of packets of each encoded data block is the same, that is, the total number of the new packet and the old packet is the same, taking the example that each encoded data block contains 3 packets in total, 3 encoded data packets are generated by encoding. And (3) first-time coding: and (3) coding the 3 new packets to generate 3 coded data packets, and selecting a coefficient submatrix 1 from the global codebook. And (3) second-time encoding: and (3) encoding 2 new packets and 1 old packet to generate 3 encoded data packets, and selecting a coefficient submatrix 2 from the global codebook for third encoding: encoding 1 new packet and 2 old packets generates 3 encoded data packets.
If the receiving end successfully decodes the current and previous coded data blocks, window-out operation (such as emptying the decoding window) is carried out on the coded data blocks in the decoding window, and the decoding condition is fed back to the transmitting end. Then, the transmitting end determines the successfully decoded coded data block, and 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 coding window is full, the coding data block in the window is not successfully decoded, and before the next coding data block enters the window, if the size of the coding window is fixed, an old coding data block can be windowed.
2. Code scheme for system
The system defaults that the coefficient of the system is 1, the other coefficients are 0, a global codebook is not needed, and the global codebook can be used for the coding data packets according to the number of the required coding data packets and the content.
The four beneficial effects of the above example are as follows: the control message of the sending end is completely designed. The header of each encoded data packet carries a control message, which can indicate the encoding decision determined by the sending end according to the feedback information of the receiving end and other system information, and the encoding decision is embodied as an encoding parameter. Due to the influence of other system information, the encoding parameters of the packet header and the encoding parameters corresponding to the feedback information of the receiving end are not always consistent. Therefore, the receiving end can acquire specific coding parameters including the correlation depth D, the number R of redundant packets, the number N of new packets, a corresponding coding coefficient matrix and the like by identifying the header control message of the coding data packet, so that the coding parameters and the corresponding coding data can be accurately identified at the receiving end, and accurate decoding can be realized. And the coding coefficient matrix is provided with a scheme of semi-static local and global codebooks and corresponding indication information design, so that the cost caused by carrying of random coefficients of packet headers is reduced, the complexity of GF domain operation is ensured to be reduced, and the linear independence of the coding data packets in one coding data block and the coding data packets in the coding data block is ensured.
EXAMPLE five
In the fifth embodiment, by combining the erasure (which may also be understood as packet loss) during the transmission of the encoded data packet, the decoding at the receiving end, and the feedback information at the receiving end, an encoding scheme is provided, which includes design schemes under systematic codes and non-systematic codes, and different designs are made according to different parameter configurations.
Fig. 24 is a schematic diagram of a sender flow of a feedback-based coding scheme.
In step 2401, the transmitting end determines the type of the coding scheme and the initial coding parameters in the initialization stage.
The coding scheme includes a systematic code scheme and a non-systematic code scheme.
The initial coding parameters include the associated depth D, the number R of redundant coding packets, the number N of new original data packets in the original data block, and the coding coefficients (which may be randomly generated or selected from a codebook).
And step 2402, the sending end carries out coding according to the coding parameters, generates a coding data packet and sends the coding data packet.
After defining the large class of coding schemes, it is necessary to define which parameters in the schemes are semi-statically configured. Parameters that can be configured semi-statically are considered here: the total number of original data packets to be coded (including the sum of the number of original data packets of a new original data block and the number of original data packets of a plurality of old original data blocks), the association depth D, the number N of original data packets (i.e., new packets) of the new original data block, and the number R of redundant coded data packets. The method comprises the steps that a sending end firstly encodes original data according to scheme types, semi-static parameter configuration and initial parameter configuration in an initialization state, generates an encoded data packet (including adding header information), and sends the encoded data packet.
Step 2403, the sending end receives the feedback information and other system information.
The feedback information here may refer to the description of the foregoing embodiments.
Other system information herein includes, but is not limited to: channel state information, other indications or system information that affects coding parameters, etc.
Step 2404, the sending end determines whether the feedback information includes successful decoding information.
If yes, go to step 2405, otherwise, go to step 2406.
In step 2405, the transmitting end removes the decoded original data from the encoder.
And the sending end receives the feedback information of the receiving end, whether decoding is successful or not needs to be determined according to the feedback information, if the decoding is successful, the coder of the sending end clears the original data packet, and otherwise, operation is not carried out. Because the convolutional network encoder is limited in size, if the convolutional network encoder is full, one unit of old data is flushed out of the convolutional network encoder, and one unit of new data is fed into the convolutional network encoder.
Step 2406, the sending end determines the coding parameters of the next coding according to the feedback information and other system information.
And the transmitting end determines the coding parameters of the next coding according to the scheme type and the semi-static parameter configuration and in combination with the feedback information and other system information. Optionally, the coding parameter may be the same as the coding parameter indicated by the feedback information, or the coding parameter may be updated according to other system information on the basis of the feedback information. And the determined encoding parameters of the next encoding need to be carried in the packet header of the encoding data packet generated by the next encoding, so that the convolutional network decoder at the receiving end can correctly identify the related parameter information, and further, the decoding is accurate.
The following schemes are given in combination with the type of coding scheme and the configuration of semi-static parameters:
in fig. 25 to 30, G 0 、G 1 、G 2 、G 3 、G 4 Are encoded coefficients. G 0 The dots in (1) represent the coding coefficients of the new packet, G 1 、G 2 、G 3 、G 4 The dots in the graph represent the coding coefficients of the old packet, the black dots represent the coefficients of the non-redundant coding data packet, the white dots represent the coefficients of the redundant coding data packet, the positions of the blanks represent the coefficients to be 0 uniformly, and the values represented by the dots can also be 0.
1. Based on the feedback non-systematic code scheme, the total number of data packets of each coded data block is a fixed value, and when the influence of a decoding window and a corresponding algorithm are not considered, the total number of original data packets equivalent to be coded is a fixed value (N + O semi-static configuration).
Fig. 25 is a schematic diagram of an adaptive non-systematic code scheme based on feedback. The number of data packets of the encoded data block is a fixed value of 4, which is equivalent to the total number (N + O) of original data packets to be encoded at the transmitting end, and the specific N + O =4. Left side B in the figure i Representing original data blocks of a transmitting end, each original data block containing a plurality of original data packets, using a i Representing the original data packet. The upper part of the figure indicates the coded data block, denoted by B' i It shows that each coded data block contains several coded data packets, and the number of coded data packets of each coded data block is the same and is 4, that is, each equivalent coding coefficient matrix is always a 4 × 4 matrix. Below is the coding coefficient, G 0 The dots in (1) represent the coding coefficients of the new packet, G 1 The dots in (1) represent the coding coefficients of the old packet, G 0 And G 1 The white circles in (a) represent the coefficients of the redundantly encoded data packet. Coded packet representation c i The redundant packet is denoted as p i . The coding coefficient may be a random coefficient or a semi-static coefficient codebook, and if a local codebook is selected, a 4 × 4 linearly independent codebook may be selected. If the global codebook is selected, a codebook of Q × Q is considered, Q is greater than or equal to max (K, N), where K and N are related to the length of the transmitter convolutional network encoder and the length of the receiver convolutional network decoder, as described in detail in the fourth embodiment. Initial time, to original numberAccording to block B 1 A of 1 ~a 4 Encoding to generate B 1 ' c of 1 ~c 4 And c is a 2 If the parameter is erased (corresponding to the coefficient column marked with "x"), the receiving end cannot successfully decode the parameter, and then generates feedback information, where the parameter related to the feedback information may be represented as the information in the foregoing second embodiment, such as the rank value, and then sends the feedback information to the sending end. And the transmitting end determines that the associated depth D =1 data packets according to the parameters of the feedback information, the number N =3 of the packets of the next original data block, and the number R =1 of redundant packets. The generator matrix is composed of an encoding core matrix G 0 And G 1 In which G is 0 Is a 3 x 4 matrix, G 1 Is a matrix of 1-4, and can correspond to B 1 Any of the original data packets. In addition, if the influence of the state of the decoder (window length) on the feedback information or the coding is taken into consideration, one redundancy packet R' = R + Δ R is defined according to the use of the window length. Wherein, a function of Δ R related to a state variable Length _ Wind _ Decoder of the Decoder is denoted as Δ R = f (Length _ Wind _ Decoder), where the function f represents a mapping relationship between a usage condition of a window Length of the Decoder and the number of extra redundant packets. The corresponding algorithm can be considered at a sending end and can also be considered at a receiving end, the sending end needs to feed back the parameters of the information carrying window length using condition, on the basis, the related algorithm is executed to additionally increase redundancy, the receiving end directly executes the related algorithm and converts the result 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 independently. In the figure, the state feedback of the decoder is not considered. Data Block B' 2 Coded data packet c 5 、c 7 Erased and associated with depth D =2 packets according to the feedback information, and accordingly, the original data block B 3 Comprises a 8 And a 9 And B is 2 A in 6 And a 7 And (4) joint coding. And so on, when the sending end carries out the processing on the original data block B 5 The receiving end receives the corresponding coded data block B' 5 C in (1) 13 ~c 15 And redundant packet p 5 If the decoding is successful, the original data block B 1 ~B 5 All the original data packets in the data packet are decoded successfully. The receiving end transmits the coded data block to the end B' 1 ~B′ 5 Moving out the decoder window, and the sending end sends the original data block B according to the receiving end feedback information 1 ~B 5 Out of the encoder window.
2. Based on the non-systematic code scheme of feedback, the number N of the packets of the current original data block is a fixed value (the number N of the new packets is configured semi-statically).
Fig. 26 is a schematic diagram of an adaptive non-systematic code scheme based on feedback. The number of the new packets of the original data block at the sending end is the same, namely N is a fixed value. The scheme 2 is wholly consistent with the scheme 1, and the difference is that the number N of new packets of the original data block at the sending end is configured to be 3 in a semi-static manner, and the value of N + O is changed correspondingly according to the change of the association depth. Depending on the erasure of the coded data packets, the number of redundant packets R may also be adjusted accordingly, e.g. for the original data block B 3 Original data packet and original data block B 2 Original data packet a of 6 Joint coding generates coded data block B' 3 Wherein the data packet c is encoded 8 And c 9 Is erased. According to the feedback information, the transmitting end knows rank =2, so that the correlation depth D =2 data packets, R =2 data packets, of the next original data block, 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 the coding is taken into consideration, one redundancy packet R' = R + Δ R is defined according to the use of the window length. Wherein, a function of Δ R related to a state variable Length _ Wind _ Decoder of the Decoder is denoted as Δ R = f (Length _ Wind _ Decoder), where the function f represents a mapping relationship between a usage condition of a window Length of the Decoder and the number of extra redundant packets. The corresponding algorithm can be considered at the sending end and the receiving end, the sending end needs to feed back the parameters of the service condition of the information carrying window length, and the related algorithm is executed on the basisAnd the receiving end directly executes a relevant algorithm and converts the result into other parameters, such as the number of redundant data packets, and feedback information does not need to carry a decoder window length parameter independently. The effect of the state of the decoding window device is considered, and the simplified algorithm is to add a redundant packet at the end of the window, namely B 4B 5 4 original data packets a 12 ~a 15 Encoding to generate 5 encoded packets in the redundant packet p 5 Based on the decoding window correlation algorithm f, additionally generating a redundant packet p 6 Even when a packet is lost in the last encoded data block, correct decoding can be guaranteed.
3. Based on the feedback non-system code scheme, the number N of original data packets of the current original data block is a fixed value, and the number R of coding redundancy packets is a fixed value (N value and R value are configured semi-statically).
Fig. 27 is a schematic diagram of a feedback-based mean redundancy non-systematic code scheme. Wherein the value of the number N of new packets per 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 firstly compares the data block B 1 Data packet a in (1) 1 ~a 3 Encoding generates encoded data block B' 1 Comprises four coded data packets c 1 ~c 3 And redundant coded data packet p 1 The coding coefficient can be randomly generated in the GF field and carried in the coding data packet header, or the semi-static local or global codebook can be selected and the coding data packet header carries the coefficient indication information. In the transmission process of the sending end, the data packet c is coded 2 And c 3 Erased (the corresponding coefficient column is marked with "x"). After receiving the encoded data packet, the receiving end performs related operations such as decoding and the like, and generates feedback information, where parameters related to the feedback information may be represented as rank values, or information described in the foregoing embodiment, and sends the feedback information to the sending end. And the sending end determines the correlation depth according to the parameters of the feedback information. The number of the redundant packets is configured in a semi-static way, and adjustment is not needed. Because of the number of codesAccording to block B' 1 Rank of 2, not full rank, decoding fails, so the correlation depth equals 1 (i.e. the original packet number-rank value). Accordingly, for the original data block B 2 All data packets and original data blocks B of 1 A data packet (e.g. a) 3 ) Joint coding, the generator matrix being a coding kernel matrix G 0 And G 1 In which G is 0 Is a 3 x 4 matrix, G 1 Is a 1 x 4 matrix. Data Block B' 2 In (c) 5 Erased, receive end pair encoded data block B' 2 And B' 1 And joint decoding, wherein the decoding fails and feedback information is generated to the sending end. The sending end determines that the associated depth is 1 data packet according to the feedback, and so on until the coded data block B 'is received' 5 And through B' 1 ~B′ 5 Joint decoding, successful decoding, clear decoding window at receiving end (B' 1 ~B′ 5 Windowing) and feeding back the decoding information. Original data block B of sending end 1 ~B 5 And (4) windowing (clearing of a code window at a sending end). The subsequent operations are analogized. Otherwise, if the decoding fails, the data is fed back to the sending end, namely the encoder B of the sending end 1 Out of the window, B 6 Windowing, coding and sending, and receiving end decoder B' 1 B 'is received through the window' 6 And performing windowing, performing decoding operation, and the like. Furthermore, the number of redundant packets R in the current coded data block is configured semi-statically by the system information, i.e. the average redundancy, regardless of the decoder state. When the state of the Decoder is considered, the number of redundant packets R' = R + Δ R is defined according to the window Length usage, wherein a function of Δ R related to a state variable Length _ Wind _ Decoder of the Decoder is represented as Δ R = f (Length _ Wind _ Decoder), and the function f represents a mapping relation between the window Length usage of the Decoder and the number of additional redundant packets. The corresponding algorithm can be considered at the sending end and the receiving end, the sending end needs to feed back the parameters of the information carrying window length using condition, on the basis, the related algorithm is executed, the redundancy is additionally increased, and the receiving end directly executes the related algorithm and performs the related algorithmThe result is converted into other parameters, such as the number of redundant data packets, and the feedback information does not need to carry a decoder window length parameter independently.
4. Based on a feedback system code scheme, the number N of new packets of the current original data block is a fixed value (the number N of the new packets is configured semi-statically), and the correlation depth is self-adapted.
Fig. 28 is a schematic diagram of a feedback-based systematic code scheme. Wherein, the number N of new packets of the current original data block is a fixed value (semi-static configuration). Unlike non-systematic code schemes based on feedback, the systematic code scheme requires separate feedback of the systematic code and the redundant coded data packets. And performing different self-adaptive adjustment on the association depth corresponding to the erasure of the system packet and the coded data packet, wherein the association depth D is not based on the number of the data packets but based on the data block. Only when the system packet is erased, is it associated with the previous original data block, i.e. D =1. When the coded packet is erased, the associated depth D at the next coding is equal to the associated depth +1 at the previous coding. In a specific scheme, the receiving end generates feedback information according to the system code scheme in the second embodiment, and respectively indicates the condition of the system packet and the condition of the encoded data packet, for example, the encoded data block B 'in the figure' 2 Middle system bag a 4 And redundant coded data packet p 1 The method comprises the steps that 1 feedback information prompt system and 1 coded data packet generated by a receiving end are erased respectively, a sending end correspondingly generates two redundant coded data packets R =2, since the coded data packets are erased, in order to guarantee decoding characteristics, the association depth D =2 is designed, for two coded data blocks, a matrix is generated from G 0 、G 1 And G 2 The corresponding coding coefficients may be randomly generated or selected from a semi-static codebook, which is not described herein again. Optionally, here, the association depth D =2 of one redundant packet may be set, and the association depth D =1 of another redundant packet may be set, that is, the association depths D corresponding to the system packet with errors and the number of redundant coded packets are set, respectively. For coded data block B' 3 System only, system a 9 Is erased, so that the next original data block B 4 The associated depth D =1 when encoding, i.e. the associated depth is 1 original data block, and the coefficient matrix is composed of G 0 And G 1 The number of redundant packets R =1. Furthermore, when the decoding window of the receiving end is full, the windowing operation on the earliest encoded data block in the decoding window is required before the new encoded data block enters the decoding window, optionally, because of encoded data block B' 1 Comprising a 1 ~a 3 Data is still contained in B' 2 And B' 3 But not included in B' 4 Middle, therefore, pair B' 1 And B' 2 Executing out Window, B' 3 Only considering the system packet part, combining the subsequent coded data block and the coded data block newly entering the window together to execute the decoding operation, once the decoding is successful, the related coded data block can be directly executed the window-exiting operation at the decoder of the receiving end, which is a judgment algorithm for fast window-exiting. Alternatively, only one coded data block B' 1 Go out of window due to B' 1 Is correct, is considered to be known information, B' 2 And B' 3 The coded data packet in (1) can be simplified and can be regarded as B' 1 A contained in (1) 2 And B' 2 A contained in (1) 4 Is visible but cannot be decoded, the coded data block passing through the subsequent new window is decoded successfully if the decoding is successful, i.e. despite B' 1 Go out of window but original data packet a therein 2 Is also successfully decoded; if the new coded data block is successfully decoded, all the coded data blocks in the decoding window are subjected to window-out operation, and the new coded data block enters the window. It should be noted that, the encoded data of the decoder at the receiving end is windowed, and the sending end synchronously performs the windowing operation on the old original data according to the feedback information of the receiving end. In other words, for the encoded data block windowed by the receiving end, the related original data block at the transmitting end will also perform the related windowing operation, i.e. the encoding process will not include the phase windowingThe original data block is encoded.
Accordingly, the second alternative increases the probability of successful decoding compared to the first alternative, but the decoding delay of the corresponding encoded data block increases. Both alternatives can be considered, and the sending end combines the decoder state information in the receiving end feedback information to carry out coding. If the influence of the state of the decoder (window length) on the feedback information or the coding is taken into consideration, the number of redundant packets R' = R + Δ R is defined according to the use of the window length. Wherein, a function of Δ R related to a state variable Length _ Wind _ Decoder of the Decoder is denoted as Δ R = f (Length _ Wind _ Decoder), where the function f represents a mapping relationship between a usage condition of a window Length of the Decoder and the number of extra redundant packets. The corresponding algorithm can be considered at a sending end and can also be considered at a receiving end, the sending end needs to feed back the parameters of the information carrying window length using condition, on the basis, the related algorithm is executed to additionally increase redundancy, the receiving end directly executes the related algorithm and converts the result 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 independently. Therefore, by combining the state of the decoding window, redundant coded data packets are additionally added at the tail part of the window, the current decoding capability can be improved, and the time delay expense of successfully decoding the coded data is reduced.
5. Based on a feedback system code scheme, the number N of original data packets of a current data block is a fixed value (the number N of new packets is in semi-static configuration), and the association depth is fixed to be a maximum value.
Similar to scheme 4, this scheme 5 is also a feedback-based systematic code scheme, except that each encoded data block has the maximum available associated depth in the current encoding window, and since the associated depth is configured in a semi-static manner, it is not necessary to separately feed back the systematic and encoded data packets (i.e., feed back the total data packets). Fig. 29 is a schematic diagram of a feedback-based systematic code scheme. B 'before the decoding of the receiving end is successful and not exceeding the length of a decoding window' 2 Associated depth D =2 data blocks, B' 3 Associated depth D =3 data blocks, B' 4 Associated depth D =4 data blocks, B' 5 Associated depth D =5 data blocks, when the decoding is successful. In addition, when the decoding window is full, one data block goes out of the window and the other data block goes into the window each time, and the associated depth of the data block entering the window reaches the length of the maximum decoding window. For the lower graph, let B' 5 Because the coded data packet is erased and not decoded successfully and reaches the maximum window length, the coded data block B 'needs to be decoded first when the next coded data block arrives' 1 A decoding window operation is performed. And the receiving end sends feedback information to the sending end, and the sending end sends the original data block B in the same way 1 Executing the encoding window operation, or when the length of the encoding window at the transmitting end is longer than that of the decoding window at the receiving end (the encoding window at the transmitting end is not full, the windowing operation is not executed), the original data block B also needs to be encoded 1 And (4) excluding. On the receiving side, data block B 'is encoded' 1 Coding data block B 'by decoding window' 6 Enter the decoding window to encode data block B' 6 Is still at a maximum, i.e. D =5, i.e. B' 6 Encoded data packet in (1) is composed of original data block B 2 ~B 6 The original data packet is generated by encoding. In addition, when the state of the decoder is not considered, the quantity R of redundant packets in the current encoding data block is equal to the quantity of packet loss of the previous encoding data block; if the influence of the state of the decoder (window length) on the feedback information or the coding is taken into consideration, the number of redundant packets R' = R + Δ R is defined according to the use of the window length. Wherein, a function of Δ R related to a state variable Length _ Wind _ Decoder of the Decoder is denoted as Δ R = f (Length _ Wind _ Decoder), where the function f represents a mapping relationship between a usage condition of a window Length of the Decoder and the number of extra redundant packets. The corresponding algorithm can be considered at the sending end, and can also be considered at the receiving end, the sending end needs to feed back the parameters of the information carrying window length using condition, on the basis, the related algorithm is executed to additionally increase redundancy, the receiving end directly executes the related algorithm and converts the result 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 independently.
6. Feedback-based systematic code scheme (number of packets per coded data block is constant).
As shown in fig. 30, it is a schematic diagram of a system code scheme based on feedback. The scheme is similar to scheme 4, except that the number of data packets of each original data block is changed, the number of data packets of each encoded data block is a fixed value, and when the influence of the decoding window state on the redundant data packet is not considered, the sum of the number of encoded data packets equivalent to errors in the previous encoded data block and the number of system packets in the current encoded data block is a fixed value. According to the feedback information, under the condition of not considering the state of a decoding window, the number R of redundant coded data packets is equal to the number of packet loss of the last coded data block; if the influence of the state of the decoder (window length) on the feedback information or the coding is taken into consideration, the number of redundant packets R' = R + Δ R is defined according to the use of the window length. Wherein, a function of Δ R related to a state variable Length _ Wind _ Decoder of the Decoder is denoted as Δ R = f (Length _ Wind _ Decoder), where the function f represents a mapping relationship between a usage condition of a window Length of the Decoder and the number of extra redundant packets. The corresponding algorithm can be considered at a sending end and can also be considered at a receiving end, the sending end needs to feed back the parameters of the information carrying window length using condition, on the basis, the related algorithm is executed to additionally increase redundancy, the receiving end directly executes the related algorithm and converts the result 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 independently.
The five beneficial effects of the embodiment are as follows: schemes based on non-system codes and system codes are designed, and specific scheme flows under different parameter configurations are given. The complete process is based on the first to the fourth embodiments. The fifth embodiment of the invention designs a scheme based on non-system codes and provides a specific scheme flow under different parameter configurations. The complete process is based on the first to the fourth embodiments. The 6 coding schemes of the feedback-based adaptive network coding are given from two major classes of the systematic codes and the non-systematic codes, so that the decoding performance of a receiving end is improved on the whole, the original data packet has higher possibility of being decoded correctly, the redundant overhead is reduced, and the performances such as throughput and the like are improved. Systematic codes have shorter time delay but the coded correlation depth is in units of data blocks compared to non-systematic codes, i.e., the correlation depth is longer and the corresponding storage overhead is larger. Conversely, the non-systematic code has small correlation depth and low storage overhead, but the coding coefficient matrix is not as sparse as the systematic code scheme, so the coding and decoding are more complex and the calculation overhead is high.
Fig. 31 is a schematic diagram of a communication device according to an embodiment of the present application. The communication apparatus 3100 is configured to implement the steps corresponding to the second communication device or the transmitting end in the above embodiments, and as shown in fig. 31, the communication apparatus 3100 includes a transceiver unit 3110 and a processing unit 3120.
A transceiving unit 3110 configured to transmit first encoded data to a first communication device; receiving indication information from the first communication device; transmitting second encoded data to the first communication device. The processing unit 3120 is configured to encode first original data to obtain the first encoded data; acquiring second original data and coding rate information according to the indication information, wherein the second original data comprises part or all of the first original data; and performing joint coding on third original data and the second original data according to the coding rate information to obtain second coded data, wherein the third original data does not comprise the first original data.
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 is configured to obtain the second original data according to the indication information, and specifically includes: and the second original data is obtained according to the number of the first original data packets.
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 unit 3120 is configured to obtain the second original data according to the indication information, and specifically includes: and the second original data is obtained according to the number of the first original data blocks.
In a possible implementation method, the indication information indicates a rank corresponding to the first encoded data; the second original data comprises one or more first original data packets in the first original data; the processing unit 3120 is configured to obtain the second original data according to the indication information, and specifically includes: the first original data packet number is determined according to the rank corresponding to the first encoding data; and the second original data is obtained according to the number of the first original data packets.
In one 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 unit 3120 is configured to obtain the second original data according to the indication information, and specifically includes: the method comprises the steps of determining the number of first original data blocks according to the corresponding rank of the first coded data; and the second original data is obtained according to the number of the first original data blocks.
In a possible implementation method, the indication information indicates a system data packet reception condition and a redundant data packet reception condition corresponding to the first encoded data; the second original data comprises one or more first original data packets in the first original data; the processing unit 3120 is configured to obtain the second original data according to the indication information, and specifically includes: the first primary data packet receiving module is used for receiving a first primary data packet and a second primary data packet corresponding to the first coded data; and the second original data is obtained according to the number of the first original data packets.
In a possible implementation method, the indication information indicates a system data packet reception condition and a redundant data packet reception condition corresponding to the first encoded data; the second original data comprises one or more first original data blocks in the first original data; the processing unit 3120 is configured to obtain the second original data according to the indication information, and specifically includes: the first original data block number is determined according to the receiving condition of the system data packet and the receiving condition of the redundant data packet corresponding to the first coded data; the method is used for acquiring the second original data according to the number of the first original data blocks.
In one possible implementation, 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 3120 is configured to obtain the second original data according to the indication information, and specifically includes: for determining the number of the first original data packets according to the first association depth; and the second original data is obtained according to the number of the first original data packets.
In one possible implementation, the indication information indicates a first associated depth of encoding; the second original data comprises one or more first original data blocks in the first original data; the processing unit 3120 is configured to obtain the second original data according to the indication information, and specifically includes: for determining a number of the first original data blocks according to the first associated depth; the method is used for acquiring the second original data according to the number of the first original data blocks.
In a possible implementation method, the coding rate information indicates the number of redundant data packets corresponding to the second coded data, the number of coded data packets corresponding to the second coded data, or a coding rate corresponding to the second coded data.
In a possible implementation method, the indication information indicates a rank corresponding to the first encoded data; the processing unit 3120 is configured to obtain coding rate information according to the indication information, and specifically includes: the redundancy data packet number corresponding to the second coding data is determined according to the rank corresponding to the first coding data; and determining the coding rate according to the number of the redundant data packets corresponding to the second coded data.
In a possible implementation method, the processing unit 3120 is configured to obtain, according to the indication information, code rate information, and specifically includes: the redundancy data packet number corresponding to the second coding data is determined according to the rank corresponding to the first coding data; and determining the coding rate according to the number of the redundant data packets corresponding to the second coded data.
In a possible implementation method, the indication information indicates a system data packet reception condition and a redundant data packet reception condition corresponding to the first encoded data; the processing unit 3120 is configured to obtain coding rate information according to the indication information, and specifically includes: the redundant data packet number determining unit is used for determining the redundant data packet number corresponding to the second coded data according to the system data packet receiving condition and the redundant data packet receiving condition corresponding to the first coded data; and the code rate determining unit is used for determining the code rate according to the number of the redundant data packets corresponding to the second coded data.
In a possible implementation method, the processing unit 3120 is configured to obtain, according to the indication information, code rate information, and specifically includes: the redundant data packet number determining unit is used for determining the redundant data packet number corresponding to the second coded data according to the system data packet receiving condition and the redundant data packet receiving condition corresponding to the first coded data; and determining the coding rate according to the number of the redundant data packets corresponding to the second coded data.
In one possible implementation, 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
A decoding window available window length or a decoding window used window length.
In one possible implementation, the second encoded data includes header information indicating a second associated depth.
In one possible implementation, the header information further indicates one or more of:
the number of original data packets corresponding to the third original data;
the identification of the original data block corresponding to the second coded data; or
And the second coded data corresponds to a coding coefficient.
Optionally, the communication device may further include a storage unit, which is used for storing data or instructions (also referred to as codes or programs), and the units may interact with 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 to cause the communication device to implement the methods in the embodiments described above.
It should be understood that the division of the units in the above communication device is only a division of logical functions, and the actual implementation may be wholly or partially integrated into one physical entity, or may be physically separated. And the units in the communication device can be realized in the form of software called by the processing element; or may be implemented entirely in hardware; part of the units can also be realized in the form of software called by a processing element, and part of the units can be realized in the form of hardware. For example, each unit may be a processing element separately set up, or may be integrated into a chip of the communication apparatus, or may be stored in a memory in the form of a program, and a processing element of the communication apparatus calls and executes the function of the unit. In addition, all or part of the units can be integrated together or can be independently realized. The processing element described herein may in turn be a processor, which may be an integrated circuit having signal processing capabilities. In the implementation process, the steps of the method or the units above may be implemented by integrated logic circuits of hardware in a processor element or in a form called by software through the processor element.
In one example, the units in any of the above communication devices may be one or more integrated circuits configured to implement the above methods, such as: one or more Application Specific Integrated Circuits (ASICs), or one or more microprocessors (DSPs), or one or more Field Programmable Gate Arrays (FPGAs), or a combination of at least two of these integrated circuit forms. As another example, when a unit in a communication device may be implemented in the form of a processing element scheduler, the processing element may be a general-purpose processor, such as a Central Processing Unit (CPU) or other processor that may invoke a program. As another example, these units may be integrated together and implemented in the form of a system-on-a-chip (SOC).
Fig. 32 is a schematic diagram of a communication device according to an embodiment of the present application. The communication apparatus is configured to implement the steps corresponding to the first communication device or the receiving end in the above embodiments, and as shown in fig. 32, the communication apparatus 3200 includes a transmitting unit 3210 and a receiving unit 3220.
A receiving unit 3220 configured to receive first encoded data corresponding to the first original data from the second communication device; and receiving second coded data corresponding to the coding rate information, third original data and second original data from the second communication equipment, wherein the third original data does not comprise the first original data. A sending unit 3210, 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 the first original data.
In one 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 number of the first original data packets, the rank corresponding to the first encoded data, the system data packet reception condition and the redundant data packet reception condition corresponding to the first encoded data, or the first correlation depth of encoding.
In one possible implementation, 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 number of the first original data blocks, the indication of the rank corresponding to the first encoded data, the reception condition of the system data packets and the reception condition of the redundant data packets corresponding to the first encoded data, or the first associated depth of encoding.
In one possible implementation, 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 window length of the decoding window or the used window length of the decoding window.
In one possible implementation, the coding rate information indicates any one of:
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 code rate corresponding to the second encoded data, or the system data packet reception condition and the redundant data packet reception condition corresponding to the first encoded data.
In one possible implementation, the second encoded data includes header information indicating a second associated depth.
In one possible implementation, the header information further indicates one or more of:
the number of original data packets corresponding to the third original data;
the identification of the original data block corresponding to the second coded data; or
And the second coded data corresponds to a coding coefficient.
Optionally, the communication device may further include a storage unit, which is used for storing data or instructions (also referred to as codes or programs), and the units may interact with or be coupled with the storage unit to implement corresponding methods or functions.
It should be understood that the division of the units in the above communication device is only a division of logical functions, and the actual implementation may be wholly or partially integrated into one physical entity, or may be physically separated. And the units in the communication device can be realized in the form of software called by the processing element; or can be implemented in the form of hardware; part of the units can also be implemented in the form of software invoked by a processing element and part of the units can be implemented in the form of hardware. For example, each unit may be a processing element separately set up, or may be implemented by being integrated in a chip of the communication apparatus, or may be stored in a memory in the form of a program, and a function of the unit may be called and executed by a processing element of the communication apparatus. In addition, all or part of the units can be integrated together or can be independently realized. The processing element described herein may in turn be a processor, which may be an integrated circuit having signal processing capabilities. In the implementation process, the steps of the method or the units above may be implemented by integrated logic circuits of hardware in a processor element or in a form called by software through the processor element.
In one example, the units in any of the above communication devices may be one or more integrated circuits configured to implement the above methods, such as: one or more ASICs, or one or more DSPs, or one or more FPGAs, or a combination of at least two of these integrated circuit forms. As another example, when a unit in a communication device may be implemented in the form of a processing element scheduler, the processing element may be a general-purpose processor, such as a CPU or other processor that may invoke a program. As another example, these units may be integrated together, implemented in the form of an SOC.
Referring to fig. 33, a schematic diagram of a communication apparatus provided in an embodiment of the present application is used to implement operations of a first communication device (i.e., a receiving end) and a second communication device (i.e., a transmitting end) in the foregoing embodiments. As shown in fig. 33, the communication apparatus includes: a processor 3310 and an interface 3330, and optionally, 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 embodiments may be implemented by the processor 3310 calling a program stored in a memory (which may be the memory 3320 in the first communication device or the second communication device, or may be an external memory). That is, the first communication device or the second communication device may include the processor 3310, and the processor 3310 performs the method performed by the first communication device or the second communication device in the above method embodiment by calling a program in a memory. The processor here may be an integrated circuit with signal processing capabilities, 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 method. For example: one or more ASICs, or one or more microprocessors DSP, 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.
In particular, the functions/implementation processes of the transceiving unit 3110 and the processing unit 3120 in fig. 31 can be implemented by the processor 3310 in the communication device 3300 illustrated in fig. 33 calling computer-executable instructions stored in the memory 3320. Alternatively, the functions/implementation processes of the processing unit 3120 in fig. 31 may 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 processes of the transceiving unit 3110 in fig. 31 may be implemented by the interface 3330 in the communication apparatus 3300 shown in fig. 33, and the functions/implementation processes of the transceiving unit 3110 may be implemented by the processor calling program instructions in the memory to drive the interface 3330, for example.
Specifically, the functions/implementation procedures of the transmitting unit 3210 and the receiving unit 3220 in fig. 32 may be implemented by the processor 3310 in the communication apparatus 3300 shown in fig. 33 calling the computer-executable instructions stored in the memory 3320. Alternatively, the functions/implementation processes of the transmitting unit 3210 and the receiving unit 3220 in fig. 32 may be implemented by the interface 3330 in the communication apparatus 3300 shown in fig. 33, and for example, the functions/implementation processes of the transmitting unit 3210 and the receiving unit 3220 may be implemented by the processor calling program instructions in the memory to drive the interface 3330.
Fig. 34 provides a schematic structural diagram of a terminal device. The terminal device may be adapted to the scenario shown in fig. 3. For convenience of explanation, fig. 34 shows only 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-output apparatus. The processor is mainly used for processing communication protocols and communication data, controlling the whole terminal, executing software programs and processing data of the software programs. The memory is used primarily for storing software programs and data. The radio frequency circuit is mainly used for converting baseband signals and radio frequency signals and processing the radio frequency signals. The antenna is mainly used for receiving and transmitting radio frequency signals in the form of electromagnetic waves. Input and output devices, such as touch screens, display screens, keyboards, etc., are mainly used for receiving data input by users and outputting data to the users.
When the terminal device is started, the processor can read the software program in the storage unit, analyze and execute the instruction 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 baseband signals to the radio frequency circuit, and the radio frequency circuit processes the baseband signals to obtain radio frequency signals and sends the radio frequency signals outwards in the form of electromagnetic waves through the antenna. When data is transmitted to the terminal device, the radio frequency circuit receives a radio frequency signal through the antenna, the radio frequency signal is further converted into a baseband signal, the baseband signal is output to the processor, and the processor converts the baseband signal into the data and processes the data.
For ease of illustration, only one memory and processor are shown in FIG. 34. 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, and the like, which is not limited in this embodiment of the present invention.
As an alternative implementation manner, the processor may include a baseband processor and a central processing unit, where the baseband processor is mainly used to process a communication protocol and communication data, and the central processing unit is mainly used to control the whole terminal device, execute a software program, and process data of the software program. The processor in fig. 34 integrates the functions of the baseband processor and the central processing unit, and those skilled in the art will understand that the baseband processor and the central processing unit may be independent processors, and are interconnected through a bus or the like. Those skilled in the art will appreciate that the terminal device may include a plurality of baseband processors to accommodate different network formats, the terminal device may include a plurality of central processors to enhance its processing capability, and various components of the terminal device may be connected by various buses. The baseband processor can 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 the 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 software program is executed by the processor to realize the baseband processing function.
In one example, an antenna and a control circuit having a transceiving function may be regarded as the transceiving unit 3411 of the terminal device 3400, and a processor having a processing function may be regarded as the processing unit 3412 of the terminal device 3400. As shown in fig. 34, the terminal device 3400 includes a transceiving unit 3411 and a processing unit 3412. A transceiver unit may also be referred to as a transceiver, a transceiving device, etc. Optionally, a device in the transceiving unit 3411 for implementing a receiving function may be regarded as a receiving unit, and a device in the transceiving unit 3411 for implementing a transmitting function may be regarded as a transmitting unit, that is, the transceiving unit 3411 includes a receiving unit and a transmitting unit. For example, the receiving unit may also be referred to as a receiver, a receiving circuit, etc., and the sending unit may be referred to as a transmitter, a transmitting circuit, etc. Optionally, the receiving unit and the sending unit may be integrated into one unit, or may be multiple units independent of each other. The receiving unit and the transmitting unit may be located in one geographical location, or may be dispersed in a plurality of geographical locations.
Those of ordinary skill in the art will understand that: the various numbers of the first, second, etc. mentioned in this application are only used for the convenience of description and are not used to limit the scope of the embodiments of this application, but also to indicate the sequence. "and/or" describes the association relationship of the associated objects, meaning that there may be three relationships, e.g., a and/or B, which may mean: a exists alone, A and B exist simultaneously, and B exists alone. The character "/" generally indicates that the former and latter associated objects are in an "or" relationship. "at least one" means one or more. At least two means two or more. "at least one," "any," or similar expressions refer to any combination of these items, including any combination of singular or plural items. For example, at least one (one ) of a, b, or c, may represent: a, b, c, a-b, a-c, b-c, or a-b-c, wherein a, b, c may be single or multiple. "plurality" means two or more, and other terms are analogous.
It should be understood that, in the various embodiments of the present application, the sequence numbers of the above-mentioned processes do not mean the execution sequence, and the execution sequence of the processes should be determined by their functions and inherent logic, and should not constitute any limitation to the implementation process of the embodiments of the present invention.
It is clear to those skilled in the art that, for convenience and brevity of description, the specific working processes of the above-described systems, apparatuses and units may refer to the corresponding processes in the foregoing method embodiments, and are not described herein again.
In the above embodiments, the implementation may be wholly or partially realized by software, hardware, firmware, or any combination thereof. When implemented in software, may 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 loaded and executed on a computer, cause the processes or functions described in accordance with the embodiments of the application to occur, in whole or in part. The computer may be a general purpose computer, a special purpose computer, a network of computers, or other programmable device. The computer instructions may be stored in a computer readable storage medium or transmitted from one computer readable storage medium to another, for example, from one website site, computer, server, or data center to another website site, computer, server, or data center via wired (e.g., coaxial cable, fiber optic, digital Subscriber Line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.). The computer-readable storage medium can be any available medium that can be accessed by a computer or a data storage device, including one or more integrated servers, data centers, and the like. The usable medium may be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., solid State Disk (SSD)), among others.
The various illustrative logical units and circuits described in connection with the embodiments disclosed herein may be implemented or performed with a general purpose processor, a digital signal processor, an Application Specific Integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A general-purpose processor may be a microprocessor, but in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of computing devices, e.g., a digital signal processor and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a digital signal processor core, or any other similar configuration.
The steps of a method or algorithm described in the embodiments herein may be embodied directly in hardware, in a software element executed by a processor, or in a combination of the two. The software cells may be stored in Random Access Memory (RAM), flash Memory, read-Only Memory (ROM), EPROM Memory, EEPROM Memory, registers, a hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art. For example, a storage medium may be coupled to the processor such the processor can read information from, and write information to, the storage medium. In the alternative, the storage medium may be integral to the processor. The processor and the storage medium may reside in an ASIC.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
In one or more exemplary designs, the 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 as one or more instructions or code on a computer-readable medium. Computer-readable media includes both computer storage media and communication media that facilitate transfer of a computer program from one place to another. Storage media may be any available media that can be accessed by a general purpose or special purpose computer. For example, such computer-readable media can include, but is not limited to, RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to carry or store program code in the form of instructions or data structures and which can be read by a general-purpose or special-purpose computer, or a general-purpose or special-purpose processor. Additionally, any connection is properly termed a computer-readable medium, and, thus, is included if the software is transmitted from a website, server, or other remote source over a coaxial cable, fiber optic computer, twisted pair, digital Subscriber Line (DSL), or wirelessly, e.g., infrared, radio, and microwave. The disk (disk) and Disc (Disc) include compact Disc, laser Disc, optical Disc, digital Versatile Disc (DVD), floppy disk and blu-ray Disc, where the disk usually reproduces data magnetically, and the Disc usually reproduces data optically with laser. Combinations of the above may also be included in the computer-readable medium.
Those skilled in the art will recognize that in one or more of the examples described above, the functions described herein 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 media may be any available media that can be accessed by a general purpose or special purpose computer.
The above-mentioned embodiments, objects, technical solutions and advantages of the present application are further described in detail, it should be understood that the above-mentioned embodiments are only examples of the present application, and are not intended to limit the scope of the present application, and any modifications, equivalent substitutions, improvements and the like made on the basis of the technical solutions of the present application should be included in the scope of the present application. The foregoing description of the specification may enable any person skilled in the art to make or use the teachings of the present application, and any modifications based on the disclosed teachings should be considered as obvious in the art, and the general principles described herein may be applied to other variations without departing from the spirit or scope of the present application. Thus, the disclosure is not intended to be limited to the embodiments and designs described, but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.
Although the present application has been described in conjunction with specific features and embodiments thereof, it will be evident that various modifications and combinations can be made thereto without departing from the spirit and scope of the application. Accordingly, the specification and drawings are merely illustrative of the present application as defined in the appended claims and are intended to cover any and all modifications, variations, combinations, or equivalents within the scope of the application. It will be apparent to those skilled in the art that various changes and modifications may be made in the present application without departing from the scope of the application. Thus, if such 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 such modifications and variations.

Claims (57)

  1. A method of communication, comprising:
    encoding the first original data to obtain first encoded data;
    transmitting the first encoded data to a first communication device;
    receiving indication information from the first communication device;
    acquiring second original data and coding rate information according to the indication 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, wherein the third original data does not include the first original data;
    transmitting the second encoded data to the first communication device.
  2. The method of claim 1, wherein the second original data comprises one or more first original data packets in the first original data, the indication information indicating a number of the first original data packets;
    acquiring the second original data according to the indication information, including:
    and acquiring the second original data according to the number of the first original data packets.
  3. The method of claim 1, wherein the second original data comprises one or more first original data blocks in the first original data, the indication information indicating a number of the first original data blocks;
    acquiring the second original data according to the indication information, wherein the acquiring comprises the following steps:
    and acquiring the second original data according to the number of the first original data blocks.
  4. The method of claim 1, wherein the indication information indicates a rank to which the first encoded data corresponds; the second original data comprises one or more first original data packets in the first original data;
    acquiring the second original data according to the indication information, wherein the acquiring comprises the following steps:
    determining the number of the first original data packets according to the rank corresponding to the first encoding data;
    and acquiring the second original data according to the number of the first original data packets.
  5. The method of claim 1, wherein the indication information indicates a rank to which the first encoded data corresponds, the second original data comprising one or more first original data blocks in the first original data;
    acquiring the second original data according to the indication information, wherein the acquiring comprises the following steps:
    determining the number of the first original data blocks according to the rank corresponding to the first coded data;
    and acquiring the second original data according to the number of the first original data blocks.
  6. The method of claim 1, wherein the indication information indicates a system packet reception condition and a redundant packet reception condition corresponding to the first encoded data; the second original data comprises one or more first original data packets in the first original data;
    acquiring the second original data according to the indication information, including:
    determining the number of the first original data packets according to the receiving condition of the system data packets and the receiving condition of the redundant data packets corresponding to the first coded data;
    and acquiring the second original data according to the number of the first original data packets.
  7. The method of claim 1, wherein the indication information indicates a system packet reception condition and a redundant packet reception condition corresponding to the first encoded data; the second raw data comprises one or more first raw data blocks in the first raw data;
    acquiring the second original data according to the indication information, including:
    determining the number of the first original data blocks according to the receiving condition of a system data packet and the receiving condition of a redundant data packet corresponding to the first coded data;
    and acquiring the second original data according to the number of the first original data blocks.
  8. The method of claim 1, 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;
    acquiring the second original data according to the indication information, including:
    determining the number of the first original data packets according to the first correlation depth;
    and acquiring the second original data according to the number of the first original data packets.
  9. The method of claim 1, wherein the indication information indicates a first associated depth of encoding; the second raw data comprises one or more first raw data blocks in the first raw data;
    acquiring the second original data according to the indication information, including:
    determining the number of the first original data blocks according to the first associated depth;
    and acquiring the second original data according to the number of the first original data blocks.
  10. The method of any of claims 1-9, wherein the coding rate information indicates a number of redundant data packets for the second encoded data, a number of encoded data packets for the second encoded data, or a coding rate for the second encoded data.
  11. The method of any of claims 1-3, 6-9, wherein the indication information indicates a rank for the first encoded data;
    acquiring coding rate information according to the indication information, comprising:
    determining the number of redundant data packets corresponding to the second coded data according to the rank corresponding to the first coded data;
    and determining the coding rate according to the number of the redundant data packets corresponding to the second coded data.
  12. The method of claim 4 or 5, wherein obtaining coding rate information according to the indication information comprises:
    determining the number of redundant data packets corresponding to the second coded data according to the rank corresponding to the first coded data;
    and determining the coding rate according to the number of the redundant data packets corresponding to the second coded data.
  13. The method according to any one of claims 1-5 and 8-9, wherein the indication information indicates a system data packet reception condition and a redundant data packet reception condition corresponding to the first encoded data;
    acquiring coding rate information according to the indication information, comprising:
    determining the number of redundant data packets corresponding to the second coded data according to the receiving condition of the system data packets and the receiving condition of the redundant data packets corresponding to the first coded data;
    and determining the coding rate according to the number of the redundant data packets corresponding to the second coded data.
  14. The method as claimed in claim 6 or 7, wherein obtaining coding rate information according to the indication information comprises:
    determining the number of redundant data packets corresponding to the second coded data according to the receiving condition of the system data packets and the receiving condition of the redundant data packets corresponding to the first coded data;
    and determining the coding rate according to the number of the redundant data packets corresponding to the second coded data.
  15. The method of any one of claims 1-14, wherein the indication information indicates one or more of:
    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 window length of the decoding window or the used window length of the decoding window.
  16. The method of any one of claims 1-15, wherein the second encoded data includes header information, the header information indicating a second associated depth.
  17. The method of claim 16, wherein the header information further indicates one or more of:
    the number of original data packets corresponding to the third original data;
    the identification of the original data block corresponding to the second coded data; or
    And the second coded data corresponds to a coding coefficient.
  18. A method of communication, comprising:
    receiving first coded data corresponding to the first original data from the second communication device;
    sending indication information to the second communication device, wherein the indication information is used for acquiring second original data and coding rate information, and the second original data comprises part or all of the first original data;
    receiving second coded data corresponding to the coding rate information, third original data and the second original data from the second communication device, wherein the third original data does not include the first original data.
  19. 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 one of:
    the number of the first original data packets, the rank corresponding to the first encoded data, the system data packet reception condition and the redundant data packet reception condition corresponding to the first encoded data, or the first correlation depth of encoding.
  20. 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 one of:
    the number of the first original data blocks, the rank corresponding to the first encoded data, the system data packet reception condition and the redundant data packet reception condition corresponding to the first encoded data, or the first associated depth of encoding.
  21. The method of any one of claims 18-20, wherein the indication information indicates one or more of:
    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 window length of the decoding window or the used window length of the decoding window.
  22. The method according to any of claims 18-21, wherein the coding rate information indicates any of:
    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 code rate corresponding to the second encoded data, or the system data packet reception condition and the redundant data packet reception condition corresponding to the first encoded data.
  23. The method of any of claims 18-22, wherein the second encoded data includes header information, the header information indicating a second associated depth.
  24. The method of claim 23, wherein the header information further indicates one or more of:
    the number of original data packets corresponding to the third original data;
    the identification of the original data block corresponding to the second coded data; or
    And the second coded data corresponds to a coding coefficient.
  25. A communications apparatus, comprising:
    a transceiving unit for transmitting first encoded data to a first communication device; receiving indication information from the first communication device; transmitting second encoded data to the first communication device;
    the processing unit is used for coding first original data to obtain first coded data; acquiring second original data and coding rate information according to the indication information, wherein the second original data comprises part or all of the first original data; and performing joint coding on third original data and the second original data according to the coding rate information to obtain second coded data, wherein the third original data does not comprise the first original data.
  26. The apparatus of claim 25, wherein the second original data comprises one or more first original data packets in the first original data, the indication information indicating a number of the first original data packets;
    the processing unit is configured to obtain the second original data according to the indication information, and specifically includes:
    and the second original data is obtained according to the number of the first original data packets.
  27. The apparatus of claim 25, wherein the second original data comprises one or more first original data blocks in the first original data, the indication information indicating a number of the first original data blocks;
    the processing unit is configured to obtain the second original data according to the indication information, and specifically includes:
    the method is used for acquiring the second original data according to the number of the first original data blocks.
  28. The apparatus of claim 25, wherein the indication information indicates a rank to which the first encoded data corresponds; the second original data comprises one or more first original data packets in the first original data;
    the processing unit is configured to obtain the second original data according to the indication information, and specifically includes:
    the first original data packet is used for determining the number of the first original data packets according to the corresponding rank of the first coded data;
    and the second original data is obtained according to the number of the first original data packets.
  29. The apparatus of claim 25, wherein the indication information indicates a rank for which the first encoded data corresponds, the second original data comprising one or more first original data blocks in the first original data;
    the processing unit is configured to obtain the second original data according to the indication information, and specifically includes:
    the method comprises the steps of determining the number of first original data blocks according to the corresponding rank of the first coded data;
    the method is used for acquiring the second original data according to the number of the first original data blocks.
  30. The apparatus of claim 25, wherein the indication information indicates a system packet reception condition and a redundant packet reception condition for the first encoded data; the second original data comprises one or more first original data packets in the first original data;
    the processing unit is configured to obtain the second original data according to the indication information, and specifically includes:
    the first primary data packet receiving module is used for receiving a first primary data packet and a second primary data packet corresponding to the first coded data;
    and the second original data is obtained according to the number of the first original data packets.
  31. The apparatus of claim 25, wherein the indication information indicates a system packet reception condition and a redundant packet reception condition for the first encoded data; the second raw data comprises one or more first raw data blocks in the first raw data;
    the processing unit is configured to obtain the second original data according to the indication information, and specifically includes:
    the first original data block number is determined according to the receiving condition of the system data packet and the receiving condition of the redundant data packet corresponding to the first coded data;
    the method is used for acquiring the second original data according to the number of the first original data blocks.
  32. 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 is configured to obtain the second original data according to the indication information, and specifically includes:
    for determining the number of the first original data packets according to the first association depth;
    and the second original data is obtained according to the number of the first original data packets.
  33. The apparatus of claim 25, wherein the indication information indicates a first associated depth of encoding; the second raw data comprises one or more first raw data blocks in the first raw data;
    the processing unit is configured to obtain the second original data according to the indication information, and specifically includes:
    for determining a number of the first original data blocks according to the first associated depth;
    and the second original data is obtained according to the number of the first original data blocks.
  34. The apparatus of any of claims 25-33, wherein the coding rate information indicates a number of redundant data packets for the second encoded data, a number of encoded data packets for the second encoded data, or a coding rate for the second encoded data.
  35. The apparatus according to any of claims 25-27, 30-33, wherein the indication information indicates a rank for the first encoded data;
    the processing unit is configured to obtain coding rate information according to the indication information, and specifically includes:
    the redundant data packet number corresponding to the second coding data is determined according to the rank corresponding to the first coding data;
    and determining the coding rate according to the number of the redundant data packets corresponding to the second coded data.
  36. The apparatus according to claim 28 or 29, wherein the processing unit is configured to obtain coding rate information according to the indication information, and specifically includes:
    the redundancy data packet number corresponding to the second coding data is determined according to the rank corresponding to the first coding data;
    and the code rate determining unit is used for determining the code rate according to the number of the redundant data packets corresponding to the second coded data.
  37. The apparatus according to any of claims 25-29 and 32-33, wherein the indication information indicates a system packet reception condition and a redundant packet reception condition corresponding to the first encoded data;
    the processing unit is configured to obtain coding rate information according to the indication information, and specifically includes:
    the redundant data packet receiving module is used for determining the number of redundant data packets corresponding to the second coded data according to the system data packet receiving condition and the redundant data packet receiving condition corresponding to the first coded data;
    and the code rate determining unit is used for determining the code rate according to the number of the redundant data packets corresponding to the second coded data.
  38. The apparatus of claim 30 or 31, wherein the processing unit is configured to obtain coding rate information according to the indication information, and specifically includes:
    the redundant data packet number determining unit is used for determining the redundant data packet number corresponding to the second coded data according to the system data packet receiving condition and the redundant data packet receiving condition corresponding to the first coded data;
    and the code rate determining unit is used for determining the code rate according to the number of the redundant data packets corresponding to the second coded data.
  39. The apparatus of any one of claims 25-38, wherein the indication information indicates one or more of:
    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 window length of the decoding window or the used window length of the decoding window.
  40. The apparatus of any of claims 25-39, wherein the second encoded data includes header information, the header information indicating a second associated depth.
  41. The apparatus of claim 40, wherein the header information further indicates one or more of:
    the number of original data packets corresponding to the third original data;
    the identification of the original data block corresponding to the second coded data; or
    And the second coded data corresponds to a coding coefficient.
  42. A communications apparatus, comprising:
    a receiving unit configured to receive first encoded data corresponding to first original data from a second communication device; receiving second coded data corresponding to coding rate information, third original data and second original data from the second communication device, wherein 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 to obtain the second original data and the coding rate information, and the second original data includes part or all of the first original data.
  43. The apparatus of claim 42, wherein the second raw data comprises one or more first raw data packets in the first raw data;
    the indication information indicates any one of:
    the number of the first original data packets, the rank corresponding to the first encoded data, the system data packet reception condition and the redundant data packet reception condition corresponding to the first encoded data, or the first correlation depth of encoding.
  44. 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 one of:
    the number of the first original data blocks, the rank corresponding to the first encoded data, the system data packet reception condition and the redundant data packet reception condition corresponding to the first encoded data, or the first associated depth of encoding.
  45. The apparatus of any one of claims 42-44, wherein the indication information indicates one or more of:
    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 window length of the decoding window or the used window length of the decoding window.
  46. The apparatus of any of claims 42-45, wherein the coding rate information indicates any of:
    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 code rate corresponding to the second encoded data, or the system data packet reception condition and the redundant data packet reception condition corresponding to the first encoded data.
  47. The apparatus of any of claims 42-46, wherein the second coded data includes header information indicating a second associated depth.
  48. The apparatus of claim 47, wherein the header information further indicates one or more of:
    the number of original data packets corresponding to the third original data;
    the identification of the original data block corresponding to the second coded data; or
    And the second coded data corresponds to a coding coefficient.
  49. A communications apparatus, comprising: a processor coupled with a memory, the memory to store a program or instructions that, when executed by the processor, cause the apparatus to perform the method of any of claims 1 to 17.
  50. A communications apparatus, comprising: a processor coupled with a memory, the memory to store a program or instructions that, when executed by the processor, cause the apparatus to perform the method of any of claims 18 to 24.
  51. A chip system, comprising: the system-on-chip includes at least one processor, and an interface circuit coupled to the at least one processor, the processor executing instructions to perform the method of any of claims 1-17.
  52. A chip system, comprising: the system-on-chip includes at least one processor, and an interface circuit coupled to the at least one processor, the processor executing instructions to perform the method of any of claims 18-24.
  53. A communication device configured to perform the method of any of claims 1-17.
  54. A communication device configured to perform the method of any one of claims 18-24.
  55. A computer program product comprising instructions which, when run on a computer, cause the computer to perform the method of any one of claims 1 to 24.
  56. A computer-readable storage medium comprising instructions that, when executed on a computer, cause the computer to perform the method of any one of claims 1-24.
  57. A communication system comprising an apparatus as claimed in any of claims 25 to 41 and an apparatus as claimed in any of claims 42 to 48.
CN202080101546.XA 2020-08-07 2020-08-07 Communication method, device and system Pending CN115668828A (en)

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
CN115668828A true CN115668828A (en) 2023-01-31

Family

ID=80116867

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080101546.XA Pending CN115668828A (en) 2020-08-07 2020-08-07 Communication method, device and system

Country Status (2)

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

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4808054B2 (en) * 2006-03-17 2011-11-02 富士通株式会社 DATA TRANSFER METHOD, COMMUNICATION SYSTEM AND PROGRAM USING THE SAME
US9112916B2 (en) * 2011-08-26 2015-08-18 Texas Instruments Incorporated Systems and methods for construction of and network coding using near-maximum distance separable (MDS) linear network codes
CN105450357B (en) * 2014-09-24 2019-02-01 中兴通讯股份有限公司 The adjustment of coding parameter, feedback information processing method and processing device
CN106850152A (en) * 2017-01-21 2017-06-13 陕西尚品信息科技有限公司 A kind of transmission coating control method based on network code
CN107248904B (en) * 2017-07-31 2020-04-17 北京理工大学 LDPC code error control method based on joint coding
CN109889308B (en) * 2019-01-28 2021-09-03 中国人民解放军陆军工程大学 Hybrid automatic repeat request method for joint polarization coding and decoding in Internet of things

Also Published As

Publication number Publication date
WO2022027661A1 (en) 2022-02-10

Similar Documents

Publication Publication Date Title
CN110800216B (en) Method and apparatus for rate matching for communication and broadcast systems
KR20220132486A (en) Apparatus and method for encoding and decoding in communication or broadcasting system
US10425111B2 (en) Polar code interleaving and bit selection
CN107852281B (en) Baseband processor, base station, user equipment and method thereof
CN110572245B (en) Communication method and device
CN112994850B (en) SCMA coding and decoding method combining transmitting end and receiving end
CN110166168B (en) Method, device and system for determining size of transmission block
CN113114410A (en) Data processing method, configuration method and communication equipment
CN106998308B (en) Code hopping transmission method in sparse code multiple access based on time-varying codebook
CN107210845A (en) Transmit the method and communication equipment of information
CN108023675A (en) Data transmission method and communication equipment
EP3490181B1 (en) Data transmission method and device
WO2017114513A1 (en) Csi feedback method and device
WO2017076220A1 (en) Channel state information csi feedback method, terminal and base station
US20180212630A1 (en) Encoder device, decoder device, and methods thereof
US11431543B2 (en) Facilitating a two-stage downlink control channel in a wireless communication system
CN114079530A (en) Encoding method and device
WO2024021652A1 (en) Wireless communication method and device, and storage medium
CN115668828A (en) Communication method, device and system
WO2018201903A1 (en) Data transmission method, terminal, and base station
CN116886240B (en) Method for transmitting physical layer protocol data unit and communication device
CN116015535A (en) Communication apparatus performing detection operation and demodulation operation on codeword and operation method thereof
CN117461272A (en) Method for shifting redundancy versions for transmission of multi-slot transport blocks
CN102629893A (en) Information sending method and device by multiple-description successive refinement coding
CN103188525B (en) A kind of transmission of video, method of reseptance and device

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination