Communication method and apparatus
By decrypting and entropy decoding the data at the receiving end, combined with channel coding and semantic feature extraction, the problem of the inability to perform joint source-channel coding in communication systems is solved, thereby achieving accuracy and security in data transmission, suppressing the cliff effect, and reducing data redundancy.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- HUAWEI TECH CO LTD
- Filing Date
- 2025-11-11
- Publication Date
- 2026-07-02
AI Technical Summary
In communication systems, existing technologies cannot achieve joint source-channel coding, resulting in a cliff effect in data transmission. Furthermore, the encrypted data has a high entropy rate, making effective modem joint source-channel coding impossible.
By decrypting and/or entropy decoding the data at the receiving end, the entropy rate of the data is reduced. Combined with channel coding and semantic feature extraction, joint source-channel coding is achieved to suppress the cliff effect.
It effectively reduces data redundancy, ensures the accuracy of transmitted feature data, reduces transmission resources, and improves the reliability and security of data transmission.
Smart Images

Figure CN2025134208_02072026_PF_FP_ABST
Abstract
Description
A communication method and apparatus
[0001] Cross-reference of related applications
[0002] This application claims priority to Chinese Patent Application No. 202411947615.5, filed on December 25, 2024, entitled "A Communication Method and Apparatus", the entire contents of which are incorporated herein by reference. Technical Field
[0003] This application relates to the field of communication technology, and in particular to a communication method and apparatus. Background Technology
[0004] In communication systems, before transmitting data (such as video or audio data), the application layer at the transmitting end performs source coding on the data. The modem at the transmitting end then performs channel coding on the source-coded data before transmitting the channel-coded data. Source coding mainly includes entropy coding, which reduces data redundancy to decrease the amount of data that needs to be transmitted. Channel coding adds checksum data to the data to reduce the impact of channel transmission on the data and increase the probability of correct decoding. However, source coding at the application layer and channel coding at the modem are two independent processes, which can cause sudden data loss at the receiving end, known as the cliff effect. To suppress the cliff effect, joint source-channel coding (JSCC) is proposed. Its main principle is to encode data by combining source coding and channel coding, taking into account the requirements of channel coding during source coding to maximize coding performance.
[0005] However, to ensure data security, after source coding (such as entropy coding) is performed on the data, the entropy-coded data is further encrypted. This results in a high entropy rate and almost no redundancy, making it impossible for the modem to perform joint source-channel coding on the encrypted data. Summary of the Invention
[0006] This application provides a communication method and apparatus to solve the problem of the inability to perform joint source-channel coding on data.
[0007] In a first aspect, embodiments of this application provide a communication method. This method is applied to a first device. The first device can be the first device itself (or referred to as a first entity, first network element, or first equipment, etc.), a module within the first device, or a logic module or software capable of implementing some or all of the functions of the first device. Modules in the first device may be, for example, processors, communication modules, or circuits or chips responsible for communication functions. Chips may be, for example, modem chips, system-on-chip (SoC) chips containing modem cores, or system-in-package (SIP) chips. The first device can be a device with communication functions, such as a terminal device, access network device, core network device, or a server (e.g., an application server) used to provide services to a terminal device. For ease of description, the following description uses the execution of this method by a first device as an example. The method includes: receiving first data from the application layer of a fifth device, and sending second data, wherein the second data is data obtained by jointly source coding and channel coding of the third data, the third data is determined based on the first data, and the entropy rate of the third data is less than the entropy rate of the first data. Joint source-channel coding (also known as joint source coding and channel coding) includes, for example, semantic feature extraction and channel coding. For instance, the third data is the processed data after processing the first data, which includes one of the following: decryption, entropy decoding, sequential decryption and entropy decoding, or sequential entropy decoding and decryption.
[0008] The fifth device can be the same as or different from the first device; there is no limitation on this. For example, both the fifth and first devices can be terminal devices. Or both the fifth and first devices can be application servers. Alternatively, the fifth device can be an application server, and the sixth device can be a user plane device (also called a user plane network element, user plane function network element, user plane entity, or user plane equipment, etc.), such as a user plane function (UPF). The entropy rate of the third data is less than the entropy rate of the first data. Optionally, the entropy rate can be understood as the average amount of information generated by the information source (or data) per unit time. The higher the entropy rate of the data, the lower the data redundancy. Conversely, the lower the entropy rate of the data, the higher the data redundancy.
[0009] In this embodiment, the first device can decrypt and / or perform entropy decoding on the first data to reduce its entropy rate. This allows the first device to perform joint source coding and channel coding on the third data, such as semantic feature extraction and channel coding, thus solving the problem of not being able to perform joint source-channel coding on the data. Furthermore, if the first device can extract semantic features from the third data, then the second data can be the channel-coded version of the feature data from the third data. This achieves understanding the data before transmitting it, i.e., semantic communication. This minimizes redundant data in the third data and ensures the accuracy of the transmitted feature data.
[0010] In one possible implementation, the method further includes: decrypting the first data based on a first key to determine the third data; or, decrypting the first data based on the first key and performing entropy decoding on the decrypted first data to determine the third data; wherein the first key is obtained from the application layer.
[0011] In this way, the first device can negotiate the first key with the application layer of the fifth device to obtain the plaintext data corresponding to the first data. On the one hand, this can reduce the entropy rate of the data, and on the other hand, it can facilitate more accurate semantic feature extraction and other processing of the third data.
[0012] In one possible implementation, the method further includes: compressing the third data based on a first compression parameter, or extracting a portion of the third data, to determine the fourth data; the first compression parameter being determined based on channel measurement information; and performing channel coding on the fourth data to determine the second data. The channel may be, for example, the channel corresponding to the first device. Optionally, the portion of the third data may be a part of the third data, such as key data of the third data, or it may be feature data of the third data, which may not belong to the third data. Compression and extraction can be considered as two implementation methods for semantic feature extraction.
[0013] Thus, since the first compression parameter references the signal measurement information, it's equivalent to the source coding taking into account the channel information, which is equivalent to joint source coding and channel coding, helping to suppress the cliff effect. Alternatively, a portion of the third data can be extracted, which can minimize the amount of data transmitted and save transmission resources.
[0014] In one possible implementation, the fourth data is determined by a first module (e.g., a first protocol layer) or a second module (e.g., a second protocol layer), and the second data is determined by the second module. Both the first and second protocol layers are different from the application layer. Optionally, the first protocol layer is a protocol layer in the network protocol stack of the first device, such as one or more protocol layers in the network protocol stack other than the application layer, such as the transport layer or network layer. The second protocol layer is one or more protocol layers in the wireless transmission protocol stack of the first device.
[0015] Thus, the fourth data and the second data can be determined by the first protocol layer in the first device, or by the first protocol layer and the second protocol layer in the first device, enriching the implementation methods for determining the second data and the fourth data.
[0016] In one possible implementation, the third data is ciphertext data obtained by encrypting with the second key; or, the fourth data is ciphertext data obtained by encrypting with the second key. For example, if the fourth data is determined by the first protocol layer, then the third data can be ciphertext data. Alternatively, if the fourth data is determined by the second protocol layer, then the fourth data can be ciphertext data. In this way, it can be ensured that the data before channel coding is ciphertext data, thus guaranteeing the security of the second data.
[0017] In one possible implementation, the method further includes obtaining a second key from the user plane device. This allows the user plane device and the terminal device to explicitly define the key, facilitating subsequent decryption of the second data by the user plane device.
[0018] In one possible implementation, the method further includes: receiving first information from the application layer, the first information indicating that data is sequentially encrypted and entropy encoded; and performing entropy decoding on the first data to obtain third data.
[0019] In this way, the application layer can notify the first device to perform encryption and entropy encoding in sequence. Some encryption algorithms may not have a significant impact on the entropy rate of the data, or even any impact at all. Therefore, in this case, the first device can simply perform entropy decoding on the first data. This way, while ensuring that the entropy rate of the third data is lower than that of the first data, the processing load of the first device can also be reduced.
[0020] In one possible implementation, before receiving the second information from the application layer, the method further includes: sending the second information to the application layer, the second information being used to request that the data be sequentially encrypted and entropy encoded.
[0021] In this way, the first device can proactively request the application layer to adjust the order of data encryption and entropy encoding, thereby improving the flexibility of data processing.
[0022] Secondly, embodiments of this application provide a communication method. This method is applied to a first module side in a first device. The content of the first device side can refer to the content of the first device discussed above. The first module can be a software module or a hardware module in the first device side, such as the protocol layer of the first device, such as the protocol layer in a network protocol stack, or a module capable of implementing protocol layer functions, such as an operating system (OS), etc., without specific limitations. For ease of description, the following description uses the execution of this method by the first module as an example. The method includes: receiving first data from the application layer, and processing the first data to obtain third data, wherein the entropy rate of the third data is less than the entropy rate of the first data. For example, the third data is data after processing the first data, and the processing includes one of the following: decryption, entropy decoding, sequential decryption and entropy decoding, or sequential entropy decoding and decryption.
[0023] Optionally, the first module may also perform other steps involved in the first aspect, which will not be listed here.
[0024] Thirdly, this application provides a communication method. This method is applied to the second module side of a first device. The content of the first device side can refer to the content of the first device discussed above. The second module can be a software module or a hardware module in the first device side, such as the protocol layer of the first device, such as the protocol layer in a wireless transmission protocol stack, or a module capable of implementing protocol layer functions, such as a modem, etc., without specific limitations. For ease of description, the following description uses the second module executing this method as an example. The method includes: receiving third data or fourth data from the first module, and sending second data, where the second data is the data after semantic feature extraction and channel coding of the third data, and the fourth data is obtained by compressing the third data based on a first compression parameter, or by extracting a portion of the third data. The first compression parameter is determined based on channel measurement information, and the entropy rate of the third data is less than the entropy rate of the first data. For example, the third data is the data after processing the first data from the application layer, and this processing includes one of the following: decryption, entropy decoding, sequential decryption and entropy decoding, or sequential entropy decoding and decryption.
[0025] Optionally, the second module may also perform other steps involved in the second module's execution as described in the first aspect, which will not be listed here one by one.
[0026] Fourthly, embodiments of this application provide a communication method. This method is applied to a second device. The second device can be the second device itself (or a second entity, second network element, or second equipment, etc.), a module within the second device, or a logic module or software capable of implementing some or all of the functions of the second device. Modules in the second device may be, for example, processors, communication modules, or circuits or chips responsible for communication functions. Chips may be, for example, modems, or SoC chips or SIP chips containing cores. The second device can be a device with communication functions, such as a terminal device, access network device, core network device, or a server (e.g., an application server) used to provide services to a terminal device. For ease of description, the following description uses the execution of this method by the second device as an example. The method includes: the application layer of the second device receiving seventh data, and sequentially performing entropy decoding and decryption on the seventh data, or sequentially decrypting or entropy decoding on the seventh data, or decrypting the seventh data to obtain eighth data.
[0027] Fifthly, embodiments of this application provide a communication method. This method is applied to a third device. The third device can be the third device itself (or a third entity, third network element, or third equipment, etc.), a module within the third device, or a logic module or software capable of implementing some or all of the functions of the third device. Modules within the third device may be, for example, processors, communication modules, or circuits or chips responsible for communication functions. Chips may be, for example, modems, or SoC chips or SIP chips containing cores. The third device can be a device with communication functions, such as an access network device or a core network device (e.g., a user plane device). For ease of description, the following description uses the execution of this method by a third device as an example. The method includes: receiving second data, and sequentially performing channel decoding and semantic pre-prediction feature extraction on the second data, or sequentially performing joint source channel decoding, entropy coding, and encryption on the second data to obtain ninth data.
[0028] In one possible implementation, the method further includes: sending ninth data, which is either the ninth data or data encapsulated from the ninth data.
[0029] Sixthly, embodiments of this application provide a communication method. This method is applied to a fourth device. The fourth device can be the fourth device itself (or referred to as a fourth entity, fourth network element, or fourth equipment, etc.), a module within the fourth device, or a logic module or software capable of implementing some or all of the functions of the fourth device. Modules in the fourth device can be, for example, processors, communication modules, or circuits or chips responsible for communication functions in a third device. Chips can be, for example, modems, or SoC chips or SIP chips containing cores. The fourth device can be a device with communication functions, such as an access network device or a core network device (e.g., a user plane device). For ease of description, the following description uses the fourth device executing this method as an example. The method includes: receiving tenth data, and performing one of the following processing on the tenth data: decryption, entropy encoding, sequentially performing decryption and entropy encoding, or sequentially performing decryption, entropy encoding, and encryption to obtain seventh data.
[0030] Seventhly, embodiments of this application provide a communication method. This method is applied to a first device side. The content of the first device side can be referred to the preceding discussion of the first device side, and will not be listed here again. The method includes: receiving fifth data from the application layer, wherein the fifth data is data without entropy encoding; and sending sixth data, wherein the sixth data is data obtained by semantic feature extraction and channel coding of the fifth data.
[0031] In this embodiment, the application layer can directly avoid entropy coding of the data, resulting in a lower entropy rate of the fifth data acquired by the first device, thereby enabling joint source-channel coding of the fifth data. Furthermore, the first device does not need to perform entropy rate reduction processing on the fifth data, which helps reduce the processing load.
[0032] In one possible implementation, the method further includes receiving third information from the application layer, the third information instructing the application layer not to perform entropy encoding on the data.
[0033] In one possible implementation, before receiving the third information from the application layer, the method further includes sending a fourth information to the application layer, the fourth information being used to request that the data not be entropy encoded.
[0034] Eighthly, embodiments of this application provide a communication device. For example, the communication device includes a processing unit (sometimes also called a processing module) and a communication unit (sometimes also called a communication module). The communication unit is used to perform transmit and receive operations, such as functions related to sending and receiving; the communication unit may be called a transceiver unit; optionally, the communication unit includes a receiving unit and a sending unit. The processing unit is used to perform processing operations. Alternatively, the communication unit may be a transmitter and a receiver, or a transmitter and a receiver. Optionally, the communication device also includes a storage unit (sometimes also called a storage module).
[0035] The communication device may be the first device described in the first aspect above, for example, it may be the first device itself, or a module (e.g., a chip system) configured in the first device, or a device capable of implementing some or all of the functions of the first device. The communication device includes corresponding means or modules for performing the first aspect above or any possible implementation. For example, a communication unit is used to receive first data from the application layer and to send second data, etc.
[0036] Optionally, the communication device may also implement any of the possible implementations in the first aspect described above, which will not be listed one by one here.
[0037] Ninthly, embodiments of this application provide a communication device. For example, the communication device includes a processing unit (sometimes also called a processing module) and a communication unit (sometimes also called a communication module). The communication unit is used to perform transmit and receive operations, such as functions related to sending and receiving; the communication unit may be called a transceiver unit; optionally, the communication unit includes a receiving unit and a sending unit. The processing unit is used to perform processing operations. Alternatively, the communication unit may be a transmitter and a receiver, or a transmitter and a receiver. Optionally, the communication device also includes a storage unit (sometimes also called a storage module).
[0038] The communication device may be the second device described in the fourth aspect above. For example, it may be a second device, a module (e.g., a chip system) configured in the second device, or a device capable of implementing some or all of the functions of the second device. The communication device includes corresponding means or modules for performing the fourth aspect above or any possible implementation. For example, a communication unit is used to receive seventh data, and a processing unit is used to sequentially perform entropy decoding and decryption on the seventh data, or sequentially decrypt or entropy decode the seventh data, or decrypt the seventh data to obtain eighth data.
[0039] Optionally, the communication device may also implement any of the possible implementations in the fourth aspect described above, which will not be listed one by one here.
[0040] Tenthly, embodiments of this application provide a communication device. For example, the communication device includes a processing unit (sometimes also called a processing module) and a communication unit (sometimes also called a communication module). The communication unit is used to perform transmit and receive operations, such as functions related to sending and receiving; the communication unit may be called a transceiver unit; optionally, the communication unit includes a receiving unit and a sending unit. The processing unit is used to perform processing operations. Alternatively, the communication unit may be a transmitter and a receiver, or a transmitter and a receiver. Optionally, the communication device also includes a storage unit (sometimes also called a storage module).
[0041] The communication device may be the third device described in the fifth aspect above. For example, it may be a third device, a module (e.g., a chip system) configured in the third device, or a device capable of implementing some or all of the functions of the third device. The communication device includes corresponding means or modules for performing the fifth aspect above or any possible implementation. For example, a communication unit is used to receive second data, and a processing unit is used to sequentially perform channel decoding and semantic pre-prediction feature extraction on the second data, or to sequentially perform joint source-channel decoding, entropy coding, and encryption on the second data to obtain ninth data.
[0042] Optionally, the communication device may also implement any of the possible embodiments in the fifth aspect described above, which will not be listed one by one here.
[0043] Eleventhly, embodiments of this application provide a communication device. For example, the communication device includes a processing unit (sometimes also called a processing module) and a communication unit (sometimes also called a communication module). The communication unit is used to perform transmit and receive operations, such as functions related to sending and receiving; the communication unit may be called a transceiver unit; optionally, the communication unit includes a receiving unit and a sending unit. The processing unit is used to perform processing operations. Alternatively, the communication unit may be a transmitter and a receiver, or a transmitter and a receiver. Optionally, the communication device also includes a storage unit (sometimes also called a storage module).
[0044] The communication device may be the fourth device in the sixth aspect described above. For example, it may be the fourth device itself, or a module (e.g., a chip system) configured in the fourth device, or a device capable of implementing some or all of the functions of the fourth device. The communication device includes corresponding means or modules for performing the sixth aspect described above or any possible implementation. For example, a communication unit is used to receive second data, and a processing unit is used to sequentially perform channel decoding and semantic pre-prediction feature extraction on the second data, or to sequentially perform joint source-channel decoding, entropy coding, and encryption on the second data to obtain ninth data.
[0045] Optionally, the communication device may also implement any of the possible embodiments in the sixth aspect described above, which will not be listed one by one here.
[0046] In one possible design, the communication device in any of the seventh to tenth aspects mentioned above is a communication chip, the processing unit can be one or more processors or processor cores, and the communication unit can be the input / output circuit or input / output interface of the communication chip.
[0047] In a twelfth aspect, embodiments of this application provide a communication system. The communication system includes a first device and a second device. The first device is, for example, any communication device shown in the eighth aspect, or is capable of implementing the functions of any communication device shown in the eighth aspect, or is capable of executing any method as described in the first aspect. The second device is, for example, any communication device shown in the ninth aspect, or is capable of implementing the functions of any communication device shown in the ninth aspect, or is capable of executing any method as described in the fourth aspect.
[0048] In one possible implementation, the communication system further includes a third device and / or a fourth device. The third device is, for example, a communication device as shown in any of the tenth aspects, or is capable of performing the functions of any of the communication devices shown in the tenth aspect, or is capable of performing the methods as shown in any of the fifth aspects. The fourth device is, for example, a communication device as shown in any of the eleventh aspects, or is capable of performing the functions of any of the communication devices shown in the eleventh aspect, or is capable of performing the methods as shown in any of the sixth aspects.
[0049] In a thirteenth aspect, embodiments of this application provide a communication device. The communication device includes one or more processors. The one or more processors are capable of executing computer programs or instructions stored in a memory, which, when executed, cause the communication device to implement any of the methods described in the first to seventh aspects.
[0050] Optionally, the communication device may include a memory, in which case the memory may be coupled to one or more processors, or the memory may be configured relatively independently of one or more processors. Alternatively, the memory may exist independently of the communication device.
[0051] In one possible design, the communication device may further include an interface circuit, wherein the processor is used to communicate with other devices or components through the interface circuit.
[0052] The aforementioned communication device may be a terminal device, or a communication module within a terminal device, or a chip in the terminal responsible for communication functions, such as a modem chip (also known as a baseband chip), or a SoC or SIP chip containing a modem module. Alternatively, the aforementioned communication device may be an access network device, or a module within an access network device.
[0053] In a fourteenth aspect, embodiments of this application provide a communication device. The communication device includes a processor and an interface circuit. The interface circuit is used to receive signals from other communication devices besides the communication device and transmit them to the processor, or to send signals from the processor to other communication devices besides the communication device. The processor implements the methods described in any of the first to seventh aspects through logic circuits or executable code instructions. The number of processors can be one or more, and is not limited thereto.
[0054] In the specific implementation process, the communication device can be a chip, and the processor can be a transistor, gate circuit, flip-flop, and various logic circuits, etc. The specific implementation method of the processor is not limited in the embodiments of this application.
[0055] In one implementation, the communication device can be a wireless sensing management device, i.e., a computer device that supports wireless communication functions. Specifically, the wireless sensing management device can be a terminal device such as a smartphone, or a network device such as a wireless access network device (e.g., a base station).
[0056] In another implementation, the communication device can be a component of a wireless sensing management device, such as an integrated circuit product like a system-on-chip (SoC) or communication chip. A SoC can also be called a System-on-Chip (SoC). The communication chip can include a baseband processing chip and a radio frequency (RF) processing chip. The baseband processing chip is sometimes referred to as a modem or baseband chip. The RF processing chip is sometimes referred to as an RF transceiver or RF chip. In physical implementation, some or all of the communication chips can be integrated within the SoC. For example, the baseband processing chip is integrated into the SoC, while the RF processing chip is not integrated with the SoC. The interface circuit can be the RF processing chip in the wireless sensing management device, and the processor can be the baseband processing chip in the wireless sensing management device. The interface circuit can be an input / output interface, interface circuit, output circuit, input circuit, pin, or related circuit on the chip or chip system. The processor can also be a processing circuit or logic circuit.
[0057] In another implementation, the communication device can be a chip system, which may consist of chips or include chips and other discrete devices. Chip systems may include, for example, field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), system-on-a-chip (SoCs), CPUs, network processors (NPs), digital signal processors (DSPs), microcontroller units (MCUs), programmable logic devices (PLDs), or other integrated chips.
[0058] In a fifteenth aspect, embodiments of this application provide a chip system. The chip system includes a processor. Optionally, the chip system may further include an interface (such as a communication interface). The processor can be used to implement any of the methods described in the first aspect and possible implementations to the fourth aspect and possible implementations. Optionally, the chip system also includes a memory. The memory is used to store a computer program (also referred to as code or instructions). The processor is used to call and run the computer program from the memory, causing a device on which the chip system is installed to perform any of the methods described in the first to sixth aspects. Implementations of the chip system can be referred to the content of the chip systems discussed above, and will not be listed here.
[0059] In a sixteenth aspect, embodiments of this application provide a computer-readable storage medium. This computer-readable storage medium is used to store a computer program or instructions that, when executed, implement the methods described in any of the first to seventh aspects.
[0060] In a seventeenth aspect, embodiments of this application provide a computer program product. When the computer program product is executed, it causes a processor to perform a method as described in any of the first to sixth aspects. The computer program product includes a computer program and / or instructions, etc.
[0061] Regarding the beneficial effects of any of the technical solutions in the second to seventeenth aspects mentioned above, please refer to the discussion of the beneficial effects of the corresponding technical solutions in the first aspect, which will not be listed here again. Attached Figure Description
[0062] Figure 1 is a schematic diagram of a communication system applicable to an embodiment of this application;
[0063] Figure 2 is a schematic diagram of an encoding process;
[0064] Figure 3 is a schematic diagram of a cliff effect;
[0065] Figure 4 is a schematic diagram of another encoding process;
[0066] Figures 5 to 7 are schematic diagrams of three communication systems provided in the embodiments of this application;
[0067] Figure 8 is a schematic diagram of the protocol stack of the communication system device provided in the embodiment of this application;
[0068] Figure 9 is a schematic diagram of the protocol stack deployment of the terminal device provided in the embodiment of this application;
[0069] Figure 10 is a schematic diagram of a communication method provided in an embodiment of this application;
[0070] Figures 11 to 13 are schematic diagrams illustrating the interaction process between devices provided in the embodiments of this application;
[0071] Figures 14 to 18 are schematic diagrams illustrating five data transmission processes provided in the embodiments of this application;
[0072] Figure 19 is a schematic diagram of a communication method provided in an embodiment of this application;
[0073] Figure 20 is a schematic diagram of a data transmission process provided in an embodiment of this application;
[0074] Figures 21 and 22 are schematic diagrams of the structures of two communication devices provided in the embodiments of this application. Detailed Implementation
[0075] The embodiments of this application will now be described in further detail with reference to the accompanying drawings.
[0076] The following section will first introduce the terms and technologies involved in the various embodiments of this application.
[0077] 1. A terminal device is a user-side device with wireless transceiver capabilities. Terminal devices can also be called terminal equipment, terminals, user interfaces (UEs), mobile stations, mobile terminals, etc. Terminal devices can be widely used in various scenarios, such as device-to-device (D2D), vehicle-to-everything (V2X) communication, machine-type communication (MTC), the Internet of Things (IoT), virtual reality, augmented reality, industrial control, autonomous driving, telemedicine, smart grids, smart furniture, smart offices, smart wearables, intelligent transportation, and smart cities. Terminal devices can be mobile phones, tablets, computers with wireless transceiver capabilities, wearable devices, vehicles, drones, helicopters, airplanes, ships, robots, robotic arms, smart home devices, mobile stations (MS), subscriber units, cellular phones, smartphones, wireless data cards, personal digital assistant (PDA) computers, tablet computers, wireless modems, handsets, laptop computers, or machine-type communication (MTC) terminals, etc. Terminal devices typically contain communication modules, circuits, or chips that perform the corresponding communication functions. They may also be configured with program instructions for performing these functions.
[0078] In various embodiments of this application, the means for implementing the functions of the terminal device may be implemented by the terminal device itself, or by a module (such as a chip or modem) in the terminal device, or by a logic module or software that can implement all or part of the functions.
[0079] 2. A network device is a network-side device with wireless transceiver capabilities. A network device can be a device, equipment, or module located on the network side of a communication system and possessing corresponding communication functions. A network device typically contains a communication module, circuit, or chip that performs the corresponding communication function. The network device also contains program instructions for performing the corresponding communication function and corresponding program instructions. A network device can include core network devices and / or access network devices. An access network device can be a device in a radio access network (RAN) that provides wireless communication functions for terminal devices; it can be referred to as RAN equipment. The RAN can be an access network in the 3rd Generation Partnership Project (3GPP), such as 4G, 5G, or future-oriented communication networks. The RAN can also be an open RAN (O-RAN or ORAN), a cloud radio access network (CRAN), or a communication network combining two or more of the above.
[0080] RAN equipment can also be a base station, an evolved NodeB (eNodeB), a transmission reception point (TRP), a next-generation NodeB (gNB) in a 5G mobile communication system, a base station in a future mobile communication system, or an access node in a wireless fidelity (WiFi) system, etc.
[0081] RAN equipment can also be a module or unit that performs some of the functions of a base station. For example, it can be a central unit / control unit (CU), a distributed unit (DU), or a radio unit (RU). The CU and DU can be set up separately or included in the same network element, such as in a baseband unit (BBU). The RU can be included in radio frequency equipment or radio frequency units, such as in a remote radio unit (RRU), an active antenna unit (AAU), or a remote radio head (RRH). The embodiments of this application do not limit the specific technology or equipment form used in the network device.
[0082] In different systems, CU (or CU-CP and CU-UP), DU, or RU may have different names, but those skilled in the art will understand their meaning. For example, in an open (O)-RAN system, CU can also be called an O-RAN central unit (O-CU), DU can also be called an O-RAN distributed unit (O-DU), CU-CP can also be called an O-RAN central unit control plane (O-CU-CP), CU-UP can also be called an O-RAN Central Unit User Plane (O-CU-UP), and RU can also be called an O-RU. Any of the units CU (or CU-CP, CU-UP), DU, and RU in this application can be implemented through software modules, hardware modules, or a combination of software and hardware modules. RA equipment can be a macro base station, a micro base station, an indoor station, a relay node, or a donor node, etc.
[0083] In various embodiments of this application, the functions of the network device can be implemented by the network device itself, by modules (such as chips) within the network device, or by logic modules or software capable of implementing all or part of the functions. Alternatively, they can be implemented by a control subsystem that includes network device functions. This control subsystem, including network device functions, can be a control center in the aforementioned application scenarios such as smart grids, industrial control, intelligent transportation, and smart cities.
[0084] Before data is transmitted by terminal devices or network devices, it is usually processed (or manipulated), such as through encoding. Encoding refers to converting data into another form of representation so that the transmitted data can be recognized by the receiving end. After receiving the data, the receiving end performs inverse processing to obtain the data. Inverse processing can be considered as performing the reverse of the initial processing. The inverse processing of encoding is decoding. Encoding includes source coding and channel coding, which will be introduced separately below.
[0085] 3. Source coding encodes the data (or information) itself, primarily to transform it into a form with less data. Source coding focuses on effectively representing data from an information source (such as sound, images, text, etc.) by minimizing the loss of valid data while reducing the number of bits required to represent it, thus saving storage space or transmission bandwidth. Source coding algorithms include Huffman coding and arithmetic coding. The inverse process of source coding is source decoding.
[0086] Source coding can be divided into two types: lossless coding and lossy coding. Lossless coding means that the encoded data can be completely recovered from the original data. Lossy coding, on the other hand, allows for a certain degree of information loss in exchange for a higher compression ratio.
[0087] For example, choose a video compression standard, such as H.264. H.264 uses a series of compression techniques, including transform coding (such as Discrete Cosine Transform, DCT), motion compensation, quantization, and entropy coding, to reduce the size of video files. An AVI video file, after being encoded with H.264, is converted into an H.264 video file. This H.264 video file is much smaller than the AVI video file, but there is some loss in video quality.
[0088] In one possible implementation, source coding includes at least one of the following processes: transformer, quantizer, entropy coding, compression, and semantic feature extraction. These processes are described below.
[0089] 4. Conversion, also known as transformation or encoding transformation, refers to the direct conversion of a signal from one encoding scheme to another.
[0090] 5. Quantization is used to reduce redundant data and shorten the encoding length of the data.
[0091] 6. Entropy coding is a method of encoding raw data based on entropy theory in information theory. Its aim is to efficiently represent the original data and reduce redundancy. Entropy coding can be a lossless data compression technique that utilizes the statistical properties of the original data to reduce the number of bits required to represent it. The basic idea of entropy coding is to make the average codeword length (i.e., the value of information entropy) of the encoded codewords approach the entropy limit, which is the theoretical limit of data compression. Entropy coding includes methods such as Shannon-Fanno coding, Huffman coding, and arithmetic coding, all of which attempt to approach the lower bound declared by Shannon's source coding theorem. Two commonly used methods in entropy coding are Huffman coding and Shannon-Fanno coding. These methods achieve effective data compression by assigning shorter codewords to frequently occurring symbols and longer codewords to less frequently occurring symbols.
[0092] Entropy coding can improve the entropy rate of data. The entropy rate refers to the average amount of information generated by an information source per unit time, or the average entropy of the information source. In information theory, the entropy rate is used to measure the change in the degree of uncertainty of a stochastic process over time. Specifically, the entropy rate is defined as the limiting value of the entropy of a sequence of random variables as the sequence length increases.
[0093] The parameters involved in entropy coding (or the entropy coding operations) include information about the entropy coding algorithm and / or the coding length. Information about the entropy coding algorithm includes its type, the probability model used to encode the data, and / or its parameters, such as the probability distribution. A probability model, in the context of data encoding, describes the probability of each symbol (such as a character in text or a pixel value in an image) occurring. Probability models are used to help understand the distribution patterns of data and to optimize coding efficiency based on these patterns. A probability distribution describes the probabilistic patterns of a random variable's values. For discrete random variables, the probability distribution can be represented as the set of probabilities of the random variable taking each possible value; for continuous random variables, the probability density function describes the probabilistic patterns of its values. The coding length refers to the number of bits required to represent a specific piece of information or data.
[0094] The inverse process of entropy coding is entropy decoding, or in other words, entropy decoding corresponds to entropy coding. Entropy decoding is used to recover the original data from the entropy-coded compressed data stream without loss of quality. Entropy decoding is a process of the decoder. When performing entropy decoding, the parameters of entropy decoding can be explicitly defined. The parameters of entropy decoding correspond to or are the same as the parameters of entropy coding. For example, the parameters of entropy decoding include information about the entropy coding algorithm (or entropy decoding algorithm) and / or the code length, etc.
[0095] 7. Compression refers to the process of reducing the storage space required for data representation or the bandwidth required for transmission. Compression can be lossy or lossless. Entropy coding can be a special type of compression. Parameters involved in compression (also called compression parameters) include, for example, the signal-to-noise ratio (SNR) and / or the source code rate. SNR refers to the signal-to-noise ratio of the signal received at the receiver, and the unit of SNR can be decibels (dB). The source code rate refers to the rate at which encoded data is output during source coding, usually expressed in bits. It describes the number of bits output by the source encoder per unit time. The source code rate is an important parameter for measuring coding efficiency, and it is directly related to the compression ratio of source coding and the data transmission rate.
[0096] 8. Semantic feature extraction captures a portion of the original data. This can be done by compressing the data to obtain specific information, such as key data of high importance, or by capturing the features of the original data. These features express the meaning (e.g., semantic data) or contextual information of the original data. While derived from the original data, they may not be part of the original data itself. For example, if the original data is an image, and semantic feature extraction determines that the image contains a cat, then the corresponding portion of the original data (or feature data) could be the data indicating that the image contains a cat, rather than the image itself.
[0097] 9. Channel coding is the encoding process performed during the transmission of information from the source to the destination. Its purpose is to ensure that communication signals are not distorted or erroneous during channel transmission, thereby improving the reliability of data transmission. Channel coding focuses on how to reliably transmit information over imperfect channels (which may contain noise, interference, or attenuation). The goal of channel coding is to improve the reliability of data transmission, ensuring correct data reception even under less than ideal channel conditions. Channel coding adds redundant information (check bits) to the transmitted data, enabling the receiver to detect and correct a certain number of errors. Channel coding techniques include Hamming codes, Reed-Solomon codes, convolutional codes, and low-density parity-check codes (LDPC), among others. Parameters involved in channel coding (or channel coding parameters) include codeword length and / or coding rate. Codeword length refers to the total length of the codewords in the channel coding. The coding rate is the ratio of the transmission rate of the encoded data to the transmission rate of the original data.
[0098] The inverse process of channel coding is channel decoding, which is used to process the data to obtain the data before channel coding.
[0099] 10. Joint source-channel coding (JSCC) refers to the joint application of source coding and channel coding. JSCC has two implementation methods. The first method utilizes artificial intelligence (AI) (such as models) to jointly perform source coding and channel coding, deeply fusing the two methods. The second method considers the channel state during source coding and / or the parameters of source coding during channel coding. For example, the code rate of channel coding can be adjusted based on the source coding conditions. The second implementation method can be implemented using specific algorithms.
[0100] The inverse process of JSCC is joint source-channel coding (JSCD), which allows information to be shared between source decoding and channel decoding to optimize overall decoding performance.
[0101] To facilitate understanding of the embodiments of this application, the basic AI concepts that may be involved in the embodiments of this application are explained, which do not limit the scope of protection of the embodiments of this application.
[0102] 11. Machine Learning (ML): Machine learning is an important technological approach to achieving AI. AI enables machines to possess human-like intelligence, applying computer hardware and software to simulate certain intelligent behaviors of humans, including machine learning or other methods. Machine learning refers to learning models or rules from raw data, such as neural networks, decision trees, and support vector machines.
[0103] 12. Machine learning can be divided into supervised learning, unsupervised learning, and reinforcement learning.
[0104] Supervised learning uses machine learning algorithms to learn the mapping relationship between sample values and sample labels based on collected sample values and labels, and then uses a model to express the learned mapping relationship. The process of training the model is the process of learning this mapping relationship.
[0105] Unsupervised learning relies solely on collected sample values, using algorithms to discover inherent patterns within the samples. One type of unsupervised learning algorithm uses the samples themselves as supervisory signals, meaning the model learns the mapping relationship from sample to sample; this is called self-supervised learning. During training, model parameters are optimized by calculating the error between the model's predictions and the samples.
[0106] Reinforcement learning, unlike supervised learning, is a type of algorithm that learns problem-solving strategies through interaction with the environment. Unlike supervised and unsupervised learning, reinforcement learning problems do not have explicit "correct" action labels. The algorithm needs to interact with the environment, obtain reward signals from the environment, and then adjust its decision actions to obtain larger reward signals. The goal of reinforcement learning is also to learn the mapping relationship between the environment state and the optimal decision action. However, because the label of the "correct action" cannot be obtained in advance, the network cannot be optimized by calculating the error between the action and the "correct action." Training in reinforcement learning is achieved through iterative interaction with the environment.
[0107] 13. A model can be considered an implementation of machine learning. The term "model" can also be referred to as a function, feature, function / or feature, AI model, or machine learning model, etc., without specific limitations on its name. A model refers to a function model that maps an input of a certain dimension to an output of a certain dimension, and its parameters can be obtained through machine learning training. For example, f(X) = aX 2 +b represents a quadratic function model, which can be viewed as an AI model. a and b correspond to the parameters of this model and can be obtained through machine learning training. Examples of such models include deep neural networks (DNNs). DNNs can be further divided into feed-forward neural networks (FNNs), convolutional neural networks (CNNs), and recurrent neural networks (RNNs). Neural networks, or artificial neural networks, are mathematical models that mimic the behavioral characteristics of animal neural networks, performing distributed parallel information processing; they are a special form of AI model.
[0108] 14. Model files and model parameters.
[0109] Model files and / or model parameters can be used to determine the model. Optionally, the model in the embodiments of this application may refer to the model itself, or it may refer to the model files and / or model parameters used to determine the model.
[0110] The model file can be used to indicate the model structure, which may include, but is not limited to, FNN, CNN, or RNN. The model file can have a fixed format, such as a standard predefined format, or a format pre-negotiated by both ends of the interface. Model parameters can refer to parameters in the neural network model, such as, but not limited to, the number of layers in the neural network, the type and weights of neurons in each layer, etc. This application does not limit the method of distributing model parameters.
[0111] Take DNN as an example. The idea behind DNN comes from the neuronal structure of the brain. Each neuron can perform a weighted summation operation on its inputs and then use the result of the weighted summation operation to generate the output through a non-linear function. For example, the input of a neuron is x = [x0, x1, ..., x...]. N-1 The weights corresponding to the inputs are w = [w0, w1, ..., w] N-1 The bias of the weighted summation is b. The nonlinear function f() can take many forms; for example, the nonlinear function f() can be the maximum value function max{0, x}. Then the effect of a neuron's execution is... Where N is a positive integer, and n is a positive integer greater than or equal to 0 and less than or equal to (N-1). The weights of the weighted summation operation of neurons in a neural network and the nonlinear function are called the parameters of the neural network. The parameters of all neurons in a neural network constitute the parameters of the neural network.
[0112] A DNN typically has multiple neural network layers, including an input layer, one or more hidden layers, and an output layer. Generally, the first layer is the input layer, the last layer is the output layer, and the layers in between are hidden layers. Each layer contains multiple neurons. Layers are fully connected; that is, any neuron in the i-th layer is connected to any neuron in the (i+1)-th layer. The input layer processes the received values (i.e., the DNN's input) through neurons and then passes them to the hidden layers. Similarly, the hidden layers pass the computation results to the final output layer, producing the DNN's output. The embodiments in this application do not limit the structure and parameters used in the AI model.
[0113] One of the model structure or model parameters can be predefined, while the other can be sent by the sender (e.g., the network side). Alternatively, both the model structure and model parameters can be sent by the sender (e.g., the network side). This application does not limit this aspect.
[0114] Sending a model can refer to sending a model file and / or model parameters, while receiving a model can refer to receiving a model file and / or model parameters.
[0115] 15. A protocol stack can be understood as a collection of network communication protocols (or simply protocols). A protocol stack may include at least one protocol layer, each with its own function and network communication protocol. Each protocol layer can be understood as an entity, software module (such as code or instructions), logic module (or unit), or hardware module in the device it resides in. For example, a protocol layer includes an application layer, which directly provides services to users and applications (APPs), is responsible for processing protocol implementations, and ensures that different applications can transmit data effectively and correctly. An application layer can be understood as an entity, logic module (or logic unit), or module that implements the protocol, such as a software module (specifically, software code and / or instructions) or hardware module. In the embodiments of this application, the application layer can also be replaced by an application.
[0116] 16. The cliff effect is the phenomenon where a signal suddenly and completely disappears when its strength decreases to a certain level. The ladder effect can be understood as a special type of cliff effect. The ladder effect refers to the sudden, phased loss of signal strength.
[0117] 17. Reference signal (RS): A signal used in data demodulation, etc. Examples of reference signals include demodulation reference signal (DMRS), sounding reference signal (SRS), channel state information-reference signal (CSI-RS), cell-specific reference signal (C-RS / CRS), or positioning reference signal (P-RS / PRS). DMRS may include, for example, DMRS for demodulation of the physical uplink control channel (PUCCH) (simply referred to as DMRS for PUCCH) and DMRS for demodulation of the physical uplink share channel (PUSCH) (simply referred to as DMRS for PUSCH). There are various types of reference signals, and as standards evolve, the names of reference signals may change, and more reference signals may emerge; therefore, no specific limitations are made.
[0118] 18. Channel measurement information is used to characterize the measurement results of the channel, including at least one of the following: channel signal strength, signal phase, channel gain, channel frequency response, channel impulse response, channel multipath delay, multipath angle, or multipath power. Channel signal strength includes, for example, a received signal strength indicator. Signal phase includes, for example, the phase of the subcarrier. Channel gain is, for example, the degree of signal attenuation on the channel. Channel frequency response describes the channel's behavior at different frequencies. Channel impulse response includes information such as delay. Channel multipath refers to the multiple paths that a wireless signal encounters during propagation due to obstacles, reflections, refractions, etc., resulting in the signal traveling from the transmitter to the receiver. Signals on these multiple paths arrive at the receiver at different times and phases. This means that the signal does not propagate through a single path but reaches the receiver through multiple paths; this phenomenon is called the multipath effect. Multipath delay refers to at least one of the following: the delay of each path in the channel's multipath, the sum of the delays of all paths, or the average of the delays of all paths.
[0119] In this application embodiment, the number of nouns, unless otherwise specified, refers to "singular nouns or plural nouns," that is, "one or more." "At least one" means one or more, and "more than one" means two or more. "And / or" describes the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can mean: A exists alone, A and B exist simultaneously, or B exists alone, where A and B can be singular or plural. The character " / " generally indicates that the related objects before and after are in an "or" relationship. For example, A / B means: A or B. "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 means: a, b, c, a and b, a and c, b and c, or a and b and c, where a, b, and c can be single or multiple.
[0120] In the embodiments of this application, the words "exemplarily," "for example," and "for instance" are used to indicate examples, illustrations, or descriptions. Any embodiment or design scheme described as an "example" in this application should not be construed as being more preferred or advantageous than other embodiments or design schemes. Specifically, the use of the word "example" is intended to present concepts in a concrete manner. In the embodiments of this application, "of," "corresponding, relevant," and "corresponding" may sometimes be used interchangeably, and it should be noted that their intended meanings are consistent unless their distinction is emphasized.
[0121] In this application embodiment, "instruction" can include direct instruction, indirect instruction, explicit instruction, and implicit instruction. When describing a certain instruction information to indicate A, it can be understood that the instruction information carries A, directly indicates A, or indirectly indicates A. In this application, the information indicated by the instruction information is called the information to be instructed. In the specific implementation process, there are many ways to indicate the information to be instructed, such as, but not limited to, directly indicating the information to be instructed, such as the information to be instructed itself or its index. It can also indirectly indicate the information to be instructed by indicating other information, wherein there is an association between the other information and the information to be instructed. It can also indicate only a part of the information to be instructed, while the other parts of the information to be instructed are known or agreed upon in advance. For example, the instruction of specific information can also be achieved by using the arrangement order of various information in advance (e.g., protocol stipulation), thereby reducing the instruction overhead to a certain extent. In addition, the information to be instructed can be sent as a whole or divided into multiple sub-information to be sent separately, and the sending period and / or sending time of these sub-information can be the same or different.
[0122] In the embodiments of this application, "send" and "receive" indicate the direction of signal transmission. For example, "send information to XX" can be understood as the destination of the information being XX, which may include direct transmission via the air interface or indirect transmission by other units or modules via the air interface. "Receive information from YY" can be understood as the source of the information being YY, which may include direct reception from YY via the air interface or indirect reception from YY by other units or modules via the air interface. "Send" can also be understood as the "output" of the chip interface, and "receive" can also be understood as the "input" of the chip interface. In other words, sending and receiving can occur between devices, such as between network devices and terminal devices, or within a device, such as between components, modules, chips, software modules, or hardware modules within the device via a bus, wiring, or interface.
[0123] The following describes the communication system (or communication network, network, or system, etc.) used in the embodiments of this application.
[0124] The solutions provided in this application can be applied to various communication systems, such as 4th generation (4G) mobile communication systems (e.g., Long Term Evolution (LTE) networks), 5th generation (5G) mobile communication systems (e.g., New Radio (NR) systems), future mobile communication systems, non-terrestrial networks (NTN) systems, integrated systems of one or more of the above communication systems, or other communication systems. NTN, for example, is a satellite communication system. An integrated system could be a system that combines a satellite communication system with other communication systems.
[0125] Figure 1 illustrates a schematic diagram of a communication system applicable to an embodiment of this application. As shown in Figure 1, the communication system 1000 includes an access network (AN) 100. Optionally, the communication system may also include a core network (CN) 200 and an Internet 300. The access network 100 may include at least one network device (or network equipment, or network-side equipment), as shown in Figure 1 (110a and 110b). 110a is a base station, and 110b is a micro-station. The communication system 1000 may also include at least one terminal device (or terminal equipment), as shown in Figure 1 (120a to 120j). 120a, 120e, 120f, and 120j are mobile phones, 120b is a car, 120c is a gas pump, 120d is a home access point (HAP) deployed indoors or outdoors, 120g is a laptop computer, 120h is a printer, and 120i is a drone. The same terminal device or the same network device can provide different functions in different application scenarios. For example, the mobile phones in Figure 1 include 120a, 120e, 120f, and 120j. Mobile phone 120a can access base station 110a, connect to car 120b, communicate directly with mobile phone 120e, and access the HAP. Car 120b can access the HAP and communicate directly with mobile phone 120a. Mobile phone 120f can be connected to micro-station 110b, connect to laptop 120g, and connect to printer 120h. Mobile phone 120j can control drone 120i. The devices in the various embodiments of this application can also be replaced or understood as equipment, modules, entities, or nodes in equipment, etc., and are not limited thereto.
[0126] For example, a terminal device can access the Internet 300 through access network 100 and core network 200, thereby using the services provided by the Internet 300. For instance, the Internet 300 may have one or more application servers (AS), and the terminal device can access one or more application servers through an application (APP). The content of the terminal device and network device can be referred to the content of the terminal device and network device discussed above, and will not be listed here.
[0127] Network devices and terminal devices can be fixed in location 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 in the air on aircraft, balloons, and satellites. The embodiments of this application do not limit the application scenarios of the network devices and terminal devices.
[0128] The roles of network devices and terminal devices can be relative. For example, the helicopter or drone 120i in Figure 1 can be configured as a mobile network device. For terminal devices 120j that access the wireless access network 100 via 120i, terminal device 120i is a network device; however, for network device 110a, 120i is a terminal device. That is, 110a and 120i communicate via a wireless air interface protocol. Of course, 110a and 120i can also communicate via a network device-to-network device interface protocol. In this case, relative to 110a, 120i is also a network device. Therefore, both network devices and terminal devices can be collectively referred to as communication devices. 110a and 110b in Figure 1 can be called communication devices with network device functions, and 120a-120j in Figure 1 can be called communication devices with terminal device functions.
[0129] A terminal device can send data (or information) to a network device. Similarly, a network device can also send data to a terminal device. The data mentioned in the various embodiments of this application can also be replaced with information. Before sending data, the device generally needs to encode the data, which includes source coding and channel coding sequentially. The concepts of source coding and channel coding are introduced below.
[0130] The following section uses a terminal device as an example to introduce the encoding process of a terminal device.
[0131] Figure 2 illustrates a schematic diagram of an encoding process. The application layer of the terminal device can perform source coding on the data. Furthermore, the modem of the terminal device can perform channel coding on the source-coded data to obtain the encoded data, and then transmit the encoded data.
[0132] As shown in Figure 2, the application layer of the terminal device can acquire data x, convert data x into another encoded form to obtain data y. The application layer quantizes data y to obtain data y'. The application layer performs entropy coding on data y' to obtain data z, thus realizing the source coding process. Furthermore, the modem in the terminal device can perform channel coding on data z to obtain data c. The purpose of channel coding is to ensure that the communication signal does not suffer distortion or errors during channel transmission.
[0133] Source coding reduces data redundancy, while channel coding increases it; they are essentially two opposite directions. Furthermore, the source coding process performed by the application layer of the terminal device is independent of the channel coding process performed by the modem, which can easily lead to a cliff effect.
[0134] Figure 3 illustrates a cliff effect. The horizontal axis in Figure 3 represents the SNR, and the vertical axis represents the peak signal-to-noise ratio (PSNR) of the decoded video. As shown in Figure 3, a noticeable cliff point appears when the terminal device performs independent source coding and channel coding on single-layer video. When the terminal device performs independent source coding and channel coding on multi-layer video, a noticeable step point appears, i.e., a step effect occurs, which can be understood as a special type of cliff effect. Single-layer video refers to video content encoded with only one instruction and resolution. Multi-layer video refers to video content encoded with different qualities and resolutions.
[0135] To address this, a JSCC (Joint Source-Channel Coding) method is proposed. The content of JSCC can be found in the previous discussion of JSCC, and will not be repeated here. Continuing as shown in Figure 3, when joint source-channel coding is performed on terminal device video (such as single-layer or multi-layer video), the cliff effect is essentially eliminated.
[0136] To enhance data security, some application layers process data according to the encoding process illustrated in Figure 4. Compared to the encoding process shown in Figure 2, the process in Figure 4 encrypts the data z obtained from entropy encoding, for example, by applying Transport Layer Security (TLS) protocol to the Hypertext Transfer Protocol Secure (HTTP) layer. This ensures data security. However, the encrypted information z' has a high entropy rate and lacks redundancy, making it impossible to leverage the redundancy of the information source in conjunction with channel coding to improve performance. Entropy rate can be used to describe the average information content of the information source (or data), or as a measure of the uncertainty of the information source.
[0137] In view of this, embodiments of this application provide a communication method in which data from the application layer can be decrypted and / or entropy decoded, thereby reducing the entropy rate of the data and increasing data redundancy, so that the modem can consider jointly performing source coding and channel coding on the data.
[0138] The communication system (or scenario) provided in the embodiments of this application is described below. Please refer to Figure 5, which is a schematic diagram of a communication system provided in the embodiments of this application. As shown in Figure 5, the communication system includes a first device and a second device. Optionally, the communication system further includes a third device and / or a fourth device. Any one of the first to fourth devices is a device with communication capabilities. The devices involved in the embodiments of this application can be understood as equipment, software modules or hardware modules in equipment, or logical concepts, etc. The device can also be replaced by equipment, entity, network element, or node, etc., and the name is not specifically limited.
[0139] For example, the first device and the second device can transmit data to each other. Optionally, the first device can directly interact with the second device. Alternatively, the first device can interact with the second device sequentially through a third device and a fourth device. The first device can act as a data sender, the second device can act as a data receiver, and the third and fourth devices can act as intermediate nodes for data transmission.
[0140] In one possible implementation, FIG6 illustrates a communication system provided in an embodiment of this application. FIG6 can be specifically understood as one implementation of the communication system shown in FIG5.
[0141] Figure 6 illustrates a communication system comprising a terminal device, an access network device, an application server, and a user plane device. The terminal device shown in Figure 6 represents one example of the first type of device, the application server represents one example of the second type, the access network device represents one example of the third type, and the user plane device represents one example of the fourth type. In this configuration, the terminal device acts as the data sender, and the application server acts as the data receiver. The access network device can also be referred to as an access network equipment or access network element, and the user plane device can also be referred to as a user plane network element, etc.
[0142] The contents of terminal devices and access network devices can be referred to in the previous sections on terminal devices and access network devices, respectively, and will not be listed here. User plane devices, also known as user plane entities or user plane network elements, are used to implement relay functions, such as UPFs. User plane devices are responsible for forwarding and receiving data in terminal devices. They can receive user data from the data network and transmit it to the terminal device through access network equipment. User plane devices can also receive user data from the terminal device through access network devices and forward it to the data network, such as an application server. An application server can be a server deployed in a data network on the Internet.
[0143] In one possible implementation, FIG7 illustrates a communication system provided in an embodiment of this application. FIG7 can be specifically understood as one implementation of the communication system shown in FIG5.
[0144] Figure 7 illustrates a communication system comprising a terminal device, an access network device, an application server, and a user plane device. The application server shown in Figure 7 can be considered an example of a first device, the terminal device an example of a second device, the access network device an example of a third device, and the user plane device an example of a fourth device. In this case, the application server can have a relay function. Relay refers to the function of relaying data and processing data.
[0145] Alternatively, the user plane device can be an example of a first device, the terminal device an example of a second device, and another user plane device an example of a third device. In this case, the application server may not have relay functionality.
[0146] In this scenario, the application server acts as the data sender, and the terminal device acts as the data receiver. The details of the application server, terminal device, access network device, and user plane device can be found in the preceding sections.
[0147] Figure 8 illustrates the protocol stack of a device in a communication system provided in an embodiment of this application. Figure 8 illustrates a terminal device, an access network device, a user plane device, and an application server. Figure 8 can serve as a schematic diagram of the protocol stack of each device in the communication system shown in Figure 6 or Figure 7.
[0148] As shown in Figure 8, the terminal device includes an application layer, a protocol data unit (PDU) layer, and a wireless transmission protocol stack. The contents of the protocol stack can be referred to the protocol stack discussed above, and will not be listed here.
[0149] The content of the application layer can be referred to in the previous discussion of the application layer, and will not be listed here again. The PDU layer refers to the protocol layer that uses PDUs to transmit data. A PDU can be understood as the smallest data unit transmitted in different layers of protocols, used to transmit data in the network. The size and result of a PDU depend on the requirements of the protocol used. The PDU layer may include at least one protocol layer in the network protocol stack other than the application layer. The network protocol stack may be, for example, the Open Systems Interconnection (OSI) protocol stack. For example, the network protocol stack includes the application layer, transport layer, network layer, link layer (or data link layer), and application layer. Optionally, the network protocol stack may also include the session layer, presentation layer, and physical layer (PHY), etc. In another possible design, the application layer may not be part of the network protocol stack. Optionally, the PDU layer of the terminal device may be deployed in the operating system of the terminal device.
[0150] The transport layer's main functions include establishing, maintaining, and terminating sessions. Transport layer protocols, such as Transmission Control Protocol (TCP) and User Datagram Protocol (UDP), provide different services. TCP provides reliable, connection-oriented service, while UDP provides unreliable, connectionless service. The network layer is responsible for transmitting data packets between different networks, such as handling packet routing, i.e., determining the best path for data packets from source to destination. The link layer's main functions include frame synchronization, error control, flow control, and physical addressing. The session layer is used for establishing, managing, and terminating sessions. The presentation layer is responsible for data representation, encoding, and conversion. The physical layer defines the transmission medium within the device; physical layer components include network interface cards (NICs) and / or virtual NICs.
[0151] The wireless transmission protocol stack can be, for example, a 3GPP protocol stack. The wireless transmission protocol stack of a terminal device can be deployed within the terminal device's modem. The wireless transmission protocol stack includes the Service Data Adaptation Protocol (SDAP) layer, the Packet Data Convergence Protocol (PDCP) layer, the Radio Link Control (RLC) layer, the Media Access Control (MAC) layer, and the physical layer.
[0152] The SDAP layer is responsible for mapping between Quality of Service (QoS) flows and radio bearers, adding QoS flow identifiers (QFI) to data packets. The PDCP layer ensures secure, reliable, and efficient packet data transmission, including functions such as compression, encryption, and integrity protection. The RLC layer is responsible for data segmentation and reassembly, error detection and correction, and data retransmission. The MAC layer is responsible for mapping between logical and transport channels, data multiplexing and demultiplexing, reporting scheduling information, error correction (HARQ), inter-user priority management, logical channel priority management, and data padding. The PHY layer provides the actual wireless signal transmission, including modulation, demodulation, signal coding, and signal transmission.
[0153] The access network device includes a wireless transmission protocol stack, a General Packet Radio Service Tunneling Protocol (GTP) user layer (GTP-U), an Internet Protocol (IP) layer, and layers L2 and L1. GTP-U is used for data transmission. Layer 1 includes, for example, the physical layer, and layer 2 includes, for example, the MAC layer.
[0154] User plane devices (such as UPF) that communicate with access network devices include GTP-U layer, UDP / IP layer, L2 and L1. User plane devices (such as UPF) that communicate with this user plane device include PDU layer, GTP-U layer, UDP / IP layer, L2 and L1.
[0155] An application server may include an application layer. Optionally, if the application server also has relay functionality, it may also include a PDU layer, L2, and L1. Optionally, if the application server has Network Address Translation (NAT) functionality, it may also include a GTP-U layer, UDP / IP layer, etc. Alternatively, if NAT is implemented by other relay devices, these other relay devices may include a GTP-U layer, UDP / IP layer, L2, and L1, etc.
[0156] For example, when a terminal device sends data to an application server, the terminal device can process the data sequentially through the application layer, transport layer, network layer, link layer, and wireless transmission protocol stack, and then transmit the processed data sequentially through the access network device and the user plane device to the application server. Similarly, the application server can transmit data to the terminal device sequentially through the user plane device and the access network device.
[0157] In one possible implementation, the aforementioned wireless transmission protocol stack can also be replaced with a fixed access transmission protocol stack. For example, when the terminal device and the access network device transmit via Ethernet, the wireless transmission protocol stack in the terminal device and the access network device can be replaced with a fixed access transmission protocol stack.
[0158] In addition, Figure 8 provides examples of the protocol stacks of various devices. In reality, there may be multiple protocol stacks for each device, and the aforementioned devices may also include more protocol stacks or protocol layers. Furthermore, there may be multiple names for these protocol stacks and protocol layers, which are not limited here.
[0159] Figure 9 illustrates a schematic diagram of the protocol stack deployment of the terminal device provided in an embodiment of this application. As shown in Figure 9, the terminal device includes an application layer, an operating system, and a modem. The operating system deploys the PDU layer. The modem may deploy a wireless transmission protocol stack, including, for example, SDAP layer, PDCP layer, RLC layer, MAC layer, and PHY layer.
[0160] The communication system and business scenarios described in this application are intended to more clearly illustrate the technical solutions of the embodiments of this application, and do not constitute a limitation on the technical solutions provided in the embodiments of this application. As those skilled in the art will know, with the evolution of network architecture and the emergence of new business scenarios, the technical solutions provided in the embodiments of this application are also applicable to similar technical problems.
[0161] The method provided by the embodiments of this application is described below with reference to the accompanying drawings. In the accompanying drawings corresponding to the various embodiments of this application, all steps indicated by dashed lines are optional steps. Furthermore, the first device involved in the embodiments of this application may be, for example, the terminal device involved in FIG1, the first device involved in FIG5, the terminal device involved in FIG6, the application server involved in FIG7, the user plane device involved in FIG7, the terminal device involved in FIG8, the user plane device involved in FIG8, or the terminal device involved in FIG9, etc.; the second device may be, for example, the application server involved in FIG1, the second device involved in FIG5, the application server involved in FIG6, the terminal device involved in FIG7, or the application server involved in FIG8; the third device may be, for example, the access network device involved in FIG1, the access network device involved in FIG6, the user plane device involved in FIG7, or the access network device involved in FIG8; and the fourth device may be, for example, the core network device involved in FIG1, the user plane device involved in FIG6, the access network device involved in FIG7, or the user plane device involved in FIG8, etc. The names of the devices involved here may also be various, and there is no limitation thereto. Furthermore, if the technical solutions provided in the various embodiments of this application are applied to other communication systems or as standards continue to evolve, the names and / or functions of the devices or network elements may change, but this is not a limitation.
[0162] The communication method provided by the embodiments of this application will be described below with reference to the accompanying drawings. Figure 10 illustrates the communication method provided by the embodiments of this application, and the steps involved in Figure 10 will be described below.
[0163] S1001, The first device receives the first data from the application layer.
[0164] For example, the fifth device determines that data D needs to be transmitted, meaning data D refers to the data to be transmitted. The form of data D can be at least one of text, image, video, or audio, and is not limited thereto. The application layer of the fifth device can perform source encoding on data D to obtain first data. The fifth device and the first device can be the same device or different devices, and are not limited thereto. For example, the fifth device may be an application server and the first device may be a UPF, or the fifth device may be an application server and the first device may be another relay device, etc. Alternatively, both the fifth device and the first device may be terminal devices. Or, both the fifth device and the first device may be application servers.
[0165] The following example illustrates how the application layer of the fifth device performs source encoding on data D to obtain the first data.
[0166] In method A1, the application layer of the fifth device can sequentially perform entropy encoding and encryption processing (or operations) on data D to obtain the first data. The content of entropy encoding can be referred to in the previous discussion of entropy encoding, and will not be listed here again. When encrypting the entropy-encoded data D, the application layer of the fifth device can encrypt data D based on the third key.
[0167] Optionally, the third key may be negotiated and determined by the fifth device and the second device, or obtained by the fifth device from the second device. For example, the fifth device and the second device complete the negotiation of the third key during a handshake process, such as the three-way handshake interaction corresponding to the establishment of a TCP / IP connection, or the handshake in the process of UDP connection, which is not limited. When the fifth device is the same as the first device, the third key may be negotiated and determined by the second device and the first device.
[0168] In mode A1, optionally, before entropy encoding the data D, the fifth device may perform conversion processing, quantization processing, or sequential conversion and quantization processing on the data D. The content of the conversion and quantization processing can be referred to the conversion and quantization content discussed above, and will not be listed here.
[0169] Method A2: The application layer of the fifth device can sequentially encrypt and entropy encode data D to obtain the first data.
[0170] The content of entropy coding can refer to the entropy coding discussed earlier, and will not be listed here again. The application layer of the fifth device can also encrypt data D based on the third key. Optionally, the content of the third key and the content of obtaining the third key can refer to the content of the third key and the content of obtaining the third key discussed earlier, and will not be listed here again.
[0171] In mode A2, optionally, before encrypting data D, the fifth device may perform conversion processing, quantization processing, or sequential conversion and quantization processing on data D. The content of conversion and quantization processing can be referred to the conversion and quantization content discussed above, and will not be listed here.
[0172] In one possible implementation, under mode A2, the application layer of the fifth device can send first information to the first device (such as the first module of the first device). The first information instructs the application layer of the fifth device to perform encryption and entropy encoding processing on the data sequentially, or in other words, it indicates the order of data processing: encryption processing followed by entropy encoding processing. The application layer of the fifth device can send the first information after obtaining the first data, or it can send the first information before processing the data D. The timing of the application layer of the fifth device sending the first information is not limited.
[0173] Optionally, the first information may carry a first identifier (or index) used to instruct the application layer of the fifth device to perform encryption and entropy encoding processing on the data sequentially. Alternatively, if the first information includes a first field, the first field instructs the application layer of the fifth device to perform encryption and entropy encoding processing on the data sequentially; if the first information does not include a first field, it instructs the application layer of the fifth device to perform entropy encoding and encryption processing on the data sequentially, that is, it indicates that the order of data processing is entropy encoding processing first and then encryption processing.
[0174] Optionally, the order in which the application layer of the fifth device performs encryption and entropy encoding on the data can be determined by the application layer of the fifth device itself, or it can be determined based on the request of the first device.
[0175] For example, the application layer of the fifth device receives second information from the first module of the first device. The second information requests that data be sequentially encrypted and entropy encoded. Thus, the application layer of the fifth device, based on the second information, processes data D according to method A2 described above. In other words, after receiving the second information, the application layer of the fifth device can determine whether to sequentially encrypt and entropy encode the data before sending the first information to the first module of the first device.
[0176] In another possible implementation, the first module of the first device sends the second information to the application layer of the fifth device. The application layer of the fifth device may not need to send the first information to the first module of the first device.
[0177] In another possible implementation, the order in which the application layer of the fifth device processes data can be predefined or default according to the protocol. In this case, the application layer of the fifth device and the first module of the first device do not need to transmit the first information and / or the second information, thereby reducing the number of interactions.
[0178] The following is an example illustrating the implementation of the first module mentioned above.
[0179] In the first implementation method, the first module is the protocol layer in the first device.
[0180] For example, the first module may be one or more protocol layers in the first device other than the application layer. For example, the first module may include a first protocol layer or a second protocol layer. The first protocol layer and the second protocol layer are different. The first protocol layer may be, for example, one or more protocol layers in the network protocol stack of the first device other than the application layer, and the second protocol layer may be, for example, one or more protocol layers in the wireless transmission protocol stack of the first device. Since the first device may differ, the implementation of the first or second protocol layer may also differ, as illustrated below.
[0181] Scenario B1: The first device is a terminal device, and the first protocol layer is, for example, the PDU layer of the terminal device. If the fifth device is also a terminal device, then the application layer of the terminal device can directly transmit the first data to the PDU layer of the terminal device.
[0182] In scenario B2, the first device is a terminal device, and the second protocol layer is, for example, the terminal device's SDAP layer, PDCP layer, RLC layer, MAC layer, or PHY layer. If the fifth device is also a terminal device, then the terminal device's application layer transmits the first data to the terminal device's second protocol layer through the terminal device's network protocol stack (or PDU layer).
[0183] Scenario B3: The first device is an application server, and the first protocol layer is, for example, the PDU layer of the terminal device. If the fifth device is also an application server, then the application layer of the terminal device can directly transmit the first data to the PDU layer of the terminal device.
[0184] In scenario B4, if the first device is an application server, then the second protocol layer is, for example, L2 or L1 in the application server. If the fifth device is also an application server, then the application layer of the terminal device can transmit the first data to the second protocol layer through the network protocol stack of the terminal device (such as the PDU layer).
[0185] In the second implementation, the first module is either the protocol stack containing the first protocol layer or the protocol stack containing the second protocol layer. For example, the first module could be a network protocol stack or a wireless transmission protocol stack.
[0186] The third implementation method involves the first module being a module (which could be a software module or a hardware module) or entity capable of implementing the functions of the first or second protocol layer. For example, the first module could be an operating system or a modem.
[0187] The above are examples of how the first module can be implemented. In fact, there are many other ways to implement the first module, and no specific limitation is made here.
[0188] Optionally, the encryption process involved in method A2 may or may not affect the entropy rate of the data; no specific limitation is made in this regard.
[0189] Optionally, the application layer of the fifth device may also entropy encode or encrypt the data D to obtain the first data, which is not limited.
[0190] After the application layer of the fifth device obtains the first data, it can send the first data to the first module in the first device. S1001 can be alternatively described as the first module of the first device receiving (or acquiring) the first data from the application layer of the fifth device. If the first device and the fifth device are the same device, then the application layer of the first device will pass the first data to the first module of the first device. If the first device and the fifth device are different devices, then the application layer of the fifth device can send the first data to the first module of the first device via wireless or wired means.
[0191] S1002, The first device sends the second data.
[0192] For example, the second data is the third data after semantic feature extraction and channel coding. The third data is the data after processing the first data (for ease of distinction, this processing will be referred to as the first processing below), and the processing (i.e., the first processing) includes one of the following: decryption, entropy decoding, sequential decryption and entropy decoding, or sequential entropy decoding and decryption.
[0193] Since the first data is obtained through entropy encoding and encryption at the application layer, its entropy rate is relatively high. To reduce the entropy rate of the first data, the first device can perform first processing such as decryption and / or entropy decoding on the first data. If the first module of the first device receives the first data from the application layer of the fifth device, then the first module can process the first data. This first processing can be understood as processing to reduce the entropy rate. In this way, the entropy rate of the third data is lower than that of the first data.
[0194] The following describes the implementation method for processing the first data to obtain the third data.
[0195] In implementation C1, the first module of the first device sequentially decrypts and performs entropy decoding on the first data to obtain the third data. The implementation of the first module can be referred to the content of the first module discussed above, and will not be listed here again. In implementation C1, the first process sequentially includes decryption and entropy decoding.
[0196] The first module can use the first key to decrypt the first data. The first key and the third key are the same; for example, if the application layer of the fifth device uses a symmetric encryption algorithm to process the first data, then the first key and the third key can be the same key corresponding to the symmetric encryption algorithm. The first key and the third key are different; for example, if the application layer of the fifth device uses an asymmetric encryption algorithm to process the first data, then the first key and the third key can be different. Specifically, the first key could be a private key, and the third key could be a public key.
[0197] Optionally, the first key may be predefined by the protocol, pre-stored in the first module, determined through negotiation between the first module and the application layer of the fifth device, or obtained by the first module from the application layer of the fifth device.
[0198] For example, the first module sends a key request to the application layer of the fifth device, the key request being used to request a first key. The application layer of the fifth device can then send a key response to the first module, the key response indicating the first key. Thus, it is equivalent to the first module obtaining the first key from the application layer of the fifth device.
[0199] After the first module decrypts the first data based on the first key, it can perform entropy decoding on the decrypted first data. Optionally, the first module can perform entropy decoding on the decrypted first data based on the parameters of the entropy decoding. The parameters of the entropy decoding can be predefined by the protocol, pre-stored in the first module, obtained by the first module from the application layer of the fifth device, determined through negotiation between the first module and the fifth device, or carried in the header of the packet corresponding to the first data; there is no limitation on this.
[0200] Implementation method C1 can be applied to the case where the application layer of the fifth device obtains the first data using the above method A1, that is, it can be applied to the case where the application layer of the fifth device sequentially performs entropy encoding and encryption on the data D to obtain the first data.
[0201] In implementation C2, the first module of the first device sequentially performs entropy decoding and decryption on the first data to obtain the third data. In implementation C2, the first process includes sequentially performing entropy decoding and decryption.
[0202] The first module of the first device can use the first key to decrypt the first data. The content of the first key and the content of the first module obtaining the first key can be referred to the previous discussion of the content of the first key and the content of the first module obtaining the first key, respectively, and will not be listed here.
[0203] Implementation method C2 can be applied to the case where the application layer of the fifth device obtains the first data using the above method A1, that is, it can be applied to the case where the application layer of the fifth device obtains the first data by sequentially encrypting and entropy encoding the data D.
[0204] In implementation method C3, the first module of the first device decrypts the first data to obtain the third data.
[0205] The first module of the first device can use the first key to decrypt the first data. The content of the first key and the content of the first module obtaining the first key can be referred to the previous discussion of the content of the first key and the content of the first module obtaining the first key, respectively, and will not be listed here.
[0206] Implementation method C3 can be applied to the case where the application layer of the fifth device encrypts data D to obtain the first data, or it can be applied to the case where the application layer of the fifth device obtains the first data using the above method A1, that is, it can be applied to the case where the application layer of the fifth device sequentially performs entropy encoding and encryption on data D to obtain the first data.
[0207] In implementation method C4, the first module of the first device performs entropy decoding on the first data to obtain the third data.
[0208] The entropy decoding of the first data by the first module of the first device can be referred to in the previous discussion of the entropy decoding of the first data by the first module of the first device, and will not be listed here again.
[0209] Implementation method C4 can be applied to the case where the application layer of the fifth device performs entropy encoding on data D to obtain the first data, or it can be applied to the case where the application layer of the fifth device obtains the first data using the above method A2, that is, it can be applied to the case where the application layer of the fifth device sequentially encrypts and entropy encodes data D to obtain the first data.
[0210] The third data involved in any of the above embodiments C1 to C4 may be plaintext data or ciphertext data obtained by the first module of the first device through encryption based on the second key.
[0211] For example, the first module sequentially performs entropy encoding and / or decryption, and encryption on the first data to obtain the third data. The encryption key can be a second key. The second key and the third key can be the same or different; this is not limited.
[0212] Optionally, the second key may be predefined by the protocol, pre-stored in the first module, or obtained by the first module from the user plane device, for example, determined by the first module in negotiation (such as UPF) with the user plane device, or sent by the user plane device to the first module.
[0213] After the first module obtains the third data, the first device can determine the second data based on the third data. The method of obtaining the second data is described below.
[0214] D1. The first device can compress the third data based on the first compression parameters to determine the fourth data, and perform channel coding on the fourth data to determine the second data. Compression can be used as a method for semantic feature extraction. The determination of the fourth data and the second data can be performed by different modules in the first device, which will be described below in two cases, D1-1 or D1-2.
[0215] D1-1. The first module of the first device can compress the third data based on the first compression parameters to determine the fourth data. And the second module performs channel coding on the fourth data to obtain the second data.
[0216] The first compression parameter can be determined by a first device (such as a modem or one or more protocol layers in a wireless transmission protocol stack) based on channel measurement information. For example, the first device measures a reference signal from a second device to obtain channel measurement information. This channel can be, for example, a communication channel between the first and second devices, or more specifically, a channel between the first and third devices. The content of the reference signal can refer to the reference signal content discussed above, and will not be listed here.
[0217] For example, the channel measurement information includes SNR, and the first compression parameter includes compression ratio and source code rate, etc. The first module of the first device can determine the first compression parameter based on SNR. For example, the larger the SNR, the larger the compression ratio corresponding to the first compression parameter, that is, more source code is compressed into the data, and the lower the code rate. Conversely, the smaller the SNR, the smaller the compression ratio corresponding to the first compression parameter, that is, less data is compressed, and the source code rate is high.
[0218] If the second module is a wireless transmission protocol stack, a modem, or a protocol layer of a wireless transmission protocol stack, then the second module can determine the first compression parameters itself. If the second module is a network protocol stack, an operating system, or a protocol layer of a network protocol stack, then the second module can obtain the first compression parameters from the modem or wireless transmission protocol stack of the first device.
[0219] Optional, the first compression parameter may include, for example, SNR and / or source code rate.
[0220] D1-2. The second module of the first device can compress the third data based on the first compression parameters to determine the fourth data, and perform channel coding on the fourth data to obtain the second data. The content of the channel coding can refer to the channel coding discussed above, and will not be listed here. The content of the first compression parameters can refer to the first compression parameters discussed in D1, and will not be listed here.
[0221] The implementation of the second module can refer to that of the first module; repeated implementations will not be listed here. The first and second modules can be the same or different. For example, both the first and second modules can be wireless transmission protocol stacks, PDU layers, network protocol stacks, operating systems, transport layers, network layers, or PDCP layers, etc., without limitation. Another example is that the first module is a network protocol stack, and the second module is a wireless transmission protocol stack. Or, the first module is a PDU layer, and the second module is a PHY layer, etc. Yet another example is that the first module is an operating system, and the second module is a modem. And yet another example is that the first module is a first protocol layer, and the second module is a second protocol layer.
[0222] Since the first compression parameter is determined based on the channel measurement information, it is equivalent to performing source coding combined with the channel information. Therefore, methods D1-1 and D1-2 are equivalent to performing joint source-channel coding (JSCC) on the third data.
[0223] D2. The first device can extract a portion of the third data, determine the fourth data, and perform channel coding on the fourth data to obtain the second data. Extracting a portion of the third data can be used as an implementation method for semantic feature extraction. Determining the fourth data and the second data can be performed by different modules in the first device, which will be described below in two cases, D2-1 or D2-2.
[0224] D2-1. The first module can extract a portion of the third data to determine the fourth data, and the second module performs channel coding on the fourth data to obtain the second data. Extracting a portion of the third data can include extracting key data or feature data. Optionally, the parameters for extracting the portion of the third data can also be determined based on channel measurement information.
[0225] D2-2. The second module can extract part of the third data, determine the fourth data, and perform channel coding on the fourth data to obtain the second data.
[0226] D3. The second module directly utilizes the JSCC algorithm or AI (such as a model) to perform JSCC on the third data, thereby obtaining the second data. The content of JSCC can be referred to the previous discussion and will not be listed here again. Regarding AI and models, please refer to the previous discussions of AI and models separately; repeated points will not be listed. Optionally, the model can be pre-stored in the first device, predefined through a protocol, or obtained by the first device from other devices (such as the second or third device). Optionally, the parameters of the model can be pre-stored in the first device, predefined through a protocol, determined by the first device itself, or obtained by the first device from other devices (such as the second or third device); there are no limitations on this.
[0227] After the second module obtains the second data, the first device can send the second data. The processing of the second data will differ depending on the receiving device; the following section will describe two possible designs: E1 and E2.
[0228] Possible design E1: The first device can send second data to the second device. Correspondingly, the second device receives the second data from the first device. In this case, the second device can receive the second data and decode it to obtain a decoding result. The decoding result can be data D or data corresponding to data D. The data corresponding to data D may not be data D itself, but it is data obtained based on data D.
[0229] The application layer of the fifth device processes data D differently, and the first device processes data differently. Therefore, the content of the decoding result obtained by the second device in processing the second data will also be different. An example is given below.
[0230] F1. The application layer of the fifth device processes data D using the above-described method A1 or A2 to obtain first data. The first device processes the first data using the above-described first implementation method C1 to obtain third data. The first device processes the third data using the method shown in the above-described method D1 to obtain second data.
[0231] In F1 mode, the second device receives the third data and can sequentially perform channel decoding and decompression on the third data to obtain the decoding result, such as data D.
[0232] F2. The application layer of the fifth device processes data D using the above-described method A1 or A2 to obtain first data. The first device processes the first data using the above-described first implementation method C1 to obtain third data. The first device processes the third data using the method shown in D2 to obtain second data.
[0233] In F2 mode, the second device receives the third data and can sequentially perform channel decoding and de-extraction processing on the third data to obtain the decoding result.
[0234] F3. The application layer of the fifth device processes data D using the above-described method A1 or A2 to obtain first data. The first device processes the first data using the above-described first implementation method C1 to obtain third data. The first device processes the third data using the method shown in D3 to obtain second data.
[0235] In F3 mode, the second device receives the third data and can sequentially perform JSCC decoding on the third data to obtain the decoding result.
[0236] In a possible design E2, the first device sends second data to the third device. Correspondingly, the third device receives the second data from the first device.
[0237] For example, the third device can process the second data, and the parameters of this processing can be referenced to the parameters corresponding to the processing performed by the second module in the first device. This processing can be regarded as the inverse processing of the processing performed by the second module, thereby obtaining the ninth data. The ninth data may be the same as or different from the third data, which is not limited thereto. The following description is based on G1 to G3.
[0238] G1. The second data is obtained by the first device using the method described in D1 above. Then the third device can sequentially perform channel decoding and decompression on the second data to obtain the ninth data.
[0239] G2. The second data is obtained by the first device using the method described in D2 above. Then the third device can perform channel decoding and de-extraction processing on the second data to obtain the ninth data.
[0240] G3. The second data is obtained by the first device using the method described in D3 above. Then, the third device can sequentially perform joint source-channel decoding, entropy coding, and encryption on the second data to obtain the ninth data. The encryption key is the first key. The third device can obtain the first key through negotiation with the first device, from the second device, or by pre-storing the first key; there are no limitations on this.
[0241] The above is an example of how the third device obtains the ninth data. In fact, there are many other ways for the third device to obtain the ninth data, which are not limited here.
[0242] Optionally, the third device can send tenth data to the second device, which then decodes the tenth data to obtain a decoding result. The content of this decoding result can refer to the content of the decoding result obtained by the second device as discussed above, and will not be listed here. Alternatively, the third device can send the tenth data to the fourth device. The tenth data may be, for example, the ninth data, or data obtained by further encapsulating the ninth data.
[0243] After receiving the tenth data, the fourth device can process it. The parameters for this processing can be referenced from the parameters of the processing performed by the first module in the first device, and this processing can be considered as the inverse processing of the processing performed by the first module in the first device, thereby obtaining the seventh data. The process of the fourth device obtaining the seventh data will be described below in conjunction with H1 to H4.
[0244] H1. If the first module obtains the third data using the method described in the first implementation C1 above, then the fourth device can sequentially entropy encode and encrypt the tenth data to obtain the seventh data. The encryption key can be the first key, and the method by which the fourth device obtains the first key can refer to the content above regarding the method by which the third device obtains the first key.
[0245] H2. If the first module obtains the third data using the second implementation method C2 described above, then the fourth device can sequentially encrypt and entropy encode the tenth data to obtain the seventh data. The encryption key can be the first key, and the method by which the fourth device obtains the first key can refer to the content above regarding the method by which the third device obtains the first key.
[0246] H3. If the first module obtains the third data using the third implementation method C3, then the fourth device can encrypt the tenth data to obtain the seventh data. The encryption key can be the first key, and the method by which the fourth device obtains the first key can refer to the content above regarding the method by which the third device obtains the first key.
[0247] H4. If the first module obtains the third data using the third implementation method C4, then the fourth device can entropy encode the tenth data to obtain the seventh data.
[0248] The above H1 to H4 describe the methods for obtaining the seventh data. In fact, there are many other ways to obtain the seventh data, which are not limited here.
[0249] Optionally, if the third data is encrypted data, the fourth device may, after performing any of the processes H1 to H4, decrypt the processed data based on the fourth key to obtain the seventh data. The fourth key may be the same as or different from the second key. The fourth key may be pre-stored in the fourth device or determined through negotiation with the first device; there is no specific limitation on this.
[0250] In one possible implementation, the fourth device can further compress the processed data of any one of H1 to H4 based on the second compression parameters to obtain the seventh data, which is the compressed data, thus further reducing the amount of data transmitted. The method of obtaining the second compression parameters and the content of the second compression parameters can be referred to the previously discussed methods of obtaining the second compression parameters and the content of the second compression parameters, respectively, and will not be listed here. Optionally, the fourth device can send the seventh data to the second device through another fourth device. Before the other fourth device sends the seventh data to the second device, the other fourth device can also decompress the seventh data based on the second compression parameters and send the decompressed data to the second device.
[0251] The fourth device can also send the seventh data to the second device. After receiving the seventh data, the second device processes it. The parameters of this processing can refer to the parameters of the processing performed by the application layer of the fifth device, and this processing can be regarded as the inverse processing of the processing performed by the application layer of the fifth device, thereby obtaining the eighth data. This eighth data can be data D, or other data different from data D, such as feature data of data D. The following will describe this in conjunction with K1 or K2.
[0252] If the application layer of the fifth device (K1) processes data D using the method A1 described above, then the second device can sequentially decrypt and entropy decode the seventh data to obtain the eighth data.
[0253] If the application layer of the fifth device (K2) processes data D using the method described above (A2), then the second device can sequentially perform entropy decoding and decryption processing on the seventh data to obtain the eighth data.
[0254] The above K1 to K4 describe the methods for obtaining the eighth data. In fact, there are many other ways to obtain the eighth data, which are not limited here.
[0255] The implementation methods of the first device, the second device, etc. are different, so the data transmission process involved in Figure 10 is also different. The following examples are based on the schematic diagrams of the interaction process between the devices shown in Figures 11 to 13.
[0256] In scenario M1, the first and fifth devices are both terminal devices, the second device is an application server, the third device is an access network device, and the fourth device is a user plane device.
[0257] As shown in Figure 11, the terminal device acquires data D to be transmitted. The application layer of the terminal device generates first data based on data D, and the first module and / or the second module of the terminal device generates second data based on the first data. The terminal device then sends the second data to the access network device. The contents of data D, first data, second data, generating first data, and generating second data can be referred to the contents of data D, first data, second data, generating first data, and generating second data discussed in Figure 10 above, and will not be listed here.
[0258] The access network device processes the second data to obtain the tenth data. The content of the tenth data and the content of obtaining the tenth data can be referred to the content of the tenth data and the content of obtaining the tenth data discussed in Figure 10 above, and will not be listed here.
[0259] The access network device sends the tenth data to the user plane device. Based on the tenth data, the access network device can obtain the seventh data and send the seventh data to the application server. The content of the seventh data and the content of obtaining the seventh data can be referred to the discussion of the content of the seventh data and the content of obtaining the seventh data in Figure 10 above, and will not be listed here again. The application server can process the seventh data to obtain the eighth data.
[0260] In scenario M2, the first device is a user plane device, the second device is a terminal device, the third device is an access network device, and the fifth device is an application server. In this case, the application server is essentially without relay functionality.
[0261] As shown in Figure 12, the application server obtains the data D to be transmitted. The application layer of the application server generates first data based on data D and sends the first data to the user plane device. The data D, the first data, the second data, and the content of generating the first data can be referred to the discussion of data D, the first data, the second data, and the content of generating the first data in Figure 10 above, and will not be listed here.
[0262] The user plane device generates second data based on the first data and sends the second data to the access network device. The content of the generated second data can be referred to the content of the generated second data discussed in Figure 10 above, and will not be listed here again.
[0263] The access network device processes the second data to obtain the seventh data. The access network device then sends the seventh data to the terminal device. The content of the seventh data and the content of obtaining the seventh data can be referred to the discussion of the content of the seventh data and the content of obtaining the seventh data in Figure 10 above, and will not be listed here. The terminal device can process the seventh data to obtain the eighth data.
[0264] In scenario M3, the first and fifth devices are application servers, the second device is a terminal device, the third device is a user plane device, and the fourth device is an access network device. In this case, the application server essentially functions as a relay.
[0265] As shown in Figure 13, the application server obtains the data D to be transmitted. The application layer of the application server generates first data based on data D, and the first module and / or the second module of the application server generates second data based on the first data. The application server then sends the second data to the user plane device. The contents of data D, first data, second data, generating first data, and generating second data can be referred to the contents of data D, first data, second data, generating first data, and generating second data discussed in Figure 10 above, and will not be listed here.
[0266] The user plane device processes the second data to obtain the tenth data. The content of the tenth data and the content of obtaining the tenth data can be referred to the content of the tenth data and the content of obtaining the tenth data discussed in Figure 10 above, and will not be listed here.
[0267] The user plane device sends tenth data to the access network device. The access network device can obtain seventh data based on the tenth data and send the seventh data to the application server. The content of the seventh data and the content of obtaining the seventh data can be referred to the content of the seventh data and the content of obtaining the seventh data discussed in Figure 10 above, and will not be listed here. The terminal device can process the seventh data to obtain eighth data.
[0268] The implementation methods of the first and second modules are different, as are the methods for obtaining the third data and the first data. The interaction processes between the various devices also differ. The following examples, illustrated in Figures 14 to 18, illustrate these differences. Figures 14 to 18 use the following example: the first and fifth devices are both terminal devices, the second device is an application server, the third device is an access network element, and the fourth device is a user plane device.
[0269] Figure 14 illustrates an example where the first module is the PDU layer, the second module is the PHY layer, and the first device obtains first data using the above-described method A1, obtains third data using the above-described first implementation method C1, and obtains second data using the above-described method D1-1. The content shown in Figure 14 will be described below.
[0270] S1401, The PDU layer of the terminal device obtains the first data from the application layer.
[0271] The application layer of the terminal device obtains the data D to be transmitted and processes it using method A1 described above to obtain data D1, which is an example of the first data. The application layer of the terminal device and the application server can obtain a third key through a handshake. Based on the third key, the application layer of the terminal device processes the data D using method A1 described above.
[0272] Furthermore, the application layer of the terminal device sends data D1 to the PDU layer of the terminal device. The PDU layer decrypts data D1 based on the first key and then performs entropy decoding on the decrypted data D1 to obtain data D2. Data D2 can be considered as an example of third data. Optionally, the first key can be negotiated and determined between the PDU layer and the application layer of the terminal device. For example, the operating system of the terminal device sends a key request to the application layer, and the application layer sends the first key to the PDU layer of the operating system.
[0273] The PDU layer of the terminal device sequentially compresses and encrypts data D2 to obtain data D3. Optionally, the PDU layer of the terminal device can compress data D2 based on a first compression parameter, which may be obtained by the PDU layer from the modem of the terminal device, and may include, for example, SNR. Furthermore, the PDU layer of the terminal device can encrypt the compressed data D2 based on a second key. Optionally, the second key may be negotiated and determined between the PDU layer of the terminal device and the PDU layer of the user plane device. Data D3 may be in the form of an IP data packet.
[0274] The PDU layer of the terminal device transmits data D3 sequentially through the SDAP layer in the modem to the PHY layer of the terminal device. The PHY layer of the terminal device performs channel coding to obtain data D4, which can be used as an example of the second data.
[0275] S1402, The terminal device sends the second data to the access network device.
[0276] For example, the terminal device sends data D4 to the access network device, such as through air interface transmission.
[0277] S1403, The access network device sends the tenth data to the user plane device.
[0278] For example, the PHY layer of the access network device performs channel decoding on data D4 to obtain data D5, which can be considered an example of the ninth data. Alternatively, the access network device passes data D5 sequentially through the MAC layer, RLC layer, etc., to obtain data D6, which can also be considered an example of the ninth data.
[0279] S1404, The user plane device sends the seventh data to the application server.
[0280] For example, the user plane device sequentially decrypts, decompresses, entropy-encodes, and encrypts data D6 to obtain data D7, which can be considered as an example of the seventh data. The key used by the user plane device to decrypt data D6 can be negotiated and determined with the terminal device, such as a fourth key, and the key used by the user plane device to encrypt data can be negotiated and determined with the application layer of the terminal device, such as a third key.
[0281] S1405. The application server processes the seventh data to obtain the eighth data.
[0282] For example, the application layer of the application server can sequentially decrypt and entropy decode data D7 to obtain the eighth data, such as data D.
[0283] In this embodiment, the PDU layer of the terminal device can negotiate with the application layer to obtain a first key, and then decrypt and entropy decode the first data from the application layer, so that the PDU layer of the terminal device can perceive the first data, which is equivalent to realizing semantic communication. Since the entropy rate of the third data obtained based on the first data is lower, the PDU layer and PHY layer of the terminal device can jointly perform source coding and channel coding on the data, suppressing the ladder effect or cliff effect of the data.
[0284] Figure 15 illustrates an example where the first module is the PDU layer, the second module is the PHY layer, and the first device obtains first data using the above-described method A1, obtains third data using the above-described first implementation method C1, and obtains second data using the above-described methods D1-2. The content shown in Figure 15 will be described below.
[0285] S1501, The PDU layer of the terminal device obtains the first data from the application layer.
[0286] The application layer of the terminal device obtains the data D to be transmitted and processes it using method A1 described above to obtain data D1, which is an example of the first data. The application layer of the terminal device and the application server can obtain a third key through a handshake. Based on the third key, the application layer of the terminal device processes the data D using method A1 described above.
[0287] Further, the application layer of the terminal device sends data D1 to the PDU layer of the terminal device. The PDU layer decrypts data D1 based on the first key, and then sequentially performs entropy decoding and encryption on the decrypted data D1 to obtain data D3. Data D3 can be considered as an example of third data. Optionally, the first key can be negotiated and determined between the PDU layer and the application layer of the terminal device. For example, the operating system of the terminal device sends a key request to the application layer, and the application layer sends the first key to the PDU layer of the operating system. The encryption key used by the PDU layer can be a second key, which can be negotiated and determined between the terminal device and the user plane device. The terminal device then sends data D3 to its modem.
[0288] The PHY layer of the terminal device compresses and channels the data D3 sequentially to obtain data D4. Optionally, the PHY layer of the terminal device can compress the data D3 based on a first compression parameter, which can be obtained by the PDU layer from the modem of the terminal device, and may include, for example, SNR. Data D4 can be used as an example of second data.
[0289] S1502, The terminal device sends the second data to the access network device.
[0290] For example, the terminal device sends data D4 to the access network device, such as through air interface transmission.
[0291] S1503, The access network device sends the tenth data to the user plane device.
[0292] For example, the PHY layer of the access network device sequentially performs channel decoding and decompression on data D4 to obtain data D5, which can be considered an example of the ninth data. Alternatively, the access network device sequentially passes data D5 through the MAC layer, RLC layer, etc., to obtain data D6, which can be considered an example of the ninth data.
[0293] S1504, The user plane device sends the seventh data to the application server.
[0294] For example, the user plane device sequentially decrypts, entropy-encodes, and encrypts data D6 to obtain data D7, which can be considered as an example of the seventh data. The key used by the user plane device to decrypt data D6 can be negotiated and determined with the terminal device, such as a fourth key, and the key used by the user plane device to encrypt data can be negotiated and determined with the application layer of the terminal device, such as a third key.
[0295] S1505, The application server processes the seventh data to obtain the eighth data.
[0296] For example, the application layer of the application server can sequentially decrypt and entropy decode data D7 to obtain the eighth data, such as data D.
[0297] In addition to achieving the effects described in the embodiment shown in FIG14, the implementation of this application, compared to the embodiment shown in FIG14, allows the modem of the terminal device in this application to complete the compression process, thus eliminating the need to interact with the PDU layer of the terminal device to exchange compression parameters and reducing the number of data interactions within the terminal device.
[0298] Figure 16 illustrates a modem where both the first and second modules are terminal devices, and an example of the first device obtaining first data using method A1, obtaining third data using the first implementation method C1, and obtaining second data using method D3. The content shown in Figure 16 will be described below.
[0299] S1601, The modem of the terminal device obtains the first data from the application layer.
[0300] The application layer of the terminal device obtains the data D to be transmitted and processes it using method A1 described above to obtain data D1, which is an example of the first data. The application layer of the terminal device and the application server can obtain a third key through a handshake. Based on the third key, the application layer of the terminal device processes the data D using method A1 described above.
[0301] Further, the application layer of the terminal device sends data D1 to the PDU layer of the terminal device. The PDU layer of the terminal device transmits data D1 to the modem of the terminal device. The modem of the terminal device decrypts and entropy decodes the data sequentially to obtain data D3. Data D3 can be considered as an example of third data. Optionally, the first key can be negotiated and determined between the modem of the terminal device and the application layer of the terminal device. For example, the modem of the terminal device sends a key request to the application layer of the terminal device, and the application layer of the terminal device sends the first key to the modem. The encryption key used by the modem can be a second key, which can be negotiated and determined between the terminal device and the user plane device.
[0302] The PHY layer of the terminal device performs JSCC on data D3 to obtain data D4. Data D4 can be used as an example of the second data.
[0303] S1602, The terminal device sends the second data to the access network device.
[0304] For example, the terminal device sends data D4 to the access network device, such as through air interface transmission.
[0305] S1603, The access network device sends the tenth data to the user plane device.
[0306] For example, the PHY layer of the access network device performs JSCD on data D4 to obtain data D5, which can be considered an example of the ninth data. Alternatively, the access network device passes data D5 sequentially through the MAC layer, RLC layer, etc., to obtain data D6, which can also be considered an example of the ninth data.
[0307] S1604, The user plane device sends the seventh data to the application server.
[0308] For example, the user plane device encapsulates and processes data D6 to obtain data D7, which can be used as an example of a seventh type of data.
[0309] S1605. The application server processes the seventh data to obtain the eighth data.
[0310] For example, the application layer of the application server can sequentially decrypt and entropy decode data D7 to obtain the eighth data, such as data D.
[0311] In addition to achieving the effects described in the embodiment shown in FIG14, the implementation of this application, compared to the embodiment shown in FIG14, allows the modem of the terminal device in this application to decrypt, entropy decode, and perform JSCC on data from the application layer, thereby reducing the processing load of the PDU layer and eliminating the need for separate compression and channel coding, which simplifies the data processing steps.
[0312] Figure 17 illustrates a modem where both the first and second modules are terminal devices, and an example of the first device obtaining first data using method A2 described above, obtaining third data using the first implementation method C4 described above, and obtaining second data using method D3 described above. The content shown in Figure 17 will be described below.
[0313] S1701, The modem of the terminal device obtains the first data from the application layer.
[0314] The application layer of the terminal device obtains the data D to be transmitted and processes it using method A2 described above to obtain data D1, which is an example of the first data. The application layer of the terminal device and the application server can obtain a third key through a handshake. Based on the third key, the application layer of the terminal device processes the data D using method A1 described above.
[0315] Furthermore, the application layer of the terminal device sends data D1 to the PDU layer of the terminal device. The PDU layer of the terminal device performs entropy decoding on data D1 to obtain data D3, which serves as an example of third data. The PDU layer of the terminal device then sends data D3 to the modem of the terminal device. The PHY layer of the modem performs JSCC on data D3 to obtain data D4. Data D4 can serve as an example of second data.
[0316] S1702, The terminal device sends the second data to the access network device.
[0317] For example, the terminal device sends data D4 to the access network device, such as through air interface transmission.
[0318] S1703, The access network device sends the tenth data to the user plane device.
[0319] For example, the PHY layer of the access network device performs JSCD on data D4 to obtain data D5, which can be considered an example of the ninth data. Alternatively, the access network device passes data D5 sequentially through the MAC layer, RLC layer, etc., to obtain data D6, which can also be considered an example of the ninth data.
[0320] S1704, The user plane device sends the seventh data to the application server.
[0321] For example, the user plane device encapsulates and processes data D6 to obtain data D7, which can be used as an example of a seventh type of data.
[0322] S1705. The application server processes the seventh data to obtain the eighth data.
[0323] For example, the application layer of the application server can sequentially perform entropy decoding and decryption on data D7 to obtain the eighth data, such as data D.
[0324] In addition to achieving the effects described in the embodiment shown in FIG14, the implementation of this application also eliminates the need for the PDU layer of the terminal device in this application to decrypt data from the application layer, which is beneficial to reducing the processing load of the terminal device compared to the embodiment shown in FIG14.
[0325] In any of the embodiments shown in Figures 14 to 17 above, the user plane device may include multiple user plane devices, such as user plane device 1 and user plane device 2. In one possible implementation, user plane device 1 is the user plane device that receives data D6 from the access network device. Before the user plane device sends data D7, it may also compress the data D7. After receiving data D7, user plane device 2 may also decompress the data D7 to obtain decompressed data D7, thereby transmitting the decompressed data D7 to the application server.
[0326] Referring to the data transmission process diagram shown in Figure 18, the terminal device transmits the data D4 after JSCC to the PHY layer of the access network device. User plane device 1 in the user plane device can compress data D7, and user plane device 2 can decompress the compressed data D7, thus further reducing the amount of data transmitted. The data processing performed by the terminal device, access network device, and application server can be referenced from the data processing performed by any of the terminal devices, access network devices, and application servers mentioned in Figures 14 to 17 above, and will not be listed here.
[0327] To address the problem of excessively high data entropy rates, which prevent joint source and channel coding, this application also provides a communication method in which the application layer does not need to perform entropy coding on the data, thus ensuring that the entropy rate of the obtained data is not too high.
[0328] Figure 19 illustrates a communication method provided in an embodiment of this application. The steps involved in Figure 19 are described below. The contents of the first device, second device, third device, and fourth device involved in Figure 19 can be referred to the contents of the first device, second device, third device, and fourth device discussed in Figure 10 above, and will not be listed one by one here.
[0329] S1901, The first device receives the fifth data from the application layer. The fifth data is data that has not been entropy encoded.
[0330] The application layer can be the application layer of the fifth device. The content of the fifth device can be referred to the content of the fifth device discussed in Figure 10 above, and will not be listed here again. In this embodiment of the application, when the fifth device performs source coding processing on data D, it does not perform entropy coding on data D to obtain the fifth data. Data D refers to the data to be transmitted.
[0331] Optionally, the fifth device encrypts the data D to obtain the fifth data. Optionally, before encrypting the data D, the fifth device may first perform conversion and / or quantization processing on the data D.
[0332] Please refer to Figure 20, which is a schematic diagram of a data transmission process provided in an embodiment of this application. As shown in Figure 20, the application layer of the terminal device obtains data D and encrypts data D to obtain data D1. Data D1 can be used as an example of fifth data. The application layer of the terminal device can send data D1 to the PDU layer of the terminal device. The PDU layer of the terminal device encapsulates data D1 to obtain data D3. The PHY layer in the modem of the terminal device can perform JSCC on data D3 to obtain data D4.
[0333] S1902, the first device sends the sixth data to the second device. Correspondingly, the second device receives the sixth data from the first device. The sixth data is the data obtained after semantic feature extraction and channel coding of the fifth data. The first device may send the sixth data directly to the second device, or it may send the sixth data to the second device through other devices (such as the third and / or fourth devices).
[0334] In one possible implementation, the first device may send the sixth data to the second device in sequence via the third and fourth devices.
[0335] In one possible implementation, the fourth device can also compress the data received based on the second compression parameters. The method for obtaining the second compression parameters and the content of the second compression parameters can be referred to the methods for obtaining the second compression parameters and the content of the second compression parameters discussed in Figure 10 above, respectively, and will not be listed here again. Optionally, the fourth device can send the compressed data to the second device through another fourth device. Before the other fourth device sends the compressed data to the second device, the other fourth device can also decompress the compressed data based on the second compression parameters and send the decompressed data (such as the sixth data) to the second device.
[0336] Referring again to Figure 20, data D4 can be considered as an example of the sixth data. The access network device can process data D4 to obtain data D6 and send data D6 to the user plane device. The user plane device performs encapsulation processing on data D6 to obtain data D7 and sends data D7 to the application server. The application server can decrypt data D7 to obtain the decoding result.
[0337] Based on the same inventive concept, this application provides a communication device. The following describes any of the communication devices illustrated in Figures 21 and 22. This communication device may be, for example, any of the first to fourth devices discussed above, or it may be a module within these devices; no specific limitation is made thereto.
[0338] As shown in Figure 21, the communication device 2100 may include modules or units for implementing the methods described in the embodiments above. In one possible design, the communication device 2100 includes a processing unit 2110 and a communication unit 2120. The communication unit 2120 is used to perform transmit and receive operations, such as functions related to sending and receiving; the communication unit 2120 may be referred to as a transceiver unit; optionally, the communication unit 2120 includes a receiving unit and a sending unit. The processing unit 2110 is used to perform processing operations. Alternatively, the communication unit 2120 may be a transmitter and a receiver, or a transmitter and a receiver. Optionally, the communication device 2100 may also include a storage unit 2130. The storage unit 2130 is used to store the device's program code or data.
[0339] In the first implementation, the communication device 2100 can be any of the first devices involved in Figures 10 to 18, modules in the first device (such as communication modules, circuits or chips), or devices that implement the functions of the first device.
[0340] In the above embodiments, the communication unit 2120 is used to obtain first data from the application layer and send second data.
[0341] The communication device 2100 can also perform other steps performed by the first device in any of the figures 10 to 18 mentioned above, which will not be listed here.
[0342] In the second implementation, the communication device 2100 can be any of the second devices involved in Figures 10 to 18, modules in the second device (such as communication modules, circuits or chips), or devices that implement the functions of the second device.
[0343] In the above embodiment, the communication unit 2120 is used to receive the seventh data, and the processing unit 2110 is used to obtain the eighth data based on the seventh data.
[0344] The communication device 2100 can also perform other steps performed by the second device in any of the figures 10 to 18 mentioned above, which will not be listed here.
[0345] In the third implementation, the communication device 2100 can be any of the third devices involved in Figures 10 to 18, modules in the third device (such as communication modules, circuits or chips), or devices that implement the functions of the third device.
[0346] In the above embodiment, the communication unit 2120 is used to receive the tenth data, and the processing unit 2110 is used to obtain the seventh data based on the tenth data.
[0347] The communication device 2100 can also perform other steps performed by any of the third devices mentioned in Figures 10 to 18 above, which will not be listed here one by one.
[0348] In the fourth implementation, the communication device 2100 can be any of the fourth devices mentioned in Figures 10 to 18, a module in the fourth device (such as a communication module, circuit or chip), or a device that implements the function of the fourth device.
[0349] In the above embodiment, the communication unit 2120 is used to receive the tenth data, and the processing unit 2110 is used to obtain the seventh data based on the tenth data.
[0350] The communication device 2100 can also perform other steps performed by the fourth device mentioned in any of Figures 10 to 18 above, which will not be listed here one by one.
[0351] In the fifth implementation, the communication device 2100 can be the first device involved in Figure 19 or Figure 20 above, a module in the first device (such as a communication module, circuit or chip), or a device that implements the function of the first device.
[0352] In the above embodiment, the communication unit 2120 is used to receive the fifth data and send the sixth data.
[0353] The communication device 2100 can also perform other steps performed by the first device involved in Figures 19 or 20 above, which will not be listed here one by one.
[0354] In the sixth implementation, the communication device 2100 can be the second device involved in Figure 19 or Figure 20 above, a module in the second device (such as a communication module, circuit or chip), or a device that implements the function of the first device.
[0355] In the above embodiment, the communication unit 2120 is used to receive the sixth data.
[0356] The communication device 2100 can also perform other steps performed by the second device involved in Figures 19 or 20 above, which will not be listed here one by one.
[0357] In one possible design, when the communication device 2100 is a terminal device, a communication module within a terminal device, an access network device, or a communication module within an access network device, the function of the processing unit 2110 can be implemented by one or more processors. Specifically, the processor may include a modem chip, or a SoC chip or SIP chip containing a modem core. The function of the communication unit 2120 can be implemented by transceiver circuitry.
[0358] In one possible design, when the communication device 2100 is a circuit or chip responsible for communication functions in a terminal device, or a circuit or chip responsible for communication functions in an access network device, such as a modem chip or a system-on-a-chip (SoC) chip or SIP chip containing a modem core, the function of the processing unit 2110 can be implemented by a circuit system including one or more processors or processor cores in the aforementioned chip. The function of the communication unit 2120 can be implemented by the interface circuit or data transceiver circuit on the aforementioned chip.
[0359] It is understood that the division of units in the above-described device is merely a logical functional division. Each function can correspond to a functional unit, or two or more functions can be integrated into one functional unit. In actual implementation, all or some units can be integrated into a single physical entity, or they can be distributed across different physical entities. Furthermore, the aforementioned functional units can be implemented in hardware, software, or a combination of both. Whether a function is executed 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 implementation should not be considered beyond the scope of this application.
[0360] In one example, the functional unit in any of the above devices may be one or more integrated circuits configured to implement the above methods, such as: one or more application-specific integrated circuits (ASICs), or one or more central processing units (CPUs), one or more microcontroller units (MCUs), one or more DSPs, or one or more field-programmable gate arrays (FPGAs), or a combination of at least two of these integrated circuit forms.
[0361] In one example, storage unit 2130 may include random access memory, flash memory, read-only memory, programmable read-only memory or electrically erasable programmable memory and / or registers, etc.
[0362] The communication device shown in Figure 22 will be described below. As shown in Figure 22, the communication device 2200 includes a processor 2210. Optionally, the communication device 2200 also includes an interface circuit 2220 and a memory 2230. The processor 2210 and the interface circuit 2220 are coupled to each other. It is understood that the interface circuit 2220 can be a transceiver or an input / output interface. The memory 2230 is used to store instructions executed by the processor 2210, or to store input data required by the processor 2210 to run instructions, or to store data generated after the processor 2210 runs instructions. The interface circuit 2220 and the memory 2230 are optional modules and are shown in Figure 22 with dashed boxes. In addition, Figure 22 shows one processor 2210 and one memory 2230 as an example, but the number of processors 2210 and memory 2230 is not actually limited.
[0363] In one possible implementation, the communication device 2200 is used to perform other steps executed by any of the first devices mentioned in Figures 10 to 18 above, which will not be listed one by one here. Optionally, the processor 2210 is used to implement the functions of the processing unit 2110, and the interface circuit 2220 is used to implement the functions of the communication unit 2120.
[0364] In one possible implementation, the communication device 2200 is used to perform other steps performed by any of the second devices mentioned in Figures 10 to 18 above, which will not be listed here one by one.
[0365] In one possible implementation, the communication device 2200 is used to perform other steps performed by any of the third devices mentioned in Figures 10 to 18 above, which will not be listed here one by one.
[0366] In one possible implementation, the communication device 2200 is used to perform other steps performed by any of the fourth devices mentioned in Figures 10 to 18 above, which will not be listed here one by one.
[0367] In one possible implementation, the communication device 2200 is used to perform other steps performed by the first device mentioned in either 19 or 20 above, which will not be listed here one by one.
[0368] In one possible implementation, the communication device 2200 is used to perform other steps performed by the second device mentioned in either 19 or 20 above, which will not be listed here one by one.
[0369] When the aforementioned communication device 2200 is a chip applied to a device (such as the terminal device or network device mentioned above), the device chip implements the functions of the device in the above method embodiments. The device chip receives information from other modules (such as radio frequency modules or antennas) within the device, the information being sent to the device by other devices; or, the device chip sends information to other modules (such as radio frequency modules or antennas) within the device, the information being sent to other devices by the device. Here, the communication device 2200 can be a baseband chip of a device, or a DU or other modules. The DU here can be a DU under an open radio access network (O-RAN) architecture.
[0370] The processor 2210 can be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, transistor logic devices, or graphics processing units (GPUs), hardware components, or any combination thereof. The general-purpose processor can be a microprocessor or any conventional processor. Furthermore, the memory involved in the various embodiments of this application can include volatile memory, such as random access memory (RAM). The memory can also include non-volatile memory, such as read-only memory (ROM), flash memory, hard disk drives (HDDs), or solid-state drives (SSDs).
[0371] Based on the same inventive concept, embodiments of this application provide a communication system. The communication system includes a first device and a second device. Optionally, the system may further include a third device and / or a fourth device.
[0372] The first device can perform the function of any of the first devices involved in Figures 10 to 18. The second device can perform the function of any of the second devices involved in Figures 10 to 18. The third device can perform the function of any of the third devices involved in Figures 10 to 18. The fourth device can perform the function of any of the fourth devices involved in Figures 10 to 18.
[0373] Based on the same inventive concept, embodiments of this application provide a communication system. The communication system includes a first device and a second device. Optionally, the system may further include a third device and / or a fourth device.
[0374] The first device can perform the function of the first device involved in FIG19 or FIG20. The second device can perform the function of the second device involved in FIG19 or FIG20. The third device can perform the function of the third device involved in FIG19 or FIG20. The fourth device can perform the function of the fourth device involved in FIG19 or FIG20.
[0375] Based on the same inventive concept, embodiments of this application provide a chip system comprising a processor and an interface. The processor is used to call and execute instructions from the interface, and when the processor executes the instructions, it implements any of the steps involved in Figures 10 to 20 above.
[0376] Based on the same inventive concept, embodiments of this application provide a computer-readable storage medium for storing computer programs or instructions that, when run, implement any of the steps involved in Figures 10 to 20 above.
[0377] Based on the same inventive concept, embodiments of this application provide a program product that, when executed, enables a processor to implement any of the steps described in Figures 10 to 20. This program product is, for example, a computer program product, specifically, a computer program and / or instructions. The processor is, for example, a processor running in a computer.
[0378] In the above embodiments, implementation can be achieved entirely or partially through software, hardware, firmware, or any combination thereof. When implemented using software, it can be implemented entirely or partially in the form of a computer program product. The computer program product includes one or more computer programs or instructions. When the computer program or instructions are loaded and executed on a computer, the processes or functions described in the embodiments of this application are performed entirely or partially. The computer can be a general-purpose computer, a special-purpose computer, a computer network, a network device, a user equipment, or other programmable device. The computer program or instructions can be stored in a computer-readable storage medium or transferred from one computer-readable storage medium to another. For example, the computer program or instructions can be transferred from one website, computer, server, or data center to another website, computer, server, or data center via wired or wireless means. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that integrates one or more available media. The available medium can be a magnetic medium, such as a floppy disk, hard disk, or magnetic tape; it can also be an optical medium, such as a digital video optical disc; or it can be a semiconductor medium, such as a solid-state drive. The computer-readable storage medium can be volatile or non-volatile, or it can include both types of storage media. Some or all of the steps of the communication method in the embodiments of this application can be implemented by a GPU, or by a GPU in conjunction with other processors.
[0379] In the various embodiments of this application, unless otherwise specified or in case of logical conflict, the terminology and / or descriptions of different embodiments are consistent and can be referenced by each other. The technical features of different embodiments can be combined to form new embodiments according to their inherent logical relationship.
[0380] The various numerical designations used in the embodiments of this application are merely for descriptive convenience and are not intended to limit the scope of the embodiments of this application. The order of the process numbers described above does not imply the order of execution; the execution order of each process should be based on its function and internal logic.
Claims
1. A communication method, characterized in that, The method includes: Receive the first data from the application layer; Send second data, which is the third data after semantic feature extraction and channel coding. The third data is the first data after processing. The processing includes one of the following: decryption, entropy decoding, sequential decryption and entropy decoding, or sequential entropy decoding and decryption.
2. The method according to claim 1, characterized in that, The method further includes: The first data is decrypted using the first key to determine the third data; or... The first data is decrypted based on the first key, and the decrypted first data is entropy decoded to determine the third data; The first key is obtained from the application layer.
3. The method according to claim 2, characterized in that, The method further includes: Based on the first compression parameter, the third data is compressed, or a portion of the third data is extracted to determine the fourth data. The first compression parameter is determined based on channel measurement information. Channel coding is performed on the fourth data to determine the second data.
4. The method according to claim 3, characterized in that, The fourth data is determined by the first protocol layer or the second protocol layer, and the second data is determined by the second protocol layer. Both the first protocol layer and the second protocol layer are different from the application layer.
5. The method according to claim 4, characterized in that, The first protocol layer is one or more protocol layers in the network protocol stack other than the application layer, and the second protocol layer is one or more protocol layers in the wireless transmission protocol stack.
6. The method according to any one of claims 3-5, characterized in that, The third data is ciphertext data obtained by encrypting based on the second key; or... The fourth data is ciphertext data obtained by encrypting based on the second key.
7. The method according to claim 6, characterized in that, The method further includes: Obtain the second key from the user plane device.
8. The method according to claim 1, characterized in that, The method further includes: Receive first information from the application layer, the first information indicating that the data is sequentially encrypted and entropy encoded; The first data is entropy decoded to obtain the third data.
9. The method according to claim 8, characterized in that, Before receiving the second information from the application layer, the method further includes: A second message is sent to the application layer, the second message being used to request that the data be encrypted and entropy encoded sequentially.
10. A communication method, characterized in that, The method includes: Receive fifth data from the application layer, wherein the fifth data is data that has not undergone entropy encoding; The sixth data is sent, which is the fifth data after semantic feature extraction and channel coding.
11. The method according to claim 10, characterized in that, The method further includes: The application layer receives third information, which instructs the application layer not to perform entropy encoding on the data.
12. The method according to claim 11, characterized in that, Before receiving the third information from the application layer, the method further includes: A fourth message is sent to the application layer, the fourth message being used to request that the data not be entropy encoded.
13. A communication device, characterized in that, include: A module or unit for performing the method as described in any one of claims 1-9; or, A module or unit for performing the method as described in any one of claims 10-12.
14. A communication device, characterized in that, The device includes one or more processors, which are configured to execute computer programs or instructions in memory such that the communication device implements the method as claimed in any one of claims 1-9, or implements the method as claimed in any one of claims 10-12.
15. A computer program product, characterized in that, When the computer program product is executed, it causes the processor to perform the method as described in any one of claims 1-9, or the method as described in any one of claims 10-12.
16. A computer-readable storage medium, characterized in that, The storage medium stores a computer program or instructions, which, when executed by a communication device, implement the method as described in any one of claims 1-9, or the method as described in any one of claims 10-12.