Communication method and apparatus

By indicating successful and erroneous reception in the feature streams at the sending and receiving ends, the problem of errors affecting encoding and decoding during video frame transmission is solved, thus improving the system's encoding and decoding performance.

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

Patent Information

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

AI Technical Summary

Technical Problem

If an error occurs in a previous video frame during video frame transmission, it will affect the encoding and decoding processing of the current video frame, leading to a decrease in system performance.

Method used

By indicating successful and erroneous reception feature streams, the sending and receiving ends can select the feature stream and data unit to use, thereby improving the performance of the encoding and decoding system.

Benefits of technology

By indicating the feature streams of successful and erroneous reception, the sending and decoding ends can select the appropriate feature streams for encoding and decoding, thereby improving the encoding and decoding performance of the system.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2026071311_30072026_PF_FP_ABST
    Figure CN2026071311_30072026_PF_FP_ABST
Patent Text Reader

Abstract

The present application relates to the field of communications, and provides a communication method and apparatus, used for improving the system performance of encoding and decoding. The method comprises: sending M feature streams of a first data unit; receiving first information; and obtaining a feature stream of a second data unit on the basis of a successfully received and / or erroneously received feature stream and the second data unit; and sending the feature stream of the second data unit. M is a positive integer, and the first information indicates the successfully received and / or erroneously received feature stream among the M feature streams.
Need to check novelty before this filing date? Find Prior Art

Description

Communication methods and devices

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

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

[0003] With the continuous development of mobile communication systems, data transmission latency is constantly decreasing and transmission capacity is increasing. Mobile communication systems are gradually incorporating multimedia services with high real-time requirements and large data capacity, such as high-definition video transmission, extended reality (XR), autonomous driving, and high-definition video calls. Considering the inter-frame similarity of video frames in these multimedia services, the sending end can encode the current video frame by referring to previous video frames, and then send it to the receiving end through the wireless channel. The receiving end, upon receiving the frame, will also refer to previous video frames for decoding.

[0004] However, if a previous video frame is corrupted during wireless transmission, it may affect the processing of the current video frame. Summary of the Invention

[0005] This application provides a communication method and apparatus to improve the system performance of encoding and decoding.

[0006] To achieve the above objectives, this application adopts the following technical solution:

[0007] Firstly, a communication method is provided, which can be applied to the transmitting end side, such as the transmitting end or a communication module and / or computing module in the transmitting end, or circuits or chips in the transmitting end responsible for communication functions (such as a modem chip, also known as a baseband chip, or a system-on-chip (SoC) chip containing a modem core, or a system-in-package (SIP) chip), or circuits or chips in the transmitting end responsible for communication and / or computing functions (such as a graphics processing unit (GPU), an artificial intelligence (AI) processor, or an application-specific integrated circuit (ASIC)), or a logical node, logical module, or software capable of implementing all or part of the transmitting end's functions. The transmitting end can be a terminal or a server.

[0008] Taking the method applied to the transmitting end as an example, the method includes: transmitting M feature streams of the first data unit, receiving first information, and obtaining the feature stream of the second data unit based on the feature streams of successfully received and / or incorrectly received data and the second data unit, and transmitting the feature stream of the second data unit. M is a positive integer, and the first information indicates the feature streams of successfully received and / or incorrectly received data among the M feature streams.

[0009] Using the above method, when the transmitting end sends M feature streams of the first data unit, the receiving end can indicate the feature streams that were successfully received and / or incorrectly received, so that the transmitting end and the decoding end can perform corresponding operations. For example, the transmitting end can select the successfully received feature stream and the second data unit based on the successfully received feature stream and / or incorrectly received feature stream to obtain the feature stream of the second data unit. Correspondingly, the decoding end can also use the successfully received feature stream and the feature stream of the second data unit to obtain the second data unit, thereby improving the system performance of encoding and decoding.

[0010] It should be understood that the sending end in the method described in the first aspect can also be understood as the encoding end.

[0011] It should be understood that the decoding end in the method described in the first aspect can also be a terminal or a server. For example, if the encoding end is a terminal, the decoding end can be a server, or if the encoding end is a server, the decoding end can be a terminal.

[0012] In one possible design, obtaining the feature stream of the second data unit based on the feature stream of successful reception and / or erroneous reception and the second data unit includes: encoding the second data unit using the feature stream of successful reception to obtain the feature stream of the second data unit, thereby improving the encoding performance.

[0013] In one possible design, the first information is carried in any of the following: Radio Resource Control (RRC) message, Media Access Control-Control (MAC-CE) message, Downlink Control Information (DCI) message, or Uplink Control Information (UCI) message. Since RRC or MAC-CE messages can carry a relatively large amount of information, when there are many feature streams, the first information can also indicate successfully received and / or incorrectly received feature streams, thereby improving the system performance of encoding and decoding; or, since DCI or UCI has a relatively low transmission latency, it can achieve lower latency feature stream indication.

[0014] In one possible design, the method further includes: sending identification information for indicating the M feature streams, such as the sequence number or index of each feature stream, so that the receiver can distinguish the feature streams and realize feedback on successful reception and / or erroneous reception of the feature streams.

[0015] In one possible design, one of the M characteristic streams is carried by a set of Protocol Data Units (PDUs), so that different characteristic streams can be distinguished by different PDU sets without additional indication, thus reducing signaling overhead.

[0016] Secondly, a communication method is provided, which can be applied to the receiving end side, such as the receiving end, a module (e.g., circuit, chip, or chip system) in the receiving end, or a logical node, logical module, or software that can implement all or part of the functions of the receiving end, or a circuit or chip (e.g., GPU, AI processor, or ASIC) in the receiving end that is responsible for communication and / or computing functions. The receiving end can be a network-side device, such as an access network device.

[0017] Taking the method applied to a receiving end as an example, the method includes: receiving M feature streams of a first data unit and sending first information, the first information indicating the feature streams that were successfully received and / or incorrectly received among the M feature streams. Then, the feature stream of a second data unit is received, the feature stream of the second data unit being determined based on the feature streams of successfully received and / or incorrectly received data and the second data unit.

[0018] In one possible design, the first information is carried in any of the following: RRC message, MAC-CE message, DCI, or UCI.

[0019] In one possible design, the method further includes receiving identification information for indicating M feature streams.

[0020] Optionally, the method further includes: determining the successfully received and / or incorrectly received feature streams among the M feature streams based on the identification information described above.

[0021] In one possible design, one of the M feature flows is carried by a set of PDUs.

[0022] It is understandable that the technical effects of the method described in the second aspect can also refer to the relevant introduction of the method described in the first aspect above, and will not be repeated here.

[0023] Thirdly, a communication method is provided, which can be applied to the transmitting end side, such as the transmitting end or a communication module and / or computing module in the transmitting end, or a circuit or chip in the transmitting end responsible for communication functions, or a circuit or chip in the transmitting end responsible for communication and / or computing functions (such as a GPU, AI processor, or ASIC), or a logical node, logical module, or software that can implement all or part of the transmitting end functions. The transmitting end can be a terminal or a server.

[0024] Taking the application of this method to the transmitting end as an example, the method includes: receiving second information, transmitting K feature streams of the third data unit, obtaining the feature stream of the fourth data unit based on N feature streams from the K feature streams and the fourth data unit, and transmitting the feature stream of the fourth data unit. K is a positive integer, N is indicated by the second information, and N is a positive integer less than or equal to K.

[0025] Using the above method, the receiving end can first send information to indicate N, enabling the sending and decoding ends to perform corresponding operations based on N. For example, when the sending end sends K feature streams of the third data unit and needs to process the fourth data unit, it can select N feature streams from the K feature streams and the fourth data unit based on N to obtain the feature stream of the fourth data unit. Correspondingly, the decoding end can also select N feature streams and the feature stream of the fourth data unit based on N to obtain the fourth data unit, thereby improving the system performance of encoding and decoding.

[0026] It should be understood that the sending end in the method described in the third aspect can also be understood as the encoding end.

[0027] It should be understood that the decoding end in the method described in the third aspect can also be a terminal or a server. For example, if the encoding end is a terminal, the decoding end can be a server, or if the encoding end is a server, the decoding end can be a terminal.

[0028] In one possible design scheme, the feature stream of the fourth data unit is obtained based on N feature streams out of K feature streams and the fourth data unit, including: encoding the fourth data unit using N feature streams to obtain the feature stream of the fourth data unit.

[0029] In one possible design, the N feature streams are the top N most important feature streams among the K feature streams, where N is greater than or equal to 1. In other words, the feature streams used for reference are all relatively important feature streams, in order to improve the overall performance of the encoding and decoding system.

[0030] In one possible design, the second information is carried in any of the following: RRC message, MAC-CE message, DCI, or UCI.

[0031] In one possible design, the method further includes sending identification information to indicate the K feature streams.

[0032] In one possible design, the method further includes receiving third information, which indicates partial or complete retransmission of the N feature streams, so that the top N most important feature streams used for encoding and decoding can be successfully transmitted, thereby improving the overall performance of the encoding and decoding system.

[0033] In one possible design, one of the K feature flows is carried by a set of PDUs.

[0034] It is understandable that the technical effects of the method described in the third aspect can be referred to the relevant introduction of the method described in the first aspect above, and will not be repeated here.

[0035] Fourthly, a communication method is provided, which can be applied to the receiving end side, such as the receiving end, modules (e.g., circuits, chips, or chip systems) within the receiving end, or logical nodes, logical modules, or software capable of implementing all or part of the receiving end's functions, or circuits or chips (e.g., GPUs, AI processors, or ASICs) within the receiving end responsible for communication and / or computing functions. The receiving end can be a network-side device, such as an access network device.

[0036] Taking the method applied to the receiving end as an example, the method includes: sending second information, receiving K feature streams of the third data unit, and receiving feature streams of the fourth data unit. K is a positive integer, and the feature stream of the fourth data unit is determined based on N feature streams from the K feature streams and the fourth data unit. N is indicated by the second information and is a positive integer less than or equal to K.

[0037] In one possible design, the second information is carried in any of the following: RRC message, MAC-CE message, DCI, or UCI.

[0038] In one possible design, the method further includes receiving identification information for indicating K feature streams.

[0039] Optionally, the method further includes: determining the successfully received and / or incorrectly received feature streams among the K feature streams based on the identification information described above.

[0040] Optionally, the method further includes: sending a third message indicating partial or complete retransmission of the N feature streams.

[0041] In one possible design, one of the K feature flows is carried by a set of PDUs.

[0042] It is understandable that the technical effects of the method described in the fourth aspect can also refer to the relevant descriptions of the methods described in the first and third aspects above, and will not be repeated here.

[0043] Fifthly, this application provides a communication device that has the functions of the first aspect described above. For example, the communication device includes modules, units, or means that perform the operations involved in the first aspect. These modules, units, or means can be implemented by software, hardware, or a combination of software and hardware.

[0044] Sixthly, this application provides a communication device that has the functions of the second aspect above. For example, the communication device includes a module, unit, or means for performing the operations involved in the second aspect above. The module, unit, or means can be implemented by software, hardware, or a combination of software and hardware.

[0045] In a seventh aspect, this application provides a communication device that has the functions of the third aspect above. For example, the communication device includes a module, unit, or means for performing the operations involved in the first aspect above. The module, unit, or means can be implemented by software, hardware, or a combination of software and hardware.

[0046] Eighthly, this application provides a communication device that has the functions of the fourth aspect above. For example, the communication device includes a module, unit, or means for performing the operations involved in the second aspect above. The module, unit, or means can be implemented by software, hardware, or a combination of software and hardware.

[0047] Ninthly, this application provides a communication device including interface circuitry and one or more processors. The one or more processors are coupled to a memory.

[0048] The memory stores part or all of the necessary computer programs or instructions for implementing the functions involved in any of the first to fourth aspects described above. The one or more processors can execute the computer programs or instructions, which, when executed, cause the communication device to implement the methods in any possible design scheme of any of the first to fourth aspects described above. The interface circuit is used to implement the communication functions within the communication device and / or the communication functions between the communication device and other devices or components.

[0049] In one possible design, the processor is used to communicate with other devices or components through the interface circuit.

[0050] In one possible design, the communication device may also include the memory.

[0051] The aforementioned communication device may be a transmitting end, or a communication and / or computing module within a transmitting end, or a chip within a transmitting end responsible for communication functions, such as a modem chip (also known as a baseband chip) or a SoC or SIP chip containing a modem module, or a circuit or chip within a transmitting end responsible for communication and / or computing functions (such as a GPU, AI processor, or ASIC), or a logic node or logic module capable of implementing all or part of the transmitting end's functions. Alternatively, the aforementioned communication device may be a receiving end, or a module within a receiving end (e.g., a circuit, chip, or chip system), or a circuit or chip within a receiving end responsible for communication and / or computing functions (such as a GPU, AI processor, or ASIC), or a logic node or logic module capable of implementing all or part of the receiving end's functions.

[0052] In a tenth aspect, this application provides a communication system that may include a transmitting end and / or a receiving end. The transmitting end is used to perform the methods described in the first or third aspect above, and the receiving end is used to perform the methods described in the second or fourth aspect above.

[0053] In one aspect, this application provides a computer-readable storage medium including a computer program or instructions that, when executed, cause the method described in any one of the first to fourth aspects to be performed.

[0054] In a twelfth aspect, this application provides a computer program product comprising: a computer program or instructions that, when executed, cause the method described in any one of the first to fourth aspects to be performed. Attached Figure Description

[0055] Figure 1 is a schematic diagram of the application scenarios of video encoding and decoding;

[0056] Figure 2 is a schematic diagram of the semantic communication architecture;

[0057] Figures 3-5 are schematic diagrams of the architecture of the communication system provided in the embodiments of this application;

[0058] Figure 6 is a flowchart illustrating the communication method provided in an embodiment of this application;

[0059] Figure 7 is a schematic diagram of an application scenario of the communication method provided in the embodiment of this application;

[0060] Figure 8 is a schematic flowchart of the communication method provided in an embodiment of this application;

[0061] Figure 9 is a schematic diagram of the second application scenario of the communication method provided in the embodiment of this application;

[0062] Figure 10 is a schematic diagram of the structure of a communication device provided in an embodiment of this application;

[0063] Figure 11 is a schematic diagram of the structure of a terminal provided in an embodiment of this application. Detailed Implementation

[0064] In this application, "sending information" can be understood as one device sending information to another device, or it can also be understood as one logic module within a device sending information to another logic module. For example, "sending end sending information" can be understood as the sending end sending information to another device (such as the receiving end), or it can be understood as logic module 1 in the sending end sending information to logic module 2 in the sending end.

[0065] In this application, "receiving information" can be understood as one device receiving information from another device, or it can also be understood as a logical module within a device receiving information from another logical module. For example, "receiving information at the receiving end" can be understood as the receiving end receiving information from another device (such as the sending end), or it can be understood as logical module 1 in the receiving end receiving information from logical module 2 in the receiving end.

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

[0067] The technical terms and related technical solutions involved in this application will be described below with reference to the accompanying drawings.

[0068] 1. Multimedia services:

[0069] In recent years, with the continuous development of mobile communication systems, data transmission latency has been continuously reduced and transmission capacity has been increasing. Mobile communication systems have gradually incorporated some multimedia services with strong real-time requirements and large data capacity requirements, such as high-definition video transmission, XR, autonomous driving, or high-definition video calls.

[0070] Taking high-definition video calling as an example, high-definition video calling services, represented by NewTalk, aim to leverage the high speed, low latency, and high reliability of mobile communication systems to provide users with an extremely clear and smooth voice and video call experience. It also includes a series of enhanced features such as real-time translation, screen sharing, and XR integration, greatly improving the user's call experience and enriching their interaction methods. In the future, NewTalk is expected to become a new communication service standard, serving not only individual users but also playing a crucial role in commercial applications such as telemedicine, online education, and emergency services, posing significant challenges to the capabilities of communication systems.

[0071] 2. Video encoding and decoding technology:

[0072] For multimedia services, it usually involves encoding and decoding the transmitted video frames using video encoding and decoding technologies.

[0073] Video encoding and decoding technologies can encode and compress raw data and then decode and reconstruct it at the receiving end, effectively reducing the amount of data transmitted. Therefore, fully exploring and utilizing the inherent structural characteristics of video data is crucial to improving the efficiency and performance of video encoding and decoding. A key characteristic is the high similarity between consecutive video frames. As shown in Figure 1, frames 1 to 4 contain similar content, all describing the motion of the same object. Therefore, leveraging the inter-frame similarity of consecutive frames, multimedia services can use semantic encoders for video encoding and decoding, such as AI-based semantic encoders, specifically deep contextual video compression (DCVC). DCVC can perform inter-frame prediction, motion estimation, and compensation on consecutive video frames to improve the compression rate and reconstruction quality.

[0074] Video transmission using semantic encoders can also be understood as semantic communication. Compared to traditional Shannon communication, semantic communication does not require precise recovery at the bit level, but rather pursues accurate semantic transmission, thus greatly improving communication efficiency. Figure 2 is a schematic diagram of the semantic communication architecture. As shown in Figure 2, the transmitting end first encodes the video frame using a semantic encoder to extract relevant features (or key semantic features). These features are then processed through channel coding, modulation, and other steps before being transmitted to the receiving end via a wireless channel. The receiving end first demodulates and decodes the received data to obtain the features, and then decodes the features using a semantic decoder to obtain the video frame.

[0075] However, since video encoding and decoding technologies utilize inter-frame similarity, previous video frames need to be referenced when encoding the current video frame. Correspondingly, the decoding of the current video frame also needs to refer to previous video frames. As shown in Figure 2, if some features of the previous video frame are not transmitted successfully or are transmitted incorrectly, the features referenced during decoding will also be incorrect, which may lead to decoding failure of the current video frame and affect system performance.

[0076] To address the aforementioned technical problems, this application proposes the following technical solutions. The technical solutions in this application will now be described in conjunction with the accompanying drawings.

[0077] The network architecture and business scenarios described in the embodiments of this application are for the purpose of more clearly illustrating the technical solutions of the embodiments of this application, and do not constitute a limitation on the technical solutions provided in the embodiments of this application. As those skilled in the art will know, with the evolution of network architecture and the emergence of new business scenarios, the technical solutions provided in the embodiments of this application are also applicable to similar technical problems.

[0078] To facilitate understanding of the embodiments of this application, the communication system applicable to the embodiments of this application will be described in detail using the communication system shown in Figures 3-5 as an example.

[0079] Figure 3 is a schematic diagram illustrating a possible, non-limiting communication system. As shown in Figure 3(a), the communication system includes a transmitter and a receiver. The transmitter can be a terminal or a server. The transmitter can also be understood as an encoder; if the encoder is a terminal, the corresponding decoder can be a server, or if the encoder is a server, the corresponding decoder can be a terminal. The receiver can be a network-side device, such as an access network device.

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

[0081] RAN 100 can be a cellular system related to the 3rd Generation Partnership Project (3GPP), such as 4th generation (4G), 5th generation (5G) mobile communication systems, or future-oriented evolution systems. RAN 100 can also be an open RAN (O-RAN or ORAN), cloud RAN (CRAN), virtualized RAN (vRAN), artificial intelligence radio access network (AI RAN), or wireless fidelity (WiFi) system. RAN 100 can also be a communication system that integrates two or more of the above systems.

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

[0083] In one possible scenario, the RAN node can be a base station, an evolved NodeB (eNodeB), an access point (AP), a transmission reception point (TRP), a next-generation NodeB (gNB), a base station in a future mobile communication system, or an access node in a WiFi system. The RAN node can be a macro base station (as shown in Figure 3(b) 110a), a micro base station or indoor station (as shown in Figure 3(b) 110b), a relay node or donor node, or a radio controller in a CRAN scenario. Optionally, the RAN node can also be a server, wearable device, vehicle, or in-vehicle equipment. For example, the access network equipment in vehicle-to-everything (V2X) technology can be a roadside unit (RSU). All or part of the functions of the RAN node in this application can also be implemented through software functions running on hardware, or through virtualization functions instantiated on a platform (e.g., a cloud platform). The RAN node can also be equipped with communication modules, circuits, or chips that perform corresponding communication functions. The RAN node can also be configured with program instructions for performing corresponding communication functions and corresponding program instructions. The RAN node in this application can also be a logical node, logical module or software that can implement all or part of the access node functions, or a circuit or chip (such as a GPU, AI processor or ASIC) responsible for communication and / or computing functions in the access node.

[0084] In another possible scenario, multiple RAN nodes collaborate to assist terminals in achieving wireless access, with different RAN nodes implementing some of the base station's functions. For example, RAN nodes can be central units (CUs), distributed units (DUs), CU-control plane (CPs), CU-user plane (UPs), or radio units (RUs). CUs and DUs can be separate entities or included in the same network element, such as a baseband unit (BBU). RUs can be included in radio frequency equipment or radio frequency units, such as remote radio units (RRUs), active antenna units (AAUs), or remote radio heads (RRHs). Furthermore, RAN nodes can also be computing units, providing computational power for tasks such as model inference and / or model training, and can also be used to implement one or more of the following: task partitioning, scheduling, and orchestration. The functionality of a computing unit can be implemented by a separate module independent of other units (e.g., CU, DU, RU), or by one or more other units (e.g., one or more of CU, DU, RU).

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

[0086] A terminal can be a device or module that accesses the aforementioned communication system and has corresponding communication functions. A terminal can also be called a terminal device, user equipment (UE), mobile station, mobile terminal, etc. Terminals can be widely used in various scenarios, such as device-to-device (D2D), vehicle-to-everything (V2X) communication, machine-type communication (MTC), Internet of Things (IoT), virtual reality, augmented reality, industrial control, autonomous driving, telemedicine, smart grids, smart furniture, smart offices, smart wearables, smart transportation, smart cities, etc. A terminal can be a mobile phone, tablet computer, computer with wireless transceiver capabilities, wearable device, vehicle, drone, helicopter, airplane, ship, robot, robotic arm, smart home device, transportation vehicle with wireless communication capabilities, communication module, etc. Alternatively, a terminal can also be a server, such as a rack server or server cluster. The embodiments of this application do not limit the device form of the terminal. The terminal typically contains communication modules, circuits, or chips that perform corresponding communication functions. Furthermore, it may also contain modules, circuits, or chips (such as GPUs, AI processors, or ASICs) that perform corresponding communication and / or computing functions. The terminal can also be configured with program instructions for performing these communication and / or computing functions.

[0087] To support AI technology in wireless networks, AI nodes may also be introduced into the network.

[0088] AI nodes can be deployed in one or more of the following locations within the communication system: access network nodes (RAN nodes), terminal devices, or core network devices. Alternatively, AI nodes can be deployed independently, for example, in a location other than any of the aforementioned devices, such as in the host or cloud server of an over-the-top (OTT) system. AI nodes can communicate with other devices in the communication system, which can be one or more of the following: access network devices, terminal devices, or core network elements.

[0089] It is understood that this application does not limit the number of AI nodes. For example, when there are multiple AI nodes, these nodes can be divided based on function, such as different AI nodes being responsible for different functions.

[0090] It can also be understood that AI nodes can be independent devices, or they can be integrated into the same device to achieve different functions. Alternatively, they can be network elements in hardware devices, software functions running on dedicated hardware, or virtualization functions instantiated on a platform (e.g., a cloud platform). This application does not limit the specific form of the aforementioned AI nodes.

[0091] AI nodes can be AI network elements or AI modules.

[0092] Figure 4 illustrates a possible application framework for AI in a communication system. As shown in Figure 4, network elements in the communication system are connected via interfaces (e.g., NG, F1, Xn) or air interfaces. These network element nodes, such as core network equipment, access network nodes (RAN nodes), terminals, or one or more devices in operations administration and maintenance (OAM), are equipped with one or more AI modules (only one is shown in Figure 4 for clarity). Access network nodes can be standalone RAN nodes or can include multiple RAN nodes, for example, including CUs and DUs. The CUs and / or DUs can also be equipped with one or more AI modules. A CU can also be divided into CU-CPs and CU-UPs, with one or more AI modules configured in the CU-CP and / or CU-UP.

[0093] AI modules are used to implement corresponding AI functions. AI modules deployed in different network elements can be the same or different. The models of AI modules can achieve different functions depending on the parameter configurations. The models of AI modules can be configured based on one or more of the following parameters: structural parameters (e.g., at least one of the following: number of neural network layers, neural network width, inter-layer connections, neuron weights, neuron activation function, or biases in the activation function), input parameters (e.g., the type and / or dimension of the input parameters), or output parameters (e.g., the type and / or dimension of the output parameters). The biases in the activation function can also be referred to as the biases of the neural network.

[0094] In one example, the neural network mentioned above can be a deep neural network (DNN), a convolutional neural network (CNN), a recurrent neural network (RNN), or a generative adversarial network (GAN).

[0095] Deep Neural Networks (DNNs) are artificial neural network architectures with multiple layers of nonlinear transformation units stacked in a hierarchical structure to form deep computational models. Compared to shallow neural networks, deep neural networks have more hidden layers, allowing the network model to capture more complex data structures and higher-level abstract features.

[0096] A CNN is a deep neural network with a convolutional structure. A CNN contains a feature extractor consisting of convolutional layers and subsampling layers. This feature extractor can be viewed as a filter, and the convolution process can be seen as performing convolution between a trainable filter and an input image or a convolutional feature map.

[0097] RNN is a type of recursive neural network that takes sequence data as input, recursively moves along the direction of sequence evolution, and connects all nodes (recurrent units) in a chain-like manner.

[0098] GAN is a deep learning model. It consists of a generator and a discriminator, and is trained through adversarial learning. Its purpose is to estimate the potential distribution of data samples and generate new data samples.

[0099] An AI module can have one or more models. A model can infer an output, which includes one or more parameters. The learning, training, or inference processes of different models can be deployed on different nodes or devices, or they can be deployed on the same node or device.

[0100] Figure 5 illustrates a possible application framework for AI in a communication system. As shown in Figure 5, the communication system includes a RAN intelligent controller (RIC). For example, the RIC can be the AI ​​module shown in Figure 4, used to implement AI-related functions. RICs include near-real-time RICs (near-RT RICs) and non-real-time RICs (non-RT RICs). Non-real-time RICs primarily process non-real-time information, such as data that is not sensitive to latency, with latency in the order of seconds. Real-time RICs primarily process near-real-time information, such as data that is relatively sensitive to latency, with latency in the order of tens of milliseconds.

[0101] Near real-time (NRT) RICs are used for model training and inference. For example, they are used to train AI models and then use those models for inference. NRT RICs can obtain network-side and / or terminal-side information from RAN nodes (e.g., CUs, CU-CPs, CU-UPs, DUs, compute nodes, and / or RUs) and / or terminals. This information can be used as training data or inference data. NRT RICs can deliver inference results to RAN nodes and / or terminals. Inference results can be exchanged between CUs and DUs, and / or between DUs and RUs. For example, a NRT RIC delivers an inference result to a DU, which then forwards it to an RU.

[0102] Non-real-time RICs are also used for model training and inference. For example, they are used to train AI models and then use those models for inference. Non-real-time RICs can obtain network-side and / or terminal-side information from RAN nodes (e.g., CUs, CU-CPs, CU-UPs, DUs, compute nodes, and / or RUs) and / or terminals. This information can be used as training data or inference data, and the inference results can be delivered to RAN nodes and / or terminals. Inference results can be exchanged between CUs and DUs, and / or between DUs and RUs; for example, a non-real-time RIC delivers inference results to a DU, which then forwards them to an RU.

[0103] Near real-time RICs and non-real-time RICs can also be configured as separate network elements. Near real-time RICs and non-real-time RICs can also be part of other devices. For example, near real-time RICs can be set in RAN nodes (e.g., CU, DU, compute nodes), while non-real-time RICs can be set in OAM, cloud servers, core network devices, or other network devices.

[0104] In this communication system, when the transmitting end sends M feature streams of the first data unit, the receiving end can indicate the successfully received and / or incorrectly received feature streams, enabling the transmitting end and the decoding end to perform corresponding operations. For example, the transmitting end can select the successfully received feature stream and the second data unit based on the successfully received feature stream and / or incorrectly received feature stream to obtain the feature stream of the second data unit. Correspondingly, the decoding end can also use the successfully received feature stream and the feature stream of the second data unit to obtain the second data unit, thereby improving the system performance of encoding and decoding.

[0105] Alternatively, the receiving end can first send information to indicate N, enabling the sending and decoding ends to perform corresponding operations based on N. For example, when the sending end sends K feature streams of the third data unit and needs to process the fourth data unit, it can select N feature streams from the K feature streams and the fourth data unit based on N to obtain the feature stream of the fourth data unit. Correspondingly, the decoding end can also select N feature streams and the feature stream of the fourth data unit based on N to obtain the fourth data unit, thereby improving the system performance of encoding and decoding.

[0106] The communication method and apparatus will be further described below with reference to the accompanying drawings. It is understood that this application uses the transmitting end and receiving end as examples to illustrate the execution of this interaction, but this application does not limit the execution subject of the interaction. For example, the method executed by the receiving end in this application can also be implemented by a module (e.g., circuit, chip, or chip system) in the receiving end, or a logical node, logical module, or software capable of implementing all or part of the receiving end's functions, or a circuit or chip (e.g., GPU, AI processor, or ASIC) in the receiving end responsible for communication and / or computing functions. Similarly, the method executed by the transmitting end in this application can also be implemented by a communication and / or computing module in the transmitting end, or a circuit or chip (e.g., modem chip (also known as baseband chip), or a SoC chip / SIP chip containing a modem core, or a GPU / AI processor / ASIC) in the transmitting end responsible for communication and / or computing functions, or a logical node, logical module, or software capable of implementing all or part of the transmitting end's functions.

[0107] The interaction process between devices in the above-described communication system will be specifically described below with reference to Figures 6-9 through method embodiments. The communication method provided in this application embodiment can be applied to the above-described communication system, and will be described in detail below.

[0108] Figure 6 is a flowchart of the communication method. As shown in Figure 6, the communication method is as follows:

[0109] S601, the transmitting end sends M feature streams of the first data unit, and the receiving end receives M feature streams of the first data unit, where M is a positive integer.

[0110] The first data unit can be at least a portion of the data in a frame of a service flow.

[0111] The service stream can be a video stream, such as the video stream of XR or high-definition video transmission services, or it can be an audio stream, such as the audio stream of new calls or voice services. A frame in a video stream can be a video frame. For ease of understanding, taking a video stream as an example, a frame in a video stream can be a video frame, and the first data unit can be a video frame. Alternatively, the image of a video frame can be divided into multiple sub-images, such as in tiled based rendering (TBR), where the first data unit can be a corresponding sub-image among the multiple sub-images, such as a tile or slice. It should be understood that a video frame can also be replaced with image frame, picture frame, etc., without restriction.

[0112] M feature streams can correspond to M features of the first data unit. Taking a video frame as an example, the first data unit can be a single feature. A feature can characterize a property of the content contained in the video frame; a feature stream can be understood as the data of one feature. A video frame can have multiple features, such as feature #1 being residual coefficients, feature #2 being quantization parameters, feature #3 being motion vectors, etc. A feature can also characterize an object in the video frame; the object can be a target or background element, etc. A feature stream can be understood as the data of one object, such as feature #1 being a background element in the video frame, feature #2 being a target, etc. The M feature streams can be obtained by encoding the first data unit. For ease of understanding, we will use a video frame in the video stream as the first data unit for illustration.

[0113] If the first data unit is the data of the first video frame in the video stream, the sending end can encode the first data unit, such as by inputting the first data unit into the encoder of the sending end, to obtain M feature streams output by the encoder.

[0114] The encoder can be an AI-based semantic encoder, or any other possible type of encoder, without any specific restrictions.

[0115] In one implementation, the encoder at the transmitting end can contain M channels. Different channels among the M channels correspond to different types / scales of encoding processing. The transmitting end can input the first data unit into each of the M channels of the encoder, obtaining a feature stream corresponding to each channel, thus obtaining M feature streams. Alternatively, in another implementation, without considering the channels of the encoder at the transmitting end, it can be considered that the transmitting end inputs the first data unit into the encoder and obtains the encoded result output by the encoder. The data structure of the encoded result can be a matrix. The transmitting end can divide the matrix according to a preset rule, such as determining each column or every two columns of the matrix as corresponding to a feature stream, thus obtaining M feature streams.

[0116] If the first data unit is data from a video frame that is not the first video frame in the video stream, the sending end usually needs to refer to the feature stream of the data units preceding the first data unit in the video stream to encode the first data unit. The specific implementation is similar to that of the second data unit described below. Please refer to the relevant introduction of the second data unit, which will not be repeated here.

[0117] It should be understood that the implementation principle is similar for the case where the first data unit is the data of a sub-image. For example, the first data unit can be encoded to obtain M feature streams, or the first data unit can be encoded with reference to the feature streams of data units related to the first data unit to obtain M feature streams. This will not be elaborated further here.

[0118] It should also be understood that the first data unit can also be replaced by the first data set, the first dataset, etc., without any specific restrictions.

[0119] One of the M characteristic flows can be carried by a set of Protocol Data Units (PDUs), such as multiple PDUs contained in that set, for a total of M PDU sets. The sending end can also send identification information indicating the M characteristic flows. This identification information can include the sequence number of the PDU set to which each of the M characteristic flows belongs, so that different characteristic flows can be distinguished by the sequence number of different PDU sets. The PDU set number indicates the corresponding characteristic flow, eliminating the need for additional indication and reducing signaling overhead. Alternatively, the identification information can include newly defined identifiers, such as the sequence numbers (or indices) of the M characteristic flows, or the M characteristic flows can be grouped, and the identification information can include the sequence number of each group.

[0120] For example, taking the sequence number of the PDU set as an example, the situation of the newly defined identifier can be understood by referring to the following:

[0121] After obtaining M feature streams through the above encoding, the sending end can carry the M feature streams into M PDU sets. Taking any one of the M characteristic streams as an example, the sending end can encapsulate the PDU set carrying the characteristic stream into a real-time transport protocol (RTP) packet at the application layer, encapsulate the sequence number of the PDU set carrying the characteristic stream into the header of the RTP packet, and pass it from the application layer to the service data adaptation protocol (SDAP) layer. The SDAP layer can encapsulate the RTP packet into multiple service data units (SDUs), and encapsulate the sequence number of the PDU set obtained from the header of the RTP packet into the header of each of these multiple SDUs. Then, it is passed through the packet data convergence protocol (PDCP) layer and the radio link control (RLC) layer to the media access control (MAC) layer. The PDCP layer and the RLC layer can perform similar processing as the SDAP layer, that is, obtain the sequence number of the PDU set from the header of the upper layer, encapsulate it into the header of their own layer, and then pass it down to the lower layer. The MAC layer can assemble multiple SDUs into a MAC PDU, encapsulate the sequence number of the PDU set obtained from the SDU packet header into the MAC PDU packet header, and then pass the MAC PDU to the physical layer (PHY). At the physical layer, it is mapped onto radio resources, such as coding blocks (CB) / transport blocks (TB), through channel coding, modulation and other operations, and then transmitted to the receiving end through the radio channel.

[0122] It is understandable that the above example uses the sequence number of the PDU set to be encapsulated into the MAC PDU at the MAC layer. The sequence number of the PDU set can also be encapsulated into a protocol layer above the MAC layer and then no longer passed down to the next layer, such as the SDAP layer or PDCP layer, or it can be a newly defined protocol layer above the MAC layer, without specific restrictions.

[0123] The receiving end can receive the CB / TB via the wireless channel. It can then demodulate and decode the received CB / TB to recover the data, which is then passed up layer by layer to obtain a set of M PDUs. This is the reverse process of the sending end described above, which can be understood for reference and will not be elaborated further here. The receiving end can also receive the aforementioned identification information and, based on this information, determine the successfully received and / or incorrectly received feature streams from the M feature streams, enabling feedback on the successfully received and / or incorrectly received feature streams or the grouping of feature streams.

[0124] For example, still using the sequence number of the PDU set as an example, the newly defined identifier can be understood by referring to the following:

[0125] The receiver can determine whether all data associated with a PDU set has been successfully received, and whether the feature stream carried by that PDU set was successfully received or received incorrectly (or failed to be received), based on the sequence number of each PDU set. For example, if all CBs / TBs corresponding to a certain PDU set are successfully received, and if these CBs / TBs are all successfully decoded and recovered at the physical layer, the receiver determines that a feature stream carried by that PDU set has been successfully received. For instance, the receiver can determine which PDU set it is based on its sequence number, and thus determine which feature stream was successfully received. If any CB / TB corresponding to a certain PDU set fails to be decoded and recovered, the receiver determines that a feature stream carried by that PDU set was received incorrectly. When traversing M PDU sets, the receiver can determine which of the M feature streams were successfully received and / or received incorrectly.

[0126] Optionally, the receiver can also instruct the retransmission of the erroneously received feature stream among the M feature streams. A feature stream that is successfully received by the receiver after retransmission can also be considered as a successfully received feature stream among the M feature streams.

[0127] S602, the receiving end sends the first information, and the sending end receives the first information.

[0128] The first information can indicate the successfully received and / or incorrectly received feature streams among the M feature streams. There are various specific indication methods, which will be introduced through two examples below.

[0129] For example, the first piece of information can be enumerated, such as including M bits, where each bit has two values, 1 and 0, indicating whether the corresponding feature stream was successfully received or incorrectly received. For example, if M=4, 1001 indicates that feature streams #1 and #4 were successfully received by the receiver, while feature streams #2 and #3 were incorrectly received; 1010 indicates that feature streams #1 and #3 were successfully received by the receiver, while feature streams #2 and #4 were incorrectly received.

[0130] For example, the first information can be a bit string of multiple bits, which indicates the successfully received and / or incorrectly received feature streams among M feature streams through combinations of bit values. For instance, if M=3, the first information can be a 3-bit bit string: 000 indicates that all 3 feature streams were incorrectly received by the receiver; 001 indicates that feature stream #1 was successfully received by the receiver, while feature streams #2 and #3 were incorrectly received; 010 indicates that feature streams #1 and #2 were successfully received by the receiver, while feature stream #3 was incorrectly received; and so on, with 111 indicating that all 3 feature streams were successfully received by the receiver.

[0131] When the first information is transmitted wirelessly, it can be carried in any of the following: a radio resource control (RRC) message, a media access control-control element (MAC-CE) message, downlink control information (DCI), or uplink control information (UCI). Since RRC or MAC-CE messages can carry a relatively large amount of information, even with a large number of feature streams, the first information can also indicate successfully received and / or incorrectly received feature streams, thereby improving the system performance of encoding and decoding; or, since DCI or UCI has a relatively low transmission latency, it can achieve lower latency feature stream indication.

[0132] The receiving end can also send the M feature streams received by the receiving end to the decoding end, and indicate which of the M feature streams the receiving end successfully received and / or incorrectly received. The specific indication method is similar to the first information (or can be understood as sending the first information to the decoding end), which can be referred to for understanding, and will not be repeated here. Correspondingly, the decoding end can decode the M feature streams transmitted by the receiving end, such as inputting these M feature streams into the decoder (or decoding network) to obtain the decoding result output by the decoder. If the decoding is successful, the decoding result includes the first data unit, that is, data reconstruction is achieved.

[0133] S603, the transmitting end obtains the feature stream of the second data unit based on the feature streams of successful reception and / or erroneous reception from the M feature streams and the second data unit.

[0134] The second data unit can be a data unit transmitted after the first data unit.

[0135] Taking a video stream as an example, the second data unit can also be the data of a video frame. This video frame can be a video frame following the video frame corresponding to the first data unit. For example, the first data unit includes the data of the i-th video frame, and the second data unit includes the data of the (i+x)-th video frame, where i is a natural number and x is a positive integer. The value of x can be set according to the actual situation, as long as it can achieve the solution of this application, without specific restrictions. Alternatively, the second data unit can also be the data of a sub-image corresponding to multiple sub-images. This sub-image can belong to the same video frame as the sub-image corresponding to the first data unit, or it can belong to different video frames, as long as it can achieve the solution of this application, without specific restrictions.

[0136] The feature stream of the second data unit can represent the relationship between the first and second data units, such as the differences and / or correlations between the data, or the differences and / or correlations between the content of two video frames or two sub-images. The number of feature streams in the second data unit can be multiple, and may be the same as or different from the number of feature streams in the first data unit. Each feature stream can be understood as a feature of data, such as residual coefficients, quantization parameters, motion vectors, etc. Refer to the above introduction of the first data unit for further details; it will not be repeated here.

[0137] The transmitting end typically needs to reference the feature streams of one or more data units preceding the second data unit to obtain the feature stream of the second data unit. Taking the feature stream of the first data unit as an example, the feature stream of the second data unit can be determined based on the feature streams of successfully received and / or incorrectly received data units from M feature streams, as detailed below.

[0138] The transmitting end can determine, based on the first information, which feature streams out of the M feature streams were successfully received and / or incorrectly received by the receiving end. Thus, the transmitting end can use the successfully received feature streams from the M feature streams to encode the second data unit, obtaining the feature stream of the second data unit, thereby improving encoding performance. For example, the transmitting end can input the successfully received feature streams from the M feature streams and the second data unit into the encoder to obtain the feature stream of the second data unit output by the encoder.

[0139] In one implementation, the encoder can contain M channels. The transmitting end can input the successfully received feature streams and the second data unit from the M feature streams into the M channels of the encoder respectively, obtaining a feature stream corresponding to each channel, i.e., obtaining the feature stream of the second data unit. Alternatively, in another implementation, without considering the channels of the encoder at the transmitting end, the transmitting end can input the successfully received feature streams and the second data unit from the M feature streams into the encoder to obtain the encoded result output by the encoder. The data structure of the encoded result can also be a matrix. The transmitting end can divide the matrix according to a preset rule, such as determining each column or every two columns in the matrix as corresponding to a feature stream, thus obtaining the feature stream of the second data unit.

[0140] S604, the transmitting end sends the feature stream of the second data unit, and the receiving end receives the feature stream of the second data unit.

[0141] It should be understood that the specific implementation principle of S604 is similar to that of S601, and can be referred to for understanding, so it will not be repeated here.

[0142] The receiving end can also send the feature stream of the second data unit to the decoding end. The decoding end can obtain the second data unit based on the feature streams successfully received and / or incorrectly received by the receiving end from the M feature streams and the feature stream of the second data unit. For example, the decoding end can input the feature streams successfully received by the receiving end from the M feature streams, as well as the feature stream of the second data unit, into the decoder to obtain the decoding result output by the decoder. If the decoding is successful, the decoding result includes the second data unit, thus achieving data reconstruction.

[0143] To make it easier to understand, the method shown in Figure 6 will be explained below with an example.

[0144] As shown in Figure 7, taking the sending end as the terminal, the receiving end as the access network device, and the decoding end as the server as an example:

[0145] The terminal acquires the 0th video frame. It inputs this 0th video frame into the encoder, obtaining the four feature streams (M=4) of the 0th video frame output by the encoder. The terminal performs channel coding and modulation on these four feature streams to obtain a signal, which it then transmits to the access network device via a wireless channel. The access network device demodulates and decodes the received signal to identify feature streams #3 and #4 as erroneously received feature streams. The access network device can then indicate to both the terminal and the server that feature streams #1 and #2 of the 0th video frame have been successfully received. The access network device can also send the four feature streams of the 0th video frame received by the access network device to the server. The server inputs these four feature streams into the decoder to obtain the 0th video frame output by the decoder.

[0146] The terminal acquires the first video frame and inputs the first video frame, along with feature streams #1 and #2 from the 0th video frame, into the encoder to obtain the four feature streams of the first video frame output by the encoder. The terminal can perform channel coding and modulation on the four feature streams of the first video frame to obtain a signal, which is then transmitted to the access network device via a wireless channel. The access network device can demodulate and decode the received signal to determine that the erroneously received feature stream #4 is among the four feature streams of the first video frame. The access network device can indicate to both the terminal and the server that feature streams #1, #2, and #3 of the four feature streams of the first video frame have been successfully received. The access network device can also send the four feature streams of the first video frame received by the access network device to the server. The server can input the four feature streams of the first video frame sent by the access network device, along with the previously acquired feature streams #1 and #2 from the 0th video frame, into the decoder to obtain the first video frame output by the decoder. This process continues in the same manner, without further elaboration.

[0147] In summary, when the transmitting end sends M feature streams of the first data unit, the receiving end can indicate the successfully received and / or incorrectly received feature streams, enabling the transmitting and decoding ends to perform corresponding operations. For example, the transmitting end can select the successfully received feature stream and the second data unit based on the successfully received feature stream and / or incorrectly received feature stream to obtain the feature stream of the second data unit. Correspondingly, the decoding end can also use the successfully received feature stream and the feature stream of the second data unit to obtain the second data unit, thereby improving the system performance of encoding and decoding.

[0148] Figure 8 is a flowchart of the second communication method. As shown in Figure 8, the communication method is as follows:

[0149] S801, the receiving end sends the second information, and the sending end receives the second information.

[0150] The second information can indicate N, or in other words, N is indicated by the second information.

[0151] N is a natural number representing the approximate number of feature streams that the receiving end can receive for each data unit in the service flow. It can also be understood as the number of feature streams that each data unit in the service flow needs to refer to when encoding other data units.

[0152] It should be understood that the business flow, data unit, and feature flow can be referred to the relevant introduction in Figure 6 above, and will not be repeated here.

[0153] The second piece of information can be determined based on the number of feature streams that the receiving end has successfully received in the service flow, which will be explained in detail below.

[0154] If the current service flow has not yet started transmission, the number of feature flows that the receiving end has successfully received is 0. The value of the second information indicating N can also be 0, or the second information can also indicate that the value of N is a preset value greater than 0. This preset value can be determined by the receiving end based on the transmission of other service flows, or it can be predefined by the protocol without specific restrictions.

[0155] If the current service flow begins transmission, the receiving end can determine the second information based on the number of feature streams it has successfully received. For example, the receiving end can periodically determine the number of data units of the feature stream received in each period, as well as the number of feature streams it has successfully received in that period, and based on this, determine the approximate number of feature streams that the receiving end can receive for each data unit, i.e., N, and thus determine the second information. Two implementations are described below.

[0156] In one possible implementation, for any given period, the receiver can divide the number of feature streams successfully received within that period by the number of data units of the feature streams received within that period, and then round down (e.g., round up or down) to obtain a value. This value represents the approximate number of feature streams the receiver can receive for each data unit. For example, in one period, if the receiver receives a feature stream with 5 data units, and the number of successfully received feature streams is 4, 3, 5, 4, and 3 respectively, totaling 19,... This indicates that the integer part is rounded up, i.e., N = 4.

[0157] Alternatively, in another possible implementation, for any given period, the receiver can multiply a preset ratio by the number of data units in the feature stream received within that period and round down to obtain a value, denoted as P. The preset ratio can be greater than 0 and less than 1, and can be determined by the receiver, pre-configured, or predefined by the protocol. The receiver can select the P largest numbers of the feature streams above P, and the minimum or median value among these P numbers can be used as the value of N. For example, if the receiver receives a feature stream with 5 data units in one period, and the number of successfully received feature streams is 6, 8, 4, 6, and 9 respectively, and the preset ratio is 0.8, then P = 4. The receiver selects the four largest numbers of the feature streams above 4, and uses the minimum value among them as the value of N, i.e., N = 6.

[0158] Therefore, the receiving end can determine the second information used to indicate N. For example, the second information is a bit string of multiple bits, which indicates different values ​​of N through different combinations of the values ​​of the multiple bits. For example, taking 4 bits as an example, 0000 means N=0, 0001 means N=1, 0010 means N=2, 0011 means N=3, and so on, 1111 means N=15.

[0159] It should be understood that the receiving end can also determine the second information solely based on the number of feature streams successfully received by the receiving end in each cycle. For example, if the second information indicates the number of feature streams successfully received by the receiving end in that cycle, and since N can be determined based on the number of feature streams successfully received by the receiving end in that cycle, the second information can also be considered to implicitly indicate N. Furthermore, the above example of the receiving end periodically determining the number of data units in each cycle and the number of feature streams successfully received by the receiving end in that cycle is not a limitation. For instance, the receiving end can also periodically determine the number of all previously received data units and the number of all successfully received feature streams to determine the second information accordingly.

[0160] When the second information is transmitted wirelessly, the second information can be carried in any of the following: RRC message, MAC-CE message, DCI, or UCI, that is, the existing signaling is reused to realize the transmission of the second information in order to take into account the existing standards, or the second information can also be carried in a newly defined message in the future, without specific restrictions.

[0161] S802, the transmitting end sends K feature streams of the third data unit, and the receiving end receives K feature streams of the third data unit, where K is a positive integer.

[0162] The third data unit is similar to the first data unit mentioned above, and can be understood by referring to it; it will not be described again here.

[0163] Similar to the M feature streams mentioned above, the K feature streams can also be carried by a single PDU set, which can be understood by referring to this example and will not be elaborated further here. Furthermore, the sending end can determine the importance of the K feature streams.

[0164] In one possible approach, the sender can determine the importance of the K feature streams based on their data volume, with the importance decreasing from largest to smallest. For example, feature stream #1 might contain residual coefficients, feature stream #2 might contain quantization parameters, and feature stream #3 might contain motion vectors. The motion vectors would have the largest data volume, followed by the residual coefficients, and then the quantization parameters. Therefore, the three feature streams, ranked from highest to lowest importance, would be feature stream #3, feature stream #1, and feature stream #2. Alternatively, in another possible approach, the sender can determine the importance of the K feature streams based on their individual impact on decoding performance, with the importance decreasing from largest to smallest impact on decoding performance. For example, feature stream #1 contains residual coefficient data, feature stream #2 contains quantization parameter data, and feature stream #3 contains motion vector data. Decoding errors in motion vector data cause the greatest performance degradation, followed by errors in quantization parameter data, and errors in residual coefficient data cause the least performance degradation. Therefore, the three feature streams, ranked from highest to lowest importance, are feature stream #3, feature stream #2, and feature stream #1. Alternatively, in another possible approach, the sending end can determine the importance of the K feature streams based on the importance of the objects they correspond to. For example, feature stream #1 contains background element data, and feature stream #2 contains target object data. The target object is more important than the background element, so the two feature streams, ranked from highest to lowest importance, are feature stream #2 and feature stream #1.

[0165] Optionally, the sending end may also send identification information to indicate each of the K feature streams. Correspondingly, the receiving end may also receive identification information to indicate each of the M feature streams, and determine the feature streams that were successfully received and / or incorrectly received from the K feature streams based on the identification information. For details, please refer to the relevant description of S601 above, which will not be repeated here.

[0166] It should be understood that there are no restrictions on the execution order of S801-S802. For example, S802 can be executed before S801, after S801, or simultaneously with S801.

[0167] The receiving end can also send the K feature streams received by the sending end along with an indication N. The specific indication method is similar to the second information (which can also be understood as sending the second information to the decoding end). Please refer to the explanation for further understanding; it will not be elaborated here. The decoding end can decode the K feature streams transmitted by the receiving end. For example, by inputting these K feature streams into the decoder, the decoding result output by the decoder is obtained. If the decoding is successful, the decoding result includes the third data unit, that is, data reconstruction is achieved.

[0168] S803, the transmitting end obtains the feature stream of the fourth data unit based on N feature streams from K feature streams and the fourth data unit.

[0169] The N feature streams are the top N most important feature streams among the K feature streams. Here, N is a positive integer less than or equal to K. In other words, the feature streams used for reference encoding are all relatively important feature streams, in order to improve the overall performance of the encoding and decoding system.

[0170] The fourth data unit can be a data unit transmitted after the third data unit, and is similar to the second data unit mentioned above. You can refer to it for understanding, and it will not be repeated here.

[0171] The transmitter can select the top N most important feature streams from the K feature streams based on the N indicated by the second information. Alternatively, if the second information indicates the number of feature streams successfully received by the receiver in each period, the transmitter can determine N in the same way as the receiver, thereby selecting the top N most important feature streams from the K feature streams. Then, the transmitter can use the N feature streams to encode the fourth data unit, obtaining the feature stream of the fourth data unit. The specific implementation is similar to that of the second data unit described above; please refer to the documentation for understanding, and it will not be repeated here.

[0172] S804, the transmitting end sends the feature stream of the fourth data unit, and the receiving end receives the feature stream of the fourth data unit.

[0173] It should be understood that the specific implementation of S804 can be found in the relevant introduction of S601, and will not be repeated here.

[0174] The receiving end can also send the feature stream of the fourth data unit to the decoding end. The decoding end can select the top N most important feature streams from the K feature streams based on the N indicated by the receiving end, and obtain the fourth data unit based on the N feature streams and the feature stream of the fourth data unit. For example, the decoding end can input the N feature streams and the feature stream of the fourth data unit into the decoder to obtain the decoding result output by the decoder. If decoding is successful, this decoding result includes the fourth data unit, thus achieving data reconstruction.

[0175] Optionally, in S802 above, the receiving end can also send third information, and the sending end can also receive third information. This third information can indicate partial or complete retransmission of the N feature streams, such as indicating the retransmission of the erroneously received feature stream among the top N most important feature streams. Thus, the sending end can retransmit the erroneously received feature stream, enabling the successful transmission of the top N most important feature streams used for encoding and decoding, thereby improving the overall performance of the encoding and decoding system. A feature stream successfully received by the receiving end after retransmission can also be considered as a successfully received feature stream among the K feature streams.

[0176] To make it easier to understand, the method shown in Figure 8 will be explained below with an example.

[0177] As shown in Figure 9, taking the sending end as the terminal, the receiving end as the access network device, and the decoding end as the server as an example:

[0178] The terminal acquires the 0th video frame. It inputs this 0th video frame into the encoder, obtaining the four feature streams (M=4) of the 0th video frame output by the encoder. The terminal can perform channel coding and modulation on these four feature streams to obtain a signal, which it then transmits to the access network device via a wireless channel. The access network device can demodulate and decode the received signal to obtain the four feature streams of the 0th video frame, which may include erroneously received feature streams. The access network device can then send the four feature streams of the 0th video frame received by the access network device to the server. The server can input these four feature streams into the decoder to obtain the 0th video frame output by the decoder.

[0179] Afterward, the terminal continuously sent four video frames, thus ending the first cycle. The access network device determines N based on the number of feature streams successfully received during the first cycle, such as N=3. The access network device can then indicate N=3 to the terminal and the server.

[0180] The terminal acquires the 5th video frame. Based on N=3, it inputs the top 3 most important feature streams from the 4th video frame's 4 feature streams, along with the 5th video frame itself, into the encoder to obtain the encoder's output 4 feature streams for the 5th video frame. The terminal can perform channel coding and modulation on these 4 feature streams to obtain a signal, which it then transmits to the access network device via a wireless channel. The access network device can demodulate and decode the received signal to obtain the 4 feature streams for the 5th video frame, which may include erroneously received feature streams. The access network device can then send the received 4 feature streams for the 5th video frame to the server. The server, based on N=3, inputs the top 3 most important feature streams from the 4th video frame's 4 feature streams sent by the access network device, along with the 4 feature streams for the 5th video frame, into the decoder to obtain the decoder's output 5th video frame. This process continues in this manner, without further elaboration.

[0181] In summary, the receiving end can first send information to indicate N, enabling the sending and decoding ends to perform corresponding operations based on N. For example, when the sending end sends K feature streams of the third data unit and needs to process the fourth data unit, it can select N feature streams from the K feature streams and the fourth data unit based on N to obtain the feature stream of the fourth data unit. Correspondingly, the decoding end can also select N feature streams and the feature stream of the fourth data unit based on N to obtain the fourth data unit, thereby improving the system performance of encoding and decoding.

[0182] Figure 10 illustrates a possible exemplary block diagram of the communication device involved in the embodiments of this application. As shown in Figure 10, the communication device 1000 may include modules or units for implementing the methods described above. In one possible design, the communication device 1000 includes a processing unit 1002 and a communication unit 1003. Optionally, the communication device 1000 may further include a storage unit 1001 for storing device program code and / or data.

[0183] The communication device 1000 can be the transmitting end in the above embodiments, for example, the transmitting end or the communication module in the transmitting end, or the circuit or chip in the transmitting end responsible for the communication function.

[0184] For example, in one embodiment, the communication unit 1003 is configured to: send M feature streams of the first data unit and receive first information; the processing unit 1002 is configured to: obtain the feature stream of the second data unit based on the feature streams of successfully received and / or incorrectly received data and the second data unit; the communication unit 1003 is further configured to: send the feature stream of the second data unit. M is a positive integer, and the first information indicates the feature streams of successfully received and / or incorrectly received data among the M feature streams.

[0185] In one possible design, the processing unit 1002 is specifically used to: encode the second data unit using the successfully received feature stream to obtain the feature stream of the second data unit.

[0186] In one possible design, the first information is carried in any of the following: RRC message, MAC-CE message, DCI, or UCI.

[0187] In one possible design, the communication unit 1003 is also used to: send identification information for indicating each of the M feature streams.

[0188] In one possible design, one of the M feature flows is carried by a set of PDUs.

[0189] For example, in another embodiment, the communication unit 1003 is used to: receive the second information and send K feature streams of the third data unit; the processing unit 1002 is used to: obtain the feature stream of the fourth data unit based on N feature streams from the K feature streams and the fourth data unit; the communication unit 1003 is also used to: send the feature stream of the fourth data unit. K is a positive integer, N is indicated by the second information, and N is a positive integer less than or equal to K.

[0190] In one possible design, the processing unit 1002 is specifically used to: encode the fourth data unit using N feature streams to obtain the feature stream of the fourth data unit.

[0191] In one possible design scheme, the N feature flows are the top N most important feature flows among the K feature flows, where N is greater than or equal to 1.

[0192] In one possible design, the second information is carried in any of the following: RRC message, MAC-CE message, DCI, or UCI.

[0193] In one possible design, the communication unit 1003 is further configured to: send identification information for indicating each of the K feature streams.

[0194] In one possible design, the communication unit 1003 is also used to: receive third information, which indicates partial or complete retransmission of N feature streams.

[0195] In one possible design, one of the K feature flows is carried by a set of PDUs.

[0196] In one possible design, when the communication device 1000 is a transmitter or a communication module within a transmitter, the function of the processing unit 1002 can be implemented by one or more processors. Specifically, the processor may include a modem chip, or a system-on-a-chip (SoC) chip or a SIP chip containing a modem core. The function of the communication unit 1003 can be implemented by a transceiver circuit.

[0197] In one possible design, when the communication device 1000 is a circuit or chip responsible for communication functions in the transmitting end, such as a modem chip or a system-on-a-chip (SoC) or SIP chip containing a modem core, the function of the processing unit 1002 can be implemented by a circuit system in the aforementioned chip that includes one or more processors or processor cores. The function of the communication unit 1003 can be implemented by the interface circuitry or data transceiver circuitry on the aforementioned chip.

[0198] In one possible design, when the communication device 1000 is a transmitter or a communication and / or computing module within a transmitter, the functionality of the processing unit 1002 can be implemented by one or more processors. Specifically, the processor may include a GPU, or a system-on-a-chip (SoC) or SIP chip containing a GPU. Alternatively, the processor may include an AI processor, or a SoC or SIP chip containing an AI processor. Or, the processor may include an ASIC, or a SoC or SIP chip containing an ASIC. The functionality of the communication unit 1003 can be implemented by transceiver circuitry.

[0199] In one possible design, when the communication device 1000 is a circuit or chip in the transmitting end responsible for communication and / or computing functions, such as a GPU or a system-on-a-chip (SoC) or SIP chip containing a GPU, an AI processor or a SoC or SIP chip containing an AI processor, or an ASIC or a SoC or SIP chip containing an ASIC, the function of the processing unit 1002 can be implemented by a circuit system in the aforementioned chip that includes one or more processors or processor cores. The function of the communication unit 1003 can be implemented by interface circuits or data transceiver circuits on the aforementioned chip.

[0200] The communication device 1000 can be the receiving end in the above embodiments, such as a receiving end, a module in the receiving end (e.g., a circuit, a chip, or a chip system), or a logic node, logic module, or software that can implement all or part of the functions of the receiving end, or a circuit or chip (e.g., a GPU, an AI processor, or an ASIC) in the receiving end that is responsible for communication and / or computing functions.

[0201] For example, in one embodiment, the communication unit 1003 is configured to: receive M feature streams of a first data unit and send first information, the first information indicating the feature streams that were successfully received and / or incorrectly received among the M feature streams. The communication unit 1003 is further configured to: receive the feature streams of a second data unit, the feature streams of the second data unit being determined based on the feature streams that were successfully received and / or incorrectly received and the second data unit.

[0202] In one possible design, the first information is carried in any of the following: RRC message, MAC-CE message, DCI, or UCI.

[0203] In one possible design, the communication unit 1003 is also used to: receive identification information for indicating each of the M feature streams.

[0204] Optionally, the method further includes: determining the successfully received and / or incorrectly received feature streams among the M feature streams based on the identification information described above.

[0205] In one possible design, one of the M feature flows is carried by a set of PDUs.

[0206] For example, in another embodiment, the communication unit 1003 is used to: send second information, receive K feature streams of a third data unit, and receive feature streams of a fourth data unit. K is a positive integer, the feature stream of the fourth data unit is determined based on N feature streams from the K feature streams and the fourth data unit, N is indicated by the second information, and N is a positive integer less than or equal to K.

[0207] In one possible design, the second information is carried in any of the following: RRC message, MAC-CE message, DCI, or UCI.

[0208] In one possible design, the communication unit 1003 is further configured to: receive identification information for indicating each of the K feature streams.

[0209] Optionally, the processing unit 1002 is configured to: determine the feature streams that were successfully received and / or incorrectly received among the K feature streams based on the identification information described above.

[0210] Optionally, the communication unit 1003 is also used to: send third information, which indicates partial or complete retransmission of N feature streams.

[0211] In one possible design, one of the K feature flows is carried by a set of PDUs.

[0212] It is understood that the division of units in the above-described device is merely a logical functional division. One function can correspond to one functional unit, or two or more functions can be integrated into one functional unit. In actual implementation, all or some units can be integrated onto a single physical entity, or distributed across different physical entities. Furthermore, the aforementioned functional units can be implemented in hardware, software, or a combination of both. Whether a function is executed in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for specific applications, but such implementations should not be considered beyond the scope of this application.

[0213] In one example, the functional unit in any of the above devices may be one or more integrated circuits configured to implement the above methods, such as one or more ASICs, or one or more CPUs, one or more microcontroller units (MCUs), one or more DSPs, or one or more field programmable gate arrays (FPGAs), or a combination of at least two of these integrated circuit forms.

[0214] In one example, storage unit 1001 may include random access memory, flash memory, read-only memory, programmable read-only memory or electrically erasable programmable memory and / or registers, etc.

[0215] Referring to Figure 11, which is a structural schematic diagram of a terminal 1100 provided in an embodiment of this application, the terminal 1100 can correspond to the transmitting end shown in Figure 6 or Figure 8, and is used to implement the operation of the transmitting end in the above embodiments. As shown in Figure 11, the terminal includes: one or more antennas 1111, a radio frequency processing system 1120, and a processor system 1130.

[0216] In the downlink or sidelink direction, the RF processing system 1120 receives RF signals through the antenna 1111 and sends the RF-processed signals to the processor system 1130 for further processing. In the uplink or sidelink direction, the processor system 1130 processes the terminal-side information and sends it to the RF processing system 1120, which then processes the signal and transmits it through the antenna 1111.

[0217] In one example, the radio frequency (RF) processing system 1120 serves as the communication interface for external communication of the terminal and may include an RF front end (RFFE) 1121 and an RF transceiver 1122. The RFFE 1121 is primarily used for one or more processing operations, such as shaping, passband selection, or gain adjustment, on the RF signals received by the antenna or those to be transmitted through the antenna. It may include one or more components such as RF switches, duplexers, filters, power amplifiers, antenna tuners, and low-noise amplifiers. The RFFE 1121 can be a circuit system composed of multiple discrete devices or integrated into one or more chips. The RF transceiver 1122 processes the RF signals received by the RFFE into baseband / IF signals for further processing by the processor system 1130, and processes the baseband / IF signals provided by the processor system 1130 into RF signals for transmission to the RFFE 1121. The baseband / IF signals transmitted between the RF transceiver 1122 and the processor system 1130 can be digital or analog signals. The radio frequency transceiver 1122 can be implemented by one or more chips, which are commonly referred to as radio frequency chips (RFICs).

[0218] In one example, processor system 1130 may include one or more processors for processing signals and executing one or more communication protocols. Optionally, processor system 1130 may also include memory 1136. In one example, the one or more processors include at least one baseband processor 1131 (also known as a modem processor). Memory 1136 is used to store data and / or computer program instructions. Optionally, processor system 1130 may also include one or more application processors 1132 for implementing processing of the terminal operating system and application layer. Application processor 1132 may include, for example, a GPU, AI processor, or ASIC. Optionally, processor system 1130 may also include one or more of a voice subsystem 1133, a multimedia subsystem 1134, or an interface circuit 1135. The voice subsystem 1133 is used to process voice signals, the multimedia subsystem 1134 is used to handle multimedia-related operations, such as video encoding / decoding, image processing, etc., and the interface circuit 1135 is used to implement communication with other terminal components, such as a display 1140, an input device 1150, memory 1160, etc. The aforementioned components in the processor system 1130 can communicate with each other via a bus or communication interface circuit.

[0219] In one example, processor system 1130 can be packaged as a single processor chip, such as a SoC chip or a SIP chip. In another example, processor system 1130 can be a system of multiple chips, for example, the baseband processor 1131 can be packaged as a single chip, or packaged with part or all of the circuitry of the radio frequency processing system into a single chip.

[0220] In one example, memory 1136 can be on-chip memory, i.e., located on the processor system 1130 chip. In another example, memory 1160 can be off-chip memory, i.e. located outside the processor system 1130 chip.

[0221] In one example, the baseband processor 1131 may include one or more processor cores 11311 and interface circuitry 11314. The one or more processor cores 11311 are used to process signals and execute one or more communication protocols. Optionally, the baseband processor 1131 may also include a memory 11312 for storing at least a portion of the corresponding computer program instructions and / or data. In one example, the one or more processor cores 11311 execute the computer program instructions stored in the memory 11312 to implement the relevant operations in the above method embodiments (such as the functions of the transmitting end in S601-S604 or S801-S804 above). In this disclosure, memory 11312 is used to store corresponding computer program instructions and / or data. This can mean that memory 11312 stores all corresponding computer program instructions and / or data for execution by processor core 11311; or it can mean that memory 11312 stores a portion of corresponding computer program instructions and / or data, including the computer program instructions and / or data currently required to be executed by processor core 11311. Memory 11312 can store different portions of computer program instructions and / or data multiple times for execution by processor core 11311 to implement the relevant operations in the above method embodiments. Interface circuit 11314 serves as a communication interface for communication with other components, such as transmitting signals with radio frequency processing system 1120, communicating with other subsystems and related components of processor system 1130 via a bus, such as transmitting data control signals with application processor 1132, and transmitting data or computer program instructions with memory 1136 or memory 1160. Optionally, in order to reduce the load on the processor core, a baseband signal processing circuit 11313 can be set to perform at least some baseband signal processing, including one or more of signal demodulation, modulation, encoding or decoding.

[0222] In one example, the communication device provided in this application may be a terminal 1100, a communication module including a processor system 1130 and a radio frequency system 1120, or a baseband processor 1131.

[0223] The processor, processor system, application processor, baseband processor, processor circuit or processor core mentioned above can be collectively referred to as a processor. The processor may include one or more of the following: CPU, DSP, MPU, MCU, GPU, FPGA, ASIC, artificial intelligence processor (AI processor) or neural processing unit (NPU).

[0224] The aforementioned memory may include one or more of the following storage media: random access memory (RAM), static random access memory (SRAM), dynamic random access memory (DRAM), phase-change memory (PCM), resistive random access memory (ReRAM), magnetoresistive random access memory (MRAM), ferroelectric random access memory (FRAM), cache, register, read-only memory (ROM), flash memory, erasable programmable read-only memory (EPROM), hard disk, etc. In one example, computer program instructions for executing the above embodiments may be stored on non-volatile memory, such as at least a portion of the aforementioned memory 1160 (e.g., one or more of ROM, flash memory, EPROM, or hard disk). When the terminal is running, the corresponding computer program instructions may be partially or wholly loaded onto a memory with a faster transfer speed than the processor, such as at least a portion of memory 1136 and / or memory 11312 (e.g., one or more of RAM, SRAM, DRAM, PCM, RERAM, MRAM, FRAM, cache, or register), for the processor to execute in order to implement the steps in the above method embodiments.

[0225] In one example, the RF transceiver 1122 and the RF front-end 1121 can also be packaged in a single chip. In another example, the RF transceiver 1122, the RF front-end 1121, and the baseband processor 1131 can also be packaged in a single chip.

[0226] The terms "system" and "network" in this application embodiment are used interchangeably. "At least one" refers to one or more, and "multiple" refers to two or more. "And / or" describes the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A alone, A and B simultaneously, or B alone, where A and B can be singular or plural. The character " / " generally indicates that the preceding and following related objects are in an "or" relationship. "At least one of the following" or similar expressions refer to any combination of these items, including any combination of single or plural items. For example, "at least one of A, B, or C" includes A, B, C, AB, AC, BC, or ABC; "at least one of A, B, and C" can also be understood as including A, B, C, AB, AC, BC, or ABC. Furthermore, unless otherwise specified, the ordinal numbers such as "first" and "second" mentioned in this application embodiment are used to distinguish multiple objects and are not used to limit the order, sequence, priority, or importance of multiple objects.

[0227] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, optical storage, etc.) containing computer-usable program code.

[0228] This application is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to this application. It should be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in one or more blocks of the flowchart illustrations and / or one or more blocks of the block diagrams.

[0229] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means that implement the functions specified in one or more flowcharts and / or one or more block diagrams.

[0230] These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer-implemented process, such that the instructions, which execute on the computer or other programmable apparatus, provide steps for implementing the functions specified in one or more flowcharts and / or one or more block diagrams.

Claims

1. A communication method, characterized in that, The method includes: Send M feature streams of the first data unit, where M is a positive integer; Receive first information, which indicates the feature streams that were successfully received and / or incorrectly received among the M feature streams; Based on the feature streams of successful reception and / or erroneous reception and the second data unit, obtain the feature stream of the second data unit; Send the feature stream of the second data unit.

2. The method according to claim 1, characterized in that, The method further includes: Send identification information to indicate each of the M feature streams.

3. The method according to claim 1 or 2, characterized in that, The step of obtaining the feature stream of the second data unit based on the feature stream of the successfully received and / or incorrectly received data and the second data unit includes: The second data unit is encoded using the successfully received feature stream to obtain the feature stream of the second data unit.

4. The method according to any one of claims 1-3, characterized in that, One of the M feature streams is carried by a set of Protocol Data Units (PDUs).

5. The method according to any one of claims 1-4, characterized in that, The first information is carried in any of the following: Radio Resource Control (RRC) message, Media Access Control-Control Unit (MAC-CE) message, Downlink Control Information (DCI) message, or Uplink Control Information (UCI) message.

6. A communication method, characterized in that, The method includes: Receive M feature streams from the first data unit, where M is a positive integer; Send a first message, which indicates the feature streams that were successfully received and / or incorrectly received among the M feature streams; The feature stream of the second data unit is received, and the feature stream of the second data unit is determined based on the feature streams of successful reception and / or erroneous reception and the second data unit.

7. The method according to claim 6, characterized in that, The method further includes: Receive identification information for indicating each of the M feature streams.

8. The method according to claim 7, characterized in that, The method further includes: Based on the identification information, identify the feature streams that were successfully received and / or incorrectly received from the M feature streams.

9. A communication method, characterized in that, The method includes: Receive the second message; Send K feature streams of the third data unit, where K is a positive integer; Based on N feature streams from the K feature streams and the fourth data unit, the feature stream of the fourth data unit is obtained, where N is indicated by the second information and N is a positive integer less than or equal to K; Send the feature stream of the fourth data unit.

10. The method according to claim 9, characterized in that, The N feature flows are the top N most important feature flows among the K feature flows, where N is greater than or equal to 1.

11. The method according to claim 9 or 10, characterized in that, The method further includes: Send identification information to indicate each of the K feature streams.

12. The method according to any one of claims 9-11, characterized in that, The method further includes: Receive third information, which indicates partial or complete retransmission of the N feature streams.

13. The method according to any one of claims 9-12, characterized in that, The step of obtaining the feature stream of the fourth data unit based on N feature streams from the K feature streams and the fourth data unit includes: The fourth data unit is encoded using the N feature streams to obtain the feature stream of the fourth data unit.

14. The method according to any one of claims 9-13, characterized in that, One of the K feature streams is carried by a set of Protocol Data Units (PDUs).

15. The method according to any one of claims 9-14, characterized in that, The second information is carried in any of the following: Radio Resource Control (RRC) message, Media Access Control-Control Unit (MAC-CE) message, Downlink Control Information (DCI) message, or Uplink Control Information (UCI) message.

16. A communication method, characterized in that, The method includes: Send a second message; Receive K feature streams from the third data unit, where K is a positive integer; The feature stream of the fourth data unit is received. The feature stream of the fourth data unit is determined based on N feature streams among the K feature streams and the fourth data unit. N is indicated by the second information and is a positive integer less than or equal to K.

17. The method according to claim 16, characterized in that, The method further includes: Receive identification information used to indicate the K feature streams.

18. The method according to claim 17, characterized in that, The method further includes: Based on the identification information, identify the feature streams that were successfully received and / or incorrectly received from the K feature streams.

19. The method according to any one of claims 16-18, characterized in that, The method further includes: Send a third message, which indicates that some or all of the N feature streams may be retransmitted.

20. A communication device, characterized in that, The apparatus includes a unit for performing the method as described in any one of claims 1-5.

21. A communication device, characterized in that, The apparatus includes a unit for performing the method as described in any one of claims 6-8.

22. A communication device, characterized in that, The apparatus includes a unit for performing the method as described in any one of claims 9-15.

23. A communication device, characterized in that, The apparatus includes a unit for performing the method as described in any one of claims 16-19.

24. A computer-readable storage medium, characterized in that, The computer-readable storage medium includes a computer program or instructions that, when executed, cause the method as claimed in any one of claims 1-5 or 6-8 to be performed, or cause the method as claimed in any one of claims 9-15 or 16-19 to be performed.

25. A computer program product, characterized in that, The computer program product includes: a computer program or instructions that, when executed, cause the method as claimed in any one of claims 1-5 or 6-8 to be performed, or cause the method as claimed in any one of claims 9-15 or 16-19 to be performed.