Fixed code rate-free encoding method, decoding method, device and storage medium
By using a non-fixed bitrate encoding and decoding method, and dynamically adjusting the bitrate using decoding confidence and network memory information, the adaptability problem of deep neural network encoding and decoding under different noise environments is solved, improving communication efficiency and system stability. This method is suitable for data transmission in smart terminals and cloud services.
Patent Information
- Application Number
- CN202510268892.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-03-07
- Publication Date
- 2025-11-18
- Estimated Expiration
- 2045-03-07
AI Technical Summary
Existing deep neural network-based codec designs suffer from a fixed bit rate, resulting in insufficient adaptability to channel environments with varying noise levels, low communication efficiency, and an inability to flexibly adjust resource allocation.
A non-fixed bitrate encoding and decoding method is adopted. Encoding and decoding are performed by obtaining the decoding confidence and network memory information at the decoding end, and the bitrate is dynamically adjusted. The encoding and decoding process is combined with feature extraction and self-attention layer of neural network. The network memory information is updated by using gated recurrent unit to achieve flexible encoding and decoding adaptability.
It improves adaptability and communication efficiency in different channel environments, enhances the flexibility of feedback resources and system stability, reduces power consumption, is suitable for data transmission in energy-constrained scenarios, and enhances the reliability of communication systems.
Smart Images

Figure CN120150898B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of communication technology, and in particular to a non-fixed code rate encoding method, decoding method, device and storage medium. Background Technology
[0002] Deep neural network-based encoding and decoding designs are widely used in the field of communication technology, enabling flexible coding rates. The main task of the encoder at the transmitting end is to convert the input data into a latent, highly representative feature representation, i.e., a hidden layer representation. The decoder's task is to restore the target output based on the feature representation generated by the encoder after noise perturbation. However, this encoding method uses a fixed bit rate, which lacks versatility for different noise levels. It requires frequent switching of pre-trained models to handle varying real-world channel environments, thus failing to adapt to flexible feedback resource allocation and resulting in low communication efficiency. Summary of the Invention
[0003] The main objective of this application is to propose a non-fixed code rate encoding method, decoding method, device, and storage medium, aiming to improve adaptability to different channel environments and increase communication efficiency.
[0004] To achieve the above objectives, one aspect of this application proposes a non-fixed bitrate encoding method, comprising the following steps:
[0005] Obtain the source data to be encoded and the first additional information, wherein the first additional information includes the decoding confidence from the previous round at the decoding end and the first network memory information obtained from the previous round update;
[0006] The source data to be encoded and the first additional information are encoded based on a neural network to obtain encoded data and first internal information, wherein the first internal information is used to update the first network memory information;
[0007] Send the encoded data to obtain the decoding confidence level from the decoding end in the current round;
[0008] Determine whether the communication termination condition has been met. If the communication termination condition has not been met, update the first additional information based on the decoding confidence of the current round and the first network memory information updated in the current round, and perform the encoding operation of the next round based on the new first additional information.
[0009] In some embodiments, the non-fixed bit rate encoding method further includes the following steps:
[0010] Determine whether the decoding confidence score for the current round has been received from the decoding end;
[0011] If no decoding confidence score is received for the current round, the decoding confidence score from the previous round is used as the decoding confidence score for the current round.
[0012] In some embodiments, determining whether the communication termination condition has been met includes the following steps:
[0013] Based on the decoding confidence level of the current round, determine the confidence probability of the encoded data;
[0014] The encoded data is then subjected to maximum likelihood decoding based on the confidence probability to obtain the decoding result;
[0015] When the decoding result is the same as the source data to be encoded, it is determined that the communication termination condition has been met, and a decoding confirmation message is sent to the decoding end.
[0016] In some embodiments, encoding the source data to be encoded and the first additional information based on a neural network to obtain encoded data and first internal information includes the following steps:
[0017] The source data to be encoded and the first additional information are input into a feature extraction layer, a multi-layer self-attention layer, and a multi-layer perceptron aggregation layer that are connected in sequence to obtain the first internal information.
[0018] The first internal information is input into the encoding layer to obtain encoded data.
[0019] To achieve the above objectives, another aspect of this application proposes a decoding method without a fixed bit rate, comprising the following steps:
[0020] Receive data to be decoded and obtain second additional information, wherein the data to be decoded includes encoded data, and the second additional information includes the decoding confidence of the previous round and the second network memory information obtained from the previous round update;
[0021] Based on the neural network, the data to be decoded is decoded using the second additional information to obtain the decoded data of the current round, its decoding confidence, and the second internal information. The second internal information is used to update the second network memory information, and the decoding confidence is used to feed back to the encoder.
[0022] Determine whether the decoding conditions have been met. If the decoding conditions have been met, determine the source data based on the decoding data from previous rounds and their decoding confidence.
[0023] In some embodiments, determining whether the decoding condition has been met includes the following steps:
[0024] Determine whether an acknowledgment decoding message has been received from the encoding end;
[0025] When a confirmation decoding message is received from the encoding end, it is determined that the decoding condition has been met.
[0026] In some embodiments, the step of decoding the data to be decoded using the second additional information based on a neural network to obtain the decoded data of the current round, its decoding confidence, and the second internal information includes the following steps:
[0027] The data to be decoded is input into the data extension layer to obtain extended data;
[0028] The extended data and the second additional information are sequentially input into a feature extraction layer, a multi-layer self-attention layer, and a multi-layer perceptron aggregation layer to obtain the second internal information.
[0029] The second internal information is input into the decoding layer to obtain the decoding data and its decoding confidence for the current round.
[0030] In some embodiments, the non-fixed bitrate decoding method further includes the following steps:
[0031] The second internal information is input into the gated loop unit to update the second network memory information, thereby obtaining the second network memory information for the current round.
[0032] To achieve the above objectives, another aspect of the present application provides an electronic device, which includes a memory, a processor, a program stored in the memory and executable on the processor, and a data bus for enabling communication between the processor and the memory. When the program is executed by the processor, it implements the method described in the above embodiments.
[0033] To achieve the above objectives, another aspect of the embodiments of this application proposes a storage medium, which is a computer-readable storage medium for computer-readable storage. The storage medium stores one or more programs that can be executed by one or more processors to implement the methods described in the above embodiments.
[0034] The fixed-rate encoding method, decoding method, device, and storage medium proposed in this application, in each round of communication, for a given source data, the sending end combines the network memory information from the previous round and the feedback decoding confidence to obtain encoded data. The encoded data is decoded by the receiving end to obtain the current decoding confidence, and then the decoding confidence information is fed back to the sending end. When the receiving end meets the decoding condition, it can end the communication; otherwise, it uses the decoding confidence to perform the next round of encoding. This fixed-rate encoding and decoding communication method can improve adaptability to different channel environments. By feeding back the decoding confidence and integrating the decoding confidence from the previous round and its own network memory information during the encoding and decoding process, the encoding and decoding effect is improved, thereby improving communication efficiency. Attached Figure Description
[0035] Figure 1 This is a flowchart of the non-fixed bitrate encoding method provided in the embodiments of this application;
[0036] Figure 2 This is a schematic diagram of the encoding process of the communication system provided in an embodiment of this application;
[0037] Figure 3 This is a flowchart of the non-fixed bitrate decoding method provided in the embodiments of this application;
[0038] Figure 4 This is a schematic diagram illustrating the relationship between packet error rate and communication rounds provided in an embodiment of this application;
[0039] Figure 5 This is a schematic diagram of the hardware structure of the electronic device provided in the embodiments of this application. Detailed Implementation
[0040] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the scope of this application.
[0041] It should be noted that although the system is divided into functional modules and the flowchart shows a logical order, in some cases, the steps shown or described may be executed in a different order than the module division in the system or the order in the flowchart. The terms "first," "second," etc., in the specification, claims, and the aforementioned drawings are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence.
[0042] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application belongs. The terminology used herein is for the purpose of describing embodiments of this application only and is not intended to limit this application.
[0043] This application provides a non-fixed code rate encoding method, decoding method, device, and storage medium, aiming to improve adaptability to different channel environments and enhance communication efficiency.
[0044] The non-fixed bitrate encoding method, decoding method, device, and storage medium provided in this application are specifically described through the following embodiments. First, the non-fixed bitrate encoding method and non-fixed bitrate decoding method in the embodiments of this application are described.
[0045] The fixed-rate encoding and decoding methods provided in this application relate to the field of communication technology. Both the fixed-rate encoding and decoding methods provided in this application can be applied to terminals or servers, and can also be software running on either a terminal or a server. In some embodiments, the terminal can be a smartphone, tablet, laptop, desktop computer, etc.; the server can be configured as an independent physical server, a server cluster or distributed system composed of multiple physical servers, or a cloud server providing basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, CDN, and big data and artificial intelligence platforms; the software can be an application implementing the fixed-rate encoding or decoding method, but is not limited to the above forms.
[0046] This application can be used in a wide variety of general-purpose or special-purpose computer system environments or configurations. Examples include: personal computers, server computers, handheld or portable devices, tablet devices, multiprocessor systems, microprocessor-based systems, set-top boxes, programmable consumer electronics, network PCs, minicomputers, mainframe computers, and distributed computing environments including any of the above systems or devices. This application can be described in the general context of computer-executable instructions executed by a computer, such as program modules. Generally, program modules include routines, programs, objects, components, data structures, etc., that perform specific tasks or implement specific abstract data types. This application can also be practiced in distributed computing environments where tasks are performed by remote processing devices connected via a communication network. In distributed computing environments, program modules can reside in local and remote computer storage media, including storage devices.
[0047] To facilitate the explanation of the implementation examples of the encoding and decoding processes, the following parameters are defined:
[0048] z i This represents the decoding confidence level at the sending end. This represents the decoding confidence level at the receiving end;
[0049] c i and These are the network memory information of the sending and receiving ends in the i-th round, respectively. This network memory information is extracted from the neural network and updated using a gated recurrent unit. It is used to store information about previously sent or received data as an aid for subsequent encoding and decoding.
[0050] and These are the encoding process and the decoding process, respectively.
[0051] and These are the methods for updating internal information at the sending and receiving ends, respectively.
[0052] Please refer to Figure 1 This application provides a non-fixed bitrate encoding method, applied at the encoding end, i.e., the data sending end. The non-fixed bitrate encoding method may include, but is not limited to, the following steps:
[0053] Step S101: Obtain the source data to be encoded and the first additional information, wherein the first additional information includes the decoding confidence from the previous round from the decoding end and the first network memory information obtained from the previous round update;
[0054] Step S102: Encode the source data to be encoded and the first additional information based on the neural network to obtain encoded data and first internal information, wherein the first internal information is used to update the first network memory information;
[0055] Step S103: Send encoded data to obtain the decoding confidence from the decoding end in the current round;
[0056] Step S104: Determine whether the communication termination condition has been met. If the communication termination condition has not been met, update the first additional information according to the decoding confidence of the current round and the first network memory information updated in the current round, and perform the encoding operation of the next round according to the new first additional information.
[0057] In this embodiment, the source data to be encoded is k-dimensional binary data, that is, the source data is denoted as b = [b1, b2, ..., b k During the encoding process, the data to be encoded can be repeatedly sent in multiple rounds until the preset conditions are met.
[0058] In this embodiment, during each round of encoding, the source data to be encoded can be divided into l groups, each with a length of m, for encoding. For a given set of binary source data b, the entire communication process is divided into multiple rounds. In each round, the encoder at the transmitting end combines the binary source data, the feedback decoding confidence level, and the internal information of its own encoder network to encode the data, and sends the encoded l real numbers to the receiving end. After passing through the channel, these l real numbers (i.e., the encoded data) are input into the decoder at the receiving end. The decoder uses the received data and the internal information of its own network to decode the data, obtain the decoding confidence level, and feed it back to the transmitting end, then proceed to the next round of communication. Specifically, the encoding process of the transmitting end in each round is as follows:
[0059] First, the source data to be encoded and the first additional information are acquired. The first additional information includes the decoding confidence from the previous round at the decoding end and the first network memory information updated in the previous round. The decoding confidence represents the reliability of the decoding result of the data received in the previous round at the receiving end. The first network memory information represents the encoding feature information stored by the encoder network in previous rounds and is used as information assistance during encoding.
[0060] Secondly, a neural network-based encoder is used to encode the source data to be encoded and the first additional information together to obtain encoded data and first internal information. The first internal information represents the encoded feature information during the current round of encoding. The first internal information is used to update the first network memory information. That is, the first internal information can be passed through a gated recurrent unit to fuse the first internal information into the first network memory information of the gated recurrent unit, thereby obtaining the updated first network memory information. In this embodiment, the neural network in the encoder includes a gated recurrent unit. The gated recurrent unit uses the first internal information obtained in each round as input for calculation and update, thereby forming the first network memory information.
[0061] Next, after obtaining the encoded data, it is sent to the receiving end. The encoded data is received by the receiving end (i.e., the decoding end) through the channel. In this embodiment, the encoded data of the i-th round of communication is an l-dimensional real number sequence x. i =[x i,1 ,x i,2 ,…,x i,l The received data is y. i =x i +n i , where n i The channel noise has a mean of zero and a variance of σ. 2 I l The data y receives from the receiver follows a normal distribution. i Then, the data is decoded using a neural network-based decoder to obtain the decoding confidence score, which is then sent to the data sender. In this embodiment, to distinguish functionally similar variables on different devices (sender and receiver), x i This represents the decoding confidence level received at the sending end. This represents the decoding confidence level obtained at the receiving end. It should be noted that x... i and Both are l*2 m The array contains m real-valued data. The first dimension of this array represents the group of data corresponding to the confidence level, and the second dimension represents the different states of the m binary data within the current group. The larger a single value in the array, the greater the probability that the receiver considers that group of data to be in the corresponding decoded state. The decoding confidence level received by the sender in this round will be used as the first additional information in the next round.
[0062] The sending end determines whether the communication termination condition has been met in the current round. If not, it updates the first additional information based on the decoding confidence of the current round and the updated first network memory information. Then, it continues the encoding operation for the next round based on the new first additional information, i.e., repeating steps S101 to S104. When the communication termination condition is met, encoding of the source data stops. The specific method for determining the end of communication will be described later.
[0063] In some embodiments, the non-fixed bit rate encoding method of this application may also include, but is not limited to, steps S201 to S202:
[0064] Step S201: Determine whether the decoding confidence score for the current round has been received from the decoding end;
[0065] Step S202: If no decoding confidence score is received for the current round, the decoding confidence score of the previous round is used as the decoding confidence score for the current round.
[0066] In this embodiment, after encoding the data, the sending end sends the encoded data to the receiving end. The receiving end decodes the data and obtains the decoding confidence level. The receiving end will decode the confidence level. If the feedback is interrupted at this point, the sender will not receive z in the i-th round of communication. i At this point, the sender's judgment on the decoding confidence remains unchanged, that is, the decoding confidence x from the previous round remains unchanged. i-1 Decoding confidence x for the current round i , z i =x i-1 In this embodiment, if the receiving end lacks feedback resources in a certain round, the general feedback encoding will collapse due to the inability to process it. However, the decoding confidence feedback in this embodiment can assume that the receiving end still has the decoding confidence of the previous round when the sending end does not receive feedback, and continue to perform subsequent feedback processing. This improves the flexibility of feedback resource allocation and the stability of the overall encoding and decoding system.
[0067] In some embodiments, step S104, determining whether the communication termination condition has been met, may include, but is not limited to, steps S301 to S303:
[0068] Step S301: Determine the confidence probability of the encoded data based on the decoding confidence of the current round;
[0069] Step S302: Perform maximum likelihood decoding on the encoded data based on the confidence probability to obtain the decoding result;
[0070] Step S303: When the decoding result is the same as the source data to be encoded, it is determined that the communication termination condition has been met, and a decoding confirmation message is sent to the decoding end.
[0071] In this embodiment, for a known decoding confidence level x, performing a Softmax operation on the second dimension of x yields the confidence probability. Where p i,j This represents the confidence probability that the receiver considers the decoded i-th data set to be in the j-th state. Maximum likelihood decoding means that for each data set, the state with the highest confidence probability is selected as the decoded data. When the sender receives a new feedback decoding confidence level z... i The data is converted into a confidence probability p, and the encoded output sent in the current communication round is decoded using maximum likelihood based on the confidence probability. If the decoding result is the same as the source data b, the communication termination condition is met, and the encoded communication for the source data is terminated. At the same time, a one-bit acknowledgment decoding information can be sent to the receiving end in the next communication round. After receiving the acknowledgment decoding information, the receiving end performs maximum likelihood decoding and terminates the current communication.
[0072] In another example, the sender can determine whether the communication termination condition has been met by having the receiver set a confidence threshold p. decode When the probability of the most likely outcome in each group exceeds the given confidence threshold p decode When the confidence probability p is 0.999 (for example), the receiver can perform decoding. This can be expressed as follows:
[0073] min i (max j (p i,j ))>p decode ;
[0074] The receiving end performs maximum likelihood decoding and sends a one-bit acknowledgment decoding message to the sending end to terminate the current communication. The sending end determines whether the communication termination condition has been met by checking whether it has received the acknowledgment decoding message from the receiving end. If it receives the acknowledgment decoding message from the receiving end, it considers the communication termination condition met and will not encode the source data b again.
[0075] In another example, the sender can determine whether the communication termination condition has been met by setting a round threshold I at the receiver. decode After completing the I decodeAfter each round of communication, the receiving end performs maximum likelihood decoding and terminates the current communication. At this point, the encoding method reverts to fixed-rate encoding. The sending end sets the same round threshold and determines whether the communication termination condition has been met by checking if the round threshold has been reached. If the round threshold is reached, the communication termination condition is considered met, and the source data b is no longer encoded. During fixed-round decoding, the relationship between the number of communication rounds and the packet error rate is as follows: Figure 4 As shown, from Figure 4 It can be seen that the packet error rate is relatively small and tends to be stable after the 14th communication round. Therefore, the round threshold can be set to 14.
[0076] In some embodiments, step S102 may include, but is not limited to, steps S401 to S402:
[0077] Step S401: Input the source data to be encoded and the first additional information into the feature extraction layer, the multi-layer self-attention layer and the multi-layer perceptron aggregation layer connected in sequence to obtain the first internal information;
[0078] Step S402: Input the first internal information into the encoding layer to obtain encoded data.
[0079] In this embodiment, the encoding method at the transmitting end can be implemented using a neural network. Taking the source data to be encoded with k=48, l=16, and m=3 as an example, please refer to... Figure 2 The encoding process is explained as follows.
[0080] The neural network in the encoding process is mainly divided into four parts: feature extraction layer FE, multi-layer self-attention layer Att, multi-layer perceptron aggregation layer MLP, and encoding layer En.
[0081] for The calculation order is as follows:
[0082]
[0083] in, x i+1 This represents the encoded data for the (i+1)th round.
[0084] The specific calculation process of the feature extraction layer of the encoder is as follows:
[0085]
[0086] Where A m*n It is a coefficient matrix of size m*n, b n It is a residual vector of size n, where the coefficients are independent of each other, and the activation function is...
[0087] The specific calculation process of the encoder's multi-layer self-attention layer is as follows:
[0088]
[0089]
[0090] in
[0091] The specific calculation process of the multilayer perceptron aggregation layer of the encoder is as follows:
[0092]
[0093] The specific calculation process of the encoder's coding layer is as follows:
[0094]
[0095] Please refer to Figure 3 This application also provides a method for decoding without a fixed bit rate, applied at the decoding end, i.e., the data receiving end. The method for decoding without a fixed bit rate may include, but is not limited to, the following steps:
[0096] Step S501: Receive the data to be decoded and obtain the second additional information, wherein the data to be decoded includes encoded data, and the second additional information includes the decoding confidence of the previous round and the second network memory information obtained from the previous round update.
[0097] Step S502: Based on the neural network, the data to be decoded is decoded using the second additional information to obtain the decoded data of the current round, its decoding confidence, and the second internal information. The second internal information is used to update the second network memory information, and the decoding confidence is used to feed back to the encoder.
[0098] Step S503: Determine whether the decoding conditions are met. If the decoding conditions are met, determine the source data based on the decoding data of the historical rounds and its decoding confidence.
[0099] In this embodiment, the decoding process of the receiving end in each round is as follows:
[0100] First, the source data to be encoded and first additional information are received. The data to be decoded includes data from the encoded data and may also contain channel noise. The second additional information includes the decoding confidence from the previous round and the second network memory information updated in the previous round. The decoding confidence represents the degree of confidence of the receiver in the decoding result of the data received in the previous round. The second network memory information represents the decoding feature information stored by the decoder network in previous rounds and is used as information assistance during decoding.
[0101] Secondly, a neural network-based decoder is used to decrypt the data to be decoded, combined with second additional information, to obtain decoded data, its decoding confidence level, and second internal information. The second internal information represents the decoding feature information during the current round of decoding. The second internal information is used to update the second network memory information; that is, the second internal information can be passed through a gated recurrent unit to fuse it into the second network memory information of the gated recurrent unit, thereby obtaining the updated second network memory information. In this embodiment, the neural network in the decoder includes a gated recurrent unit, which uses the second internal information obtained in each round as input for calculation and updating, thereby forming the second network memory information.
[0102] Secondly, after obtaining the decoding confidence score for the current round, the decoding confidence score is fed back to the transmitter. In addition to the decoding confidence score, the feedback data received by the transmitter may also contain channel noise.
[0103] The receiving end determines whether the decoding condition has been met in the current round. If the decoding condition is met, it can perform maximum likelihood decoding based on the decoding data and decoding confidence of previous rounds to obtain the final decoding result (i.e., source data b). If the decoding condition is not met, it needs to continue the next round of communication to receive encoded data in order to obtain sufficiently accurate decoding data.
[0104] In some embodiments, determining whether the decoding condition has been met in step S503 may include, but is not limited to, steps S601 to S602:
[0105] Step S601: Determine whether a confirmation decoding message has been received from the encoding end;
[0106] Step S602: When a confirmation decoding message is received from the encoding end, it is determined that the decoding condition has been met.
[0107] In this embodiment, when the sending end receives a new feedback decoding confidence level z in the current communication round... i The data is converted into confidence probabilities, and maximum likelihood decoding is performed on the encoded output sent in the current communication round based on these confidence probabilities. If the decoding result is the same as the source data b, the communication termination condition is determined to have been met, and the encoded communication for that source data is terminated. Simultaneously, a one-bit acknowledgment decoding information can be sent to the receiving end in the next communication round. The receiving end can determine whether the decoding condition has been met by checking whether it receives the acknowledgment decoding information from the sending end. If the acknowledgment decoding information is received, the decoding condition is considered met, and the receiving end performs maximum likelihood decoding and terminates the current communication.
[0108] In another example, the receiver can determine whether the decoding condition has been met by setting a confidence threshold p. decodeWhen the probability of the most likely outcome in each group exceeds the given confidence threshold p decode When the value is 0.999 (e.g., 0.999), the decoding condition is considered met. The receiving end can then perform maximum likelihood decoding and send a one-bit confirmation decoding information to the sending end to end the current communication.
[0109] In another example, the receiver can determine whether the decoding condition has been met by setting a round threshold I. decode Upon reaching the I decode After a round of communication, the decoding condition is considered met. The receiving end performs maximum likelihood decoding and ends the current communication. At this point, the encoding method reverts to fixed code rate encoding.
[0110] In some embodiments, step S502 may include, but is not limited to, steps S701 to S703:
[0111] Step S701: Input the data to be decoded into the data extension layer to obtain the extended data;
[0112] Step S702: Input the extended data and the second additional information into the feature extraction layer, the multi-layer self-attention layer, and the multi-layer perceptron aggregation layer connected in sequence to obtain the second internal information;
[0113] Step S703: Input the second internal information into the decoding layer to obtain the decoding data and its decoding confidence for the current round.
[0114] In this embodiment, the encoding method at the receiving end can be implemented using a neural network. Taking the source data to be encoded with k=48, l=16, and m=3 as an example, please continue to refer to... Figure 2 The decoding process is explained as follows.
[0115] The neural network in the decoding process is mainly divided into five parts: symbol expansion layer SE, feature extraction layer FE, multi-layer self-attention layer Att, multi-layer perceptron aggregation layer MLP, and decoding layer De.
[0116]
[0117] Among them, y i+1 This represents the data to be decoded received in the (i+1)th round of communication.
[0118] The specific calculation process for the symbol extension layer of the encoder is as follows:
[0119]
[0120] The calculation process of the multilayer perceptron aggregation layer in the decoder is as follows:
[0121]
[0122] The decoding layer calculation process of the decoder is as follows:
[0123]
[0124] In some embodiments, the non-fixed bitrate decoding method of this application may also include, but is not limited to, the following steps:
[0125] Step S801: Input the second internal information into the gated loop unit to update the second network memory information and obtain the second network memory information for the current round.
[0126] It should be noted that at the sending end, the first internal information is also input into the gating loop unit of the sending end to update the first network memory information, so as to obtain the first network memory information of the current round.
[0127] Please continue to refer to Figure 2 During the internal information update process, and They are two gated recurrent units (GRUs) with identical structures but different parameters. For example:
[0128] In calculation At that time, c u-1 c represents the hidden layer network's memory information from the previous round. i This is internal information used when encoding the current round. The output is the calculated and updated hidden layer network memory information, calculated as follows:
[0129]
[0130] Where ⊙ represents element-wise multiplication, and:
[0131] r t =σ(A r ·[c i-1 ,c i ]);
[0132] z t =σ(A z ·[c i-1 ,c i ]);
[0133]
[0134] According to some embodiments of this application, the encoder training process of a neural network is described as follows:
[0135] Since the encoding needs to balance the benefits of shorter and longer training iterations, a fixed number of iterations *t* can be randomly selected during single-step training. This means the loss function is calculated and backpropagation is performed after *t* iterations. Considering that *t* being too small will not reach the Shannon limit, while *t* being too large will cause memory overflow, minimum and maximum iteration limits can be set. In the experiments, *t* is uniformly distributed over {4, 5, ..., 20}, and *t* is sampled once per training step.
[0136] The loss function during training is:
[0137]
[0138] Where H(·) is the cross-entropy function, and c(t) is a penalty coefficient based on round t, which can take the following values in the experiment:
[0139] Since different training epochs t will produce different intensities of loss during training, with smaller t causing larger losses, and the intensity of the loss is roughly exponential, a penalty coefficient based on t is used in the loss function to balance the impact of different training epochs on the model.
[0140] Based on some embodiments of this application, please refer to... Figure 2 The complete communication process for the source data is described below:
[0141] In the first round of communication, the sending end encodes and sends the source data, and saves the internal information into the gated loop unit to obtain the network memory information c1, represented as follows:
[0142]
[0143] in, The initial confidence level assumes that the probability of each data point is equal for each symbol, i.e., all values are 1.
[0144] The data received by the receiving end is:
[0145]
[0146] The receiving end performs the first decoding:
[0147] The sending end's judgment on the decoding confidence level remains unchanged, i.e., z1 = z0.
[0148] In the i-th round of communication (i>1), the sending end uses the decoding confidence and network memory information obtained in the previous round for encoding:
[0149]
[0150] The network memory information at the sending end is updated as follows:
[0151]
[0152] Among them, c i-1 This represents the network memory information from the previous round, and the update process. Input c i This represents the internal information of the current round and the update process. Output v i This represents the network memory information for the current round.
[0153] The data received by the receiving end is:
[0154]
[0155] The receiving end decodes the data and updates the network memory information, as shown below:
[0156] If there is an interruption, the sender's confidence level remains unchanged, i.e., z i =z i-1 .
[0157] When the sending end receives new confidence feedback z i The data is converted into a confidence probability p and directly subjected to maximum likelihood decoding. If the decoding result is the same as the source data b, the sending end sends a one-bit acknowledgment decoding information to the receiving end in the next round of communication. After receiving the information, the receiving end performs maximum likelihood decoding and ends the current communication. The final system output is l groups of codes, each group consisting of m bits of binary data. Straightening these codes yields the decoded data.
[0158] In this embodiment of the application, the following beneficial effects are observed:
[0159] The encoding / decoding method of this application can adaptively adjust the code rate according to changes in channel quality, adapting to the varied channel environments in real life. In each round, for a given source data b, the sending end combines internal information and the feedback confidence level to encode l real numbers. These real numbers are sent to the receiving end, which decodes them to obtain the current confidence level information and then feeds this confidence level information back to the sending end. If the sending end finds that the current confidence level can perfectly decode the source data, it stops encoding and sends a one-bit acknowledgment information to the receiving end to tell it can be directly decoded; otherwise, it uses the confidence level for the next round of encoding. In this process, the lower the noise, the fewer communication rounds are required to achieve the communication goal, and the code rate can be adaptively adjusted without the need for additional manual restrictions.
[0160] The encoding / decoding method of this application embodiment can operate normally under flexible allocation of feedback resources, improving the reliability of the communication system and enabling the entire system to flexibly allocate feedback resources. If the receiving end lacks feedback resources in a certain round, general feedback encoding will collapse due to inability to process it. This application embodiment uses decoding confidence feedback, which can default to the receiving end still having the confidence level of the previous round when no feedback is received, and continue to provide feedback, thereby improving the flexibility of feedback resource allocation and the stability of the overall encoding / decoding system.
[0161] The combination of rate-free encoding and sender-side confidence decoding can maximize communication efficiency while reducing power consumption and achieving long-distance, deep coverage for the same data transmission effect. This has significant economic implications in scenarios where sender-side energy is limited, such as reducing data transmission consumption and extending battery life for devices like mobile phones and drones. Furthermore, in unmanned exploration scenarios in deep mountains, deep seas, and deep space, where distances are long and signal attenuation is severe, this encoding ensures data is transmitted from the probe back to the base station, shifting some of the transmission energy consumption to the base station and significantly improving the probe's battery life.
[0162] This application also provides an electronic device, which includes: a memory, a processor, a program stored in the memory and executable on the processor, and a data bus for communication between the processor and the memory. When the program is executed by the processor, it implements the aforementioned encoding or decoding method. This electronic device can be any smart terminal, including tablet computers, in-vehicle computers, etc.
[0163] Please see Figure 5 , Figure 5 The hardware structure of an electronic device according to another embodiment is illustrated. The electronic device includes:
[0164] The processor 501 can be implemented using a general-purpose CPU (Central Processing Unit), microprocessor, application-specific integrated circuit (ASIC), or one or more integrated circuits, and is used to execute relevant programs to implement the technical solutions provided in the embodiments of this application.
[0165] The memory 502 can be implemented as a read-only memory (ROM), a static storage device, a dynamic storage device, or a random access memory (RAM). The memory 502 can store the operating system and other applications. When the technical solutions provided in the embodiments of this specification are implemented through software or firmware, the relevant program code is stored in the memory 502 and is called and executed by the processor 501 using the encoding or decoding methods of the embodiments of this application.
[0166] The input / output interface 503 is used to implement information input and output;
[0167] The communication interface 504 is used to enable communication and interaction between this device and other devices. Communication can be achieved through wired means (such as USB, Ethernet cable, etc.) or wireless means (such as mobile network, WIFI, Bluetooth, etc.).
[0168] Bus 505 transmits information between various components of the device (e.g., processor 501, memory 502, input / output interface 503, and communication interface 504);
[0169] The processor 501, memory 502, input / output interface 503, and communication interface 504 are connected to each other within the device via bus 505.
[0170] This application also provides a storage medium, which is a computer-readable storage medium for computer-readable storage. The storage medium stores one or more programs, which can be executed by one or more processors to implement the above-described encoding or decoding method.
[0171] Memory, as a non-transitory computer-readable storage medium, can be used to store non-transitory software programs and non-transitory computer-executable programs. Furthermore, memory may include high-speed random access memory, and may also include non-transitory memory, such as at least one disk storage device, flash memory device, or other non-transitory solid-state storage device. In some embodiments, memory may optionally include memory remotely located relative to the processor, and these remote memories can be connected to the processor via a network. Examples of such networks include, but are not limited to, the Internet, intranets, local area networks, mobile communication networks, and combinations thereof.
[0172] The embodiments described in 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 by the embodiments of this application. As those skilled in the art will know, with the evolution of technology and the emergence of new application scenarios, the technical solutions provided by the embodiments of this application are also applicable to similar technical problems.
[0173] Those skilled in the art will understand that the technical solutions shown in the figures do not constitute a limitation on the embodiments of this application, and may include more or fewer steps than shown, or combine certain steps, or different steps.
[0174] The system embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate; that is, they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of this embodiment according to actual needs.
[0175] Those skilled in the art will understand that all or some of the steps in the methods disclosed above, as well as the functional modules / units in the systems and devices, can be implemented as software, firmware, hardware, or suitable combinations thereof.
[0176] The terms “first,” “second,” “third,” “fourth,” etc. (if present) in the specification and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of this application described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the terms “comprising” and “having,” and any variations thereof, are intended to cover non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.
[0177] It should be understood that in this application, "at least one (item)" means one or more, and "more than" means two or more. "And / or" is used to describe the relationship between related objects, indicating that three relationships can exist. For example, "A and / or B" can represent three cases: only A exists, only B exists, and both A and B exist simultaneously, 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 (item) 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 (item) of a, b, or c can represent: a, b, c, "a and b", "a and c", "b and c", or "a and b and c", where a, b, and c can be single or multiple.
[0178] In the embodiments provided in this application, it should be understood that the disclosed systems and methods can be implemented in other ways. For example, the system embodiments described above are merely illustrative; for instance, the division of the units described above is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between systems or units may be electrical, mechanical, or other forms.
[0179] The units described above as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0180] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.
[0181] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes multiple instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods of the various embodiments of this application. The aforementioned storage medium includes various media capable of storing programs, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0182] The preferred embodiments of the present application have been described above with reference to the accompanying drawings, but this does not limit the scope of the claims of the present application. Any modifications, equivalent substitutions, and improvements made by those skilled in the art without departing from the scope and substance of the embodiments of the present application shall be within the scope of the claims of the present application.
Claims
1. A non-fixed bit rate encoding method, characterized in that, Includes the following steps: Obtain the source data to be encoded and the first additional information, wherein the first additional information includes the decoding confidence from the previous round at the decoding end and the first network memory information obtained from the previous round update; The source data to be encoded and the first additional information are encoded based on a neural network to obtain encoded data and first internal information, wherein the first internal information is used to update the first network memory information; Send the encoded data to obtain the decoding confidence level from the decoding end in the current round; Determine whether the communication termination condition has been met. If the communication termination condition has not been met, update the first additional information based on the decoding confidence of the current round and the first network memory information updated in the current round, and perform the encoding operation of the next round based on the new first additional information.
2. The non-fixed bit rate encoding method according to claim 1, characterized in that, The non-fixed bitrate encoding method further includes the following steps: Determine whether the decoding confidence score for the current round has been received from the decoding end; If no decoding confidence score is received for the current round, the decoding confidence score from the previous round is used as the decoding confidence score for the current round.
3. The non-fixed bit rate encoding method according to claim 1, characterized in that, The determination of whether the communication termination condition has been met includes the following steps: Based on the decoding confidence level of the current round, determine the confidence probability of the encoded data; The encoded data is then subjected to maximum likelihood decoding based on the confidence probability to obtain the decoding result; When the decoding result is the same as the source data to be encoded, it is determined that the communication termination condition has been met, and a decoding confirmation message is sent to the decoding end.
4. The non-fixed bit rate encoding method according to claim 1, characterized in that, The process of encoding the source data to be encoded and the first additional information based on a neural network to obtain encoded data and the first internal information includes the following steps: The source data to be encoded and the first additional information are input into a feature extraction layer, a multi-layer self-attention layer, and a multi-layer perceptron aggregation layer that are connected in sequence to obtain the first internal information. The first internal information is input into the encoding layer to obtain encoded data.
5. A decoding method without a fixed bit rate, characterized in that, Includes the following steps: Receive data to be decoded and obtain second additional information, wherein the data to be decoded includes encoded data, and the second additional information includes the decoding confidence of the previous round and the second network memory information obtained from the previous round update; Based on the neural network, the data to be decoded is decoded using the second additional information to obtain the decoded data of the current round, its decoding confidence, and the second internal information. The second internal information is used to update the second network memory information, and the decoding confidence is used to feed back to the encoder. Determine whether the decoding conditions have been met. If the decoding conditions have been met, determine the source data based on the decoding data from previous rounds and their decoding confidence.
6. The decoding method without a fixed bit rate according to claim 5, characterized in that, The determination of whether the decoding condition is met includes the following steps: Determine whether an acknowledgment decoding message has been received from the encoding end; When a confirmation decoding message is received from the encoding end, it is determined that the decoding condition has been met.
7. The decoding method without a fixed bit rate according to claim 5, characterized in that, The method of decoding the data to be decoded based on a neural network and using the second additional information to obtain the decoded data of the current round, its decoding confidence, and the second internal information includes the following steps: The data to be decoded is input into the data extension layer to obtain extended data; The extended data and the second additional information are sequentially input into a feature extraction layer, a multi-layer self-attention layer, and a multi-layer perceptron aggregation layer to obtain the second internal information. The second internal information is input into the decoding layer to obtain the decoding data and its decoding confidence for the current round.
8. The decoding method without a fixed bit rate according to claim 7, characterized in that, The non-fixed bitrate decoding method further includes the following steps: The second internal information is input into the gated loop unit to update the second network memory information, thereby obtaining the second network memory information for the current round.
9. An electronic device, characterized in that, The electronic device includes a memory, a processor, a program stored in the memory and executable on the processor, and a data bus for enabling communication between the processor and the memory, wherein the program, when executed by the processor, implements the steps of the method as described in any one of claims 1 to 8.
10. A storage medium, said storage medium being a computer-readable storage medium for computer-readable storage, characterized in that, The storage medium stores one or more programs, which can be executed by one or more processors to implement the steps of the method according to any one of claims 1 to 8.