Communication method and apparatus

By transmitting the residual coefficient information of video or image data units and other information independently, the problem of multiple retransmissions caused by channel errors is solved, and data transmission with low latency and high error resistance is achieved.

WO2026157854A1PCT designated stage Publication Date: 2026-07-30HUAWEI TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
HUAWEI TECH CO LTD
Filing Date
2025-12-30
Publication Date
2026-07-30

AI Technical Summary

Technical Problem

Existing video or image data transmission requires multiple retransmissions in the event of channel errors, resulting in significant resource overhead and latency, and making it difficult for the receiving end to correctly recover data units.

Method used

The data unit is divided into residual coefficient information and other information, which are transmitted independently as the first sub-data unit and the second sub-data unit, respectively. The receiving end restores the original data unit according to the indication information, thereby reducing the impact of bit errors.

Benefits of technology

It reduces data retransmissions and transmission delays when there are channel errors, improves the error resistance of data transmission and the adaptability of low-latency budgets, and reduces the amount of modification required to the protocol.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2025147589_30072026_PF_FP_ABST
    Figure CN2025147589_30072026_PF_FP_ABST
Patent Text Reader

Abstract

A communication method and apparatus, which facilitate an improvement in the bit error resistance capability of data units such as videos or images. The method comprises: after a first data unit from an application layer is received, a data sending end determining, on the basis of residual coefficient information of the first data unit, a first sub-data unit associated with the first data unit, determining, on the basis of information of the first data unit other than the residual coefficient information, a second sub-data unit associated with the first data unit, and separately sending the first sub-data unit and the second sub-data unit to a data receiving end; and the data receiving end restoring the first data unit on the basis of the first sub-data unit and the second sub-data unit, and reporting the restored first data unit to the application layer.
Need to check novelty before this filing date? Find Prior Art

Description

Communication methods and devices

[0001] This application claims priority to Chinese patent application No. 202510127692.4, filed with the State Intellectual Property Office of China on January 27, 2025, entitled "Communication Method and Apparatus", the entire contents of which are incorporated herein by reference. Technical Field

[0002] This application relates to the field of communications, and more particularly to communication methods and apparatus. Background Technology

[0003] Current video and image services typically employ separate source-channel coding for transmission. This means that at the transmitting end, the application layer performs source coding / decoding on the data to be transmitted, while the physical layer performs channel coding / decoding on the received transport blocks. Common video and image source coding processes usually include entropy coding, a lossless coding step. However, in data units encoded using entropy coding, there are dependencies between data points. Even if the data decoded at the receiving end has a few errors, the entire data unit may not be correctly recovered. Ensuring error-free transmission may require multiple retransmissions at the transmitting end.

[0004] However, when transmitting data units such as video or images using the current transmission method, multiple retransmissions can lead to significant resource overhead and latency in the event of channel errors. Summary of the Invention

[0005] This application provides a communication method and apparatus that helps improve the error resistance of data units such as video or images.

[0006] Firstly, a communication method is provided, which can be applied to a first communication device, such as the first communication device or a communication module / processing module in the first communication device, or a circuit or chip in the first communication device responsible for communication functions (such as a modem chip, also known as a baseband chip, or a system-on-chip (SoC) chip containing a modem core, or a system-in-package (SIP) chip), or a circuit or chip in the first communication device responsible for processing functions (such as a graphics processing unit (GPU), an artificial intelligence (AI) processor, or an application-specific integrated circuit (ASIC)). The method includes: acquiring a first data unit from an application layer; and transmitting a first sub-data unit and a second sub-data unit, wherein the first sub-data unit is determined based on residual coefficient information of the first data unit, and the second sub-data unit is determined based on other information of the first data unit besides the residual coefficient information.

[0007] Based on the above scheme, after acquiring the first data unit from the application layer, the first communication device, acting as the data transmitter, determines the first sub-data unit associated with the first data unit based on the residual coefficient information of the first data unit, and determines the second sub-data unit associated with the first data unit based on other information besides the residual coefficient information. Then, it transmits the first and second sub-data units respectively. In other words, during the transmission of data from the first data unit in the application layer, the residual coefficient information and other information of the first data unit are transmitted independently. This eliminates error propagation between the residual coefficient information and other information, preventing the first data unit from being completely unable to be decoupled in the event of channel errors. This helps reduce the amount of data retransmitted during channel errors, reduces the transmission pressure caused by data retransmission, and lowers data transmission latency, thus improving adaptability to real-time services with low latency budgets.

[0008] In one possible design, the first data unit includes encoded data of the video or image after being encoded by the application layer.

[0009] In one possible design, the first sub-data unit and the second sub-data unit are determined based on the decoded data obtained by entropy decoding of the first data unit.

[0010] In one possible design, the first sub-data unit includes M first data items. Sending the first sub-data unit includes sending M second data items, where the m-th second data item among the M second data items is obtained by first encoding the m-th first data item among the M first data items, where M is a positive integer and m is a positive integer less than or equal to M.

[0011] Based on this scheme, the first sub-data unit can be divided into multiple first data for independent transmission, so that the first sub-data unit can retransmit data at the granularity of the first data, which helps to further reduce the pressure of data retransmission caused by the first sub-data unit after channel error occurs.

[0012] In one possible design, the communication method further includes: sending first indication information, the first indication information being used to determine M first data based on M second data, the first indication information being used to indicate at least one of the following: the value of M, the length of each first data in the M first data, the length of each second data in the M second data, the code rate of the first encoding of the M first data, the binarization parameter of each first data in the M first data, or the index of each second data in the M second data.

[0013] Based on this scheme, the data receiver can reconstruct the M first data items arranged sequentially in the first sub-data unit according to the received first instruction information and M second data items, which helps to improve the accuracy of the data receiver in reconstructing the first sub-data unit and the first data unit.

[0014] In one possible design, the communication method further includes: determining M second data based on M first data through a first protocol layer; wherein the first protocol layer is a protocol data unit (PDU) layer, or the first protocol layer is a protocol layer located between the PDU layer and the application layer.

[0015] In one possible design, the communication method further includes: determining M second data based on M first data through a second protocol layer; wherein the second protocol layer is any one of the physical layer, the media access control (MAC) layer, the radio link control (RLC) layer, the packet data convergence protocol (PDCP) layer, or the service data adaptation protocol (SDAP) layer.

[0016] In one possible design, the communication method further includes: acquiring second indication information, which is used to indicate the first encoding of M first data.

[0017] In one possible design, the second sub-data unit includes N third data. Sending the second sub-data unit includes sending N fourth data, where the nth fourth data is obtained by performing a second encoding on the nth third data among the N third data. N is a positive integer and n is a positive integer less than or equal to N.

[0018] Based on this scheme, the second sub-data unit can be divided into multiple second data for independent transmission, allowing the second sub-data unit to retransmit data at the granularity of the second data, which helps to further reduce the pressure on the second sub-data unit to retransmit data after channel errors occur.

[0019] In one possible design, the communication method further includes: sending third indication information, the third indication information being used to determine N third data based on N fourth data, the fourth indication information being used to indicate at least one of the following: the value of N, the parameters of the second encoding of the N third data, the length of each of the N fourth data, or, the index of each of the N fourth data in the N fourth data.

[0020] Based on this scheme, the data receiver can reconstruct the N sequentially arranged third data items included in the second sub-data unit according to the received third instruction information and N fourth data items, which helps to improve the accuracy of the data receiver in reconstructing the second sub-data unit and the first data unit.

[0021] In one possible design, transmitting the first sub-data unit and the second sub-data unit includes: transmitting at least one first data packet and at least one second data packet, wherein the first data packet includes part or all of the information of the first sub-data unit, and the second data packet includes part or all of the information of the second sub-data unit.

[0022] Based on this scheme, the first sub-data unit and the second sub-data unit are transmitted in separate packets, which further avoids error propagation between the first sub-data unit and the second sub-data unit and improves the error resistance of the first data unit during transmission.

[0023] In one possible design, the first and second data packets are Internet Protocol (IP) packets.

[0024] In one possible design, the first data packet includes fourth indication information, which indicates at least one of the following: the first data packet includes part or all of the information of the first sub-data unit, the frame index associated with the first sub-data unit, the stripe index associated with the first sub-data unit, and the position of the first data packet in at least one first data packet.

[0025] Based on this scheme, the data receiving end can accurately reconstruct the first data unit based on the first sub-data unit and the second sub-data unit, and the application layer of the data receiving end can directly obtain the first data unit, reducing the impact of applying the above method on the application layer.

[0026] In one possible design, the communication method further includes: determining a first sub-data unit and a second sub-data unit based on a first data unit through a first protocol layer; wherein the first protocol layer is a Protocol Data Unit (PDU) layer, or the first protocol layer is a protocol layer located between the PDU layer and the application layer.

[0027] Secondly, a communication method is provided, which can be applied to a second communication device, such as the second communication device or a communication module / processing module within the second communication device, or a circuit or chip responsible for communication functions in the second communication device (such as a modem chip, also known as a baseband chip, or a system-on-a-chip (SoC) chip containing a modem core, or a system-in-package (SIP) chip), or a circuit or chip responsible for processing functions in a first communication device (such as a graphics processing unit (GPU), an artificial intelligence (AI) processor, or an application-specific integrated circuit (ASIC)). The method includes: receiving a first sub-data unit and a second sub-data unit, wherein the first sub-data unit is determined based on residual coefficient information of the first data unit, and the second sub-data unit is determined based on other information of the first data unit besides the residual coefficient information; and reporting the first data unit to the application layer, wherein the first data unit is determined based on the first and second sub-data units.

[0028] Based on this scheme, during data transmission in the first data unit, the residual coefficient information and other information of the first data unit are transmitted independently. This eliminates error propagation between the residual coefficient information and other information, preventing the first data unit from being completely undecipherable in the event of channel errors. This helps reduce the amount of data retransmitted during channel errors, reducing the transmission pressure and latency caused by data retransmission. Furthermore, after receiving the first and second sub-data units, the data receiver can reconstruct the first data unit from them and send it to the application layer for processing. The application layer does not need to change its functions and processing schemes during data transmission, which helps reduce the impact of applying this scheme on the current protocol and reduces the amount of protocol modifications.

[0029] In one possible design, the first data unit includes encoded data of the video or image after being encoded by the application layer.

[0030] In one possible design, the first sub-data unit and the second sub-data unit are determined based on the decoded data obtained by entropy decoding of the first data unit.

[0031] In one possible design, the first sub-data unit includes M first data, and receiving the first sub-data unit includes: receiving M second data, wherein the m-th second data among the M second data is obtained by first encoding the m-th first data among the M first data, where M is a positive integer and m is a positive integer less than or equal to M.

[0032] In one possible design, the communication method further includes: receiving first indication information, the first indication information being used to determine M first data based on M second data, the first indication information being used to indicate at least one of the following: the value of M, the length of each first data in the M first data, the length of each second data in the M second data, the code rate of the first encoding of the M first data, the binarization parameter of each first data in the M first data, or the index of each second data in the M second data.

[0033] In one possible design, the communication method further includes: determining M first data based on M second data through a first protocol layer; wherein the first protocol layer is a PDU layer, or the first protocol layer is a protocol layer located between the PDU layer and the application layer.

[0034] In one possible design, the communication method further includes: determining M first data based on M second data through a second protocol layer; wherein the second protocol layer is any one of the physical layer, MAC layer, RLC layer, PDCP layer, or SDAP layer.

[0035] In one possible design, the second sub-data unit includes N third data. Receiving the second sub-data unit includes receiving N fourth data, wherein the nth fourth data among the N fourth data is obtained by performing a second encoding on the nth third data among the N third data, where N is a positive integer and n is a positive integer less than or equal to N.

[0036] In one possible design, the communication method further includes: receiving third indication information, the third indication information being used to determine N third data based on N fourth data, the third indication information being used to indicate at least one of the following: the value of N, the parameters of the second encoding of the N third data, the length of each of the N fourth data, or, the index of each of the N fourth data in the N fourth data.

[0037] In one possible design, receiving the first sub-data unit and the second sub-data unit includes: receiving at least one first data packet and at least one second data packet, wherein the first data packet includes part or all of the information of the first sub-data unit, and the second data packet includes part or all of the information of the second sub-data unit.

[0038] In one possible design, the first and second data packets are Internet Protocol (IP) packets.

[0039] In one possible design, the first data packet includes fourth indication information, which indicates at least one of the following: the first data packet includes part or all of the information of the first sub-data unit, the frame index associated with the first sub-data unit, the stripe index associated with the first sub-data unit, and the position of the first data packet in at least one first data packet.

[0040] In one possible design, the communication method further includes: determining the first data unit based on the first sub-data unit and the second sub-data unit through a first protocol layer; wherein the first protocol layer is a Protocol Data Unit (PDU) layer, or the first protocol layer is a protocol layer located between the PDU layer and the application layer.

[0041] The technical effects of any design method in the second aspect can be referenced from the technical effects of similar design methods in the first aspect, and will not be elaborated further here.

[0042] Thirdly, a communication device is provided for implementing various methods. The communication device includes modules, units, or means corresponding to the implementation of the methods, which can be implemented in hardware, software, or by hardware executing corresponding software. The hardware or software includes one or more modules or units corresponding to the functions.

[0043] In some possible designs, the communication device may include a processing module and a transceiver module. The processing module can be used to implement the processing functions in any of the above aspects and any possible implementations thereof. The transceiver module may include a receiving module and a transmitting module, respectively used to implement the receiving function and the transmitting function in any of the above aspects and any possible implementations thereof.

[0044] In some possible designs, the transceiver module can consist of transceiver circuits, transceivers, transceivers, or communication interfaces.

[0045] Fourthly, a communication device is provided, comprising: a processor and a memory; the memory being used to store computer instructions that, when executed by the processor, cause the communication device to perform the method described in either aspect.

[0046] Fifthly, a communication device is provided, comprising: a processor and a communication interface; the communication interface being used to communicate with a module outside the communication device; the processor being used to execute computer programs or instructions to cause the communication device to perform the method described in any one of these aspects.

[0047] A sixth aspect provides a communication device comprising: at least one processor; said processor being configured to execute a computer program or instructions stored in a memory to cause the communication device to perform the method described in any of the aspects. The memory may be coupled to the processor, or may be independent of the processor.

[0048] In a seventh aspect, a communication device (e.g., the communication device may be a chip or a chip system) is provided, the communication device including a processor for implementing the functions involved in either the first aspect or the second aspect.

[0049] In some possible designs, the communication device includes a memory for storing necessary program instructions and data.

[0050] In some possible designs, when the device is a chip system, it can be composed of chips or contain chips and other discrete components.

[0051] It is understood that the communication device provided in the third to seventh aspects may be the first communication device in the first aspect, or a module or unit (e.g., a chip, chip system, or circuit) in the first communication device that performs the methods / operations / steps / actions described in the first aspect, or a module or unit that can be used in conjunction with the first communication device, or a logic node, logic module, or software that can realize all or part of the functions of the first communication device; or the communication device may be the second communication device in the second aspect, or a module or unit (e.g., a chip, chip system, or circuit) in the second communication device that performs the methods / operations / steps / actions described in the second aspect, or a module or unit that can be used in conjunction with the second communication device, or a logic node, logic module, or software that can realize all or part of the functions of the second communication device.

[0052] It is understandable that when the communication device provided by any of the third to seventh aspects is a chip, the sending action / function of the communication device can be understood as outputting information, and the receiving action / function of the communication device can be understood as inputting information.

[0053] Eighthly, a computer-readable storage medium is provided that stores a computer program or instructions that, when executed on a communication device, enable the communication device to perform the method described in any one of the first to second aspects.

[0054] A ninth aspect provides a computer program product containing instructions that, when run on a communication device, enables the communication device to perform the method described in any one of the first to second aspects.

[0055] In a tenth aspect, a communication system is provided, comprising a first communication device and a second communication device. The first communication device is configured to perform the method described in any possible design of the first aspect, and the second communication device is configured to perform the method described in any possible design of the second aspect.

[0056] The technical effects of any of the design methods in aspects three through ten can be found in the technical effects of different design methods in aspects one and two, and will not be repeated here. Attached Figure Description

[0057] Figure 1 is a schematic diagram of a protocol stack provided in this application;

[0058] Figure 2 is a schematic diagram of a video encoding method provided in this application;

[0059] Figure 3 is a schematic diagram of the architecture of a communication system provided in this application;

[0060] Figure 4 is a flowchart illustrating a communication method provided in this application;

[0061] Figure 5 is a flowchart illustrating a data transmission method provided in this application;

[0062] Figure 6 is a flowchart illustrating another communication method provided in this application;

[0063] Figures 7-9 are schematic diagrams of the communication device provided in this application. Detailed Implementation

[0064] In the description of this application, unless otherwise stated, " / " indicates that the objects before and after are in an "or" relationship. For example, A / B can mean A or B. "And / or" in this application is merely a description of the relationship between the related objects, indicating that there can be three relationships. For example, A and / or B can mean: A exists alone, A and B exist simultaneously, and B exists alone. A and B can be singular or plural.

[0065] In the description of this application, unless otherwise stated, "multiple" means two or more. "At least one of the following" or similar expressions refer to any combination of these items, including any combination of a single item or a plurality of items. For example, at least one of a, b, or c can mean: a, b, c, ab, ac, bc, or abc, where a, b, and c can be single or multiple.

[0066] Furthermore, to facilitate a clear description of the technical solutions in the embodiments of this application, the terms "first" and "second" are used in the embodiments of this application to distinguish identical or similar items with substantially the same function and effect. Those skilled in the art will understand that the terms "first" and "second" do not limit the quantity or execution order, and the terms "first" and "second" are not necessarily different.

[0067] In the embodiments of this application, the terms "exemplary" or "for example" are used to indicate that something is an example, illustration, or description. Any embodiment or design that is described as "exemplary" or "for example" in the embodiments of this application should not be construed as being more preferred or advantageous than other embodiments or design. Specifically, the use of terms such as "exemplary" or "for example" is intended to present the relevant concepts in a specific manner to facilitate understanding.

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

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

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

[0071] In this application, unless otherwise specified, the same or similar parts between the various embodiments can be referred to each other. In the various embodiments of this application, unless otherwise specified or there is a logical conflict, the terminology and / or descriptions between different embodiments are consistent and can be mutually referenced. Technical features in different embodiments can be combined to form new embodiments based on their inherent logical relationships. The following descriptions of the embodiments of this application do not constitute a limitation on the scope of protection of this application.

[0072] To facilitate understanding of the technical solutions of the embodiments of this application, a brief introduction to the relevant technologies of this application is given below.

[0073] 1. Video transmission:

[0074] Currently, the commonly used video transmission method is split source-channel coding. In the process of transmitting video images through a wireless transmission network, the application layer usually performs source coding on the video to be transmitted first. The protocol data unit (PDU) layer encapsulates the data received from the application layer into Internet Protocol (IP) packets, which are then processed by multiple protocol layers and transmitted to the physical layer (PHY). After channel coding, the physical layer maps the data onto physical resources and transmits it to the receiving end through the air interface.

[0075] Taking video transmission in a wireless transmission network for 5G (5th generation mobile communication technology) networks within the 3rd generation partnership project (3GPP) as an example, a schematic diagram of the 5G protocol stack can be found in Figure 1. The protocol layers between the terminal and access network equipment (e.g., base stations) include PHY, MAC, RLC, PDCP, and SDAP layers. PHY can be understood as layer 1 (L1) of the protocol stack between the terminal and access network equipment, while MAC, RLC, PDCP, and SDAP layers can be understood as layer 2 (L2) of the protocol stack between the terminal and access network equipment. The protocol layers between access network equipment and core network equipment (e.g., user plane function (UPF)) include the physical layer (or L1), data link layer (or L2), user datagram protocol (UDP) / internet protocol (IP) layer, and general packet radio service (GPRS) tunneling protocol user plane. The above-described protocol stack is merely an example and should not be construed as limiting, such as having fewer or more layers than the example, or lacking a UPD / IP layer or SDAP layer.

[0076] During uplink transmission of video services, the application (APP) client in the terminal performs source encoding on the video. Then, the PDU layer encapsulates the data from the APP into IP packets. These IP packets pass through the SDAP, PDCP, RLC, and MAC layers before reaching the PHY. The PHY performs channel encoding on the data received from each transport block (TB) at the MAC layer before transmitting it to the network side over the air interface. Similarly, during downlink transmission of video services, the APP server performs source encoding on the video. The source-encoded data is transmitted to the UPF in the core network. The PDU layer of the UPF encapsulates the data from the APP into IP packets, which are then transmitted through GTP-U, UDP / IP, L2, and L1 layers before reaching the base station. When the base station sends video data to the terminal, the process is similar to that of the terminal sending video data. The video data passes through the SDAP, PDCP, RLC, and MAC layers for transmission and processing before reaching the PHY. The PHY performs channel encoding on each TB of data before transmitting it to the terminal over the air interface.

[0077] Uplink and downlink are used to indicate the direction of data transmission. Uplink transmission can be understood as data transmission from the terminal side to the network side, and downlink transmission can be understood as data transmission from the network side to the terminal side.

[0078] 2. Source coding:

[0079] Currently, commonly used video source encoders include the H.26X series encoders, such as the H.264, H.265, and H.266 encoders. When the source encoder is an H.26X series encoder, the common video transmission process can be seen in Figure 2(a). After the video to be transmitted arrives at the application layer on the data sender's side, the application layer uses the H.26X encoder to perform source encoding on the video (or video frame, image frame, etc.). Then, the data units generated by source encoding are transmitted to the physical layer for channel encoding. Finally, the channel-encoded data is transmitted to the physical layer on the data receiver's side via channel transmission. The physical layer of the data receiver performs channel decoding on the received data and transmits the data units generated by channel decoding to the upper protocol layer. After receiving the data units, the application layer of the data receiver performs source decoding on the data units according to the encoder used for source encoding to obtain the video to be transmitted.

[0080] The source encoder mainly includes multiple modules such as prediction (e.g., intra-frame prediction or inter-frame prediction), transform (e.g., discrete cosine transform, DCT), quantization, and entropy coding. In the process of source coding video or images, a video frame or image is typically divided into multiple slices. The encoded data (or source coding results) corresponding to different slices are processed by the aforementioned modules and then encapsulated into different network abstraction layer units (NALUs). These encapsulated NALUs are then transmitted over the network.

[0081] Optionally, a slice may also include one or more slice segments, and the encoded data corresponding to different slice segments may also be encapsulated into different NALUs.

[0082] For example, taking the H.264 encoder used by the application layer for source encoding of video as an example, the data structure in the source encoding process can be referred to in Figure 2(b). After receiving the video to be transmitted, the application layer can divide the video into multiple groups of pictures (GOPs). Each GOP includes one or more frames, and the multiple frames contained in a GOP can include at least one of I-frames, P-frames, or B-frames. In the source encoding process, each frame can be divided into one or more slices. The encoded data corresponding to different slices are encapsulated into different NALUs. The NALU includes a NALU header and a NALU payload. The NALU header includes information such as slice type and priority, and the NALU payload includes the data encoded by the slice header and the data encoded by the slice data.

[0083] Currently, entropy coding in the H.26X series encoders is lossless coding. Commonly used entropy coding algorithms mainly include context-based adaptive variable length coding (CAVLC) and context-based adaptive binary arithmetic coding (CABAC). Taking the source coding of a slice as an example, in the CAVLC algorithm, each element in the slice is directly encoded into a binary bit stream by looking up a table. During the encoding of elements within a slice, the code table used for encoding is adaptively adjusted based on the already encoded syntax elements. In the CABAC algorithm, each element in the slice is variable-length binarized, and the binarized data is arithmetic encoded. During the encoding of elements within a slice, the context probability model is adaptively updated based on the input bits. In other words, regardless of which entropy coding algorithm the H.26X series encoder uses, the entropy-coded data of each element within a slice always has a dependency relationship.

[0084] Then, regardless of which entropy coding algorithm is used, there are dependencies between the entropy-coded data within a data unit (such as a slice). In the event of channel errors, the entropy decoding process is prone to error propagation, leading to the cliff effect. For example, variable-length coding and adaptive updates of the coding table in CAVLC can cause error propagation, as can variable-length binarization and adaptive updates of the context probability model in CABAC. In other words, when channel quality (e.g., signal-to-noise ratio, SNR) falls below a threshold causing air interface transmission errors, error propagation during entropy decoding may prevent the correct recovery of the entire data unit, resulting in poor data transmission quality, significant data retransmission pressure, and high data transmission latency.

[0085] Based on this, embodiments of this application provide a communication method. During the transmission of data from the application layer, the data transmitter, after obtaining a first data unit from the application layer, determines a first sub-data unit associated with the first data unit based on its residual coefficient information, and determines a second sub-data unit associated with the first data unit based on other information besides the residual coefficient information. Then, the first and second sub-data units are transmitted separately. In other words, during the transmission of data from the first data unit from the application layer, the data transmitter transmits the residual coefficient information and other information of the first data unit independently. This eliminates error propagation between the residual coefficient information and other information, preventing the first data unit from being completely unresolved in the event of channel errors. This helps reduce the amount of data retransmitted during channel errors, reduces the transmission pressure caused by data retransmission, and lowers data transmission latency, thereby improving adaptability to real-time services with low latency budgets. Furthermore, after receiving the first sub-data unit and the second sub-data unit, the data receiving end can reconstruct the first data unit based on the first and second sub-data units, and send the reconstructed first data unit to the application layer for processing. The application layer does not need to change the functions and processing schemes in the data transmission process, which helps to reduce the impact of applying the above scheme on the current protocol and reduce the amount of protocol modification.

[0086] The technical solutions of this application embodiment can be used in various communication systems. These systems can be 3GPP communication systems, such as fourth-generation (4G) systems like Long Term Evolution (LTE), fifth-generation (5G) systems like New Radio (NR), NTN, vehicle-to-everything (V2X) systems, LTE and 5G hybrid networking systems, device-to-device (D2D) communication systems, machine-to-machine (M2M) communication systems, Internet of Things (IoT) systems, and other future communication systems. The communication system can also be a non-3GPP communication system or other future communication systems. The application is not limited to non-3GPP communication systems.

[0087] The communication systems described above are merely illustrative examples, and are not limited to those described herein. The communication systems provided in this application do not impose any limitations on the solutions described herein. This will be explained uniformly here and will not be repeated below.

[0088] Figure 3 illustrates a possible, non-limiting system diagram. As shown in Figure 3, the communication system 20 includes a radio access network (RAN) 200 and a core network (CN) 300. RAN 200 includes at least one RAN node (210a and 210b in Figure 3, collectively referred to as 210) and at least one terminal (220a-220j in Figure 3, collectively referred to as 220). RAN 200 may also include other RAN nodes, such as wireless relay devices and / or wireless backhaul devices (not shown in Figure 3). Terminal 220 is wirelessly connected to RAN node 210. RAN node 210 is wirelessly or wired connected to core network 300. The core network equipment in core network 300 and RAN node 210 in RAN 200 can be different physical devices, or they can be the same physical device integrating core network logical functions and radio access network logical functions.

[0089] RAN 200 can be a 3GPP-related cellular system, such as a 4G, 5G mobile communication system, or a future-oriented evolution system. RAN 200 can also be an open access network (O-RAN or ORAN), a cloud radio access network (CRAN), or a wireless fidelity (WiFi) system. RAN 200 can also be a communication system that integrates two or more of the above systems.

[0090] RAN node 210, sometimes also referred to as access network equipment, RAN entity, or access node, constitutes part of the communication system and is used to help terminals achieve wireless access. Multiple RAN nodes 210 in communication system 20 can be of the same type or different types. In some scenarios, the roles of RAN node 210 and terminal 220 are relative. For example, network element 220i in Figure 3 can be a helicopter or drone, which can be configured as a mobile base station. For terminals 220j accessing RAN 200 through network element 220i, network element 220i is a base station; but for base station 210a, network element 220i is a terminal. RAN node 210 and terminal 220 are sometimes both referred to as communication devices. For example, network elements 210a and 210b in Figure 3 can be understood as communication devices with base station functions, and network elements 220a-220j can be understood as communication devices with terminal functions.

[0091] In one possible scenario, a RAN node can be a base station, an evolved NodeB (eNodeB), an access point (AP), a transmission reception point (TRP), a next-generation NodeB (gNB), a transmission point (TP), a mobile switching center, a next-generation base station in a future mobile communication system, a base station in a future mobile communication system, or an access node in a WiFi system, etc. A RAN node can be a macro base station (as shown in Figure 3, 210a), a micro base station or indoor station (as shown in Figure 3, 210b), a relay node or donor node, or a radio controller in a CRAN scenario. Optionally, a RAN node can also be a server, a wearable device, a vehicle, or in-vehicle equipment, etc. For example, the access network equipment in vehicle-to-everything (V2X) technology can be a roadside unit (RSU). All or part of the functions of the RAN node in this application can also be implemented through software functions running on hardware, or through virtualization functions instantiated on a platform (e.g., a cloud platform). The RAN node in this application can also be a logical node, logical module, or software that can implement all or part of the functions of the RAN node.

[0092] In another possible scenario, multiple RAN nodes collaborate to assist the terminal in achieving wireless access, with each RAN node performing a portion of the base station's functions. For example, RAN nodes can be central units (CUs), distributed units (DUs), CU-control plane (CPs), CU-user plane (UPs), or radio units (RUs), etc. CUs and DUs can be separate entities or included in the same network element, such as a baseband unit (BBU). RUs can be included in radio frequency equipment or radio frequency units, such as remote radio units (RRUs), active antenna units (AAUs), or remote radio heads (RRHs).

[0093] The CU-CP is responsible for control plane functions, mainly including radio resource control (RRC) and the corresponding packet data convergence protocol (PDCP-C). PDCP-C is primarily responsible for control plane data encryption / decryption, integrity protection, and data transmission. The CU-UP is responsible for user plane functions, mainly including the service data adaptation protocol (SDAP) and the corresponding PDCP (PDCP-U). SDAP is primarily responsible for processing core network data and mapping flows to bearers. PDCP-U is primarily responsible for data plane encryption / decryption, integrity protection, header compression, sequence number maintenance, and data transmission. The CU-CP and CU-UP are connected via the E1 interface. The CU-CP represents the gNB connected to the core network via the NG interface and to the DU via the F1 interface control plane (i.e., F1-C). The CU-UP is connected to the DU via the F1 interface user plane (i.e., F1-U). Of course, another possible implementation is that PDCP-C is also in CU-UP.

[0094] In different systems, CU (or CU-CP and CU-UP), DU, or RU may have different names, but those skilled in the art will understand their meaning. For example, in an ORAN system, CU can also be called O-CU (open CU), DU can also be called O-DU, CU-CP can also be called O-CU-CP, CU-UP can also be called O-CU-UP, and RU can also be called O-RU. For ease of description, this application uses CU, CU-CP, CU-UP, DU, and RU as examples. Any of the units among CU (or CU-CP, CU-UP), DU, and RU in this application can be implemented through software modules, hardware modules, or a combination of software and hardware modules.

[0095] Terminals can also be called terminal devices, user equipment (UE), mobile stations, mobile terminals, etc. Terminals can be widely used in various scenarios, such as device-to-device (D2D), vehicle-to-everything (V2X) communication, machine-type communication (MTC), Internet of Things (IoT), machine-to-machine (M2M) communication, virtual reality, augmented reality, industrial control, autonomous driving, telemedicine, smart grids, smart furniture, smart offices, smart wearables, intelligent transportation, and smart cities.

[0096] For example, a terminal can be a UE, access terminal, satellite terminal, terminal unit, terminal station, mobile station, mobile station, remote station, remote terminal, mobile device, wireless communication device, terminal agent, or terminal device in a 5G network or a PLMN that evolves from 5G. Terminals can be cellular phones, cordless phones, session initiation protocol (SIP) phones, wireless local loop (WLL) stations, smartphones (such as mobile phones), personal digital assistants (PDAs), handheld devices with wireless communication capabilities, computing devices or other processing devices connected to a wireless modem, in-vehicle devices (such as cars, bicycles, electric vehicles, airplanes, ships, trains, high-speed trains, etc.) or wearable devices (such as smartwatches, smart bracelets, pedometers, smart glasses, etc.), intelligent robots, robotic arms, workshop equipment, virtual reality (VR) devices, augmented reality (AR) devices, wireless terminals in industrial control, wireless terminals in self-driving, wireless terminals in telemedicine or telehealth services, wireless terminals in smart grids, wireless terminals in transportation safety, wireless terminals in smart cities, and wireless terminals in smart homes. Wireless terminals in the home (e.g., refrigerators, televisions, air conditioners, electricity meters, etc.), wireless data cards, tablet computers, laptops, handheld computers, mobile internet devices (MID), wireless modems, handsets, laptop computers, machine type communication (MTC) terminals, point of sale (POS) machines, customer-premises equipment (CPE), light user equipment (light UE), reduced capability user equipment (REDCAP UE), and flying equipment (e.g., intelligent robots, hot air balloons, drones, airplanes), etc.

[0097] Alternatively, a terminal can also be a terminal with communication capabilities in the Internet of Things (IoT) (or a device that performs terminal functions), such as a terminal in V2X (i.e., a vehicle device, such as a vehicle unit, vehicle module, vehicle chip, on-board unit (OBU), or telematics box (T-BOX, etc.).

[0098] Optionally, the terminal can be mobile or fixed.

[0099] In some embodiments, the terminal device may also be a device or module that is connected to the communication system shown above and has corresponding communication functions. The terminal device typically includes a communication module that performs the corresponding communication functions, or a chip responsible for communication functions within the terminal device, such as a modem chip (also known as a baseband chip), or a system-on-a-chip (SoC) chip or system-in-a-package (SIP) chip containing a modem module. The terminal device also contains program instructions for performing the corresponding communication functions.

[0100] It should be noted that the communication system described in the embodiments of this application is for the purpose of more clearly illustrating the technical solutions of the embodiments of this application, and does not constitute a limitation on the technical solutions provided in the embodiments of this application. As those skilled in the art will know, with the evolution of network architecture and the emergence of new business scenarios, the technical solutions provided in the embodiments of this application are also applicable to similar technical problems.

[0101] The communication method provided in this application embodiment will be described below with reference to the communication system shown in Figure 3, taking the interaction between communication devices as an example. It should be noted that the message names, parameter names, or information names between communication devices are just examples, and other names may be used in other embodiments. The method provided in this application does not specifically limit these names.

[0102] It is understood that in the embodiments of this application, the communication device may execute some or all of the steps in the embodiments of this application. These steps or operations are merely examples, and the embodiments of this application may also execute other operations or variations thereof. Furthermore, the steps may be executed in different orders as presented in the embodiments of this application, and it is not necessary to execute all the operations in the embodiments of this application.

[0103] It is understood that this application uses a communication device as an example to illustrate the interaction, but this application does not limit the execution subject of the interaction. For example, the method executed by the communication device in this application can also be executed by a module applied to the communication device (e.g., a chip, chip system, or processor), or by a logic node, logic module, or software that can implement all or part of the functions of the communication device.

[0104] Furthermore, in this application, "sending information" can be understood as one device sending information to another device, or it can also be understood as one logic module within a device sending information to another logic module. For example, "the communication device sending information" can be understood as the communication device sending information to another device, or it can be understood as logic module 1 (such as a processing module) in the communication device sending information to logic module 2 (such as a transceiver module) in the communication device.

[0105] In this application, "receiving information" can be understood as one device receiving information from another device, or it can also be understood as a logic module within a device receiving information from another logic module. For example, "the communication device receiving information" can be understood as the communication device receiving information from another device, or it can be understood as logic module 1 (such as a processing module) in the communication device receiving information from logic module 2 (such as a transceiver module) in the communication device.

[0106] In this application, "sending information to...communication device" or the relevant illustrations in the accompanying drawings can be understood as the destination of the information being the communication device. This can include sending information directly or indirectly to the communication device. Similarly, "receiving information from...communication device," "receiving information from...communication device," or "receiving information sent by...communication device," or the relevant illustrations in the accompanying drawings, can be understood as the source of the information being the communication device. This can include receiving information directly or indirectly from the communication device. Information may undergo necessary processing between the source and destination, such as format changes, but the destination can understand the valid information from the source. Similar expressions in this application can be interpreted similarly, and will not be elaborated further here.

[0107] Referring to Figure 4, which is a flowchart of a communication method provided in an embodiment of this application, the method may include the following steps:

[0108] S401, The terminal obtains the first data unit from the application layer.

[0109] For example, the terminal obtaining the first data unit from the application layer can be understood as the terminal directly receiving the first data unit from the application layer, or it can also be understood as the terminal decrypting the encrypted data from the application layer to obtain the first data unit.

[0110] As one possible implementation, the terminal obtains the first data unit from the application layer through the first protocol layer. Optionally, the first protocol layer is the PDU layer; or, the first protocol layer is a newly defined protocol layer located between the PDU layer and the application layer.

[0111] For example, the first protocol layer is a newly defined protocol layer located below and immediately adjacent to the application layer, or the first protocol layer is a newly defined protocol layer located above and immediately adjacent to the PDU layer.

[0112] In one possible implementation, the first data unit includes encoded data of a video or image after being encoded by the application layer.

[0113] For example, the first data unit may be a NALU generated by the application layer after source encoding of a video frame / image frame, or a NALU generated by the application layer after source encoding of a slice of a video frame / image, or a NALU generated by the application layer after source encoding of a strip segment of a video frame / image. When the first data unit includes encoded data of the video or image after source encoding by the application layer, since the application layer typically encrypts the NALU during transmission, the first communication device, after obtaining the first data unit, can decrypt the encrypted result of the first data unit based on the key information associated with the first data unit interacting with the application layer, thereby obtaining the first data unit from the application layer.

[0114] For example, the first communication device may send a key request message to the application layer (or the device corresponding to the application layer). After receiving the key request message, the application layer sends the key to the first communication device. The first communication device may first exchange key information with the application layer and then receive the first data unit from the application layer, or the first communication device may first receive the first data unit from the application layer and then exchange key information with the application layer, or the first communication device may simultaneously receive the key information and the first data unit from the application layer. There is no limitation on this.

[0115] As one possible implementation, the encoder used by the application layer to perform source coding on video or images can be an encoder containing an entropy coding module, such as the H.26X series encoder or its arithmetic encoder. That is, the first data unit includes the entropy-coded result of the video or image after entropy coding.

[0116] It should be noted that when the terminal acts as the data sender, the terminal can be understood as the first communication device. In this case, the first communication device can also be understood as any protocol layer other than the application layer (e.g., the first protocol layer) corresponding to the terminal.

[0117] S402, the terminal sends a first sub-data unit and a second sub-data unit to the first network device. Correspondingly, the first network device receives the first sub-data unit and the second sub-data unit from the terminal.

[0118] The first sub-data unit is determined based on the residual coefficient information of the first data unit, and the second sub-data unit is determined based on other information of the first data unit besides the residual coefficient information.

[0119] For example, the first sub-data unit is determined based on the residual coefficient information of the first data unit. This can be understood as the first sub-data unit including the encoding result of the residual coefficient of the first data unit, or it can also be understood as the first sub-data unit including the binarized bit sequence of the residual coefficient of the first data unit.

[0120] Optionally, residual coefficients may have other names, such as DCT coefficients, transform coefficients, etc., without limitation. It should be understood that if the source encoder performs prediction, transform (e.g., DCT), and quantization operations on the original data (or source data), the residual coefficients can be understood as the integer residual coefficients obtained after DCT and quantization, or the bit sequence obtained after further binarization. If the source encoder only performs some of the prediction, transform (e.g., DCT), and quantization operations on the original data, the residual coefficients can be understood as the data obtained after performing those operations. For example, if the source encoder only performs prediction on the original data, the residual coefficients can be understood as the data obtained after the prediction operation; or, if the source encoder only performs transform on the original data, the residual coefficients can be understood as the data obtained after the transform operation.

[0121] For example, the second sub-data unit is determined based on information other than the residual coefficient information of the first data unit. This can be understood as the second sub-data unit including the encoded result of the information other than the residual coefficient of the first data unit, or it can also be understood as the first sub-data unit including the binary bit sequence of the encoded result of the information other than the residual coefficient of the first data unit.

[0122] For example, the second sub-data unit may include control information of the first data unit, and / or the second sub-data unit may include motion vector information of the first data unit (e.g., data of motion vectors after entropy encoding).

[0123] It is worth mentioning that lossless compression coding can be understood as compression coding without data loss, or it can also be understood as compression coding with data loss less than a preset threshold. For example, compression coding with data loss less than 3%, 5%, or 10% is not restricted.

[0124] In one possible implementation, the first sub-data unit and the second sub-data unit are determined based on the decoded data obtained by entropy decoding of the first data unit.

[0125] In other words, when the first data unit includes encoded data of video or image after source encoding by the application layer, after obtaining the first data unit, the terminal can perform entropy decoding on the first data unit based on the relevant information of the encoding algorithm used by the application layer for source encoding of the first data unit, and obtain residual coefficient information, motion vector information, and control information corresponding to the payload of the first data unit. Then, the terminal can determine the first sub-data unit based on the residual coefficient information of the first data unit, and determine the second sub-data unit based on the other information of the first data unit except for the residual coefficient information. The meanings of the first sub-data unit and the second sub-data unit can be referred to the relevant descriptions in the foregoing embodiments, and will not be repeated here.

[0126] As one possible implementation, the terminal can determine the first sub-data unit and the second sub-data unit based on the first data unit through the first protocol layer. The meaning of the first protocol layer can be referred to the relevant description in the foregoing embodiments, and will not be repeated here.

[0127] In other words, the terminal can perform entropy decoding on the first data unit through the first protocol layer to obtain residual coefficient information, motion vector information and control information of the first data unit, and then generate the first sub-data unit based on the residual coefficient information of the first data unit through the first protocol layer, and generate the second sub-data unit based on other information of the first data unit except for the residual coefficient information.

[0128] The first network device can implement all or part of the functions of the PHY. For example, the first network device is a RAN node or a base station, or the first network device is a DU, or the first network device is a module in the RAN node used to implement all or part of the functions of the PHY.

[0129] For example, after the terminal generates a first sub-data unit and a second sub-data unit based on the first data unit through the first protocol layer, it can send the protocol data unit (PDU) or data packet generated based on the first sub-data unit and the PDU or data packet generated based on the second sub-data unit to the SDAP layer through the first protocol layer, respectively. Then, the first and second sub-data units are transmitted to the PHY through the SDAP layer, PDCP layer, RLC layer, and MAC layer in sequence. The terminal's PHY performs channel coding on the transport blocks generated based on the first and second sub-data units, respectively, and then sends data containing the channel coding results of the first and second sub-data units to the first network device through the air interface (e.g., through the physical uplink shared channel, PUSCH). The transport blocks generated based on the first and second sub-data units can correspond to different channel coding rates or different modulation and coding schemes. The channel coding scheme (MCS) is used to ensure reliable transmission of the second sub-data unit. For example, the channel coding rate or MCS order corresponding to the transport block generated based on the second sub-data unit is lower. After receiving uplink data from the terminal, the first network device performs channel decoding on the uplink data from the terminal according to the channel coding scheme adopted by the terminal, and obtains the data corresponding to the first and second sub-data units from the terminal (e.g., the transport block after channel decoding in the PHY, or the IP packet obtained after sequential transmission through the PHY, MAC layer, RLC layer, PDCP layer, and SDAP layer).

[0130] S403, the first network device sends data corresponding to the first sub-data unit and data corresponding to the second sub-data unit to the second network device. Correspondingly, the second network device receives the data corresponding to the first sub-data unit and the data corresponding to the second sub-data unit from the first network device.

[0131] The second network device can implement all or part of the functions of the first protocol layer. The meaning of the first protocol layer can be found in the descriptions in the foregoing embodiments and will not be repeated here. For example, the second network device is a UPF.

[0132] Taking the first network device as the base station and the second network device as the UPF as an example, after the first network device obtains the data corresponding to the first sub-data unit and the data corresponding to the second sub-data unit, it sequentially sends the data packets or PDUs generated according to the first sub-data unit and the data packets or PDUs generated according to the second sub-data unit through the GTP-U layer, UDP / IP layer, L2 layer and L1 layer. The second network device processes the received data through each protocol layer in the reverse processing order of the base station, and then obtains the data packets corresponding to the first sub-data unit and the data packets corresponding to the second sub-data unit.

[0133] It should be noted that the first network device and the second network device can be the same physical device that integrates core network logic functions and wireless access network logic functions. The physical device containing the first network device and the second network device can be understood as the second communication device. In this case, the interaction between the first network device and the second network device is an interaction within a physical device.

[0134] Optionally, the first network device can also send data corresponding to the first sub-data unit and data corresponding to the second sub-data unit to the second network device through a third network device. The third network device is used to implement all or part of the functions of the UPF.

[0135] In other words, if the first network device and the second network device cannot communicate directly, the first network device can send the first data unit and the second data unit to the second network device through the relay transmission of the third network device. In this case, the third network device is equivalent to a relay node in the data transmission process.

[0136] Based on this scheme, it is beneficial to expand the flexibility of the first and second sub-data units during transmission and their adaptability to different application scenarios, which will help improve the application prospects of the above communication scheme.

[0137] S404. The second network device reports the first data unit to the application layer.

[0138] In other words, after the second network device obtains the data packets corresponding to the first sub-data unit and the second sub-data unit, it recovers the first and second sub-data units by parsing the information in the packet header, reassembles and encodes the first and second sub-data units (for example, the same encoding used by the source encoder), recovers the first data unit based on the first and second sub-data units, and then reports the recovered first data unit to the application layer or the communication device used to implement all or part of the functions of the application layer.

[0139] For example, when the first data unit includes encoded data after entropy encoding of the first sub-data unit and the second sub-data unit, the second network device can reassemble the first sub-data unit and the second sub-data unit after obtaining the first sub-data unit and the second sub-data unit, obtain the entropy decoding result of the first data unit (denoted as the second data unit), and then entropy entropy encode the entropy decoding result of the first data unit (i.e. the second data unit) to restore the first data unit.

[0140] As one possible implementation, the second network device reconstructs the first data unit based on the first sub-data unit and the second sub-data unit through the first protocol layer, and reports the first data unit to the application layer through the first protocol layer. The meaning of the first protocol layer can be referred to the relevant description in the foregoing embodiments, and will not be repeated here.

[0141] Based on this scheme, during the transmission of encoded data (i.e., the first data unit) of video or image after application layer encoding, the terminal can first extract the content of the first data unit, generate the first sub-data unit based on the residual coefficient information of the first data unit, and generate the second sub-data unit based on the other information of the first data unit except for the residual coefficient. Then, the first sub-data unit and the second sub-data unit are transmitted independently. On the one hand, this avoids the data transmission risk caused by the error propagation that may be introduced by the application layer encoding of the first data unit, and on the other hand, it helps to reduce the data retransmission pressure caused by the first data unit in the event of channel bit errors. On the other hand, residual coefficients have a certain tolerance for bit errors. A small number of errors in residual coefficients will not significantly affect the visual effect of video or image viewing. However, other information besides residual coefficients (such as control information) needs to be transmitted with high reliability. By extracting residual coefficients and other information separately and transmitting them independently, different operations can be performed on the two parts of information. For example, even if bit errors occur after channel decoding of the residual coefficient data at the receiving end, the PHY can still submit it to the upper layer, avoiding the problems of large resource overhead or large delay caused by multiple retransmissions. Other data besides residual coefficients can be transmitted reliably by reducing the channel coding rate and adding redundancy, improving transmission efficiency while ensuring a good subjective experience.

[0142] Furthermore, after acquiring the first sub-data unit and the second sub-data unit, the second network device (or the second communication device) reports the first data unit reconstructed from the first sub-data unit and the second sub-data unit to the application layer. This allows the application layer to process the first data unit according to the currently common processing method without changing the data processing scheme of the application layer. This helps to reduce the amount of protocol modification brought about by applying the above scheme, improve the practicality of the above scheme, and reduce the application difficulty and cost.

[0143] The overall process of the communication method provided in this application has been described above. The specific implementation of each step above will be introduced below.

[0144] In one possible implementation, the first sub-data unit includes M first data items. In S402, the terminal sends M second data items to the first network device. Correspondingly, the first network device receives M second data items from the terminal. The M second data items are obtained by first encoding the M first data items, where M is a positive integer.

[0145] Optionally, the first encoding is an error-free propagation compression encoding, meaning that in the second data obtained after the first data is encoded, there is no sequential dependency between adjacent elements. Alternatively, the first encoding is a lossless encoding, meaning that the second data obtained after the first data is encoded has no data loss compared to the first data, or the data loss is less than a given threshold.

[0146] For example, when the first encoding is error-free propagation compression encoding, the first encoding may be AI-based compression encoding or compression matrix-based compression encoding, etc. When the first encoding is lossless encoding, the first encoding may be pulse code modulation (PCM) encoding, Huffman coding, or Shannon coding, etc. That is, when the terminal sends the first sub-data unit to the first network device, it first divides the first sub-data unit into M first data pieces, then performs a first encoding on the M first data pieces to obtain M second data pieces. Then, the first sub-data unit is sent to the first network device by sending the M second data pieces.

[0147] For example, the m-th second data in M ​​second data is obtained by encoding the m-th first data in M ​​first data, where M is a positive integer and m is a positive integer less than or equal to M. In other words, the index / sequence number of each second data in the M second data is the same as the index / sequence number of the corresponding first data in the M first data.

[0148] For example, the m-th second data among M second data is obtained by encoding the (M-m+1)-th first data among M first data, where M is a positive integer and m is a positive integer less than or equal to M. In other words, when reading M second data sequentially, the first second data read is obtained by encoding the last first data among M first data; the last second data is obtained by encoding the first first data among M first data.

[0149] Optionally, after performing the first encoding on the M first data, the encoded result obtained after the first encoding of the M first data can be binarized to obtain M second data; or, before performing the first encoding on the M first data, the M first data can be binarized. The binarization operation can be fixed-length binarization or variable-length binarization. For example, each value obtained after the first encoding can be represented by a fixed number of bits. Alternatively, the data obtained after the first encoding can be represented as the binarized result of a codeword index in a codebook (for example, the codebook can be predefined or pre-interacted between the transceiver; the codewords in the codebook can be scalars or vectors).

[0150] Optionally, the bitrates of the M first data points can be the same or different during the first encoding process.

[0151] For example, before performing the first encoding on M first data points, the terminal can acquire the channel quality (e.g., reference signal receiving quality (RSRQ), signal-to-noise ratio (SNR), signal-to-interference plus noise ratio (SINR), channel quality indicator (CQI), etc.) between the terminal and the first network device. Based on the acquired channel quality, the terminal determines the code rate uniformly used in the first encoding process for the M first data points. Alternatively, the terminal can periodically acquire the channel quality between the terminal and the first network device according to a certain channel quality measurement period, and determine the code rate for the first encoding of several first data points based on the most recently acquired channel quality during the first encoding process for the M first data points. Here, channel quality can also be referred to as channel state, channel conditions, etc.

[0152] As one possible implementation, the terminal also sends first indication information to the first network device. Correspondingly, the first network device receives the first indication information from the terminal. The first indication information is used by the receiving device (e.g., the first network device or the second network device) to determine M first data based on M second data.

[0153] For example, the first indication information is used to indicate at least one of the following: the value of M, the length of each of the M first data, the length of each of the M second data, the code rate of the first code of the M first data, the binarization parameter of each of the M first data (e.g., vector / scalar quantization codebook, number of quantization bits, etc.), or the index / sequence number of each of the M second data in the M second data.

[0154] The value of M can be used by the second network device or the first network device to detect whether all the first data contained in the first sub-data unit are obtained; one or more of the length of each first data in the M first data, the length of each second data in the M second data, or the code rate of the first code of the M first data can be used to guide the second network device or the first network device to restore the information of the corresponding first data according to each second data.

[0155] For example, the second network device or the first network device can divide the received bit stream into M second data blocks according to the length of each of the M second data blocks. Then, each second data block is first decoded according to the code rate of the first encoding of the M first data blocks. The code rate of the first encoding of the M first data blocks can also be determined based on the length of each of the M second data blocks. For example, the code rate of the first encoding of the m-th first data block is the ratio of the length of the m-th second data block to the length of the m-th first data block. The index / sequence number of each of the M second data blocks can be used by the second network device or the first network device to correctly sort each second data block (or each restored first data block) to accurately restore the M first data blocks arranged in sequence. The binarization parameter of each of the M first data blocks can be used by the second network device or the first network device to restore the first data blocks.

[0156] For example, if the encoding algorithm used in the first encoding is a preset algorithm, the first indication information may include: the value of M, the length of each of the M second data, the code rate of the first encoding of the M first data, and the index of each of the M second data in the M second data. The preset algorithm may be pre-agreed upon by the terminal and network device, or it may be pre-defined by the protocol.

[0157] For example, if the encoding algorithm used in the first encoding is a preset algorithm, and the first data needs to be additionally binarized before the first encoding, the first indication information may include: the value of M, the length of each of the M second data, the code rate of the first encoding of the M first data, the index of each of the M second data in the M second data, and the binarization parameters of each of the M first data. It should be noted that the binarization parameters of each first data can be the same or different, and there is no restriction.

[0158] For example, when the encoding algorithm of the first encoding, the number of first data, and the length of each first data are determined, the first indication information may include: the length of each second data in the M second data, the code rate of the first encoding of the M first data, and the index of each second data in the M second data.

[0159] Furthermore, for ease of understanding, this application embodiment is described using the example of dividing the first sub-data unit into M first data. The first data can also be called the first data block or the first coefficient block, etc. Similarly, the second data in this application embodiment can be called the second data block or the second information block, etc. These names can be used interchangeably.

[0160] Based on the above scheme, the first network device or the second network device can restore the M first data items arranged in sequence in the first sub-data unit according to the received first instruction information and M second data items, which helps to improve the accuracy of the second network device in restoring the first sub-data unit and the first data unit.

[0161] The terminal determines M second data points based on M first data points in the following two possible ways:

[0162] Method 1: Determine M second data points based on M first data points through the first protocol layer. The meaning of the first protocol layer can be found in the relevant description in the foregoing embodiments.

[0163] In other words, the terminal obtains the first data unit through the first protocol layer, determines the first sub-data unit based on the first data unit, divides the first sub-data unit into M first data units through the first protocol layer, and obtains M second data units by performing a first encoding on each first data unit. Then, the terminal sends the content of the first sub-data unit to the first network device by sending the M second data units to the first network device, and the first sub-data unit is transmitted to the second network device through forwarding by the first network device.

[0164] The implementation method of sending M second data to the first network device through multiple protocol layers, including the first protocol layer, is similar to the implementation method of sending data to the first network device through multiple protocol layers in the previous embodiment. Please refer to the relevant description in the previous embodiment, and it will not be repeated here.

[0165] Based on this scheme, the acquisition of the first sub-data unit, the generation of multiple first data, and the first encoding of the first data can be directly implemented by the first protocol layer, thereby minimizing the impact of the above scheme on the functions of other protocol layers and improving the application prospects of the scheme in this application.

[0166] Method 2: Determine M second data points based on M first data points through a second protocol layer. For example, the second protocol layer may implement all or part of the functions of any one of the SDAP layer, PDCP layer, RLC layer, MAC layer, or PHY layer.

[0167] In other words, after the terminal obtains the first data unit through the first protocol layer and determines the first sub-data unit based on the first data unit, it can divide the first sub-data unit into M first data units through the first protocol layer, and perform a first encoding on each first data unit through the second protocol layer to obtain M second data units; or, it can directly send the first sub-data unit to the second protocol layer through the first protocol layer, divide the first sub-data unit into M first data units through the second protocol layer, and perform a first encoding on each first data unit to obtain M second data units. Then, it sends the M second data units to the first network device through the second protocol layer, sends the first sub-data unit to the first network device, and transmits the first sub-data unit to the second network device through forwarding by the first network device.

[0168] As one possible implementation, after the terminal determines the first sub-data unit through the first protocol layer, it can first binarize each element in the first sub-data unit (converting each element in the first sub-data unit into a bit sequence containing Q bits), and then transmit the binarized first sub-data unit to the second protocol layer. Here, Q is an integer greater than 0, for example, Q can be 4, 6, 8, 10, or 12, etc. The second protocol layer generates M first data units based on the binarized first sub-data units.

[0169] Furthermore, if the first encoding requires the input data to be the residual coefficient information before binarization (or, if the first encoding requires the input of residual coefficient integers), the terminal can also, based on the number of quantization bits (i.e., Q) in the binarization process, first perform debinarization on the obtained first sub-data unit through the second protocol layer, restore each Q bits to an element in the first sub-data unit, and then generate M first data based on the first sub-data unit.

[0170] Correspondingly, after determining M first data based on M second data, the first network device also needs to binarize the M first data and then send the binarized M first data to the second network device, so that the first protocol layer in the second network device can restore the first sub-data unit by executing the data processing flow opposite to that in the terminal.

[0171] Optionally, the value of Q can be predefined by the protocol or agreed upon by the terminal and the first or second network device. For example, the value of Q can be indicated by downlink control information (DCI), MAC control element (MAC CE), or radio resource control (RRC) messages sent by the first network device to the terminal. Alternatively, the value of Q can be determined by the terminal and represented by a preset field in the PDU of the first protocol layer; that is, the value of Q is carried in the first protocol layer PDU containing the binarized first sub-data unit.

[0172] In one possible implementation, when the terminal performs a first encoding on M first data through the second protocol layer, the terminal can determine the input code length of each first data in the first encoding process based on the code rate of the first encoding.

[0173] For example, the input code length of the first data Or the input code length of the first data Among them, R SC The code rate for the first encoding of the first data, TBsize is the code length of the channel coding (such as low-density parity check codes (LDPC) coding). In this case, it is advantageous to ensure that the code length of the first data is an integer multiple of bytes, making it easier to obtain data of the corresponding length from the MAC layer.

[0174] Furthermore, when the terminal performs first encoding on M first data through the second protocol layer, the code rate for the first encoding of the first data can be predefined by the protocol, or it can be pre-agreed between the terminal and the first network device or the second network device. For example, the code rate and / or the value of Q for the first encoding can also be indicated by the DCI sent to the terminal by the first network device.

[0175] Furthermore, after receiving the SDU generated from the first sub-data unit, the second protocol layer can determine the length of the header and the length of the payload (i.e., the portion containing the binarized result of the first sub-data unit) in the received SDU based on preset fields in the SDU header. During the generation of the second protocol layer's PDU, only the payload (i.e., the portion containing the binarized result of the first sub-data unit) is first encoded. The PDU header may include preset fields and one or more of the following: IP header, SDAP header, PDCP header, RLC header, and MAC header.

[0176] In one possible implementation, the second sub-data unit includes N third data items. In S402, the terminal sends N fourth data items to the first network device. Correspondingly, the first network device receives N fourth data items from the terminal. The N fourth data items are obtained by second encoding N third data items, where N is a positive integer.

[0177] Optionally, the second encoding is lossless encoding, or in other words, the fourth data obtained after the third data is encoded in the second encoding has no data loss compared to the third data or the data loss is less than a given threshold.

[0178] For example, the second encoding can be PCM encoding, Huffman encoding, Shannon encoding, or lossless entropy encoding, etc. Furthermore, the fourth data obtained after the third data undergoes the second encoding does not suffer data loss compared to the third data. This can also be understood as the data obtained after performing a second decoding on the fourth data corresponding to the second encoding being the same as the third data. In other words, the second encoding can also be understood as not encoding the third data.

[0179] In other words, when the terminal sends the second sub-data unit to the first network device, if N is greater than 1, it first divides the second sub-data unit into N third data, and then performs a second encoding on the N third data to obtain N fourth data. Then, the second sub-data unit is sent to the first network device by sending the N fourth data.

[0180] For example, the nth fourth data in N fourth data is obtained by second encoding the nth third data in N third data, where N is a positive integer and n is a positive integer less than or equal to N. In other words, the index / sequence number of each fourth data in the N fourth data is the same as the index / sequence number of the corresponding third data in the N third data.

[0181] For example, the nth fourth data in N fourth data is obtained by second encoding the (N-n+1)th third data in N third data, where N is a positive integer and n is a positive integer less than or equal to N. In other words, when reading N fourth data sequentially, the first fourth data read is obtained by second encoding the last third data in N third data; the last fourth data is obtained by second encoding the first third data in N third data.

[0182] Optionally, the terminal determines N fourth data based on N third data through the first protocol layer.

[0183] As one possible implementation, the terminal also sends third indication information to the first network device. Correspondingly, the first network device receives the third indication information from the terminal. This third indication information is used by the receiving device to determine N third data based on N fourth data.

[0184] For example, the third indication information is used to indicate at least one of the following: the value of N, the parameters of the second encoding of the N third data, the length of each of the N fourth data, or the index / sequence number of each of the N fourth data in the N fourth data.

[0185] In this context, the meaning of the value of N is similar to the function of the value of M. The function of the length of each fourth data is similar to the function of the length of each second data. The function of the index / sequence number of each fourth data in N fourth data is similar to the function of the index / sequence number of each second data in M ​​second data. Please refer to the relevant descriptions in the foregoing embodiments, which will not be repeated here.

[0186] For example, the parameters of the second encoding of the N third data may include the encoding method of the second encoding (e.g., entropy encoding or no encoding), the encoding algorithm used for the second encoding (e.g., CAVLC, CABAC, etc.), and the bitrate for the second encoding of each third data. Similarly, the bitrate for the second encoding of each third data may be the same or different. The parameters of the second encoding of the third data are used by the second network device to reconstruct the N sequentially arranged third data from the N fourth data, so as to reconstruct the second sub-data unit.

[0187] The implementation method of the third instruction information is similar to that of the first instruction information. The difference is that the third instruction information is used to restore the N third data arranged in sequence based on the N fourth data. For the specific implementation method, please refer to the relevant description of the specific implementation method of the first instruction information in the foregoing embodiment, which will not be repeated here.

[0188] Based on the above scheme, the second network device can reconstruct the N third data items arranged sequentially in the second sub-data unit according to the received third instruction information and N fourth data items, which helps to improve the accuracy of the second network device in reconstructing the second sub-data unit and the first data unit.

[0189] In one possible implementation, in S402, the terminal sends at least one first data packet and at least one second data packet to the first network device. Correspondingly, the first network device receives at least one first data packet and at least one second data packet from the terminal. The first data packet includes part or all of the information of a first sub-data unit, and the second data packet includes part or all of the information of a second sub-data unit.

[0190] For example, the inclusion of part or all of the information of the first sub-data unit in the first data packet can be understood as the fact that all the information of the first sub-data unit is carried by all the first data packets in at least one first data packet, or in other words, the terminal can encapsulate all the information of the first sub-data unit in at least one first data packet.

[0191] For example, taking a first sub-data unit comprising four first data items as an example. The terminal can encapsulate first data 1, first data 2, and first data 3 of the first sub-data unit in first data packet 1, and first data 4 in first data packet 2. By sending first data packet 1 and first data packet 2 to the first network device, the first sub-data unit is sent to the first network device. Alternatively, the terminal can directly encapsulate first data 1-4 in first data packet 1 and send the first sub-data unit to the first network device by sending first data packet 1.

[0192] As one possible implementation, the first and second data packets are IP packets.

[0193] In other words, the terminal can encapsulate the multiple first data included in the first sub-data unit into at least one first data packet after binarization processing through the first protocol layer, or it can encapsulate the multiple first data included in the first sub-data unit into at least one first data packet after performing first encoding on the multiple first data included in the first sub-data unit through the first protocol layer, and then transmit the first sub-data unit to the first network device through the transmission of other protocol layers.

[0194] Similarly, the terminal encapsulates multiple fourth data obtained by second encoding the multiple third data included in the second sub-data unit into at least one second data packet through the first protocol layer, and transmits the first sub-data unit to the first network device through the transmission of other protocol layers.

[0195] Optionally, the first data packet includes fourth indication information, which indicates at least one of the following: the first data packet includes part or all of the information of the first sub-data unit, the frame index associated with the first sub-data unit, the stripe index associated with the first sub-data unit, the position of the first data packet in at least one first data packet, or the number of data packets in at least one first data packet.

[0196] The purpose of the fourth indication information indicating that the first data packet includes part or all of the information of the first sub-data unit is that, when the first data packet encapsulates the result of the first data after processing such as first encoding or binarization, the receiving end (e.g., the second network device) can perform the opposite operation (e.g., first decoding or debinarization corresponding to the first encoding) to recover the first data; the purpose of the fourth indication information indicating the frame index and / or stripe index associated with the first sub-data unit is to enable the second network device to accurately restore the frame and / or stripe to which the first sub-data unit belongs based on the fourth indication information; the purpose of the fourth indication information indicating the position of the first data packet in at least one first data packet is to enable the second network device to accurately restore the first sub-data unit; the purpose of the fourth indication information indicating the number of data packets in at least one first data packet is to enable the first network device or the second network device to determine whether all the first data packets corresponding to the first sub-data unit have been received.

[0197] In addition, the fourth indication information can also indicate the number of first data / second data included in the first data packet, the length of each first data / second data, and the index of each first data / second data, etc., for the receiving end to restore the information of the first sub-data unit. The implementation method of restoring the relevant information of the first sub-data unit is similar to the implementation method of restoring the relevant information of other data units, and will not be described again.

[0198] For example, the fourth instruction information may be carried in the header of the first data packet, or it may be carried in a specific field in the payload of the first data packet, without limitation.

[0199] Furthermore, if the first data packet also includes some or all of the information of other sub-data units besides the first sub-data unit, the fourth indication information may also indicate the number of sub-data units associated with the first data packet, the position of each sub-data unit, and the position (or index / sequence number) of the first data packet in at least one data packet associated with different sub-data units.

[0200] Optionally, the first data packet may further include first indication information. When the terminal performs first encoding on the first data through a first protocol layer, the first indication information may be carried in a specific field of the header or payload of the first data packet. When the terminal performs first encoding on the first data through a second protocol layer, the first indication information may be carried in a specific field of the header or payload of the second protocol layer PDU.

[0201] Based on this scheme, the terminal can independently packetize and transmit the first sub-data unit and the second sub-data unit through the first protocol layer, avoiding error propagation between the first sub-data unit and the second sub-data unit. This ensures that there is no error propagation between the residual coefficient information of the first data unit and other information of the first data unit other than the residual coefficient information, which helps to reduce the data retransmission pressure caused by the first data unit in the event of channel bit errors.

[0202] Optionally, the second data packet includes fifth indication information, which is used for at least one of the following: the second data packet includes part or all of the information of the second sub-data unit, the frame index associated with the second sub-data unit, the stripe index associated with the second sub-data unit, and the position of the second data packet in at least one second data packet.

[0203] The purpose of the fifth indication information indicating that the second data packet includes part or all of the information of the second sub-data unit is that, if the second data packet encapsulates third data or the result of the third data after processing such as second encoding or binarization, the receiving end (e.g., the second network device) can perform the opposite operation (e.g., do not perform any processing, perform second decoding or debinarization corresponding to the second encoding, etc.) to recover the third data; the purpose of the fifth indication information indicating the frame index and / or stripe index associated with the second sub-data unit is to enable the second network device to accurately restore the frame and / or stripe to which the second sub-data unit belongs based on the fifth indication information; the purpose of the fifth indication information indicating the position of the second data packet in at least one second data packet is to enable the second network device to accurately restore the second sub-data unit; the purpose of the fifth indication information indicating the number of data packets in at least one second data packet is to enable the first network device or the second network device to determine whether all the second data packets corresponding to the second sub-data unit have been received.

[0204] Similarly, the fifth indication information can also indicate the number of third / fourth data included in the second data packet, the length of each third / fourth data, and the index of each third / fourth data, etc., for the receiving end to restore the information of the second sub-data unit. The implementation method of restoring the relevant information of the second sub-data unit is similar to the implementation method of restoring the relevant information of other data units, and will not be described again.

[0205] Furthermore, if the second data packet also includes some or all of the information of other sub-data units besides the second sub-data unit, the fifth indication information may also indicate the number of sub-data units associated with the second data packet, the position of each sub-data unit, and the position (or index / sequence number) of the second data packet in at least one data packet associated with different sub-data units.

[0206] For example, the fifth indication information may be carried in the header of the second data packet, or it may be carried in a specific field in the payload of the second data packet, without limitation. Optionally, the second data packet may also include third indication information, which may be carried in a specific field in the header or payload of the second data packet.

[0207] For example, taking the first data unit as the first NALU, the first network device as the base station, and the second network device as the UPF, the terminal performs first encoding on the first data and second encoding on the second data through the PDU layer. The data transmission process of the first data unit can be referred to in Figure 5(a) and Figure 5(b). The terminal-side APP client (application layer) performs source encoding on a video frame to be transmitted to generate a first NALU. After receiving the first data unit from the APP client through the PDU layer, the terminal performs entropy decoding on the first NALU through the PDU layer, generates a first sub-data unit based on the residual coefficient information of the first NALU, and generates a second sub-data unit based on other information of the first NALU except for the residual coefficient. Then, after performing a first encoding on the first data, it is encapsulated in at least one first IP packet and transmitted through the SDAP layer, PDCP layer, RLC layer, MAC layer, PHY and wireless channel in sequence to send the data containing the first sub-data unit to the base station. After performing channel decoding on the data containing the first sub-data unit, the base station sends the channel-decoded data to the UPF. The UPF performs a first decoding on the IP packet containing the first sub-data unit through the PDU layer to restore the first sub-data unit. Similarly, the second sub-data unit undergoes second encoding at the terminal's PDU layer to generate at least one second IP packet. After channel coding by the PHY, it is transmitted to the base station via the wireless channel. The base station performs channel decoding on the received data and transmits the channel decoding result to the UPF. Upon receiving the second IP packet, the UPF reconstructs the second sub-data unit through second decoding. After reconstructing the first and second sub-data units through the PDU layer, the UPF reassembles the first and second sub-data units, then reconstructs the first NALU through entropy coding and reports the reconstructed first NALU to the APP server. The APP server performs source decoding on the first NALU to obtain a video frame to be transmitted.

[0208] Referring to Figure 5(c), during the first encoding of the first sub-data unit, the terminal can divide the first sub-data unit into multiple first data, then independently encode each first data to generate second data corresponding to each first data, and then encapsulate one or more second data in a first IP packet to generate multiple first IP packets. During the second encoding of the second sub-data unit, the terminal can directly perform second encoding on the second sub-data unit to obtain a bitstream after second encoding, then divide this bitstream into multiple bitstreams, and encapsulate one or more bitstreams in a second IP packet to generate multiple second IP packets. Alternatively, the terminal can first divide the second sub-data unit into multiple third data, perform second encoding on each third data to generate fourth data corresponding to each third data, and then encapsulate one or more fourth data in a second IP packet to generate multiple second IP packets.

[0209] Accordingly, after receiving multiple first IP packets and multiple second IP packets, the second network device reassembles the data decoded from the multiple first IP packets into a first sub-data unit according to the indication information carried in each first IP packet for restoring the first sub-data unit and the first NALU. According to the indication information carried in each second IP packet for restoring the second sub-data unit and the first NALU, the device reassembles the data decoded from the multiple first IP packets into a second sub-data unit. Then, it reassembles the first sub-data unit and the second sub-data unit and restores the first NALU by entropy encoding.

[0210] The above embodiments illustrate the communication method provided in this application using uplink data as an example. That is, the terminal acts as the sender of the first data unit (i.e., the first communication device), and the receiver of the first data unit (i.e., the second communication device) includes a first network device and a second network device. The following describes the communication method provided in this application using downlink data as an example.

[0211] Referring to Figure 6, which is a flowchart of a communication method provided in an embodiment of this application, the method may include the following steps:

[0212] S601, The second network device acquires a first data unit from the application layer. The second network device is used to implement all or part of the functions of the first protocol layer.

[0213] Wherein, the first protocol layer is the PDU layer; or, the first protocol layer is a newly defined protocol layer located between the PDU layer and the application layer. For example, the first protocol layer is a newly defined protocol layer located below and immediately adjacent to the application layer, or the first protocol layer is a newly defined protocol layer located above and immediately adjacent to the PDU layer.

[0214] The implementation of S601 is similar to that of S401 in the previous embodiment. You can refer to S401 and its related descriptions in the previous embodiment. The difference is that S401 is executed by the terminal in the previous embodiment, while S601 is executed by the second network device in this embodiment. The specific implementation method will not be repeated here.

[0215] S602, the second network device sends a first sub-data unit and a second sub-data unit to the first network device. Correspondingly, the first network device receives the first and second sub-data units from the second network device. The first network device is used to implement all or part of the functions of the second protocol layer, the meaning of which can be found in the relevant descriptions in the foregoing embodiments.

[0216] The implementation of S602 is similar to that of S402 in the previous embodiment. You can refer to S402 and its related description in the previous embodiment. The difference is that in the previous embodiment, the terminal sends the first sub-data unit and the second sub-data unit to the first network device, while in this embodiment, the second network device sends the first sub-data unit and the second sub-data unit to the first network device. The specific implementation method will not be described in detail here.

[0217] Optionally, in one possible implementation, when the M first data items are first encoded via the second protocol layer, the first network device may also obtain second indication information. The second indication information is used to indicate that the M first data items be first encoded.

[0218] For example, the second indication information is carried in the header of a second protocol layer SDU containing the binarized result of the first sub-data unit, such as in the GTP-U header of the second protocol layer SDU. The second indication information is used to indicate that the M first data units are first encoded. This can be understood as the second indication information indicating that the payload of the second protocol layer SDU is the binarized result of the first sub-data unit, or, the second indication information is used to trigger the second protocol layer to perform first encoding on the payload of the SDU containing the second indication information.

[0219] In addition, the number of quantization bits (i.e., Q) during the binarization process of the first sub-data unit can also be carried in the GTP-U header of the second protocol layer SDU containing the binarization result of the first sub-data unit.

[0220] Based on this scheme, the terminal independently transmits the first and second sub-data units of the first data unit through the first protocol layer, avoiding error propagation between the first and second sub-data units and reducing the data retransmission pressure caused by transmission channel errors in the first data unit; the second protocol layer divides the first sub-data unit and performs first encoding on the generated M first data, which helps to reduce the amount of data that needs to be exchanged between the terminal and the first network device and the total time required to complete the transmission of the first data unit.

[0221] It should be noted that the first network device and the second network device can be the same physical device that integrates core network logic functions and wireless access network logic functions. The physical device containing the first network device and the second network device can be understood as the second communication device. In this case, the interaction between the first network device and the second network device is an interaction within a physical device.

[0222] S603, the first network device sends the data corresponding to the first sub-data unit and the data corresponding to the second sub-data unit to the terminal. Correspondingly, the terminal receives the data corresponding to the first sub-data unit and the data corresponding to the second sub-data unit from the first network device.

[0223] The implementation of S603 is similar to that of S403 in the previous embodiment. You can refer to S403 and its related description in the previous embodiment. The difference is that in the previous embodiment, the first network device sends the data corresponding to the first sub-data unit and the data corresponding to the second sub-data unit to the second network device. In this embodiment, the first network device sends the data corresponding to the first sub-data unit and the data corresponding to the second sub-data unit to the terminal. The specific implementation method will not be described in detail here.

[0224] S604, The terminal reports the first data unit to the application layer.

[0225] The implementation of S604 is similar to that of S404 in the previous embodiment. The difference is that the terminal restores the first data unit based on the first sub-data unit and the second sub-data unit. For specific implementation details, please refer to the relevant descriptions in the previous embodiments.

[0226] As one possible implementation, when the second network device sends the binarization result of the first sub-data unit to the first network device, and the first network device performs a first encoding on the first sub-data unit, the terminal performs channel decoding on the received data through the second protocol layer to obtain the data obtained after the first encoding of the first sub-data unit, and then decodes the data obtained after the first encoding of the first sub-data unit through the second protocol layer, and sends the data obtained after the binarization of the first sub-data unit to the first protocol layer.

[0227] As another possible implementation, when the second network device sends the data obtained by the first sub-data unit after the first encoding to the first network device, the terminal performs channel decoding on the received data through the second protocol layer, obtains the data obtained by the first sub-data unit after the first encoding, and then directly sends the data obtained by the first sub-data unit after the first encoding to the first protocol layer.

[0228] The meaning of the second protocol layer and the implementation method of transmitting the first sub-data unit through the first protocol layer and the second protocol layer can be referred to the relevant description in the foregoing embodiments, and will not be repeated here.

[0229] Furthermore, the above embodiments of this application are described using the transmission of the first data unit between a terminal and a network device as an example. The first data unit can also be transmitted between different terminals or between different network devices. When the first data unit is transmitted between different terminals (or, in other words, the first data unit is transmitted via a side link), the terminal acting as the data receiving end can execute the steps performed by the terminal in the communication method shown in FIG. 6, and the terminal acting as the data sending end can execute the steps performed by the terminal in the communication method shown in FIG. 4. When the first data unit is transmitted between different network devices (or, in other words, the first data unit is transmitted via a network relay), the network device acting as the data sending end can execute the steps performed by the network device in the communication method described in FIG. 6, and the network device acting as the data receiving end can execute the steps performed by the network device in the communication method shown in FIG. 4. The specific implementation of the transmission of the first data unit between different terminals and between different network devices will not be described in detail here.

[0230] The method provided in this application has been described above. In addition, this application also provides a communication device for implementing the functions described in the above method embodiments.

[0231] It is understood that, in order to achieve the aforementioned functions, the communication device includes hardware structures and / or software modules corresponding to the execution of each function. Those skilled in the art should readily recognize that, based on the units and algorithm steps of the examples described in conjunction with the embodiments disclosed herein, this application can be implemented in hardware or a combination of hardware and computer software. Whether a function is executed in hardware or by computer software driving hardware depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.

[0232] This application embodiment can divide the communication device into functional modules according to the above method embodiment. For example, each function can be divided into a separate functional module, or two or more functions can be integrated into one processing module. The integrated module can be implemented in hardware or as a software functional module. It should be noted that the module division in this application embodiment is illustrative and only represents one logical functional division. In actual implementation, there may be other division methods.

[0233] Figure 7 shows a schematic diagram of a communication device 70. The communication device 70 includes a processing module 701 and a transceiver module 702. The communication device 70 can be used to implement the functions of the first or second communication device described above.

[0234] In some embodiments, the communication device 70 may further include a storage module (not shown in FIG. 7) for storing program instructions and data.

[0235] In some embodiments, the transceiver module 702, also referred to as a transceiver unit, is used to implement sending and / or receiving functions. The transceiver module 702 may consist of a transceiver circuit, a transceiver, a transceiver unit, or a communication interface.

[0236] In some embodiments, the transceiver module 702 may include a receiving module and a sending module, respectively configured to perform receiving and sending steps performed by the functions of the first communication device or the second communication device in the above method embodiments, and / or other processes to support the technology described herein; the processing module 701 may be configured to perform processing steps performed by the functions of the first communication device or the second communication device in the above method embodiments, and / or other processes to support the technology described herein.

[0237] When the communication device 70 is used to implement the function of the first communication device, the processing module 701 obtains the first data unit from the application layer through the transceiver module 702, and sends the first sub-data unit and the second sub-data unit through the transceiver module 702. The first sub-data unit is determined based on the residual coefficient information of the first data unit, and the second sub-data unit is determined based on other information of the first data unit except for the residual coefficient information.

[0238] In one possible implementation, the first sub-data unit includes M first data, and the transceiver module 702 is used to send M second data. The m-th second data among the M second data is obtained by first encoding the m-th first data among the M first data. M is a positive integer and m is a positive integer less than or equal to M.

[0239] In one possible implementation, the transceiver module 702 is used to send first indication information, which is used to determine M first data based on M second data. The first indication information is used to indicate at least one of the following: the value of M, the length of each first data in the M first data, the length of each second data in the M second data, the code rate of the first encoding of the M first data, the binarization parameter of each first data in the M first data, or the index of each second data in the M second data.

[0240] In one possible implementation, the processing module 701 is used to determine M second data based on M first data through a first protocol layer; wherein the first protocol layer is a Protocol Data Unit (PDU) layer, or the first protocol layer is a protocol layer located between the PDU layer and the application layer.

[0241] In one possible implementation, the processing module 701 is used to determine M second data based on M first data through a second protocol layer; wherein the second protocol layer is a physical layer.

[0242] In one possible implementation, the processing module 701 is used to obtain second indication information, which is used to indicate that the M first data are encoded in the first manner.

[0243] In one possible implementation, the second sub-data unit includes N third data, and the transceiver module 702 is used to send N fourth data. The nth fourth data among the N fourth data is obtained by performing a second encoding on the nth third data among the N third data. N is a positive integer, and n is a positive integer less than or equal to N.

[0244] In one possible implementation, the transceiver module 702 is used to send third indication information, which is used to determine N third data based on N fourth data. The third indication information is used to indicate at least one of the following: the value of N, the parameters of the second encoding of the N third data, the length of each of the N fourth data, or the index of each of the N fourth data in the N fourth data.

[0245] In one possible implementation, the processing module 701 is configured to determine a first sub-data unit and a second sub-data unit based on a first data unit through a first protocol layer; wherein the first protocol layer is a Protocol Data Unit (PDU) layer, or the first protocol layer is a protocol layer located between the PDU layer and the application layer.

[0246] When the communication device 70 is used to implement the function of the second communication device, the processing module 701 receives the first sub-data unit and the second sub-data unit through the transceiver module 702. The first sub-data unit is determined based on the residual coefficient information of the first data unit, and the second sub-data unit is determined based on other information of the first data unit except for the residual coefficient information. The processing module 701 reports the first data unit to the application layer through the transceiver module 702. The first data unit is determined based on the first sub-data unit and the second sub-data unit.

[0247] In one possible implementation, the first sub-data unit includes M first data, and the transceiver module 702 is used to receive M second data. The m-th second data among the M second data is obtained by first encoding the m-th first data among the M first data. M is a positive integer and m is a positive integer less than or equal to M.

[0248] In one possible implementation, the transceiver module 702 is configured to receive first indication information, which is used to determine M first data based on M second data. The first indication information is used to indicate at least one of the following: the value of M, the length of each first data in the M first data, the length of each second data in the M second data, the code rate of the first encoding of the M first data, the binarization parameter of each first data in the M first data, or the index of each second data in the M second data.

[0249] In one possible implementation, the processing module 701 is used to determine M first data based on M second data through a first protocol layer; wherein the first protocol layer is a Protocol Data Unit (PDU) layer, or the first protocol layer is a protocol layer located between the PDU layer and the application layer.

[0250] In one possible implementation, the processing module 701 is used to determine M first data based on M second data through a second protocol layer; wherein the second protocol layer is a physical layer.

[0251] In one possible implementation, the second sub-data unit includes N third data, and the transceiver module 702 is used to receive N fourth data. The nth fourth data among the N fourth data is obtained by performing a second encoding on the nth third data among the N third data. N is a positive integer, and n is a positive integer less than or equal to N.

[0252] In one possible implementation, the transceiver module 702 is used to receive third indication information, which is used to determine N third data based on N fourth data. The third indication information is used to indicate at least one of the following: the value of N, the parameters of the second encoding of the N third data, the length of each of the N fourth data, or the index of each of the N fourth data in the N fourth data.

[0253] In one possible implementation, the processing module 701 is configured to determine the first data unit based on the first sub-data unit and the second sub-data unit through the first protocol layer; wherein the first protocol layer is a Protocol Data Unit (PDU) layer, or the first protocol layer is a protocol layer located between the PDU layer and the application layer.

[0254] All relevant content of each step involved in the above method embodiments can be referenced from the functional description of the corresponding functional module, and will not be repeated here.

[0255] In this application, the communication device 70 can be presented in an integrated manner by dividing it into various functional modules. Here, "module" can refer to an application-specific integrated circuit (ASIC), a circuit, a processor and memory that executes one or more software or firmware programs, integrated logic circuits, and / or other devices that can provide the above functions.

[0256] In some embodiments, when the communication device 70 in FIG7 is a chip or chip system, the function / implementation process of the transceiver module 702 can be implemented through the input / output interface (or communication interface) of the chip or chip system, and the function / implementation process of the processing module 701 can be implemented through the processor (or processing circuit) of the chip or chip system.

[0257] Since the communication device 70 provided in this embodiment can execute the above method, the technical effects it can achieve can be referred to the above method embodiment, and will not be repeated here.

[0258] As a possible product form, the first or second communication device described in the embodiments of this application can be implemented using one or more field programmable gate arrays (FPGAs), programmable logic devices (PLDs), controllers, state machines, gate logic, discrete hardware components, any other suitable circuits, or any combination of circuits capable of performing the various functions described throughout this application.

[0259] As another possible product form, the first or second communication device described in this application embodiment can be implemented using a general bus architecture. For ease of explanation, refer to FIG8, which is a schematic diagram of the structure of a communication device 800 provided in an embodiment of this application. The communication device 800 includes a processor 801 and a transceiver 802. The communication device 800 can be a first communication device, or a chip or chip system therein; or, the communication device 800 can be a second communication device, or a chip or module therein. FIG8 only shows the main components of the communication device 800. In addition to the processor 801 and transceiver 802, the communication device may further include a memory 803 and input / output devices (not shown in the figure).

[0260] Optionally, the processor 801 is mainly used to process communication protocols and communication data, control the entire communication device, execute software programs, and process the data of the software programs, thereby implementing the methods provided in the above-described method embodiments. The memory 803 is mainly used to store software programs and data. The transceiver 802 may include a radio frequency (RF) circuit and an antenna. The RF circuit is mainly used for converting baseband signals to RF signals and processing RF signals. The antenna is mainly used for transmitting and receiving RF signals in the form of electromagnetic waves. Input / output devices, such as touch screens, displays, and keyboards, are mainly used to receive user input data and output data to the user.

[0261] Optionally, the processor 801, transceiver 802, and memory 803 can be connected via a communication bus.

[0262] When the communication device is powered on, the processor 801 can read the software program in the memory 803, interpret and execute the instructions of the software program, and process the data of the software program. When data needs to be transmitted wirelessly, the processor 801 performs baseband processing on the data to be transmitted and outputs the baseband signal to the radio frequency (RF) circuit. The RF circuit processes the baseband signal and transmits the RF signal outward in the form of electromagnetic waves through the antenna. When data is sent to the communication device, the RF circuit receives the RF signal through the antenna, converts the RF signal into a baseband signal, and outputs the baseband signal to the processor 801. The processor 801 converts the baseband signal into data and processes the data.

[0263] In another implementation, the radio frequency circuitry and antenna can be set up independently of the processor performing baseband processing. For example, in a distributed scenario, the radio frequency circuitry and antenna can be arranged remotely, independent of the communication device.

[0264] In some embodiments, those skilled in the art will recognize that the above-described communication device 70 can take the form of the communication device 800 shown in FIG8 in terms of hardware implementation.

[0265] As an example, the function / implementation process of the processing module 701 in Figure 7 can be implemented by the processor 801 in the communication device 800 shown in Figure 8 calling computer execution instructions stored in the memory 803. The function / implementation process of the transceiver module 702 in Figure 7 can be implemented by the transceiver 802 in the communication device 800 shown in Figure 8.

[0266] As another possible product form, the first or second communication device in this application may adopt the composition structure shown in FIG9, or include the components shown in FIG9. FIG9 is a schematic diagram of the composition of a communication device 900 provided in this application. The communication device 900 may be the first communication device or a chip or system-on-a-chip in the first communication device; or, it may be the second communication device or a module, chip or system-on-a-chip in the second communication device.

[0267] As shown in Figure 9, the communication device 900 includes at least one processor 901 and at least one communication interface (Figure 9 is only an example illustrating the inclusion of a communication interface 904 and a processor 901). Optionally, the communication device 900 may also include a communication bus 902 and a memory 903.

[0268] Processor 901 can be a general-purpose central processing unit (CPU), a general-purpose processor, a network processor (NP), a digital signal processor (DSP), a microprocessor, a microcontroller, a PLD, or any combination thereof. Processor 901 can also be other devices with processing functions, such as circuits, devices, or software modules, without limitation.

[0269] Communication bus 902 is used to connect different components in communication device 900, enabling communication between them. Communication bus 902 can be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus, etc. This bus can be divided into address bus, data bus, control bus, etc. For ease of illustration, only one thick line is used in Figure 9, but this does not indicate that there is only one bus or one type of bus.

[0270] Communication interface 904 is used for communicating with other devices or communication networks. For example, communication interface 904 can be a module, circuit, transceiver, or any device capable of communication. Optionally, communication interface 904 can also be an input / output interface located within processor 901, used to implement signal input and signal output for the processor.

[0271] The memory 903 may be a device with storage function, used to store instructions and / or data. The instructions may be computer programs.

[0272] For example, the memory 903 may be a read-only memory (ROM) or other type of static storage device capable of storing static information and / or instructions; it may also be a random access memory (RAM) or other type of dynamic storage device capable of storing information and / or instructions; it may also be an electrically erasable programmable read-only memory (EEPROM), a compact disc read-only memory (CD-ROM) or other optical disc storage, optical disc storage (including compressed optical discs, laser discs, optical discs, digital universal optical discs, Blu-ray discs, etc.), magnetic disk storage media or other magnetic storage devices, etc., without limitation.

[0273] It should be noted that the memory 903 can exist independently of the processor 901, or it can be integrated with the processor 901. The memory 903 can be located inside or outside the communication device 900, without limitation. The processor 901 can be used to execute the instructions stored in the memory 903 to implement the methods provided in the following embodiments of this application.

[0274] As an optional implementation, the communication device 900 may also include an output device 905 and an input device 906. The output device 905 communicates with the processor 901 and can display information in various ways. For example, the output device 905 may be a liquid crystal display (LCD), a light-emitting diode (LED) display device, a cathode ray tube (CRT) display device, or a projector, etc. The input device 906 communicates with the processor 901 and can receive user input in various ways. For example, the input device 906 may be a mouse, keyboard, touchscreen device, or sensing device, etc.

[0275] In some embodiments, those skilled in the art will recognize that the communication device 70 shown in FIG7 can take the form of the communication device 900 shown in FIG9 in terms of hardware implementation.

[0276] As an example, the function / implementation process of the processing module 701 in Figure 7 can be implemented by the processor 901 in the communication device 900 shown in Figure 9 calling computer execution instructions stored in the memory 903. The function / implementation process of the transceiver module 702 in Figure 7 can be implemented by the communication interface 904 in the communication device 900 shown in Figure 9.

[0277] It should be noted that the structure shown in Figure 9 does not constitute a specific limitation on the first or second communication device. For example, in other embodiments of this application, the first or second communication device may include more or fewer components than shown in the figure, or combine some components, or split some components, or have different component arrangements. The components shown in the figure may be implemented in hardware, software, or a combination of software and hardware.

[0278] In some embodiments, this application also provides a communication device, which includes a processor for implementing the methods in any of the above method embodiments.

[0279] As one possible implementation, the communication device also includes a memory. This memory stores necessary computer programs and data. The computer program may include instructions, which a processor can invoke to instruct the communication device to execute the methods described in any of the above method embodiments. Alternatively, the memory may not be present in the communication device.

[0280] As another possible implementation, the communication device also includes an interface circuit, which is a code / data read / write interface circuit, used to receive computer execution instructions (which are stored in memory and may be read directly from memory or may be transmitted through other devices) and transmit them to the processor.

[0281] As another possible implementation, the communication device also includes a communication interface for communicating with modules outside the communication device.

[0282] It is understood that the communication device can be a chip or a chip system. When the communication device is a chip system, it can be composed of chips or may include chips and other discrete devices. This application does not specifically limit this.

[0283] This application also provides a computer-readable storage medium having a computer program or instructions stored thereon, which, when executed by a computer, implements the functions of any of the above-described method embodiments.

[0284] This application also provides a computer program product that, when executed by a computer, implements the functions of any of the above method embodiments.

[0285] Those skilled in the art will understand that, for the sake of convenience and brevity, the specific working processes of the systems, devices, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here.

[0286] It is understood that the systems, apparatuses, and methods described in this application can also be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative. For instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the couplings or direct couplings or communication connections shown or discussed may be through some interfaces; indirect couplings or communication connections between devices or units may be electrical, mechanical, or other forms.

[0287] The units described as separate components may or may not be physically separate; that is, they may be located in one place or distributed across multiple network units. The components shown as units may or may not be physical units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0288] In addition, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit.

[0289] In the above embodiments, implementation can be achieved, in whole or in part, through software, hardware, firmware, or any combination thereof. When implemented using software programs, implementation can be, in whole or in part, in the form of a computer program product. This computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of this application are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another via wired (e.g., coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium accessible to a computer or a data storage device containing one or more servers, data centers, etc., that can be integrated with the medium. The available medium can be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., solid-state drive (SSD)). In this embodiment, the computer may include the aforementioned apparatus.

[0290] Although this application has been described herein in conjunction with various embodiments, those skilled in the art, by reviewing the accompanying drawings, disclosure, and appended claims, will understand and implement other variations of the disclosed embodiments in carrying out the claimed application. In the claims, the word "comprising" does not exclude other components or steps, and "a" or "an" does not exclude a plurality. A single processor or other unit can implement several functions listed in the claims. While different dependent claims may recite certain measures, this does not mean that these measures cannot be combined to produce good results.

[0291] Although this application has been described in conjunction with specific features and embodiments, it is obvious that various modifications and combinations can be made thereto without departing from the scope of this application. Accordingly, this specification and drawings are merely illustrative descriptions of the application as defined by the appended claims, and are considered to cover any and all modifications, variations, combinations, or equivalents within the scope of this application. Clearly, those skilled in the art can make various alterations and modifications to this application without departing from its scope. Thus, if such modifications and modifications fall within the scope of the claims and their equivalents, this application is also intended to include such modifications and modifications.

Claims

1. A communication method characterized by comprising: The method includes: Obtain the first data unit from the application layer; Send a first sub-data unit and a second sub-data unit. The first sub-data unit is determined based on the residual coefficient information of the first data unit, and the second sub-data unit is determined based on other information of the first data unit besides the residual coefficient information.

2. The method of claim 1, wherein, The first data unit includes encoded data of video or image after being encoded by the application layer.

3. The method according to claim 1 or 2, characterized in that, The first sub-data unit and the second sub-data unit are determined based on the decoded data obtained by entropy decoding of the first data unit.

4. The method according to any one of claims 1 to 3, characterized in that, The first sub-data unit includes M first data items, and the transmission of the first sub-data unit includes: Send M second data, wherein the m-th second data among the M second data is obtained by first encoding the m-th first data among the M first data, where M is a positive integer and m is a positive integer less than or equal to M.

5. The method of claim 4, wherein, The method further includes: Send a first indication message, the first indication message being used to determine the M first data based on the M second data, the first indication message being used to indicate at least one of the following: The value of M is determined by the length of each of the M first data, the length of each of the M second data, the code rate of the first encoding of the M first data, the binarization parameter of each of the M first data, or the index of each of the M second data in the M second data.

6. The method according to claim 4 or 5, characterized in that, The method further includes: The first protocol layer determines the M second data based on the M first data. Wherein, the first protocol layer is a Protocol Data Unit (PDU) layer, or the first protocol layer is a protocol layer located between the PDU layer and the application layer.

7. The method according to claim 4 or 5, characterized in that, The method further includes: The M second data are determined by the second protocol layer based on the M first data. The second protocol layer is the physical layer.

8. The method of claim 7, wherein, The method further includes: Obtain second indication information, which is used to instruct the first encoding to be performed on the M first data.

9. The method according to any one of claims 1 to 8, characterized in that, The second sub-data unit includes N third data items, and the transmission of the second sub-data unit includes: Send N fourth data, wherein the nth fourth data is obtained by performing a second encoding on the nth third data among the N third data, where N is a positive integer and n is a positive integer less than or equal to N.

10. The method of claim 9, wherein, The method further includes: Send a third indication message, the third indication message being used to determine the N third data based on the N fourth data, the third indication message being used to indicate at least one of the following: The value of N, the parameter of the second encoding of the N third data, the length of each of the N fourth data, or the index of each of the N fourth data in the N fourth data.

11. The method according to any one of claims 1-10, characterized in that, The transmission of the first sub-data unit and the second sub-data unit includes: Send at least one first data packet and at least one second data packet, wherein the first data packet includes part or all of the information of the first sub-data unit, and the second data packet includes part or all of the information of the second sub-data unit.

12. The method according to claim 12, characterized in that, The first data packet and the second data packet are Internet Protocol (IP) packets.

13. The method according to claim 12 or 13, characterized in that, The first data packet includes fourth indication information, which indicates at least one of the following: The first data packet includes some or all of the information of the first sub-data unit, the frame index associated with the first sub-data unit, the stripe index associated with the first sub-data unit, and the position of the first data packet in the at least one first data packet.

14. The method according to any one of claims 1-13, characterized in that, The method further includes: The first sub-data unit and the second sub-data unit are determined by the first protocol layer based on the first data unit; Wherein, the first protocol layer is a Protocol Data Unit (PDU) layer, or the first protocol layer is a protocol layer located between the PDU layer and the application layer.

15. A communication method, characterized in that, The method includes: Receive a first sub-data unit and a second sub-data unit, wherein the first sub-data unit is determined based on the residual coefficient information of the first data unit, and the second sub-data unit is determined based on other information of the first data unit besides the residual coefficient information; The first data unit is reported to the application layer, and the first data unit is determined based on the first sub-data unit and the second sub-data unit.

16. The method according to claim 15, characterized in that, The first data unit includes encoded data of video or image after being encoded by the application layer.

17. The method according to claim 15 or 16, characterized in that, The first sub-data unit and the second sub-data unit are determined based on the decoded data obtained by entropy decoding of the first data unit.

18. The method according to any one of claims 15-17, characterized in that, The first sub-data unit includes M first data items, and the receiving of the first sub-data unit includes: Receive M second data, wherein the m-th second data among the M second data is obtained by encoding the m-th first data among the M first data, where M is a positive integer and m is a positive integer less than or equal to M.

19. The method according to claim 18, characterized in that, The method further includes: Receive first indication information, the first indication information being used to determine the M first data based on the M second data, the first indication information being used to indicate at least one of the following: The value of M is determined by the length of each of the M first data, the length of each of the M second data, the code rate of the first encoding of the M first data, the binarization parameter of each of the M first data, or the index of each of the M second data in the M second data.

20. The method according to claim 18 or 19, characterized in that, The method further includes: The M first data are determined by the first protocol layer based on the M second data; Wherein, the first protocol layer is a Protocol Data Unit (PDU) layer, or the first protocol layer is a protocol layer located between the PDU layer and the application layer.

21. The method according to claim 18 or 19, characterized in that, The method further includes: The M first data are determined by the second protocol layer based on the M second data; The second protocol layer is the physical layer.

22. The method according to any one of claims 15-21, characterized in that, The second sub-data unit includes N third data items, and the receiving of the second sub-data unit includes: Receive N fourth data, wherein the nth fourth data is obtained by performing a second encoding on the nth third data among the N third data, where N is a positive integer and n is a positive integer less than or equal to N.

23. The method according to claim 22, characterized in that, The method further includes: Receive third indication information, the third indication information being used to determine the N third data based on the N fourth data, the third indication information being used to indicate at least one of the following: The value of N, the parameter of the second encoding of the N third data, the length of each of the N fourth data, or the index of each of the N fourth data in the N fourth data.

24. The method according to any one of claims 15-23, characterized in that, The receiving of the first sub-data unit and the second sub-data unit includes: Receive at least one first data packet and at least one second data packet, wherein the first data packet includes part or all of the information of the first sub-data unit, and the second data packet includes part or all of the information of the second sub-data unit.

25. The method according to any one of claims 15-24, characterized in that, The method further includes: The first data unit is determined by the first protocol layer based on the first sub-data unit and the second sub-data unit; Wherein, the first protocol layer is a Protocol Data Unit (PDU) layer, or the first protocol layer is a protocol layer located between the PDU layer and the application layer.

26. A communication device, characterized in that, The communication device includes a module or unit for performing the method as described in any one of claims 1-14, or includes a module or unit for performing the method as described in any one of claims 15-25.

27. A communication device, characterized in that, The communication device includes a processor; the processor is configured to run a computer program or instructions to cause the communication device to perform the method as described in any one of claims 1-14, or to cause the communication device to perform the method as described in any one of claims 15-25.

28. A chip or chip system, characterized in that, The chip or chip system includes a processor coupled to a memory for storing programs or instructions that, when executed by the processor, cause the method as described in any one of claims 1-14 to be performed, or cause the method as described in any one of claims 15-25 to be performed.

29. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer instructions or programs that, when executed on a computer, cause the method described in any one of claims 1-14 to be performed, or cause the method described in any one of claims 15-25 to be performed.

30. A computer program product, characterized in that, The computer program product includes computer instructions; when some or all of the computer instructions are run on a computer, they cause the method of any one of claims 1-14 to be performed, or cause the method of any one of claims 15-25 to be performed.