A communication method and apparatus
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- HUAWEI TECH CO LTD
- Filing Date
- 2024-12-12
- Publication Date
- 2026-06-12
AI Technical Summary
Existing video transmission methods cannot effectively protect visually impactful parts of the image when faced with channel errors, leading to a decline in user experience.
The data unit is split into at least two sub-data units at the first protocol layer and configured with different transmission parameters, such as logical channel priority, quality of service flow, channel coding rate and modulation and coding scheme, to achieve differential protection.
In the event of channel errors, the reliability and stability of data transmission are improved, ensuring the successful transmission of important image components and enhancing the user experience.
Smart Images

Figure CN122204232A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of communication technology, and in particular to a communication method and apparatus. Background Technology
[0002] For video services, the human eye has different sensitivities to different video source features. For example, the human eye is more sensitive to moving targets in a video, and the moving parts in a frame are more important than the stationary parts. Also, the human eye is more sensitive to changes in smooth areas of an image, but less sensitive to changes in textured areas. Therefore, after the video encoder performs a discrete cosine transform (DCT), the changes in low-frequency coefficients generally have a much greater impact on the visual appearance of the image than the high-frequency coefficients.
[0003] Current video transmission typically employs separate source-channel coding. The application layer performs source coding, with mainstream video encoders being the H.26X series, such as H.265 and H.264 encoding. The physical layer (PHY) performs channel coding, such as low-density parity-check (LDPC) coding and polar coding. In H.26X source coding, a frame consists of one or more slices. The encoded data corresponding to different slices is encapsulated into different network abstraction layer units (NALUs). The transmitting end can encapsulate the NALUs into Internet Protocol (IP) packets and transmit the corresponding IP packets over a wireless network. A single frame of an image can be encapsulated into one or more IP data packets. If there are channel errors or other issues that cause the transmission of some IP data packets corresponding to the NALU of an image frame to fail, the image recovered by the receiving end will be distorted or even unrecoverable, which will have a significant impact on the user experience. In particular, the inability to correctly recover the visually significant parts of an image frame will greatly affect the user's subjective experience.
[0004] Therefore, improving the reliability of data transmission and enhancing user experience is an urgent problem to be solved. Summary of the Invention
[0005] This application provides a communication method and apparatus to improve the reliability of data transmission.
[0006] Firstly, this application provides a communication method, wherein the execution subject of the method is a terminal device or a module or chip within the terminal device; the method is described here using a terminal device as the execution subject as an example. The method includes: determining at least two sub-data units at a first protocol layer based on data units from an application layer, each sub-data unit including partial information of the data unit; wherein the first protocol layer is a Protocol Data Unit (PDU) layer, or the first protocol layer is a protocol layer adjacent to the PDU layer; and transmitting the at least two sub-data units; wherein the at least two sub-data units include a first sub-data unit and a second sub-data unit, and the transmission parameters associated with the first sub-data unit and the transmission parameters associated with the second sub-data unit are different.
[0007] The method provided in this application splits a data unit into at least two sub-data units at the first protocol layer and transmits these at least two sub-data units with different transmission parameters. This allows for differentiated transmission of different sub-data units, achieving differentiated protection for each sub-data unit. In the presence of channel errors, this method avoids the transmission of all sub-data units incorrectly, ensuring that some sub-data units are transmitted successfully, thus improving the reliability and stability of data transmission and enhancing the user experience.
[0008] In one possible implementation, the transmission parameters include at least one of the following: logical channel priority; Quality of Service (QoS) flow; channel coding rate; modulation and coding scheme (MCS).
[0009] In this method, higher-priority logical channels enjoy priority in resource allocation, enabling faster data transmission or more transmission opportunities. Therefore, mapping different sub-data units to logical channels of different priorities allows them to obtain different transmission opportunities, achieving differentiated transmission of different parts of the same data unit. Similarly, mapping different sub-data units to different QoS streams allows them to obtain different qualities of service, achieving differentiated transmission of different parts of the same data unit. Furthermore, assigning different channel coding rates or MCS to different sub-data units allows them to achieve different coding efficiencies, error correction capabilities, and transmission reliability, again achieving differentiated transmission of different parts of the same data unit.
[0010] In one possible implementation, sending the at least two sub-data units includes sending at least one first data packet and at least one second data packet, wherein the first data packet includes part or all of the content of the first sub-data unit, and the second data packet includes part or all of the content of the second sub-data unit.
[0011] In one possible implementation, the first data packet and the second data packet are Internet Protocol (IP) packets.
[0012] In one possible implementation, the first data packet has a different priority than the second data packet.
[0013] In this method, the data packets corresponding to different sub-data units have different priorities, which can enable different sub-data units to obtain different quality of service and realize differentiated transmission of different parts of the same data unit.
[0014] In one possible implementation, the first data packet includes first indication information, which is used to indicate the priority of the first data packet.
[0015] In one possible implementation, the first data packet includes second indication information, which indicates the length information of each sub-data unit included in the first data packet, or the second indication information indicates the sub-data unit associated with the first data packet.
[0016] This method enables the receiving end to recover sub-data units from the first data packet based on the second indication information, thereby improving data transmission efficiency.
[0017] In one possible implementation, the data unit corresponds to multiple data sets; the first sub-data unit corresponds to a first data set, and the second sub-data unit corresponds to a second data set, wherein the first data set belongs to the multiple data sets, the second data set belongs to the multiple data sets, and the first data set and the second data set are different.
[0018] In one possible implementation, the first sub-data unit includes third indication information, which is used to indicate the position information of the first data set in the plurality of data sets, or the third indication information is used to indicate the type of residual coefficients corresponding to the first data set.
[0019] This method enables the receiving end to recover the data unit based on the third instruction signal.
[0020] In one possible implementation, determining at least two sub-data units at the first protocol layer based on data units from the application layer includes: determining the at least two sub-data units based on first information, wherein the first information is used to indicate motion vector information corresponding to each of the plurality of data sets, or the first information is used to indicate residual coefficient information corresponding to each of the plurality of data sets.
[0021] In one possible implementation, the data unit includes data encoded by the application layer for video or images.
[0022] In one possible implementation, the at least two sub-data units are determined by performing an entropy decoding operation on the data units.
[0023] In one possible implementation, the sub-data unit includes fourth indication information, which includes at least one of the following:
[0024] The index of the data unit, the frame index associated with the sub-data unit, the stripe index associated with the sub-data unit, the number of the at least two sub-data units, the index of the sub-data unit in the at least two sub-data units, and the priority of the sub-data unit.
[0025] Secondly, this application provides a communication method, wherein the execution subject of the method is a core network device or a module or chip within the core network device, and the core network device is used as an example for description. The method includes: receiving at least two sub-data units; the at least two sub-data units include a first sub-data unit and a second sub-data unit, wherein the transmission parameters associated with the first sub-data unit and the transmission parameters associated with the second sub-data unit are different; each sub-data unit includes partial information of a data unit; and determining the data unit based on the at least two sub-data units at 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 adjacent to the PDU layer.
[0026] In one possible implementation, the transmission parameters include at least one of the following: logical channel priority; Quality of Service (QoS) flow; channel coding rate; modulation and coding scheme (MCS).
[0027] In one possible implementation, receiving at least two sub-data units 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 contents of the first sub-data unit, and the second data packet includes part or all of the contents of the second sub-data unit.
[0028] In one possible implementation, the first data packet and the second data packet are Internet Protocol (IP) packets.
[0029] In one possible implementation, the first data packet has a different priority than the second data packet.
[0030] In one possible implementation, the first data packet includes first indication information, which is used to indicate the priority of the first data packet.
[0031] In one possible implementation, the first data packet includes second indication information, which indicates the length information of each sub-data unit included in the first data packet, or the second indication information indicates the sub-data unit associated with the first data packet.
[0032] In one possible implementation, a data unit corresponds to multiple data sets; the first sub-data unit corresponds to a first data set, and the second sub-data unit corresponds to a second data set, wherein the first data set belongs to the multiple data sets, the second data set belongs to the multiple data sets, and the first data set and the second data set are different.
[0033] In one possible implementation, the first sub-data unit includes third indication information, which is used to indicate the position information of the first data set in the plurality of data sets, or the third indication information is used to indicate the type of residual coefficients corresponding to the first data set.
[0034] In one possible implementation, the data unit includes data encoded by the application layer for video or images.
[0035] In one possible implementation, the data unit is determined by performing an entropy encoding operation on a first data stream, which is determined based on the at least two sub-data units.
[0036] In one possible implementation, the sub-data unit includes fourth indication information, which includes at least one of the following:
[0037] The index of the data unit, the frame index associated with the sub-data unit, the stripe index associated with the sub-data unit, the number of the at least two sub-data units, the index of the sub-data unit in the at least two sub-data units, and the priority of the sub-data unit.
[0038] Thirdly, this application also provides a communication device capable of implementing any of the methods provided in any of the first to second aspects described above. This communication device can be implemented in hardware or by hardware executing corresponding software. The hardware or software includes one or more units or modules corresponding to the aforementioned functions.
[0039] In one possible implementation, the communication device includes a processor configured to support the communication device in performing corresponding functions of the network device, terminal device, or core network device described above. The communication device may also include a memory coupled to the processor, which stores necessary program instructions and data for the communication device. Optionally, the communication device further includes interface circuitry for supporting communication between the communication device and devices such as terminal devices.
[0040] In one possible implementation, the communication device includes corresponding functional modules, each used to implement the steps in the above method. The functions can be implemented in hardware or by hardware executing corresponding software. The hardware or software includes one or more modules corresponding to the functions described above.
[0041] In one possible implementation, the communication device includes a processing unit and a communication unit, which can perform the corresponding functions in the above method examples, as described in the methods provided in any of the first or second aspects, and will not be repeated here.
[0042] Fourthly, a communication device is provided, including a processor and an interface circuit. The interface circuit is used to receive signals from other communication devices outside the communication device and transmit them to the processor, or to send signals from the processor to other communication devices outside the communication device. The processor implements the functional modules of the methods in any possible implementation of any of the first to second aspects through logic circuits or by executing computer programs or instructions. Optionally, the communication device further includes a memory for storing computer programs or instructions.
[0043] Fifthly, a computer-readable storage medium is provided that stores a computer program or instructions which, when executed by a processor, implement the method in any possible implementation of any of the first to second aspects described above.
[0044] In a sixth aspect, a computer program product storing instructions is provided, which, when read and executed by a computer, implements the method in any possible implementation of any of the first to second aspects described above.
[0045] In a seventh aspect, a circuit is provided for performing the methods in any possible implementation of any of the first to second aspects described above. The circuit may include chip circuitry. Optionally, the circuit may also be coupled to a memory.
[0046] Eighthly, a chip is provided, comprising a processor, which, when executing a computer program or instructions, implements the methods in any possible implementation of any of the first to second aspects described above. Optionally, the chip may further include a memory, and the chip may be composed of chips or may include chips and other discrete devices.
[0047] A ninth aspect provides a communication device including a processor that implements the method in any possible implementation of any of the first to second aspects by means of logic circuits or by executing computer programs or instructions.
[0048] In a tenth aspect, a communication apparatus is provided, comprising a unit or module for performing a method in any possible implementation of any of the first to second aspects described above.
[0049] Eleventhly, embodiments of this application also provide a communication system. The communication system includes: a terminal device for implementing the methods of the first aspect and any possible implementation thereof; and a core network device for implementing the methods of the second aspect and any possible implementation thereof. Attached Figure Description
[0050] Figure 1 This is a schematic diagram of an existing video transmission scheme;
[0051] Figure 2 A schematic diagram of a data structure provided in an embodiment of this application;
[0052] Figure 3 A schematic diagram of a protocol stack provided for an embodiment of this application;
[0053] Figure 4 This is a schematic flowchart of a communication method provided in an embodiment of this application;
[0054] Figure 5 This is a schematic diagram of an image block set provided in an embodiment of this application;
[0055] Figure 6 This is a schematic diagram of an image block set provided in an embodiment of this application;
[0056] Figure 7 This is a schematic diagram of an image block set provided in an embodiment of this application;
[0057] Figure 8 A schematic diagram of a data unit and a sub-data unit provided in an embodiment of this application;
[0058] Figure 9 This is a schematic flowchart of a communication method provided in an embodiment of this application;
[0059] Figure 10 This is a schematic diagram of a communication device structure provided in an embodiment of this application;
[0060] Figure 11 This is a schematic diagram of a communication device structure provided in an embodiment of this application;
[0061] Figure 12 This is a schematic diagram of a communication device structure provided in an embodiment of this application. Detailed Implementation
[0062] The technical solutions of the embodiments of this application will be described below with reference to the accompanying drawings. Obviously, the described embodiments are only a part of the embodiments of this application, and not all of them. The terms "first," "second," and corresponding terminology in this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such terms can be interchanged where appropriate; this is merely a way of distinguishing objects with the same attributes in the embodiments of this application. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion, so that a process, method, system, product, or device that comprises a series of units is not necessarily limited to those units, but may include other units not explicitly listed or inherent to these processes, methods, products, or devices. The methods and apparatus provided in the embodiments of this application are based on the same or similar technical concepts. Since the principles by which the methods and apparatus solve problems are similar, the implementations of the apparatus and methods can refer to each other, and repeated details will not be repeated.
[0063] The method provided in this application can be applied to various mobile communication systems, such as the Internet of Things (IoT), narrowband Internet of Things (NB-IoT), fourth-generation (4G) communication systems (e.g., Long Term Evolution (LTE)), fifth-generation (5G) communication systems (e.g., 5G New Radio (NR)), LTE and NR hybrid architectures, or new communication systems emerging in future communication developments. The communication system can also include machine-to-machine (M2M) networks, machine-type communication (MTC) networks, or other networks.
[0064] The following section will first explain some of the terms used in the embodiments of this application so that those skilled in the art can understand them.
[0065] In this embodiment, the network device can be a device in a wireless network, and can also be referred to as a network apparatus, a radio access network device, or an access network device. For example, the network device can be a radio access network (RAN) node that connects a terminal device to a wireless network, and can also be referred to as an access network device. The network device includes, but is not limited to: base station, evolved NodeB (eNodeB), transmission reception point (TRP), next-generation NodeB (gNB) in a 5th generation (5G) mobile communication system, access network device in an open radio access network (O-RAN), base station in a future mobile communication system, or access node in a wireless fidelity (WiFi) system; or it can be a module or unit that performs some functions of a base station, such as a central unit (CU), a distributed unit (DU), a central unit control plane (CU-CP) module, or a central unit user plane (CU-UP) module. Access network equipment can be macro base stations, micro base stations, indoor stations, relay nodes, or donor nodes, etc. This application does not limit the specific technologies or equipment forms used in the network equipment.
[0066] In some implementations, network devices can include centralized units (CUs) and distributed units (DUs). This includes RAN devices at CU and DU nodes that separate the protocol layers of the gNB in the NR system. Some protocol layer functions are centrally controlled by the CU, while the remaining partial or complete protocol layer functions are distributed across the DUs, which are then centrally controlled by the CU. Furthermore, the CU can be divided into a control plane (CU-CP) and a user plane (CU-UP). The CU-CP handles control plane functions, primarily including radio resource control (RRC) and the corresponding packet data convergence protocol (PDCP) (PDCP-C). PDCP-C is mainly responsible for control plane data encryption / decryption, integrity protection, and data transmission. The CU-UP handles user plane functions, primarily including the service data adaptation protocol (SDAP) and the corresponding PDCP (PDCP-U). SDAP is mainly 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. CU-CP and CU-UP are connected via the E1 interface. CU-CP represents the gNB connected to the core network via the NG interface and to the DU via the F1 interface control plane (F1-C). CU-UP is connected to the DU via the F1 interface user plane (F1-U). Alternatively, PDCP-C may also be located within CU-UP.
[0067] It is understood that CU (including CU-CP or CU-UP) or DU may have different names in different systems, but those skilled in the art will understand their meaning. For example, in an open radio access network (O-RAN) 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, and CU-UP can also be called O-CU-UP. For ease of description, this application uses CU, CU-CP, CU-UP, and DU as examples. Network devices may also include active antenna units (AAU). CU implements some of the functions of gNB, and DU implements some of the functions of gNB. For example, CU is responsible for handling non-real-time protocols and services, implementing the functions of the RRC layer. DU is responsible for handling physical layer protocols and real-time services, implementing the functions of the radio link control (RLC) layer, media access control (MAC) layer, and physical (PHY) layer. In some deployments, the CU can also be divided into a centralized unit control plane (CU-CP) node and a centralized unit user plane (CU-UP) node. The CU-CP is responsible for control plane functions, while the CU-UP is responsible for user plane functions.
[0068] The terminal device involved in the embodiments of this application can be a wireless terminal device capable of receiving network device scheduling and instruction information. The terminal device can be referred to as a terminal device, or it can also be called user equipment (UE), terminal, mobile station (MS), mobile terminal (MT), etc. The terminal device can be a device that includes wireless communication functions (providing voice / data connectivity to the user). For example, a handheld device with wireless connectivity, or an in-vehicle device, in-vehicle module, etc. Currently, examples of terminal devices include: mobile phones, tablets, laptops, PDAs, mobile internet devices (MIDs), wearable devices, virtual reality (VR) devices, augmented reality (AR) devices, wireless terminals in industrial control, wireless terminals in vehicle-to-everything (V2X) communication, wireless terminals in vehicle-to-everything (V2X) communication, intelligent vehicles, in-vehicle infotainment systems (or onboard transmitters) (T-boxes), and machine-to-machine / machine-type communication. Wireless terminals in communications (M2M / MTC) and Internet of Things (IoT) applications include communication devices, M2M / MTC terminal devices, and IoT terminal devices. For example, terminal devices can be in-vehicle equipment, vehicle-mounted modules, vehicles, on-board units (OBUs), roadside units (RSUs), T-boxes, chips, or systems-on-chips (SoCs), which can be installed in vehicles, OBUs, RSUs, or T-boxes. Wireless terminals in industrial control can be cameras, robots, etc. Wireless terminals in smart homes can be televisions, air conditioners, robot vacuums, speakers, set-top boxes, etc.Terminal devices can also be V2X devices, such as smart cars, digital cars, unmanned cars, driverless cars, pilotless cars, autonomous cars, pure electric vehicles (EVs), hybrid electric vehicles (HEVs), range-extended electric vehicles (REEVs), plug-in hybrid electric vehicles (PHEVs), new energy vehicles, and roadside units (RSUs). Terminal devices can also be devices in device-to-device (D2D) communication, such as electricity meters and water meters. Furthermore, in this embodiment, the terminal device can also be a terminal device in an IoT system. IoT is an important component of future information technology development, and its main technical characteristic is connecting objects to networks through communication technologies, thereby realizing an intelligent network of human-machine interconnection and machine-to-machine interconnection.
[0069] This application is applicable to the transmission of video data or image data, etc., between terminal devices and network devices. For example, such as... Figure 1 The diagram illustrates an existing video transmission scheme. Current video transmission generally employs separate source-channel coding. Source coding is performed at the application layer, with mainstream video encoders being the H.26X series, such as H.265 and H.264. H.26X source coding primarily includes operations such as prediction (e.g., intra-frame or inter-frame prediction), discrete cosine transform (DCT), quantization, and entropy coding. Channel coding is performed at the physical layer (PHY), using methods such as low-density parity-check (LDPC) coding and polar coding. The encoded data is then transmitted through the channel. The receiving end performs channel decoding at the physical layer and then source decoding at the application layer to obtain video or image data.
[0070] In H.26X source coding, a frame of image includes one or more slices. Optionally, a slice may also include one or more slice segments. The coded data corresponding to different slices or slice segments are encapsulated into different network abstraction layer units (NALUs). For example, Figure 2 This is a schematic diagram of the data structure for H.264 source coding. The video is divided into one or more groups of pictures (GOPs). Each GOP includes one or more frames, such as intra-coded (I) frames, predictive coded (P) frames, and bidirectional predictive coded (P) frames. Each frame can be divided into one or more stripes. The encoded data corresponding to different stripes is encapsulated into different NALUs. The NALU includes a NALU header and a NALU payload. The NALU header includes information such as the stripe type, and the NALU payload includes the stripe-coded data.
[0071] In 3GPP (3rd Generation Partnership Project) radio transmission networks, transmitting devices encapsulate data from the application layer (e.g., NALUs) into Internet Protocol (IP) packets. These packets are then processed through multiple protocol layers before being transmitted to the physical layer. The physical layer encodes and modulates the data, mapping it onto physical resources for transmission over the air interface. For example, Figure 3This diagram illustrates the 5G protocol stack. In uplink transmission of video services, the application (APP) client performs source encoding on the video. The 3GPP Protocol Data Unit (PDU) layer encapsulates the data from the APP into IP packets. These IP packets pass through the Service Data Adaptation Protocol (SDAP) layer, Packet Data Convergence Protocol (PDCP) layer, Radio Link Control (RLC) layer, and MAC layer before reaching the physical layer. The physical layer performs channel encoding on the data in each transport block (TB) to improve transmission reliability. In downlink transmission of video services, the APP server performs source encoding on the video. The source-encoded data is then transmitted to the user plane function (UPF) of the core network. The UPF's PDU layer encapsulates the data from the APP into IP packets and transmits them to the access network equipment. The access network equipment's physical layer performs channel encoding on the data in each TB before sending it to the terminal equipment. In this application, IP packets and IP data packets can be interchanged, and decoding and decoding can also be interchanged.
[0072] The protocol layers for peering between terminal devices and network devices include the PHY layer, MAC layer, RLC layer, PDCP layer, and SDAP layer. The protocol layers for peering between network devices and UPFs include the N3 protocol stack, which may include, for example, the General Packet Radio Service (GPRS) Tunneling Protocol User Plane (GTP-U), User Datagram Protocol (UDP) / Internet Protocol (IP) layer, Layer 1 (L1), and Layer 2 (L2). The protocol stacks described above are merely examples and should not be construed as limiting factors; for instance, there may be fewer or more layers than shown in the examples, or the UDP / IP layer or SDAP layer may be omitted.
[0073] In wireless networks, data within the same frame is often treated equally. For example, the choice of channel coding rate may not consider the importance of different image blocks or different DCT coefficients. When channel errors occur, visually significant portions of a frame may not be correctly recovered, impacting the subjective experience. Therefore, this application provides a method for differentially transmitting data with different priorities (or importance levels, etc.) within a frame (or unequal error protection) to improve the user experience.
[0074] The method provided in this application allows the network device's functions to be executed by modules (such as chips) within the network device, or by a control subsystem that includes network device functions. Similarly, the terminal device's functions can be executed by modules (such as chips or modems) within the terminal device, or by a device that includes terminal device functions.
[0075] The network architecture and business scenarios described in the embodiments of this application are for the purpose of more clearly illustrating the technical solutions of the embodiments of this application, and do 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.
[0076] It is understood that this application does not specifically limit the structure of the execution subject of the method provided in the embodiments of this application. It can be applied to modules in terminal devices or modules in network devices, as long as it can communicate according to the method provided in the embodiments of this application by running a program that records the code of the method provided in the embodiments of this application. The following description takes the interaction between terminal devices, network devices and core network devices as an example.
[0077] like Figure 4 The diagram shown is a flowchart of a communication method provided in an embodiment of this application. The method includes:
[0078] Step 401: The terminal device determines at least two sub-data units based on the data unit at the first protocol layer. The sub-data units include partial information of the data unit.
[0079] The first protocol layer of the terminal device can obtain data units from the application layer, or in other words, the operating system of the terminal device can obtain data units from the application client in the terminal device. The first protocol layer can be the PDU layer, or a protocol layer adjacent to the PDU layer (e.g., a protocol layer added above the PDU layer, or a protocol layer added below the PDU layer). The PDU layer can be understood as the protocol layer responsible for the transmission of PDU sessions or IP packets between the terminal device and the data network, and may have other names, which are not limited in this application.
[0080] A data unit includes data encoded by the application layer from a source, such as data encoded by the application layer from video or image. For example, if the source is a video source or an image source, the application client in the terminal device can encode the video or image source (e.g., perform one or more of prediction, transformation, or entropy coding), and determine the data unit based on the encoded data. This data unit can be a NALU, etc. If the data unit is a NALU, a frame of an image, a stripe in a frame of an image, or a segment of a stripe in a frame of an image can correspond to one NALU. Sub-data units can also be called sub-NALUs, for example, at least two sub-NALUs can be generated based on one NALU at the first protocol layer. The above are just examples; a data unit can also be a data packet encapsulated by a transport layer protocol after the NALU is encapsulated, or a service data unit (SDU) including a NALU, etc. This application does not limit the names of data units and sub-data units.
[0081] Optionally, if the application layer (or application client) encrypts the data encoded from the source, the first protocol layer (or operating system) of the terminal device can also obtain information for decryption (or a key, encryption key, decryption key, etc.). For example, the operating system of the terminal device exchanges keys with the application client (e.g., the operating system sends a key request to the application client, and then the application client sends the key to the operating system). The operating system then uses the key to decrypt the data encoded by the application client, and can further parse or decode the data units corresponding to each frame or stripe.
[0082] Optionally, if the data unit is obtained after the application layer performs entropy encoding, the first protocol layer of the terminal device performs entropy decoding on the data unit. For example, after the first protocol layer performs entropy decoding on the data unit, a first data stream is obtained. "Determine at least two sub-data units based on the data unit" can also be replaced with "Determine at least two sub-data units based on the first data stream".
[0083] Optionally, the first protocol layer of the terminal device can determine at least two sub-data streams based on the data unit, and then perform entropy encoding on each sub-data stream to obtain the corresponding sub-data unit. That is, a sub-data unit is obtained by performing entropy encoding on a sub-data stream. For example, the first protocol layer performs entropy decoding on the data unit to obtain the first data stream, and then determines at least two sub-data streams based on the first data stream, and further performs entropy encoding on each sub-data stream to obtain the corresponding sub-data unit. "Determine at least two sub-data units based on the data unit" can also be replaced with "determine at least two sub-data streams based on the data unit" or "determine at least two sub-data streams based on the first data stream".
[0084] Optionally, a data unit corresponds to multiple data sets, and different sub-data units correspond to different data sets within those multiple data sets. For example, the first sub-data unit corresponds to the first data set, and the second sub-data unit corresponds to the second data set, wherein the first data set belongs to multiple data sets, the second data set belongs to multiple data sets, and the first data set and the second data set are different.
[0085] The dataset can be either a set of image patches or a set of residual coefficients. An image patch set includes one or more image patches; for example, an image patch can be a macroblock (MB) in H.264, or a coding tree unit (CTU) in H.265 / H.266. Residual coefficients can be understood as coefficients obtained after the application layer performs prediction and transformation on the video or image; residual coefficients can also be called transform coefficients, DCT coefficients, etc.
[0086] In this application, the first protocol layer of the terminal device can determine first information based on the data unit, and determine at least two sub-data units based on the first information, or in other words, determine the data set corresponding to each sub-data unit in the at least two sub-data units based on the first information.
[0087] In the first possible implementation, the first information is used to indicate the motion vector information corresponding to each of the multiple data sets. This implementation is described using a set of image patches as an example.
[0088] Each image patch in the image patch set includes one or more prediction units. The first protocol layer of the terminal device can determine the motion vector information corresponding to the image patch set based on the motion vectors of the one or more prediction units included in each image patch set corresponding to the data unit. For example, for an image patch in the image patch set, the absolute values of the motion vectors of the one or more prediction units included in the image patch can be summed to obtain the motion vector information corresponding to the image patch. Furthermore, the motion vector information corresponding to the image patch set can be obtained based on the motion vector information corresponding to all image patches included in the image patch set.
[0089] For example, suppose the set of image patches includes N image patches, and the nth image patch among the N image patches includes M. n The prediction unit, M n The m-th prediction unit n The motion vectors corresponding to each prediction unit are: in, This can be understood as the mth... n The lateral offset of each prediction cell compared to the corresponding prediction cell in the reference frame. This can be understood as the mth... nThe vertical offset of each prediction unit compared to the corresponding prediction unit in the reference frame can be used to determine the motion vector information corresponding to the nth image patch. or The motion vector information corresponding to this set of image patches can be or
[0090] The terminal device can also determine the priority of an image patch set based on the motion vector information corresponding to that set. Here, "priority" can be replaced with descriptions such as "importance" or "importance level." For example, each priority can correspond to a range of motion vector information; the larger the sum of the motion vector information, the higher the priority, i.e., the higher the importance. For instance, when the motion vector information E corresponding to an image patch set is greater than or equal to a first threshold, the image patch set is considered a high-priority set; otherwise, it is considered a low-priority set.
[0091] This method allows different image patch sets to be assigned different priorities. For example, during image or video transmission, the human eye is more sensitive to moving targets in the video. Moving parts within a frame have higher priority or importance than stationary parts, allowing the image patch set corresponding to the moving target to receive more reliable transmission, increasing the probability of successful data transmission and improving the user experience.
[0092] Furthermore, the first protocol layer of the terminal device generates different sub-data units based on image block sets of different priorities. That is, different sub-data units correspond to different image block sets. For example, at least two sub-data units include a first sub-data unit and a second sub-data unit. The image block sets corresponding to the first sub-data unit and the second sub-data unit in multiple image block sets are different. Correspondingly, different sub-data units have different priorities; for example, the priority of the first sub-data unit is different from the priority of the second sub-data unit.
[0093] For example, such as Figure 5 As shown, the data unit corresponds to 9 image block sets, with indices ranging from 0 to 8. Each image block set includes multiple image blocks; the figure uses an image block as an example (MB). The terminal device can determine the motion vector information corresponding to each image block, thereby determining the motion vector information corresponding to each image block set.
[0094] Assume that the motion vector information range corresponding to priority 3 is less than or equal to the first threshold; the motion vector information range corresponding to priority 2 is greater than the first threshold and less than or equal to the second threshold; the motion vector information range corresponding to priority 1 is greater than the second threshold and the second threshold is greater than the first threshold.
[0095] Suppose that the terminal device determines the priority of each image patch set based on the motion vector information corresponding to each image patch set as follows:
[0096] Image patch set 2 and image patch set 3 both correspond to priority 1;
[0097] Image patch set 0, image patch set 4, and image patch set 5 all correspond to priority 2;
[0098] Image block set 1, image block set 6, image block set 7 and image block set 8 all correspond to priority 3.
[0099] In this way, the terminal device can determine 3 sub-data units based on the data unit, where sub-data unit 1 corresponds to image block set 2 and image block set 3; sub-data unit 2 corresponds to image block set 0, image block set 4 and image block set 5; and sub-data unit 3 corresponds to image block set 1, image block set 6, image block set 7 and image block set 8.
[0100] Optionally, the sub-data unit includes third indication information. For example, the header of the sub-data unit includes third indication information, which is used to indicate the position information of the data set corresponding to the sub-data unit among the multiple data sets corresponding to the data unit. For example, the first sub-data unit corresponds to the first data set, and the first sub-data unit includes third indication information, which is used to indicate the position information of the first data set among the multiple data sets.
[0101] For example, each image block corresponding to a data unit can correspond to a position coordinate. The third indication information can include the position coordinates of the starting image block (the image block in the upper left corner of the image block set) and / or the position coordinates of the ending image block (the image block in the lower right corner of the image block set). For instance, if a sub-data unit includes data within a continuous range of image blocks, the header of the sub-data unit indicates the coordinates of the upper left and lower right image blocks within that range. If a sub-data unit includes data from remaining non-contiguous image blocks, this sub-data unit can default to being the last sub-data unit corresponding to the data unit, and its header may not indicate position information, or it may indicate the upper left and lower right coordinates corresponding to all other sub-data units. For example, as... Figure 6As shown in the figure, taking an image block as MB as an example, the image block set corresponding to the first sub-data unit includes 4 rows and 3 columns of image blocks. Therefore, the third indication information can include position coordinates (1, 1) and (3, 4). The image block set corresponding to the second sub-data unit includes image blocks other than those included in the image block set corresponding to the first sub-data unit. The second sub-data unit does not include position information, or it includes the position information corresponding to the first sub-data unit. If the second sub-data unit does not include position information, when the receiving end correctly receives the first and second sub-data units, it can determine the position of the image block set corresponding to the first sub-data unit and the positions of the remaining image blocks based on the third indication information included in the first sub-data unit. If it can be determined that the second sub-data unit is the last sub-data unit corresponding to the data unit, then the position of the image block set corresponding to the second sub-data unit can be determined. If the second sub-data unit includes the position information corresponding to the first sub-data unit, even if the receiving end does not correctly receive the first sub-data unit, it can still determine the position of the image block set corresponding to the second sub-data unit based on the position information included in the second sub-data unit.
[0102] Optionally, the third indication information may include the position coordinates of all image blocks included in the image block set.
[0103] For example, the third indicator information can indicate the index of a set of image patches. For instance, such as... Figure 7 As shown in the figure, taking an image block as an example (MB), this data unit corresponds to 9 image block sets, with corresponding indices from 0 to 8. Each image block set corresponding to the data unit contains the same number of image blocks, and each image block set is W rows and H columns (unit: image block), where W and H are integers greater than 0. W and H can be predefined or determined through negotiation between the sender and receiver. The figure uses W=3 and H=4 as an example. This allows setting an index for each image block set, which determines the position of the image block set within the data unit. For example, the image block set indices for the first sub-data unit are 2 and 3, for the second sub-data unit they are 0, 4, and 5, and for the third sub-data unit they are 1, 6, 7, and 8.
[0104] In the second possible implementation, the first information is used to indicate the residual coefficient information corresponding to each of the multiple data sets. This implementation is described using the data set as a residual coefficient set as an example.
[0105] In this implementation, the first protocol layer of the terminal device can obtain the residual coefficient information corresponding to the data unit. For example, the residual coefficient information includes the position information and amplitude information of the non-zero residual coefficients obtained after performing entropy decoding on the data unit. A non-zero residual coefficient refers to a residual coefficient whose value is not 0.
[0106] The terminal device can determine at least two sub-data units based on the type of residual coefficients or their position within a coefficient group. The residual coefficients corresponding to a data unit can be divided into multiple coefficient groups, each containing multiple residual coefficients. For example, if a data unit corresponds to 512 residual coefficients, it can be divided into 32 coefficient groups, each containing 16 residual coefficients. For instance, the residual coefficients corresponding to a data unit can be obtained by performing entropy decoding on the data unit. The residual coefficients within each coefficient group can be categorized into low-frequency and high-frequency coefficients. A set of residual coefficients can include information on either the low-frequency coefficients or the high-frequency coefficients from all coefficient groups.
[0107] For example, a data unit corresponds to one or more coefficient groups (or residual coefficient groups, transform coefficient groups, etc.). The earlier residual coefficients in each coefficient group can be called low-frequency coefficients, and the later residual coefficients can be called high-frequency coefficients. At least two sub-data units include a first sub-data unit and a second sub-data unit. The first sub-data unit includes low-frequency coefficient information for each coefficient group, such as the number of non-zero residual coefficients in each coefficient group, the position information of the top K non-zero residual coefficients, and their amplitude information. The second sub-data unit includes high-frequency coefficient information for each coefficient group, such as the position information and amplitude information of the remaining non-zero residual coefficients in each coefficient group, excluding the top K non-zero residual coefficients. The top K non-zero residual coefficients in each coefficient group can form a residual coefficient set (e.g., a low-frequency residual coefficient set), and the remaining non-zero residual coefficients in each coefficient group can form another residual coefficient set (e.g., a high-frequency residual coefficient set). That is, the first sub-data unit corresponds to the low-frequency residual coefficient set, and the second sub-data unit corresponds to the high-frequency residual coefficient set. K is a positive integer. The value of K can be predefined or determined through negotiation between the terminal device and the network device. The value of K can also be carried in the sub-data unit, which is not limited in this application.
[0108] In this implementation, the residual coefficients corresponding to different sub-data units in the data unit are of different types. For example, the residual coefficients corresponding to the first sub-data unit in the data unit are of different types than those corresponding to the second sub-data unit in the same data unit. For example, the residual coefficients can be categorized into high-frequency coefficients and low-frequency coefficients. For example, the residual coefficients included in each coefficient group can also correspond to multiple different residual coefficient types. For instance, the first to K1 residual coefficients in each coefficient group correspond to residual coefficient type 1, the K1 to K2 residual coefficients correspond to residual coefficient type 2, and the remaining residual coefficients correspond to residual coefficient type 3. In this case, at least two sub-data units can include a first sub-data unit, a second sub-data unit, and a third sub-data unit. The first sub-data unit includes the position information and magnitude information of the non-zero residual coefficients in the first to K1 residual coefficients of each coefficient group; the second sub-data unit includes the position information and magnitude information of the non-zero residual coefficients in the K1 to K2 residual coefficients of each coefficient group; and the third sub-data unit includes the position information and magnitude information of the non-zero residual coefficients in the remaining residual coefficients of each coefficient group.
[0109] Optionally, the priority of high-frequency coefficients is lower than that of low-frequency coefficients, or the importance of high-frequency coefficients is lower than that of low-frequency coefficients.
[0110] This method allows different residual coefficients to be assigned different priorities. For example, during image or video transmission, the human eye is more sensitive to changes in smooth regions of an image (corresponding to low-frequency coefficients) and less sensitive to changes in textured regions (corresponding to high-frequency coefficients). Low-frequency coefficients have higher priority or importance than high-frequency coefficients, which can ensure more reliable transmission of image patch sets corresponding to moving targets, increase the probability of successful data transmission, and improve the user experience.
[0111] Optionally, the sub-data unit includes third indication information. For example, the header of the sub-data unit includes third indication information, which indicates the type of residual coefficients corresponding to the data set corresponding to the sub-data unit. For example, the first sub-data unit corresponds to a first data set, and the first sub-data unit includes third indication information, which indicates the type of residual coefficients corresponding to the first data set. For example, the first sub-data unit corresponds to a low-frequency residual coefficient set, and the third indication information included in the first sub-data unit indicates that the type of residual coefficients corresponding to the first data set is low-frequency coefficients.
[0112] The above are just examples. Terminal devices can also determine at least two sub-data units based on data units in other ways, which will not be illustrated here.
[0113] In this application, each sub-data unit may also include other information. Optionally, the sub-data unit may include fourth indication information, which includes at least one of the following: the index of the data unit, the frame index associated with the sub-data unit, the stripe index associated with the sub-data unit, the number of at least two sub-data units, the index of the sub-data unit within the at least two sub-data units, and the priority or importance of the sub-data unit. Alternatively, the sub-data unit may include fourth indication information used by the receiving end to determine the data unit based on the sub-data unit. For example, the fourth indication information may include at least one of the following: the index of the data unit, the frame index associated with the sub-data unit, the stripe index associated with the sub-data unit, the number of at least two sub-data units, and the index of the sub-data unit within the at least two sub-data units. If the fourth indication information does not indicate any of the above information, then the information may be preset or indicated in other ways. For example, if the fourth indication information does not indicate the number of at least two sub-data units, then the number of at least two sub-data units may be preset. The sub-data unit may also include fifth indication information, which is used to indicate the priority or importance of the sub-data unit.
[0114] Optionally, a data unit may include header information. For example, if the data unit is a NALU, it may include NALU header information, which may indicate information such as stripe type. Correspondingly, sub-data units may also include header information included in the data unit. For example, some or all of the sub-data units in at least two sub-data units may include NALU header information.
[0115] Optionally, one or more of the header information, third indication information, fourth indication information, or fifth indication information of the data unit may be carried in the header information of the sub-data unit. For example, the sub-data unit is a sub-NALU, which includes a sub-NALU header and a sub-NALU payload, and one or more of the header information, third indication information, fourth indication information, or fifth indication information of the data unit may be carried in the sub-NALU header.
[0116] For example, such as Figure 8 As shown, a data unit includes a header and a payload. Multiple sub-data units can be determined based on the payload of the data unit, and each sub-data unit also includes a header and a payload. The header of a sub-data unit may include the information in the header of the data unit.
[0117] Step 402: The terminal device sends at least two sub-data units; the at least two sub-data units include a first sub-data unit and a second sub-data unit, and the transmission parameters associated with the first sub-data unit and the transmission parameters associated with the second sub-data unit are different.
[0118] Accordingly, the core network equipment receives at least two sub-data units. For example, the core network equipment can be a UPF.
[0119] The transmission parameters include at least one of the following: logical channel priority; quality of service (QoS) flow; channel coding rate; modulation and coding scheme (MCS).
[0120] Terminal devices can transmit sub-data units of different priorities through different data packets. Taking at least two sub-data units, including a first sub-data unit and a second sub-data unit, as an example, in one implementation, the terminal device can 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 content of the first sub-data unit, and the second data packet includes part or all of the content of the second sub-data unit.
[0121] Optionally, the first data packet includes first indication information, which indicates the priority of the first data packet. The priority of the first data packet may refer to the priority of the first sub-data unit included in the first data packet, or it may refer to the transmission priority of the first data packet.
[0122] In one implementation, the number of at least one first data packet is 1, that is, a first data packet includes the entire contents of the first sub-data unit.
[0123] In one implementation, the number of at least one first data packet is 1, meaning that a first data packet includes the entire content of a first sub-data unit. The first data packet may include multiple sub-data units of the same priority or importance; for example, the first data packet may also include the entire content of a third sub-data unit.
[0124] Optionally, in this implementation, the first data packet includes second indication information, which indicates the length information (or size of the sub-data unit, number of bits in the sub-data unit, or number of bytes in the sub-data unit, etc.) of each sub-data unit included in the first data packet. The receiving end can determine the length information of each sub-data unit included in the first data packet based on the second indication information, thereby recovering each sub-data unit included in the first data packet.
[0125] In one implementation, the number of at least one first data packet is greater than 1, that is, a first data packet includes part of the content of a first sub-data unit.
[0126] Optionally, in this implementation, the first data packet includes second indication information. The second indication information is used to indicate the sub-data unit associated with the first data packet. For example, the second indication information includes at least one of the following: the number of at least one first data packet, the index of the first sub-data unit, the index of the first data packet in at least one first data packet, etc. The receiving end can determine at least one first data packet associated with the first sub-data unit based on the second indication information, thereby recovering the first sub-data unit based on at least one first data packet.
[0127] In one implementation, the first data packet and the second data packet are IP packets.
[0128] This application does not limit how the terminal device determines the transmission parameters of the sub-data unit; several examples are given below.
[0129] In one implementation method, the network device can allocate multiple logical channels with different priorities to the terminal device, and the terminal device will map the data packets of the sub-data units with higher priority or importance to the logical channels with higher priority for transmission.
[0130] For example, if the priority of the first sub-data unit is higher than the priority of the second sub-data unit, then the priority of the logical channel mapped to the first sub-data unit is higher than the priority of the logical channel mapped to the second sub-data unit. This can also be understood as the priority of the logical channel used to transmit the data packet of the first sub-data unit being higher than the priority of the logical channel used to transmit the data packet of the second sub-data unit.
[0131] Optionally, the terminal device or network device may determine the correspondence between the priority of the logical channel and the priority or importance of the sub-data unit, and the terminal device may determine the priority of the logical channel of the sub-data unit based on the correspondence.
[0132] In the second implementation method, the terminal device can send a second message to the network device, which indicates the priority of each sub-data unit in at least two sub-data units.
[0133] Optionally, the second information may also indicate information such as the data size of each of the at least two sub-data units. This second information can be carried by signaling such as a MAC control element (CE).
[0134] Accordingly, the network device can determine at least one of the following for each sub-data unit: channel coding rate, QoS stream, or MCS, based on the priority of each sub-data unit in at least two sub-data units.
[0135] In this context, higher-priority sub-data units have lower channel coding rates, and higher-priority QoS flows correspond to higher priorities. For example, if the first sub-data unit has a higher priority than the second sub-data unit, then the channel coding rate of the first sub-data unit is lower than that of the second sub-data unit.
[0136] For example, the priority of the first sub-data unit is higher than that of the second sub-data unit, the channel coding code rate indicated by the first MCS corresponding to the first sub-data unit is lower than that indicated by the second MCS corresponding to the second sub-data unit, and / or the modulation order indicated by the first MCS corresponding to the first sub-data unit is lower than that indicated by the second MCS corresponding to the second sub-data unit.
[0137] Network devices can use scheduling information to indicate at least one of the following for each of at least two sub-data units: transmission resources, channel coding rate, QoS stream, or MCS. Here, the transmission resources can be used to transmit data packets including sub-data units, and the scheduling information can be downlink control information (DCI).
[0138] Implementation method one and implementation method two can be implemented separately or in combination; this application does not limit this.
[0139] Step 403: The core network equipment determines the data unit based on at least two sub-data units at the first protocol layer.
[0140] The process by which core network equipment determines a data unit based on at least two sub-data units can be the reverse process of a terminal device determining at least two sub-data units based on a data unit. For example, taking a scenario where the at least two sub-data units include a first sub-data unit and a second sub-data unit, the core network equipment can acquire at least one first data packet and at least one second data packet, and determine the first sub-data unit based on the at least one first data packet, and determine the second sub-data unit based on the at least one second data packet. For example, if the number of at least one first data packet is one, the core network equipment can determine the first sub-data unit based on the first data packet; if the number of at least one first data packet is greater than one, the core network equipment can determine at least one first data packet associated with the first sub-data unit based on the second indication information in the data packet, thereby recovering the first sub-data unit based on the at least one first data packet.
[0141] The core network equipment can then determine the data unit based on the first and second sub-data units. For example, the core network equipment can determine that the index (or frame index or stripe index) of the data unit associated with the first sub-data unit is the same as the index (or frame index or stripe index) of the data unit associated with the second sub-data unit, based on the fourth indication information in the first and second sub-data units, thus determining that the first and second sub-data units correspond to the same data unit. The core network equipment can also determine the number of at least two sub-data units based on the fourth indication information, thereby determining which sub-data units a data unit is associated with. Furthermore, the core network equipment can also determine the position information of each sub-data unit within the data unit based on the third indication information in each sub-data unit, thereby recovering the data unit.
[0142] Optionally, if the sub-data unit is obtained by the first protocol layer of the terminal device through entropy encoding of the sub-data stream, the first protocol layer of the core network needs to perform corresponding entropy decoding operations on each sub-data unit to recover the data unit. Alternatively, the first protocol layer can perform corresponding entropy decoding operations on each sub-data unit to recover each sub-data stream, and then determine the data unit based on each sub-data stream. If the first protocol layer of the terminal device performs entropy decoding on the data unit, the first protocol layer of the core network needs to perform corresponding entropy encoding operations to recover the data unit. For example, the first protocol layer can determine the first data stream based on at least two sub-data units, and then perform entropy encoding on the first data stream to obtain the data unit; or, the first protocol layer can perform entropy decoding on at least two sub-data units respectively to obtain at least two sub-data streams, determine the first data stream based on the at least two sub-data streams, and then perform entropy encoding on the first data stream to obtain the data unit. "Determine the data unit based on at least two sub-data units" can also be replaced with "Determine the data unit based on at least two sub-data streams," "Determine the first data stream based on at least two sub-data units," or "Determine the first data stream based on at least two sub-data streams."
[0143] Optionally, the core network encrypts the data unit before sending it to the application server.
[0144] The core network equipment can send data units to the corresponding server or other equipment. The specific process will not be described in detail. The server corresponding to the data unit can be preset.
[0145] The above describes the uplink data transmission process; this application can also be applied to downlink data transmission. In downlink data transmission, the core network device can determine at least two sub-data units based on the data unit at the first protocol layer, and the terminal device can determine the data unit based on at least two sub-data units at the first protocol layer. The following explanation uses the interaction between the terminal device, network device, and core network device as an example.
[0146] like Figure 9 The diagram shown is a flowchart of a communication method provided in an embodiment of this application. The method includes:
[0147] Step 901: The core network device determines at least two sub-data units based on the data unit at the first protocol layer. The sub-data units include some information of the data unit.
[0148] Core network equipment can be devices such as UPF.
[0149] For details on how the core network equipment determines at least two sub-data units and the first protocol layer based on the data unit, please refer to the description in step 401. The specific process will not be repeated here.
[0150] Step 902: The core network device sends at least two sub-data units; the at least two sub-data units include a first sub-data unit and a second sub-data unit, and the transmission parameters associated with the first sub-data unit and the transmission parameters associated with the second sub-data unit are different.
[0151] Accordingly, the terminal device receives at least two sub-data units.
[0152] In this application, the core network device can send at least two sub-data units to the network device, and then the network device forwards the at least two sub-data units to the terminal device. The core network device can transmit sub-data units of different priorities using different data packets. Taking at least two sub-data units including a first sub-data unit and a second sub-data unit as an example, the first data packet includes part or all of the content of the first sub-data unit, and the second data packet includes part or all of the content of the second sub-data unit. The core network device can send at least one first data packet and at least one second data packet. For example, the core network device can send at least one first data packet and at least one second data packet to the network device, and then the network device forwards at least one first data packet and at least one second data packet to the terminal device. Correspondingly, the terminal device receives at least one first data packet and at least one second data packet.
[0153] The relevant descriptions of the first data packet and the second data packet can be found in the description of step 402, and will not be repeated here.
[0154] Core network devices can indicate the priority of sub-data units to network devices. In one implementation, a first data packet includes first indication information, which indicates the priority of the first data packet. The priority of the first data packet may refer to the priority of a first sub-data unit included in the first data packet. Similarly, a second data packet may also include indication information indicating the priority of the second data packet or a second sub-data unit.
[0155] For example, the first indication information may be located in the General Packet Radio Service (GPRS) Tunneling Protocol User Plane (GTP-U) header of the first data packet.
[0156] In another implementation, the core network device maps data packets of different sub-data units to different QoS streams for transmission, with higher priority sub-data units corresponding to higher priority QoS streams.
[0157] For example, if the priority of the first sub-data unit is higher than the priority of the second sub-data unit, then the priority of the QoS flow corresponding to the first sub-data unit is higher than the priority of the QoS flow corresponding to the second sub-data unit.
[0158] Once the network device determines the priority of the sub-data unit, it can configure different channel coding rates (or MCS) and / or logical channel priorities for different sub-data units.
[0159] In one implementation method, network devices can map data packets of high-priority or high-importance sub-data units to high-priority logical channels for transmission.
[0160] For example, if the priority of the first sub-data unit is higher than the priority of the second sub-data unit, then the priority of the logical channel mapped to the first sub-data unit is higher than the priority of the logical channel mapped to the second sub-data unit. This can also be understood as the priority of the logical channel used to transmit the data packet of the first sub-data unit being higher than the priority of the logical channel used to transmit the data packet of the second sub-data unit.
[0161] Optionally, the network device may determine the correspondence between the priority of the logical channel and the priority or importance of the sub-data unit, and the network device may determine the priority of the logical channel of the sub-data unit based on the correspondence.
[0162] In the second implementation method, the network device can determine at least one of the following for each sub-data unit: channel coding rate, QoS stream, or MCS, based on the priority of each sub-data unit in at least two sub-data units.
[0163] In this context, higher-priority sub-data units have lower channel coding rates, and higher-priority QoS flows correspond to higher priorities. For example, if the first sub-data unit has a higher priority than the second sub-data unit, then the channel coding rate of the first sub-data unit is lower than that of the second sub-data unit.
[0164] For example, the priority of the first sub-data unit is higher than that of the second sub-data unit, the channel coding code rate indicated by the first MCS corresponding to the first sub-data unit is lower than that indicated by the second MCS corresponding to the second sub-data unit, and / or the modulation order indicated by the first MCS corresponding to the first sub-data unit is lower than that indicated by the second MCS corresponding to the second sub-data unit.
[0165] Network devices can use scheduling information to indicate at least one of the following for each of at least two sub-data units: transmission resources, channel coding rate, QoS stream, or MCS.
[0166] Step 903: The terminal device determines the data unit based on at least two sub-data units at the first protocol layer.
[0167] The process by which the terminal device determines a data unit based on at least two sub-data units can be the reverse process by which the core network device determines at least two sub-data units based on a data unit. For details, please refer to the description of step 403, which will not be repeated here.
[0168] The method provided in this application splits a data unit into at least two sub-data units at the first protocol layer and sends at least two sub-data units with different transmission parameters. This allows for differentiated transmission of different sub-data units, achieving differentiated protection for each sub-data unit. In the event of channel errors, it prevents all sub-data units from being transmitted incorrectly, ensuring that some sub-data units can be transmitted successfully, thus improving data transmission stability and user experience.
[0169] It is understood that, in order to achieve the functions in the above embodiments, the terminal device, network device, or core network device includes hardware structures and / or software modules corresponding to perform each function. Those skilled in the art should readily recognize that, based on the units and method steps of the various examples described in conjunction with the embodiments disclosed in this application, this application can be implemented in hardware or a combination of hardware and computer software. Whether a function is executed by hardware or by computer software driving hardware depends on the specific application scenario and design constraints of the technical solution.
[0170] The following are schematic diagrams of possible communication devices provided in the embodiments of this application. These communication devices can be used to implement the functions of terminal devices, network devices, or core network devices in the above method embodiments, and thus can also achieve the beneficial effects of the above method embodiments.
[0171] like Figure 10 As shown, the communication device 1000 includes a processing unit 1010 and a communication unit 1020. The communication device 1000 is used to implement the functions of the terminal device, network device, or core network device in the various method embodiments shown above.
[0172] When the communication device 1000 is used to implement the functions of a terminal device:
[0173] A processing unit is configured to determine at least two sub-data units at a first protocol layer based on data units from the application layer, the sub-data units including partial information of the data units, wherein the first protocol layer is a Protocol Data Unit (PDU) layer, or the first protocol layer is a protocol layer adjacent to the PDU layer;
[0174] A communication unit is used to transmit the at least two sub-data units; the at least two sub-data units include a first sub-data unit and a second sub-data unit, wherein the transmission parameters associated with the first sub-data unit and the transmission parameters associated with the second sub-data unit are different.
[0175] When the communication device 1000 is used to implement the functions of core network equipment:
[0176] A communication unit is configured to receive at least two sub-data units; the at least two sub-data units include a first sub-data unit and a second sub-data unit, wherein the transmission parameters associated with the first sub-data unit and the transmission parameters associated with the second sub-data unit are different; each sub-data unit includes partial information of a data unit.
[0177] A processing unit is configured to determine the data unit based on the at least two sub-data units at 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 adjacent to the PDU layer.
[0178] More detailed descriptions of the processing unit 1010 and the communication unit 1020 can be obtained directly from the relevant descriptions in the above method embodiments, and will not be repeated here.
[0179] It should be understood that the division of units in the above device is merely a logical functional division. In actual implementation, they can be fully or partially integrated into a single physical entity, or they can be physically separated. Furthermore, all units in the device can be implemented entirely through software calls from processing elements; all units can be implemented entirely in hardware; or some units can be implemented through software calls from processing elements, while others are implemented in hardware. For example, each unit can be a separate processing element, or it can be integrated into a chip within the device. Alternatively, it can be stored as a program in memory, called and executed by a processing element of the device. Moreover, these units can be fully or partially integrated together, or implemented independently. The processing element here can also be called a processor, which can be an integrated circuit with signal processing capabilities. In the implementation process, the operations or units described above can be implemented through integrated logic circuits in the processor element or through software calls from processing elements.
[0180] In one example, a unit in any of the above devices can be one or more integrated circuits configured to implement the methods described above, such as: one or more application-specific integrated circuits (ASICs), or one or more digital signal processors (DSPs), or one or more field-programmable gate arrays (FPGAs), or a combination of at least two of these forms of integrated circuits. As another example, when a unit in the device can be implemented in the form of a processing element scheduler, the processing element can be a processor, such as a general-purpose central processing unit (CPU), or other processor capable of calling programs. Furthermore, these units can be integrated together to implement a system-on-a-chip (SOC).
[0181] The receiving unit described above is an interface circuit of the device, used to receive signals from other devices. For example, when the device is implemented as a chip, the receiving unit is an interface circuit for the chip to receive signals from other chips or devices. The transmitting unit described above is an interface circuit of the device, used to transmit signals to other devices. For example, when the device is implemented as a chip, the transmitting unit is an interface circuit for the chip to transmit signals to other chips or devices.
[0182] As another possible product form, the terminal device, network device, or core network device in the embodiments of this application can be implemented using a general bus architecture. For ease of explanation, see [link to documentation]. Figure 11 , Figure 11 This is a schematic diagram of the structure of a communication device 1100 provided in an embodiment of this application. The communication device 1100 includes a processor 1101 and a transceiver 1102. The communication device 1100 can be a terminal device, or a chip or chip system therein; or, the communication device 1100 can be a network device, or a chip or module therein. Figure 11 Only the main components of the communication device 1100 are shown. In addition to the processor 1101 and transceiver 1102, the communication device 1100 may further include a memory 1103 and input / output devices (not shown).
[0183] Optionally, the processor 1101 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. The memory 1103 is mainly used to store software programs and data. The transceiver 1102 may include radio frequency (RF) circuitry and an antenna. The RF circuitry 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.
[0184] Optionally, the processor 1101, transceiver 1102, and memory 1103 can be connected via a communication bus.
[0185] When the communication device is powered on, the processor 1101 can read the software program in the memory 1103, 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 1101 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 1101. The processor 1101 converts the baseband signal into data and processes the data.
[0186] In another implementation, the radio frequency circuitry and antenna can be set up independently of the processor that performs baseband processing. For example, in a distributed scenario, the radio frequency circuitry and antenna can be arranged remotely, independent of the communication device.
[0187] In some embodiments, those skilled in the art will recognize that the above-described communication device 1000 can be implemented in hardware using... Figure 11 The communication device 1100 shown is in the form of this device.
[0188] As an example, Figure 10The function / implementation process of the processing unit 1010 can be achieved through... Figure 11 The processor 1101 in the communication device 1100 shown calls computer execution instructions stored in memory 1103 to implement the function. Figure 10 The function / implementation process of the communication unit 1020 can be achieved through... Figure 11 This is achieved through the transceiver 1102 in the communication device 1100 shown.
[0189] As another possible product form, the terminal equipment, network equipment, or core network equipment in this application can adopt... Figure 12 The shown composition structure, or including Figure 12 The components shown. Figure 12 A schematic diagram of the composition of a communication device 1200 provided in this application.
[0190] like Figure 12 As shown, the communication device 1200 includes at least one processor 1201. Optionally, the communication device also includes a communication interface 1202.
[0191] When the relevant program instructions are executed in the at least one processor 1201, the device 1200 may implement the methods and any possible designs provided in any of the foregoing embodiments. Alternatively, the processor 1201 may implement the methods and any possible designs provided in any of the foregoing embodiments through logic circuits or executable code instructions.
[0192] The communication interface 1202 can be used to receive program instructions and transmit them to the processor, or it can be used for communication interaction between the communication device 1200 and other communication devices, such as exchanging control signaling and / or service data. For example, the communication interface 1202 can be used to receive signals from other devices besides the communication device 1200 and transmit them to the processor 1201, or to send signals from the processor 1201 to other communication devices besides the communication device 1200.
[0193] Optionally, the communication interface 1202 can be a code and / or data read / write interface circuit, or the communication interface 1202 can be a signal transmission interface circuit between a communication processor and a transceiver, or a chip pin.
[0194] Optionally, the communication device 1200 may further include at least one memory 1203, which can be used to store the required program instructions and / or data. It should be noted that the memory 1203 may exist independently of the processor 1201 or may be integrated with the processor 1201. The memory 1203 may be located within or outside the communication device 1200, without limitation.
[0195] Optionally, the communication device 1200 may further include a power supply circuit 1204, which can be used to power the processor 1201. The power supply circuit 1204 may be located in the same chip as the processor 1201, or in a separate chip outside the chip containing the processor 1201.
[0196] Optionally, the communication device 1200 may also include a bus, through which the various parts of the communication device 1200 can be interconnected.
[0197] In some embodiments, the hardware implementation will be apparent to those skilled in the art as described above. Figure 10 The communication device 1000 shown can be adopted Figure 12 The communication device 1200 shown is in the form of this device.
[0198] As an example, Figure 10 The function / implementation process of the processing unit 1010 can be achieved through... Figure 12 The processor 1201 in the communication device 1200 shown calls computer execution instructions stored in memory 1203 to implement the function. Figure 10 The function / implementation process of the communication unit 1020 can be achieved through... Figure 12 This is achieved through the communication interface 1202 in the communication device 1200 shown.
[0199] It should be pointed out that, Figure 12 The structures shown do not constitute a specific limitation on the terminal device, network device, or core network device. For example, in other embodiments of this application, the terminal device, network device, or core network device may include more or fewer components than illustrated, or combine some components, or split some components, or have different component arrangements. The illustrated components may be implemented in hardware, software, or a combination of software and hardware.
[0200] When the aforementioned communication device is a chip applied to a terminal, the terminal chip implements the functions of the terminal in the above method embodiments. The terminal chip receives information from other modules (such as radio frequency modules or antennas) in the terminal, which is information sent to the terminal by the base station; or, the terminal chip sends information to other modules (such as radio frequency modules or antennas) in the terminal, which is information sent to the base station by the terminal.
[0201] When the aforementioned communication device is a module applied to a base station, the base station module implements the functions of the base station in the above method embodiments. The base station module receives information from other modules (such as radio frequency modules or antennas) in the base station, information sent by the terminal to the base station; or, the base station module sends information to other modules (such as radio frequency modules or antennas) in the base station, information sent by the base station to the terminal. Here, the base station module can be the baseband chip of the base station, or a DU (Digital Unit) or other modules. The DU can be a DU under an Open Radio Access Network (O-RAN) architecture.
[0202] Based on the same technical concept, embodiments of this application also provide a computer-readable storage medium storing instructions, which may also be referred to as computer programs, computer program code, etc. The instructions, when executed on a computer, cause the computer to perform the functions of the terminal device, network device, or core network device described in the above method embodiments.
[0203] Based on the same technical concept, this application also provides a computer program product, which includes a computer program or instructions. When the computer program or instructions are run by a communication device, the method steps executed by the terminal device, network device or core network device in the above method embodiments are executed.
[0204] Based on the same concept, embodiments of this application also provide a chip, which may include a processor and a memory (or the chip may be coupled to the memory). The chip executes program instructions in the memory to perform the methods executed by the terminal device, network device, or core network device in the above embodiments. Here, "coupling" refers to two components being directly or indirectly connected to each other; for example, coupling can refer to an electrical connection between two components.
[0205] Based on the same concept, embodiments of this application also provide a communication system, including a terminal device and a core network device. The terminal device is used to implement the functions of the terminal device in the foregoing embodiments; the core network device is used to implement the functions of the core network device in the foregoing embodiments.
[0206] It is understood that the processor in the embodiments of this application may be a Central Processing Unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, transistor logic devices, hardware components, or any combination thereof. A general-purpose processor may be a microprocessor or any conventional processor.
[0207] The method steps in the embodiments of this application can be implemented in hardware or by a processor executing software instructions. The software instructions can consist of corresponding software modules, which can be stored in random access memory, flash memory, read-only memory, programmable read-only memory, erasable programmable read-only memory, electrically erasable programmable read-only memory, registers, hard disks, portable hard disks, CD-ROMs, or any other form of storage medium known in the art. An exemplary storage medium is coupled to a processor, enabling the processor to read information from and write information to the storage medium. Of course, the storage medium can also be a component of the processor. The processor and storage medium can reside in an ASIC. Alternatively, the ASIC can reside in a base station or terminal. Of course, the processor and storage medium can also exist as discrete components in the base station or terminal.
[0208] In the above embodiments, implementation can be achieved entirely or partially through software, hardware, firmware, or any combination thereof. When implemented using software, it can be implemented entirely or partially in the form of a computer program product. The computer program product includes one or more computer programs or instructions. When the computer program or instructions are loaded and executed on a computer, the processes or functions described in the embodiments of this application are performed entirely or partially. The computer can be a general-purpose computer, a special-purpose computer, a computer network, a network device, a user equipment, or other programmable device. The computer program or instructions can be stored in a computer-readable storage medium or transferred from one computer-readable storage medium to another. For example, the computer program or instructions can be transferred from one website, computer, server, or data center to another website, computer, server, or data center via wired or wireless means. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that integrates one or more available media. The available medium can be a magnetic medium, such as a floppy disk, hard disk, or magnetic tape; it can also be an optical medium, such as a digital video optical disc; or it can be a semiconductor medium, such as a solid-state drive. The computer-readable storage medium may be a volatile or non-volatile storage medium, or may include both types of storage media.
[0209] In the various embodiments of this application, unless otherwise specified or in case of logical conflict, the terminology and / or descriptions of different embodiments are consistent and can be referenced by each other. The technical features of different embodiments can be combined to form new embodiments according to their inherent logical relationship.
[0210] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, optical storage, etc.) containing computer-usable program code.
[0211] This application is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to this application. It should be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart illustrations. Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.
[0212] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.
[0213] Obviously, those skilled in the art can make various modifications and variations to this application without departing from the scope of this application. Therefore, if such modifications and variations fall within the scope of the claims of this application and their equivalents, this application also intends to include such modifications and variations.
Claims
1. A communication method, characterized in that, include: At least two sub-data units are determined at the first protocol layer based on data units from the application layer. The sub-data units include partial information of the data units. The first protocol layer is either a Protocol Data Unit (PDU) layer or a protocol layer adjacent to the PDU layer. The at least two sub-data units are transmitted; the at least two sub-data units include a first sub-data unit and a second sub-data unit, wherein the transmission parameters associated with the first sub-data unit and the transmission parameters associated with the second sub-data unit are different.
2. The method according to claim 1, characterized in that, The transmission parameters include at least one of the following: Logical channel priority; Quality of Service (QoS) flow; Channel coding rate; Modulation and coding scheme (MCS).
3. The method according to claim 1 or 2, characterized in that, The transmission of the at least two sub-data units 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 contents of the first sub-data unit, and the second data packet includes part or all of the contents of the second sub-data unit.
4. The method according to claim 3, characterized in that, The first data packet and the second data packet are Internet Protocol (IP) packets.
5. The method according to claim 3 or 4, characterized in that, The first data packet has a different priority than the second data packet.
6. The method according to any one of claims 3 to 5, characterized in that, The first data packet includes first indication information, which is used to indicate the priority of the first data packet.
7. The method according to any one of claims 3 to 6, characterized in that, The first data packet includes second indication information, which indicates the length information of each sub-data unit included in the first data packet, or the second indication information indicates the sub-data unit associated with the first data packet.
8. The method according to any one of claims 1 to 7, characterized in that, The data unit corresponds to multiple data sets; The first sub-data unit corresponds to a first data set, and the second sub-data unit corresponds to a second data set. The first data set belongs to the plurality of data sets, and the second data set belongs to the plurality of data sets. The first data set and the second data set are different.
9. The method according to claim 8, characterized in that, The first sub-data unit includes third indication information, which is used to indicate the position information of the first data set in the plurality of data sets, or the third indication information is used to indicate the type of residual coefficients corresponding to the first data set.
10. The method according to claim 8 or 9, characterized in that, The determination of at least two sub-data units at the first protocol layer based on data units from the application layer includes: The at least two sub-data units are determined based on the first information, wherein the first information is used to indicate the motion vector information corresponding to each of the plurality of data sets, or the first information is used to indicate the residual coefficient information corresponding to each of the plurality of data sets.
11. The method according to any one of claims 1 to 10, characterized in that, The data unit includes data encoded by the application layer for video or images.
12. The method according to any one of claims 1 to 11, characterized in that, The at least two sub-data units are determined by performing an entropy decoding operation on the data units.
13. The method according to any one of claims 1 to 12, characterized in that, The sub-data unit includes fourth indication information, which includes at least one of the following: The index of the data unit, the frame index associated with the sub-data unit, the stripe index associated with the sub-data unit, the number of the at least two sub-data units, the index of the sub-data unit in the at least two sub-data units, and the priority of the sub-data unit.
14. A communication method, characterized in that, include: Receive at least two sub-data units; the at least two sub-data units include a first sub-data unit and a second sub-data unit, wherein the transmission parameters associated with the first sub-data unit and the transmission parameters associated with the second sub-data unit are different; the sub-data unit includes partial information of a data unit; The data unit is determined in the first protocol layer based on the at least two sub-data units, wherein the first protocol layer is a Protocol Data Unit (PDU) layer, or the first protocol layer is a protocol layer adjacent to the PDU layer.
15. The method according to claim 14, characterized in that, The transmission parameters include at least one of the following: Logical channel priority; Quality of Service (QoS) flow; Channel coding rate; Modulation and coding scheme (MCS).
16. The method according to claim 14 or 15, characterized in that, The receipt of at least two sub-data units 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 contents of the first sub-data unit, and the second data packet includes part or all of the contents of the second sub-data unit.
17. The method according to claim 16, characterized in that, The first data packet and the second data packet are Internet Protocol (IP) packets.
18. The method according to claim 16 or 17, characterized in that, The first data packet has a different priority than the second data packet.
19. The method according to any one of claims 16 to 18, characterized in that, The first data packet includes first indication information, which is used to indicate the priority of the first data packet.
20. The method according to any one of claims 16 to 19, characterized in that, The first data packet includes second indication information, which indicates the length information of each sub-data unit included in the first data packet, or the second indication information indicates the sub-data unit associated with the first data packet.
21. The method according to any one of claims 14 to 20, characterized in that, The data unit corresponds to multiple data sets; The first sub-data unit corresponds to a first data set, and the second sub-data unit corresponds to a second data set. The first data set belongs to the plurality of data sets, and the second data set belongs to the plurality of data sets. The first data set and the second data set are different.
22. The method according to claim 21, characterized in that, The first sub-data unit includes third indication information, which is used to indicate the position information of the first data set in the plurality of data sets, or the third indication information is used to indicate the type of residual coefficients corresponding to the first data set.
23. The method according to any one of claims 14 to 22, characterized in that, The data unit includes data encoded by the application layer for video or images.
24. The method according to any one of claims 14 to 23, characterized in that, The data unit is determined by performing an entropy encoding operation on a first data stream, which is determined based on the at least two sub-data units.
25. The method according to any one of claims 14 to 24, characterized in that, The sub-data unit includes fourth indication information, which includes at least one of the following: The index of the data unit, the frame index associated with the sub-data unit, the stripe index associated with the sub-data unit, the number of the at least two sub-data units, the index of the sub-data unit in the at least two sub-data units, and the priority of the sub-data unit.
26. A communication device, characterized in that, include: A processing unit is configured to determine at least two sub-data units at a first protocol layer based on data units from the application layer, the sub-data units including partial information of the data units, wherein the first protocol layer is a Protocol Data Unit (PDU) layer, or the first protocol layer is a protocol layer adjacent to the PDU layer; A communication unit is used to transmit the at least two sub-data units; the at least two sub-data units include a first sub-data unit and a second sub-data unit, wherein the transmission parameters associated with the first sub-data unit and the transmission parameters associated with the second sub-data unit are different.
27. A communication device, characterized in that, include: A communication unit is configured to receive at least two sub-data units; the at least two sub-data units include a first sub-data unit and a second sub-data unit, wherein the transmission parameters associated with the first sub-data unit and the transmission parameters associated with the second sub-data unit are different; each sub-data unit includes partial information of a data unit. A processing unit is configured to determine the data unit based on the at least two sub-data units at 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 adjacent to the PDU layer.
28. A communication device, characterized in that, Including processor and memory; The processor is configured to execute a computer program or instructions stored in the memory, causing the communication device to implement the method described in any one of claims 1 to 25.
29. A computer-readable storage medium, characterized in that, The computer contains a computer program or instructions that, when executed on a computer, cause the computer to perform the method as described in any one of claims 1 to 25.
30. A computer program product, characterized in that, When the computer reads and executes the computer program product, the method described in any one of claims 1 to 25 is performed.