Communication method and communication apparatus
By introducing a data compression mechanism and optimizing the execution order during data transmission, the problem of high overhead in the segmented transmission mechanism is solved, achieving more efficient and reliable data transmission.
Patent Information
- Application Number
- PCT/CN2025/100592
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-07-12
- Filing Date
- 2025-06-12
- Publication Date
- 2026-01-15
AI Technical Summary
Existing segmented transmission mechanisms incur significant overhead during data transmission, making it difficult to balance reliability, efficiency, and overhead.
By introducing a data compression mechanism, the execution order between data compression and data segmentation is determined, and the data transmission process is optimized, including information interaction between terminal devices and network devices to ensure consistency of order.
It reduces data transmission overhead, improves data transmission efficiency and reliability, and ensures compatibility between data segmentation and compression processes.
Smart Images

Figure CN2025100592_15012026_PF_FP_ABST
Abstract
Description
Communication methods and communication devices
[0001] This application claims priority to Chinese Patent Application No. 202410940857.5, filed on July 12, 2024, entitled "Communication Method and Communication Device", the entire contents of which are incorporated herein by reference. Technical Field
[0002] This application relates to the field of communications, specifically to a communication method and a communication device. Background Technology
[0003] With the rapid development of modern communication technologies, communication systems face the challenge of transmitting large amounts of data. Related technologies have proposed segmented transmission mechanisms, such as the radio resource control (RRC) signaling segmented transmission mechanism, which helps avoid the data transmission volume exceeding the maximum data volume that the system can handle in a single transmission. However, in this case, the data transmission overhead remains relatively high. Summary of the Invention
[0004] This application provides a communication method and a communication device, which helps to reduce the overhead of data transmission by introducing data compression based on data segmentation.
[0005] In a first aspect, a communication method is provided, the method comprising: determining a first order, wherein the first order is an execution order between data compression and data segmentation; performing data compression and data segmentation on data to be transmitted according to the first order to obtain a plurality of first data segments; and sending the plurality of first data segments to a network device.
[0006] For example, the communication method can be implemented by a terminal device or by components inside the terminal device, such as a processor, circuit, chip, or chip system.
[0007] For example, this communication method can be applied to the processing of uplink data.
[0008] For example, the data to be transmitted may refer to data collected in the context of artificial intelligence (AI), which can be used for model inference or model training.
[0009] Optionally, the first order, which is the execution order between data compression and data segmentation, can be replaced with the first order being the execution order of data compression and data segmentation. In other words, the first order, that is, the order in which data compression and data segmentation are performed, can be, for example, data compression first, then data segmentation, or data segmentation first, then data compression.
[0010] This application's embodiments, by introducing a data compression mechanism, help reduce data transmission overhead and improve data transmission efficiency. Furthermore, by determining the execution order between data compression and data segmentation, such as a first order, this application's embodiments help ensure compatibility between the data segmentation mechanism and the data compression mechanism, thereby helping to balance data transmission reliability, data transmission overhead, and data transmission efficiency, and improving data transmission performance.
[0011] In some embodiments, determining the first order includes: receiving first information from the network device, the first information indicating the first order.
[0012] In some embodiments, determining the first order includes: determining the first order based on the capability information of the terminal device, wherein the capability information includes compression algorithms supported by the terminal device and / or whether the terminal device supports parallel compression.
[0013] In the embodiments of this application, the first order can be determined by the terminal device, which helps to save signaling overhead.
[0014] In some embodiments, if the compression algorithm depends on the context, or the compression ratio of the compression algorithm is not fixed, the first order is to perform the data compression first, and then perform the data segmentation; if the compression algorithm does not depend on the context, and the compression ratio of the compression algorithm is fixed, the first order is to perform the data segmentation first, and then perform the data compression.
[0015] If the compression algorithm depends on the context, performing data compression first helps to achieve a greater compression ratio, which in turn helps to further save data transmission overhead.
[0016] When the compression ratio of a compression algorithm is not fixed, if data segmentation is performed first, followed by data compression, the resulting compressed data may not meet the size requirements of the first data segment. Similarly, if data segmentation is performed first, the size of each data segment, such as the number and location of segments, cannot be determined during the segmentation process. Therefore, when the compression ratio of the compression algorithm is not fixed, performing data compression first, followed by data segmentation, helps to meet the size requirements of the data segments.
[0017] If the compression algorithm supported by the terminal device is context-independent and the compression ratio of the compression algorithm supported by the terminal device is fixed, if data segmentation is performed first and then data compression is performed, the terminal device can perform parallel compression on multiple second data segments obtained from the data segmentation, which helps to reduce the time for data compression and thus helps to further improve the efficiency of data transmission.
[0018] In some embodiments, where the compression algorithm is context-independent and the compression ratio of the compression algorithm is fixed, if the terminal device supports parallel compression, the first order is to first perform the data segmentation and then perform the data compression.
[0019] In some embodiments, if the terminal device supports parallel compression, the first order is to perform data segmentation first and then perform data compression; if the terminal device does not support parallel compression, the first order is to perform data segmentation first and then perform data compression, or the first order is to perform data compression first and then perform data segmentation.
[0020] When the terminal device supports parallel compression, prioritizing data segmentation before compression can achieve parallel compression of the segmented data, which helps improve data processing efficiency.
[0021] In some embodiments, the method further includes: sending second information to the network device, the second information including one or more of the following: the first order; the second order, wherein the second order is the execution order between data decompression and data assembly during the process of data decompression and data assembly of the plurality of first data segments; capability information of the terminal device; or the compression algorithm used by the terminal device in the process of generating the plurality of first data segments.
[0022] Through the interaction of the second information, the terminal device and the network device can reach a consensus on the first sequence, which helps to avoid data reception failures caused by incorrect decompression and data assembly order.
[0023] In some embodiments, the first order is predefined.
[0024] For example, the first order can be predefined by the protocol. Processing the data to be transmitted according to the predefined first order helps reduce the complexity of determining the first order.
[0025] In some embodiments, before performing the data compression and data segmentation on the data to be transmitted according to the first order to obtain a plurality of first data segments, the method further includes: obtaining third information, the third information being used to indicate the maximum allowed size of the plurality of first data segments; wherein, performing the data compression and data segmentation on the data to be transmitted according to the first order to obtain a plurality of first data segments includes: performing the data compression and data segmentation on the data to be transmitted according to the first order and the third information to obtain the plurality of first data segments.
[0026] In some embodiments, the third information is the maximum supported size of a Packet Data Convergence Protocol (PDCP) Protocol Data Unit (PDU), or the third information is indicated by the network device. Exemplarily, the terminal device may receive the third information from the network device.
[0027] Below are several examples of data compression and data segmentation based on the third information and the first order of data to be transmitted.
[0028] In some embodiments, the first order is to first perform the data compression and then perform the data segmentation; wherein, the step of performing the data compression and data segmentation on the data to be transmitted according to the first order and the third information to obtain the plurality of first data segments includes: performing the data compression on the data to be transmitted according to the first order to obtain compressed data; and performing the data segmentation on the compressed data according to the third information to obtain the plurality of first data segments.
[0029] In some embodiments, the first order is to first perform the data segmentation and then perform the data compression; wherein, the step of performing the data compression and data segmentation on the data to be transmitted according to the first order and the third information to obtain the plurality of first data segments includes: determining the maximum allowable size of the second data segment according to the third information and the first order; performing the data segmentation on the data to be transmitted according to the maximum allowable size of the second data segment to obtain a plurality of second data segments; and performing the data compression on the plurality of second data segments respectively to obtain a plurality of first data segments corresponding one-to-one with the plurality of second data segments.
[0030] When data segmentation is performed first, followed by data compression, the maximum allowed size of the first data segment cannot be used to determine the size of the resulting data segments, such as the number and location of the second data segments. Therefore, the maximum allowed size of the second data segment can be determined first based on the maximum allowed size of the first data segment.
[0031] In some embodiments, determining the maximum allowable size of the second data segment based on the third information and the first order includes: determining the second data segment obtained by performing the data segmentation based on the first order; and determining the maximum allowable size of the second data segment based on the compression ratio of the compression algorithm used by the terminal device and the maximum allowable size of the plurality of first data segments indicated by the third information.
[0032] For example, the maximum allowed size of the first data segment is the product of the maximum allowed size of the second data segment and the compression ratio of the compression algorithm used by the terminal device.
[0033] In some embodiments, the method further includes: receiving fourth information from the network device, the fourth information being used to instruct the retransmission of one or more of the plurality of first data segments.
[0034] For example, one or more data segments that need to be retransmitted can be indicated by the identifier (or number, etc.) of the first data segment.
[0035] For example, in the event that some or all of the data segments in a plurality of first data segments fail to be received, the terminal device can be instructed to retransmit one or more of the aforementioned data segments via the fourth information described above. Retransmitting one or more of the aforementioned data segments helps to save data transmission overhead compared to retransmitting all data segments.
[0036] For example, in a scenario of repeated transmission, the above-mentioned fourth information can be used to instruct the retransmission (or repeated transmission) of one or more data segments, thereby enabling repeated transmission of one or more data segments and helping to improve the transmission success rate of one or more data segments.
[0037] In a second aspect, a communication method is provided, the method comprising: receiving a plurality of first data segments from a terminal device; and performing data decompression and data assembly on the plurality of first data segments based on a second order, wherein the second order is the execution order between the data decompression and the data assembly.
[0038] For example, this communication method can be implemented by a network device or by a component within the network device, such as a processor, circuit, chip, or chip system. Alternatively, the communication method can be implemented by a chip, processor, or chip system that implements the functionality of an Open Distributed Unit (DU) (which may be abbreviated as O-DU).
[0039] For example, this communication method can be applied to the processing of uplink data.
[0040] Optionally, the second order, which is the execution order between data decompression and data assembly, can be replaced by the second order being the execution order of data decompression and data assembly. In other words, the second order, that is, the order in which data decompression and data assembly are performed, can be, for example, performing data decompression first and then data assembly, or performing data assembly first and then data decompression.
[0041] This application embodiment introduces a data compression mechanism, which helps reduce data transmission overhead and improve data transmission efficiency. Furthermore, this application embodiment determines the execution order between data decompression and data assembly, such as a second order, which helps to achieve correct reception of multiple first data segments.
[0042] In some embodiments, before receiving the plurality of first data segments from the terminal device, the method further includes: sending the first information to the terminal device, the first information indicating a first order, the first order being the execution order of data compression and data segmentation during the generation of the plurality of first data segments by the terminal device; wherein, the step of decompressing and assembling the plurality of first data segments based on a second order includes: determining the second order according to the first order; and performing the data decompression and data assembly on the plurality of first data segments according to the second order.
[0043] In some embodiments, before sending the first information to the terminal device, the method further includes: receiving capability information from the terminal device, the capability information including compression algorithms supported by the terminal device and / or whether the terminal device supports parallel compression; and determining the first information based on the capability information.
[0044] In some embodiments, before decompressing and assembling the plurality of first data segments based on the second order, the method further includes: receiving second information from the terminal device; determining the second order based on the second information; wherein the second information includes one or more of the following: a first order, which is the execution order of data compression and data segmentation between the terminal device during the generation of the plurality of first data segments; the second order; capability information of the terminal device; or the compression algorithm used by the terminal device during the generation of the plurality of first data segments.
[0045] Through the interaction of the second information, the terminal device and the network device can reach a consensus on the second sequence, which helps to avoid data reception failures caused by incorrect decompression and data assembly order.
[0046] In some embodiments, the second order is predefined.
[0047] For example, the second order can be predefined by the protocol. Processing the data to be transmitted according to the predefined second order helps reduce the complexity of determining the second order.
[0048] In some embodiments, before receiving the plurality of first data segments from the terminal device, the method further includes sending third information to the terminal device, the third information indicating the maximum permissible size of the plurality of first data segments.
[0049] In some embodiments, the method further includes: sending fourth information to the terminal device, the fourth information being used to instruct the retransmission of one or more of the plurality of first data segments.
[0050] For example, one or more data segments that need to be retransmitted can be indicated by the identifier (or number, etc.) of the first data segment.
[0051] For example, in the event that some or all of the data segments in a plurality of first data segments fail to be received, the terminal device can be instructed to retransmit one or more of the aforementioned data segments via the fourth information described above. Retransmitting one or more of the aforementioned data segments helps to save data transmission overhead compared to retransmitting all data segments.
[0052] For example, in a scenario of repeated transmission, the above-mentioned fourth information can be used to instruct the retransmission (or repeated transmission) of one or more data segments, thereby enabling repeated transmission of one or more data segments and helping to improve the transmission success rate of one or more data segments.
[0053] Thirdly, a communication method is provided, comprising: receiving a plurality of third data segments from a network device; and performing data decompression and data assembly on the plurality of third data segments based on a third order, wherein the third order is the execution order between the data decompression and the data assembly.
[0054] For example, the communication method can be implemented by a terminal device or by components inside the terminal device, such as a processor, circuit, chip, or chip system.
[0055] For example, this communication method can be applied to the processing of downlink data.
[0056] This application embodiment introduces a data compression mechanism, which helps reduce data transmission overhead and improve data transmission efficiency. Furthermore, this application embodiment determines the execution order between data decompression and data assembly, such as a third order, which helps to achieve correct reception of multiple third data segments.
[0057] In some embodiments, before performing data decompression and data assembly on the plurality of third data segments based on a third order, the method further includes: receiving fifth information from the network device, the fifth information being used to indicate the third order or a fourth order, the fourth order being the execution order between data compression and data segmentation during the generation of the plurality of third data segments by the network device.
[0058] Through the interaction of the fifth piece of information, terminal devices and network devices can reach a consensus on the third or fourth order, which helps to avoid data reception failures caused by incorrect decompression and data assembly order.
[0059] In some embodiments, before performing data decompression and data assembly on the plurality of third data segments based on the third order, the method further includes: determining the third order according to the fourth order, wherein: if the fourth order is to perform data compression first and then perform data segmentation, then the third order is to perform data assembly first and then perform data decompression; if the fourth order is to perform data segmentation first and then perform data compression, then the third order is to perform data decompression first and then perform data assembly.
[0060] In some embodiments, the third order is predefined. For example, the third order is predefined by the protocol.
[0061] In some embodiments, the method further includes sending a sixth message to the network device, the sixth message being used to instruct the retransmission of one or more of the plurality of third data segments.
[0062] For example, one or more data segments that need to be retransmitted can be indicated by the identifier (or number, etc.) of the third data segment.
[0063] For example, in the event that some or all of the third data segments fail to be received, the network device can be instructed to retransmit one or more of the aforementioned data segments via the sixth information described above. Retransmitting one or more of the aforementioned data segments helps to save data transmission overhead compared to retransmitting all data segments.
[0064] For example, in a scenario of repeated transmission, the above-mentioned sixth information can be used to instruct the retransmission (or repeated transmission) of one or more data segments, thereby enabling repeated transmission of one or more data segments and helping to improve the transmission success rate of one or more data segments.
[0065] Fourthly, a communication method is provided, the method comprising: compressing and segmenting data to be transmitted according to a fourth order to obtain a plurality of third data segments, wherein the fourth order is the execution order between the data compression and the data segmentation; and sending the plurality of third data segments to a terminal device.
[0066] For example, this communication method can be implemented by a network device or by a component within the network device, such as a processor, circuit, chip, or chip system. Alternatively, the communication method can be implemented by a chip, processor, or chip system that implements O-DU functionality.
[0067] For example, this communication method can be applied to the processing of downlink data.
[0068] For example, the data to be transmitted may refer to data collected in an AI scenario, which can be used for model inference or model training.
[0069] This application's embodiments, by introducing a data compression mechanism, help reduce data transmission overhead and improve data transmission efficiency. Furthermore, by determining the execution order between data compression and data segmentation, such as a third order, this application's embodiments help ensure compatibility between the data segmentation mechanism and the data compression mechanism, thereby helping to balance data transmission reliability, data transmission overhead, and data transmission efficiency.
[0070] In some embodiments, the method further includes: sending fifth information to the terminal device, the fifth information being used to indicate a third order or the fourth order, the third order being the execution order between data decompression and data assembly during the process of data decompression and data assembly of the plurality of third data segments.
[0071] Through the interaction of the fifth piece of information, terminal devices and network devices can reach a consensus on the third or fourth order, which helps to avoid data reception failures caused by incorrect decompression and data assembly order.
[0072] In some embodiments, the fourth order is predefined. For example, the fourth order is predefined by the protocol.
[0073] In some embodiments, the method further includes: receiving sixth information from the terminal device, the sixth information being used to instruct the retransmission of one or more of the plurality of third data segments.
[0074] For example, one or more data segments that need to be retransmitted can be indicated by the identifier (or number, etc.) of the third data segment.
[0075] For example, in the event that some or all of the third data segments fail to be received, the network device can be instructed to retransmit one or more of the aforementioned data segments via the sixth information described above. Retransmitting one or more of the aforementioned data segments helps to save data transmission overhead compared to retransmitting all data segments.
[0076] For example, in a scenario of repeated transmission, the above-mentioned sixth information can be used to instruct the retransmission (or repeated transmission) of one or more data segments, thereby enabling repeated transmission of one or more data segments and helping to improve the transmission success rate of one or more data segments.
[0077] It should be noted that the communication methods mentioned in the first to fourth aspects can be applied to control plane data, such as the processing of RRC signaling, and can also be applied to the processing of user plane data.
[0078] Fifthly, a communication device is provided, comprising: a unit for performing each step in any possible implementation of any of the first to fourth aspects above.
[0079] In a sixth aspect, a communication device is provided, the communication device including at least one processor coupled to a memory for storing a program or instructions, wherein when the program or instructions are executed by the processor, they perform a method in any possible implementation of any of the first to fourth aspects above.
[0080] In a seventh aspect, a communication device is provided, the communication device including at least one processor and a memory coupled together, the processor and the memory storing program instructions, wherein when the program instructions stored in the memory are executed by the processor, the method of any possible implementation of any of the first to fourth aspects above is performed.
[0081] Eighthly, a communication device is provided, the communication device including at least one processor and an interface circuit for transmitting and / or receiving signals, such that the processor performs the method in any of the possible implementations of the first to fourth aspects above.
[0082] Ninthly, a computer program product is provided, comprising a computer program that, when executed by a processor, performs a method in any possible implementation of any of the first to fourth aspects.
[0083] In a tenth aspect, a computer-readable storage medium is provided, wherein a computer program is stored therein, which, when executed, performs the method in any possible implementation of any of the first to fourth aspects above.
[0084] Eleventhly, a chip is provided, the chip comprising: a processor for calling and running a computer program from a memory, causing a communication device having the chip installed to perform the methods in any possible implementation of any of the first to fourth aspects above. Attached Figure Description
[0085] Figure 1 is a schematic diagram of the architecture of the communication system used in the embodiments of this application.
[0086] Figure 2 is a schematic diagram of a framework for the application of AI in the new air interface provided by an embodiment of this application.
[0087] Figure 3 is a schematic diagram of a data collection sub-scenario in an AI scenario provided by an embodiment of this application.
[0088] Figure 4 is a schematic diagram of another data collection sub-scenario in an AI scenario provided by an embodiment of this application.
[0089] Figure 5 is a schematic diagram of the downlink message segmentation transmission process provided in the embodiments of this application.
[0090] Figure 6 is a schematic diagram of the uplink message segmentation transmission process provided in an embodiment of this application.
[0091] Figure 7 is a flowchart illustrating a communication method provided in an embodiment of this application.
[0092] Figure 8A is an example diagram of the first order.
[0093] Figure 8B is another example diagram of the first order.
[0094] Figure 9 is a flowchart illustrating another communication method provided in an embodiment of this application.
[0095] Figure 10 is a flowchart illustrating another communication method provided in an embodiment of this application.
[0096] Figure 11 is a flowchart illustrating another communication method provided in an embodiment of this application.
[0097] Figure 12 is a flowchart illustrating another communication method provided in an embodiment of this application.
[0098] Figure 13 is a flowchart illustrating another communication method provided in an embodiment of this application.
[0099] Figure 14 is a schematic block diagram of a communication device provided in an embodiment of this application.
[0100] Figure 15 is a schematic block diagram of another communication device provided in an embodiment of this application. Detailed Implementation
[0101] The technical solutions in the embodiments of this application will now be described with reference to the accompanying drawings.
[0102] In the description of the embodiments of this application, unless otherwise stated, " / " indicates that the objects before and after are in an "or" relationship. For example, A / B can represent A or B. "And / or" in the embodiments of this application is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A alone, A and B simultaneously, and B alone, where A and B can be singular or plural. Furthermore, in the description of the embodiments of this application, unless otherwise stated, "multiple" refers to two or more. "At least one of the following" or similar expressions refer to any combination of these items, including any combination of single or plural items. For example, at least one of a, b, or c can represent: a, b, c, ab, ac, bc, or abc, where a, b, and c can be single or multiple. Additionally, to facilitate a clear description of the technical solutions of the embodiments of this application, the terms "first" and "second" are used in the embodiments of this application to distinguish identical or similar items with essentially the same function and effect. Those skilled in the art will understand that the words "first" and "second" do not limit the quantity or the order of execution, and that the words "first" and "second" do not necessarily imply that they are different.
[0103] In the various method embodiments of this application, the order of the sequence numbers does not imply the order of execution. The execution order should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application.
[0104] It is understood that in the embodiments of this application, descriptions such as "under the circumstances," "if," "when," and "if..." can be used interchangeably. Furthermore, these descriptions all refer to the corresponding processing that will be carried out under certain objective circumstances, and are not limited to a specific time, nor do they require any judgment action during implementation, nor do they imply any other limitations.
[0105] It is understood that some optional features in the embodiments of this application can be implemented independently in certain scenarios without relying on other features, such as the current solution on which they are based, to solve the corresponding technical problems and achieve the corresponding effects. Alternatively, they can be combined with other features as needed in certain scenarios. Correspondingly, the apparatus given in the embodiments of this application can also implement these features or functions, which will not be elaborated here.
[0106] In the embodiments of this application, unless otherwise specified, the same or similar parts between the various embodiments can be referred to each other. In the various embodiments of this application, and in the various implementation methods / methods / implementations within each embodiment, unless otherwise specified or logically conflicting, the terminology and / or descriptions between different embodiments and between the various implementation methods / methods / implementations within each embodiment are consistent and can be mutually referenced. The technical features in different embodiments and the various implementation methods / methods / implementations within each embodiment can be combined according to their inherent logical relationships to form new embodiments, implementation methods, methods, or implementation approaches. The embodiments of this application described below do not constitute a limitation on the scope of protection of this application.
[0107] Communication system
[0108] The embodiments of this application can be applied to various communication systems. For ease of understanding, the communication system 10 shown in FIG1 is used as an example to describe the communication system to which the embodiments of this application are applicable.
[0109] Figure 1 is a schematic diagram of the architecture of the communication system 10 used in the embodiments of this application. As shown in Figure 1, the communication system includes a radio access network (RAN) 100, wherein the RAN 100 includes at least one RAN node (110a and 110b in Figure 1, collectively referred to as 110), and may also include at least one terminal (120a-120j in Figure 1, collectively referred to as 120). The RAN 100 may also include other RAN nodes, such as wireless relay devices and / or wireless backhaul devices (not shown in Figure 1). The terminal 120 is wirelessly connected to the RAN node 110. Terminals and RAN nodes can be interconnected via wired or wireless means. The communication system 10 may also include a core network 200. The RAN node 110 is connected to the core network 200 wirelessly or via wired means. The core network equipment in the core network 200 and the RAN node 110 in the RAN 100 may be independent and different physical devices, or they may be the same physical device that integrates the logical functions of the core network equipment and the logical functions of the RAN node. Communication system 10 may also include Internet 300.
[0110] RAN 100 can be an evolved universal terrestrial radio access (E-UTRA) system, a new radio (NR) system, or a future radio access system as defined in the 3rd generation partnership project (3GPP). RAN 100 can also be an open RAN (O-RAN or ORAN), a cloud radio access network (CRAN), or a wireless fidelity (WiFi) system. RAN 100 can also be a communication system that integrates two or more of the above systems.
[0111] RAN node 110 (also known as access network equipment, RAN entity, or access node, etc.) is used to help terminals access the communication system wirelessly. In one possible scenario, the RAN node can be a base station, an evolved NodeB (eNodeB), an access point (AP), a transmission reception point (TRP), a next-generation NodeB (gNB), a base station in a future mobile communication system, or an access node in a WiFi system, etc. The RAN node can be a macro base station (as shown in Figure 1, 110a), a micro base station or indoor station (as shown in Figure 1, 110b), a relay node or donor node, or a radio controller in a CRAN scenario. Optionally, the RAN node can also be a server, wearable device, vehicle, or in-vehicle equipment, etc. For example, the access network equipment in vehicle-to-everything (V2X) technology can be a roadside unit (RSU).
[0112] In another possible scenario, multiple RAN nodes collaborate to assist the terminal in achieving wireless access, with different RAN nodes each implementing some of the base station's functions. For example, RAN nodes can be central units (CUs), distributed units (DUs), or radio units (RUs). Here, the CU can perform the functions of the base station's radio resource control protocol and PDCP, as well as the service data adaptation protocol (SDAP). The DU can perform the functions of the base station's radio link control layer and medium access control (MAC) layer, and can also perform some or all of the physical layer functions. For specific descriptions of these protocol layers, refer to the relevant 3GPP technical specifications. The RU can be used to implement radio frequency signal transmission and reception. The CU and DU can be two independent RAN nodes, or they can be integrated into the same RAN node, such as within a baseband unit (BBU). RUs can be included in radio frequency equipment or radio frequency units, such as remote radio units (RRUs), active antenna units (AAUs), or remote radio heads (RRHs). CUs can be further divided into two types of RAN nodes: CU-control plane (CP) and CU-user plane (UP).
[0113] In different systems, RAN nodes may have different names. For example, in an O-RAN system, a CU can be called an open CU (O-CU), a DU can be called an open DU (O-DU), and an RU can be called an open RU (O-RU). Similarly, a CU-CP can be called an O-CU-CP, a CU-UP can be called an O-CU-UP, and an RU can be called an O-RU. For ease of description, this application uses CU, CU-CP, CU-UP, DU, and RU as examples in its embodiments.
[0114] All or part of the functions of the RAN node in this application can also be implemented through software functions running on hardware, or through virtualization functions instantiated on a platform (e.g., a cloud platform). The RAN node may also be equipped with communication modules, circuits, or chips that perform corresponding communication functions. The RAN node may also be configured with program instructions for performing corresponding communication functions and corresponding program instructions. The RAN node in this application can also be a logical node, logical module, or software capable of implementing all or part of the RAN node functions. The embodiments of this application do not limit the specific technology or specific device form used in the RAN node.
[0115] Terminal 120 is a device with wireless transceiver capabilities, capable of sending signals to or receiving signals from a base station. The terminal can also be referred to as user equipment (UE), terminal equipment, access terminal, user unit, user station, mobile station (MS), remote station, remote terminal, mobile terminal (MT), user terminal, wireless communication equipment, user agent, user device, and terminal device, etc. Terminal 120 can be a mobile phone, tablet computer, computer with wireless transceiver capabilities, wearable device, vehicle, drone, helicopter, airplane, ship, robot, robotic arm, smart home device, etc. The embodiments of this application do not limit the device form of the terminal.
[0116] For example, terminal 120 can be an Internet of Things (IoT) device (e.g., a sensor, electricity meter, water meter, etc.), a V2X device, a station (ST) in a wireless local area network (WLAN), a cellular phone, a cordless phone, a session initiation protocol (SIP) phone, a wireless local loop (WLL) station, a personal digital assistant (PDA) device, a handheld device with wireless communication capabilities, a computing device or other processing device connected to a wireless modem, an in-vehicle device, a wearable device (also known as a wearable smart device), a tablet computer or a computer with wireless transceiver capabilities, a virtual reality (VR) terminal, a wireless terminal in industrial control, a wireless terminal in self-driving, a wireless terminal in remote medical care, a wireless terminal in a smart grid, a wireless terminal in transportation safety, a wireless terminal in a smart city, or a wireless terminal in a smart home. Wireless terminals in the home, vehicle terminals, vehicles with vehicle-to-vehicle (V2V) communication capabilities, intelligent connected vehicles, drones with drone-to-drone (UAV-to-UAV, U2U) communication capabilities, etc.
[0117] The roles of base stations and terminals can be relative. For example, network element 120i in Figure 1 can be a helicopter or a drone, which can be configured as a mobile base station. For terminals 120j that access the wireless access network 100 through 120i, terminal 120i is a base station; however, for base station 110a, 120i is a terminal, meaning that 110a and 120i communicate via a wireless air interface protocol. Of course, 110a and 120i can also communicate via a base station-to-base station interface protocol. In this case, relative to 110a, 120i is also a base station. Therefore, both base stations and terminals can be collectively referred to as communication devices. 110a and 110b in Figure 1 can be called communication devices with base station functions, and 120a-120j in Figure 1 can be called communication devices with terminal functions.
[0118] Base stations and terminals can be fixed or mobile. They can be deployed on land, including indoors or outdoors, handheld or vehicle-mounted; they can also be deployed on water; and they can be deployed on aircraft, balloons, and satellites. The embodiments of this application do not limit the application scenarios of the base stations and terminals.
[0119] Scenarios for transmitting large amounts of data
[0120] With the rapid development of modern communication technologies, the demand for data transmission has exploded. As technologies such as cloud computing, big data, IoT, and AI are widely applied, communication systems face the challenge of transmitting massive amounts of data. For example, in AI scenarios, large amounts of data need to be collected for model training and inference. The following section uses an AI scenario as an example to introduce the problem of transmitting large amounts of data in communication systems.
[0121] AI, a technology proposed in the 1950s, simulates complex calculations by mimicking the human brain. With advancements in data storage and computing power, AI has seen increasing applications. 3GPP Release 17 (R17) approved a study item (SI). This SI proposes applying AI to NR (Network Node B) to improve network performance and user experience through intelligent data collection and analysis. Based on discussions within the 3GPP RAN3 working group, a preliminary framework for AI applications in NR has been defined, as shown in Figure 2.
[0122] The framework shown in Figure 2 may include functional modules such as data collection 210, model training 220, model inference 230, and actor 240.
[0123] The data collection entity 210 collects and stores data from gNB, gNB-CU, gNB-DU, terminal devices, or other management entities, using this data as a database for AI model training and data analysis inference. The model training entity 220 analyzes the training data provided by the data collection entity 210 to provide the optimal AI model. The model inference entity 230 uses the AI model, based on the inference data provided by the data collection entity 210, to make reasonable AI-based predictions about network operation or guide network strategy adjustments. These strategy adjustments are planned uniformly by the execution entity 240 and sent to multiple network entities for implementation. Simultaneously, the network's performance after applying the relevant strategies is input back into the database and stored.
[0124] Currently, 3GPP has designed several basic application scenarios (also known as use cases) for AI applications on the RAN side. Among them, RAN3's AI use cases include energy saving, load balancing, and mobility optimization; RAN1's AI use cases include channel state information-reference signal (CSI-RS) feedback enhancement, beam management enhancement, and positioning enhancement. The basic principles of these use cases will be briefly introduced below.
[0125] Energy saving: By collecting load, energy consumption, and energy efficiency information from its own and neighboring cells, as well as trajectory information and measurement results from terminal devices, the base station predicts the direction of its own load. Combined with cell usage and KPI requirements, energy-saving measures are implemented in a timely and appropriate manner without affecting network coverage or user access. Some simple energy-saving strategies may include directly deactivating the cell, or shutting down carriers, channels, time slots, or reducing transmit power; more complex strategies may combine multiple energy-saving measures. When network coverage is affected, or the access and service needs of terminal devices cannot be met, the current energy-saving strategy needs to be modified, or the system needs to be restored to normal operation (i.e., switching from energy-saving to non-energy-saving mode). In this case, load re-prediction or modification of the AI model used for re-inference can also be considered.
[0126] Load balancing: By collecting load, energy consumption, and energy efficiency information from its own and neighboring cells, as well as trajectory information and measurement results of terminal devices, base stations predict their own load trends. Combined with cell usage and key performance indicators (KPIs), they rationally select some terminal devices to switch to or receive terminal devices from neighboring cells, ensuring that the load levels among base stations across the entire network area are similar, reducing situations where some base stations are overloaded and affecting normal services while others are idle. However, since the accuracy of prediction is not 100%, the following situations may occur: unreasonable terminal device selection or an unreasonable target cell for handover, leading to handover failure or impact on terminal device services; inaccurate load prediction resulting in poor load balancing; and temporary abnormal load fluctuations rendering the original load balancing strategy inapplicable. In these cases, it is necessary to exit or modify the current load balancing strategy and consider re-predicting the load or changing the AI model used for re-inference.
[0127] Mobility optimization: By collecting historical trajectory information from base stations and combining it with measurement information from the terminal devices, the future trajectory of the terminal devices is predicted. Based on the predicted trajectory, it is determined in advance whether the terminal device needs to perform cell handover, and handover configuration is sent in advance, and the target cell is notified to prepare access resources, thereby reducing latency during the handover process and lowering the probability of handover failure and access failure. However, since the accuracy of trajectory prediction is not 100%, when the trajectory prediction result is incorrect, it will lead to abnormal situations such as handover failure and service interruption. In this case, it is necessary to consider retraining the model and inference based on the abnormal situation, or consider replacing the model, to avoid similar abnormal situations from recurring in the future.
[0128] As one possible implementation, the main process of CSI-RS feedback enhancement includes the following steps 1 to 3.
[0129] Step 1: The base station and the terminal device first exchange a dictionary. Typically, the base station can pre-train a model based on the terminal device's capabilities and its own requirements, and then send an encoder and quantizer to the terminal device.
[0130] Step 2: The terminal device can compress and quantize the matrix to be fed back according to the measured channel matrix results and the existing dictionary, and transmit the processing result B to the base station.
[0131] Step 3: The base station side reversely recovers the original channel matrix based on the dictionary and the data reported by the terminal device (such as processing result B).
[0132] As one possible implementation, the main process of beam management enhancement includes the following steps 1 to 3.
[0133] Step 1: Generate the initial model. The initial model is trained using full-beam scan results of the synchronization signal block (PBCH block, SSB) reported by a certain number of terminal devices. This model can consist of a sparse scan matrix and is also called a sparse model. It should be understood that this sparse model is typically unique to each cell.
[0134] Step 2: The base station sends the sparse model to the terminal device, for example, by sending the coefficient model to the terminal device via a system information block (SIB) message. The terminal device can then perform beam scanning in the P1 phase based on this sparse model.
[0135] Step 3: Based on the scanning results of the terminal device, the base station infers the optimal CSI-RS beam and starts P2 scanning of the terminal device. Then, the terminal device feeds back the optimal CSI-RS beam identifier (identity, ID).
[0136] As one possible implementation method, the main process of enhancing positioning accuracy includes the following steps 1 and 2.
[0137] Step 1: Collect raw data using a reference terminal device controlled by the operator.
[0138] Step 2: The location management function (LMF) (non-RAN side node) and the base station train models respectively. The model on the LMF side can infer the final positioning (latitude and longitude, etc.), and the model on the base station side can infer the non-line of sight (NLOS) / line of sight (LOS) judgment results.
[0139] For different AI-based use cases, the terminal device can be configured to perform different functions. For example, for CSI feedback enhancement scenarios, the terminal device can be configured to perform CSI channel prediction.
[0140] In some embodiments, a terminal device can select the appropriate model from multiple models that have the same function (able to provide the required output results) to achieve a specific function. The model selection can be configured on the network side or determined by the terminal device based on its internal implementation. Generally, the application environment of the model can be used as the basis for model selection.
[0141] The application environment of the model can include various types. For example, a typical application environment type can be associated with one or more of the following: the macroscopic physical attributes of the terminal device, the hardware and software attributes of the terminal device, the channel environment in which the terminal device is located, the communication configuration between the terminal device and the base station, or the time-frequency domain resources of air interface communication, etc. The above information will be introduced in detail below.
[0142] The macroscopic physical attributes of the terminal device can include, for example, the terminal device's speed, direction of movement, geographical location, and altitude.
[0143] The hardware and software attributes of the terminal device can include, for example, the terminal device's effective power, computing power, storage space, and the compilation environment of the supported AI models.
[0144] The channel environment in which the terminal device is located can include, for example, an urban macro (UMa), an urban micro (UMi), or an indoor hotspot (InH).
[0145] The communication configuration between the terminal device and the base station may include, for example, the number of receiving antennas of the terminal device and the number of transmitting ports of the base station.
[0146] Time-frequency domain resources for air interface communication may include, for example, carrier frequency, subcarrier spacing, bandwidth, etc.
[0147] Since models with the same functionality may achieve different performance levels in different application environments, it is usually necessary to select the model used by the terminal device based on the actual application environment in order to obtain better model performance.
[0148] For ease of description, the data involved in AI technology will be referred to as AI data.
[0149] Based on the above analysis, it is evident that the data collection sub-scenario in the AI scenario involves the transmission of a large amount of AI data. For example, AI data can be obtained from terminal device 330 by core network 310 or network device 320, or terminal device 330 can obtain data from network device 320 or core network 310, as shown in Figure 3. Furthermore, for the ORAN architecture, AI data can be collected by O-DU 420 or core network 410, with terminal device 430 reporting the collected data, as shown in Figure 4. The interaction between terminal device 430 and O-DU 420 can be achieved through O-RU 440.
[0150] Referring to Figure 4, the O-DU has baseband processing capabilities and complete protocol layer functions, primarily responsible for higher-level protocol functions such as data encryption and integrity protection. The O-DU also possesses high-level physical layer processing capabilities. The O-RU possesses low-level physical layer signal processing capabilities, primarily responsible for the transmission and reception of radio frequency signals.
[0151] It should be noted that in the data collection sub-scenario of the above AI scenario, terminal devices, network devices, and core network devices can have AI functions to achieve the collection of AI data.
[0152] Segmented transmission
[0153] In situations requiring the transmission of large amounts of data, transmitting such a large amount in a single process can lead to overload issues within that single transmission, where the data transmission volume exceeds the system's maximum capacity for processing in a single operation. Furthermore, in complex communication environments, transmitting large amounts of data in a single process may result in the transmitted data not being correctly received and decoded. Therefore, related technologies have proposed segmented transmission to address these issues.
[0154] For example, related technologies have proposed an RRC signaling segmentation mechanism. This means that when network devices and terminal devices exchange RRC signaling, if the RRC signaling exceeds the maximum supported size of a PDCP PDU, the RRC will be segmented. The segmentation transmission method will be described below using the RRC signaling transmission process as an example. It should be noted that the size mentioned in the embodiments of this application can also be understood as size; for example, the maximum supported size of a PDCP PDU can be understood as the maximum supported size of a PDCP PDU.
[0155] Figure 5 is a schematic diagram of the downlink message segmentation transmission process provided in an embodiment of this application. The method shown in Figure 5 may include step S510.
[0156] If the RRC PDU on the network side exceeds the maximum size supported by the PDCP PDU, downlink message segmentation is triggered, and step S510 is executed.
[0157] In step S510, the network device sends a Downlink Dedicated Message Segment (DLDedicatedMessageSegment) message to the terminal device.
[0158] After receiving the message, the terminal device can store the segments contained in the RRC message segment container (rrc-MessageSegmentContainer).
[0159] If all segmented messages have been received, the terminal device can reassemble all received segmented messages. Optionally, after the segmented messages are reassembled, all segments can be discarded.
[0160] Figure 6 is a schematic flowchart of uplink message segmentation transmission provided in an embodiment of this application. The method shown in Figure 6 may include step S610.
[0161] In RRC connection mode, if RRC message segmentation is enabled and the encoded RRC message exceeds the maximum supported size of a PDCP PDU, a terminal device with uplink RRC message segmentation capability can initiate a message segmentation transmission procedure and execute step S610. Optionally, whether RRC message segmentation is enabled can be determined based on the rrc-SegAllowed field received by the terminal device (this field is used to indicate whether RRC signaling segmentation is allowed).
[0162] In step S610, the terminal device sends an uplink dedicated message segment (ULDedicatedMessageSegment) message to the network device.
[0163] For each new uplink (UL) dedicated control channel (DCCH) message, the segment number of the first RRC message segment is set to 0, and the segment number of each subsequent RRC message segment is incremented sequentially. The rrc-MessageSegmentContainer contains the UL DCCH message segment corresponding to the segment number.
[0164] Optionally, each rrc-MessageSegmentContainer contains a segment of a UL DCCH message. If the segment contained in the rrc-MessageSegmentContainer is the last segment of the UL DCCH message, then the RRC message segment type (rrc-MessageSegmentType) is set to last segment. If the segment contained in the rrc-MessageSegmentContainer is not the last segment of the UL DCCH message, then the rrc-MessageSegmentType is set to notLastSegment.
[0165] Furthermore, the terminal device can submit all ULDedicatedMessageSegment messages generated for RRC messages to the lower layer for transmission in ascending order of segmentNumber.
[0166] It can be seen that whether a large amount of data is transmitted in a single transmission process or the large amount of data is divided into multiple data segments for transmission, the data transmission overhead is still relatively large.
[0167] To address the aforementioned issues, embodiments of this application provide a communication method that, by introducing a data compression mechanism, helps reduce data transmission overhead and improve data transmission efficiency. Furthermore, embodiments of this application, by determining the execution order between data compression and data segmentation, such as a first order, facilitate compatibility between the data segmentation mechanism and the data compression mechanism, thereby helping to balance data transmission reliability, data transmission overhead, and data transmission efficiency.
[0168] Figure 7 is a flowchart illustrating a communication method provided in an embodiment of this application. The method shown in Figure 7 may involve the interaction between a terminal device and a network device. The terminal device may be any of the terminal devices mentioned above, or a chip, chip system, or processor that supports the implementation of this method on the terminal device. The network device may be any of the network devices mentioned above, or a chip, chip system, or processor that supports the implementation of this method on the network device, or a chip, processor, or chip system that implements O-DU functionality.
[0169] The following describes the method provided in the embodiments of this application from the perspective of the interaction between terminal devices and network devices, taking the transmission process of upstream data as an example.
[0170] The method shown in Figure 7 may include steps S710 to S730.
[0171] S710, the terminal device determines the first priority.
[0172] The aforementioned first order can be the execution order between data compression and data segmentation. Alternatively, the aforementioned first order can be the execution order between data compression and data segmentation. The execution order between data compression and data segmentation (the execution order of data compression and data segmentation) can refer to the order in which data compression and data segmentation are performed, such as performing data compression first and then data segmentation, or performing data segmentation first and then data compression.
[0173] In other words, the first order can be to perform data compression first, then data segmentation, or the first order can be to perform data segmentation first, then data compression.
[0174] Data compression aims to reduce the amount of data and thus reduce storage space while minimizing or eliminating the loss of useful information. By compressing data before transmission, it helps reduce the storage space occupied by the data, lowers the overhead of data transmission, and improves data transmission efficiency.
[0175] Data segmentation refers to dividing a large data block (or data stream) into multiple smaller data segments. Performing data segmentation before data transmission helps reduce the amount of data transmitted in a single session, preventing it from exceeding the system's maximum processing capacity and thus improving data transmission reliability and success rate. Simultaneously transmitting multiple segments obtained from data segmentation improves transmission efficiency and shortens transmission time. Furthermore, in scenarios requiring retransmission, such as when some data segments are lost, only the necessary segments can be retransmitted, reducing the overhead of retransmission.
[0176] It can be seen that data segmentation and data compression each have their advantages. By determining the first order, it is helpful to take into account the advantages of both data compression and data segmentation.
[0177] Figure 8A is an example of the first sequence. The first sequence in Figure 8A is to perform data compression first, and then perform data segmentation. Referring to Figure 8A, the original data 800 is compressed according to the compression algorithm to obtain compressed data 810; according to the data segment transmission size requirements, data 810 is segmented to obtain 3 data segments 820.
[0178] Figure 8B shows another example of the first sequence. In Figure 8B, the first sequence involves performing data segmentation followed by data compression. Referring to Figure 8B, the original data 800 is first segmented into three data segments 830. Then, each of the three data segments 830 is compressed using a compression algorithm, resulting in three compressed data segments 840. During the segmentation of the original data 800, the size requirement of each data segment 830 can be determined based on the compression ratio and the data segment transmission size requirements.
[0179] If the first order in Figure 8A is used, the size of the underlying PDU can be accurately matched during data segmentation. If the first order in Figure 8B is used, the three data segments 830 can be compressed simultaneously during data compression, i.e., parallel compression, which helps improve data processing efficiency.
[0180] There are various methods for determining the first order. The following is a brief introduction to several methods for determining the first order provided in the embodiments of this application.
[0181] In some embodiments, the first order may be indicated by the network device. This approach is relatively simple to implement. For example, a terminal device may receive first information from the network device, and correspondingly, the network device may send first information to the terminal device. The first information may be used to indicate the first order.
[0182] In some embodiments, the first order can be determined by the terminal device. This approach helps to save signaling overhead. For example, the terminal device can determine the first order based on its capability information. This capability information may include, for example, the compression algorithms supported by the terminal device and / or whether the terminal device supports parallel compression.
[0183] In some embodiments, the first order can be predefined, such as if the first order is predefined by the protocol. Processing the data to be transmitted according to the predefined first order helps reduce the complexity of determining the first order and helps save the overhead of the terminal device and network device reaching a consensus on the first order.
[0184] S720: The terminal device compresses and segments the data to be transmitted according to the first order to obtain multiple first data segments.
[0185] If the first order is to perform data compression first and then data segmentation, then the terminal device can first compress the data to be transmitted to obtain compressed data, and then segment the compressed data to obtain multiple first data segments.
[0186] If the first order is to perform data segmentation first and then data compression, then the terminal device can first segment the data to be transmitted to obtain multiple second data segments, and then compress each of the multiple second data segments to obtain multiple first data segments that correspond one-to-one with the multiple second data segments.
[0187] For example, the data to be transmitted may refer to data collected in an AI scenario, which can be used for model inference or model training.
[0188] In S730, the terminal device sends multiple first data segments to the network device.
[0189] In some embodiments, multiple first data segments may correspond to different identifiers, such as segment numbers, serial numbers, etc. For example, the serial numbers of the multiple first data segments may be sequentially increasing numbers. For example, the serial numbers of the multiple first data segments may be determined based on one or more of the following: the generation time of the first data segment, the generation time of the data contained in the first data segment, the quality of service (QoS) requirement associated with the first data segment, or the reception time limit associated with the data contained in the first data segment. In this case, the terminal device may send multiple first data segments according to their identifiers, such as according to the size of their serial numbers. For example, the terminal device may submit multiple first data segments to the lower layer for transmission according to the size of their data segment serial numbers.
[0190] In some embodiments, the multiple first data segments may also correspond to different data segment types. Data segment types may include the last data segment and non-last data segments. By setting the data segment types, the data receiver can identify multiple first data segments and determine whether the transmission of multiple first data segments has ended, among other information.
[0191] In some embodiments, during the process of a terminal device sending multiple first data segments to a network device, the multiple first data segments can be loaded into different message segment containers. For example, a message segment container includes a first data segment and an identifier corresponding to the first data segment. For example, a message segment container may include a first data segment, an identifier corresponding to the first data segment, and the type of the first data segment.
[0192] In this embodiment of the application, by determining the execution order between data compression and data segmentation, it is helpful to be compatible with data segmentation mechanism and data compression mechanism, thereby improving data transmission efficiency while meeting the maximum amount of data that the system can process at one time.
[0193] As mentioned earlier, the first order can be indicated by the network device, such as by the first information. In some embodiments, the network device may determine the first order before sending the first information to the terminal device.
[0194] For example, the network device can determine the first order based on the capability information of the terminal device. For instance, before sending the first information to the terminal device, the network device can receive capability information from the terminal device; the network device can then determine the first information based on this capability information. The capability information of the terminal device may include, for example, the compression algorithms supported by the terminal device and / or whether the terminal device supports parallel compression.
[0195] It should be understood that the method by which network devices determine the first information based on the capability information of terminal devices is similar to the method by which terminal devices determine the first order based on their capability information, as described later. For the sake of brevity, it will not be elaborated here.
[0196] For example, the network device can determine the first order based on the data processing load status, such as the load status of data processing on the terminal side and / or the load status of data processing on the network side. The load status of data processing on the terminal side may include the load status of memory and the load status of the processor.
[0197] For example, if the processor load of the terminal device is such that the amount of data waiting to be compressed exceeds a first preset value, the first order is to perform data segmentation first, and then perform data compression. Similarly, if the processor load of the terminal device is such that the amount of data waiting to be segmented exceeds a second preset value, the first order is to perform data compression first, and then perform data segmentation.
[0198] Taking the first buffer area as a place to store data waiting to be compressed and the second buffer area as a place to store data waiting to be segmented as an example, if the memory load of the terminal device is such that the amount of data in the first buffer area exceeds a third preset value, or the remaining space in the first buffer area is less than a fourth preset value, then the first order is to perform data segmentation first, and then perform data compression; if the memory load of the terminal device is such that the amount of data in the second buffer area exceeds a fifth preset value, or the remaining space in the second buffer area is less than a sixth preset value, then the first order is to perform data compression first, and then perform data segmentation.
[0199] For example, if the network-side data processing load is such that the amount of data in the third buffer exceeds a seventh preset value, the first order is to perform data compression first, followed by data segmentation, to reduce the latency of the network device performing data decompression on multiple first data segments. The third buffer can be used to store data awaiting decompression. Similarly, if the network-side data processing load is such that the amount of data in the fourth buffer exceeds an eighth preset value, the first order is to perform data segmentation first, followed by data compression, to reduce the latency of the network device performing data assembly on multiple first data segments. The fourth buffer can be used to store data awaiting assembly.
[0200] It should be noted that the first to eighth preset values mentioned above may be partially or entirely the same, or all of them may be different. For example, the first preset value and the second preset value may be the same or different. Similarly, the third preset value and the fifth preset value may be the same or different. This application does not impose any limitations on this.
[0201] It should be understood that network devices can also determine the first information based on other information, and this application does not limit this.
[0202] In some embodiments, the first information can also be used to indicate the compression algorithm used by the terminal device. For example, the network device can determine the compression algorithm used by the terminal device based on the terminal device's capability information, such as determining the compression algorithm used by the terminal device from a variety of compression algorithms supported by the terminal device.
[0203] The above section introduced the method for network devices to indicate the first order. The following section introduces the method for terminal devices to determine the first order.
[0204] Data compression algorithms, as a key means to handle data redundancy, reduce storage space consumption, and improve data transmission efficiency, have developed into a variety of solutions. Different compression algorithms have different characteristics, such as type (lossy or lossless compression), context dependence, and whether the compression ratio is fixed. For example, uplink data compression (UDC), based on the DEFLATE compression protocol, is a lossless compression algorithm. This algorithm mainly uses the LZ77 algorithm and Huffman coding to compress data. However, the UDC algorithm depends on the context to some extent, and its compression ratio is not fixed.
[0205] In some embodiments, the terminal device may determine the first order based on the compression algorithms supported by the terminal device, such as the characteristics of the compression algorithms described above.
[0206] For example, if the compression algorithm supported by the terminal device depends on the context, or the compression ratio of the compression algorithm supported by the terminal device is not fixed, the first order is to perform data compression first, and then perform data segmentation; if the compression algorithm supported by the terminal device does not depend on the context, and the compression ratio of the compression algorithm supported by the terminal device is fixed, the first order is to perform data segmentation first, and then perform data compression.
[0207] If the compression algorithm depends on the context, performing data compression first helps to achieve a greater compression ratio, which in turn helps to further save data transmission overhead.
[0208] If the compression algorithm supported by the terminal device is context-independent and the compression ratio of the compression algorithm supported by the terminal device is fixed, if data segmentation is performed first and then data compression is performed, the terminal device can perform parallel compression on multiple second data segments obtained from the data segmentation, which helps to reduce the time for data compression and thus helps to further improve the efficiency of data transmission.
[0209] Generally, in data segmentation mechanisms, the size (or dimensions) of the first data segment needs to meet certain requirements. Taking multiple first data segments carrying RRC signaling as an example, the size of the first data segment needs to meet the maximum supported size of the PDCP PDU. That is, when segmenting RRC signaling, the sizes of the resulting multiple data segments are less than or equal to the maximum supported size of the PDCP PDU. Therefore, if the compression ratio of the compression algorithm is not fixed, and data segmentation is performed first, followed by data compression, the resulting compressed data may not meet the size requirements of the first data segment. Conversely, if data segmentation is performed first, the size of each data segment, such as the number of segments and their positions, cannot be determined during the segmentation process. Therefore, when the compression ratio of the compression algorithm is not fixed, performing data compression first, followed by data segmentation, helps to meet the size requirements of the data segments within the segmentation process.
[0210] In some cases, terminal devices can support multiple compression algorithms, such as a first compression algorithm and a second compression algorithm. If the first compression algorithm depends on the context or has a variable compression ratio, while the second compression algorithm is context-independent and has a fixed compression ratio, then the terminal device can determine the first compression order based on the second compression algorithm. Accordingly, the terminal device can use the second compression algorithm to perform data compression. This allows data compression to be performed after data segmentation, thus facilitating parallel compression of the segmented data and improving data transmission efficiency.
[0211] In some embodiments, the terminal device may determine the first order based on whether it supports parallel compression. Whether the terminal device supports parallel compression, as mentioned here, may refer to whether the terminal device's hardware capabilities support parallel compression. As an example, if the terminal device includes multiple processors, or if the terminal device's processor includes multiple cores, then the terminal device may support parallel compression; if the terminal device includes one processor, and the terminal device's processor includes only one core, then the terminal device does not support parallel compression. It should be understood that whether the terminal device supports parallel compression can also be determined based on other information, which is not limited in this application.
[0212] For example, if the terminal device supports parallel compression, the first order can be to perform data segmentation first, and then perform data compression. In this way, if data segmentation is performed first, the terminal device can perform parallel compression on multiple second data segments obtained from the segmentation, which helps reduce the time required for data compression and thus further improves data transmission efficiency. If the terminal device does not support parallel compression, the first order can be either to perform data segmentation first, and then perform data compression, or vice versa.
[0213] In some embodiments, the terminal device may determine the first order based on the compression algorithms it supports and whether it supports parallel compression.
[0214] For example, if the compression algorithm supported by the terminal device depends on the context, or the compression ratio of the compression algorithm supported by the terminal device is not fixed, then the first order is to perform data compression first, and then perform data segmentation; if the compression algorithm supported by the terminal device does not depend on the context, and the compression ratio of the compression algorithm supported by the terminal device is fixed, and if the terminal device supports parallel compression, then the first order is to perform data segmentation first, and then perform data compression; if the compression algorithm supported by the terminal device does not depend on the context, and the compression ratio of the compression algorithm supported by the terminal device is fixed, and if the terminal device does not support parallel compression, then the first order is to perform data segmentation first, and then perform data compression, or the first order can be to perform data compression first, and then perform data segmentation.
[0215] For example, if the terminal device supports parallel compression, the first order can be to perform data segmentation first, and then perform data compression; if the terminal device does not support parallel compression, and the compression algorithm depends on the context and the compression ratio of the compression algorithm is not fixed, the first order can be to perform data compression first, and then perform data segmentation; if the terminal device does not support parallel compression, and the compression algorithm does not depend on the context, or the compression ratio of the compression algorithm is fixed, the first order can be to perform data compression first, and then perform data segmentation, or the first order can be to perform data compression first, and then perform data segmentation.
[0216] In some embodiments, the method shown in FIG7 may further include step S740 (not shown in FIG7).
[0217] In step S740, the network device decompresses and assembles multiple first data segments based on a second sequence.
[0218] The second order is the execution order between data decompression and data assembly, that is, the order in which data decompression and data assembly are performed, such as performing data decompression first and then data assembly, or performing data assembly first and then data decompression.
[0219] To ensure that network devices can correctly receive data from terminal devices, the second order can correspond to the first order mentioned above. If the first order is to perform data compression first and then data segmentation, then the second order is to perform data assembly first and then data decompression; if the first order is to perform data segmentation first and then data compression, then the second order is to perform data decompression first and then data assembly.
[0220] It can be seen that terminal devices and network devices need to reach a consensus on the execution order between data compression and data segmentation in order to avoid data reception or decoding failures.
[0221] If the first order is indicated by the network device, i.e., known to the network device, the network device can determine the second order based on the first order; and then decompress and assemble the multiple first data segments according to the second order. It should be understood that before the network device indicates the first order to the terminal device, the network device can first determine the second order, and then determine the first order according to the second order. This application does not limit the execution order of determining the first order and determining the second order.
[0222] If the first order is determined by the terminal device according to certain rules, the network device can determine the first order according to the same rules (i.e., the same rules used by the terminal device to determine the first order), which helps reduce signaling interaction between the terminal device and the network device and saves signaling overhead. Furthermore, the network device can determine the second order based on the first order. For example, the network device can determine the first order based on the terminal device's capability information. This method is similar to the method mentioned earlier where the terminal device determines the first order based on its capability information, and for simplicity, it will not be described again here.
[0223] It should be noted that if the first order determined by the terminal device according to the preset rules is not unique, then the terminal device needs to indicate the first order it used to the network device, or send auxiliary information to the network device to determine the first order. For example, the terminal device supports multiple compression algorithms, and the first order determined varies depending on the compression algorithm. In this case, the terminal device can indicate the first order it uses to the network device, or indicate the compression algorithm it uses to the network device (i.e., the auxiliary information mentioned above for determining the first order). It can be seen that the network device can determine the first order used by the terminal device based on the same rules and this auxiliary information.
[0224] If the first order is predefined, the network device can determine the second order based on the predefined first order.
[0225] In some embodiments, the second order is predefined, such as protocol predefined, which helps reduce the complexity of determining the second order and helps avoid interaction between the terminal device and the network device with the first order and / or the second order, thereby saving overhead.
[0226] In some embodiments, the method shown in FIG7 may further include step S750 (not shown in FIG7).
[0227] In step S750, the terminal device sends second information to the network device, and correspondingly, the network device receives the second information from the terminal device. This exchange of second information helps the terminal device and the network device reach a consensus on the first order, or helps the network device determine the second order.
[0228] For example, the second information may include one or more of the following: a first order; a second order; capability information of the terminal device; or a compression algorithm used by the terminal device in the process of generating multiple first data segments.
[0229] If the second information includes the first order, the network device can determine the second order based on the correspondence between the first and second orders.
[0230] The capability information of the terminal device can assist the network device in determining the first order based on the same rules as the terminal device, and then determine the second order based on the first order. When the terminal device supports multiple compression algorithms, it can indicate the compression algorithm it uses to the network device. In this way, on the one hand, the network device can determine the algorithm to perform data decompression based on the compression algorithm used by the terminal device; on the other hand, if the characteristics of the various compression algorithms supported by the terminal device (such as whether the compression ratio is fixed and whether the compression algorithm depends on the context, as mentioned above) differ, the network device can also determine the first order based on the compression algorithm used by the terminal device.
[0231] As mentioned earlier, in the data segmentation mechanism, the size (or dimensions) of the first data segment needs to meet certain requirements. The following section introduces how to determine the maximum allowed size of multiple first data segments, and how to perform data segmentation and compression based on the maximum allowed size of the first data segments.
[0232] In some embodiments, before compressing and segmenting the data to be transmitted according to a first order to obtain multiple first data segments, the terminal device may obtain third information. The third information may be used to indicate the maximum allowed size of the multiple first data segments. In this case, the terminal device can compress and segment the data to be transmitted according to the first order and the third information to obtain multiple first data segments.
[0233] For example, the third information can be predefined, such as that predefined by the protocol. Taking the transmission of RRC signaling as an example, the third information can be the maximum supported size of the PDCP PDU, such as 9000 bytes.
[0234] For example, the third information may be indicated by a network device. For instance, a terminal device may receive third information from a network device, and correspondingly, the network device may send third information to the terminal device.
[0235] When the first order is to perform data compression followed by data segmentation, the terminal device can first compress the data to be transmitted to obtain compressed data, and then segment the compressed data according to the third information to obtain multiple first data segments. For example, the number of first data segments and the position of the segments (such as the starting position of the first data segment) can be determined according to the third information.
[0236] When the first order is to perform data segmentation followed by data compression, the terminal device can first determine the maximum allowable size of the second data segment based on the third information and the first order; then, based on the maximum allowable size of the second data segment, it can segment the data to be transmitted into multiple second data segments; finally, it can compress each of the multiple second data segments to obtain multiple first data segments that correspond one-to-one with the second data segments. For example, segmenting the data to be transmitted based on the maximum allowable size of the second data segment can refer to determining the number of second data segments and their positions, such as the starting position, based on the maximum allowable size of the second data segment.
[0237] For example, determining the maximum allowable size of the second data segment based on the third information and the first order can mean that the second data segment is obtained by performing data segmentation according to the first order; and the maximum allowable size of the second data segment is determined based on the compression ratio of the compression algorithm used by the terminal device and the maximum allowable size of the multiple first data segments indicated by the third information. For example, the maximum allowable size of the first data segment is the product of the maximum allowable size of the second data segment and the compression ratio of the compression algorithm used by the terminal device.
[0238] It should be understood that in some embodiments, the network device may directly indicate the maximum allowed size of the second data segment to the terminal device, and this application does not limit this.
[0239] It should be noted that if the first order is to perform data compression followed by data segmentation, the terminal device can determine whether the size of the compressed data exceeds the maximum allowed size of the first data segment after data compression. If the size of the compressed data exceeds the maximum allowed size of the first data segment, then data segmentation will be performed.
[0240] In some embodiments, the terminal device may receive fourth information from the network device, and correspondingly, the network device may send fourth information to the terminal device. The fourth information may be used to indicate the retransmission (or retransmission) of one or more data segments among a plurality of first data segments. For example, the identifiers of one or more data segments may be used to indicate the data segments that need to be retransmitted.
[0241] For example, in the event that some or all of the data segments in a plurality of first data segments fail to be received, the terminal device can be instructed to retransmit one or more of the aforementioned data segments via the fourth information described above. Retransmitting one or more of the aforementioned data segments helps to save data transmission overhead compared to retransmitting all data segments.
[0242] For example, in scenarios involving repeated transmissions, the fourth information described above can be used to instruct the retransmission of one or more data segments, thereby enabling repeated transmission of the one or more data segments and helping to improve the transmission success rate of one or more data segments. For instance, the one or more data segments can be all data segments from a plurality of first data segments. Alternatively, the one or more data segments can be a subset of data segments from a plurality of first data segments. As an example, the one or more data segments can be determined based on the importance of the data carried in the plurality of first data segments.
[0243] The above describes the method provided in the embodiments of this application using the upstream data transmission process as an example. The following describes the method provided in the embodiments of this application using the downstream data transmission process as an example.
[0244] Figure 9 is a flowchart illustrating another communication method provided in an embodiment of this application. The method shown in Figure 9 may involve the interaction between a terminal device and a network device. The terminal device may be any of the terminal devices mentioned above, or a chip, chip system, or processor that supports the implementation of this method on the terminal device. The network device may be any of the network devices mentioned above, or a chip, chip system, or processor that supports the implementation of this method on the network device, or a chip, processor, or chip system that implements O-DU functionality.
[0245] The method provided in the embodiments of this application will now be described from the perspective of the interaction between terminal devices and network devices.
[0246] The method shown in Figure 9 may include steps S910 and S920.
[0247] In step S910, the network device compresses and segments the data to be transmitted according to the fourth sequence to obtain multiple third data segments.
[0248] The fourth order refers to the execution order between data compression and data segmentation, that is, the order in which data compression and data segmentation are performed. For example, the fourth order could be to perform data compression first and then data segmentation, or to perform data segmentation first and then data compression.
[0249] It should be noted that the first order mentioned above refers to the order in which the terminal device performs data compression and data segmentation, while the fourth order mentioned here refers to the order in which the network device performs data compression and data segmentation.
[0250] In step S920, the network device sends multiple third data segments to the terminal device, and correspondingly, the terminal device receives multiple third data segments from the network device.
[0251] In some embodiments, multiple third data segments may correspond to different identifiers, such as segment numbers, serial numbers, etc. For example, the serial numbers of the multiple third data segments may be sequentially increasing numbers. For example, the serial numbers of the multiple third data segments may be determined based on one or more of the following: the generation time of the third data segment, the generation time of the data contained in the third data segment, the QoS requirements associated with the third data segment, or the reception time limit associated with the data contained in the third data segment. In this case, the network device may send multiple third data segments according to their identifiers, such as according to the size of their serial numbers.
[0252] In some embodiments, the multiple third data segments may also correspond to different data segment types. Data segment types may include the last data segment and non-last data segments. By setting the data segment types, the data receiver can identify multiple third data segments and determine whether the transmission of multiple third data segments has ended, among other information.
[0253] In some embodiments, during the process of a network device sending multiple third data segments to a terminal device, the multiple third data segments can be loaded into different message segment containers. For example, a message segment container includes a third data segment and an identifier corresponding to that third data segment. For example, a message segment container may include a third data segment, an identifier corresponding to that third data segment, and a type of that third data segment.
[0254] In some embodiments, the network device may send a seventh message to the terminal device to indicate that data compression was performed during the acquisition of multiple third data segments. For example, the seventh message may be included in the data packets associated with the multiple third data segments, or the terminal device may send the seventh message through other signaling.
[0255] In some embodiments, the method shown in FIG9 may further include step S930 (not shown in FIG9).
[0256] In step S930, the terminal device decompresses and assembles multiple third data segments based on the third sequence.
[0257] The third order refers to the execution order between data decompression and data assembly, that is, the order in which data decompression and data assembly are performed. For example, the third order could be data decompression first, followed by data assembly, or data assembly first, followed by data assembly.
[0258] In this embodiment of the application, by determining the execution order between data compression and data segmentation during downlink data transmission, it is helpful to be compatible with data segmentation mechanisms and data compression mechanisms, thereby helping to balance data transmission reliability, data transmission overhead, and data transmission efficiency.
[0259] In some embodiments, before decompressing and assembling the multiple third data segments based on a third order, the terminal device may receive fifth information from the network device. This fifth information may be used to indicate either a third or a fourth order.
[0260] For example, before decompressing and assembling multiple third data segments based on a third order, the terminal device can determine the third order according to a fourth order. The third and fourth orders have a certain correspondence. For instance, if the fourth order is to perform data compression first and then data segmentation, the third order can be to perform data assembly first and then data decompression; if the fourth order is to perform data segmentation first and then data compression, the third order can be to perform data decompression first and then data assembly.
[0261] In some embodiments, the third and / or fourth order can be predefined, such as protocol predefined, which is simple to implement.
[0262] Optionally, after decompressing and assembling multiple third data segments, the terminal device can send a processing completion message to the network device or receive a success message.
[0263] Optionally, when decompression or data assembly of multiple third data segments fails, the terminal device may request the network device to resend the configuration information of the compressed segments, such as the fifth information and the compression algorithm used.
[0264] In some embodiments, the terminal device may send a sixth message to the network device, and the network device may receive the sixth message sent by the terminal device. The sixth message may be used to indicate the retransmission (or retransmission) of one or more of a plurality of third data segments. For example, the identifiers of one or more data segments may be used to indicate the data segments that need to be retransmitted.
[0265] For example, in the event that some or all of the third data segments fail to be received, the network device can be instructed to retransmit one or more of the aforementioned data segments via the sixth information described above. Retransmitting one or more of the aforementioned data segments helps to save data transmission overhead compared to retransmitting all data segments.
[0266] For example, in scenarios involving repeated transmissions, the sixth information described above can be used to instruct the retransmission of one or more data segments, thereby enabling repeated transmission of the one or more data segments and helping to improve the transmission success rate of one or more data segments. For instance, the one or more data segments can be all data segments from a plurality of third data segments. Alternatively, the one or more data segments can be a subset of data segments from a plurality of third data segments. As an example, the one or more data segments can be determined based on the importance of the data carried in the plurality of third data segments.
[0267] It should be noted that the methods for determining the execution order between data compression and data segmentation, and between data decompression and data assembly during downlink data transmission, are similar to those described in the uplink data transmission process. For details not covered in the previous section, please refer to the relevant descriptions of the uplink data transmission process.
[0268] It should be noted that the method provided in this application embodiment can also be applied to the ORAN architecture. In the ORAN architecture, network devices may include O-DU and O-RU. The actions performed by the network devices in the methods mentioned above can be performed by the O-DU, such as the O-DU providing the data from the O-RU to the terminal device via the fronthaul interface. The behavior of the terminal device in the ORAN architecture can be referred to the preceding description. For the sake of brevity, it will not be repeated here.
[0269] It should be noted that the methods provided in the embodiments of this application can be applied to the processing of control plane data as well as the processing of user plane data, and this application does not limit them in this regard. The data processing mentioned herein may refer to, for example, data compression and data segmentation, or data decompression and data assembly.
[0270] For ease of understanding, the following will describe the method provided in the embodiments of this application, taking the transmission process of RRC signaling as an example, with reference to Figures 10 to 13.
[0271] Uplink data transmission (RAN architecture)
[0272] Figure 10 is a flowchart illustrating another communication method provided in an embodiment of this application. The method shown in Figure 10 may involve the interaction between a terminal device and a network device.
[0273] The method shown in Figure 10 may include steps 1 through 3.
[0274] Step 1: The network device sends configuration information to the terminal device.
[0275] Configuration information may include, for example, compression configuration information and segmentation configuration information. As an example, compression configuration information may include compression precision; compression algorithm-related configurations, such as compression buffers and dictionaries. As an example, segmentation configuration may include indications of whether segmented transmission is permitted by the terminal device.
[0276] In some embodiments, the network device may also indicate the compression algorithm used by the terminal device and / or the execution order between data compression and data segmentation (i.e., the first order). For example, the execution order between data compression and data segmentation may be determined based on the capability information of the terminal device. For instance, the capability information of the terminal device may be obtained before the network device indicates the first order, and then the first order may be determined based on the capability information of the terminal device.
[0277] Step 2: The terminal device performs data compression and data segmentation.
[0278] After receiving the configuration information sent by the network device, the terminal device can compress and segment the data to be transmitted, such as data collected in AI scenarios, to obtain multiple first data segments.
[0279] When the network device indicates the first order, the terminal device performs data compression and data segmentation in the order indicated by the network device.
[0280] If the network device does not specify a first order, the terminal device can determine the first order. In determining the first order, data segmentation is prioritized before data compression. This allows for parallel compression, improving data processing efficiency.
[0281] For example, if the compression algorithm is context-dependent or the compression ratio is not fixed, such as the UDC algorithm, the terminal device first compresses the data and then segments it. For instance, when the compressed data exceeds the maximum supported size of a PDCP PDU, the terminal device segments the compressed data. For example, the terminal device can send the segmented RRC signaling to the network device within an RRC segmentation container. As an example, the RRC segmentation container can also include a segment number and a segment type (whether it is the last segment).
[0282] For example, if the compression algorithm is context-independent and the compression ratio is fixed, the terminal device can segment the data before performing data compression.
[0283] In some embodiments, RRC signaling can be segmented based on the maximum allowed size of a data segment, or compressed RRC signaling can be segmented. The maximum allowed size of a data segment can be indicated by the network device, or the maximum allowed size of a data segment can be the maximum size supported by the PDCP PDU, meaning the terminal device segments the data according to the maximum size supported by the PDCP PDU.
[0284] When the terminal device performs data segmentation before data compression, it can determine the number and location of RRC signaling segments based on the compression ratio and the maximum allowable segment size. After segmentation, the terminal device can compress each segmented data to obtain compressed data. In this case, the compressed data can be included in an RRC segment container and sent to the network device. As an example, the RRC segment container can also include the segment number and the segment type (whether it is the last segment).
[0285] In some embodiments, the terminal device may perform data compression and data segmentation in a first order predefined by the protocol.
[0286] Step 3: The terminal device sends multiple first data segments to the network device.
[0287] For example, if the network device does not indicate a first order in step 1, the terminal device can send information to the network device to determine a second order, i.e., the execution order between data decompression and data assembly. For example, the terminal device can send either a first order or a second order to the network device.
[0288] For example, if the network device does not indicate the first order in step 1, it can determine the first order using the same rules as the terminal device. As an example, the terminal device sends its capability information to the network device, such as the supported compression algorithms and whether parallel compression is supported. As another example, the terminal device can send the compression algorithm it uses when performing data compression to the network device. For instance, the capability information reported by the terminal device may include the compression algorithm used, or the terminal device may indicate the compression algorithm used separately to the network device.
[0289] In some embodiments, if packet loss occurs, i.e., one or more first data segments are lost, the network device may request the terminal device to retransmit the one or more first data segments. For example, the network device may send an identifier of the one or more first data segments to the terminal device to indicate that the first data segments need to be retransmitted.
[0290] This application's embodiments, by introducing data compression, help improve data transmission overhead and efficiency. Furthermore, by determining the first order, both data overhead and data transmission reliability can be balanced.
[0291] Downlink data transmission (RAN architecture)
[0292] Figure 11 is a flowchart illustrating another communication method provided in an embodiment of this application. The method shown in Figure 11 may involve the interaction between a terminal device and a network device.
[0293] The method shown in Figure 11 may include steps 1 through 3.
[0294] Step 1: The network device performs data segmentation and data compression.
[0295] Network devices can perform data segmentation and compression on the data to be transmitted, such as AI training data, to obtain multiple third data segments.
[0296] Optionally, if the network device compresses the data to be sent beforehand, and the size of the compressed data, such as RRC signaling, is larger than the maximum size supported by the PDCP PDU, the network device can perform data segmentation on the compressed data.
[0297] Step 2: The network device sends multiple third data segments to the terminal device. For example, the collected data carried in the multiple third data segments may be reported by other terminal devices.
[0298] In some embodiments, the network device may send a seventh message to the terminal device to indicate that data compression was performed during the acquisition of multiple third data segments. For example, the seventh message may be included in the data packets associated with the multiple third data segments, or the network device may send the seventh message through other signaling.
[0299] In some embodiments, the network device may send decompressed configuration information to the terminal device. This decompressed configuration information may be sent along with multiple third data segments, or it may be sent via other signaling.
[0300] In some embodiments, the network device may send fifth information to the terminal device. This fifth information may be used to indicate a third or fourth order, where the fourth order is the execution order of data compression and data segmentation during the generation of multiple third data segments by the network device, and the third order is the order in which the terminal device decompresses and assembles the multiple third data segments.
[0301] In some embodiments, the network device may send RRC signaling, which has completed data segmentation and compression (i.e., multiple third data segments), to the terminal device within an RRC segmentation container. As an example, the RRC segmentation container may also include a segment number and a segment type (whether it is the last segment).
[0302] Step 3: The terminal device performs data decompression and data assembly on multiple third data segments.
[0303] Terminal devices, for example, can perform data decompression and data assembly on multiple third data segments based on a third sequence.
[0304] If, during the generation of multiple third data segments, the network device performs data compression before data segmentation, then the terminal device can first assemble the data and then decompress the assembled data. Optionally, after assembly, multiple third data segments can be discarded.
[0305] If, during the generation of multiple third data segments, the network device first performs data segmentation and then data compression, the terminal device can first perform data decompression and then reassemble the decompressed data. Optionally, after assembly, multiple third data segments can be discarded. For example, the decompression of multiple third data segments can be performed in parallel.
[0306] Optionally, after decompressing and assembling multiple third data segments, the terminal device can send a processing completion message to the network device or receive a success message.
[0307] Optionally, if data decompression or data reassembly for multiple third data segments fails, the terminal device may request the network device to resend the multiple third data segments, or decompress configuration information (such as fifth information, the compression algorithm used, etc.).
[0308] In some embodiments, if packet loss occurs, i.e., one or more third data segments are lost, the terminal device may request the network device to retransmit the one or more third data segments. For example, the terminal device may send an identifier of the one or more third data segments to the network device to indicate which third data segments need to be retransmitted.
[0309] In some embodiments, the method shown in FIG11 may further include step a before performing step 1.
[0310] Step a: The terminal device sends a data request to the network device. The data request may be used to request AI training data, for example.
[0311] In some embodiments, the method shown in FIG11 may further include step b before performing step 1.
[0312] Step b: The terminal device sends capability information to the network device. Capability information may include, for example, the compression algorithms supported by the terminal device, and the compression accuracy range of the supported compression algorithms (if lossy compression is supported).
[0313] Before a terminal device sends capability information to a network device, the network device can send capability query information to the terminal device to query the terminal device's compression capabilities.
[0314] This application's embodiments, by introducing data compression, help improve data transmission overhead and efficiency. Furthermore, by determining the first order, both data overhead and data transmission reliability can be balanced.
[0315] Uplink data transmission (ORAN architecture)
[0316] Figure 12 is a flowchart illustrating another communication method provided in an embodiment of this application. The method shown in Figure 12 may involve the interaction between a terminal device and a network device (including O-RU and O-DU).
[0317] The method shown in Figure 12 may include steps 1 through 3.
[0318] Step 1: The O-DU sends configuration information to the terminal device through the O-RU (such as the O-RU's fronthaul interface).
[0319] Configuration information may include, for example, compression configuration information and segmentation configuration information. As an example, compression configuration information may include compression precision; configurations related to the compression algorithm, such as compression buffers and dictionaries. As an example, segmentation configuration may include indications of whether segmented transmission is allowed by the terminal device.
[0320] In some embodiments, the O-DU may also indicate the compression algorithm employed by the terminal device and / or the execution order (i.e., the first order) between data compression and data segmentation. For example, the execution order between data compression and data segmentation may be determined based on the capability information of the terminal device. For instance, the capability information of the terminal device may be obtained before the O-DU indicates the first order, and then the first order may be determined based on the capability information of the terminal device.
[0321] Step 2: The terminal device performs data compression and data segmentation.
[0322] After receiving the configuration information sent by the network device, the terminal device can compress and segment the data to be transmitted, such as data collected in AI scenarios, to obtain multiple first data segments.
[0323] When the O-DU indicates the first order, the terminal device performs data compression and data segmentation in the order indicated by the O-DU.
[0324] If the O-DU does not specify a first order, the terminal device can determine the first order. In determining the first order, data segmentation is prioritized before data compression. This allows for parallel compression, improving data processing efficiency.
[0325] For example, if the compression algorithm is context-dependent or the compression ratio is not fixed, such as the UDC algorithm, the terminal device first compresses the data and then segments it. For instance, when the compressed data exceeds the maximum size supported by the PDCP PDU, the terminal device segments the compressed data. For example, the terminal device can include the segmented RRC signaling in an RRC segmentation container and send it to the O-DU. As an example, the RRC segmentation container can also include a segment number and a segment type (whether it is the last segment).
[0326] For example, if the compression algorithm is context-independent and the compression ratio is fixed, the terminal device can segment the data before performing data compression.
[0327] In some embodiments, RRC signaling can be segmented based on the maximum allowed size of a data segment, or compressed RRC signaling can be segmented. The maximum allowed size of a data segment can be indicated by an O-DU, or the maximum allowed size of a data segment can be the maximum size supported by a PDCP PDU, meaning the terminal device segments the data according to the maximum size supported by the PDCP PDU.
[0328] When the terminal device performs data segmentation before data compression, it can determine the number and location of RRC signaling segments based on the compression ratio and the maximum allowable segment size. After segmentation, the terminal device can compress each segmented data to obtain compressed data. In this case, the compressed data can be included in an RRC segment container and sent to the O-DU. As an example, the RRC segment container can also include the segment number and the segment type (whether it is the last segment).
[0329] In some embodiments, the terminal device may perform data compression and data segmentation in a first order predefined by the protocol.
[0330] Step 3: The terminal device sends multiple first data segments to the O-DU via the O-RU.
[0331] For example, if the O-DU does not indicate a first order in step 1, the terminal device can send information to the O-DU to determine a second order, i.e., the execution order between data decompression and data assembly. For example, the terminal device can send either a first order or a second order to the O-DU.
[0332] For example, if the O-DU does not indicate the first order in step 1, the O-DU can determine the first order using the same rules as the terminal device. As an example, the terminal device sends its capability information to the O-DU, such as the supported compression algorithms and whether parallel compression is supported. As another example, the terminal device can send the compression algorithm it uses when performing data compression to the O-DU. For instance, the capability information reported by the terminal device may include the compression algorithm used, or the terminal device may indicate the compression algorithm used to the O-DU separately.
[0333] In some embodiments, if packet loss occurs, i.e., one or more first data segments are lost, the O-DU can request the terminal device to retransmit the one or more first data segments. For example, the O-DU can send the identifier of the one or more first data segments to the terminal device to indicate the first data segments that need to be retransmitted.
[0334] Downlink data transmission (ORAN architecture)
[0335] Figure 13 is a flowchart illustrating another communication method provided in an embodiment of this application. The method shown in Figure 13 may involve the interaction between a terminal device and a network device (including O-RU and O-DU).
[0336] The method shown in Figure 13 may include steps 1 through 3.
[0337] Step 1: O-DU performs data segmentation and data compression.
[0338] O-DU can perform data segmentation and compression on the data to be sent, such as AI training data, to obtain multiple third data segments.
[0339] Optionally, if the O-DU compresses the data to be transmitted beforehand, and the size of the compressed data, such as RRC signaling, is larger than the maximum size supported by the PDCP PDU, the O-DU can perform data segmentation on the compressed data.
[0340] Step 2: The O-DU sends multiple third data segments to the terminal device via the O-RU (such as the O-RU's fronthaul interface). For example, the collected data carried in the multiple third data segments may be reported by other terminal devices.
[0341] In some embodiments, the O-DU may send a seventh message to the terminal device to indicate that data compression was performed during the acquisition of multiple third data segments. For example, the seventh message may be included in the data packet associated with the multiple third data segments, or the O-DU may send the seventh message through other signaling.
[0342] In some embodiments, the O-DU can send decompressed configuration information to the terminal device. This decompressed configuration information can be sent along with multiple third data segments, or it can be sent via other signaling.
[0343] In some embodiments, the O-DU can send fifth information to the terminal device. This fifth information can be used to indicate a third or fourth order. The fourth order is the execution order of data compression and data segmentation during the generation of multiple third data segments by the O-DU, while the third order is the order in which the terminal device decompresses and assembles the multiple third data segments.
[0344] In some embodiments, the O-DU can send RRC signaling, which completes data segmentation and compression (i.e., multiple third data segments), to the terminal device within an RRC segmentation container. As an example, the RRC segmentation container may also include segment numbers and segment types (whether it is the last segment).
[0345] Step 3: The terminal device performs data decompression and data assembly on multiple third data segments.
[0346] Terminal devices, for example, can perform data decompression and data assembly on multiple third data segments based on a third sequence.
[0347] If, during the generation of multiple third data segments, the O-DU performs data compression before data segmentation, then the terminal device can first perform data assembly and then decompress the assembled data. Optionally, after assembly, multiple third data segments can be discarded.
[0348] If, during the generation of multiple third data segments, the O-DU performs data segmentation first and then data compression, the terminal device can first perform data decompression and then reassemble the decompressed data. Optionally, after assembly, multiple third data segments can be discarded. For example, the decompression of multiple third data segments can be performed in parallel.
[0349] Optionally, after decompressing and assembling multiple third data segments, the terminal device can send a processing completion message to the O-DU or receive a success message.
[0350] Optionally, if data decompression or data assembly for multiple third data segments fails, the terminal device may request the O-DU to resend the multiple third data segments, or decompress configuration information (such as fifth information, the compression algorithm used, etc.).
[0351] In some embodiments, if packet loss occurs, i.e., one or more third data segments are lost, the terminal device can request the O-DU to retransmit the one or more third data segments via the O-RU. For example, the terminal device can send the identifiers of the one or more third data segments to the O-DU to indicate which third data segments need to be retransmitted.
[0352] In some embodiments, the method shown in FIG13 may further include step a before performing step 1.
[0353] Step a: The terminal device sends a data request to the O-DU via the O-RU. The data request can be used, for example, to request AI training data.
[0354] In some embodiments, the method shown in FIG13 may further include step b before performing step 1.
[0355] Step b: The terminal device sends capability information to the O-DU via the O-RU. The capability information may include, for example, the compression algorithms supported by the terminal device, and the compression accuracy range of the supported compression algorithms (if lossy compression is supported).
[0356] This application's embodiments, by introducing data compression, help improve data transmission overhead and efficiency. Furthermore, by determining the first order, both data overhead and data transmission reliability can be balanced.
[0357] It should be noted that, in the embodiments of this application, the terminal device sending information to the O-DU can be replaced by the terminal device sending information to the O-DU through the O-RU; the terminal device receiving information sent by the O-DU can be replaced by the terminal device receiving information sent by the O-DU through the O-RU.
[0358] The method embodiments provided in this application have been described above. The apparatus embodiments provided in this application will be described below. It should be understood that the description of the apparatus embodiments corresponds to the description of the method embodiments. Therefore, any content not described in detail can be referred to the method embodiments above. For the sake of brevity, it will not be repeated here.
[0359] Figure 14 is a schematic block diagram of a communication device provided in an embodiment of this application. As shown in Figure 14, the communication device 1400 may include a transceiver unit 1410 and / or a processing unit 1420. The transceiver unit 1410 can implement corresponding communication functions, and the processing unit 1420 is used for data processing. The transceiver unit 1410 may also be referred to as a communication interface or a communication unit. Optionally, the device 1400 may further include a storage unit, which can be used to store instructions and / or data, and the processing unit 1420 can read the instructions and / or data in the storage unit to enable the device to implement the aforementioned method embodiment.
[0360] In one possible design, the device 1400 may be a terminal device as described in the above method embodiments, or it may be a chip, processor, or chip system that implements the functions of a terminal device. The device 1400 may be used to perform the steps or processes performed by the terminal device in any of the above method embodiments.
[0361] The following section describes the uplink data processing procedure of the communication device 1400.
[0362] Specifically, processing unit 1420 can be used to determine a first order, which is the execution order between data compression and data segmentation. Processing unit 1420 can also be used to perform data compression and data segmentation on the data to be transmitted according to the first order, obtaining multiple first data segments. Transceiver unit 1410 can be used to send the multiple first data segments to the network device.
[0363] In some embodiments, determining the first order includes: receiving first information from the network device, the first information indicating the first order.
[0364] In some embodiments, determining the first order includes: determining the first order based on the capability information of the terminal device, wherein the capability information includes compression algorithms supported by the terminal device and / or whether the terminal device supports parallel compression.
[0365] In some embodiments, if the compression algorithm depends on the context, or the compression ratio of the compression algorithm is not fixed, the first order is to perform the data compression first, and then perform the data segmentation; if the compression algorithm does not depend on the context, and the compression ratio of the compression algorithm is fixed, the first order is to perform the data segmentation first, and then perform the data compression.
[0366] In some embodiments, where the compression algorithm is context-independent and the compression ratio of the compression algorithm is fixed, if the terminal device supports parallel compression, the first order is to first perform the data segmentation and then perform the data compression.
[0367] In some embodiments, if the terminal device supports parallel compression, the first order is to perform data segmentation first and then perform data compression; if the terminal device does not support parallel compression, the first order is to perform data segmentation first and then perform data compression, or the first order is to perform data compression first and then perform data segmentation.
[0368] In some embodiments, the transceiver unit 1410 may also be used to send second information to the network device, the second information including one or more of the following: the first order; the second order, wherein the second order is the execution order between data decompression and data assembly during the process of data decompression and data assembly of the plurality of first data segments; the capability information of the terminal device; or the compression algorithm used by the terminal device in the process of generating the plurality of first data segments.
[0369] In some embodiments, the first order is predefined.
[0370] In some embodiments, the processing unit 1420 is further configured to obtain third information before performing the data compression and data segmentation on the data to be transmitted according to the first order to obtain a plurality of first data segments, the third information being used to indicate the maximum allowed size of the plurality of first data segments; wherein, performing the data compression and data segmentation on the data to be transmitted according to the first order to obtain a plurality of first data segments includes: performing the data compression and data segmentation on the data to be transmitted according to the first order and the third information to obtain the plurality of first data segments.
[0371] In some embodiments, the third information is the maximum supported size of a Protocol Data Unit (PDU) in the Packet Data Convergence Layer Protocol (PDCP), or the third information is indicated by the network device.
[0372] In some embodiments, the first order is to first perform the data compression and then perform the data segmentation; wherein, the step of performing the data compression and data segmentation on the data to be transmitted according to the first order and the third information to obtain the plurality of first data segments includes: performing the data compression on the data to be transmitted according to the first order to obtain compressed data; and performing the data segmentation on the compressed data according to the third information to obtain the plurality of first data segments.
[0373] In some embodiments, the first order is to first perform the data segmentation and then perform the data compression; wherein, the step of performing the data compression and data segmentation on the data to be transmitted according to the first order and the third information to obtain the plurality of first data segments includes: determining the maximum allowable size of the second data segment according to the third information and the first order; performing the data segmentation on the data to be transmitted according to the maximum allowable size of the second data segment to obtain a plurality of second data segments; and performing the data compression on the plurality of second data segments respectively to obtain a plurality of first data segments corresponding one-to-one with the plurality of second data segments.
[0374] In some embodiments, determining the maximum allowable size of the second data segment based on the third information and the first order includes: determining the second data segment obtained by performing the data segmentation based on the first order; and determining the maximum allowable size of the second data segment based on the compression ratio of the compression algorithm used by the terminal device and the maximum allowable size of the plurality of first data segments indicated by the third information.
[0375] In some embodiments, the transceiver unit 1410 may also be used to receive fourth information from the network device, the fourth information being used to instruct the retransmission of one or more of the plurality of first data segments.
[0376] The following section describes the downlink data processing procedure of the communication device 1400.
[0377] Specifically, the transceiver unit 1410 can be used to receive multiple third data segments from a network device. The processing unit 1420 can be used to decompress and assemble the multiple third data segments based on a third order, wherein the third order is the execution order between the data decompression and the data assembly.
[0378] In some embodiments, the transceiver unit 1410 may be configured to receive fifth information from the network device before the data decompression and data assembly of the plurality of third data segments based on the third order, the fifth information being used to indicate the third order or the fourth order, the fourth order being the execution order between data compression and data segmentation in the process of generating the plurality of third data segments by the network device.
[0379] In some embodiments, the processing unit 1420 may be configured to determine the third order according to the fourth order before performing data decompression and data assembly on the plurality of third data segments based on the third order, wherein: if the fourth order is to perform data compression first and then perform data segmentation, then the third order is to perform data assembly first and then perform data decompression; if the fourth order is to perform data segmentation first and then perform data compression, then the third order is to perform data decompression first and then perform data assembly.
[0380] In some embodiments, the third order is predefined.
[0381] In some embodiments, the transceiver unit 1410 may be used to send a sixth message to the network device, the sixth message being used to instruct the retransmission of one or more of the plurality of third data segments.
[0382] In one possible design, the device 1400 may be a network device in the above method embodiments, or it may be a chip, processor, or chip system that implements network device functions, or a chip, processor, or chip system that implements O-DU functions. The device 1400 may be used to perform the steps or processes performed by the network device in any of the above method embodiments.
[0383] The following section describes the uplink data processing procedure of the communication device 1400.
[0384] Specifically, the transceiver unit 1410 can be used to receive multiple first data segments from a terminal device. The processing unit 1420 can be used to decompress and assemble the multiple first data segments according to a second order, wherein the second order is the execution order between the data decompression and the data assembly.
[0385] In some embodiments, the transceiver unit 1410 may be configured to send the first information to the terminal device before receiving a plurality of first data segments from the terminal device. The first information is used to indicate a first order, which is the execution order between data compression and data segmentation during the generation of the plurality of first data segments by the terminal device. The step of decompressing and assembling the plurality of first data segments based on a second order includes: determining the second order according to the first order; and performing the data decompression and data assembly on the plurality of first data segments according to the second order.
[0386] In some embodiments, the transceiver unit 1410 may be configured to receive capability information from the terminal device before sending the first information to the terminal device, the capability information including compression algorithms supported by the terminal device and / or whether the terminal device supports parallel compression. The processing unit 1420 may be configured to determine the first information based on the capability information.
[0387] In some embodiments, the transceiver unit 1410 may be configured to receive second information from the terminal device before the data decompression and data assembly of the plurality of first data segments are performed based on the second order. The processing unit 1420 may be configured to determine the second order based on the second information; wherein the second information includes one or more of the following: a first order, which is the execution order between data compression and data segmentation during the generation of the plurality of first data segments by the terminal device; the second order; capability information of the terminal device; or the compression algorithm used by the terminal device during the generation of the plurality of first data segments.
[0388] In some embodiments, the second order is predefined.
[0389] In some embodiments, the transceiver unit 1410 may be configured to send third information to the terminal device before receiving a plurality of first data segments from the terminal device, the third information being used to indicate the maximum allowed size of the plurality of first data segments.
[0390] In some embodiments, the transceiver unit 1410 may be used to send fourth information to the terminal device, the fourth information being used to instruct the retransmission of one or more of the plurality of first data segments.
[0391] The following section describes the downlink data processing procedure of the communication device 1400.
[0392] Specifically, the processing unit 1420 can be used to compress and segment the data to be transmitted according to a fourth order to obtain multiple third data segments, wherein the fourth order is the execution order between the data compression and the data segmentation. The transceiver unit 1410 can be used to send the multiple third data segments to the terminal device.
[0393] In some embodiments, the transceiver unit 1410 may be used to send fifth information to the terminal device, the fifth information being used to indicate a third order or the fourth order, the third order being the execution order between data decompression and data assembly during the process of data decompression and data assembly of the plurality of third data segments.
[0394] In some embodiments, the fourth order is predefined.
[0395] In some embodiments, the transceiver unit 1410 may be used to receive sixth information from the terminal device, the sixth information being used to instruct the retransmission of one or more of the plurality of third data segments.
[0396] It should be understood that the "unit" in device 1400 can be implemented in hardware, software, or by hardware executing corresponding software. For example, the "unit" can refer to an application-specific integrated circuit (ASIC), electronic circuitry, a processor (e.g., a shared processor, a proprietary processor, or a group processor, etc.) and memory for executing one or more software or firmware programs, combined logic circuitry, and / or other suitable components supporting the described functions. As another example, transceiver unit 1410 can be replaced by transceiver circuitry (e.g., may include receiving and transmitting circuitry), and processing unit 1420 can be replaced by a processor or processing circuitry.
[0397] Figure 15 shows a schematic block diagram of another communication device provided in an embodiment of this application. This communication device 1500 can be a terminal device / network device, or a chip, chip system, or processor, etc., in the terminal device / network device that implements the above-described methods. This device can be used to implement the methods described in the above-described method embodiments; for details, please refer to the descriptions in the above-described method embodiments.
[0398] The communication device 1500 may include one or more processors 1510, which may also be referred to as processing units, and can implement certain control functions. The processor 1510 may be a general-purpose processor or a dedicated processor, such as a baseband processor or a central processing unit. The baseband processor can be used to process communication protocols and communication data, while the central processing unit can be used to control the communication device, execute software programs, and process data from the software programs.
[0399] In an alternative design, the processor 1510 may also store instructions and / or data that can be executed by the processor 1510 to cause the communication device 1500 to perform the methods described in the above method embodiments.
[0400] In another alternative design, the communication device 1500 may include a communication interface 1520 for implementing receiving and transmitting functions. For example, the communication interface 1520 may be a transceiver circuit, interface, interface circuit, or transceiver. The transceiver circuit, interface, interface circuit, or transceiver for implementing receiving and transmitting functions may be separate or integrated. The aforementioned transceiver circuit, interface, interface circuit, or transceiver may be used for reading and writing code / data, or it may be used for transmitting or relaying signals.
[0401] Optionally, the communication device 1500 may include one or more memories 1530, which may store instructions that can be executed on the processor 1510, causing the communication device 1500 to perform the methods described in the above method embodiments. Optionally, the memories 1530 may also store data. Optionally, the processor 1510 may also store instructions and / or data. The processor 1510 and the memories 1530 may be provided separately or integrated together.
[0402] It should be understood that, in one possible design, the steps in the method embodiments provided in this application can be implemented by integrated logic circuits in the processor's hardware or by instructions in software form. The steps of the method disclosed in the embodiments of this application can be directly implemented by a hardware processor, or implemented by a combination of hardware and software modules in the processor. The software modules can reside in random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, registers, or other mature storage media in the art. This storage medium is located in memory, and the processor reads information from the memory and, in conjunction with its hardware, completes the steps of the above method. To avoid repetition, detailed descriptions are not provided here.
[0403] It should be noted that the processor in the embodiments of this application can be an integrated circuit chip with signal processing capabilities. During implementation, each step of the above method embodiments can be completed by the integrated logic circuitry in the processor's hardware or by instructions in software form. The processor can be a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. It can implement or execute the methods, steps, and logic block diagrams disclosed in the embodiments of this application. The general-purpose processor can be a microprocessor or any conventional processor. The steps of the methods disclosed in the embodiments of this application can be directly embodied as being executed by a hardware decoding processor, or executed by a combination of hardware and software modules in the decoding processor. The software modules can be located in random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, registers, or other mature storage media in the art. This storage medium is located in memory, and the processor reads the information in the memory and, in conjunction with its hardware, completes the steps of the above methods.
[0404] It is understood that the memory in the embodiments of this application can be volatile memory or non-volatile memory, or may include both volatile and non-volatile memory. The non-volatile memory can be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. The volatile memory can be random access memory (RAM), which is used as an external cache. By way of example, but not limitation, many forms of RAM are available, such as static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous linked dynamic random access memory (SLDRAM), and direct rambus RAM (DR RAM). It should be noted that the memory used in the systems and methods described herein is intended to include, but is not limited to, these and any other suitable types of memory.
[0405] This application also provides a computer program product, which includes computer program code. When the computer program code is run on a computer, it causes the computer to execute the various steps or processes executed by the terminal device / network device in any of the above method embodiments.
[0406] This application also provides a computer-readable storage medium storing program code that, when run on a computer, causes the computer to execute the various steps or processes performed by the terminal device / network device in any of the above method embodiments.
[0407] This application also provides a communication device, including a processor and an interface, the interface being used to send and / or receive signals, causing the processor to execute the various steps or processes executed by the terminal device / network device in any of the above method embodiments.
[0408] The above-described device and method embodiments are completely corresponding, with corresponding modules or units performing corresponding steps. For example, a communication unit or communication interface performs the receiving or sending steps in the method embodiment, while other steps besides sending and receiving can be performed by a processing unit or processor.
[0409] In the embodiments of this application, the terms and English abbreviations are exemplary examples given for ease of description and should not be construed as limiting the application in any way. The embodiments of this application do not preclude the possibility of defining other terms that can achieve the same or similar functions in existing or future agreements.
[0410] As used in this specification, the terms "component," "module," "system," etc., are used to refer to computer-related entities, hardware, firmware, combinations of hardware and software, software, or software in execution. For example, a component can be, but is not limited to, a process running on a processor, a processor, an object, an executable file, an execution thread, a program, and / or a computer. As illustrated, applications running on computing devices and computing devices can both be components. One or more components may reside in a process and / or an execution thread, and components may be located on a single computer and / or distributed among two or more computers. Furthermore, these components can be executed from various computer-readable storage media on which various data structures are stored. Components can communicate, for example, via local and / or remote processes based on signals having one or more data packets (e.g., data from two components interacting with another component between a local system, a distributed system, and / or a network, such as the Internet interacting with other systems via signals).
[0411] Those skilled in the art will recognize that the various illustrative logical blocks and steps described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementations should not be considered beyond the scope of this application.
[0412] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the systems, devices, and units described above can be based on the corresponding processes in the foregoing method embodiments, and will not be repeated here.
[0413] In the several embodiments provided in this application, it should be understood that the disclosed systems, apparatuses, and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between apparatuses or units may be electrical, mechanical, or other forms.
[0414] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0415] In addition, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit.
[0416] In the above embodiments, the functions of each functional unit can be implemented 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 instructions (programs). When the computer program instructions (programs) are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of this application are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) 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 media may be magnetic media (e.g., floppy disks, hard disks, magnetic tapes), optical media (e.g., DVDs), or semiconductor media (e.g., solid-state disks, SSDs), etc.
[0417] If the aforementioned functions are implemented as software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solutions of the embodiments of this application, essentially or in other words, the parts that contribute to the prior art, or parts of the technical solutions, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0418] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.
Claims
1. A communication method, characterized in that, include: Determine the first order, which is the execution order between data compression and data segmentation; According to the first order, the data to be transmitted is compressed and segmented to obtain multiple first data segments; Send the plurality of first data segments to the network device.
2. The method according to claim 1, characterized in that, The determination of the first order includes: Receive first information from the network device, the first information being used to indicate the first sequence.
3. The method according to claim 1, characterized in that, The determination of the first order includes: The first order is determined based on the capability information of the terminal device, wherein the capability information includes the compression algorithms supported by the terminal device and / or whether the terminal device supports parallel compression.
4. The method according to claim 3, characterized in that, If the compression algorithm depends on the context, or the compression ratio of the compression algorithm is not fixed, then the first order is to perform the data compression first, and then perform the data segmentation. If the compression algorithm is context-independent and the compression ratio of the compression algorithm is fixed, then the first order is to first perform the data segmentation and then perform the data compression.
5. The method according to claim 4, characterized in that, When the compression algorithm is context-independent and its compression ratio is fixed, If the terminal device supports parallel compression, then the first order is to first perform the data segmentation, and then perform the data compression.
6. The method according to claim 3, characterized in that, If the terminal device supports parallel compression, then the first order is to first perform the data segmentation, and then perform the data compression; If the terminal device does not support parallel compression, the first order is to perform data segmentation first and then perform data compression, or the first order is to perform data compression first and then perform data segmentation.
7. The method according to any one of claims 1-6, characterized in that, The method further includes: Send a second message to the network device, the second message including one or more of the following: First order; The second order is the execution order between data decompression and data assembly during the process of data decompression and data assembly of the plurality of first data segments; The capability information of the terminal device; or The compression algorithm used by the terminal device in generating the plurality of first data segments.
8. The method according to claim 1, characterized in that, The first order is predefined.
9. The method according to any one of claims 1-8, characterized in that, Before performing the data compression and data segmentation on the data to be transmitted according to the first order to obtain multiple first data segments, the method further includes: Obtain third information, which is used to indicate the maximum allowed size of the plurality of first data segments; The step of performing data compression and data segmentation on the data to be transmitted according to the first order to obtain multiple first data segments includes: Based on the first sequence and the third information, the data to be transmitted is compressed and segmented to obtain the plurality of first data segments.
10. The method according to claim 9, characterized in that, The third information is either the maximum supported size of the Packet Data Convergence Layer Protocol (PDCP) Protocol Data Unit (PDU), or the third information is indicated by the network device.
11. The method according to claim 9 or 10, characterized in that, The first order is to first perform the data compression, and then perform the data segmentation; The step of performing data compression and data segmentation on the data to be transmitted according to the first order and the third information to obtain the plurality of first data segments includes: According to the first order, the data to be transmitted is compressed to obtain compressed data; Based on the third information, the compressed data is segmented to obtain the plurality of first data segments.
12. The method according to claim 9 or 10, characterized in that, The first order is to first perform the data segmentation, and then perform the data compression; The step of performing data compression and data segmentation on the data to be transmitted according to the first order and the third information to obtain the plurality of first data segments includes: Based on the third information and the first order, determine the maximum allowable size of the second data segment; Based on the maximum allowed size of the second data segment, the data to be transmitted is segmented to obtain multiple second data segments; The data compression is performed on the multiple second data segments respectively to obtain the multiple first data segments that correspond one-to-one with the multiple second data segments.
13. The method according to claim 12, characterized in that, Determining the maximum allowable size of the second data segment based on the third information and the first order includes: Based on the first order, the data segmentation is performed to obtain the second data segment; The maximum allowable size of the second data segment is determined based on the compression ratio of the compression algorithm used by the terminal device and the maximum allowable size of the plurality of first data segments indicated by the third information.
14. The method according to any one of claims 1-13, characterized in that, The method further includes: Receive fourth information from the network device, the fourth information being used to instruct the retransmission of one or more of the plurality of first data segments.
15. A communication method, characterized in that, include: Receive multiple first data segments from the terminal device; The plurality of first data segments are decompressed and assembled according to a second order, wherein the second order is the execution order between the data decompression and the data assembly.
16. The method according to claim 15, characterized in that, Before receiving the plurality of first data segments from the terminal device, the method further includes: Send first information to the terminal device, the first information being used to indicate a first order, the first order being the execution order of data compression and data segmentation of the terminal device in the process of generating the plurality of first data segments; The step of decompressing and assembling the plurality of first data segments based on a second order includes: The second order is determined according to the first order; The data decompression and data assembly are performed on the plurality of first data segments according to the second order.
17. The method according to claim 16, characterized in that, Before sending the first information to the terminal device, the method further includes: Receive capability information from the terminal device, the capability information including the compression algorithms supported by the terminal device and / or whether the terminal device supports parallel compression; The first information is determined based on the capability information.
18. The method according to claim 15, characterized in that, Before performing data decompression and data assembly on the plurality of first data segments based on the second order, the method further includes: Receive second information from the terminal device; The second order is determined based on the second information; The second information includes one or more of the following: The first order is the execution order of data compression and data segmentation in the process of generating the plurality of first data segments by the terminal device; The second order; The capability information of the terminal device; or The compression algorithm used by the terminal device in generating the plurality of first data segments.
19. The method according to claim 15, characterized in that, The second order is predefined.
20. The method according to any one of claims 15-19, characterized in that, Before receiving the plurality of first data segments from the terminal device, the method further includes: A third message is sent to the terminal device, the third message indicating the maximum allowed size of the plurality of first data segments.
21. The method according to any one of claims 15-20, characterized in that, The method further includes: Send a fourth message to the terminal device, the fourth message being used to instruct the retransmission of one or more of the plurality of first data segments.
22. A communication device, characterized in that, It includes units for performing the steps of the method as described in any one of claims 1-14, or units for performing the steps of the method as described in any one of claims 15-21.
23. A communication device, characterized in that, The device includes a processor coupled to a memory for storing programs or instructions that, when executed by the processor, cause the device to perform the method as claimed in any one of claims 1-14 or any one of claims 15-21.
24. A communication device, characterized in that, It includes a processor and an interface for sending and / or receiving signals, such that the processor performs the method as claimed in any one of claims 1-14 or any one of claims 15-21.
25. A readable storage medium having a computer program or instructions stored thereon, characterized in that, When the computer program or instructions are executed, they cause the computer to perform the method as claimed in any one of claims 1-14 or any one of claims 15-21.
26. A computer program product, characterized in that, It includes computer program instructions that cause the computer to perform the method as claimed in any one of claims 1-14 or any one of claims 15-21.
Citation Information
Patent Citations
Data transmission method and data transmission device
CN103795655A
Data compression method and device, data decompression method and device, electronic equipment and storage medium
CN113157655A
Reliable data transmission method and device, computer equipment and storage medium
CN114157649A
Fault-tolerant data segmentation compression method, recovery method, equipment and system
CN116248129A
Data Compression and Transmission Technique
US20210344549A1