Communication method and device
By using the time and spatial correlation of data frames in semantic communication for channel encoding, the problem of insufficient channel encoding scheme in the prior art is solved, data transmission performance and reliability are improved, and it is suitable for 5G and 6G mobile communication systems.
Patent Information
- Application Number
- PCT/CN2025/073690
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-01-31
- Filing Date
- 2025-01-21
- Publication Date
- 2025-08-07
AI Technical Summary
The existing semantic communication technology lacks an effective channel encoding scheme, resulting in limited improvement in transmission performance.
Channel encoding based on data context information, channel encoding and decoding processing is performed using the temporal and/or spatial correlation between the current frame and the next frame to improve encoding efficiency and data transmission reliability.
It improves the performance and reliability of data transmission, enhances coding efficiency, and is suitable for various communication systems such as 5G and 6G mobile communication systems.
Smart Images

Figure CN2025073690_07082025_PF_FP_ABST
Abstract
Description
Communication method and device
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS
[0002] This application claims priority to the Chinese patent application filed with the State Intellectual Property Office of the People's Republic of China on January 31, 2024, with application number 202410142563.8 and application name "A Communication Method and Device", the entire contents of which are incorporated by reference into this application. Technical Field
[0003] The present application relates to the field of communication technology, and in particular to a communication method and device. Background Art
[0004] In recent years, with the increasing demand for communication efficiency in the fifth and sixth generations (5G) and 6G, and the widespread application of artificial intelligence (AI) in various fields, semantic communication technology based on deep learning has become a viable approach to addressing the bottlenecks of traditional information transmission. Compared to traditional communication technologies that encode the source information before transmission, semantic communication technologies encode the semantic information extracted from the source information before transmission. Existing research shows that semantic communication technologies or methods have higher communication efficiency and are more resilient to channel interference. A semantic communication system is an end-to-end system consisting of modules such as semantic encoding, source-channel joint encoding, source-channel joint decoding, and semantic decoding. It is used for semantic communication of multimodal information such as images / video, text, and speech. Source-channel joint coding enables variable-rate transmission for semantic communication, significantly improving performance. However, no optimal channel coding scheme has been proposed to optimize or improve transmission performance for semantic communication. Summary of the Invention
[0005] The present application provides a communication method and apparatus, which implements channel coding of data based on context information of the data, thereby effectively improving data transmission performance.
[0006] In a first aspect, an embodiment of the present application provides a communication method, which can be executed by a first device, or by a chip, or a chip system, or a logic module or software corresponding to the first device, without limitation. Taking the first device as an example, the method may include: the first device performs channel coding processing on the first data packet based on the first context information to obtain an encoded first data packet; wherein the first context information is associated with the first data with a first fault tolerance capability, the first context information is used to indicate the temporal and / or spatial correlation between the two frames, the first fault tolerance capability indicates support for obtaining the frame to which the first data belongs based on a preset number of data packets, the first data includes N data packets, the first data packet is any one of the N data packets, and N is a positive integer; the first device sends the encoded first data packet to the second device.
[0007] Taking picture-type data as an example, contextual information can be used to indicate the temporal and / or spatial correlation between two adjacent frames of pictures. For the convenience of introduction, the two adjacent frames are referred to as the current frame and the next frame. The temporal information and / or spatial information of the current frame picture, as well as the contextual information (the temporal and / or spatial correlation between the current frame and the next frame), can be used to deduce or predict the temporal information and / or spatial information of the next frame picture. Temporal information: The target between adjacent frames will not change much, and the position will not change suddenly. Spatial information: There is a certain specific relationship between the target and the background around the target. When the appearance of the target changes greatly, this relationship can help distinguish the target from the background.
[0008] Taking the first data as picture-type data as an example, the first data can be a frame of picture or a region therein, and the first data may be composed of multiple data packets. The fault tolerance of the first data packet can refer to supporting the acquisition or generation of the frame of picture or a region therein based on a certain number (or preset number) of data packets. In one possible implementation, the smaller the number of data packets based on which the frame of picture corresponding to the first data or a region in the frame of picture is generated, the stronger the fault tolerance of the first data is, and the greater the number of data packets based on which the first data is generated, the weaker the fault tolerance of the first data is. In an embodiment of the present application, the fault tolerance of the first data can also be understood as the error correction capability or recovery capability of the data. In one possible implementation, the error correction capability of the first data can refer to supporting the correction of errors of a certain amount of data when recovering / generating the frame of picture to which the first data belongs.
[0009] In the above description, the context information and fault tolerance capability are introduced by taking the first data as an example. However, the context information and fault tolerance capability are not limited to the first data, but are applicable to other data similar to the first data.
[0010] In the present application scheme, first context information is associated with first data having a first fault-tolerant capability. Based on the first context information, the first device performs channel coding on the first data packet (the first data packet is any one of the N data packets of the first data) to obtain the encoded first data packet, and then sends the encoded first data packet to the second device. It can be seen that in this method, the sending end performs channel coding processing on each data packet in the data based on the context information associated with the data, and then sends it to the receiving end, which can not only effectively improve the efficiency of coding, but also improve the reliability of the transmitted data and the performance (or efficiency) of the transmitted data.
[0011] In one possible implementation, the first device performs channel coding on a first data packet among the N data packets based on the first context information to obtain the encoded first data packet, which may include the following steps:
[0012] Step 1: Based on the first context information, channel-encode the M first data packets using M encoding methods to obtain M encoded data packets; wherein the M first data packets may be obtained by copying the first data packet, and the M encoding methods correspond one-to-one to the M first data packets (i.e., the M encoding methods may be used one-to-one to encode the M first data packets to obtain corresponding encoded data packets); M is an integer greater than 1;
[0013] In one possible implementation, the first device, based on the first context information, uses M encoding methods to perform channel coding on M first data packets, respectively, to obtain M encoded data packets. This may include: first obtaining channel state information; and then, based on the first context information and the channel state information (CSI), using M encoding methods to perform channel coding on the M first data packets, respectively, to obtain M encoded data packets. In the embodiment of the present application, the first device may obtain the channel state information (CSI) by performing measurement according to an existing channel measurement process, or by other means, without limitation.
[0014] In an embodiment of the present application, the correspondence between the M encoding methods and the M first data packets can be a one-to-one relationship. In one possible implementation, the correspondence between the K encoding methods and the M first data packets is not a one-to-one relationship, where K is equal to M or K is a positive integer not equal to M. For example, the correspondence between the K encoding methods and the M first data packets includes at least one of a one-to-one relationship, a one-to-many relationship, and a many-to-one relationship. How to match the K encoding methods with the M first data packets to implement the solution can be flexibly set according to actual needs and is not specifically limited thereto.
[0015] Step 2: Obtain an encoded first data packet based on the M encoded data packets. That is, the first device may merge the M encoded data packets to obtain the encoded first data packet.
[0016] In an embodiment of the present application, the merging process may be implemented by, but is not limited to, the first device using the M encoded data packets as input to a neural network, with the neural network outputting the encoded first data packet, wherein the parameters of the neural network (e.g., weights on neuron lines) may be pre-trained. Alternatively, the first device may use a maximum likelihood method based on the M encoded data packets to obtain the encoded first data packet.
[0017] Through this embodiment, the first device can implement effective channel coding processing on the first data packet based on the first context information. In special cases, M may also be equal to 1. In this embodiment, the first device performs effective and directional channel coding processing on the first data packet based on the first context information, thereby effectively improving the efficiency of channel coding.
[0018] In one possible implementation, the first device includes a first protocol layer and a second protocol layer; then the first device can, at the first protocol layer or the second protocol layer, based on the first context information, use the M encoding methods to perform channel encoding processing on the M first data packets respectively to obtain the M encoded data packets (i.e., the above-mentioned step one can be performed at the first protocol layer of the first device, or can be performed at the second protocol layer of the first device); the first device can, at the second protocol layer, obtain the encoded first data packet based on the M encoded data packets (i.e., the above-mentioned step two can be performed at the second protocol layer of the first device).
[0019] Through this implementation, taking the first data packet of the first data as an example, its encoding processing process can be executed at each protocol layer (such as the first protocol layer or the second protocol layer), and the process of obtaining the final encoded first data packet based on multiple encoded data packets can be executed at the receiving end of the data packet transmitted at the protocol layer where the encoding is located (such as the second protocol layer), thereby effectively completing the channel coding process of the first data packet.
[0020] In one possible implementation, the M encoding methods correspond one-to-one to the M channels between the first protocol layer and the second protocol layer. In another possible implementation, the correspondence between the K encoding methods and the M channels may not be one-to-one, where K is equal to M or K is a positive integer not equal to M. For example, the correspondence between the K encoding methods and the M channels may include one or more of one-to-one, many-to-one, and one-to-many relationships.
[0021] In the embodiment of the present application, the coding method used can be a coding method evolved from coding methods such as artificial intelligence AI code, low-density parity check code LDPC code, polarization polar code, etc., and is not limited to this.
[0022] Through this implementation, the encoded M encoded data packets can be better matched to the corresponding channels, so as to ensure the reliability and efficiency of transmission.
[0023] In the embodiments of the present application, the first protocol layer and the second protocol layer may be relative, and generally refer to different protocol layers. On the transmitting end side, the first protocol layer transmits the transmitted data / information to the second protocol layer; on the receiving end side, the second protocol layer transmits the received data / information to the first protocol layer. The first protocol layer may be, but is not limited to, any one of the packet data convergence protocol PDCP layer, the radio link control RLC layer, the media access control MAC layer, and the physical PHY layer; the second protocol layer may be, but is not limited to, any one of the packet data convergence protocol PDCP layer, the radio link control RLC layer, the media access control MAC layer, and the physical PHY layer. However, in special cases, the first protocol layer and the second protocol layer may also be or belong to the same protocol layer.
[0024] For example, if the first protocol layer is the PDCP layer, the second protocol layer may be any one of the radio link control (RLC) layer, the media access control (MAC) layer, and the physical PHY layer. If the first protocol layer is the RLC layer, the second protocol layer may be any one of the media access control (MAC) layer and the physical PHY layer. If the first protocol layer is the MAC layer, the second protocol layer may be the physical PHY layer.
[0025] In one possible implementation, the encoded first data packet carries first indication information, which is used to indicate that the encoded first data packet is associated with the first data. This implementation enables the receiving end to distinguish received encoded data packets and process them differently.
[0026] In a possible implementation manner, the first indication information is further used to indicate a first fault tolerance capability corresponding to the first data packet.
[0027] Through this implementation, the receiving end can learn the fault tolerance capability of the data corresponding to the data packet, so as to subsequently determine and feedback the decoding status corresponding to the data based on the fault tolerance capability of the data.
[0028] In one possible implementation, the method further includes: the first device obtains first context information; wherein the first device obtains the first context information may include but is not limited to: the first device extracts the first data based on a preset model (such as an artificial intelligence AI model) to obtain the first context information, or directly obtains the first context information from the application layer.
[0029] Through this implementation, the first device can effectively obtain context information of the first data for subsequent data encoding processing.
[0030] In a possible implementation, the method further includes: the first device sending first context information to the second device, where the first context information is used to decode the encoded first data packet.
[0031] Through this implementation, the first device (sending end) can also send the first context information of the first data to the second device (receiving end) so that the second device (receiving end) can effectively perform subsequent data decoding processing based on the first context information of the first data.
[0032] In a second aspect, an embodiment of the present application provides a communication method, which can be executed by a second device, or by a chip, or a chip system, or a logic module or software corresponding to the second device, without limitation. Taking the second device as an example, the method may include: the second device receives an encoded first data packet; the second device performs channel decoding processing on the encoded first data packet based on first context information to obtain a first data packet; wherein the first context information is associated with first data having a first fault tolerance capability, and the first context information is used to indicate the temporal and / or spatial correlation between two frames, and the first fault tolerance capability indicates support for obtaining the frame to which the first data belongs based on a preset number of data packets, the first data includes N data packets, the first data packet is any one of the N data packets, and N is a positive integer.
[0033] Taking picture data as an example, context information can be used to indicate the temporal and / or spatial correlation between two adjacent frames of pictures. For the convenience of introduction, the two adjacent frames are referred to as the current frame and the next frame. The temporal information and / or spatial information of the current frame picture, as well as the context information (the temporal and / or spatial correlation between the current frame and the next frame), can be used to deduce or predict the temporal information and / or spatial information of the next frame picture. Temporal information: The target between adjacent frames will not change much, and the position will not change suddenly. Spatial information: If there is a certain specific relationship between the target and the background around the target, this relationship can help distinguish the target from the background when the appearance of the target changes greatly.
[0034] Taking the first data as picture-type data as an example, the first data can be a frame of picture or a region therein, and the first data may be composed of multiple data packets. The fault tolerance of the first data packet can refer to supporting the acquisition or generation of the frame of picture or a region therein based on a certain number (or preset number) of data packets. In one possible implementation, the smaller the number of data packets based on which the frame of picture corresponding to the first data or a region in the frame of picture is generated, the stronger the fault tolerance of the first data is, and the greater the number of data packets based on which the first data is generated, the weaker the fault tolerance of the first data is. In an embodiment of the present application, the fault tolerance of the first data can also be understood as the error correction capability or recovery capability of the data. In one possible implementation, the error correction capability of the first data can refer to supporting the correction of errors of a certain amount of data when recovering / generating the frame of picture to which the first data belongs.
[0035] In an embodiment of the present application, the second device acts as a receiving end. After receiving the encoded first data packet, the second device performs channel decoding on the encoded first data packet based on the first context information to obtain the first data packet. In this method, since the transmitting end uses the first context information of the first data to channel encode the first data packet, similarly, the receiving end uses the first context information of the first data to channel decode the encoded first data packet, which can improve the accuracy (or decoding capability) and decoding efficiency of the decoding.
[0036] In one possible embodiment, the method further includes: a second device receiving the first context information from the first device; or the second device extracting context information from the initial first feature data based on a preset model, and updating the context information based on the current encoded first data packet to obtain the first context information. With this embodiment, the second device (receiving end) can effectively obtain the first context information of the first data for subsequent decoding processing.
[0037] In one possible implementation, the second device performs channel decoding on the encoded first data packet based on the first context information to obtain the first data packet, which may include the following steps:
[0038] Step 1: Based on the first context information, use M decoding methods to perform channel decoding processing on the M encoded first data packets respectively to obtain M decoded data packets; wherein the M encoded first data packets can be obtained by copying the encoded first data packet, and the M decoding methods correspond one-to-one to the M encoded first data packets (that is, the M decoding methods can be used one-to-one to decode the M encoded first data packets to obtain corresponding decoded data packets), and M is an integer greater than 1.
[0039] In one possible implementation, the second device, based on the first context information, uses M decoding methods to perform channel decoding processing on the M encoded first data packets, respectively, to obtain M decoded data packets. This may include: first obtaining channel state information; then, based on the first context information and the channel state information (CSI), using M decoding methods to perform channel decoding processing on the M encoded first data packets, respectively, to obtain the M decoded data packets. In this embodiment of the present application, the second device may obtain the channel state information (CSI) by performing measurement according to an existing channel measurement process, or by other means, without limitation.
[0040] In an embodiment of the present application, the correspondence between the aforementioned M decoding methods and the M encoded first data packets may be a one-to-one relationship. In one possible implementation, the correspondence between the K decoding methods and the M encoded first data packets may not be a one-to-one relationship, where K is equal to M or K is a positive integer not equal to M; for example, the correspondence between the K decoding methods and the M encoded first data packets may include at least one of a one-to-one, a one-to-many, and a many-to-one relationship; how to match the K decoding methods with the M encoded first data packets to implement the solution can be flexibly set according to actual needs, and no specific restrictions are imposed on this.
[0041] Step 2: Obtain a first data packet based on the M decoded data packets. That is, the second device can combine the M decoded data packets to obtain the first data packet.
[0042] In an embodiment of the present application, the merging process may be implemented by, but is not limited to, the second device using the M decoded data packets as input to a neural network, with the neural network outputting the first data packet, wherein the parameters of the neural network (e.g., weights on neuron lines) may be pre-trained. Alternatively, the second device may use a maximum likelihood method based on the M decoded data packets to obtain the first data packet.
[0043] Through this implementation, the second device (receiving end) performs channel decoding processing on the encoded first data packet based on the first context information, thereby effectively improving the efficiency of channel decoding.
[0044] In one possible implementation, the second device includes a first protocol layer and a second protocol layer; then the second device can, based on the first context information, use M decoding methods to perform channel decoding processing on the M encoded first data packets at the first protocol layer or the second protocol layer to obtain M decoded data packets (i.e., the above-mentioned step one can be performed at the first protocol layer of the second device, or can be performed at the second protocol layer of the second device); the second device can obtain the first data packet according to the M decoded data packets at the first protocol layer (i.e., the above-mentioned step two can be performed at the first protocol layer of the second device).
[0045] Through this implementation, taking the first data packet of the first data as an example, the decoding process of the encoded first data packet can be executed at each layer (such as the first protocol layer or the second protocol layer), and the process of obtaining the final first data packet based on multiple decoded data packets can be executed at the receiving layer (such as the first protocol layer) of the data packet transmitted at the protocol layer where the decoding is located, thereby effectively completing the channel decoding process of the encoded first data packet.
[0046] In a possible implementation, the M decoding methods may correspond one-to-one to the M channels between the first protocol layer and the second protocol layer.
[0047] In the embodiments of the present application, the first protocol layer and the second protocol layer may be relative, and generally refer to different protocol layers. On the transmitting end side, the first protocol layer transmits the transmitted data / information to the second protocol layer; on the receiving end side, the second protocol layer transmits the received data / information to the first protocol layer. The first protocol layer may be, but is not limited to, any one of the packet data convergence protocol PDCP layer, the radio link control RLC layer, the media access control MAC layer, and the physical PHY layer; the second protocol layer may be, but is not limited to, any one of the packet data convergence protocol PDCP layer, the radio link control RLC layer, the media access control MAC layer, and the physical PHY layer. However, in special cases, the first protocol layer and the second protocol layer may also be or belong to the same protocol layer.
[0048] In one possible implementation, the encoded first data packet carries first indication information, where the first indication information is used to indicate that the encoded first data packet is associated with the first data. With this implementation, the receiving end can distinguish received encoded data packets and process them differently.
[0049] In a possible implementation, the first indication information may also be used to indicate a first fault tolerance capability corresponding to the first data packet.
[0050] Through this implementation, the receiving end learns the error tolerance capability of the data corresponding to the data packet, so that it can subsequently determine and feedback the decoding status corresponding to the data based on the error tolerance capability of the data.
[0051] In one possible implementation, the method further includes: the second device sending a first message or a second message to the first device based on the successfully decoded data packet; the first message indicates a successful decoding, and the second message indicates a failed decoding. This implementation allows the first device (the transmitting end) to effectively learn the decoding status of the receiving end.
[0052] In one possible implementation, the second device sends the first information or the second information to the first device based on the successfully decoded data packet, including: when the second device determines that a first condition is satisfied based on the successfully decoded data packet, sending the first information to the first device; wherein the first condition may include, but is not limited to, one or more of the following:
[0053] (1) The ratio of the number of successfully decoded data packets to the number of received encoded data packets is not less than a first threshold;
[0054] (2) the number of data packets that fail decoding is within the range indicated by the first fault tolerance capability;
[0055] (3) The application layer recovers the first data based on the successfully decoded data packet.
[0056] Through this implementation, the receiving end can feed back decoding success to the sending end based on the overall decoding situation and under preset conditions, thereby improving the efficiency of feedback while ensuring the effectiveness of the feedback.
[0057] In one possible implementation, the second device sending the first information or the second information to the first device based on the successfully decoded data packet may include: when the second device determines that a second condition is satisfied based on the successfully decoded data packet, sending the second information to the first device; the second condition may include, but is not limited to, one or more of the following:
[0058] (1) The ratio of the number of successfully decoded data packets to the number of received encoded data packets is less than a first threshold;
[0059] (2) The number of data packets that fail to be decoded exceeds the number range indicated by the first fault tolerance capability;
[0060] (3) The application layer cannot recover the first data based on the successfully decoded data packet.
[0061] Through this implementation, the receiving end can feed back decoding failure to the sending end based on the overall decoding situation and when preset conditions are met, thereby improving the efficiency of feedback while ensuring the effectiveness of the feedback.
[0062] In a possible implementation, the second information is further used to indicate retransmission of the encoded data packet that failed decoding.
[0063] Through this implementation, in the event of a decoding failure, the receiving end can instruct the sending end to retransmit the encoded data packet that failed to be decoded, so as to ensure that the receiving end can successfully complete the decoding and recover the corresponding data.
[0064] In a third aspect, the present application further provides a communication device, which is the first device or a chip in the first device. The communication device has the function of implementing any of the methods provided in the first aspect above. The communication device can be implemented by hardware or by hardware executing corresponding software implementations. The hardware or software includes one or more units or modules corresponding to the above functions.
[0065] In one possible design, the communication device includes a processor configured to support the communication device in executing the corresponding functions of the first means in the method described above. The communication device may also include a memory, which may be coupled to the processor and stores program instructions and data necessary for the communication device. Optionally, the communication device also includes an interface circuit for supporting communication between the communication device and equipment such as a service satellite, such as the transmission and reception of data or signals. Exemplarily, the communication interface may be a transceiver, circuit, bus, module, or other type of communication interface.
[0066] In one possible design, the communication device includes corresponding functional modules for implementing the steps in the above method. The functions can be implemented by hardware or by hardware executing corresponding software implementations. The hardware or software includes one or more modules corresponding to the above functions.
[0067] In one possible design, the structure of the communication device includes a processing unit and a communication unit, which can perform the corresponding functions in the above method example. For details, please refer to the description of the method provided in the first aspect, which will not be repeated here.
[0068] In a fourth aspect, the present application further provides a communication device, which is a second device or a chip in the second device. The communication device has the function of implementing any of the methods provided in the second aspect above. The communication device can be implemented by hardware or by hardware executing corresponding software implementations. The hardware or software includes one or more units or modules corresponding to the above functions.
[0069] In one possible design, the communication device includes: a processor configured to support the communication device in executing the corresponding functions of the second device in the method shown above. The communication device may also include a memory, which may be coupled to the processor and stores the necessary program instructions and data for the communication device. Optionally, the communication device also includes an interface circuit, which is used to support communication between the communication device and devices such as terminal devices and core network devices, such as the transmission and reception of data or signals. Exemplarily, the communication interface may be a transceiver, circuit, bus, module, or other type of communication interface.
[0070] In one possible design, the communication device includes corresponding functional modules for implementing the steps in the above method. The functions can be implemented by hardware or by hardware executing corresponding software implementations. The hardware or software includes one or more modules corresponding to the above functions.
[0071] In one possible design, the structure of the communication device includes a processing unit and a communication unit, which can perform the corresponding functions in the above method example. For details, please refer to the description of the method provided in the second aspect, which will not be repeated here.
[0072] In a fifth aspect, a communication device is provided, comprising a processor and an interface circuit, wherein the interface circuit is used to receive signals from other communication devices outside the communication device and transmit them to the processor or send signals from the processor to other communication devices outside the communication device, and the processor is used to implement the method in the aforementioned first aspect and any possible implementation method through logic circuits or execution code instructions.
[0073] In the sixth aspect, a communication device is provided, comprising a processor and an interface circuit, the interface circuit being used to receive signals from other communication devices outside the communication device and transmit them to the processor or to send signals from the processor to other communication devices outside the communication device, the processor being used to implement the method in the aforementioned second aspect and any possible design through logic circuits or executing code instructions.
[0074] In the seventh aspect, a computer-readable storage medium is provided, which stores a computer program or instruction. When the computer program or instruction is executed by a processor, it implements the method in any one of the first to second aspects and any possible implementation methods.
[0075] In an eighth aspect, a computer program product storing instructions is provided, which, when executed by a processor, implements the methods in the aforementioned first to fourth aspects and any possible implementation methods.
[0076] In a ninth aspect, a chip system is provided, comprising a processor and a memory, for implementing the method of the first and second aspects and any possible implementation. The chip system may be composed of a chip or may include a chip and other discrete devices.
[0077] In a tenth aspect, a communication system is provided, comprising the first device described in the first aspect and the second device described in the second aspect.
[0078] The technical effects that can be achieved by the technical solutions in any of the third to tenth aspects mentioned above can be described with reference to the technical effects that can be achieved by the technical solutions in the first to second aspects mentioned above, and the repeated parts will not be repeated. BRIEF DESCRIPTION OF THE DRAWINGS
[0079] FIG1 is a schematic diagram of the architecture of a communication system according to an embodiment of the present application;
[0080] FIG2A is a diagram illustrating an example of a protocol layer structure according to an embodiment of the present application;
[0081] FIG2B is a diagram illustrating an example of a data packet structure according to an embodiment of the present application;
[0082] FIG3A is a schematic diagram of downlink data transmission according to an embodiment of the present application;
[0083] FIG3B is a diagram illustrating an exemplary data packet encapsulation structure according to an embodiment of the present application;
[0084] FIG3C is an example diagram of context information between two pictures according to an embodiment of the present application;
[0085] FIG4A is a flow chart of a communication method according to an embodiment of the present application;
[0086] FIG4B is a flow chart of a communication method according to an embodiment of the present application;
[0087] FIG5 is a flow chart of a communication method according to an embodiment of the present application;
[0088] FIG6 is a schematic diagram of a flow chart of an embodiment of the present application;
[0089] FIG7 is a schematic diagram of a data packet structure according to an embodiment of the present application;
[0090] FIG8A is a schematic diagram of a protocol structure on an access network device side according to an embodiment of the present application;
[0091] FIG8B is a schematic diagram of a protocol structure on a terminal device side according to an embodiment of the present application;
[0092] FIG9 is a schematic diagram of a decoding result feedback according to an embodiment of the present application;
[0093] FIG10 is a schematic structural diagram of a communication device according to an embodiment of the present application;
[0094] FIG11 is a schematic structural diagram of another communication device according to an embodiment of the present application;
[0095] FIG12 is a schematic diagram of the device structure of a chip according to an embodiment of the present application. DETAILED DESCRIPTION
[0096] The technical solutions in the embodiments of the present application will be described below in conjunction with the accompanying drawings in the embodiments of the present application. Obviously, the embodiments described are only a part of the embodiments of the present application, rather than all the embodiments. The terms "first", "second" and corresponding terminology numbers in the present application are used to distinguish similar objects, and are not necessarily used to describe a specific order or precedence. It should be understood that the terms used in this way can be interchangeable when appropriate, and this is merely a way of distinguishing objects with the same properties when describing the embodiments of the present application. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions, so that the process, method, system, product or device comprising a series of units is not necessarily limited to those units, but may include other units that are not clearly listed or inherent to these processes, methods, products or devices. The methods and devices provided in the embodiments of the present application are based on the same or similar technical concepts. Since the principles of solving the problems of the methods and devices are similar, the implementation of the devices and methods can refer to each other, and the repetitions will not be repeated.
[0097] The technical solutions in the embodiments of the present application can be applied to various communication systems, such as universal mobile telecommunications system (UMTS), wireless local area network (WLAN), wireless fidelity (Wi-Fi) system, 4th generation (4G) mobile communication system, such as long term evolution (LTE) system, 5th generation (5G) mobile communication system, such as new radio (NR) system, and future evolved communication systems, such as 6th generation (6G) mobile communication system. In particular, the embodiments of the present application can be applied to semantic communication systems.
[0098] This application will present various aspects, embodiments or features around a system that may include multiple devices, components, modules, etc. It should be understood and appreciated that each system may include additional devices, components, modules, etc., and / or may not include all the devices, components, modules, etc. discussed in conjunction with the accompanying drawings. In addition, combinations of these schemes may also be used. In addition, in the embodiments of this application, words such as "exemplarily" and "for example" are used to indicate examples, illustrations or descriptions. Any embodiment or design described in this application as an "example" should not be interpreted as being more preferred or more advantageous than other embodiments or design schemes. Specifically, the use of the word "example" is intended to present concepts in a concrete way. In the embodiments of this application, "of", "corresponding, relevant" and "corresponding" can sometimes be used interchangeably. It should be noted that when the distinction is not emphasized, the meanings to be expressed are consistent.
[0099] To facilitate understanding of the embodiments of the present application, a communication system applicable to the embodiments of the present application will be described in detail using the communication system shown in FIG1 as an example. As shown in FIG1 , the communication system 10 includes a radio access network (RAN) 100 and a core network (CN) 200. Optionally, the communication system 10 may further include a data network (DN) 300.
[0100] The following describes in detail the RAN 100 , CN 100 , and DN 300 involved in FIG1 .
[0101] (1)RAN100:
[0102] RAN 100 may include at least one radio access network device (also referred to as an access network device, such as 110a and 110b in Figure 1 ), and may also include at least one terminal device (such as 120a-120j in Figure 1 ). The terminal device may be wirelessly connected to the radio access network device. Terminal devices and access network devices may be connected to each other via wired or wireless means.
[0103] The access network equipment and terminal equipment can be fixed or mobile. The access network equipment and terminal equipment can be deployed on land, including indoors or outdoors, handheld or vehicle-mounted; they can also be deployed on the water surface; they can also be deployed in the air on aircraft, balloons and artificial satellites. The embodiments of the present application do not limit the application scenarios of the access network equipment and terminal equipment. In addition, the roles of the access network equipment and terminal equipment can be relative. For example, the helicopter or drone 120i in Figure 1 can be configured as a mobile access network equipment. For those terminal devices 120j that access the wireless access network 100 through 120i, 120i is an access network equipment; but for the first access network equipment 10a, 120i is a terminal equipment, that is, the communication between 110a and 120i is through the wireless air interface protocol. Of course, the communication between 110a and 120i can also be carried out through the interface protocol between access network equipment and access network equipment. In this case, relative to 110a, 120i is also an access network equipment. Therefore, access network equipment and terminal equipment can be collectively referred to as communication devices. 110a and 110b in FIG1 can be referred to as communication devices with access network equipment functions, and 120a-120j in FIG1 can be referred to as communication devices with terminal equipment functions.
[0104] (1.1) Terminal equipment:
[0105] A terminal device may also be referred to as user equipment (UE), terminal, user device, access terminal, user unit, user station, mobile station, mobile station (MS), remote station, remote terminal, mobile device, user terminal, terminal unit, terminal station, terminal device, wireless communication device, user agent or user device.
[0106] For example, the terminal device in the embodiment of the present application can be a mobile phone, a personal digital assistant (PDA), a laptop computer, a tablet computer, a drone, a computer with wireless transceiver function, a machine type communication (MTC) terminal device, a virtual reality (VR) terminal device, an augmented reality (AR) terminal device, an Internet of Things (IoT) terminal device, a wireless terminal device in industrial control, a wireless terminal device in self-driving, a wireless terminal device in remote medical, a wireless terminal device in a smart grid, a wireless terminal device in transportation safety, a wireless terminal device in a smart city, a wireless terminal device in a smart home (such as a game console, a smart TV, a smart speaker, a smart refrigerator, and fitness equipment, etc.), and a vehicle-mounted terminal device.
[0107] (1.2) Access network equipment:
[0108] The access network device can be a base station, an evolved NodeB (eNodeB), an access point (AP), a transmission reception point (TRP), a next generation NodeB (gNB), a next generation base station in a 6G mobile communication system, a base station in a future mobile communication system, or an access node in a WiFi system, etc. The access network device can be a macro base station, a micro base station or an indoor station, a relay node or a donor node, or a wireless controller in an open access network (open RAN, O-RAN or ORAN) or a cloud radio access network (cloud radio access network, CRAN) scenario. Optionally, the access network device can also be a server, a wearable device, a vehicle or an on-board device, etc. For example, the access network device in the vehicle to everything (V2X) technology can be a road side unit (RSU). All or part of the functions of the access network device in this application can also be implemented by software functions running on hardware, or by virtualization functions instantiated on a platform (such as a cloud platform). The access network device in this application may also be a logical node, a logical module or software that can implement all or part of the functions of the access network device.
[0109] In another possible scenario, multiple access network devices collaborate to assist terminal devices in achieving wireless access, and different access network devices respectively implement part of the functions of the base station. For example, the access network device can be a centralized unit (CU), a distributed unit (DU), a CU-control plane (CP), a CU-user plane (UP), or a radio unit (RU). The CU and DU can be set separately, or they can be included in the same network element, such as a baseband unit (BBU). The RU can be included in a radio frequency device or radio frequency unit, such as a remote radio unit (RRU), an active antenna unit (AAU), or a remote radio head (RRH).
[0110] In different systems, CU (or CU-CP and CU-UP), DU or RU may also have different names, but those skilled in the art can understand their meanings. For example, in the ORAN system, CU may also be called O-CU (Open CU), DU may also be called O-DU, CU-CP may also be called O-CU-CP, CU-UP may also be called O-CU-UP, and RU may also be called O-RU. For the convenience of description, this application uses CU, CU-CP, CU-UP, DU and RU as examples for description. Any unit of CU (or CU-CP, CU-UP), DU and RU in this application can be implemented by a software module, a hardware module, or a combination of a software module and a hardware module.
[0111] In the embodiments of the present application, the functions of the access network device may also be performed by a module (such as a chip) in the access network device, or by a control subsystem that includes the functions of the access network device. The control subsystem that includes the functions of the access network device here may be a control center in the above-mentioned application scenarios such as smart grid, industrial control, smart transportation, and smart city. The functions of the terminal device may also be performed by a module (such as a chip or modem) in the terminal device, or by a device that includes the terminal functions.
[0112] (2) CN200:
[0113] CN200 may include multiple core network elements, and radio access network devices may be connected to the core network elements via wireless or wired connections. The core network elements and radio access network devices may be independent physical devices, or the functions of the core network elements and the logical functions of the radio access network devices may be integrated into the same physical device. Alternatively, a single physical device may integrate some of the functions of the core network elements and some of the functions of the radio access network devices.
[0114] Taking the 5G communication system as an example, the core network elements in CN200 may include access and mobility management function (AMF) network elements, session management function (SMF) network elements, user plane function (UPF) network elements, policy control function (PCF) network elements, application function (AF) network elements, etc. For detailed descriptions of the above core network elements, please refer to the relevant technical specifications of 3GPP.
[0115] (3)DN300:
[0116] The DN300, also known as a packet data network (PDN), is a network located outside the carrier network. Application servers corresponding to various services can be deployed in the DN300, providing a variety of possible services to terminal devices.
[0117] It is understandable that the solutions in the embodiments of the present application can be applied to a variety of possible communication systems, such as 5G communication systems or future 6G communication systems. The above-mentioned network elements or functions can be network elements in hardware devices, software functions running on dedicated hardware, or virtualized functions instantiated on a platform (e.g., a cloud platform). In addition, Figure 1 is only a schematic diagram, and the RAN of the communication system may also include other access network devices, such as wireless relay devices and wireless backhaul devices.
[0118] In the network architecture illustrated in Figure 1, a user-plane data transmission channel can be established for a terminal device through a control-plane signaling interaction process (e.g., a protocol data unit (PDU) session establishment process). This allows the terminal device to communicate with an application server deployed in the DN through the user-plane data transmission channel. For example, an application server can send a downlink data packet to a terminal device. The downlink data packet's transmission path is: application server → UPF network element → access network device → terminal device. Correspondingly, a terminal device can send an uplink data packet to an application server. The uplink data packet's transmission path is: terminal device → access network device → UPF network element → application server.
[0119] Figure 2A is an example diagram of the protocol layer structure. As shown in Figure 2A, the access network protocol layer structure can be followed between the terminal device and the access network device. The description of the access layer protocol layer structure is referred to below. The protocol layer structure between the access network device and the UPF network element may include the L1 layer (i.e., physical layer), the L2 layer (i.e., data link layer), the user datagram protocol (UDP) layer, the internet protocol (IP) layer, the general packet radio service (GPRS) tunneling protocol (GTP)-user plane (GTP-U) layer, etc.; in addition, the UPF network element may also include a PDU session layer that is equivalent to the PDU session layer of the terminal device. The protocol layer structure between the UPF network element and the application server may include the L1 layer, the L2 layer, and other layers, with specific reference to existing protocols; in addition, the application server may also include an application layer that is equivalent to the application layer of the terminal device.
[0120] The access network device can receive GTP-U packets from the UPF network element through the NG interface (also known as the N3 interface or NG-U tunnel). For example, as shown in Figure 2B, the GTP-U packet includes a GTP-U header, an inner IP header, a TCP header, and data. The GTP-U header includes an outer IP header, a UDP header, and a GTP header.
[0121] The following introduces the protocol layer structure between access network equipment and terminal equipment.
[0122] The access network protocol layer structure between the access network device and the terminal device may include a control plane protocol layer structure and a user plane protocol layer structure. FIG2A above illustrates the user plane protocol structure as an example. For example, the control plane protocol layer structure may include a radio resource control (RRC) layer, a packet data convergence protocol (PDCP) layer, a radio link control (RLC) layer, a media access control (MAC) layer, and a physical layer (PHY); the user plane protocol layer structure may include a PDCP layer, an RLC layer, a MAC layer, and a physical layer. In one possible implementation, a service data adaptation protocol (SDAP) layer may also be included above the PDCP layer. Among them, the SDAP layer, the PDCP layer, the RLC layer, the MAC layer, and the physical layer may also be collectively referred to as the access layer. As can be seen from FIG2A , the terminal device also includes a non-access layer, such as a PDU session layer, an application layer, and the like. For a detailed description of each of the above protocol layers, reference may be made to the relevant technical specifications of the 3rd Generation Partnership Project (3GPP).
[0123] When an access network device and a terminal device perform user-plane data transmission, the data needs to pass through the user-plane protocol layers, such as the SDAP layer, PDCP layer, RLC layer, MAC layer, and physical layer. For example, data is transmitted between the access network device and the terminal device by establishing at least one data radio bearer (DRB). Each DRB may correspond to a set of functional entities, such as a PDCP layer entity, at least one RLC layer entity corresponding to the PDCP layer entity, at least one MAC layer entity corresponding to at least one RLC layer entity, and at least one physical layer entity corresponding to at least one MAC layer entity.
[0124] Taking downlink data transmission as an example, Figure 3A illustrates the transmission of downlink data between various layers. As shown in Figure 3A, from the perspective of an access network device, after the SDAP layer entity of the access network device obtains data, it can map the data to the PDCP layer entity of the corresponding DRB based on the data's Quality of Service (QoS) flow indicator (QFI). The PDCP layer entity can then transmit the data to at least one RLC layer entity corresponding to the PDCP layer entity. The at least one RLC layer entity then transmits the data to the corresponding MAC layer entity. The MAC layer entity then generates a transport block, which is then wirelessly transmitted via the corresponding physical layer entity to the terminal device.
[0125] Downlink data can be encapsulated in various layers of the access network device. Data received by a layer from its upper layer is considered a service data unit (SDU) of that layer. After layer encapsulation, it becomes a PDU and is then passed to the next layer. For example, as shown in Figure 3B, the data received by the PDCP layer entity from the SDAP layer can be called a PDCP SDU. After the PDCP layer entity encapsulates the PDCP SDU (for example, by adding a PDCP layer header), it obtains a PDCP PDU and sends it to the RLC layer. The PDCP PDU received by the RLC layer entity from the PDCP layer can be called an RLC SDU. After the RLC layer entity encapsulates the RLC SDU (for example, by adding an RLC layer header), it obtains an RLC PDU and sends it to the MAC layer. After receiving the RLC PDU, the MAC layer can encapsulate one or more RLC PDUs (and RLC PDU segments) into a MAC PDU, which is also called a transport block, and send the transport block to the physical layer. After receiving the transport block, the physical layer can add verification information, such as a cyclic redundancy check (CRC), to the transport block and then send it to the terminal device. Among them, data can be transmitted between different layers through corresponding channels. For example, data can be transmitted between the RLC layer entity and the MAC layer entity through a logical channel (LCH), and data can be transmitted between the MAC layer entity and the physical (PHY) layer entity through a transport channel.
[0126] When the access network device and the terminal device perform control plane signaling, the signaling needs to pass through the control plane protocol layer, such as the RRC layer, PDCP layer, RLC layer, MAC layer, and physical layer. For example, the access network device and the terminal device establish at least one signaling radio bearer (SRB) to transmit signaling. SRBs and DRBs can be collectively referred to as radio bearers (RBs).
[0127] Take the example of an access network device sending RRC signaling to a terminal device, where RRC signaling can also be referred to as an RRC message. Figure 3A illustrates a schematic diagram of the transmission of RRC messages between layers. As shown in Figure 3A, from the perspective of the access network device, after the RRC layer entity of the access network device generates an RRC message, it can deliver the RRC message to the PDCP layer entity of the corresponding SRB. The PDCP layer entity can transmit the RRC message to at least one RLC layer entity corresponding to the PDCP layer entity, which is then transmitted by at least one RLC layer entity to the corresponding MAC layer entity. The MAC layer entity then generates a transmission block, which is then wirelessly transmitted through the corresponding physical layer entity to send to the terminal device.
[0128] From the perspective of the terminal device, after the physical layer of the terminal device receives the transport block from the access network device, it can pass it from the physical layer to the upper layer in sequence, and each layer can perform the corresponding decapsulation. In other words, the processing performed by each layer in the terminal device can be the reverse process of the processing performed by each layer in the access network device.
[0129] The network architecture and business scenarios described in the embodiments of the present application are intended to more clearly illustrate the technical solutions of the embodiments of the present application, and do not constitute a limitation on the technical solutions provided in the embodiments of the present application. A person skilled in the art will appreciate that, with the evolution of the network architecture and the emergence of new business scenarios, the technical solutions provided in the embodiments of the present application are equally applicable to similar technical problems.
[0130] In order to better understand the embodiments of the present application, the following first explains the relevant technical features and names involved in the embodiments of the present application. It should be noted that these explanations are intended to make the embodiments of the present application easier to understand and should not be regarded as limiting the scope of protection claimed by this application.
[0131] 1. Semantic Communication: Unlike traditional communication systems, which primarily focus on accurate bit- or symbol-level information transmission and therefore use bit error rate (BER) or symbol error rate (SER) as their primary performance metrics, semantic communication systems focus on how accurately transmitted symbols convey the intended meaning. Applications supported by semantic communication include high-precision voice, high-definition video, and other data-intensive services with high latency requirements.
[0132] 2. Semantic Fault-Tolerant Services: Also known as fault-tolerant services, semantic fault-tolerant services refer to services that are fault-tolerant in the source or application layer decoding. This means that the source or application layer can correctly recover the content based on erroneous data. Erroneous data can refer to data with transmission errors (e.g., partial data loss during transmission) or data with partial decoding failures or errors during decoding.
[0133] Alternatively, semantic error tolerance can be achieved by adding forward error correction (FEC) at the application layer. FEC allows for transmission errors in received data, but in certain scenarios, such as when the number of erroneous bits is relatively small and still within the error correction capability, the application layer can use FEC to correct the erroneous data and recover the correct content.
[0134] Alternatively, semantic fault tolerance services can also use artificial intelligence (AI) decoding. From an information theory perspective, because AI decoding models can provide additional information entropy, even if some information entropy is lost when data is transmitted incorrectly, AI decoding can still replenish the lost information entropy, allowing the information content to be correctly restored.
[0135] It should be noted that "semantic fault-tolerant service" is only an exemplary name. This application does not limit the naming of this type of service. In specific implementation, as long as the service can be correctly decoded based on erroneous data packets, it can be understood as the semantic fault-tolerant service described in this application.
[0136] 3. Fault tolerance: In semantic communication, some current video applications add forward error correction (FEC) at the application layer to provide fault tolerance. Fault tolerance can be understood as follows: the transmitter encodes the original information vector A into a latent representation vector B in a specified semantic feature domain, transmits it over the air interface, and the receiver receives the latent representation vector B', where B≠B'. However, within the semantic feature domain, the Hamming distance between the latent representation vector B' received by the receiver and the latent representation vector B of the transmitter does not exceed a specified threshold ε. The receiver can decode the received latent representation vector B' into A' through decoding, where A'=A. In this case, the fault tolerance can be quantified as ε.
[0137] In the embodiments of the present application, the fault tolerance of data may also be understood as, but not limited to, one or more of the following:
[0138] (1) Supports obtaining or generating the frame to which the data belongs based on a preset number of data packets.
[0139] For example, taking picture data as an example, it supports obtaining or generating a picture of the frame to which the data belongs based on a preset number of data packets.
[0140] (2) Supports correction of a preset number of data packets in the data.
[0141] For example, taking image data as an example, the fault tolerance capability of the data may refer to supporting the correction of a preset number of erroneous data packets.
[0142] (3) Support decoding error packets within a preset number range and be able to obtain or generate the frame to which the data belongs.
[0143] For example, taking picture data as an example, the fault tolerance capability of the data may refer to being able to obtain or generate a picture of the frame of the data when the number of data packets with decoding errors is within a preset range.
[0144] 4. Entropy estimate: This can also be called entropy value, information entropy, etc. In information theory, entropy estimates reflect the uncertainty of information. A larger entropy estimate for business data indicates richer information. Conversely, a smaller entropy estimate indicates less information.
[0145] 5. Contextual Information: In the real world, objects don't exist in isolation; they must have connections or relationships with other objects around them. This is commonly referred to as contextual information. Contextual information can be understood as the ability to perceive and apply partial or complete information that influences objects in scenes and images.
[0146] By capturing the interaction information between different objects and the interaction information between objects and scenes as conditions, new objects can be recognized and processed. Contextual information is not directly obtained from the appearance of the object, but rather from the data in the neighborhood, the object's annotation, the object's spatial location, or data statistics.
[0147] Taking pictures as an example of data, contextual information may include correlations between pictures and correlations within pictures, and the correlations between pictures and correlations within pictures may include but are not limited to temporal correlations and / or spatial correlations (equivalent to correlations in the dimensions of time and / or space).
[0148] For example, consider target data consisting of two frames of images, such as Image 1 and Image 2 in Figure 3C . In Image 1, the target objects include the ocean, land, trees, birds, and the sun, with the sky as the background. These target objects, as well as the target objects and the background, exhibit certain correlations in spatial and / or temporal dimensions, which can be referred to as correlation information within Image 1. The same applies to Image 2.
[0149] If Picture 1 is the current frame and Picture 2 is the next frame, there is a spatial correlation between the two pictures. For example, the position of the target object (such as the ocean, land, tree, bird, sun) in Picture 1 is correlated with the position of the target object (such as the ocean, land, tree, bird, sun) in Picture 2. The time of the picture shown in Picture 1 is also correlated with the time of the picture shown in Picture 2. For example, the pictures shown in Picture 1 and Picture 2 correspond to different times in the same time period, and the time of Picture 2 is later than that of Picture 1. Therefore, based on the picture shown in Picture 1 and the temporal correlation between the two pictures, it can be inferred that the position of the sun in Picture 2 will be slightly lower than the position of the sun in Picture 1.
[0150] Therefore, the context information of the target data may include correlation information within picture 1 , correlation information within picture 2 , and correlation information between picture 1 and picture 2 .
[0151] 6. Group of Pictures (GOP): The Moving Pictures Experts Group (MPEG) format categorizes frame sequences into three types: I, P, and B. For example, they appear in the pattern IBBPBBPBBIPBBP... This continuous sequence of frames is called a group of pictures (GOP), the fundamental unit of MPEG access. Its order repeats until the end of the video. A GOP is a group of consecutive IPB frames. MPEG encoding categorizes frames into three types: I, P, and B. I represents intra-coded frames, P represents forward-predicted frames, and B represents bidirectionally interpolated frames. Simply put, an I frame is a keyframe, essentially a complete picture, while P and B frames record changes relative to an I frame. A P frame represents the difference between the current frame and the next frame (also called the previous frame), while a B frame represents the difference between the previous frame and the next frame. Without I frames, P and B frames cannot be decoded. This is why precise editing in the MPEG format is difficult and why header and footer adjustments are necessary. The longer the I-frame (keyframe) interval, the longer the GOP, and theoretically the higher the definition of the picture.
[0152] In an embodiment of the present application, a group of pictures GOP is a group of continuous pictures. Then, when feature extraction is performed on a group of picture groups GOP, the obtained feature data stream is a long string of data. During actual transmission, multiple IP packets may be required to carry it, for example, due to the length of the IP packets.
[0153] 7. Current source coding and channel coding technologies:
[0154] In current communications, in order to ensure the reliability and efficiency of data or information transmission, the sending end usually performs encoding processing on the data or information to be sent, and the receiving end performs decoding processing after receiving it.
[0155] Artificial Intelligence (AI)-based source coding: Semantics are widely used in source coding scenarios, such as image and video coding, and are generally referred to as AI-based source coding. The following uses deep contextual video compression-diverse contexts (DCVC-DC) (video coding) as an example to demonstrate how AI can be used to extract semantics and optimize source coding, achieving superior compression performance compared to current adaptive coding methods.
[0156] In response to the problems of current video codecs, such as large data dimensions and difficulty in manually formulating clear rules to utilize correlations, DCVC-DC proposes the use of deep learning methods for conditional coding, that is, directly encoding the current frame based on the predicted frame or context information to reduce the entropy limit. In other words, the associated context information is determined from the previously reconstructed signal and applied to the current codec, thereby improving coding efficiency (or improving compression efficiency).
[0157] As shown in FIG4A , DCVC-DC uses context features / context information that can be learned as a condition to replace the predicted frame. Context features or context (e.g., C shown in FIG4A ) t-2 、C t-1 , C t ) is usually used to characterize the temporal and spatial correlation within and between images, and can be used as part of the input of the context encoder, context decoder, and entropy model. Furthermore, in order to effectively capture information at different levels, such as texture, structure, color, motion, etc. in video frames, and to effectively handle the problem of different object sizes at different resolutions, the context features (or context) are adjusted to multiple scales so that DCVC-DC can utilize high-level networks (high-level networks have a relatively large receptive field and strong semantic information representation capabilities) and low-level networks (low-level network feature maps have high resolution and strong geometric information representation capabilities) to obtain context features (or context) of different sizes. In addition, in order to obtain rich, long-term, and high-quality temporal context, a cross-frame hierarchical quality mode is adopted to periodically generate high-quality output frames and features containing many high-frequency details. Through cascade training across multiple frames, a feature propagation chain is formed, so that the high-quality context is maintained over a longer range.
[0158] In addition, as shown in Figure 4B, DCVC-DC supports the use of an entropy model based on quadtree partitioning, which makes it possible to make better use of diverse spatial contexts during entropy coding and remove spatial redundancy within the frame. Specifically, the features are divided into four groups along the channel dimension, as shown in Figure 4B. Split (or copy) into Each group is spatially divided into non-overlapping 2×2 blocks. The entire entropy coding process is divided into four steps. In each step, blocks with different positions but the same number are encoded for each of the four groups. The probability distribution of the position encoded in the current step is predicted based on all the positions encoded in the previous step. This fully utilizes the spatial context and allows for parallel (or forward) processing, resulting in faster training and encoding and decoding speeds.
[0159] In summary, AI-based source coding, taking DCVC-DC as an example, builds a cross-frame context and uses this context for multi-channel feature encoding, thereby making compression more efficient. The receiving end performs decoding based on the same context, which makes decoding more efficient.
[0160] Semantic communication based on entropy models: Applying entropy models to source coding can improve compression gain, and it is proposed to apply entropy models to channel coding. Under a semantic communication framework based on joint source and channel coding (JSCC), the following scheduling methods can be used:
[0161] Step 1: The application layer (or source) performs semantic extraction on the original image x, assuming that the label is vector y, and extracts the entropy estimation value of vector y.
[0162] Step 2: A trade-off between data importance, redundancy, and channel transmission capability guides physical layer channel coding and adaptive transmission. For example, data with a higher entropy estimate is allocated more bandwidth and a lower bit rate during transmission.
[0163] Specifically, at the transmitting end, the source information, such as the original image x, is extracted based on the source category in combination with semantic information coding technology. The semantic information (vector y) and the transmission environment status information are input into the source-channel joint coding module. Based on the trained deep learning model, the above data information is jointly encoded with the source channel and sent to the physical channel for bit data transmission.
[0164] A corresponding receiver model is constructed at the receiving end. For example, the receiver model may include a source-channel joint decoder and a semantic decoder. First, the access end can decode the received bit data information based on the trained source-channel joint decoder and the current channel state information to obtain the corresponding semantic coding information. The receiving end inputs the semantic coding information into the semantic decoder to decode the corresponding semantic information and key feature extraction information. The receiving end verifies the semantic information. If the verification information passes, it indicates that the source information is correctly transmitted. Otherwise, the key feature information is used to repair it, or the retransmission of all or part of the source information is triggered. When all the segmented semantic information is decoded, the overall semantic information is restored according to the segmentation method.
[0165] As can be seen from the introduction to existing coding technologies, AI-based semantic source coding achieves high-quality compression by maintaining the same context for source encoding and decoding at the transmitter and receiver, without considering the use of this context in channel coding. Semantic communication based on entropy models demonstrates that expanding the scope of coding optimization from the source to the channel can bring further benefits.
[0166] In view of the above, an embodiment of the present application proposes a communication method, which implements channel coding of data based on context information of the data, thereby effectively improving the transmission performance of the data.
[0167] The communication method provided in the embodiments of the present application may involve interaction between two devices, such as a first device and a second device, wherein the first device may serve as a transmitter or a receiver, and the second device may also serve as a transmitter or a receiver. For example, when the first device serves as a transmitter, the second device serves as a receiver; when the second device serves as a transmitter, the first device serves as a receiver. Hereinafter, the embodiments of the present application will be described using the first device as a transmitter and the second device as a receiver as an example.
[0168] For example, in the communication system shown in FIG1 above, the first device may be an access network device, and the second device may be a terminal device; or the first device may be a terminal device, and the second device may be an access network device. In the embodiments of the present application, unless otherwise specified, "terminal device" may refer to the terminal device itself or a component in the terminal device, such as a chip or a chip system; "network device (including access network device)" may refer to the network device itself or a component in the network device, such as a chip or a chip system.
[0169] The following is a corresponding introduction to the solutions of the embodiments of the present application.
[0170] The embodiment of the present application provides a communication method, which is applicable to but not limited to the communication system shown in Figure 1. The method can be executed by a first device and a second device; or the method can be executed by components (modules, chips, etc.) corresponding to the first device and the second device; or the method can be executed by a device corresponding to the first device and the second device; it can be understood that the present application does not make specific restrictions on the specific structure of the execution subject of the method provided in the embodiment of the present application and the number of each execution subject. As long as it is possible to communicate according to the method provided in the embodiment of the present application by running a program that records the code of the method provided in the embodiment of the present application, the interaction between the first device and the second device will be used as an example for explanation below. The order of steps in the following processes is only an example. In actual applications, the execution order of the steps in each process can be adjusted.
[0171] Please refer to Figure 5, the specific process of this method is as follows:
[0172] S501: The first device performs channel coding on the first data packet based on the first context information to obtain an encoded first data packet.
[0173] In which, the first context information is associated with the first data with a first fault tolerance capability, the first data includes N data packets, the first data packet is any one of the N data packets, and N is a positive integer; the first context information can be used to indicate the time and / or space correlation between two frames, and the first fault tolerance capability indication supports obtaining the frame to which the first data belongs based on a preset number of data packets.
[0174] Taking picture-type data as an example, contextual information can be used to indicate the temporal and / or spatial correlation between two adjacent frames of pictures. For the convenience of introduction, the two adjacent frames are referred to as the current frame and the next frame. The temporal information and / or spatial information of the current frame picture, as well as the contextual information (the temporal and / or spatial correlation between the current frame and the next frame), can be used to deduce or predict the temporal information and / or spatial information of the next frame picture. Temporal information: The target between adjacent frames will not change much, and the position will not change suddenly. Spatial information: There is a certain specific relationship between the target and the background around the target. When the appearance of the target changes greatly, this relationship can help distinguish the target from the background.
[0175] Taking the first data as picture-type data as an example, the first data can be a frame of picture or a region therein, and the first data may be composed of multiple data packets. The fault tolerance of the first data packet can refer to supporting the acquisition or generation of the frame of picture or a region therein based on a certain number (or preset number) of data packets. In one possible implementation, the smaller the number of data packets based on which the frame of picture corresponding to the first data or a region in the frame of picture is generated, the stronger the fault tolerance of the first data is, and the greater the number of data packets based on which the first data is generated, the weaker the fault tolerance of the first data is. In an embodiment of the present application, the fault tolerance of the first data can also be understood as the error correction capability or recovery capability of the data. In one possible implementation, the error correction capability of the first data can refer to supporting the correction of errors of a certain amount of data when recovering / generating the frame of picture to which the first data belongs.
[0176] In the above description, the context information and fault tolerance capability are introduced by taking the first data as an example. However, the context information and fault tolerance capability are not limited to the first data, but are applicable to other data similar to the first data.
[0177] In the embodiments of the present application, in a network communication scenario, the first device may be an access network device, a terminal device, or a core network device, etc. The second device may be an access network device, a terminal device, or a core network device, etc. In some embodiments, the first device and the second device may be independently deployed devices or apparatuses, or may be integrated or deployed in the same device or apparatus, without limitation.
[0178] In one possible implementation, the first device performs channel coding on a first data packet among the N data packets based on the first context information to obtain an encoded first data packet, which may include the following steps:
[0179] Step 1: Based on the first context information, the first device uses M encoding methods to perform channel encoding on the M first data packets, respectively, to obtain M encoded data packets. The M first data packets may be obtained by the first device by copying the first data packets, for example, and the M encoding methods correspond one-to-one to the M first data packets (i.e., the M encoding methods can be used one-to-one to encode the M first data packets to obtain corresponding encoded data packets), where M is an integer greater than 1.
[0180] In one possible implementation, a first device, based on first context information, uses M coding methods to perform channel coding on M first data packets, respectively, to obtain M coded data packets, including: first obtaining channel state information (CSI); and then, based on the first context information and the channel state information CSI, using M coding methods to perform channel coding on the M first data packets, respectively, to obtain M coded data packets. In an embodiment of the present application, the first device may obtain the channel state information CSI by performing measurement according to an existing channel measurement process, or by other means, without limitation.
[0181] In an embodiment of the present application, the correspondence between the aforementioned M encoding methods and the M first data packets may be a one-to-one relationship. In one possible implementation, the correspondence between the K encoding methods and the M first data packets may not be a one-to-one relationship, where K is equal to M or K is a positive integer not equal to M; for example, the correspondence between the K encoding methods and the M first data packets may include at least one of a one-to-one relationship, a one-to-many relationship, and a many-to-one relationship; how to match the K encoding methods with the M first data packets to implement the solution can be flexibly set according to actual needs, and no specific restrictions are imposed on this.
[0182] Step 2: The first device merges the M encoded data packets to obtain an encoded first data packet.
[0183] In an embodiment of the present application, the above-mentioned merging process may be implemented in a manner including, but not limited to: the first device may use the M encoded data packets as input to a neural network, and the neural network output is the encoded first data packet, wherein the parameters of the neural network (such as the weights on the neuron lines) may be obtained in advance through training. Alternatively, the first device may use a maximum likelihood method based on the M encoded data packets to obtain the encoded first data packet.
[0184] In one possible implementation, the first device includes a first protocol layer and a second protocol layer; then the first device can perform the above-mentioned step 1 at the first protocol layer or the second protocol layer, and can perform the above-mentioned step 2 at the second protocol layer.
[0185] If the above-mentioned step 1 is performed at the first protocol layer and step 2 is performed at the second protocol layer: the first data packet can be first copied at the first protocol layer or a layer above the first protocol layer to obtain M first data packets; then the above-mentioned step 1 is performed at the first protocol layer to obtain M encoded data packets; further, the M encoded data packets can be sent to the second protocol layer through M channels between the first protocol layer and the second protocol layer, and then step 2 is performed at the second protocol layer; wherein the M encoded data packets can correspond one-to-one to the M channels.
[0186] If the above steps 1 and 2 are both performed at the second protocol layer: the first data packet can be copied at the first protocol layer to obtain M first data packets; then the M first data packets are sent to the second protocol layer, and then the above steps 1 and 2 are performed at the second protocol layer.
[0187] In the embodiment of the present application, the first protocol layer may be, but is not limited to, any one of a packet data convergence protocol (PDCP) layer, a radio link control (RLC) layer, a media access control (MAC) layer, and a physical PHY layer. The second protocol layer may be, but is not limited to, any one of a packet data convergence protocol (PDCP) layer, a radio link control (RLC) layer, a media access control (MAC) layer, and a physical PHY layer.
[0188] For example, if the first protocol layer is the PDCP layer, the second protocol layer may be any one of the radio link control (RLC) layer, the media access control (MAC) layer, and the physical PHY layer. If the first protocol layer is the RLC layer, the second protocol layer may be any one of the media access control (MAC) layer and the physical PHY layer. If the first protocol layer is the MAC layer, the second protocol layer may be the physical PHY layer.
[0189] For example, on the first device side, the first data packet is first copied at the PDCP layer to obtain M first data packets, and the M first data packets are sent to the RLC layer. The RLC layer uses M coding methods to channel-code the M first data packets to obtain M coded data packets, which are then sent to the MAC layer through M channels; the M coded data packets are merged at the MAC layer to obtain the coded first data packets.
[0190] It should be noted that as the application scenarios and / or transmission protocol structures change or evolve, part or all of the PDCP layer, RLC layer, MAC layer, and PHY layer may be replaced by other layers or renamed accordingly. As long as there is a transmission channel / path between two layers or two levels or two entities, the channel coding method of the present application scheme can also be applied.
[0191] In a possible implementation, the M encoding methods mentioned above may correspond one-to-one to the M channels between the first protocol layer and the second protocol layer.
[0192] In the embodiment of the present application, the one-to-one correspondence between the M coding methods and the M channels between the first protocol layer and the second protocol layer can be understood as the M coding methods being used in a one-to-one matching manner with the M channels. In one possible implementation, to ensure transmission efficiency and reliability, the M coding methods are selected or set based on the channel state information (CSI) of the M channels.
[0193] The encoding method used in the embodiment of the present application can be an encoding method evolved from encoding methods such as AI code, low density parity check code (LDPC), or polar code, and is not limited to this.
[0194] In another possible implementation, the correspondence between the K encoding methods and the M channels may not be one-to-one, where K is equal to M or K is a positive integer not equal to M. For example, the correspondence between the K encoding methods and the M channels includes one or more of one-to-one, many-to-one, and one-to-many relationships.
[0195] S502: The first device sends the encoded first data packet to the second device. Correspondingly, the second device receives the encoded first data packet.
[0196] In a possible implementation, the encoded first data packet carries first indication information, where the first indication information is used to indicate that the encoded first data packet is associated with the first data.
[0197] In a possible implementation, the first indication information may also be used to indicate a first fault tolerance capability corresponding to the first data.
[0198] In the embodiment of the present application, S501-S502 is introduced by taking the first data packet in the first data as an example. In actual application, there may be multiple data packets in the first data, and the first device can implement channel coding for each data packet with reference to the above S501. In one possible implementation, in S502, for the multiple encoded data packets corresponding to the first data, the first device can adopt one or more transmission block (multi-TB) scheduling, that is, the multiple encoded data packets can be sent to the second device in parallel (and toward) through one or more transmission blocks. For other data similar to the first data, the encoding process can be performed with reference to the encoding method corresponding to the first data, which will not be described in detail here.
[0199] S503: The second device performs channel decoding processing on the encoded first data packet based on the first context information to obtain a first data packet.
[0200] In one possible implementation, the method further includes: the second device obtaining the first context information. The second device obtaining the first context information may be implemented by, but not limited to, the following methods:
[0201] Method 1: The second device receives the first context information from the first device.
[0202] Method 2: The second device extracts context information from the initial first feature data based on a preset model, and updates the context information according to the currently encoded first data packet to obtain first context information.
[0203] In one possible implementation, the second device performs channel decoding on the encoded first data packet based on the first context information to obtain the first data packet, which may include the following steps:
[0204] Step 1: Based on the first context information, the second device uses M decoding methods to perform channel decoding processing on the M encoded first data packets respectively to obtain M decoded data packets; wherein, the M encoded first data packets can be obtained by the second communication device by copying the encoded first data packets, etc., and the M decoding methods correspond one-to-one to the M encoded first data packets (that is, the M decoding methods can be used one-to-one to decode the M encoded first data packets to obtain corresponding decoded data packets), and M is an integer greater than 1.
[0205] In one possible implementation, the second device, based on the first context information, uses M decoding methods to perform channel decoding processing on the M encoded first data packets, respectively, to obtain M decoded data packets, including: first obtaining channel state information (CSI), and then, based on the first context information and the channel state information (CSI), using M decoding methods to perform channel decoding processing on the M encoded first data packets, respectively, to obtain M decoded data packets. In this embodiment of the present application, the second device may obtain the channel state information (CSI) by performing measurement according to an existing channel measurement process, or by other means, without limitation.
[0206] In an embodiment of the present application, the correspondence between the aforementioned M decoding methods and the M encoded first data packets may be a one-to-one relationship. In one possible implementation, the correspondence between the K decoding methods and the M encoded first data packets may not be a one-to-one relationship, where K is equal to M or K is a positive integer not equal to M; for example, the correspondence between the K decoding methods and the M encoded first data packets may include at least one of a one-to-one, a one-to-many, and a many-to-one relationship; how to match the K decoding methods with the M encoded first data packets to implement the solution can be flexibly set according to actual needs, and no specific restrictions are imposed on this.
[0207] Step 2: The second device merges the M decoded data packets to obtain a first data packet.
[0208] In an embodiment of the present application, the merging process may be implemented by, but is not limited to, the second device using the M decoded data packets as input to a neural network, with the neural network outputting the first data packet, wherein the parameters of the neural network (e.g., weights on neuron lines) may be pre-trained. Alternatively, the second device may use a maximum likelihood method based on the M decoded data packets to obtain the first data packet.
[0209] In one possible implementation, the second device includes a first protocol layer and a second protocol layer; then the second device may perform the above-mentioned step 1 at the first protocol layer or the second protocol layer, and may perform the above-mentioned step 2 at the first protocol layer.
[0210] If step 1 is performed at the second protocol layer and step 2 is performed at the first protocol layer, the encoded first data packet may be copied at the second protocol layer or at a layer below the second protocol layer to obtain M encoded first data packets. Then, step 1 is performed at the second protocol layer to obtain M decoded data packets. The M decoded data packets may then be sent to the first protocol layer via M channels between the first and second protocol layers, and step 2 is performed at the first protocol layer. The M decoded data packets may correspond one-to-one to the M channels.
[0211] If the above steps 1 and 2 are both performed at the first protocol layer: the second protocol layer can first copy the encoded first data packet to obtain M encoded first data packets, and then send the M encoded first data packets to the first protocol layer, and then the first protocol layer performs the above steps 1 and 2.
[0212] For example, if the second protocol layer is the PHY layer, the first protocol layer may be any one of the MAC layer, the RLC layer, and the PDCP layer. If the second protocol layer is the MAC layer, the first protocol layer may be any one of the RLC layer and the PDCP layer. If the second protocol layer is the RLC layer, the first protocol layer may be the PDCP layer.
[0213] It should be noted that as the application scenarios and / or transmission protocol structures change or evolve, part or all of the PDCP layer, RLC layer, MAC layer, and PHY layer may be replaced by other layers or renamed accordingly. As long as there is a transmission channel / path between two layers or two levels or two entities, the channel decoding method of the present application scheme can also be applied.
[0214] In a possible implementation, the M decoding methods mentioned above may correspond one-to-one to the M channels between the first protocol layer and the second protocol layer.
[0215] In the embodiments of the present application, the one-to-one correspondence between the M decoding methods and the M channels between the first protocol layer and the second protocol layer can be understood as the M decoding methods being used in a one-to-one matching manner with the M channels. In one possible implementation, to ensure transmission efficiency and reliability, the M decoding methods are selected or set based on the channel state information (CSI) of the M channels. Furthermore, the M decoding methods can be used in a one-to-one matching manner with the M encoding methods described above.
[0216] In another possible implementation, the K decoding methods and the M channels between the first protocol layer and the second protocol layer may not correspond one to one, where K is equal to M or K is a positive integer not equal to M; for example, the correspondence between the K decoding methods and the M channels includes one or more relationships of one to one, many to one, and one to many.
[0217] In one possible implementation, the method further includes: the second device sending first information or second information to the first device based on the successfully decoded data packet; the first information is used to indicate a successful decoding, and the second information is used to indicate a failed decoding.
[0218] In one possible implementation, the second device sending the first information or the second information to the first device based on the successfully decoded data packet may include: when determining that a first condition is satisfied based on the successfully decoded data packet, sending the first information to the first device; the first condition may include, but is not limited to, one or more of the following:
[0219] (1) The ratio of the number of successfully decoded data packets to the number of received encoded data packets is not less than a first threshold;
[0220] (2) the number of data packets that fail decoding is within the range indicated by the first fault tolerance capability;
[0221] (3) The application layer recovers the first data based on the successfully decoded data packet.
[0222] In one possible implementation, the second device sending the first information or the second information to the first device based on the successfully decoded data packet may include: when the second device determines that a second condition is satisfied based on the successfully decoded data packet, sending the second information to the first device; the second condition may include, but is not limited to, one or more of the following:
[0223] (1) The ratio of the number of successfully decoded data packets to the number of received encoded data packets is less than a first threshold;
[0224] (2) The number of data packets that failed to be decoded is not within the range indicated by the first fault tolerance capability;
[0225] (3) The application layer cannot recover the first data based on the successfully decoded data packet.
[0226] In a possible implementation, the second information may also be used to indicate retransmission of the encoded data packet that failed decoding.
[0227] In the embodiment of the present application, the second device may feed back a decoding result to the first device based on the overall decoding status of a data (including one or more data packets).
[0228] For example, taking first data as an example, after receiving N packets of the first data, the second device sends first information or second information to the first device. The first information is used to indicate that the first data was successfully decoded, and the second information is used to indicate that the first data was not decoded or to instruct the first device to retransmit the packets of the first data that failed to be decoded.
[0229] For example, after the second device receives N data packets of the first data, the number of successfully decoded data packets is k (k is an integer less than or equal to N). If the value of k / N is not less than the first threshold, or the number of successfully decoded data packets is k within the range of the number of data packets indicated by the first fault tolerance capability, or the application layer recovers / generates the first data based on the k successfully decoded data packets, the second device sends a first message to the first device, and the first information is used to indicate that the decoding of the first data is successful.
[0230] For example, after the second device receives N data packets of the first data, the number of successfully decoded data packets is k (k is an integer less than N). If the value of k / N is less than the first threshold, or the number of successfully decoded data packets is k and is not within the range of the number of data packets indicated by the first fault tolerance capability, or the application layer cannot recover or generate the first data based on the k successfully decoded data packets, the second device sends a second message to the first device, and the second message is used to indicate that the decoding of the first data has failed or to instruct the first device to retransmit the data packet that failed to be decoded in the first data.
[0231] The above steps S501-S503 are described using the first data packet in the first data as an example. The same steps S501-S503 can be applied to other data packets, and detailed description thereof will not be repeated. In actual applications, one or more data packets may be channel coded and transmitted synchronously or asynchronously with reference to the above steps S501-S503, and these multiple data packets may belong to the same data or different data packets.
[0232] In summary, an embodiment of the present application proposes a communication method, which includes: a first device performs channel coding on a first data packet based on first context information to obtain an encoded first data packet; wherein the first context information is associated with first data with a first fault tolerance capability, and the first context information is used to indicate the time and / or space correlation between two frames. The first fault tolerance capability indicates support for obtaining the frame to which the first data belongs based on a preset number of data packets, and the first data includes N data packets, and the first data packet is any one of the N data packets, where N is a positive integer; the first device sends the encoded first data packet to the second device; this method can not only effectively improve the efficiency of encoding, but also improve the reliability of transmitted data and the performance (or efficiency) of transmitted data.
[0233] Based on the communication method described in FIG5 , a specific embodiment is described in detail below.
[0234] Embodiment 1: Based on the scheme described in Figure 5 above, taking the picture group GOP as an example of the data to be transmitted, the first device is an access network device (such as a base station), and the second device is a terminal device (UE). The access network device (sender) sends GOP data to the UE (receiver).
[0235] As shown in FIG6 , the process of this embodiment includes the following:
[0236] S600: The access network device and the UE maintain the context information of the GOP.
[0237] The access network device side maintains context information associated with a group of pictures (GOP).
[0238] In one possible implementation, the access network device (sender) may obtain or establish GOP context information in the following manner:
[0239] Method 1: The application layer directly provides GOP context information.
[0240] Method 2: The access network device extracts GOP data locally based on the AI model to obtain contextual information.
[0241] In a possible implementation, the UE (receiving end) may obtain the context information of the GOP in the following manner:
[0242] Mode 1: The UE obtains the context information of the GOP from the access network device (ie, the access network device sends the context information of the GOP to the UE in advance).
[0243] Method 2: The UE uses a preset model (such as an AI model) to extract the initial GOP data to obtain context information, and updates the context information according to the data packet of the current GOP to obtain the context information of the GOP.
[0244] In an embodiment of the present application, the access network device and the UE need to align context information in real time, for example, the context information of the GOP maintained by the access network device and the UE respectively are the same in real time.
[0245] For example, in a lossless switching scenario (UE switches from a source base station to a target base station), it is usually required that the transmitted data cannot be lost. Therefore, in this scenario, if the source base station sends its stored GOP data but has not yet received feedback that the UE has successfully received the data, the source base station forwards the GOP data and the context information of the GOP data to the target base station, which is then sent to the UE through the target base station. In this way, the UE will not lose data.
[0246] S600 is in the initial stage and can be achieved offline, with no restrictions on this.
[0247] S601: The access network device extracts features from the GOP to obtain d feature data streams; d is an integer greater than or equal to 1; each feature data stream includes at least one data packet.
[0248] In an embodiment of the present application, since there may be d different target objects within a single frame, these target objects can be extracted from the single frame using methods such as instance segmentation, thereby obtaining d different feature data or d different feature data packets. Therefore, for a group of pictures (i.e., multiple frames), after extraction using methods such as instance segmentation, d feature data streams can be obtained. These d feature data streams carry different semantic information or content, and the corresponding fault tolerance capabilities of these d feature data streams are also different, where d is an integer greater than or equal to 1. When d is equal to 1, the GOP can be regarded as a single feature data stream.
[0249] For example, the target objects included in the GOP are the sky and buildings. Since the details of the background sky are relatively small, the feature data extracted from the background sky has better error tolerance. However, the details of the building foreground are different, so the feature data extracted from the building has poor error tolerance.
[0250] In this embodiment of the present application, for these d characteristic data streams, each characteristic data stream is composed of at least one data packet (or at least one IP packet). The packets (or IP packets) of each characteristic data stream are marked as a packet bundle, that is, the packets (or IP packets) belonging to the same characteristic data stream are marked as the same bundle. Because the context information and fault tolerance capabilities corresponding to these d characteristic data streams are different, these d characteristic data streams correspond to different packet bundles.
[0251] In one possible implementation, when the access network device sends each bundle of packets (or IP packets), it can also attach the relative weight information of these packets (or IP packets) along the way. The relative weight information of each packet (or IP packet) is used to indicate the fault tolerance capability of the corresponding characteristic data stream, so that the receiving end can perform differentiated processing on different packets (or IP packets) according to the relative weight information.
[0252] For example, consider two feature data streams: the first feature data stream and the second feature data stream. The packet bundle corresponding to the first feature data stream is bundle 1, and the packet bundle corresponding to the second feature data stream is bundle 2. Packets 1 and 2 of the first feature data stream are marked as bundle 1, and packets 3 and 4 of the second feature data stream are marked as bundle 2.
[0253] In one possible implementation, the transmission data packet corresponding to a characteristic data stream may include one or more IP packets, each IP packet carrying indication information (an example of the first indication information in the scheme described in Figure 5 above) to indicate the packet bundle to which it belongs and the fault tolerance capability corresponding to the packet bundle to which it belongs.
[0254] Exemplarily, referring to the structure of the IP packet header shown in FIG7 , an indication field is added to the IP packet header (header) to mark or indicate the packet bundle to which the current IP packet belongs and to indicate the corresponding fault tolerance capability.
[0255] In one possible implementation, an 8-bit indication field is added to the IP packet header, wherein the first 4 bits are used to indicate the identifier of the packet bundle to which the IP packet belongs (such as ID or index, etc.), and the last 4 bits are used to indicate the corresponding fault tolerance capability.
[0256] For example, taking the first characteristic data stream as an example, the ID or index of the packet bundle of the first characteristic data stream is 5, and the number of IP packets with decoding errors that the first characteristic data stream can accept is 3 (i.e., an example of the fault tolerance capability of the first characteristic data stream). Taking an IP packet of the first characteristic data stream as an example, an 8-bit indicator field is newly added to the IP packet header, the first 4 bits of the indicator field are marked as 0101, and the last 4 bits of the indicator field are marked as 0011.
[0257] For example, taking the first characteristic data stream as an example, the ID or index of the packet bundle of the first characteristic data stream is 5, and the first characteristic data stream supports obtaining the first characteristic data stream based on 9 correct IP packets (i.e., an example of the fault tolerance capability of the first characteristic data stream). Taking an IP packet of the first characteristic data stream as an example, an 8-bit indicator field is added to the IP packet header, the first 4 bits of the indicator field are marked as 0101, and the last 4 bits of the indicator field are marked as 1001.
[0258] For example, the fault tolerance capabilities of d characteristic data streams are respectively represented by indexes, and different indexes can represent / correspond to different fault tolerance capabilities. In one possible implementation, the d characteristic data streams can each accept a different number of IP packets with decoding errors (i.e., an example of the fault tolerance capabilities of the d characteristic data streams). The d characteristic data streams are sorted from largest to smallest (or vice versa) based on the number of IP packets with decoding errors that can be accepted, and then the sorted d characteristic data streams are matched or assigned corresponding indexes.
[0259] For example, the number of IP packets with decoding errors that the first characteristic data stream can accept is 3, the number of IP packets with decoding errors that the second characteristic data stream can accept is 1, and the number of IP packets with decoding errors that the third characteristic data stream can accept is 2; according to the values of the number of IP packets with decoding errors that can be accepted corresponding to these three characteristic data streams, after sorting these three characteristic data streams from large to small, they are: first characteristic data stream, third characteristic data stream, second characteristic data stream, so the corresponding index of the first characteristic data stream is set to 1, the corresponding index of the third characteristic data stream is set to 2, and the corresponding index of the second characteristic data stream is set to 3.
[0260] Taking the first characteristic data stream as an example, the packet bundle ID or index of the first characteristic data stream is 5, and the index corresponding to the fault tolerance capability of the first characteristic data stream is 1. The index 1 indicates that the first characteristic data stream can accept 3 IP packets with decoding errors. Taking an IP packet of the first characteristic data stream as an example, an 8-bit indicator field is added to the IP packet header, with the first 4 bits of the indicator field marked as 0101 and the last 4 bits of the indicator field marked as 0001.
[0261] S602: The access network device encodes each data packet using a multi-channel parallel encoding method based on the context information.
[0262] Taking downlink transmission as an example, referring to the protocol structure on the access network device side shown in FIG8A , the multiple paths (or multiple channels) set may include but are not limited to the following situations:
[0263] Case 1: There are multiple channels between the PDCP layer and the RLC layer.
[0264] For example, one PDCP entity is connected to four RLC entities, that is, as shown in (a) of FIG8A , there are four RLC channels between the PDCP layer and the RLC layer.
[0265] Case 2: There are multiple channels between the RLC layer and the MAC layer.
[0266] For example, one RLC entity is connected to four MAC entities, that is, as shown in FIG8A(b), there are four logical channels between the RLC layer and the MAC layer.
[0267] Case 3: There are multiple channels between the MAC layer and the PHY layer.
[0268] For example, one MAC entity is connected to four PHY entities, that is, as shown in (c) of FIG8A , there are four transmission channels between the MAC layer and the PHY layer.
[0269] Case 4: Multiple physical channels are set under the PHY layer. For example, as shown in FIG8A (d), four physical channels are set.
[0270] In the embodiments of the present application, the terms "high-level" and "low-level" can be used relative to each other. For example, if the PDCP layer is a high-level layer, then any one of the RLC layer, MAC layer, or PHY layer can be considered a low-level layer; if the RLC layer is a high-level layer, then any one of the MAC layer and PHY layer can be considered a low-level layer; if the MAC layer is a high-level layer, then the PHY layer can be considered a low-level layer. If the low-level layers (e.g., the RLC layer, MAC layer, and PHY layer) have encoding capabilities, the PDCP layer can also have encoding capabilities.
[0271] In one possible implementation, at the sending end, the upper layer first copies the data packet (or information) to be sent, and then submits the copied data packet (or information) to the lower layer, which encodes the copied data packet (or information).
[0272] In the following, the channel coding of step S602 is introduced in detail by taking data packet 1 (i.e., an example of the first data packet in the scheme described in FIG5 ) in the first feature data stream among the d feature data streams (i.e., an example of the first data in the scheme described in FIG5 ).
[0273] For case 1, as shown in FIG8A (a), channel coding may be performed on the access network device (transmitter) side in the following ways, but not limited to:
[0274] Method 1: At the SDAP layer, the data packet 1 to be sent is copied into four identical data packets 1, and then the four identical data packets 1 are sent to the PDCP layer, or the data packet 1 is directly copied at the PDCP layer to obtain four identical data packets 1. At the PDCP layer, based on the context information of the first feature data stream, four channel coding methods are used to separately (and in turn) channel-code the four identical data packets 1 to obtain four encoded data packets 1; the four encoded data packets 1 are then sent to the RLC layer via four RLC channels, so that the four encoded data packets 1 can be merged and processed at the RLC layer.
[0275] Method 2: At the PDCP layer, the data packet 1 to be sent is copied to obtain four identical data packets 1, and then sent to the RLC layer through four RLC channels (the four identical data packets 1 can correspond one to one to the four RLC channels); at the RLC layer, based on the context information of the first characteristic data stream, four channel coding methods are used to separately (and toward) channel encode the four identical data packets 1 to obtain four encoded data packets 1; and then the four encoded data packets 1 can be merged at the RLC layer, or the four encoded data packets 1 can be merged at the MAC layer or the PHY layer.
[0276] The four channel coding modes mentioned above are different and are associated and matched with the four RLC channels between the PDCP layer and the RLC layer in a one-to-one correspondence.
[0277] For case 2, as shown in FIG8A(b), channel coding may be performed on the access network device (transmitter) side in the following ways, but not limited to:
[0278] Method 1: Duplicate the data packet 1 to be sent at the PDCP layer to obtain four identical data packets 1, and then send the four identical data packets 1 to the RLC layer, or directly copy the data packet 1 at the RLC layer to obtain four identical data packets 1. At the RLC layer, based on the context information of the first characteristic data stream, use four channel coding methods to separately (and in turn) channel-code the four identical data packets 1 to obtain four encoded data packets 1; then send the four encoded data packets 1 to the MAC layer via four logical channels, so that the four encoded data packets 1 can be merged and processed at the MAC layer.
[0279] Method 2: At the RLC layer, the data packet 1 to be sent is copied to obtain four identical data packets 1, and then sent to the MAC layer through four logical channels (the four identical data packets 1 can correspond one to one to the four logical channels); at the MAC layer, based on the context information of the first characteristic data stream, four channel coding methods are used to perform channel coding on the four identical data packets separately (and towards each other) to obtain four encoded data packets 1; then, the four encoded data packets 1 can be merged at the MAC layer, or the four encoded data packets 1 can be merged at the PHY layer.
[0280] In the above description, the four channel coding modes are different and are associated and matched with the four logical channels between the RLC layer and the MAC layer in a one-to-one correspondence.
[0281] For case 3, as shown in (c) of FIG8A , channel coding may be performed on the access network device (transmitter) side in the following ways, but not limited to:
[0282] Method 1: At the RLC layer, the data packet 1 to be sent is copied to obtain four identical data packets 1, and then the four identical data packets 1 are sent to the MAC layer, or at the MAC layer, the data packet 1 is copied to obtain four identical data packets 1. At the MAC layer, based on the context information of the first feature data stream, four channel coding methods are used to separately (and in turn) channel-code the four identical first data packets to obtain four encoded data packets 1; the four encoded data packets 1 are then sent to the PHY layer via four transmission channels, so that the four encoded data packets 1 can be merged and processed at the PHY layer.
[0283] Method 2: At the MAC layer, the data packet 1 to be sent is copied to obtain four identical data packets 1, and then sent to the PHY layer through four transmission channels (the four identical data packets 1 can correspond one to one to the four transmission channels); at the PHY layer, based on the context information of the first characteristic data stream, four channel coding methods are used to perform channel coding on the four identical data packets separately (and towards each other) to obtain four encoded data packets 1; and then the four encoded data packets 1 can be merged and processed at the PHY layer.
[0284] In the above description, the four channel coding modes are different and are associated and matched one-to-one with the four transmission channels between the MAC layer and the PHY layer.
[0285] For case 4, as shown in (d) of FIG8A , channel coding performed on the access network device (transmitter) side may include but is not limited to the following:
[0286] The data packet 1 to be sent can be copied at the MAC layer to obtain four identical data packets 1, and then the four identical data packets 1 are sent to the PHY layer, or the data packet 1 can be copied at the PHY layer to obtain four identical data packets 1. Then, at the PHY layer, based on the context information of the first feature data, four channel coding methods are used to separately (and towards) channel code the four identical data packets 1 to obtain four encoded data packets 1; the four encoded data packets 1 are then sent out (to the UE) through four physical channels. Among them, these four channel coding methods are different and are associated and matched with the four physical channels in a one-to-one correspondence.
[0287] The four channel coding methods mentioned above are different and are associated and matched with the four physical channels one by one.
[0288] The access network device (transmitter) performs channel coding processing on other data packets in the first characteristic data stream and data packets in other characteristic data streams in the d characteristic data streams. The implementation method of channel coding of data packet 1 by the above-mentioned access network device can be referred to, and will not be described in detail here.
[0289] S603: The access network device sends each coded data packet to the UE. Correspondingly, the UE receives each coded data packet.
[0290] In the above-mentioned SS602, the access network device performs channel coding processing on all data packets in the d characteristic data streams, and then in this S603, the access network device sends all the encoded data packets to the UE. In the embodiment of the present application, in order to consider the delay requirements of data transmission (or reduce the delay of data transmission), the access network device (transmitter) can adopt multiple transport block (multi-TB) scheduling. For example, multiple transport blocks TB can be scheduled through a downlink control information DCI as a transport block bundle (TB bundle), and the size (bundle size) can be variable; each TB can carry one or more packets.
[0291] In one possible implementation, a TB bundle may correspond to a Packet bundle, that is, each TB in a TB bundle is used to transmit data packets of the same characteristic data stream. However, this application does not specifically limit the correspondence between TBs and packets.
[0292] For example, d = 2, which means there are two feature data streams: a first feature data stream and a second feature data stream. The first feature data stream includes N1 packets (N1 is an integer greater than or equal to 1); after the channel coding process in S602, N1 encoded packets are obtained. The second feature data stream includes N2 packets (N2 is an integer greater than or equal to 1); after the channel coding process in S602, N2 encoded packets are obtained.
[0293] For the N1 encoded packets of the first characteristic data stream, the access network device schedules a TB bundle containing T1 transmission blocks (TB), where T1 is a positive integer; then uses the T1 transmission blocks to transmit the N1 encoded packets (each transmission block carries one or more encoded packets). Similarly, for the N2 encoded packets of the second characteristic data stream, the access network device schedules another TB bundle containing T2 transmission blocks (TB), where T2 is a positive integer; then uses the T2 transmission blocks to transmit the N2 encoded packets (each transmission block carries one or more encoded packets).
[0294] S604: The UE decodes each coded data packet using a multi-channel parallel decoding method based on the context information.
[0295] Referring to the protocol structure on the UE side shown in FIG8B , the multiple paths (or multiple channels) set may include but are not limited to the following situations:
[0296] Case 1: Multiple physical channels are provided under the PHY layer.
[0297] For example, as shown in (a) of FIG8B , four physical channels are provided under the PHY entity.
[0298] Case 2: There are multiple channels between the PHY layer and the MAC layer.
[0299] For example, one PHY entity is connected to four MAC entities, that is, as shown in (b) of FIG8B , there are four transmission channels between the PHY layer and the MAC layer.
[0300] Case 3: There are multiple channels between the MAC layer and the RLC layer.
[0301] For example, one MAC entity is connected to four RLC entities, that is, as shown in (c) of FIG8B , there are four logical channels between the MAC layer and the RLC layer.
[0302] Case 4: There are multiple channels between the RLC layer and the PDCP layer.
[0303] For example, one RLC entity is connected to four PDCP entities, that is, as shown in (d) in FIG8B , there are four RLC channels between the RLC layer and the PDCP layer.
[0304] In the embodiments of the present application, the upper layer and the lower layer can be relative. For example, if the PDCP layer is the upper layer, then any one of the RLC layer, MAC layer, and PHY layer can be considered the lower layer; if the RLC layer is the upper layer, then any one of the MAC layer and PHY layer can be considered the lower layer; if the MAC layer is the upper layer, then the PHY layer can be considered the lower layer.
[0305] In one possible implementation, after receiving the encoded data packet, the bottom layer (such as the PHY layer) can copy the encoded data / information and then submit the copied data / information to the upper layer for decoding processing.
[0306] For example, a transport block (TB) carries K encoded data packets (K is an integer greater than or equal to 1). After receiving the TB, the UE's PHY layer can copy each encoded data packet in the TB into four copies and then perform subsequent multi-path parallel decoding.
[0307] In S602, data packet 1 (i.e., an example of the first data packet in the solution described in FIG. 5 ) in the first characteristic data stream among the d characteristic data streams (i.e., an example of the first data packet in the solution described in FIG. 5 ) is used as an example for channel coding to obtain encoded data packet 1. Hereinafter, the channel coding / decoding of step S604 will be described in detail using encoded data packet 1 (i.e., an example of the first encoded data packet in the solution described in FIG. 5 ).
[0308] For case 1, as shown in FIG8B (a), channel decoding may be performed on the UE (receiving end) side in the following ways, including but not limited to:
[0309] At the PHY layer, the received encoded data packet 1 is copied to obtain four identical encoded data packets 1. Then, based on the context information of the first characteristic data stream, four decoding methods are used to perform channel decoding on the four encoded data packets 1 (one decoding method corresponds to decoding one encoded data packet 1), thereby obtaining four data packets 1. At the PHY layer, the four data packets 1 are merged to obtain a complete data packet 1, or the PHY layer sends the four data packets to the MAC layer, the RLC layer, or the PDCP layer for merging.
[0310] The above four channel decoding methods are different and are associated and matched with the four physical channels in a one-to-one correspondence.
[0311] For case 2, as shown in FIG8B (b), channel decoding may be performed on the UE (receiving end) side in the following manners, including but not limited to:
[0312] Method 1: At the PHY layer, the received encoded data packet 1 is copied to obtain 4 identical encoded data packets 1, and then based on the context information of the first characteristic data stream, 4 decoding methods are used to perform channel decoding on the 4 encoded data packets 1 (one decoding method can correspond to decoding one encoded data packet 1) to obtain 4 data packets 1, which are then sent to the MAC layer through 4 transmission channels (the 4 data packets and the 4 transmission channels can correspond one to one); at the MAC layer, the 4 data packets 1 are merged to obtain a complete data packet 1.
[0313] Method 2: At the PHY layer, the received encoded data packet 1 is copied to obtain four identical encoded data packets 1, and then the four identical encoded data packets 1 are sent to the MAC layer through four transmission channels; at the MAC layer, based on the context information of the first characteristic data stream, four decoding methods are used to perform channel decoding processing on the four encoded data packets 1 respectively (and to) (one decoding method can correspond to decoding one encoded data packet 1) to obtain four data packets 1; then, at the MAC layer, the four data packets 1 are merged to obtain a complete data packet 1, or the MAC layer sends the four data packets to the RLC layer or the PDCP layer to perform merging processing.
[0314] The four channel decoding methods mentioned above are different and are associated and matched one-to-one with the four transmission channels between the MAC layer and the PHY layer.
[0315] For case 3, as shown in (c) of FIG8B , channel decoding may be performed on the UE (receiving end) side in the following manners, including but not limited to:
[0316] Method 1: At the PHY layer, the received encoded data packet 1 is copied to obtain 4 identical encoded data packets 1, and then the 4 identical encoded data packets 1 are sent to the MAC layer, or the MAC layer copies the received encoded data packet 1 to obtain 4 identical encoded data packets 1; at the MAC layer, based on the context information of the first characteristic data stream, 4 decoding methods are used to perform channel decoding processing on the 4 encoded data packets 1 respectively (and to) (one decoding method can correspond to decoding one encoded data packet 1) to obtain 4 data packets 1, and then the 4 data packets 1 are sent to the RLC layer through 4 logical channels, and the RLC layer merges the 4 data packets 1.
[0317] Method 2: The MAC layer copies four identical encoded data packets 1 and sends them to the RLC layer through four logical channels; at the RLC layer, based on the context information of the first characteristic data stream, four decoding methods are used to perform channel decoding on the four encoded data packets 1 respectively (and to) them (one decoding method can decode one encoded data packet 1) to obtain four data packets 1; then, the RLC layer merges the four data packets, or reports the four data packets to the PDCP layer for merging.
[0318] The four channel decoding modes mentioned above are different and are associated and matched one-to-one with the four logical channels between the RLC layer and the MAC layer.
[0319] For case 4, as shown in (d) of FIG8B , channel decoding may be performed on the UE (receiving end) side in the following manners, including but not limited to:
[0320] Method 1: The RLC layer receives four identical copied encoded data packets 1, and based on the context information of the first characteristic data stream, uses four decoding methods to perform channel decoding on the four encoded data packets 1 separately (and to) each other (one decoding method can decode one encoded data packet 1) to obtain four data packets 1, and then sends the four data packets 1 to the PDCP layer through four RLC channels; at the PDCP layer, the four data packets 1 are merged.
[0321] Method 2: The RLC layer copies four identical encoded data packets 1 and sends them to the PDCP layer through four RLC channels; at the PDCP layer, based on the context information of the first characteristic data stream, four decoding methods are used to perform channel decoding on the four encoded data packets 1 separately (and to) them (one decoding method can decode one encoded data packet 1) to obtain four data packets 1, and then the four data packets 1 are merged.
[0322] The above four channel decoding modes are different and are associated and matched with the four RLC channels between the PDCP layer and the RLC layer in a one-to-one correspondence.
[0323] The terminal device UE (receiving end) can perform channel decoding processing on other data packets in the first characteristic data stream and data packets in other characteristic data streams in the d characteristic data streams, and can refer to the above-mentioned UE's implementation method of channel decoding the encoded data packet 1, which will not be described in detail here.
[0324] S605: The UE feeds back the decoding result to the access network device.
[0325] In a possible implementation, the UE decides to send an acknowlegment (ACK) message or a negative acknowlegment (NACK) message to the access network device only after receiving the complete TB bundle.
[0326] Therefore, when the UE receives a TB in a TB bundle, if it fails to correctly decode the TB, it indicates that one or more corresponding packets (IP data packets) are sent incorrectly. At this time, the UE's PHY layer does not need to immediately feedback a NACK message to the access network device to request retransmission of the corresponding packet (or IP data packet). Instead, it waits until all TBs in the TB bundle are successfully received before making a judgment and providing feedback.
[0327] For example, as shown in FIG9 , a TB bundle sent by the access network device to the UE includes 5 TBs. After receiving the 5 TBs, the UE decides to send an ACK or a NACK to the access network device.
[0328] Exemplarily, for the first characteristic data stream (any characteristic data stream) among the d characteristic data streams, the packet of the first characteristic data stream corresponds to a packet bundlet, and the packet bundlet corresponds to a TB bundle (one TB bundle corresponds to multiple TBs). The UE may determine whether to feedback ACK or NACK to the access network device for the received TB bundle in the following manner, but not limited to:
[0329] Method 1: For the TB bundle, the UE determines the ratio of the number of correctly decoded TBs to the total number of TBs in the TB bundle. If the ratio is not less than the set threshold, the UE feeds back an ACK to the access network device. If the ratio is less than the set threshold, the UE feeds back a NACK to the access network device.
[0330] Method 2: For the TB bundle, the UE determines the ratio of the number of correctly decoded packets to the total number of packets carried by the TB bundle. If the ratio is not less than the set threshold, the UE feeds back an ACK to the access network device. If the ratio is less than the set threshold, the UE feeds back a NACK to the access network device.
[0331] Method 3: For the TB bundle, if the UE determines that the number of correctly decoded packets is within the fault tolerance range corresponding to the characteristic data stream, it feeds back an ACK to the access network device. If the UE determines that the number of correctly decoded packets is not within the fault tolerance range corresponding to the characteristic data stream, it feeds back a NACK to the access network device.
[0332] For example, by parsing the header of any packet in the packet bundle corresponding to the first characteristic data stream, the UE determines that the last 4 bits of the newly added 8-bit indicator field are marked as 1001, indicating that the characteristic data stream supports obtaining the characteristic data stream based on 9 correct IP packets. Therefore, for the packets of the first characteristic data stream, if the UE determines that the number of successfully decoded packets is at least 9, it feeds back an ACK to the access network device. If the UE determines that the number of successfully decoded packets is less than 9, it feeds back a NACK to the access network device.
[0333] Method 4: For the TB bundle, if the UE can successfully restore the frame image of the feature data stream based on the correctly decoded packet, the UE will feedback ACK to the access network device. If the UE cannot successfully restore the frame image corresponding to the feature data stream based on the correctly decoded packet, the UE will feedback NACK to the access network device.
[0334] In another possible implementation, the UE further receives second indication information from the access network device, where the second indication information instructs the UE to send an ACK message to the access network device in advance when a preset number of correct TBs are received from the access network device, and notifies the access network device not to send the remaining TBs. The number of correct TBs reaching the preset number means that the UE can successfully restore the corresponding frame based on the preset number of correct TBs.
[0335] For example, for a TB bundle containing five TBs, the access network device indicates to the UE that it can send an ACK message back to the access network device upon receiving three correct TBs. During transmission, the access network device sends the TBs of the TB bundle to the UE. After or upon receiving three correct TBs, the UE sends an ACK message to the access network device. After receiving the ACK message, the access network device no longer sends the remaining two TBs to the UE.
[0336] In an embodiment of the present application, the above-mentioned TB can be replaced by a service data unit SDU or packet of other layers (such as the MAC layer, RLC layer, or PDCP layer shown in Figure 3B).
[0337] For example, for any characteristic data stream, if the characteristic data stream corresponds to N encoded packets (N is an integer greater than 1); the UE decides to send an ACK message or a NACK message to the access network device only after receiving all the encoded packets corresponding to the characteristic data stream (or after channel decoding all the encoded packets corresponding to the characteristic data stream); or, when the UE correctly receives a preset number of encoded packets (or the number of correctly decoded packets reaches a preset number), it sends an ACK message to the access network device and notifies the access network device not to send the remaining encoded packets corresponding to the characteristic data stream.
[0338] In this embodiment, the first device (sending end) is an access network device, and the second device (receiving end) is a terminal device UE as an example. The data to be transmitted is GOP, and both the access network device and the UE maintain (acquire) the context information of the GOP data to be transmitted. When the access network device acts as the sending end of the GOP data, it first extracts features from the GOP data to obtain at least one feature data stream, and then based on the context information of each feature data stream, performs (and sends) channel coding processing on each corresponding data packet, and then sends it to the UE. This can not only improve the coding efficiency of the sending end, but also improve the reliability and performance of data transmission (such as transmission rate, etc.). On the UE side, the UE performs (and sends) channel decoding processing on each corresponding coded data packet based on the context information of each feature data stream, which can effectively improve the decoding accuracy (or decoding capability) and decoding efficiency of the receiving end. In addition, in order to take into account the delay requirements of data transmission (or reduce the delay of data transmission), in an embodiment of the present application, multiple transmission blocks (multi-TB) can be used for scheduling, that is, for each data packet (or IP packet) of the characteristic data stream, a TB bundle transmission block is used for transmission, and the receiving side can perform decoding judgment and feedback based on the TB bundle transmission block as a unit.
[0339] In the embodiments provided in the present application, the methods provided in the embodiments of the present application are introduced from the perspective of interaction between various devices. In order to implement the various functions in the methods provided in the embodiments or implementations of the present application, the first device or the second device may include a hardware structure and / or a software module to implement the above functions in the form of a hardware structure, a software module, or a hardware structure plus a software module. Whether a function of the above functions is executed in the form of a hardware structure, a software module, or a hardware structure plus a software module depends on the specific application and design constraints of the technical solution.
[0340] The division of modules in the embodiments of the present application is illustrative and is merely a logical functional division. In actual implementation, other division methods may be used. Furthermore, the functional modules in the various embodiments or implementations of the present application may be integrated into a single processor, or may exist physically separately, or two or more modules may be integrated into a single module. The aforementioned integrated modules may be implemented in the form of hardware or software functional modules.
[0341] Similar to the above concept, as shown in FIG10 , an embodiment of the present application further provides a communication device 1000 for implementing the functions of the first device or the second device in the above method. For example, the communication device 1000 may be a software module or a chip system. In the embodiment of the present application, the chip system may be composed of a chip, or may include a chip and other discrete devices. The communication device 1000 may include: a communication unit 1001 and a processing unit 1002.
[0342] In the embodiments of the present application, the communication unit 1001 may also be referred to as a transceiver unit, and may include a transmitting unit and / or a receiving unit, each configured to execute the steps of transmitting and receiving by the first device or the second device in the above method embodiments, respectively. The processing unit 1002 may be configured to read instructions and / or data from the storage module to enable the communication device 1000 to implement the above method embodiments.
[0343] Optionally, the communication device 1000 may further include a storage unit 1003 , which is equivalent to a storage module and may be used to store instructions and / or data.
[0344] The communication device provided in the embodiment of the present application is described in detail below in conjunction with Figures 10 and 11. It should be understood that the description of the device embodiment corresponds to the description of the method embodiment. Therefore, the content not described in detail can be implemented with reference to the methods shown in Figures 5 to 6 above, and for the sake of brevity, it will not be repeated here.
[0345] Communication unit 1001 may also be referred to as a transceiver, transceiver, or transceiver device. A processing unit may also be referred to as a processor, processing board, processing module, or processing device. Alternatively, the device in communication unit 1001 that implements the receiving function may be considered a receiving unit, and the device in communication unit 1001 that implements the transmitting function may be considered a transmitting unit. That is, communication unit 1001 includes both a receiving unit and a transmitting unit. A communication unit may also be referred to as a transceiver, transceiver, or transceiver circuit. A receiving unit may also be referred to as a receiver, receiver, or receiving circuit. A transmitting unit may also be referred to as a transmitter, transmitter, or transmitting circuit.
[0346] When the communication device 1000 executes the first device of the process shown in Figure 5 of the above embodiment: the processing unit 1002 is used to perform channel coding processing on the first data packet based on the first context information to obtain the encoded first data packet; wherein, the first context information is associated with the first data with a first fault tolerance capability, and the first context information is used to indicate the time and / or space correlation between two frames, and the first fault tolerance capability indicates support for obtaining the frame to which the first data belongs based on a preset number of data packets, and the first data includes N data packets, and the first data packet is any one of the N data packets, and N is a positive integer; the communication unit 1001 is used to send the encoded first data packet.
[0347] When the communication device 1000 executes the second device of the process shown in Figure 5 of the above embodiment: the communication unit 1001 is used to receive the encoded first data packet; the processing unit 1002 is used to perform channel decoding processing on the encoded first data packet based on the first context information to obtain the first data packet; wherein, the first context information is associated with the first data with a first fault tolerance capability, the first context information is used to indicate the time and / or space correlation between two frames, the first fault tolerance capability indication supports obtaining the frame to which the first data belongs based on a preset number of data packets, the first data includes N data packets, the first data packet is any one of the N data packets, and N is a positive integer.
[0348] The above are just examples. The communication unit 1001 and the processing unit 1002 can also perform other functions. For more detailed descriptions, please refer to the relevant descriptions in the method embodiments shown in Figures 5 and 6, which are not repeated here.
[0349] FIG11 shows a communication device 1100 provided in an embodiment of the present application. The communication device shown in FIG11 may be a hardware circuit implementation of the communication device shown in FIG10 . The communication device 1100 may be adapted to perform the functions of the first device or the second device in the aforementioned method embodiment in the flowchart shown above. For ease of illustration, FIG11 only shows the main components of the communication device.
[0350] As shown in Figure 11, communication device 1100 includes a communication interface 1101 and a processor 1102. Communication interface 1101 and processor 1102 are coupled to each other. It is understood that communication interface 1101 can be a transceiver or input / output interface, or an interface circuit such as a transceiver circuit. Optionally, communication device 1100 can also include a memory 1103 for storing instructions executed by processor 1102, input data required by processor 1102 to execute instructions, or data generated by processor 1102 after executing instructions.
[0351] When the communication device 1100 is used to implement the method shown in FIG. 5 to FIG. 6 , the communication interface 1101 is used to implement the functions of the above-mentioned communication unit 1001 , and the processor 1102 is used to implement the functions of the above-mentioned processing unit 1002 .
[0352] The specific connection medium between the communication interface 1101, the processor 1102, and the memory 1103 is not limited in the embodiments of the present application. In Figure 11, the embodiment of the present application shows that the memory 1103, the processor 1102, and the communication interface 1101 are connected via a communication bus 1104. The communication bus 1104 is represented by a bold line in Figure 11. The connection method between other components is only for schematic illustration and is not intended to be limiting. The communication bus 1104 can be divided into an address bus, a data bus, a control bus, etc. For ease of representation, only one bold line is used in Figure 11, but this does not mean that there is only one bus or one type of bus.
[0353] When the communication device is a chip, FIG12 shows a simplified schematic diagram of the chip structure, wherein the chip 1200 includes an interface circuit 1201 and one or more processors 1202. Optionally, the chip 1200 may further include a bus.
[0354] The processor 1202 may be an integrated circuit chip with signal processing capabilities. During implementation, each step of the above-mentioned service node information determination method can be completed by hardware integrated logic circuits or software instructions in the processor 1202. The above-mentioned processor 1202 can be a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. It can implement or execute the various methods and steps disclosed in the embodiments of this application. The general-purpose processor can be a microprocessor or the processor can also be any conventional processor, etc.
[0355] The interface circuit 1201 can be used to send or receive data, instructions or information. The processor 1202 can use the data, instructions or other information received by the interface circuit 1201 to process it, and can send the processing completion information through the interface circuit 1201.
[0356] Optionally, the chip further includes a memory 1203, which may include a read-only memory and a random access memory, and provides operating instructions and data to the processor. A portion of the memory 1203 may also include a non-volatile random access memory (NVRAM).
[0357] Optionally, the memory stores an executable software module or a data structure, and the processor can perform corresponding operations by calling an operation instruction stored in the memory (the operation instruction may be stored in an operating system).
[0358] Optionally, the chip can be used in the first device or the second device involved in the embodiments of the present application. Optionally, the interface circuit 1201 can be used to output the execution result of the processor 1202. Regarding the communication method provided in one or more embodiments of the present application, reference can be made to the aforementioned embodiments and will not be repeated here.
[0359] It should be noted that the corresponding functions of the interface circuit 1201 and the processor 1202 can be implemented through hardware design, software design, or a combination of hardware and software, and there is no limitation here.
[0360] An embodiment of the present application further provides a computer-readable storage medium storing computer instructions for implementing the method executed by the first device or the second device in the above method embodiment.
[0361] For example, when the computer program is executed by a computer, the computer can implement the method performed by the first device or the second device in the above method embodiment.
[0362] An embodiment of the present application further provides a computer program product comprising instructions, which, when executed by a computer, enables the computer to implement the method performed by the first device or the second device in the above method embodiment.
[0363] An embodiment of the present application also provides a chip, including a processor, for calling the computer program or computer instructions stored in the memory so that the processor executes the communication method of the implementation shown in Figures 5 to 6 above.
[0364] In one possible implementation, the input of the chip corresponds to the receiving operation in the implementation shown in Figures 5 to 6 above, and the output of the chip corresponds to the sending operation in the implementation shown in Figures 5 to 6 above.
[0365] Optionally, the processor is coupled to the memory via an interface.
[0366] Optionally, the chip further includes a memory in which computer programs or computer instructions are stored.
[0367] The processor mentioned in any of the above may be a general-purpose central processing unit, a microprocessor, an application-specific integrated circuit (ASIC), or one or more integrated circuits for controlling the execution of a program of a communication method in the implementation manner shown in Figures 5 and 6. The memory mentioned in any of the above may be a read-only memory (ROM) or other type of static storage device that can store static information and instructions, a random access memory (RAM), etc.
[0368] It should be noted that, for the sake of convenience and brevity of description, the explanation of the relevant contents and beneficial effects of any of the communication devices provided above may refer to the embodiments of the corresponding communication methods provided above, and will not be repeated here.
[0369] In the present application, the communication devices may further include a hardware layer, an operating system layer running on top of the hardware layer, and an application layer running on the operating system layer. The hardware layer may include hardware such as a central processing unit (CPU), a memory management unit (MMU), and memory (also known as main memory). The operating system of the operating system layer may be any one or more computer operating systems that implement business processing through processes, such as the Linux operating system, Unix operating system, Android operating system, iOS operating system, or Windows operating system. The application layer may include applications such as browsers, address books, word processing software, and instant messaging software.
[0370] The division of modules in the embodiments of the present application is illustrative and is merely a logical functional division. In actual implementation, other division methods may be used. Furthermore, the functional modules in the various embodiments of the present application may be integrated into a single processor, or may exist physically separately, or two or more modules may be integrated into a single module. The aforementioned integrated modules may be implemented in the form of hardware or software functional modules.
[0371] Through the description of the above embodiments, it will be clear to those skilled in the art that the embodiments of the present application can be implemented in hardware, firmware, or a combination thereof. When software is used for implementation, the above functions can be stored in a computer-readable medium or transmitted as one or more instructions or codes on a computer-readable medium. Computer-readable media include computer storage media and communication media, wherein the communication media include any medium that facilitates the transmission of a computer program from one place to another. The storage medium can be any available medium that a computer can access. For example, but not limited to: a computer-readable medium may include RAM, ROM, electrically erasable programmable read-only memory (EEPROM), a compact disc read-only memory (CD-ROM) or other optical disc storage, a magnetic disk storage medium or other magnetic storage device, or any other medium that can be used to carry or store a desired program code in the form of an instruction or data structure and can be accessed by a computer. In addition, any connection can be appropriately a computer-readable medium. For example, if the software is transmitted from a website, server, or other remote source using a coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technologies such as infrared, radio, and microwave, then the coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, radio, and microwave are included in the definition of the medium. As used in the embodiments of the present application, disk and disc include compact disc (CD), laser disc, optical disc, digital versatile disc (DVD), floppy disk, and Blu-ray disc, where disks typically reproduce data magnetically and discs use lasers to reproduce data optically. Combinations of the above should also be included within the scope of protection of computer-readable media.
[0372] In short, the above description is only an embodiment of the present application and is not intended to limit the scope of protection of the present application. Any modifications, equivalent replacements, improvements, etc. made based on the disclosure of the present application should be included in the scope of protection of the present application.
Claims
1. A communication method, characterized in that: The method is applied to a first device, and includes: performing channel coding processing on the first data packet based on the first context information to obtain an encoded first data packet; wherein the first context information is associated with first data with a first fault tolerance capability, the first context information is used to indicate a temporal and / or spatial correlation between two frames, the first fault tolerance capability indicates support for obtaining a frame to which the first data belongs based on a preset number of data packets, the first data includes N data packets, the first data packet is any one of the N data packets, and N is a positive integer; The encoded first data packet is sent.
2. The method according to claim 1, wherein The performing channel coding processing on the first data packet among the N data packets based on the first context information to obtain the encoded first data packet includes: Based on the first context information, channel-encode the M first data packets using M encoding methods to obtain M encoded data packets; wherein the M first data packets are obtained by copying the first data packet, and the M encoding methods correspond to the M first data packets in a one-to-one manner; and M is an integer greater than 1; The encoded first data packet is obtained according to the M encoded data packets.
3. The method according to claim 2, wherein The first device includes a first protocol layer and a second protocol layer; The performing channel coding processing on the M first data packets using M coding methods based on the first context information to obtain M coded data packets includes: performing channel coding processing on the M first data packets using the M coding methods based on the first context information at the first protocol layer or the second protocol layer to obtain the M coded data packets; Obtaining the encoded first data packet according to the M encoded data packets includes: obtaining the encoded first data packet according to the M encoded data packets at the second protocol layer.
4. The method according to claim 2 or 3, wherein: The method of performing channel coding on the M first data packets using M coding methods based on the first context information to obtain M coded data packets includes: Obtain channel state information CSI; Based on the first context information and the channel state information CSI, the M coding methods are used to perform channel coding processing on the M first data packets respectively to obtain the M coded data packets.
5. The method according to claim 3, wherein The M encoding methods correspond one-to-one to the M channels between the first protocol layer and the second protocol layer.
6. The method according to claim 3 or 5, wherein: The first protocol layer includes any one of the following: Packet Data Convergence Protocol (PDCP) layer, Radio Link Control (RLC) layer, Media Access Control (MAC) layer, and Physical (PHY) layer; The second protocol layer includes any one of the following: Packet Data Convergence Protocol PDCP layer, Radio Link Control RLC layer, Media Access Control MAC layer, and Physical PHY layer.
7. The method according to any one of claims 1 to 6, characterized in that The encoded first data packet carries first indication information, where the first indication information is used to indicate that the encoded first data packet is associated with the first data.
8. The method according to claim 7, wherein The first indication information is also used to indicate the first fault tolerance capability.
9. The method according to any one of claims 1 to 8, characterized in that The method further comprises: extracting the first target data based on a preset model to obtain the first context information; or The first context information is obtained from the application layer.
10. The method according to any one of claims 1 to 9, characterized in that The method further comprises: The first context information is sent, where the first context information is used to decode the encoded first data packet.
11. A communication method, characterized in that: The method is applied to a second device, and includes: receiving the encoded first data packet; Based on the first context information, channel decoding is performed on the encoded first data packet to obtain a first data packet; wherein, the first context information is associated with first data with a first fault tolerance capability, the first context information is used to indicate the time and / or space correlation between two frames, the first fault tolerance capability indication supports obtaining the frame to which the first data belongs based on a preset number of data packets, the first data includes N data packets, the first data packet is any one of the N data packets, and N is a positive integer.
12. The method according to claim 11, wherein The method further comprises: receiving the first context information from a first device; or The context information is obtained by extracting the initial first feature data based on a preset model, and the context information is updated according to the currently encoded first data packet to obtain the first context information.
13. The method according to claim 11 or 12, wherein: The performing channel decoding processing on the encoded first data packet based on the first context information to obtain the first data packet includes: Based on the first context information, using M decoding methods to perform channel decoding processing on the M encoded first data packets respectively to obtain M decoded data packets; wherein the M encoded first data packets are obtained by copying the encoded first data packet, and the M decoding methods correspond to the M encoded first data packets in a one-to-one manner; and M is an integer greater than 1; The first data packet is obtained according to the M decoded data packets.
14. The method according to claim 13, wherein The second device includes a first protocol layer and a second protocol layer; The performing channel decoding processing on the M encoded first data packets using M decoding methods based on the first context information to obtain M decoded data packets includes: performing channel decoding processing on the M encoded first data packets using the M decoding methods based on the first context information at the first protocol layer or the second protocol layer to obtain the M decoded data packets; Obtaining the first data packet according to the M decoded data packets includes: obtaining the first data packet according to the M decoded data packets at the first protocol layer.
15. The method according to claim 13 or 14, characterized in that The method of performing channel decoding processing on the M encoded first data packets using M decoding methods based on the first context information to obtain M decoded data packets includes: Obtain channel state information CSI; Based on the first context information and the channel state information CSI, the M decoding methods are used to perform channel decoding processing on the M encoded first data packets respectively to obtain the M decoded data packets.
16. The method according to claim 14, wherein The M decoding methods correspond one-to-one to the M channels between the first protocol layer and the second protocol layer.
17. The method according to claim 14 or 16, wherein: The first protocol layer includes one of the following: Packet Data Convergence Protocol (PDCP) layer, Radio Link Control (RLC) layer, Media Access Control (MAC) layer, and Physical (PHY) layer; The second protocol layer includes one of the following: Packet Data Convergence Protocol PDCP layer, Radio Link Control RLC layer, Media Access Control MAC layer, and Physical PHY layer.
18. The method according to any one of claims 11 to 17, characterized in that The encoded first data packet carries first indication information, where the first indication information is used to indicate that the encoded first data packet is associated with the first data.
19. The method according to claim 18, wherein The first indication information is also used to indicate the first fault tolerance capability.
20. The method according to any one of claims 11 to 19, characterized in that The method further comprises: Based on the data packet that is successfully decoded, the first information or the second information is sent; the first information is used to indicate that the decoding is successful, and the second information is used to indicate that the decoding fails.
21. The method according to claim 20, wherein The first information or the second information is sent based on the successfully decoded data packet, When it is determined that a first condition is satisfied based on the successfully decoded data packet, the first information is sent; The first condition includes one or more of the following: The ratio of the number of successfully decoded data packets to the number of received encoded data packets is not less than a first threshold; The number of data packets that fail decoding is within a number range indicated by the first fault tolerance capability; The application layer recovers the first data based on the successfully decoded data packet.
22. The method according to claim 20, wherein The sending of the first information or the second information based on the successfully decoded data packet includes: When it is determined that a second condition is satisfied based on the successfully decoded data packet, sending the second information; The second condition includes one or more of the following: a ratio of the number of successfully decoded data packets to the number of received encoded data packets is less than a first threshold; The number of data packets that fail decoding exceeds the number range indicated by the first fault tolerance capability; The application layer cannot recover the first data based on the successfully decoded data packet.
23. The method according to claim 20 or 22, wherein: The second information is further used to indicate retransmission of the encoded data packet that failed decoding.
24. A communication device, characterized in that: The method comprises a unit or module for executing the method according to any one of claims 1 to 10, or comprises a unit or module for executing the method according to any one of claims 11 to 23.
25. A communication device, characterized in that: The method comprises a processor and a memory, wherein the memory is used to store program instructions, and when the processor executes the program instructions, the method according to any one of claims 1 to 10 is executed, or the method according to any one of claims 11 to 23 is executed.
26. A computer-readable storage medium, characterized in that The computer storage medium stores computer-readable instructions, and when the computer-readable instructions are executed on the communication device, the method according to any one of claims 1 to 10 or the method according to any one of claims 11 to 23 is executed.
27. A computer program product, characterized in that When the computer program product is run on a device, the device is caused to perform the method according to any one of claims 1 to 10, or the method according to any one of claims 11 to 23.
Citation Information
Patent Citations
A relevant forward error correction coding and decoding method based on frames
CN101127530A
Video content description method based on semantic information guidance
CN107038221A
Multi-channel video time division multiplexing coding method and system
CN113824955A
Data processing method and device in communication system
CN113839739A
Data transmission method and device and storage medium
CN115835400A