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

CN115706621A - Data transmission method and communication device - Google Patents

Data transmission method and communication device Download PDF

Info

Publication number
CN115706621A
CN115706621A CN202110932673.0A CN202110932673A CN115706621A CN 115706621 A CN115706621 A CN 115706621A CN 202110932673 A CN202110932673 A CN 202110932673A CN 115706621 A CN115706621 A CN 115706621A
Authority
CN
China
Prior art keywords
data packets
pdcp
original data
entity
data
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
CN202110932673.0A
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
Priority to CN202110932673.0A priority Critical patent/CN115706621A/en
Priority to PCT/CN2022/111611 priority patent/WO2023016506A1/en
Publication of CN115706621A publication Critical patent/CN115706621A/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Communication Control (AREA)

Abstract

The application provides a data transmission method and a communication device. According to the method, when the receiving equipment receives the T data packets through the first entity, once the receiving equipment performs network decoding operation on the T data packets to recover one original data in the M original data, or once the T data packets perform network decoding operation to recover the M original data, the receiving equipment delivers the recovered original data through the first entity, so that the problem of how to deliver the recovered original data by the receiving equipment is solved. The method and the device can be applied to the extended reality XR service or other services with higher requirements on time delay.

Description

Data transmission method and communication device
Technical Field
The present application relates to the field of wireless communication, and more particularly, to a method of transmitting data and a communication apparatus.
Background
In a Long Term Evolution (LTE) system, a Radio Link Control (RLC) layer includes a reordering function, so that it can be ensured that a receiving end RLC layer delivers data to a Packet Data Convergence Protocol (PDCP) layer in sequence.
Unlike the LTE system, in a New Radio (NR) system or a fifth generation (the 5 generation,5 g) system, the RLC layer cancels the reordering function and moves the reordering function up to the PDCP layer. That is, if the PDCP layer receives data from the RLC layer out of order, the PDCP layer supports reordering of the out-of-order data and delivers the data to its upper layer in order.
However, the above schemes do not consider the influence on the receiving end after introducing a Network Coding (NC) function, such as: how the receiving end should submit the data, or how the receiving end should push the receiving window, etc.
Disclosure of Invention
The application provides a data transmission method, which aims to solve the problem of how to submit decoded original data by a receiving end.
In a first aspect, a method for transmitting data is provided, and the method is applied to a receiving device, and the method includes: receiving T data packets through a first entity, wherein the T data packets belong to K data packets, the K data packets comprise N systematic packets and (K-N) redundant packets, and the K data packets and N original data packets meet the coding relation, or the K data packets comprise N original data packets and (K-N) redundant packets, and the redundant packets in the K data packets and the N original data packets meet the coding relation; the N original data packets are obtained by performing one or more of the following processes on the M original data: splitting, cascading or filling, wherein T, K, N and M are positive integers, K is greater than T, and K is greater than N; submitting the original data through the first entity in a first submission mode or a second submission mode; the first delivery method comprises the following steps: when network decoding operation is carried out on the T data packets to recover one original data in the M original data, submitting the original data through the first entity; the second delivery mode comprises: when the network decoding operation is performed on the T data packets to recover the M original data, submitting the M original data through the first entity, wherein T is not less than N.
Based on the above technical solution, if the receiving device submits the original data in the first submission manner through the first entity, after receiving the T data packets, once the receiving device performs the network decoding operation on the received T data packets to recover one original data, the receiving device submits the recovered original data through the first entity, thereby solving the problem of how to submit the recovered original data by the receiving device. In addition, under the condition that the receiving device adopts the first submission mode to submit the original data, once the receiving device carries out network decoding operation on the received T data packets to recover one original data, the recovered original data packet is submitted, so that the time delay requirement of transmitting the data packet can be guaranteed. In this manner, T may be less than N.
If the receiving device submits the original data in the second submission mode, after the receiving device receives the T data packets, once the network decoding operation is performed on the received T data packets to recover the M original data, the receiving device submits the recovered M original data through the first entity, thereby solving the problem of how to submit the recovered original data by the receiving device. In addition, under the condition that the receiving device submits the original data in the second submission mode, the receiving device submits the M original data after performing network decoding operation on the T received data packets to recover the M original data, so that the receiving device can submit the M original data after sequencing the M original data through the first entity, and thus the submitted original data can be guaranteed to be sequential.
It should be noted that, when the K data packets include N systematic packets and (K-N) redundant packets, the coding relationship that the K data packets and the N original data packets satisfy is as follows: the K data packets are obtained by encoding the N original data packets. The N system packets included in the K data packets are generated by encoding N original data packets by coefficient factors of unit vectors and adding encoding packet headers. Or, under the condition that the K data packets include N systematic packets and (K-N) redundant packets, the coding relationship that the K data packets and the N original data packets satisfy is: the (K-N) redundant packets included in the K data packets are obtained by encoding N original data packets, and N system packets included in the K data packets are generated by adding encoding packet headers to the N original data packets respectively. That is, the encoding relationship also includes adding an encoding packet header.
With reference to the first aspect, in certain implementations of the first aspect, the receiving device is a terminal device, and the method further includes: receiving first indication information from the access network device, where the first indication information is used to indicate a delivery mode used by the terminal device, and the delivery mode includes the first delivery mode or the second delivery mode.
Based on the technical scheme, the terminal equipment can determine the submission mode of the restored original data according to the received first indication information.
It should be noted that, in the first delivery method or the second delivery method, the network decoding operation performed on the T data packets by the receiving device includes one or more of the following: editing a header, decoding, converging (reverse operation of segmentation), splitting (reverse operation of cascade), padding and removing an original data packet header. For example, if T data packets include redundant packets, the network decoding operation performed on the T data packets by the receiving device includes decoding and de-coding. For another example, if the T data packets include systematic packets or original data packets, the network decoding operation performed on the T data packets by the receiving device includes removing the headers of the original data packets. For another example, if the sending device divides M original data packets to obtain N original data packets, the network decoding operation performed on the T data packets by the receiving device includes aggregation. For another example, the sending device concatenates the M pieces of original data to obtain N pieces of original data packets, and the network decoding operation performed on the T pieces of data packets by the receiving device includes splitting. For another example, if the sending device performs padding on M pieces of original data to obtain N pieces of original data packets, the network decoding operation performed on T pieces of data packets by the receiving device includes padding.
With reference to the first aspect, in some implementation manners of the first aspect, the network decoding operation is implemented by a Service Data Adaptation Protocol (SDAP) layer or a Network Coding (NC) layer, where the NC layer is located between a PDCP layer and the SDAP layer, and the method further includes: and starting the out-of-order delivery function of the PDCP entity.
Based on the characteristics of network coding, even if the data packet submitted by the PDCP entity to the SDAP entity or the NC entity is discontinuous, the SDAP entity or the NC entity can perform network decoding operation on the received data packet to recover all the original data. Therefore, based on the above technical solution, when the receiving device starts the out-of-order delivery function of the PDCP entity, the decoding process of the SDAP entity or the NC entity is not affected, and the delay requirement of data transmission can be ensured.
With reference to the first aspect, in certain implementations of the first aspect, the network decoding operation is implemented by a PDCP layer, and the method further includes: the reordering function of the PDCP entity is turned off.
Based on the technical scheme, under the condition of closing the PDCP reordering function, the receiving equipment does not need to consider the problem of how to push the lower limit of the receiving window, thereby simplifying the processing logic of the receiving equipment.
With reference to the first aspect, in certain implementations of the first aspect, the first entity is a PDCP entity, and the network decoding operation is implemented by a PDCP layer, the method further comprising: when the PDCP reordering timer is in an on state, the first entity sends part or all of the T data packets to a decoder for decoding, wherein the on state of the PDCP reordering timer is triggered by receiving a PDCP PDU with a largest SN among PDCP PDUs which are discontinuous from a Sequence Number (SN) of a previous PDCP PDU among T PDCP Protocol Data Units (PDUs), the T PDCP PDUs correspond to the T data packets, part of the T data packets includes data packets except for data packets with consecutive sequence numbers to a sequence number of a data packet of a lower limit of a PDCP receiving window, and the T PDCP PDUs are received in the PDCP receiving window.
The part of the T data packets may also include a data packet included in a PDCP PDU with the largest SN among PDCP PDUs which are not consecutive to a Sequence Number (SN) of a previous PDCP PDU, and a data packet included in all PDUs which are received before the PDCP PDU with the largest SN among PDCP PDUs which are not consecutive to the Sequence Number (SN) of the previous PDCP PDU arrives and which have not yet been delivered to the decoder. Since the data packets with the sequence numbers consecutive to the sequence number of the data packet at the lower limit of the PDCP receiving window can be sent to the decoder before the PDCP reordering timer is started, the data packets included in the part of the T data packets described in this paragraph and the part of the T data packets in the previous paragraph are the same.
Based on the technical scheme, even if the T PDCP PDUs received by the receiving equipment comprise PDCP PDUs with discontinuous SNs, under the state that the reordering timing is started, the receiving equipment can send all or part of the received T data packets to the decoder for decoding processing, and the received data packets are not required to be sent to the decoder for processing after the reordering timer is overtime or the PDCP PDUs with continuous SNs are received, so that the original data can be ensured to be recovered quickly, and the time delay of data transmission is reduced.
With reference to the first aspect, in certain implementations of the first aspect, the method further includes: and stopping the PDCP reordering timer through the first entity after the network decoding operation is performed on the T data packets to recover the M original data.
Based on the technical scheme, once the receiving equipment performs network decoding operation on the received T data packets to recover M original data, the PDCP reordering timer is stopped, so that the problem that when the receiving equipment stops the PDCP reordering timer under the condition of introducing an NC function is solved. The PDCP reordering timer is stopped while sliding the lower limit of the PDCP reception window, thereby solving the problem of when to slide the lower limit of the PDCP reception window.
With reference to the first aspect, in certain implementations of the first aspect, the method further includes: and after the network decoding operation is carried out on the T data packets to recover the M original data, sliding the lower limit of the PDCP receiving window through the first entity.
Based on the technical scheme, once the receiving equipment performs network decoding operation on the received T data packets to recover M original data, the lower limit of the receiving window is slid, so that the problem that when the receiving equipment slides the lower limit of the PDCP receiving window under the condition of introducing the NC function is solved.
With reference to the first aspect, in certain implementations of the first aspect, the first entity is a PDCP entity, and the network coding operation is implemented by a PDCP layer, the method further comprising: when the PDCP reordering timer is overtime, at least one of the following data packets is sent to a decoder for decoding processing through the first entity: the starting of the PDCP reordering timer is triggered by the PDCP PDU with the maximum SN in the PDCP PDUs which are not continuous with the SN of the previous PDCP PDU in the T PDCP PDUs, and the T PDCP PDUs correspond to the T data packets. Wherein, the PDCP PDUs arriving out of order include the PDCP PDU with the largest SN among the PDCP PDUs which are not consecutive to the Sequence Number (SN) of the previous PDCP PDU.
Based on the technical scheme, if the received T PDCP PDUs have the PDCP PDUs which arrive out of order, the first entity sends the data packets contained in the PDUs which arrive out of order in the T PDCP PDUs after the reordering timer is overtime, and/or sends the data packets contained in all the PDCP PDUs which are received before the PDCP PDUs which arrive out of order and are not delivered to the decoder for decoding, thereby being beneficial to realizing the in-sequence original data obtained after the network decoding operation is carried out on the data packets.
With reference to the first aspect, in certain implementations of the first aspect, the first entity is an RLC entity, and the network decoding operation is implemented by an RLC layer, the method further comprising: when the RLC reordering timer is in an open state, all or part of the T data packets are sent to a decoder for decoding processing through the first entity, wherein the opening of the RLC reordering timer is triggered by the received RLC PDU with the largest SN among the RLC PDUs in which the SNs of the T RLC PDUs and the previous RLC PDU are not continuous, the T RLC PDUs correspond to the T data packets, part of the T data packets comprise data packets except the data packets with continuous sequence numbers and the sequence number of the data packet with the lower limit of an RLC receiving window, and the T RLC PDUs are received in the RLC receiving window.
Based on the technical scheme, even if T RLC PDUs received by the receiving equipment comprise RLC PDUs with discontinuous SN, under the state that the reordering timing is started, the receiving equipment can send all or part of the received T data packets to the decoder for decoding processing, and does not need to wait until the reordering timer is overtime or the RLC PDUs with continuous SN are received, and then send the received data packets to the decoder for processing, so that the original data can be ensured to be recovered quickly, and the time delay of data transmission is reduced.
With reference to the first aspect, in certain implementations of the first aspect, the method further includes: when the network decoding operation is performed on the T data packets to recover the M original data, the RLC reordering timer is stopped by the first entity.
Based on the technical scheme, once the receiving equipment performs network decoding operation on the received T data packets to recover M original data, the RLC reordering timer is stopped, so that the problem that when the receiving equipment stops the RLC reordering timer under the condition of introducing an NC function is solved.
With reference to the first aspect, in certain implementations of the first aspect, the method further includes: and sliding the lower limit of the RLC receiving window through the first entity after the network decoding operation is carried out on the T data packets to recover the M original data.
Based on the technical scheme, once the receiving equipment can carry out network decoding operation on the received T data packets to recover M original data, the lower limit of a receiving window is slid and the RLC reordering timer is stopped, so that the problem that when the receiving equipment slides the lower limit of the RLC receiving window under the condition of introducing an NC function is solved.
With reference to the first aspect, in certain implementations of the first aspect, the first entity is an RLC entity, and the network decoding operation is implemented by an RLC layer, the method further comprising: when the RLC reordering timer is overtime, at least one data packet of the following data packets is sent to a decoder for decoding processing by the first entity: the starting of the RLC reordering timer is triggered by the RLC PDU with the largest SN in the RLC PDUs which are not continuous with the SN of the previous RLC PDU in the T RLC PDUs, and the T RLC PDUs correspond to the T data packets. The RLC PDUs arriving out of order include the RLC PDU with the largest SN among the RLC PDUs which are not consecutive to the Sequence Number (SN) of the previous RLC PDU.
Based on the technical scheme, if the received T RLC PDUs have the RLC PDUs which arrive out of order, the first entity sends the data packets contained in the PDUs which arrive out of order in the T RLC PDUs and/or the data packets contained in all the RLC PDUs which are received before the RLC PDUs which arrive out of order and are not delivered to the decoder for decoding processing after the reordering timer is overtime, and therefore sequential original data obtained after network decoding operation is performed on the data packets can be achieved.
In a second aspect, a data processing method is provided, which is applied to a first entity, and includes: receiving T data packets, wherein the T data packets belong to K data packets, the K data packets comprise N systematic packets and (K-N) redundant packets, the K first data code packets and the N original data packets meet the coding relation, or the K data packets comprise the N original data packets and (K-N) redundant packets, and the redundant packets in the K data packets and the N original data packets meet the coding relation; the N original data packets are obtained by performing one or more of the following processes on the M original data: splitting, cascading or filling, wherein T, K, N and M are positive integers, K is greater than T, and K is greater than N; when the reordering timer is in an open state, sending part or all of the T data packets to a decoder for decoding, wherein the open state of the reordering timer is triggered by the PDU with the largest SN among the PDUs which are not continuous with the SN of the previous PDU in the T PDUs, the T PDUs correspond to the T data packets, the part of the T data packets comprises the data packets except the data packet with the continuous sequence number with the sequence number of the data packet at the lower limit of a receiving window, and the T PDUs are received in the receiving window.
Based on the technical scheme, even if the T PDUs received by the receiving equipment comprise PDUs with discontinuous SN, the receiving equipment can send all or part of the received T data packets to the decoder for decoding processing under the state that the reordering timing is started, and does not need to wait until the reordering timer is overtime or receives the PDUs with continuous SN and then send the received data packets to the decoder for processing, thereby ensuring the rapid recovery of the original data and reducing the time delay of data transmission.
With reference to the second aspect, in certain implementations of the second aspect, the first entity is a PDCP entity, the reordering timer is a PDCP reordering timer, and the receive window is a PDCP receive window, the method further comprising: and stopping the PDCP reordering timer after the network decoding operation is carried out on the T data packets to recover the M original data.
Based on the technical scheme, once the receiving equipment performs network decoding operation on the received T data packets to recover M original data, the PDCP reordering timer is stopped, so that the problem that when the receiving equipment stops the PDCP reordering timer under the condition of introducing an NC function is solved.
With reference to the second aspect, in certain implementations of the second aspect, the first entity is a PDCP entity, the reordering timer is a PDCP reordering timer, and the receive window is a PDCP receive window, the method further comprising: and sliding the lower limit of the PDCP receiving window after the M original data are recovered by carrying out network decoding operation on the T data packets.
Based on the technical scheme, once the receiving equipment performs network decoding operation on the received T data packets to recover M original data, the lower limit of a receiving window is slid, and the PDCP reordering timer is stopped, so that the problem that when the receiving equipment slides the lower limit of the PDCP receiving window under the condition of introducing an NC function is solved.
With reference to the second aspect, in certain implementations of the second aspect, the first entity is an RLC entity, the reordering timer is an RLC reordering timer, and the reception window is an RLC reception window, the method further comprising: and stopping the RLC reordering timer after the M original data are recovered by carrying out network decoding operation on the T data packets.
Based on the technical scheme, once the receiving equipment performs network decoding operation on the received T data packets to recover M original data, the RLC reordering timer is stopped, so that the problem that when the receiving equipment stops the RLC reordering timer under the condition of introducing an NC function is solved.
With reference to the second aspect, in certain implementations of the second aspect, the first entity is an RLC entity, the reordering timer is an RLC reordering timer, and the reception window is an RLC reception window, the method further comprising: and sliding the lower limit of the RLC receiving window after the M original data are recovered from the T data packets.
Based on the technical scheme, once the receiving equipment performs network decoding operation on the received T data packets to recover M original data, the lower limit of a receiving window is slid and the RLC reordering timer is stopped, so that the problem of how to slide the lower limit of the RLC receiving window by the receiving equipment under the condition of introducing an NC function is solved.
In a third aspect, a method for data processing is provided, where the method is applied to a first entity, and the method includes: receiving T data packets, wherein the T data code packets belong to K data packets, the K data packets comprise N system packets and (K-N) redundant packets, and the K data packets and N original data packets meet the coding relation, or the K data packets comprise N original data packets and (K-N) redundant packets, and the redundant packets in the K data packets and N original data packets meet the coding relation; the N original data packets are obtained by performing one or more of the following processes on the M original data: splitting, cascading or filling, wherein T, K, N and M are positive integers, K is greater than T, and K is greater than N; when the reordering timer is overtime, at least one of the following data packets is sent to the decoder for decoding processing: the starting of the reordering timer is triggered by the PDU with the largest SN in the PDUs which are not continuous with the SN of the previous PDU in the T PDUs, and the T PDUs correspond to the T data packets. Wherein, the PDUs arriving out of order include the PDU with the largest SN among PDUs which are not consecutive to the Sequence Number (SN) of the previous PDU.
Illustratively, the first entity is a PDCP entity and the reordering timer is a PDCP reordering timer.
Also illustratively, the first entity is an RLC entity and the reordering timer is an RLC reordering timer.
Based on the technical scheme, if the received T PDUs have the PDU which arrives out of order, the first entity sends the data packets contained in the PDU which arrives out of order in the T PDUs and/or the data packets contained in all the PDUs which are received before the PDU which arrives out of order and are not delivered to the decoder for decoding after the reordering timer is overtime, thereby being beneficial to realizing the in-order original data obtained after the network decoding operation is carried out on the data packets.
In a fourth aspect, there is provided a communication device having functionality to implement the method of the first aspect or any possible implementation thereof. The functions can be realized by hardware, and the functions can also be realized by executing corresponding software by hardware. The hardware or software includes one or more units corresponding to the above functions.
Optionally, as an example, the communication apparatus of the fourth aspect includes:
the receiving and sending unit is used for receiving T data packets, the T data packets belong to K data packets, wherein the K data packets comprise N systematic packets and (K-N) redundant packets, the K data packets and the N original data packets meet the coding relation, or the K data packets comprise the N original data packets and (K-N) redundant packets, and the redundant packets in the K data packets and the N original data packets meet the coding relation; the N original data packets are obtained by performing one or more of the following processes on the M original data: splitting, cascading or filling, wherein T, K, N and M are positive integers, K is greater than T, and K is greater than N;
the receiving and sending unit is also used for submitting the original data in a first submitting mode or a second submitting mode;
the first delivery method comprises the following steps: when network decoding operation is carried out on the T data packets to recover one original data in the M original data, submitting the original data;
the second delivery mode comprises: and submitting the M original data when the M original data are recovered by carrying out network decoding operation on the T data packets, wherein T is not less than N.
In an implementation manner, the transceiver unit is further configured to receive first indication information from an access network device, where the first indication information is used to indicate a delivery manner used by the communication apparatus, and the delivery manner includes the first delivery manner or the second delivery manner.
In one implementation, the network decoding operation is implemented by a SDAP layer or an NC layer, the NC layer being located between a PDCP layer and the SDAP layer, the communications apparatus further comprising:
and the processing unit is used for starting the out-of-order delivery function of the PDCP entity.
In one possible implementation, the network decoding operation is implemented by a PDCP layer, and the communication apparatus further includes:
and the processing unit is used for closing the reordering function of the PDCP entity.
In a possible implementation manner, the network decoding operation is implemented by a PDCP layer, and the transceiver unit is further configured to: when the PDCP reordering timer is in an opening state, sending part or all of the T data packets to a decoder for decoding processing, wherein the opening of the PDCP reordering timer is triggered by receiving the PDCP PDU with the maximum SN among the PDCP PDUs which are not continuous with the SN of the previous PDCP PDU in the T data packets, the T PDCP PDUs correspond to the T data packets, the part of the T data packets comprises the data packets except the data packets with continuous sequence numbers and the sequence numbers of the data packets of the lower limit of a PDCP receiving window, and the T PDCP PDUs are received in the PDCP receiving window.
In one possible implementation, the processing unit is further configured to: and stopping the PDCP reordering timer after the network decoding operation is carried out on the T data packets to recover the M original data.
In one possible implementation, the processing unit is further configured to: and sliding the lower limit of the PDCP receiving window after the network decoding operation is carried out on the T data packets to recover the M original data.
In a possible implementation manner, the network decoding operation is implemented by a PDCP layer, and the transceiver unit is further configured to: when the PDCP reordering timer is overtime, at least one data packet of the following data packets is sent to a decoder for decoding processing: the starting of the PDCP reordering timer is triggered by the PDCP PDU with the maximum SN in the PDCP PDUs which are not continuous with the SN of the previous PDCP PDU in the T PDCP PDUs, and the T PDCP PDUs correspond to the T data packets. Wherein, the PDCP PDUs arriving out of order include the PDCP PDU with the largest SN among the PDCP PDUs which are not consecutive to the Sequence Number (SN) of the previous PDCP PDU.
In a possible implementation, the network decoding operation is implemented by an RLC layer, and the transceiver unit is further configured to: when the RLC reordering timer is in an open state, sending all or part of the T data packets to a decoder for decoding, wherein the opening of the RLC reordering timer is triggered by the received RLC PDU with the largest SN among the RLC PDUs with discontinuous SNs of the T RLC PDUs and the previous RLC PDU, the T RLC PDUs correspond to the T data packets, part of the T data packets comprise data packets except the data packets with continuous sequence numbers and the sequence number of the data packet at the lower limit of an RLC receiving window, and the T RLC PDUs are received in the RLC receiving window.
In one possible implementation, the processing unit is further configured to: and stopping the RLC reordering timer after the network decoding operation is carried out on the T data packets to recover the M original data.
In one possible implementation, the processing unit is further configured to: and sliding the lower limit of the RLC receiving window after the network decoding operation is carried out on the T data packets to recover the M original data.
In a possible implementation, the network decoding operation is implemented by an RLC layer, and the transceiver unit is further configured to: when the RLC reordering timer is overtime, at least one data packet is sent to a decoder for decoding processing: the starting of the RLC reordering timer is triggered by the RLC PDU with the maximum SN in the RLC PDUs which are not continuous with the SN of the previous RLC PDU in the T RLC PDUs, and the T RLC PDUs correspond to the T data packets. The RLC PDUs arriving out of order include the RLC PDU with the largest SN among the RLC PDUs which are not consecutive to the Sequence Number (SN) of the previous RLC PDU.
In a fifth aspect, there is provided a communication device having the functionality to implement the method of the second aspect or any possible implementation thereof. The functions can be realized by hardware, and the functions can also be realized by executing corresponding software by hardware. The hardware or software includes one or more units corresponding to the above functions.
Optionally, as an example, the communication device of the fifth aspect includes:
the receiving and sending unit is used for receiving T data packets, the T data packets belong to K data packets, wherein the K data packets comprise N systematic packets and (K-N) redundant packets, the K data packets and the N original data packets meet the coding relation, or the K data packets comprise the N original data packets and (K-N) redundant packets, and the redundant packets in the K data packets and the N original data packets meet the coding relation; the N original data packets are obtained by performing one or more of the following processes on the M original data: splitting, cascading or filling, wherein T, K, N and M are positive integers, K is greater than T, and K is greater than N; when the reordering timer is in an open state, sending part or all of the T data packets to a decoder for decoding, wherein the open state of the reordering timer is triggered by the PDU with the largest SN among the PDUs which are not continuous with the SN of the previous PDU in the T PDUs, the T PDUs correspond to the T data packets, the part of the T data packets comprises the data packets except the data packet with the continuous sequence number with the sequence number of the data packet at the lower limit of a receiving window, and the T PDUs are received in the receiving window.
In one implementation, the communications apparatus is a PDCP entity, the reordering timer is a PDCP reordering timer, the receive window is a PDCP receive window, the communications apparatus further comprising:
and the processing unit is used for stopping the PDCP reordering timer after the network decoding operation is carried out on the T data packets to recover the M original data.
In one implementation, the communications apparatus is a PDCP entity, the reordering timer is a PDCP reordering timer, the receive window is a PDCP receive window, the communications apparatus further comprising:
and the processing unit slides the lower limit of the PDCP receiving window after the network decoding operation is carried out on the T data packets to recover the M original data.
In one implementation, the communications apparatus is an RLC entity, the reordering timer is an RLC reordering timer, and the receive window is an RLC receive window, the communications apparatus further comprising:
and the processing unit is used for stopping the RLC reordering timer after the M original data are recovered by carrying out network decoding operation on the T data packets.
In one implementation, the communications apparatus is an RLC entity, the reordering timer is an RLC reordering timer, and the receive window is an RLC receive window, the communications apparatus further comprising:
and the processing unit slides the lower limit of the RLC receiving window after performing network decoding operation on the T data packets to recover the M original data.
A sixth aspect provides a communication device having functionality to implement the method of the third aspect or any possible implementation thereof. The functions can be realized by hardware, and the functions can also be realized by executing corresponding software by hardware. The hardware or software includes one or more units corresponding to the above functions.
Optionally, as an example, the communication apparatus of the sixth aspect includes:
the receiving and sending unit is used for receiving T data packets, the T data packets belong to K data packets, wherein the K data packets comprise N systematic packets and (K-N) redundant packets, the K data packets and the N original data packets meet the coding relation, or the K data packets comprise the N original data packets and (K-N) redundant packets, and the redundant packets in the K data packets and the N original data packets meet the coding relation; the N original data packets are obtained by performing one or more of the following processes on the M original data: splitting, cascading or filling, wherein T, K, N and M are positive integers, K is greater than T, and K is greater than N; when the reordering timer is overtime, at least one of the following data packets is sent to the decoder for decoding processing: the starting of the reordering timer is triggered by the PDU with the largest SN in the PDUs which are not continuous with the SN of the previous PDU in the T PDUs, and the T PDUs correspond to the T data packets.
In a seventh aspect, a communications apparatus is provided that includes a processor and a memory. Optionally, a transceiver may also be included. Wherein the memory is configured to store a computer program, and the processor is configured to run the computer program stored in the memory and control the transceiver to transmit and receive signals, so as to make the communication apparatus execute the method according to the first aspect or any possible implementation manner thereof.
Illustratively, the communication device is a receiving end of wireless communication.
In an eighth aspect, a communications apparatus is provided that includes a processor and a memory. Optionally, a transceiver may also be included. Wherein the memory is configured to store a computer program, and the processor is configured to run the computer program stored in the memory and control the transceiver to transceive signals to cause the communication apparatus to perform the method as in the second aspect or any possible implementation manner thereof. Alternatively, a method as in the third aspect or any possible implementation thereof is performed.
In a ninth aspect, there is provided a communication device comprising a processor and a communication interface, the communication interface being configured to receive data and/or information and to transmit the received data and/or information to the processor, the processor processing the data and/or information, and the communication interface being further configured to output the data and/or information after processing by the processor, such that the method as in the first aspect or any possible implementation thereof is performed.
A tenth aspect provides a communication device, comprising a processor and a communication interface, wherein the communication interface is configured to receive (or input) data and/or information and transmit the received data and/or information to the processor, the processor processes the data and/or information, and the communication interface is further configured to output the data and/or information processed by the processor, so that the method according to the second aspect or any possible implementation manner thereof is performed, or the method according to the third aspect or any possible implementation manner thereof is performed.
In an eleventh aspect, there is provided a computer readable storage medium having stored thereon computer instructions which, when run on a computer, cause a method as in the first aspect or any possible implementation thereof to be performed.
In a twelfth aspect, there is provided a computer readable storage medium having stored therein computer instructions which, when run on a computer, cause a method as in the second aspect or any possible implementation thereof to be performed, or a method as in the third aspect or any possible implementation thereof to be performed.
A thirteenth aspect provides a computer program product comprising computer program code to, when run on a computer, cause a method as in the first aspect or any possible implementation thereof to be performed.
A fourteenth aspect provides a computer program product comprising computer program code which, when run on a computer, causes the method according to the second aspect or any possible implementation thereof to be performed, or causes the method according to the third aspect or any possible implementation thereof to be performed.
Drawings
Fig. 1 shows a schematic diagram of a scenario applicable to the communication system of the present application.
Fig. 2 is a schematic diagram of an application scenario applicable to the technical solution provided in the embodiment of the present application.
Fig. 3 shows a network coding flow diagram.
Fig. 4 shows another network coding flow diagram.
Fig. 5 shows a random linear network coding diagram.
Fig. 6 shows a diagram of the receiving end pushing the lower limit of the receiving window to move.
Fig. 7 shows a schematic flow chart of a method provided by an embodiment of the present application.
Fig. 8 is a schematic diagram of a processing procedure at the receiving end.
Fig. 9 is a schematic diagram of a process at the receiving end.
Fig. 10 shows a schematic flow chart of a method provided by an embodiment of the present application.
Fig. 11 is a diagram showing a process at the receiving end.
Fig. 12 shows a schematic flow chart of a method provided by an embodiment of the present application.
Fig. 13 is a diagram showing a process at the receiving end.
Fig. 14 is a schematic block diagram of a communication device provided in the present application.
Fig. 15 is a schematic configuration diagram of a communication device provided in the present application.
Detailed Description
The technical solution in the present application will be described below with reference to the accompanying drawings.
The technical solution of the embodiment of the present application may be applied to various communication systems, including but not limited to: the fifth generation (the 5th generation,5 g) system or a New Radio (NR) system, a Long Term Evolution (LTE) system, an LTE Frequency Division Duplex (FDD) system, an LTE Time Division Duplex (TDD) system, and the like. The technical scheme provided by the application can also be applied to future communication systems, such as a sixth generation mobile communication system. Furthermore, the method can also be applied to device-to-device (D2D) communication, vehicle-to-outside-appliance (V2X) communication, machine-to-machine (M2M) communication, machine Type Communication (MTC), internet of things (IoT) communication system or other communication systems, and the like.
A communication system suitable for use in the present application may include one or more transmitting ends and one or more receiving ends. Alternatively, one of the sending end and the receiving end may be a terminal device, and the other may be a network device. Or one is a terminal device and the other is another terminal device. Alternatively, one or the network device and the other is another network device.
Illustratively, a terminal device may also be referred to as a User Equipment (UE), an access terminal, a subscriber unit, a subscriber station, a Mobile Station (MS), a Mobile Terminal (MT), a remote station, a remote terminal, a mobile device, a user terminal, a wireless communication device, a user agent, or a user equipment. The terminal device in the embodiment of the present application may be a device providing voice and/or data connectivity to a user, and may be used for connecting people, things, and machines, such as a handheld device with a wireless connection function, a vehicle-mounted device, and the like. The terminal device in the embodiment of the present application may be a mobile phone (mobile phone), a tablet computer (Pad), a notebook computer, a palmtop computer, a Mobile Internet Device (MID), a wearable device, a Virtual Reality (VR) device, an Augmented Reality (AR) device, a wireless terminal in industrial control (industrial control), a wireless terminal in self-driving (self-driving), a wireless terminal in remote surgery (remote management), a wireless terminal in smart city (smart grid), a wireless terminal in transportation safety (transportation safety), a wireless terminal in smart city (smart city), a wireless terminal in smart home (smart home), and the like. Alternatively, the UE may be configured to act as a base station. For example, the UE may act as a scheduling entity that provides sidelink signals between UEs in V2X or D2D, etc. Optionally, the UE may also be a relay device providing wireless backhaul, for example: an Integrated Access and Backhaul (IAB) node is accessed.
In the embodiment of the present application, the apparatus for implementing the function of the terminal may be the terminal, or may be an apparatus capable of supporting the terminal to implement the function, such as a system on a chip or a chip, and the apparatus may be installed in the terminal. In the embodiment of the present application, the chip system may be formed by a chip, and may also include a chip and other discrete devices.
Illustratively, the network device may be a device having a wireless transceiving function, and the network device may be a device providing a wireless communication function service, which is generally located on a network side, including but not limited to a next generation base station (gbnodeb, gNB) in a 5G communication system, a base station in a sixth generation (6G) mobile communication system, a base station in a future mobile communication system or an access point in a wireless fidelity (WiFi) system, etc., an evolved Node B (eNB) in an LTE system, a Radio Network Controller (RNC), a Node B (NB), a Base Station Controller (BSC), a home base station (e.g., home evolved Node B, HNB), a Base Band Unit (BBU), a Transmission Reception Point (TRP), a Transmission Point (TP), a base station (BTS), a Base Transceiver Station (BTS), etc. In one network structure, the network device may include a Centralized Unit (CU) node, or a Distributed Unit (DU) node, or a Radio Access Network (RAN) device including a CU node and a DU node, or a control plane CU node and a user plane CU node, and a RAN device of the DU node, or the network device may also be a wireless controller, a relay station, a vehicle-mounted device, a wearable device, and the like in a Cloud Radio Access Network (CRAN) scenario. Further, the base station may be a macro base station, a micro base station, a relay node, a donor node, a host node, or a combination thereof. The base station may also be a mobile switching center, a device that bears a base station function in D2D, V2X, M M communication, a network side device in a 6G network, a device that bears a base station function in a future communication system, and the like. The base station may support networks of the same or different access technologies, without limitation.
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 an apparatus capable of supporting the network device to implement the function, such as a system on a chip or a chip, and the apparatus may be installed in the network device. In the embodiment of the present application, the chip system may be formed by a chip, and may also include a chip and other discrete devices.
Referring to fig. 1, fig. 1 is a schematic diagram of a scenario of a communication system suitable for the present application. The present application can be applied to various specific communication scenarios, for example, a point-to-point transmission between a base station and a terminal device or a terminal device (e.g., a point-to-point transmission between a base station and a terminal device as shown in (a) of fig. 1), a multi-hop transmission between a base station and a terminal device as shown in (b) and (c) of fig. 1, a Dual Connectivity (DC) or multi-connection scenarios of a plurality of base stations and terminal devices as shown in (d) of fig. 1, and the like. It should be noted that, the specific communication application scenarios described above are only examples and are not limiting. In particular, from the service perspective, the embodiments of the present application are applicable to a plurality of service scenarios, for example, a data coding scenario in XR service, an uplink large capacity scenario, and the like. Moreover, fig. 1 does not impose limitations on the network architecture suitable for the present application, and the present application does not restrict uplink, downlink, access link, backhaul (backhaul) link, sidelink (sidelink) and the like transmissions.
Fig. 2 is a schematic diagram of an application scenario of the technical solution provided in the embodiment of the present application.
As shown in fig. 2 (a), after the UE randomly accesses the gNB, the UE and the gNB may communicate with each other. Wherein, the gNB includes three-layer structure: the first layer is a Physical (PHY) layer, the second layer is a Medium Access Control (MAC) layer, a Radio Link Control (RLC) layer and a Packet Data Convergence Protocol (PDCP) layer, and the third layer is a Radio Resource Control (RRC) layer. The UE includes a PDCP layer, an RLC layer, an MAC layer, and a PHY layer.
If the UE and the gNB have a Network Coding (NC) function, for DL, the gNB performs a coding function and the UE performs a decoding function; for UL, the UE performs the encoding function and the gNB performs the decoding function.
As shown in fig. 2 (b), the UE can access the gNB-CU through the gNB-DU. Wherein, the gNB-CU comprises an RRC layer and a PDCP layer, and the gNB-DU comprises an RLC layer, a MAC layer and a PHY layer. If the NC function is located on the UE and the gNB-CU, for DL, the gNB-CU performs an encoding function, and the UE performs a decoding function; for UL, the UE performs the encoding function and the gNB-CU performs the decoding function. More specifically, the NC function is disposed in or above the PDCP layer. If the NC function is located on the UE and the gNB-DU, for DL, the gNB-DU performs an encoding function, and the UE performs a decoding function; for the UL, the UE performs the encoding function and the gNB-DU performs the decoding function. More specifically, the NC function is disposed in or below the RLC layer.
It should be understood that fig. 2 only illustrates an application scenario of the technical solution provided by the present application by taking communication between the UE and the gNB as an example, and the technical solution provided by the present application is also applicable to an Integrated Access and Backhaul (IAB) scenario, that is, the UE in fig. 2 may be replaced by an IAB mobile terminal (IAB-MT).
In addition, the technical solution provided in the embodiment of the present application is also applicable to an air interface multilink scenario except for the air interface single link scenario. I.e. there is also at least one IAB node between the gNB or gNB-DU (considering the CU-DU separation architecture) and the UE.
For the purpose of facilitating understanding of the embodiments of the present application, a brief description will be given of several basic concepts involved in the embodiments of the present application. It should be understood that the basic concepts described below are simply illustrated by taking as examples several basic concepts specified in the NR protocol, but do not limit the applicability of the embodiments of the present application to only NR systems. Therefore, the standard names appearing when the NR system is taken as an example are functional descriptions, and the specific names are not limited, and only indicate the functions of the devices, and can be correspondingly extended to other systems, such as second generation (2nd generation, 2g), third generation (3rd generation, 3g), fourth generation (4th generation, 4g) or future communication systems.
1. Hybrid automatic repeat request (HARQ):
after a sender sends a Transport Block (TB) to a receiver, the receiver performs Cyclic Redundancy Check (CRC) on the TB. If the CRC check is successful, the receiving end feeds back Acknowledgement (ACK) information to the transmitting end, otherwise, feeds back Negative Acknowledgement (NACK) information. And after receiving the ACK information fed back by the receiving end, the sending end triggers the transmission of new data, otherwise triggers the retransmission of the TB.
2. Automatic repeat request (ARQ):
the method belongs to the function of an RLC layer, a sending end sends continuous RLC protocol data units (RLC PDUs) to a receiving end, and the receiving end triggers to feed back an RLC status report to the sending end according to network configuration (for example, the number of the RLC PDUs exceeds the designated receiving number or the data quantity of the RLC PDUs exceeds the designated receiving number) or according to polling (polling) indication sent by the sending end so as to inform the receiving status of the RLC PDUs at the receiving end of the sending end and enable the sending end to trigger retransmission of the RLC PDUs.
3. Network Coding (NC) function:
the above retransmission mechanism based on feedback generally has a large delay, and includes: the frequency spectrum efficiency of the system is low due to air interface transmission delay, data processing delay of a receiving end, feedback delay of ACK/NACK information and the like. For the above problem, a network coding technique may be adopted to perform a network coding operation on a data packet (packet), and both the time delay and the spectrum efficiency performance are considered by transmitting the network coding packet.
The network coding function in the present application includes network coding of an original data packet and adding a coding packet header. The network coding can be realized by an encoder, the input of the encoder is N original data packets, the output of the encoder is K coding data packets (coding packets for short), wherein N and K are positive integers, and K is greater than N. The coded packets include K-N (K minus N) redundant packets and N systematic packets, or K redundant packets (i.e., the coded packets are all redundant packets and do not include systematic packets). The content of the packet body of the system package is consistent with the content of the original data packet (that is, the system package is composed of the encoding packet header and the original data packet). The system packet can be obtained by an encoder or by directly adding a packet header to the original data packet, and in this case, the encoding coefficient of the system packet corresponds to a unit vector. The coding coefficients of the redundant packet are non-unit vectors. Through the correlation between the content of the redundant packet and the content of the original data packet generating the redundant packet, the receiving end can restore the original data packet which is not successfully received through the decoding of the redundant packet and the original data packet or the system packet which is successfully received. Based on the characteristics of network coding, the packet sizes of the original data packets are equal.
Optionally, the network coding function may further include a process of processing raw data units (such as Service Data Units (SDUs) or Protocol Data Units (PDUs)) to obtain raw data packets with equal size, where the processing may include one or more of splitting, concatenating, or padding (padding).
The network coding function of the sending end corresponds to the network decoding function of the receiving end. The receiving end can recover N original data packets by decoding at least N successfully received coded packets together. The protocol layer having the network coding function or the decoding function corresponding to the network coding is referred to as a network coding/decoding layer, and in this application, the network coding/decoding layer is referred to as a network coding layer for short, that is, the protocol layer having the network coding is referred to as a network coding layer.
The network coding layer may be a Radio Resource Control (RRC) layer, a Service Data Adaptation Protocol (SDAP), a Packet Data Convergence Protocol (PDCP) layer, a Backhaul Adaptation Protocol (BAP) layer, a Radio Link Control (RLC) layer, a Medium Access Control (MAC) layer, or a physical layer (PHY). The network coding layer may also be a new protocol layer other than the PHY layer, the MAC layer, the RLC layer, the BAP layer, the PDCP layer, the SDAP layer, and the RRC layer, and may be a network coding layer added above the PDCP layer (e.g., in 5G NR, a network coding layer is added between the PDCP layer and the SDAP layer), or a network coding layer added above the BAP layer, or a network coding layer is added between the PDCP layer and the RLC layer, or a network coding layer is added between the RLC layer and the MAC layer, or a network coding layer is added between the MAC layer and the PHY layer.
Commonly used network coding schemes include two broad classes of block codes and convolutional codes, wherein the scheme of the block code includes one or more of Random Linear Network Coding (RLNC), deterministic Linear Network Coding (DLNC), batch sparse code (bat code), erasure code (erasure code), fountain code (fountain code), maximum distance separable code (MDS code), lubar transform code (LT) code, fast cyclone (rapid cyclone) code, raptor q code, rateless (rate) code, and RS (Reed-solomon) code, and the scheme of the convolutional code includes one or more of Convolutional Network Coding (CNC) code, stream coding (string), and sliding window coding (window).
Two possible network coding flows for the network coding function of the sending end (called simply as the sending end) are described below.
A first possible network coding procedure:
the originating first acquires the original data (PDU or SDU). Taking the original data as PDU for example, the originating terminal obtains the original data packet with equal size by performing one or more of the following processes on one or more PDUs: split, cascade, or padding (padding). Each original data packet carries a corresponding relationship, and the corresponding relationship is the corresponding relationship between the original data packet and one or more PDUs corresponding to the original data packet. Each original data packet may carry a corresponding relationship explicitly, for example, each original data packet carries a position mapping relationship between the original data packet and one or more PDUs corresponding to the original data packet. The correspondence relationship carried by each original data packet may also be implicitly carried, for example, the correspondence relationship between each original data packet and one or more PDUs corresponding to the original data packet is default. So that the receiving end (called simply the receiving end) can recover the PDU from the original data packet based on the corresponding relationship.
Optionally, the header of each original data packet carries a correspondence between the original data packet and one or more PDUs corresponding to the original data packet. In this case, one possible implementation is: the transmitting end firstly carries out one or more of the following treatments on the PDU to obtain the original data: and (4) segmenting, cascading or padding, and adding a packet header to the original data to obtain the original data packet with the same size.
Optionally, the correspondence may be indicated by a segmentation and/or concatenation condition of the one or more PDUs.
It will be appreciated that if the original data itself is of equal size, then the above-described step of processing one or more PDUs or SDUs to obtain original data packets of equal size may be skipped, i.e. the PDUs or SDUs are original data packets of equal size.
Fig. 3 and fig. 4 illustrate a first network coding process by taking PDU sizes as examples and carrying the above correspondence through a packet header. As shown in fig. 3 and 4, the originating end processes PDU1 to PDU4 to obtain the original data (i.e. data 1 to data 4), and the processing of the originating end on the PDU may be one or more of the operations of dividing, cascading, or padding. The size of the original data may or may not be equal. Further, the originating performs a header adding operation on the set of original data to obtain N original data packets (i.e., pkt1 to Pkt 4). The original packet can be understood as a non-encoded packet, and the size of the original packet is equal.
The originating encodes a plurality of original data packets of equal size.
Specifically, encoding a plurality of original packets of equal size may be performed in any one of the following three ways.
Mode 1:
as shown in fig. 3, the originating end encodes N original data packets and adds the header of the encoded packet to obtain K-N encoded packets (EPkt 1 to EPkt2 shown in fig. 3), where the encoded packets may be referred to as check packets or redundant packets.
Through the operation, the transmitting end finally transmits N original data packets and K-N redundant packets.
Mode 2 and mode 3:
as shown in fig. 4, the originating terminal processes N original data packets to obtain K encoded packets (i.e., EPkt1 to EPkt6 shown in fig. 4). The encoding packets can be divided into systematic packets, which can also be referred to as systematic data packets, and check packets, which can be referred to as redundant packets. Wherein, the encoding packet header may include a coefficient factor field indicating to obtain the encoding coefficient of the encoding packet. The system packet (i.e., EPkt1 to EPkt4 shown in fig. 4) is composed of a coded packet header and a packet body, the content of the packet body is consistent with the content of the original data packet, and a coefficient factor field included in the packet header is a unit vector.
The difference between the method 2 and the method 3 is that the original data packet is processed to obtain a systematic packet.
In the method 2, the system packet is generated by directly adding the encoding packet header to the original data packet, i.e., without encoding.
In the method 3, the original data packet is encoded, that is, after being encoded by the coefficient factor which is a unit vector, and the encoded packet header is added to generate the system packet.
The check packets in the modes 2 and 3 are generated in the same manner, and are generated by encoding the original data packet and adding the encoding packet header. As shown in fig. 4, K-N check packets (i.e., EPkt5 to EPkt 6) are generated by encoding N original data packets (i.e., pkt1 to Pkt 4) and adding an encoded packet header, and a packet body part (E data 1 to E data 2) is a result of multiplication and addition of the N original data packets and a coefficient factor, where the coefficient factor is a non-unit vector.
Through the above operation, the transmitting end finally transmits K encoded packets.
Correspondingly, still taking fig. 3 as an example, for the receiving end, for the mode 1, the receiving end receives at least N data packets, and the N data packets are linearly independent, that is, the rank of the corresponding coefficient matrix is equal to N. Thus, the receiving end can recover N original data packets through decoding, and then recover corresponding PDU. The at least N data packets may be all redundant packets, or some original data packets and some redundant packets, which is not limited herein. It is understood that if the receiving end receives N original data packets, the decoding may not be performed.
For the mode 2 and the mode 3, still taking fig. 4 as an example, the receiving end receives at least N data packets, and the N data packets are linearly independent, that is, the rank of the corresponding coefficient matrix is equal to N. Thus, the receiving end can recover N original data packets through decoding, and then recover corresponding PDU. The at least N data packets may be all redundant packets, or may be partially systematic packets and partially redundant packets, which is not limited herein. It can be understood that, if the receiving end receives N system packets, decoding may not be performed, and header processing of the de-encoded packet may be performed.
In summary, in the above network coding function, the originating terminal obtains the original data packets with equal size by performing one or more of the following processes on one or more original data: split, cascade, or add padding. Each original data packet carries a corresponding relationship between the original data packet and one or more pieces of original data corresponding to the original data packet.
A second possible network coding procedure:
in a second possible network coding process, the originating end may use one or more of virtual partitioning, concatenation, or padding to obtain the original data packet with equal size. In this way, the originating end maps the original data and the header information of each original data into a cache, where the cache may be a real cache or a virtual cache, and the header information of each original data indicates the location of each original data mapped in the cache. The originating terminal obtains a plurality of original data packets with the same size from the cache. And then coding a plurality of original data packets with the same size to obtain a coded packet. The manner of obtaining a plurality of original data packets with equal size from the buffer may be preset, or indicated to the receiving end by the transmitting end, or indicated to the other party after determined by the controlling party of the two parties of data transmission. In this way, the original packet has no header, but the equal-sized data segment obtained from the buffer in the present scheme is still referred to as the original packet in consideration of the alignment with the description in the first way. It is understood that the original data packet in the present scheme may also be referred to as an original data segment.
The method for encoding a plurality of original data packets with equal size to obtain encoded packets is similar to the method 1 in the first possible implementation procedure. The scheme is different from the mode 1 in that after a plurality of original data packets with equal size are coded, a sending end sends one or more original data and the header information of the one or more original data, and one or more redundant packets obtained by coding; whereas in mode 1, the originating side sends one or more encoded packets
It will be appreciated that the input to the network coding layer may be one or more original data units, such as original data, and the output of the network coding layer may be one or more PDUs, which may include the aforementioned original data packets and redundant packets, or the aforementioned systematic packets and redundant packets. Outputting the one or more PDUs may be understood as outputting the one or more PDUs via the communication interface to a module that subsequently processes the one or more PDUs in the terminal device or in the network device. It is to be appreciated that the output referred to in this application can refer to sending signals over the air interface, or outputting signals to other modules in an apparatus (e.g., a terminal device or a network device) through a communication interface. The specific process is specifically described in the application scenario, and is not described herein again.
The specific encoding operation is briefly described by taking RLNC as an example. The RLNC scheme uses a coding block (block) as a coding unit, wherein one coding block comprises a plurality of original data packets with the same size, and a group of coding packets can be obtained by constructing a coding coefficient matrix to code the original data packets. Typically, the coefficients in the matrix of coding coefficients are chosen randomly in a finite field, such as a Galois Field (GF).
Referring to fig. 5, fig. 5 is a schematic diagram of random linear network coding. As shown in FIG. 5, the coefficient matrix (i.e., G shown in FIG. 5) is encoded K×N ) The size is K × N, i.e. K rows and N columns, wherein in this example, one row vector in the coding coefficient matrix is referred to as a coding coefficient vector, and the coding block (X in fig. 5) containing N original data packets is processed by encoding the coding block N×1 ) Network coding is performed to obtain K coded data (Y in FIG. 5) K×1 ) The corresponding code rate is expressed as N/K, or the corresponding redundancy rate is expressed as (K-N)/N. Wherein, the coding coefficient matrix randomly selects coefficients in GF (q) domain, q represents the size of Galois field, and the value of Galois field is interval [0,q-1]. K and N are both positive integers.
It should be understood that in the RLNC scheme, there is no correlation between the coding blocks, where K pieces of coded data are obtained by performing network coding on one coding block containing N original data packets, that is, the coding operation is performed on each independent coding block. The redundancy (code rate) of each coding block may or may not be the same. And the encoding end/sending end sends the N original data packets and the generated K encoded data packets after uniformly adding the packet header information. When the decoding end/receiving end correctly receives at least N coding packets which are linearly independent from the coding coefficient vector, or when the decoding end/receiving end correctly receives at least N coding packets and the rank of the coding coefficient matrix corresponding to the received coding packets is N, the N original data packets can be correctly decoded and recovered. This is because the encoded data packet fuses the information of a plurality of original data packets, so the receiving end can recover the original data by using the encoded data packet.
4. The system comprises: the original data packet is multiplied by the coding coefficient of the unit vector to generate coded data and then the coded packet header is added, or the original data packet is directly added with the coded packet header to obtain the coded data. For example, the original data packet uses a coding coefficient matrix with a size of K × N (i.e. G in FIG. 5) K×N ) And carrying out network coding to obtain K coded data. Wherein the coding coefficient matrix can be written as
Figure BDA0003211636100000161
Sub-matrices I formed by the first N rows N Is a unit matrix, which is composed of N unit vectors. Corresponding to I in K encoded data obtained from encoding coefficient matrix N The partial N coded data are the data parts of N systematic packets, and the systematic packets can be obtained by adding packet header information to the coded data.
5. Redundant packets: the original data packet is generated by network coding, and the coding coefficient of the redundant packet is a non-unit vector. For example, a coding coefficient matrix of size K N (i.e., G in FIG. 5) K×N ) Performing network coding to obtain K coded data, wherein the coding coefficient matrix can be written into
Figure BDA0003211636100000162
Of the K encoded data corresponding to A (K-N)×N Part of the K-N coded data is K-N coded dataAnd adding packet header information to the K-N coded data to obtain a redundant packet in the data part of the redundant packet. In the embodiment of the present application, the term "redundant packet" may also be referred to as "check packet" for short, and both of them may be used interchangeably.
6. Network coding grouping: the term "block code" refers to a set of network coded packets that contain a plurality of original data packets. For example, dividing each N original data packets into a network coding packet for independent network coding may obtain the coded data corresponding to the network coding packet. In embodiments of the present application, the term "network coded packet" may also be referred to as a "network coded block", "coded packet", or "coded block".
7. Network coding layer: the network coding layer refers to a protocol layer with a network coding function, and the network coding layer may be one or more of RRC layer, SDAP layer, PDCP layer, BAP layer, RLC layer, MAC layer, or PHY layer with a network coding function. And in particular which layer is not defined in the present application. The network coding layer may also be a new protocol layer other than the above protocol layers, for example, the new protocol layer may be above the PDCP layer, above the BAP layer, between the PDCP layer and the RLC layer, between the RLC layer and the MAC layer, or between the MAC layer and the PHY layer, and the location of the new protocol layer may not be limited in this application. In the embodiments of the present application, the term "network coding layer" may also be referred to as "coding/decoding layer", "network coding/decoding layer", or other names, which are not limited in the present application.
8. Decoding corresponding to network coding: the decoding of the network coding is the inverse process of the network coding, and the original data packet can be recovered by multiplying the inverse matrix of the matrix corresponding to the coding data by utilizing the received coding data.
9. Protocol Data Unit (PDU): the PDU, which contains information from the upper layer and additional information from the entity of the current layer, is transferred to the next lower layer.
10. Service Data Unit (SDU): the data unit transferred between protocol layers is data from or to be transferred to an upper layer.
In the LTE system, the RLC layer includes a reordering function, so that it can be guaranteed that the receiving RLC layer delivers data to the PDCP layer in sequence (that is, the data received by the PDCP layer from the RLC layer is in sequence). Therefore, under normal conditions (except for a handover scenario), the PDCP layer does not need to start a reordering function, and can ensure that the receiving PDCP layer delivers data to its upper layer in sequence.
Unlike the LTE system, in the NR system, the RLC layer cancels the reordering function and moves the reordering function up to the PDCP layer. That is, in the NR system, data received by the PDCP layer from the RLC layer may be out of order. The PDCP layer reorders the out-of-order data received from the RLC layer and delivers the data to its upper layer in order.
Specifically, the PDCP layer is comprised of at least one PDCP entity, one PDCP entity corresponding to one DRB. As shown in fig. 6, for the receiving PDCP entity, it receives PDUs only within the reception window. That is, if the receiving PDCP entity receives a PDU that is not within the receiving window, it will directly discard the PDU. The receiving side PDCP entity performs the window pushing based on a reordering timer (t-reordering) timeout mechanism. When receiving end PDCP entity receives out-of-order PDU, it starts to start reordering timer, once the reordering timer is overtime, it pushes the lower limit of receiving window to move forward.
However, the existing scheme only relates to the operation mechanism of the RLC layer/PDCP layer of the receiving end without introducing the NC function. Without considering how the receiving end RLC layer/PDCP layer operates after the NC function is introduced.
In view of the above, the present application provides a method for transmitting data, so as to solve the problem of how to deliver the decoded original data by the receiving end.
The following describes a method for transmitting data according to an embodiment of the present application with reference to the drawings.
It should be understood that, for convenience of understanding and explanation, the method of each embodiment is explained below by taking a receiving apparatus as an example of an execution subject of the execution method of each embodiment. This should not be construed as limiting the subject matter of the implementations of the methods provided herein. For example, the receiving apparatus in the following embodiments may be replaced with a component (such as a chip or a circuit) configured in the receiving apparatus.
The embodiments shown below do not particularly limit the specific structure of the execution subject of the method provided by the embodiments of the present application, as long as communication can be performed according to the method provided by the embodiments of the present application by running the program recorded with the code of the method provided by the embodiments of the present application, for example, the execution subject of the method provided by the embodiments of the present application may be a receiving device, or a functional module capable of executing the program in the receiving device.
The receiving device in the following embodiments may be the terminal device, the network device, or the IAB node described above.
It should be noted that the data packet described in the following embodiments is the system packet described above, or the redundant packet described above, or the original data packet described above.
Fig. 7 is a schematic flow chart of a method for transmitting data according to an embodiment of the present application. As shown in fig. 7, method 700 may include S710 and S720, each step in method 700 being described in detail below.
S710, a receiving device receives T data packets through a first entity, wherein the T data packets belong to K data packets, the K data packets comprise N systematic packets and (K-N) redundant packets, and the K data packets and N original data packets meet the coding relation, or the K data packets comprise N original data packets and (K-N) redundant packets, and the redundant packets in the K data packets and the N original data packets meet the coding relation; the N original data packets are obtained by performing one or more of the following processes on the M original data: split, cascade, or fill. T, K, N and M are both positive integers, K is greater than T, and K is greater than N.
In the case that the K data packets include N systematic packets and (K-N) redundant packets, the N systematic packets correspond to the N original data packets one to one, that is, one systematic packet is obtained from one original data packet, for example, a systematic packet is formed after adding an NC header to one original data packet. The (K-N) redundant packets are obtained by network coding N original data packets. For more description of systematic packets and redundant packets, reference may be made to the above description. For an exemplary process of obtaining N systematic packets and (K-N) redundant packets from M original data, refer to fig. 4.
Under the condition that the K data packets comprise N systematic packets and (K-N) redundant packets, the coding relation satisfied by the K data packets and the N original data packets is as follows: the K data packets are obtained by encoding the N original data packets. The N system packets included in the K data packets are generated by encoding N original data packets by coefficient factors of unit vectors and adding encoding packet headers. Or, under the condition that the K data packets include N systematic packets and (K-N) redundant packets, the coding relationship that the K data packets and the N original data packets satisfy is: the (K-N) redundant packets included in the K data packets are obtained by encoding N original data packets, and N system packets included in the K data packets are generated by adding encoding packet headers to the N original data packets respectively. That is, the encoding relationship also includes adding an encoding packet header.
When the K data packets include N original data packets and (K-N) redundant packets, the (K-N) redundant packets are obtained by network-coding the N original data packets. For more description of the original data packet and the redundant packet, reference may be made to the above description. For an exemplary process of obtaining N original data packets and (K-N) redundant packets from M original data, refer to fig. 3.
The embodiment of the present application does not limit the type of the original data, and the original data may be SDU or PDU. That is, the original data may be an SDAP SDU or an SDAP PDU; or, the original data may be PDCP SDU, or PDCP PDU; or, the original data may be RLC SDU or RLC PDU; or, the original data may be MAC SDU or MAC PDU; or, in a relay transmission scenario, the original data may be a Backhaul Adaptation Protocol (BAP) SDU or a BAP PDU.
S720, the receiving device submits the original data through the first entity in a first submitting mode or a second submitting mode.
Illustratively, the receiving device submits the original data to an upper layer of the first entity in a first submission mode or a second submission mode through the first entity. For example, the first entity is a PDCP entity, and the receiving device delivers the original data to the SDAP layer through the PDCP entity in the first delivery manner or the second delivery manner.
Further illustratively, the receiving device submits the original data to a processing module subsequent to the NC module in the first submission mode or the second submission mode through the first entity. In this case, the first entity includes an NC module for implementing an NC function. For example, the network coding function is located in the PDCP layer, such as specifically located after a header compression function and before a security function of the PDCP layer, and is implemented by the NC module, in which case, the first entity is a PDCP entity, and the processing module after the NC module is a header decompression module, and the receiving device delivers the original data to the header decompression module in the PDCP entity through the PDCP entity, specifically, the NC module in the PDCP entity, in the first delivery manner or the second delivery manner.
Wherein, the first submission mode comprises: when one original data in the M original data is recovered by carrying out network decoding operation on the T data packets, submitting the original data through the first entity.
The second delivery mode comprises: when the network decoding operation is performed on the T data packets to recover the M original data, the M original data are submitted through the first entity. It can be understood that when M original data packets can be recovered by performing a network decoding operation on the received data packets, the number of data packets received by the receiving device is not less than the number of original data packets, i.e. T is not less than N.
It should be noted that, in the first delivery method or the second delivery method, the network decoding operation performed on the T data packets by the receiving device includes one or more of the following operations: editing a header, decoding, converging (a reverse operation of segmentation), splitting (a reverse operation of concatenation), padding and removing an original data packet header. For example, if T data packets include redundant packets, the network decoding operation performed on the T data packets by the receiving device includes decoding and de-coding. For another example, if the T data packets include systematic packets or original data packets, the network decoding operation performed on the T data packets by the receiving device includes removing the headers of the original data packets. For another example, if the sending device divides M original data packets to obtain N original data packets, the network decoding operation performed on the T data packets by the receiving device includes aggregation. For another example, the sending device concatenates the M pieces of original data to obtain N pieces of original data packets, and the network decoding operation performed on the T pieces of data packets by the receiving device includes splitting. For another example, if the sending device performs padding on M pieces of original data to obtain N pieces of original data packets, the network decoding operation performed on T pieces of data packets by the receiving device includes padding.
It should be understood that, in the first delivery method, when an original data recovered by T data packets, such as the systematic packets or the original data packets, has not been delivered, the receiving device delivers the original data directly through the first entity. On the contrary, if one original data recovered from the T data packets is submitted, the original data is not submitted.
It should be further understood that, in the second delivery method, when T is smaller than N, and M original data cannot be recovered according to T data packets, the receiving device may buffer the T data packets until M original data can be recovered according to the received data packets, and then perform a network decoding operation on the received data packets to recover the M original data. In the case that the receiving device caches T data packets, the embodiment of the present application does not limit whether the receiving device recovers part of original data in M original data through a system packet or an original data packet in the T data packets. It should also be understood that even if the receiving device recovers some of the M original data for the systematic packets or the original packets in the T data packets, the receiving device does not submit some of the M original data through the first entity. It should also be appreciated that when the M original data are recovered for the T data packets, the receiving device delivers the M original data in order through the first entity.
For the convenience of understanding the embodiment of the present application, the method for transmitting data provided in the embodiment of the present application is described below with reference to fig. 8 and 9, taking an example that the K data packets include N systematic packets and (K-N) redundant packets, but the embodiment of the present application should not be limited in any way. For the scheme that the K data packets include N original data packets and (K-N) redundant packets, only the system packet described in the following embodiment needs to be replaced with the original data packet.
For example, as shown in fig. 8 (a) and 9, the transmitting apparatus transmits 4 pieces of original data P 1 、P 2 、P 3 And P 4 After performing at least one of the following operations: cascading, segmenting, filling, generating equal-sized original data packet X 1 、X 2 And X 3 . The transmitting device then sends the original data packet X 1 、X 2 And X 3 Generating System Y 1 、Y 2 And Y 3 . Further, the transmitting device will send the original data packet X 1 、X 2 And X 3 Generating redundant packet Y after network coding processing 4 . Still further, the transmitting apparatus sequentially transmits the data packet Y to the receiving apparatus 1 、Y 2 、Y 3 And Y 4
In one implementation, a receiving device submits original data in a first submission by a first entity.
In this implementation, there are several possibilities for recovering one of the M original data from the T data packets: (1) Restoring one original data in M original data for one system package in the T data packages; (2) And restoring one original data in the M original data for a plurality of system packets in the T data packets.
For example, as shown in (b 1) in fig. 8, the receiving apparatus receives the data packets Y in sequence 1 、Y 3 And Y 4 Wherein, Y 1 、Y 3 Is a system bag, Y 4 Is a redundant packet. When the receiving device receives the data packet Y 1 In time, the receiving device receives 1 packet in total (i.e., T = 1). Due to data packet Y 1 (System Package) containing complete raw data P 1 And original data P 2 Can be based on the 1 data packet Y 1 Recovering an original data P 1 . Since the receiving device has not yet beenSubmitted original data P 1 The receiving device therefore delivers the original data P via the first entity 1 . Further, when the receiving apparatus receives the data packet Y 3 At this time, the receiving device receives 2 packets in total (i.e., T = 2). Due to data packet Y 3 (System Package) containing original data P 3 A part of and the complete original data P 4 From which the receiving device can base on the data packet Y 3 Recovering an original data P 4 . Since the receiving device has not delivered the original data P 4 The receiving device therefore delivers the original data P via the first entity 4 . When the receiving device receives the data packet Y 4 At this time, the receiving device receives a total of 3 packets (i.e., T = 3). The receiving device can be according to the system Y 1 、Y 3 And a redundant packet Y 4 Network decoding to recover original data P 1 、P 2 、P 3 And P 4 . Since the receiving device has submitted the original data P 1 And P 4 So that the receiving device delivers the original data P only via the first entity 2 And P 3
For example, as shown in (b 2) in fig. 8, the receiving apparatus receives the data packets Y in sequence 2 、Y 3 And Y 4 Wherein Y is 2 、Y 3 Is a system bag, Y 4 Are redundant packets. When the receiving device receives the data packet Y 2 In time, the receiving device receives 1 packet in total (i.e., T = 1). Due to data packet Y 2 (System Package) containing original data P 2 And the original data P 3 Then the receiving device cannot recover an original data (e.g., P) from the 1 data packet 2 Or P 3 ). When the receiving device receives the data packet Y 3 At this time, the receiving device receives 2 packets in total (i.e., T = 2). Due to data packet Y 3 (System Package) containing original data P 3 A part of and the complete original data P 4 Then the receiving device can recover an original data P from the 2 data packets 3 And a primary data P 4 . Since the receiving device has not delivered the original data P 3 And P 4 Thus the receiving device passes the first instanceBulk in-order delivery of raw data P 3 And P 4 . When the receiving device receives the data packet Y 4 When the receiving device receives 3 data packets (i.e. T = 3), the receiving device may be able to system Y 2 、Y 3 And a redundant packet Y 4 Carry out network decoding to recover original data P 1 、P 2 、P 3 And P 4 . Since the receiving device has submitted the original data P 3 And P 4 So that the receiving device delivers the original data P only via the first entity 1 And P 2
As can be seen from the above example, when the receiving device submits the original data according to the first submission method, if the receiving device receives T data packets and cannot recover one original data according to the T data packets, the receiving device caches the T data packets and continues to receive the next data packet. For example, as shown in (b 2) in fig. 8, the receiving apparatus receives the data packet Y 2 Then, according to the data packet Y 2 If an original data can not be recovered, the receiving device buffers the data packet Y 2 . Further, the receiving apparatus receives the data packet Y 3 Then, according to the data packet Y 2 And Y 3 Recovering the original data P 3 And P 4 Then the receiving device submits the original data P through the first entity 3 And P 4
It can also be known from the above example that when the receiving device delivers the original data according to the first delivery method, the receiving device may recover more than one original data by decoding the T packet networks. For example, as shown in (b 1) in fig. 8, the receiving apparatus receives the packet Y 1 、Y 3 、Y 4 Then, for data packet Y 1 、Y 3 And Y 4 Executing network decoding to recover 4 original data P 1 、P 2 、P 3 And P 4 . Therefore, when the receiving device delivers the original data according to the first delivery method, the receiving device delivers the recovered original data through the first entity as long as the complete original data can be recovered through the T data packets (instead of recovering a part of one original data), regardless of recovering several original data through the T data packets.
In this embodiment of the application, after receiving T data packets, once an original data can be recovered by the received T data packets, or once a group of original data can be recovered by performing network decoding on a part of the T data packets, the receiving device submits the recovered original data by using the first entity, thereby solving the problem of how to submit the original data recovered by the network decoding by the receiving device. In addition, according to the method, the time delay requirement of data transmission can be guaranteed.
In another implementation, the receiving device submits the original data in a second submission by the first entity.
For example, as shown in fig. 9, the receiving apparatus receives the data packets Y in turn 1 、Y 3 And Y 4 Wherein, Y 1 、Y 3 Is a system bag, Y 4 Is a redundant packet. When the receiving device receives the data packet Y 1 In time, the receiving device receives 1 packet in total (i.e., T = 1). The receiving device cannot recover M original data (P) according to the 1 data packet 1 、P 2 、P 3 And P 4 ) If so, the receiving device buffers the data packet Y 1 . Further, when the receiving apparatus receives the data packet Y 3 At this time, the receiving device receives 2 packets in total (i.e., T = 2). If the receiving device can not recover M original data according to the 2 data packets, the receiving device caches the data packet Y 3 . Still further, when the receiving apparatus receives the data packet Y 4 At this time, the receiving device receives 3 packets in total (i.e., T = 3). If the receiving device can recover M original data according to the 3 data packets, the receiving device will recover the data packet Y 1 、Y 3 And Y 4 Performing network decoding to recover original data P 1 、P 2 、P 3 And P 4 The raw data P is then submitted in order by the first entity 1 、P 2 、P 3 And P 4
It should be appreciated that in this implementation, even though the receiving device may recover some of the M original data from receiving the T data packets, the receiving device may recover some of the M original dataThe original data is not submitted through the first entity. For example, as shown in FIG. 9, the receiving device receives a data packet Y 1 Then, even if it can be based on the data packet Y 1 Recovering an original data P 1 The receiving device will not submit the original data P through the first entity either 1 . But in the original data P 1 、P 2 、P 3 And P 4 Then, the original data P is submitted by the first entity 1 、P 2 、P 3 And P 4
In the embodiment of the application, after receiving T data packets, once M original data can be recovered according to the received T data packets, the receiving device submits the M original data through the first entity, thereby solving the problem of how to submit the original data recovered by network decoding. Further, according to the above method, the submitted raw data is sequential, thereby simplifying the processing logic of the entity (or module) receiving the raw data.
As described above, the present embodiment does not limit the type of the raw data, and therefore, it should be understood that the NC function is implemented by different protocol layers for different types of raw data.
For example, if the type of the original data is an SDAP SDU, the NC function is implemented by the SDAP layer. That is, for the transmitting device, the transmitting device performs network coding on the SDAP SDU by the SDAP entity to obtain K data packets. For the receiving device, after the receiving device performs network decoding operation on the received T data packets through the SDAP entity to recover the SDAP SDU, the receiving device submits the SDAP SDU through the SDAP entity (i.e., to an Internet Protocol (IP) layer).
For another example, if the type of the original data is an SDAP PDU, the NC function may be implemented by the SDAP layer, or by the NC layer, or by the PDCP layer, the NC layer being located between the SDAP layer and the PDCP layer. That is, for the sending device, the sending device performs network coding on the SDAP PDU through the SDAP entity/NC entity/PDCP entity to obtain K data packets. For the receiving device, after the receiving device performs network decoding operation on the received T data packets by the SDAP entity to recover the SDAP PDU, the receiving device delivers the SDAP PDU by the SDAP entity (i.e., a processing module after the NC module delivered to the SDAP entity, for example, a processing module after the SDAP decapsulating module delivers the SDAP PDU to the SDAP decapsulating module to perform processing of removing a header field of the SDAP PDU). Or, after the receiving device performs network decoding operation on the received T data packets through the NC entity to recover the SDAP PDU, the NC entity delivers the SDAP PDU (i.e., to the SDAP layer). Or, after the receiving device performs network decoding operation on the received T data packets through the PDCP entity to recover the SDAP PDU, the receiving device delivers the SDAP PDU through the PDCP entity (i.e., to the SDAP layer).
For another example, if the type of the original data is a PDCP SDU, the NC function may be implemented by the PDCP layer. That is, for the transmitting device, the transmitting device performs network coding on the PDCP SDU by the PDCP entity to obtain K data packets. For the receiving device, after the receiving device performs network decoding operation on the received T data packets through the PDCP entity to recover the PDCP SDUs, the receiving device delivers the PDCP SDUs through the PDCP entity (i.e., to the SDAP layer, or to a processing module after the NC module in the PDCP entity, for example, to a header decompression module).
For another example, if the type of the original data is PDCP PDU, the NC function may be implemented by the PDCP layer, or by the NC layer, or by the RLC layer, the NC layer being located between the PDCP layer and the RLC layer. That is, for the transmitting device, the transmitting device performs network coding on the PDCP PDU through the PDCP entity/NC entity/RLC entity to obtain K data packets. For the receiving device, after the receiving device performs network decoding operation on the received T data packets through the PDCP entity to recover the PDCP PDU, the receiving device delivers the PDCP PDU through the PDCP entity (i.e., delivers the PDCP PDU to a processing module after the NC module in the PDCP entity, for example, delivers the PDCP PDU to a PDCP decapsulation module to perform processing of removing a header field of the PDCP PDU). Or, after the receiving device performs network decoding operation on the received T data packets through the NC entity to recover the PDCP PDU, the NC entity delivers the PDCP PDU (i.e., to the PDCP layer). Or, after the receiving device performs network decoding operation on the received T data packets through the RLC entity to recover the PDCP PDU, the receiving device delivers the PDCP PDU through the RLC entity (i.e., delivers the PDCP PDU to the PDCP layer).
For another example, if the type of the original data is RLC SDU, the NC function is implemented by the RLC layer. That is, for the transmitting apparatus, the transmitting apparatus network-encodes the RLC SDU by the RLC entity to obtain K data packets. For the receiving device, after the receiving device performs network decoding operation on the T received data packets through the RLC entity to obtain RLC SDUs, the RLC SDUs are delivered through the RLC entity (i.e., delivered to the PDCP layer).
For another example, if the type of the original data is RLC PDU, the NC function may be implemented by the RLC layer, or by the NC layer, or by the MAC layer, the NC layer being located between the RLC layer and the MAC layer. That is, for the transmitting apparatus, the transmitting apparatus performs network coding on the RLC PDU through the RLC entity/NC entity/MAC entity to obtain K data packets. For the receiving device, after the receiving device performs network decoding operation on the received T data packets by the RLC entity to recover the RLC PDU, the RLC PDU is delivered by the RLC entity (i.e., the RLC PDU is delivered to a processing module after the NC module in the RLC entity, for example, the RLC header module is delivered to perform processing of removing a header field of the RLC PDU). Or, after the receiving device recovers the RLC PDU by performing network decoding operation on the received T data packets through the NC entity, the RLC PDU is delivered through the NC entity (i.e., delivered to the RLC layer). Or, after the receiving device performs network decoding operation on the received T data packets by using the MAC entity to recover the RLC PDU, the RLC PDU is delivered by using the MAC entity (i.e., delivered to the RLC layer).
For another example, if the type of the original data is MAC SDU, the NC function is implemented by the MAC layer. That is, for the transmitting device, the transmitting device network-encodes the MAC SDU by the MAC entity to obtain K data packets. For the receiving device, after the receiving device performs a network decoding operation on the received T data packets through the MAC entity to recover the MAC SDUs, the MAC SDUs are delivered through the MAC entity (i.e., delivered to the RLC layer).
For another example, if the original data type is a MAC PDU, the NC function may be implemented by the MAC layer, or by the NC layer, or by the PHY layer, the NC layer being located between the MAC layer and the PHY layer. That is, for the transmitting device, the transmitting device performs network coding on the MAC PDU through the MAC entity/NC entity/PHY entity to obtain K data packets. For the receiving device, after the receiving device performs a network decoding operation on the received T data packets through the MAC entity to recover the MAC PDU, the receiving device submits the MAC PDU through the MAC entity (i.e., a processing module submitted to the NC module in the MAC entity, for example, a HARQ processing module). Or, after the receiving device performs network decoding operation on the received T data packets through the NC entity to recover the MAC PDU, the NC entity delivers the MAC PDU (i.e., delivers to the MAC layer). Or, after the receiving device performs network decoding operation on the received T data packets through the PHY entity to recover the MAC PDU, the receiving device submits the MAC PDU through the PHY entity (i.e., to the MAC layer).
As described above, for the receiving device, network coding in the NC function may be implemented by the SDAP layer or the NC layer, which is located between the PDCP and SDAP layers. Alternatively, the network decoding operation in the NC function may also be implemented by the PDCP layer. Alternatively, the network decoding operation in the NC function may also be implemented by the RLC layer.
Optionally, if the network decoding operation is implemented by the SDAP layer or the NC layer, and the NC layer is located between the SDAP layer and the PDCP layer, the method 700 further includes: the receiving device starts the out-of-order delivery function of the PDCP entity.
That is, even if the PDCP entity receives PDCP PDUs which have not arrived in sequence from the lower layer (e.g., RLC layer), the PDCP entity can directly recover PDCP PDUs from the out-of-sequence arrived PDCP PDUs and deliver the recovered PDCP SDUs to the upper layer for processing, without waiting for the PDCP reordering timer to time out, then recover the PDCP SDUs from the received PDCP PDUs in sequence, and deliver the recovered PDCP SDUs to the upper layer. Wherein, the PDCP SDU is one of the K data packets, or the PDCP SDU includes one data packet. For example, if the PDCP entity receives the PDCP PDU #2 from the lower layer and the PDCP SDUs corresponding to the PDCP PDU #2 and the PDCP PDU #2 include the data packet #2 of the K data packets, but the PDCP entity does not receive the data packet #1 of the PDCP PDU #1 and the PDCP PDU #1 corresponding to the K data packets, the PDCP entity can directly deliver the data packet #2 to the upper layer after recovering the PDCP SDU, instead of waiting until the PDCP PDU #1 is received and the PDCP SDUs corresponding to the PDCP PDU #1 and the PDCP PDU #2 are recovered, and then sequentially deliver the data packet #1 and the data packet #2 to the upper layer.
As shown in fig. 8, even if the data packet received by the receiving device is discontinuous, the receiving device can restore all the original data. Therefore, under the condition that the receiving device starts the out-of-order delivery function of the PDCP entity, the decoding process of the SDAP entity or the NC entity is not influenced, and the time delay requirement of data transmission can be ensured.
Optionally, the network decoding operation is implemented by the PDCP layer, and the method 700 further includes: the receiving device turns off the reordering function of the PDCP entity. For example, the receiving device sets a reordering timer of the PDCP entity to 0. That is, if the PDCP entity receives PDCP PDUs which do not arrive in sequence from a lower layer (e.g., RLC layer), the PDCP entity can directly send the packets contained in the out-of-sequence PDCP PDUs to the decoder for decoding. For example, if the PDCP entity receives PDCP PDU #2 from the lower layer, the PDCP PDU #2 includes the packet #2, but the PDCP entity does not receive PDCP PDU #1, and the PDCP PDU #1 includes the packet #1, the PDCP entity may directly send the packet #2 to the decoder for decoding, and does not need to wait until the PDCP PDU #1 is received, and then deliver the packet #1 and the packet #2 to the decoder in sequence for decoding.
Optionally, when the network decoding operation is implemented by the PDCP layer, there is also a problem when the PDCP entity of the receiving device slips the PDCP reception window lower limit. Alternatively, when the network decoding operation is implemented by the RLC layer, there is also a problem when the RLC entity of the receiving device slides the RLC reception window lower limit in the RLC Acknowledgement Mode (AM).
The following describes a problem when the PDCP entity and/or the RLC entity of the receiving device slides the lower limit of the reception window in case of introducing the NC function with reference to fig. 10 to 13.
Fig. 10 is a schematic flow chart of a method for data processing provided by an embodiment of the present application. As shown in fig. 10, method 1000 may include S1010 and S1020, each step in method 1000 being described in detail below.
S1010, a first entity receives T data packets, wherein the T data packets belong to K data packets, the K data packets comprise N systematic packets and (K-N) redundant packets, and the K data packets and N original data packets meet the coding relation, or the K data packets comprise N original data packets and (K-N) redundant packets, and the redundant packets in the K data packets and the N original data packets meet the coding relation; the N original data packets are obtained by performing one or more of the following processes on the M original data: split, cascade, or fill. T, K, N and M are both positive integers, K is greater than T, and K is greater than N.
For more description of the K packets, reference may be made to S710 above.
It should be appreciated that in S1010, the T packets received by the first entity are included in the PDU. That is, the first entity receives T PDUs, which correspond to T data packets, that is, each PDU includes one data packet (for example, each data packet is subjected to header processing to generate a PDU).
S1020, when the reordering timer is in the on state, the first entity sends part or all of the T data packets to the decoder for decoding.
Wherein, the starting of the reordering timer is triggered by the PDU with the largest SN in the PDUs which are not continuous with the SN of the previous PDU in the T PDUs. For example, as shown in fig. 13, when the first entity receives PDU1 (SN = 1), PDU3 (SN = 3), PDU5 (SN = 5), and PDU6 (SN = 6), PDU3 and PDU5 are discontinuous with the SN of the previous PDU respectively (PDU 3 is discontinuous with the SN of PDU1, and PDU5 is discontinuous with the SN of PDU 3), and since the SN of PDU5 is greater than the SN of PDU3, the opening of the reordering timer is triggered by PDU 5.
And the part of the T data packets comprises data packets except for the data packets with the serial numbers which are continuous with the serial number of the data packet at the lower limit of the receiving window. It should be understood that, when the reordering timer is in the on state, if the first entity sends part of the T packets to the decoder for decoding, the first entity sends the packets with the serial numbers consecutive to the serial number of the packet at the lower limit of the receiving window among the T packets to the decoder for decoding before the reordering timer is turned on. It should be noted that, since T data packets correspond to T PDUs one to one, the sequence number of each data packet in the T data packets can be considered to be the SN of the corresponding PDU. T PDUs are received within the receive window.
For example, the sequence number of the packet at the lower limit of the receive window is 1, when the first entity receives PDU1 (SN = 1), PDU2 (SN = 2), PDU5 (SN = 5), and PDU6 (SN = 6), the reordering timer is triggered by PDU5, and when the reordering timer is in an on state, the first entity may deliver the packet included in PDU1, the packet included in PDU2, the packet included in PDU5, and the packet included in PDU6 to the decoder for decoding. Or before the reordering timer is started, the first entity delivers the data packet contained in the PDU1 and the data packet contained in the PDU2 to the decoder for decoding, when the reordering timer is in the starting state, the first entity delivers the data packet contained in the PDU5 and the data packet contained in the PDU6 to the decoder for decoding,
illustratively, the first entity is a PDCP entity, the T PDUs are T PDCP PDUs, the reordering timer is a PDCP reordering timer, and the receive window is a PDCP receive window.
Also illustratively, the first entity is an RLC entity, the T PDUs are T RLC PDUs, the reordering timer is an RLC reordering timer, and the receive window is an RLC receive window.
In S1020, even if the reordering timer is already on, the first entity will send some or all of the T packets to the decoder for processing. That is, in S1020, the first entity does not care whether the SN of the received PDU is consecutive to the SN of the previous PDU, and as long as the first entity receives a PDU from the lower layer, the data packet included in the PDU may be sent to the decoder for processing. It will be appreciated that the first entity will only pass packets contained in PDUs received within the receive window to the decoder for processing, and will not pass packets contained in PDUs received outside the receive window to the decoder for processing.
In the following, referring to fig. 11, the first entity is a PDCP entity, the T PDUs are PDCP DPUs, and the interface window is a PDCP interface window.
For example, as shown in fig. 11, after the sending PDCP entity performs network coding function processing on PDCP SDUs with sequence numbers 1, 2, and 3 by using the NC function, PDCP PDUs with SNs of 0, 1, 2, and 3 are obtained. Wherein, the PDCP PDU with SN 0 and the PDCP PDU with SN 1 contain system packets, and the PDCP PDU with SN 2 and the PDCP PDU with SN 3 contain redundant packets. Or, the PDCP PDU with SN 0 and the PDCP PDU with SN 1 contain original data packets, and the PDCP PDU with SN 2 and the PDCP PDU with SN 3 contain redundant packets.
Accordingly, as shown in fig. 11, the receiving PDCP entity receives PDCP PDUs with SNs of 0, 2, and 3, respectively (i.e., T = 3). When the receiving PDCP entity receives the PDCP PDU with SN 0, the receiving PDCP entity sends the system packet or the original data packet included in the PDCP PDU with SN 0 to the decoder for processing, because the sequence number of the PDCP PDU with SN 0 is equal to the lower limit of the receiving window. When the receiving PDCP entity receives the PDCP PDU with SN 2, the sequence numbers of the PDCP PDU with SN 2 and the PDCP PDU with SN 0 are found to be discontinuous, namely the PDCP PDU with SN 2 arrives out of order, so that a PDCP reordering timer is started, and the redundant packet contained in the PDCP PDU with SN 2 is continuously sent to a decoder for decoding. After the receiving PDCP entity receives the PDCP PDU with SN 2, the receiving PDCP entity sends the redundant packet contained in the PDCP PDU with SN 2 to the decoder for processing even if the PDCP reordering timer is already in the on state.
Optionally, the method 1000 further comprises: after performing network decoding operation on the T data packets to recover the M original data, the first entity stops/restarts the reordering timer.
Optionally, the method 1000 further comprises: and after the network decoding operation is performed on the T data packets to recover M original data, the first entity slides the lower limit of the receiving window. It should be understood that the T PDUs described above are received within the receive window.
Illustratively, the first entity slides the lower bound of the receive window to the sequence number of the first PDU not yet delivered to the decoder. For example, the transmitting device transmits PDU0 (SN = 0), PDU1 (SN = 1), PDU2 (SN = 2), PDU3 (SN = 3), in which PDU0 to PDU3 are network-coded from SDU1 to SDU3. When the first entity receives PDU0, PDU2 and PDU3, the first entity sends the data packet contained in PDU0, the data contained in PDU2 and the data packet contained in PDU3 to the decoder for processing, and recovers SDU1, SDU2 and SDU3 according to the data packet contained in PDU0, the data contained in PDU2 and the data packet contained in PDU 3. PDU2 triggers the reordering timer to start due to the discontinuity of the SN of PDU2 with the received PDU 0. If the first entity does not receive other PDUs before the decoder recovers SDU1 to SDU3, the first entity slides the lower receive window limit to 4 (i.e. the sequence number of PDU4 (SN = 4) not submitted to the decoder) after recovering SDU1 to SDU3. At this point, the reordering timer may be stopped or restarted. If the first entity receives PDU4, PDU5 (SN = 5) and PDU7 (SN = 7) after submitting the data packet included in PDU0, the data included in PDU2 and the data packet included in PDU3 to the decoder and before the decoder recovers SDU1 to SDU3, the first entity continues to deliver the data packet included in PDU4 and the data packet included in PDU5 to the decoder for decoding processing because PDU4 and PDU5 are consecutive to SN of PDU3, and restarts the reordering timer and slides the lower limit of the receiving window to 7 (i.e., the sequence number of PDU7 that is not delivered to the decoder) after the decoder recovers SDU1 to SDU3.
Still referring to fig. 11, the first entity is a PDCP entity, the T PDUs are PDCP DPUs, and the interface window is a PDCP interface window.
For example, as shown in fig. 11, after the receiving PDCP entity sends the data packets included in the PDCP PDUs with SN of 0, 2, and 3 to the decoder for decoding, the PDCP SDUs with sequence numbers of 1, 2, and 3 can be recovered. Further, the receiving PDCP entity instructs the PDCP reordering timer to restart/stop and the receiving PDCP entity slides the PDCP receive window lower limit. That is, even though the receiving PDCP entity does not receive the PDCP PDU with SN of 1, since the receiving PDCP entity decodes and recovers PDCP SDU1, PDCP SDU2 and PDCP SDU3 according to the data packets included in the received PDCP PDUs with SNs of 0, 2 and 3, respectively, the receiving PDCP entity stops/restarts the PDCP reordering timer and slides the lower limit of the PDCP receiving window forward. The restarting of the reordering timer means that the reordering timer is bound with the next PDU meeting the condition of starting the reordering timer and is in an open state.
It should be noted that, in S1020, after the first entity recovers the original data according to the T data packets, the original data may be delivered through the first delivery method or the second delivery method in the method 700. Specifically, after the first entity recovers an original data according to the system packet or the original data packet in the T data packets, the recovered original data may be submitted in the first submitting manner in the method 700; alternatively, after the first entity performs network decoding according to the T data packets to recover M original data, the original data may be submitted in the second submission method of the method 700.
In the embodiment of the application, once the first entity can decode the received T data packets to recover M original data, the lower limit of the receiving window is slid, so as to solve the problem that when the first entity slides the lower limit of the receiving window under the condition of introducing the NC function. In addition, the first entity does not pay attention to whether the received PDUs are continuous or not, even if the T PDUs received by the first entity comprise PDUs with discontinuous sequence numbers, under the state that the reordering timing is opened, the first entity can send all or part of the received T data packets to the decoder for decoding processing, and does not need to wait until the reordering timer is overtime or the PDUs with continuous sequence numbers are received, and then send the received data packets to the decoder for processing, so that the original data can be quickly recovered, and the time delay of data transmission is reduced.
Fig. 12 is a schematic flow chart of a method for data processing provided by an embodiment of the present application. As shown in fig. 12, method 1200 may include S1210 and S1220, each step in method 1200 being described in detail below.
S1210, a first entity receives T data packets, wherein the T data packets belong to K data packets, the K data packets include N systematic packets and (K-N) redundant packets, and the K data packets and N original data packets meet coding relations, or the K data packets include N original data packets and (K-N) redundant packets, and the redundant packets in the K data packets and the N original data packets meet coding relations; the N original data packets are obtained by performing one or more of the following processes on the M original data: split, cascade, or fill. T, K, N and M are both positive integers, K is greater than T, and K is greater than N.
For more description of the K packets, reference may be made to S710 above.
It should be appreciated that in S1210, the data packet received by the first entity is included in a PDU. That is, the first entity receives T PDUs, where the T PDUs correspond to T data packets, that is, each PDU includes one data packet (e.g., each data packet is subjected to header processing to generate a PDU).
S1220, only when the reordering timer expires, the first entity sends at least one of the following packets to the decoder for decoding:
the data packets contained in the out-of-order arriving PDU of the T PDUs, the data packets contained in all PDUs received before the out-of-order arriving PDU and not yet delivered to the decoder.
Wherein, the starting of the reordering timer is triggered by the PDU with the largest SN in the PDUs which are not continuous with the SN of the previous PDU in the T PDUs. For example, as shown in fig. 13, when the first entity receives PDU1 (SN = 1), PDU3 (SN = 3), PDU5 (SN = 5), and PDU6 (SN = 6), PDU3 and PDU5 are discontinuous with the SN of the previous PDU respectively (PDU 3 is discontinuous with the SN of PDU1, and PDU5 is discontinuous with the SN of PDU 3), since the SN of PDU5 is greater than the SN of PDU3, the start of the reordering timer is triggered by PDU 5.
Illustratively, the first entity is a PDCP entity, the T PDUs are T PDCP PDUs, and the reordering timer is a PDCP reordering timer.
Also illustratively, the first entity is an RLC entity, the T PDUs are RLC PDUs, and the reordering timer is an RLC reordering timer.
For example, as shown in fig. 13, PDU1, PDU3, PDU5, and PDU6 are received by the first entity (i.e., T = 4). Specifically, when the first entity receives PDU1, since the sequence number of PDU1 is equal to the lower limit of the receive window, the first entity directly sends the data packet contained in PDU1 to the decoder for processing after receiving PDU 1. The first entity can know that PDU2 is not received according to the received PDU3, and can know that PDU4 is not received according to the received PDU5, that is: PDU3, PDU5 and PDU6 are considered to be received out of order, so the first entity starts a reordering timer after PDU5 is received. Because the reordering timer is already started, the first entity will not send the data packets contained in PDU3, PDU5, and PDU6 that arrive out of order to the decoder for processing, and only after the reordering timer times out, the first entity will send the data packets contained in PDU3, PDU5, and PDU6 to the decoder for processing.
Optionally, the method 1200 further comprises: after the reordering timer expires, the first entity slides the lower limit of the receiving window. It should be understood that the T PDUs described above are received within the receive window.
Illustratively, the first entity slides the lower bound of the receive window to the sequence number of the first PDU not yet delivered to the decoder. For example, the transmitting device transmits PDU1 (SN = 1), PDU2 (SN = 2), PDU3 (SN = 3), PDU4 (SN = 4), in which PDU1 to PDU4 are network-coded from SDU1 to SDU3. When the first entity receives PDU1, PDU3 and PDU4, the first entity sends the data packet contained in PDU1 to the decoder for processing, and after the time-out of the reordering timer, the data packet contained in PDU3 and the data packet contained in PDU4 are sent to the decoder for processing. If the first entity does not receive other PDUs before the reordering timer expires, the first entity slides the lower limit of the reception window to 5 (i.e. the sequence number of PDU5 (SN = 5) not submitted to the decoder) after the reordering timer expires. If PDU5, PDU6 (SN = 6) and PDU8 (SN = 8) are received by the first entity before the reordering timer expires, after the timer expires, the first entity delivers the packet included in PDU3, the packet included in PDU4, the packet included in PDU5 and the packet included in PDU6 to the decoder for decoding, and slides the lower limit of the receiving window to 8 (i.e., the sequence number of PDU8 not delivered to the decoder).
Illustratively, the first entity is a PDCP entity and the receive window is a PDCP receive window.
Also illustratively, the first entity is an RLC entity and the receive window is an RLC receive window.
It should be noted that in S1220, after the first entity recovers the original data according to the T data packets, the original data may be delivered through the first delivery method or the second delivery method in the method 700. Specifically, after the first entity recovers an original data according to the system packet or the original data packet in the T data packets, the recovered original data may be submitted in the first submitting manner in the method 700; alternatively, after the first entity performs network decoding according to the T data packets to recover M original data, the original data may be submitted in the second submission method of the method 700.
In the embodiment of the present application, if there is a PDU that arrives out of order in T PDUs received by the first entity, after the reordering timer expires, the first entity sends at least one of a data packet included in the PDU that arrives out of order in T PDUs and data packets included in all PDUs that are received before the PDU that arrives out of order and that have not yet been delivered to the decoder for decoding, so as to facilitate obtaining sequential original data after decoding the packet network. In addition, the change of the existing method for sliding the lower limit of the receiving window when the reordering timer overtimes is avoided.
It is to be understood that the various embodiments described herein may be implemented as stand-alone solutions or combined in accordance with inherent logic and are intended to fall within the scope of the present application.
The method for transmitting data provided by the present application is described in detail above, and the communication device provided by the present application is described below.
Referring to fig. 14, fig. 14 is a schematic block diagram of a communication device provided herein. As shown in fig. 14, the communication apparatus 1400 includes a transceiving unit 1410 and a processing unit 1420.
A transceiving unit 1410, configured to receive T data packets, where the T data packets belong to K data packets, where the K data packets include N systematic packets and (K-N) redundant packets, and the K data packets and the N original data packets satisfy a coding relationship, or the K data packets include N original data packets and (K-N) redundant packets, and a redundant packet in the K data packets and the N original data packets satisfy a coding relationship; the N original data packets are obtained by performing one or more of the following processes on M original data: splitting, cascading or filling, wherein T, K, N and M are positive integers, K is greater than T, and K is greater than N;
the transceiving unit 1410 is further configured to submit the original data in a first submission manner or a second submission manner; the first delivery method comprises the following steps: when network decoding operation is carried out on the T data packets to recover one original data in the M original data, submitting the original data through the first entity; the second delivery mode comprises: when the network decoding operation is performed on the T data packets to recover the M original data, the M original data are submitted through the first entity.
Optionally, in an embodiment, the transceiver 1410 is further configured to receive first indication information from an access network device, where the first indication information is used in a delivery manner used by the terminal device, and the delivery manner includes the first delivery manner or the second delivery manner.
Optionally, in an embodiment, the network decoding operation is implemented by an SDAP layer or an NC layer, the NC layer is located between the PDCP layer and the SDAP layer, and the processing unit 1420 is configured to start an out-of-order delivery function of the PDCP entity.
Optionally, in an embodiment, the network decoding operation is implemented by a PDCP layer, and the processing unit 1420 is configured to turn off a reordering function of the PDCP entity.
Optionally, in an embodiment, the network decoding operation is implemented by a PDCP layer, and the transceiving unit 1410 is further configured to: when the PDCP reordering timer is in an opening state, all the part acquisition in the T data packets is sent to a decoder for decoding processing, wherein the opening of the PDCP reordering timer is triggered by the PDCP PDU with the maximum SN in the PDCP PDUs which are discontinuous with the SN of the previous PDCP PDU in the T PDCP PDUs, the T PDCP PDUs correspond to the T data packets, the part in the T data packets comprises the data packets except the data packets with continuous sequence numbers of the data packets with the lower limit of a PDCP receiving window, and the T PDCP PDUs are received in the PDCP receiving window.
Optionally, in an embodiment, after the T data packets undergo a network decoding operation to recover the M original data, the processing unit 1420 is further configured to stop the PDCP reordering timer.
Optionally, in an embodiment, after the T data packets are subjected to a network decoding operation to recover the M original data, the processing unit 1420 is further configured to slide a lower limit of a PDCP receiving window.
Optionally, in an embodiment, the network decoding operation is implemented by a PDCP layer, and the transceiving unit 1410 is further configured to: when the PDCP reordering timer is overtime, at least one of the following data packets is sent to a decoder for decoding processing: the starting of the PDCP reordering timer is triggered by the PDCP PDU with the maximum SN in the PDCP PDUs which are not continuous with the SN of the previous PDCP PDU in the T PDCP PDUs, and the T PDCP PDUs correspond to the T data packets.
Additionally, in various embodiments, processing unit 1420 is used to perform processing and/or operations implemented internally by the sender in addition to sending and receiving actions. Transceiving unit 1410 is configured to perform receiving and/or transmitting actions.
Referring to fig. 15, fig. 15 is a schematic structural diagram of a communication apparatus provided in the present application. As shown in fig. 15, the communication apparatus 1500 includes: one or more processors 1510, one or more memories 1520, and one or more communication interfaces 1530. The processor 1510 is configured to control the communication interface 1530 to send and receive signals, the memory 1520 is configured to store a computer program, and the processor 1510 is configured to call and execute the computer program from the memory 1520, so that the communication apparatus 1500 performs the processes and/or operations performed by the transmitting end in the method embodiments of the present application.
For example, the processor 1510 may have the functions of the processing unit 1420 shown in fig. 14, and the communication interface 1530 may have the functions of the transceiving unit 1410 shown in fig. 14.
In one implementation, the communication apparatus 1500 may be a receiving device in the method embodiment. In such implementations, the communication interface 1530 may be a transceiver. The transceiver may include a receiver and/or a transmitter. Alternatively, the processor 1510 may be a baseband device and the communication interface 1530 may be a radio frequency device.
In another implementation, the communication apparatus 1500 may be a chip (or a system of chips) installed in a receiving device. In such implementations, the communication interface 1530 may be an interface circuit or an input/output interface.
Wherein the dashed box behind a device (e.g., a processor, a memory, or a communication interface) in fig. 15 indicates that the device may be more than one.
Optionally, the memory and the processor in the foregoing device embodiments may be physically separate units, or the memory and the processor may be integrated together, which is not limited herein.
Furthermore, the present application also provides a computer-readable storage medium, in which computer instructions are stored, and when the computer instructions are executed on a computer, the operations and/or processes executed by a receiving device in the method embodiments of the present application are executed.
The present application also provides a computer-readable storage medium having stored thereon computer instructions which, when executed on a computer, cause operations and/or processes performed by a first entity in method embodiments of the present application to be performed.
Furthermore, the present application also provides a computer program product, which includes computer program code or instructions to cause operations and/or processes performed by a receiving device in the method embodiments of the present application to be performed when the computer program code or instructions are run on a computer.
The present application also provides a computer program product comprising computer program code or instructions to cause operations and/or processes performed by the first entity in the method embodiments of the present application to be performed when the computer program code or instructions are run on a computer.
In addition, the present application also provides a chip, where the chip includes a processor, and a memory for storing a computer program is provided separately from the chip, and the processor is configured to execute the computer program stored in the memory, so that a transmitting end installed with the chip performs the operations and/or processes performed by the receiving device in any one of the method embodiments.
Further, the chip may also include a communication interface. The communication interface may be an input/output interface, an interface circuit, or the like. Further, the chip may further include the memory.
The present application further provides a chip, where the chip includes a processor, and a memory for storing a computer program is provided separately from the chip, and the processor is configured to execute the computer program stored in the memory, so that a receiving end installed with the chip performs the operation and/or the processing performed by the first entity in any one of the method embodiments.
Further, the chip may also include a communication interface. The communication interface may be an input/output interface, an interface circuit, or the like. Further, the chip may further include the memory.
Optionally, the number of the processors may be one or more, the number of the memories may be one or more, and the number of the memories may be one or more.
Furthermore, the present application also provides a communication apparatus (for example, a chip or a system-on-a-chip), which includes a processor and a communication interface, wherein the communication interface is configured to receive (or be referred to as input) data and/or information and transmit the received data and/or information to the processor, the processor processes the data and/or information, and the communication interface is further configured to output (or be referred to as output) the data and/or information processed by the processor, so that the operation and/or processing performed by the receiving device in any one of the method embodiments is performed.
The present application also provides a communication device (for example, a chip or a system-on-chip) including a processor and a communication interface, wherein the communication interface is configured to receive (or be called as input) data and/or information and transmit the received data and/or information to the processor, the processor processes the data and/or information, and the communication interface is further configured to output (or be called as output) the data and/or information processed by the processor, so that the operation and/or the processing performed by the first entity in any one of the method embodiments is performed.
Furthermore, the present application also provides a communication apparatus, comprising at least one processor coupled with at least one memory, the at least one processor being configured to execute computer programs or instructions stored in the at least one memory, so that the communication apparatus performs the operations and/or processes performed by the receiving device in any one of the method embodiments.
The present application further provides a communication apparatus comprising at least one processor coupled with at least one memory, the at least one processor being configured to execute computer programs or instructions stored in the at least one memory to cause the communication apparatus to perform the operations and/or processes performed by the first entity in any of the method embodiments.
In addition, the present application also provides a communication device comprising a processor and a memory. Optionally, a transceiver may also be included. Wherein the memory is used for storing a computer program, and the processor is used for executing the computer program stored in the memory and controlling the transceiver to transmit and receive signals, so that the communication device can execute the operation and/or process executed by the receiving device in any one of the method embodiments.
The present application further provides a communication device comprising a processor and a memory. Optionally, a transceiver may also be included. Wherein the memory is used for storing the computer program, and the processor is used for operating the computer program stored in the memory and controlling the transceiver to transmit and receive signals, so as to make the communication device execute the operation and/or process executed by the first entity in any one of the method embodiments.
The memory in the embodiments of the present application may be either volatile memory or nonvolatile memory, or may include both volatile and nonvolatile memory. The non-volatile memory may be a read-only memory (ROM), a Programmable ROM (PROM), an Erasable PROM (EPROM), an electrically Erasable EPROM (EEPROM), or a flash memory. Volatile memory can be Random Access Memory (RAM), which acts as external cache memory. By way of example, but not limitation, many forms of RAM are available, such as Static Random Access Memory (SRAM), dynamic Random Access Memory (DRAM), synchronous Dynamic Random Access Memory (SDRAM), double data rate SDRAM, enhanced SDRAM, SLDRAM, synchronous Link DRAM (SLDRAM), and Direct Rambus RAM (DRRAM). It should be noted that the memory of the systems and methods described herein is intended to comprise, without being limited to, these and any other suitable types of memory.
The methods provided by the above embodiments may be implemented in whole or in part 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 may include 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 on a computer readable storage medium or transmitted from one computer readable storage medium to another, for example, from one website, computer, server, or data center to another website, computer, server, or data center via wire (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, such as a server, a data center, etc., that includes one or more available media.
In the embodiments of the present application, "at least one" means one or more, and "a plurality" means two or more. "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, wherein A and B can be singular or plural. The character "/" generally indicates that the former and latter associated objects are in an "or" relationship. "at least one of the following" or similar expressions refer to any combination of these items, including any combination of the singular or plural items. For example, at least one (one) of a, b, or c, may represent: a, b, c; a and b; a and c; b and c; or a and b and c. Wherein a, b and c can be single or multiple.
Those of ordinary skill in the art will appreciate that the various illustrative elements and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware or combinations of computer software and electronic hardware. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the implementation. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present application.
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 several embodiments provided in the present application, it should be understood that the disclosed system, apparatus and method may be implemented in other ways. For example, the above-described apparatus embodiments are merely illustrative, and for example, the division of the units is only one logical division, and other divisions may be realized in practice, for example, a plurality of units or components may be combined or integrated into another system, or some features may be omitted, or not executed. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection through some interfaces, devices or units, and may be in an electrical, mechanical or other form.
The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of the embodiment.
In addition, functional units in the embodiments of the present application may be integrated into one processing unit, or each unit may exist alone physically, or two or more units are integrated into one unit.
The functions, if implemented in the form of software functional units and sold or used as a stand-alone product, may be stored in a computer readable storage medium. Based on such understanding, the technical solutions of the present application or portions thereof that substantially contribute to the prior art may be embodied in the form of a software product, which is stored in a storage medium and includes several instructions for causing a computer device (which may be a personal computer, a server, or a network device) to execute all or part of the steps of the methods described in the embodiments of the present application. And the aforementioned storage medium includes: various media capable of storing program codes, such as a usb disk, a removable hard disk, a read-only memory (ROM), a Random Access Memory (RAM), a magnetic disk, or an optical disk.
The above description is only for the specific embodiments of the present application, but the scope of the present application is not limited thereto, and any person skilled in the art can easily conceive of the changes or substitutions within the technical scope of the present application, and shall be covered by the scope of the present application. Therefore, the protection scope of the present application shall be subject to the protection scope of the claims.

Claims (11)

1. A method for transmitting data, the method being applied to a receiving device, the method comprising:
receiving T data packets through a first entity, wherein the T data packets belong to K data packets, the K data packets comprise N systematic packets and (K-N) redundant packets, and the K data packets and N original data packets meet the coding relation; or the K data packets comprise N original data packets and (K-N) redundant packets, and the redundant packets in the K data packets and the N original data packets meet the coding relation; the N original data packets are obtained by performing one or more of the following processes on M original data: splitting, cascading or filling, wherein T, K, N and M are positive integers, K is greater than T, and K is greater than N;
submitting the original data in a first submitting mode or a second submitting mode through the first entity;
the first delivery mode comprises the following steps: when one original data in the M original data is recovered by carrying out network decoding operation on the T data packets, submitting the original data through the first entity;
the second delivery mode comprises: and submitting the M original data through the first entity when the M original data are recovered by carrying out network decoding operation on the T data packets, wherein T is not less than N.
2. The method of claim 1, wherein the receiving device is a terminal device, the method further comprising:
receiving first indication information from an access network device, where the first indication information is used to indicate a delivery mode used by the terminal device, and the delivery mode includes the first delivery mode or the second delivery mode.
3. The method according to claim 1 or 2, wherein the network transcoding operation is implemented by a service data adaptation protocol, SDAP, layer or a network coding, NC, layer, the NC layer being located between a packet data convergence protocol, PDCP, layer and the SDAP layer, the method further comprising:
and starting the out-of-order delivery function of the PDCP entity.
4. The method of claim 1 or 2, wherein the network coding operation is implemented by a PDCP layer, and wherein the method further comprises:
the reordering function of the PDCP entity is turned off.
5. The method of claim 1 or 2, wherein the first entity is a PDCP entity and the network coding operation is implemented by a PDCP layer, the method further comprising:
when the PDCP reordering timer is in an opening state, all or part of the T data packets are sent to a decoder for decoding processing through the first entity, wherein the opening of the PDCP reordering timer is triggered by the PDCP PDU with the maximum SN in the PDCP PDUs which are discontinuous with the SN of the sequence number of the previous PDCP PDU in the received T PDCP protocol data units, the T PDCP PDUs correspond to the T data packets, the part of the T data packets comprises the data packets except the data packets with continuous sequence numbers of the data packets with the lower limit of a PDCP receiving window, and the T PDCP PDUs are received in the PDCP receiving window.
6. The method of claim 5, further comprising:
and stopping the PDCP reordering timer through the first entity after the M original data are recovered by carrying out the network decoding operation on the T data packets.
7. The method of claim 5 or 6, further comprising:
and after the network decoding operation is carried out on the T data packets to recover the M original data, sliding the lower limit of the PDCP receiving window through the first entity.
8. A communications apparatus, comprising at least one processor coupled with at least one memory, the at least one processor configured to execute a computer program or instructions stored in the at least one memory to cause the communications apparatus to perform the method of any of claims 1-7.
9. A chip comprising a processor and a communication interface for receiving data and/or information and transmitting the received data and/or information to the processor, the processor processing the data and/or information to perform the method of any one of claims 1 to 7.
10. A computer-readable storage medium having stored thereon computer instructions which, when run on a computer, cause the method of any one of claims 1 to 7 to be implemented.
11. A computer program product, characterized in that it comprises computer program code which, when run on a computer, causes the method according to any one of claims 1 to 7 to be implemented.
CN202110932673.0A 2021-08-13 2021-08-13 Data transmission method and communication device Pending CN115706621A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202110932673.0A CN115706621A (en) 2021-08-13 2021-08-13 Data transmission method and communication device
PCT/CN2022/111611 WO2023016506A1 (en) 2021-08-13 2022-08-11 Method for transmitting data and communication apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110932673.0A CN115706621A (en) 2021-08-13 2021-08-13 Data transmission method and communication device

Publications (1)

Publication Number Publication Date
CN115706621A true CN115706621A (en) 2023-02-17

Family

ID=85180262

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110932673.0A Pending CN115706621A (en) 2021-08-13 2021-08-13 Data transmission method and communication device

Country Status (2)

Country Link
CN (1) CN115706621A (en)
WO (1) WO2023016506A1 (en)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9537759B2 (en) * 2012-01-31 2017-01-03 Massachusetts Institute Of Technology Multi-path data transfer using network coding
CN107634823B (en) * 2017-07-19 2020-03-20 西南交通大学 Data transmission method of transmission control protocol based on network coding
CN110351747B (en) * 2018-04-04 2024-03-01 北京三星通信技术研究有限公司 Method and apparatus for configuring relay node
CN113114410A (en) * 2020-01-10 2021-07-13 维沃移动通信有限公司 Data processing method, configuration method and communication equipment

Also Published As

Publication number Publication date
WO2023016506A1 (en) 2023-02-16

Similar Documents

Publication Publication Date Title
CN108476098B (en) Method and apparatus for transmitter/receiver buffer optimization
WO2017049647A1 (en) Data sending method, data receiving method and relevant device
US20220271865A1 (en) Communication Method, Network Device, and Terminal
TWI757425B (en) Method and apparatus for transmitting information
US20220416934A1 (en) Data processing method and apparatus
US20220368494A1 (en) Uplink re-transmission with compact memory usage
US20230075613A1 (en) Terminal device
US20230139754A1 (en) Coding method and apparatus
WO2023005909A1 (en) Timeout packet loss method and apparatus in network coding scenario, and readable storage medium
WO2022228467A1 (en) Data transmission method and apparatus, and readable storage medium
CN108173632B (en) Data processing method, sending device and receiving device
WO2022133918A1 (en) Decoding failure processing method, apparatus and system
CN113316922B (en) Apparatus, method, device and computer readable storage medium for transmitting data packets
WO2019238014A1 (en) Method and device for transmitting feedback information
CN116208232A (en) Data transmission method, device and system
WO2023005885A1 (en) Data forwarding method and apparatus in switching scenario
WO2023016506A1 (en) Method for transmitting data and communication apparatus
WO2023273973A1 (en) Communication method and communication apparatus
WO2019134071A1 (en) Feedback information sending method, receiving method, device and system
WO2024199031A1 (en) Communication method and communication apparatus
US20240364464A1 (en) Communication method and apparatus
WO2023046029A1 (en) Data transmission method and apparatus, and readable storage medium
WO2023221832A2 (en) Communication method and apparatus
WO2023143431A1 (en) Communication method and communication apparatus
WO2022227845A1 (en) Data processing method, apparatus and system

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