Coding method and decoding method without fixed code rate, equipment and storage medium

By introducing a fixed-rate encoding and decoding method in communication technology, using decoding confidence and network memory information for encoding and decoding, the problem of insufficient adaptability of the prior art in different channel environments is solved, and more efficient communication is achieved.

CN120150898AActive Publication Date: 2025-06-13UNIV OF MACAU
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
CN202510268892.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-03-07
Publication Date
2025-06-13
Estimated Expiration
2045-03-07

AI Technical Summary

Technical Problem

Existing deep neural network-based codec designs are not adaptable in channel environments with different noise levels, resulting in low communication efficiency.

Method used

A coding method and decoding method without fixed-rate is proposed. By obtaining decoding confidence and network memory information, encoding and decoding is performed based on the neural network, and encoding parameters are adjusted through feedback mechanism to adapt to different channel environments.

Benefits of technology

The adaptability in different channel environments is improved, and the encoding and decoding effect is improved by feedback of decoding confidence and network memory information, thereby improving communication efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120150898A_ABST
    Figure CN120150898A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides a coding method without a fixed code rate, a decoding method, equipment and a storage medium, and belongs to the technical field of communication. In each round of communication, for given source data, the sending end obtains coded data in combination with network memory information of the previous round and feedback decoding confidence. And decoding the coded data by the receiving end to obtain the current decoding confidence, and feeding back the decoding confidence information to the sending end. And when a receiving end reaches a decoding condition, communication can be ended, otherwise, the decoding confidence is used for next round of coding. The non-fixed code rate coding and decoding communication mode can improve the adaptability in different channel environments, and improves the coding and decoding effects by feeding back the decoding confidence and fusing the decoding confidence of the last round and the own network memory information in the coding and decoding process, thereby improving the communication efficiency.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of communication technologies, and in particular, to a variable bit rate encoding method, a decoding method, a device, and a storage medium. Background Art

[0002] The encoding and decoding design based on deep neural networks is widely used in the field of communication technologies and can achieve flexible encoding rates. The main task of the encoder at the sending end is to convert the input data into a potential and highly representative feature representation, that is, a hidden layer representation. The task of the decoder is to restore the feature representation generated by the encoder after noise perturbation to the target output. However, this encoding method is a fixed bit rate, and its versatility for different noise levels is insufficient. It is necessary to frequently switch the pre-trained model to handle the changing real channel environment, so it cannot adapt to flexible feedback resource allocation, and the communication efficiency is low. Summary of the Invention

[0003] The main purpose of the embodiments of the present application is to propose a variable bit rate encoding method, a decoding method, a device, and a storage medium, aiming to improve the adaptability in different channel environments and improve communication efficiency.

[0004] To achieve the above object, one aspect of the embodiments of the present application proposes a variable bit rate encoding method, including the following steps:

[0005] Obtain the source data to be encoded and first additional information, where 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;

[0006] Encode the source data to be encoded and the first additional information based on a neural network to obtain encoded data and first internal information, where the first internal information is used to update the first network memory information;

[0007] Send the encoded data to obtain the decoding confidence from the decoding end in the current round;

[0008] Judge whether the communication end condition is reached. When the communication end condition is not reached, update the first additional information according to the decoding confidence in the current round and the first network memory information updated in the current round, and perform the encoding operation in the next round according to the new first additional information.

[0009] In some embodiments, the variable bit rate encoding method further includes the following steps:

[0010] Judge whether the decoding confidence from the decoding end in the current round is received;

[0011] When the decoding confidence of the current round is not received, the decoding confidence of the previous round is used as the decoding confidence of the current round.

[0012] In some embodiments, determining whether the communication end condition is reached includes the following steps:

[0013] According to the decoding confidence of the current round, determine the confidence probability of the encoded data;

[0014] Perform maximum likelihood decoding on the encoded data according to the confidence probability to obtain a decoding result;

[0015] When the decoding result is the same as the source data to be encoded, determine that the communication end condition is reached, and send confirmation decoding information 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] Input the source data to be encoded and the first additional information into a sequentially connected feature extraction layer, a multi-layer self-attention layer, and a multi-layer perceptron aggregation layer to obtain first internal information;

[0018] Input the first internal information into an encoding layer to obtain encoded data.

[0019] To achieve the above object, another aspect of the embodiments of the present application proposes a variable bit rate decoding method, including the following steps:

[0020] Receive data to be decoded and obtain second additional information, where 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 updated in the previous round;

[0021] Based on a neural network, use the second additional information to decode the data to be decoded to obtain the decoded data of the current round, its decoding confidence, and second internal information, where the second internal information is used to update the second network memory information, and the decoding confidence is fed back to the encoding end;

[0022] Determine whether the decoding condition is reached. When the decoding condition is reached, determine the source data according to the decoded data of the historical rounds and their decoding confidences.

[0023] In some embodiments, determining whether the decoding condition is reached includes the following steps:

[0024] Determine whether confirmation decoding information from the encoding end is received;

[0025] When the confirmation decoding information from the encoding end is received, it is determined that the decoding condition is reached.

[0026] In some embodiments, based on the neural network, the second additional information is used to decode the data to be decoded, and the decoded data of the current round, its decoding confidence, and the second internal information are obtained, including the following steps:

[0027] Input the data to be decoded into the data expansion layer to obtain expanded data;

[0028] Input the expanded data and the second additional information into the sequentially connected feature extraction layer, multi-layer self-attention layer, and multi-layer perceptron aggregation layer to obtain the second internal information;

[0029] Input the second internal information into the decoding layer to obtain the decoded data of the current round and its decoding confidence.

[0030] In some embodiments, the variable bit rate decoding method further includes the following steps:

[0031] Input the second internal information into the gated recurrent unit to update the second network memory information, and obtain the second network memory information of the current round.

[0032] To achieve the above object, on the other hand, an electronic device is proposed in an embodiment of the present application. The electronic device includes a memory, a processor, a program stored on the memory and executable on the processor, and a data bus for realizing the connection and communication between the processor and the memory. When the program is executed by the processor, the method described in the above embodiment is realized.

[0033] To achieve the above object, on the other hand, a storage medium is proposed in an embodiment of the present application. The storage medium is a computer-readable storage medium for computer-readable storage. The storage medium stores one or more programs, and the one or more programs can be executed by one or more processors to realize the method described in the above embodiment.

[0034] For the variable bit rate encoding method, decoding method, device, and storage medium proposed in the present application, in each round of communication, for the given source data, the sending end combines the network memory information of the previous round and the feedback decoding confidence to obtain the 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 reaches the decoding condition, the communication can be ended; otherwise, the decoding confidence is used for the next round of encoding. This variable bit rate encoding and decoding communication method can improve the adaptability in different channel environments. By feeding back the decoding confidence and fusing the decoding confidence of the previous round and its own network memory information during the encoding and decoding process, the encoding and decoding effect is improved, thereby improving the communication efficiency. Brief Description of the Drawings

[0035] Figure 1 is a flowchart of the variable bit rate encoding method provided by an embodiment of the present application;

[0036] Figure 2 is a schematic diagram of the encoding process of the communication system provided by an embodiment of the present application;

[0037] Figure 3 is a flowchart of the variable bit rate decoding method provided by an embodiment of the present application;

[0038] Figure 4 is a schematic diagram of the relationship between the packet error rate and the number of communication rounds provided by an embodiment of the present application;

[0039] Figure 5 is a schematic diagram of the hardware structure of the electronic device provided by an embodiment of the present application. Detailed Embodiments

[0040] In order to make the objectives, technical solutions and advantages of the present application more clearly understood, the present application will be further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and are not used to limit the present application.

[0041] It should be noted that although functional module division is performed in the system and the logical order is shown in the flowchart, in some cases, the steps shown or described may be executed in a different order from the module division in the system or the order in the flowchart. Terms such as "first" and "second" in the specification, claims and the above drawings are used to distinguish similar objects and do not necessarily need 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 those skilled in the technical field to which this application belongs. The terms used herein are only for the purpose of describing the embodiments of this application and are not intended to limit this application.

[0043] Embodiments of the present application provide a variable bit rate encoding method, a decoding method, a device and a storage medium, aiming to improve the adaptability in different channel environments and improve communication efficiency.

[0044] The variable bit rate encoding method, decoding method, device and storage medium provided by the embodiments of the present application will be specifically described through the following embodiments. First, the variable bit rate encoding method and the variable bit rate decoding method in the embodiments of the present application will be described.

[0045] The variable bit rate encoding method and variable bit rate decoding method provided by the embodiments of the present application relate to the field of communication technologies. The variable bit rate encoding method and variable bit rate decoding method provided by the embodiments of the present application can be applied to terminals, can also be applied to server sides, or can be software running on terminals or server sides. In some embodiments, the terminal can be a smart phone, a tablet computer, a laptop computer, a desktop computer, etc.; the server side can be configured as an independent physical server, can also be configured as a server cluster or distributed system composed of multiple physical servers, or can also be configured as a cloud server providing basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, CDN, and big data and artificial intelligence platforms; the software can be an application that implements the variable bit rate encoding method or variable bit rate decoding method, etc., but is not limited to the above forms.

[0046] The present application can be used in many general or special computer system environments or configurations. For example: personal computers, server computers, handheld or portable devices, tablet devices, multi-processor systems, microprocessor-based systems, set-top boxes, programmable consumer electronic devices, network PCs, small computers, large computers, distributed computing environments including any of the above systems or devices, and so on. The present 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. The present application can also be practiced in distributed computing environments where tasks are performed by remote processing devices connected through a communication network. In distributed computing environments, program modules can be located in local and remote computer storage media including storage devices.

[0047] To facilitate the description of the embodiments of the encoding process and decoding process, the following parameter meanings are defined:

[0048] z i represents the decoding confidence at the sending end, represents the decoding confidence at the receiving end;

[0049] c i and are respectively the network memory information of the sending end and the receiving end in the i-th round. These network memory information are extracted from the neural network and updated using a gated recurrent unit, and are used to store the information of the previously sent or received data as an aid for subsequent encoding and decoding;

[0050] and are respectively the encoding process and the decoding process;

[0051] and are respectively the update methods for the internal information of the sending end and the receiving end.

[0052] Please refer to Figure 1 , this embodiment of the present application provides a variable bit rate coding method, which is applied to the coding end, that is, the data sending end. The variable bit rate coding 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, where the first additional information includes the decoding confidence from the previous round of the decoding end and the first network memory information updated in the previous round;

[0054] Step S102, encode the source data to be encoded and the first additional information based on a neural network to obtain encoded data and first internal information, where the first internal information is used to update the first network memory information;

[0055] Step S103, send the encoded data to obtain the decoding confidence from the decoding end in the current round;

[0056] Step S104, determine whether the communication end condition is reached. When the communication end condition is not reached, update the first additional information according to the decoding confidence in the current round and the first network memory information updated in the current round, and perform the encoding operation for 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 = [b 1 , b 2 , …, b k . During the encoding process, the data to be encoded can be repeatedly sent in multiple rounds until a preset condition is reached.

[0058] In this embodiment, during the encoding process of each round, the source data to be encoded can be divided into l groups, and each group has 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 sending end combines the binary source data, the feedback decoding confidence, and the internal information of its own encoder network for encoding, and sends the l real number data obtained by encoding to the receiving end. After these l real number data (i.e., the encoded data) pass through the channel, they will be input into the decoder at the receiving end. The decoder uses the received data and the internal information of its own network in the decoder for decoding to obtain the decoding confidence and feedback it to the sending end, and then proceeds to the next round of communication. Specifically, the encoding process of each round at the sending end is as follows:

[0059] First, obtain the source data to be encoded and the first additional information. 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 credibility of the decoding result of the data received in the previous round at the receiving end. The first network memory information represents the encoded feature information stored by the encoder network in the previous rounds and is used as information assistance during encoding.

[0060] Second, use a neural network-based encoder 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, and the gated recurrent unit takes the first internal information obtained in each round as input for calculation and update, thereby forming the first network memory information.

[0061] Third, after obtaining the encoded data, send the encoded data 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 for the i-th round of communication is an l-dimensional real number sequence x i =[x i,1 ,x i,2 ,…,x i,l , and the received data is y i =x i +n i , where n i is the channel noise and follows a normal distribution with a mean of zero and a variance of σ 2 I l . After the receiving end receives the data y i , it decodes it through a neural network-based decoder, can obtain the decoding confidence, and sends the decoding confidence to the data sending end. In this embodiment, to distinguish variables with similar functions on different devices (the sending end and the receiving end), x i represents the decoding confidence received at the sending end, represents the decoding confidence obtained by decoding at the receiving end. It should be noted that x i and are both l*2 m -dimensional real number data. The first dimension of the array represents the group used to distinguish the data corresponding to the confidence, and the second dimension represents the different states of m binary data within the current group. The larger the single value in the array, the greater the possibility that the receiving end believes that the data in this group is in the corresponding decoding state. The sending end receives the decoding confidence in this round and will use it as the first additional information for the next round.

[0062] The sending end determines whether the communication end condition is reached in the current round. When the communication end condition is not reached, the first additional information is updated according to the decoding confidence of the current round and the first network memory information updated in the current round, and then the encoding operation for the next round is continued according to the new first additional information, that is, steps S101 to S104 are repeatedly executed. When the communication end condition is reached, the encoding of the source data is stopped. The specific communication end determination method will be introduced later.

[0063] In some embodiments, the variable bit rate encoding method of the embodiments of the present application may further include but is not limited to steps S201 to S202:

[0064] Step S201, determine whether the decoding confidence of the current round from the decoding end is received;

[0065] Step S202, when the decoding confidence of the current round is not received, use the decoding confidence of the previous round as the decoding confidence of the current round.

[0066] In this embodiment, after the sending end encodes the encoded data, it sends the encoded data to the receiving end. After the receiving end decodes the data, the decoding confidence is obtained The receiving end sends the decoding confidence back to the sending end. If the feedback is interrupted at this time, the sending end cannot receive z in the i-th round of communication i At this time, the judgment of the decoding confidence by the sending end remains unchanged, that is, the decoding confidence x of the previous round i-1 is used as the decoding confidence x of the current round i z i = x i-1 . In this embodiment, if the receiving end feedbacks a lack of resources in a certain round, the general feedback encoding will collapse due to being unable to handle it. However, for the decoding confidence feedback in this embodiment, when the sending end does not receive the feedback, it can be defaulted that the receiving end still has the decoding confidence of the previous round, and the subsequent processing of the feedback can be continued, improving the flexibility of feedback resource allocation and the stability of the overall encoding and decoding system.

[0067] In some embodiments, step S104 for determining whether the communication end condition is reached may include but is not limited to steps S301 to S303:

[0068] Step S301, determine the confidence probability of the encoded data according to the decoding confidence of the current round;

[0069] Step S302, perform maximum likelihood decoding on the encoded data according to 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 end condition is reached, and the determined decoding information is sent to the decoding end.

[0071] In this embodiment, for a known decoding confidence x, performing a Softmax operation on the second dimension of x can obtain the confidence probability where p i,j represents the confidence probability that the receiving end believes that the i-th group of decoded data is in the j-th state. Maximum likelihood decoding means that for each group of data, the state with the highest confidence probability is selected as the decoded data. When the sending end receives the newly feedback decoding confidence z i , it is converted into the confidence probability p, and maximum likelihood decoding is performed on the encoded output sent in the current communication round based on the confidence probability. If the decoding result is the same as the source data b, it is determined that the communication end condition is reached, and the encoding communication for this source data is ended. At the same time, a one-bit confirmation decoding information can be sent to the receiving end in the next communication round. After receiving this confirmation decoding information, the receiving end performs maximum likelihood decoding and ends this communication.

[0072] In another example, the way for the sending end to determine whether the communication end condition is reached can also be: The receiving end sets a confidence threshold p decode . When the probability of the most likely situation for each group exceeds the given confidence threshold p decode (for example, 0.999), the receiving end can perform decoding. Expressed by the formula, when the decoding confidence probability p satisfies the following formula:

[0073] min i (max j (p i,j )) > p decode ;

[0074] The receiving end performs maximum likelihood decoding and sends a one-bit confirmation decoding information to the sending end to end this communication. The sending end determines whether the communication end condition is reached by judging whether it receives the confirmation decoding information from the receiving end. If it receives the confirmation decoding information from the receiving end, it is considered that the communication end condition is reached, and the source data b will not be encoded subsequently.

[0075] In another example, the way for the sending end to determine whether the communication end condition is reached can also be: The receiving end sets a round threshold I decode , and after completing the I decodeAfter round communication, the receiving end performs maximum likelihood decoding and ends the current communication. At this time, this coding method degrades to fixed code rate coding. The sending end sets the same round threshold. The sending end determines whether the communication end condition is reached by judging whether the round threshold is reached. If the round threshold is reached, it is considered that the communication end condition is reached, and the source data b will not be encoded subsequently. When performing fixed round decoding, the relationship between the communication round and the packet error rate is as shown in Figure 4 shown. It can be seen from Figure 4 that after the communication round 14, the packet error rate is small and tends to be stable. 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 sequentially connected feature extraction layer, multi-layer self-attention layer, and multi-layer perceptron aggregation layer to obtain the first internal information;

[0078] Step S402: Input the first internal information into the encoding layer to obtain the encoded data.

[0079] In this embodiment, the encoding method of the sending 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 for the following description of the encoding process.

[0080] The neural network for the encoding process is mainly divided into four parts: the feature extraction layer FE, the multi-layer self-attention layer Att, the multi-layer perceptron aggregation layer MLP, and the encoding layer En.

[0081] For its calculation order is as follows:

[0082]

[0083] Among them, x i+1 represents the encoded data in the (i + 1)-th round.

[0084] The specific calculation process of the feature extraction layer part of the encoder is:

[0085]

[0086] Among them, A m*n is a coefficient matrix of size m * n, b n is a residual vector of size n, and each coefficient is independent of each other. The activation function

[0087] The specific calculation process of the multi-layer self-attention layer of the encoder is:

[0088]

[0089]

[0090] Among them

[0091] The specific calculation process of the multi-layer perceptron aggregation layer of the encoder is as follows:

[0092]

[0093] The specific calculation process of the encoding layer of the encoder is as follows:

[0094]

[0095] Please refer to Figure 3 , this embodiment of the present application also provides a variable bitrate decoding method, which is applied to the decoding end, that is, the data receiving end. The variable bitrate decoding method 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. Among them, the data to be decoded includes the encoded data, and the second additional information includes the decoding confidence of the previous round and the second network memory information updated in the previous round;

[0097] Step S502: Based on the neural network, use the second additional information to decode the data to be decoded, and obtain the decoded data of the current round, its decoding confidence, and the second internal information. Among them, the second internal information is used to update the second network memory information, and the decoding confidence is fed back to the encoding end;

[0098] Step S503: Determine whether the decoding condition is reached. When the decoding condition is reached, the source data is determined according to the decoded data of the historical rounds and their decoding confidence.

[0099] In this embodiment, the decoding process of each round at the receiving end is as follows:

[0100] First, receive the source data to be encoded and the first additional information. The data to be decoded includes the encoded data and may also be superimposed with channel noise. The second additional information includes the decoding confidence of the previous round and the second network memory information updated in the previous round. The decoding confidence represents the credibility of the receiving end's decoding result for the data received in the previous round. The second network memory information represents the decoding feature information stored by the decoder network in the 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 in combination with the second additional information, obtaining the decoded data, its decoding confidence, and the 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 the second internal information 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, and the gated recurrent unit takes the second internal information obtained in each round as input for calculation and update, thereby forming the second network memory information.

[0102] Thirdly, after obtaining the decoding confidence of the current round, the decoding confidence is fed back to the sending end. The feedback data received by the sending end may be superimposed with channel noise in addition to the decoding confidence.

[0103] The receiving end determines whether the current round reaches the decoding condition. When the decoding condition is reached, maximum likelihood decoding can be performed based on the decoded data and its decoding confidence of the historical rounds to obtain the final decoding result (i.e., the source data b). When the decoding condition is not reached, it is necessary to continue to receive the encoded data in the next round of communication to obtain data accurate enough for decoding.

[0104] In some embodiments, in step S503, determining whether the decoding condition is reached may include, but is not limited to, steps S601 to S602:

[0105] Step S601, determining whether an acknowledgment decoding message from the encoding end is received;

[0106] Step S602, when an acknowledgment decoding message from the encoding end is received, it is determined that the decoding condition is reached.

[0107] In this embodiment, when the sending end receives the newly feedback decoding confidence z i in the current communication round, it is converted into a confidence probability, and maximum likelihood decoding is performed on the encoded output sent in the current communication round based on the confidence probability. If the decoding result is the same as the source data b, it is determined that the communication end condition is reached, and the encoding communication for the source data is ended. At the same time, a one-bit acknowledgment decoding message can be sent to the receiving end in the next round of communication. The receiving end can determine whether the decoding condition is reached by judging whether an acknowledgment decoding message from the sending end is received. If the acknowledgment decoding message is received, it is considered that the decoding condition is reached, and at this time, the receiving end performs maximum likelihood decoding and ends the current communication.

[0108] In another example, the way for the receiving end to determine whether the decoding condition is reached can also be: the receiving end sets a confidence threshold p decodeWhen the probability of the most likely case in each group exceeds the given confidence threshold p decode (e.g., 0.999), it is considered that the decoding condition is met. The receiving end can perform maximum likelihood decoding and send a one-bit confirmation decoding message to the sending end to end this communication.

[0109] In another example, the way for the receiving end to determine whether the decoding condition is met can also be: The receiving end sets a round threshold I decode , after the I decode th round of communication is reached, it is considered that the decoding condition is met. The receiving end performs maximum likelihood decoding and ends this communication. At this time, this coding method degrades to fixed-rate coding.

[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 expansion layer to obtain expanded data;

[0112] Step S702, input the expanded data and the second additional information into the sequentially connected feature extraction layer, multi-layer self-attention layer, and multi-layer perceptron aggregation layer to obtain the second internal information;

[0113] Step S703, input the second internal information into the decoding layer to obtain the decoded data and its decoding confidence for the current round.

[0114] In this embodiment, the coding method of 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 described as follows.

[0115] The neural network of 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 represents the data to be decoded received in the (i + 1)th round of communication.

[0118] The specific calculation process of the symbol expansion layer part of the encoder is:

[0119]

[0120] The calculation process of the multi-layer perceptron aggregation layer of the decoder is:

[0121]

[0122] The calculation process of the decoding layer of the decoder is as follows:

[0123]

[0124] In some embodiments, the variable bit rate decoding method of the embodiments of the present application may further include, but is not limited to, the following steps:

[0125] Step S801: Input the second internal information into the gated recurrent unit to update the second network memory information, and obtain the second network memory information of the current round.

[0126] It should be noted that at the sending end, the first internal information is also input into the gated recurrent unit at the sending end to update the first network memory information, and 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 are two gated recurrent units (GRUs) with the same structure but different parameters. Taking as an example:

[0128] When calculating , c u-1 is the hidden layer network memory information of the previous round, c i is the internal information during encoding in the current round. The output of is the updated hidden layer network memory information after calculation. The specific calculation is as follows:

[0129]

[0130] Among them, ⊙ is 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 the present application, the training process of the encoder of the neural network is described as follows:

[0135] Since the encoding needs to balance the benefits of shorter and longer rounds, in single-step training, a fixed number of rounds t may be randomly selected, that is, after running t times, the loss function is calculated and backpropagation is performed. At the same time, considering that when t is too small, the Shannon limit cannot be reached, and when t is too large, it will cause video memory overflow, so the minimum and maximum round limits can be set. In the experiment, the distribution of t is a uniform distribution on {4, 5, …, 20}, and t is sampled once for each 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 the number of rounds t. In the experiment, its value can be:

[0139] Since different training rounds t during training will produce different intensities of loss, a smaller t will cause a larger loss, and the loss intensity generally shows an exponential trend. Therefore, a penalty coefficient based on t is adopted in the loss function to balance the influence of training in different rounds on the model.

[0140] According to some embodiments of the present application, please combine Figure 2 , and the communication process for complete source data is described as follows:

[0141] In the first round of communication, the sender encodes and sends the source data, and saves the internal information into the gated recurrent unit to obtain the network memory information c 1 , which is expressed as follows:

[0142]

[0143] where, is the initial confidence, assuming that the possibility of each symbol for the data point is the same, that is, all values are 1.

[0144] The data received by the receiver is:

[0145]

[0146] The receiver performs the first decoding:

[0147] The sender's judgment on the decoding confidence remains unchanged, that is, z 1 = z 0 .

[0148] In the i-th round of communication (i > 1), the sender encodes using the decoding confidence and network memory information obtained in the previous round:

[0149]

[0150] The network memory information at the sending end is updated as follows:

[0151]

[0152] Among them, c i-1 represents the network memory information of the previous round, and the input c of the update process represents the internal information of the current round, and the output v of the update process i represents the network memory information of the current round. i

[0153] The data received by the receiving end is:

[0154]

[0155] The receiving end decodes and updates the network memory information, which is shown as follows:

[0156] If interrupted, the judgment of the confidence level at the sending end remains unchanged, that is, z i = z i-1 .

[0157] When the sending end receives the new confidence level feedback z i , it is converted into a confidence probability p and directly undergoes maximum likelihood decoding. If the decoding result is the same as the source data b, then in the next round of communication, the sending end sends one-bit confirmation decoding information to the receiving end. After receiving this information, the receiving end performs maximum likelihood decoding and ends this communication. The final system output is l groups of codes, each group of codes consisting of m-bit binary data. After straightening them, it is the data decoded by the system.

[0158] In the embodiment of the present application, the present embodiment has the following beneficial effects:

[0159] The encoding and decoding method in the embodiment of the present application can adaptively adjust the code rate according to the change of the channel quality, and can adapt to the changing channel environment in real life. In each round, for the given source data b, the sending end combines the internal information and the feedback confidence level, and can encode l real numbers. These real numbers are sent to the receiving end. The receiving end decodes them to obtain the current confidence level information, and then feeds back this confidence level information to the sending end. If the sending end finds that the current confidence level can perfectly decode the source data, it will no longer encode and send one-bit confirmation information to tell the receiving end that it can directly decode; otherwise, it will use the confidence level for the next round of encoding. In this process, the smaller the noise, the fewer the number of communication rounds required to complete the communication target, and the code rate can be adjusted adaptively without additional artificial restrictions.

[0160] ​​The encoding and decoding method of the embodiments of the present application can operate normally under the condition of flexible allocation of feedback resources, improve the reliability of the communication system, and enable the entire system to flexibly allocate feedback resources. If the feedback resources of the receiving end are lacking in a certain round, general feedback encoding will collapse due to being unable to process. The embodiments of the present application use decoding confidence feedback. When no feedback is received, it can be defaulted that the receiving end still has the confidence level of the previous round, and the feedback continues, improving the flexibility of feedback resource allocation and the stability of the overall encoding and decoding system.

[0161] The combination of rateless coding and transmitter confidence decoding can maximize the communication efficiency under the same data transmission effect, reduce power consumption, and achieve long-distance deep coverage. It has high economic significance in scenarios where the energy of the transmitter is limited. For example, it can reduce the data transmission consumption of devices such as mobile phones and drones and improve the battery life. In addition, in unmanned detection scenarios in deep mountains, deep seas, and deep skies, due to the long distance and severe signal attenuation, this coding can ensure the data is transmitted from the detector back to the base station, and part of the transmission energy consumption is borne by the base station, which can greatly improve the battery life of the detector.

[0162] The embodiments of the present application further provide an electronic device, which includes: a memory, a processor, a program stored on the memory and executable on the processor, and a data bus for realizing the connection and communication between the processor and the memory. When the program is executed by the processor, the above encoding method or decoding method is realized. The electronic device can be any intelligent terminal including a tablet computer, a vehicle-mounted computer, etc.

[0163] Please refer to Figure 5 , Figure 5 which shows the hardware structure of the electronic device of another embodiment. The electronic device includes:

[0164] A processor 501, which can be implemented in ways such as a general-purpose CPU (Central Processing Unit, central processor), a microprocessor, an application-specific integrated circuit (Application Specific Integrated Circuit, ASIC), or one or more integrated circuits, and is used to execute relevant programs to implement the technical solutions provided by the embodiments of the present application;

[0165] The memory 502 can be implemented in the form of a read-only memory (ROM), a static storage device, a dynamic storage device, or a random access memory (RAM), etc. The memory 502 can store an operating system and other application programs. When implementing the technical solutions provided in the embodiments of this specification through software or firmware, the relevant program codes are stored in the memory 502 and are called by the processor 501 to execute the encoding method or decoding method 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 implement communication interaction between this device and other devices. It can communicate through a wired manner (such as USB, network cable, etc.) or through a wireless manner (such as a mobile network, WI-FI, Bluetooth, etc.);

[0168] The bus 505 transmits information between various components of the device (such as the processor 501, the memory 502, the input / output interface 503, and the communication interface 504);

[0169] Among them, the processor 501, the memory 502, the input / output interface 503, and the communication interface 504 are communicatively connected to each other inside the device through the bus 505.

[0170] The embodiments of this application also provide a storage medium. The storage medium is a computer-readable storage medium for computer-readable storage. The storage medium stores one or more programs, and the one or more programs can be executed by one or more processors to implement the above encoding method or decoding method.

[0171] As a non-transitory computer-readable storage medium, the memory can be used to store non-transitory software programs and non-transitory computer-executable programs. In addition, the memory can include a high-speed random access memory, and can also include non-transitory memory, such as at least one magnetic disk storage device, a flash memory device, or other non-transitory solid-state storage devices. In some embodiments, the memory optionally includes a memory remotely set relative to the processor, and these remote memories can be connected to the processor through a network. Examples of the above networks include, but are not limited to, the Internet, an enterprise intranet, a local area network, a mobile communication network, and combinations thereof.

[0172] The embodiments described in the embodiments of this application are for more clearly explaining 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. Those skilled in the art know that with the evolution of technology and the emergence of new application scenarios, the technical solutions provided by the embodiments of this application are equally applicable to similar technical problems.

[0173] Those skilled in the art can understand that the technical solutions shown in the figures do not constitute a limitation on the embodiments of the present application, and may include more or fewer steps than those shown in the figures, 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 separated, that is, they may be located in one place, or may be distributed to multiple network units. Some or all of the modules can be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0175] Those of ordinary skill in the art can understand that all or some of the steps in the methods disclosed above, and the functional modules / units in the systems and devices, can be implemented as software, firmware, hardware, and their appropriate combinations.

[0176] The terms "first", "second", "third", "fourth", etc. (if any) in the specification of the present application and the above-mentioned drawings are used to distinguish similar objects, and do not necessarily have to be used to describe a specific order or sequence. It should be understood that the data used in this way can be interchanged under appropriate circumstances, so that the embodiments of the present application described here can be implemented in an order different from those illustrated or described here. In addition, the terms "comprising" and "having" and any variations thereof are intended to cover non-exclusive inclusion. For example, a process, method, system, product, or device that includes a series of steps or units does not necessarily have to be limited to those steps or units clearly listed, but may include other steps or units not clearly listed or inherent to these processes, methods, products, or devices.

[0177] It should be understood that in the present application, "at least one (item)" means one or more, and "a plurality" means two or more. "And / or" is used to describe the association relationship of associated objects, indicating that there can be three relationships. For example, "A and / or B" can mean: only A exists, only B exists, and both A and B exist at the same time. Among them, A and B can be singular or plural. The character " / " generally means that the associated objects before and after are in an "or" relationship. "At least one (one) of the following" or a similar expression means any combination of these items, including any combination of single items (ones) or plural items (ones). For example, at least one (one) of a, b, or c can mean: a, b, c, "a and b", "a and c", "b and c", or "a and b and c", where a, b, c can be single or multiple.

[0178] In several embodiments provided by the present 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 example, the division of the above units is only a logical function division. In actual implementation, there may be other division methods. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the displayed or discussed couplings or direct couplings or communication connections to each other can be through some interfaces. The indirect couplings or communication connections of systems or units can be in electrical, mechanical or other forms.

[0179] The units described above as separate components may or may not be physically separated. The components displayed as units may or may not be physical units, that is, they may be located in one place or distributed to multiple network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0180] In addition, in each embodiment of the present application, the functional units can be integrated in a processing unit, or each unit can exist physically alone, or two or more units can be integrated in one unit. The above integrated units can be implemented in the form of hardware or in the form of software functional units.

[0181] If the integrated unit is implemented in the form of 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 the present application, in essence, or the part that contributes to the prior art, or all or part of this 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 for causing a computer device (which can be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods in each embodiment of the present application. And the aforementioned storage medium includes: various media that can store programs such as USB flash drives, mobile hard disks, read-only memories (ROM), random access memories (RAM), magnetic disks, or optical discs.

[0182] The preferred embodiments of the embodiments of the present application have been described above with reference to the accompanying drawings, but this does not limit the scope of the rights of the embodiments of the present application. Any modifications, equivalent replacements, and improvements made by those skilled in the art without departing from the scope and essence of the embodiments of the present application shall be within the scope of the rights of the embodiments of the present application.

Claims

1. A non-fixed bit rate encoding method, characterized in that: The following steps are involved: Acquire source data to be encoded and first additional information, wherein the first additional information includes decoding confidence from a previous round of the decoding end and first network memory information updated in the previous round; 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, wherein the first internal information is used to update the first network memory information; Sending the encoded data to obtain decoding confidence from a decoding end in a current round; Determine whether the communication termination condition is met. When the communication termination condition is not 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 next round of encoding operation according to the new first additional information.

2. The non-fixed bit rate encoding method according to claim 1, characterized in that: The non-fixed bit rate encoding method further comprises the following steps: Determine whether the decoding confidence of the current round is received from the decoding end; When the decoding confidence of the current round is not received, the decoding confidence of the previous round is used as the decoding confidence of the current round.

3. The non-fixed bit rate encoding method according to claim 1, characterized in that: The step of determining whether the communication termination condition is met comprises the following steps: Determining the confidence probability of the encoded data according to the decoding confidence of the current round; Performing maximum likelihood decoding on the encoded data according to the confidence probability to obtain a decoding result; When the decoding result is the same as the source data to be encoded, it is determined that the communication end condition is met, and a confirmation decoding information is sent to the decoding end.

4. The non-fixed bit rate encoding method according to claim 1, characterized in that: The method of 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 comprises the following steps: Inputting the source data to be encoded and the first additional information into a feature extraction layer, a multi-layer self-attention layer, and a multi-layer perceptron aggregation layer connected in sequence to obtain first internal information; The first internal information is input into the encoding layer to obtain encoded data.

5. A non-fixed bit rate decoding method, characterized in that: The following steps are involved: Receiving data to be decoded and acquiring second additional information, wherein the data to be decoded includes encoded data, and the second additional information includes decoding confidence of a previous round and second network memory information updated in the previous round; 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 and its decoding confidence, and the second internal information, wherein the second internal information is used to update the second network memory information, and the decoding confidence is used to feed back to the encoding end; Determine whether the decoding conditions are met. If the decoding conditions are met, determine the source data based on the decoding data of historical rounds and their decoding confidence.

6. The non-fixed bit rate decoding method according to claim 5, characterized in that: The step of determining whether the decoding condition is met comprises the following steps: Determine whether confirmation decoding information is received from the encoding end; When the decoding confirmation information is received from the encoding end, it is determined that the decoding condition is met.

7. The non-fixed bit rate decoding method according to claim 5, characterized in that: The method of decoding the data to be decoded by using the second additional information based on the neural network to obtain the decoded data of the current round and its decoding confidence and the second internal information comprises the following steps: Inputting the data to be decoded into a data extension layer to obtain extended data; Inputting the extended data and the second additional information into a feature extraction layer, a multi-layer self-attention layer, and a multi-layer perceptron aggregation layer connected in sequence to obtain second internal information; The second internal information is input into the decoding layer to obtain the decoding data of the current round and its decoding confidence.

8. The non-fixed bit rate decoding method according to claim 7, characterized in that: The non-fixed code rate decoding method further comprises the following steps: The second internal information is input into the gated cycle unit to update the second network memory information to obtain the second network memory information of 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 realizing connection and communication between the processor and the memory. When the program is executed by the processor, the steps of the method described in any one of claims 1 to 8 are realized.

10. A storage medium, the storage medium being a computer-readable storage medium, used for computer-readable storage, characterized in that: The storage medium stores one or more programs, and the one or more programs can be executed by one or more processors to implement the steps of any one of claims 1 to 8.

Citation Information

Patent Citations

  • Semantic channel joint coding method and device for wireless image transmission

    CN113473149A

  • Generative model decoding method and device, equipment and medium

    CN116911279A

  • Video encoding and decoding method and device, vehicle, storage medium and program product

    CN118573860A

  • LTP protocol optimization method of adaptive variable bit rate polarization code based on position information

    CN119046054A

  • Ai inference system

    US20240414351A1