Data processing method and device, electronic equipment, chip and storage medium

By retaining the second data that has not been confirmed by the receiving end and has the longest storage time when the data sequence is updated, the problem of data sequence update abnormality is solved, and the accuracy of data compression is improved.

CN119450577AActive Publication Date: 2025-02-14BEIJING X RING TECHNOLOGY CO LTD
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
CN202411312066.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-09-19
Publication Date
2025-02-14
Estimated Expiration
2044-09-19

AI Technical Summary

Technical Problem

In harsh transmission environments, data sequence update abnormally leads to reduced accuracy of data compression.

Method used

In the case where there is no free storage location for the data sequence, the second data that has not been confirmed by the receiving end and has the longest storage time is retained, and it is not used as the target data to be replaced, thereby improving the update reliability of the data sequence.

Benefits of technology

By retaining the second data with the longest storage time, the reliability of data sequence updates is improved, thereby improving the accuracy of data compression based on the updated data sequence.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119450577A_ABST
    Figure CN119450577A_ABST
Patent Text Reader

Abstract

The invention provides a data processing method and device, electronic equipment, a chip and a storage medium, and the method comprises the steps: determining to-be-replaced target data from a data sequence without an idle storage position according to the storage time of the data, the target data does not comprise second data which is not confirmed by a receiving end and has the longest storage time, and the second data is not confirmed by the receiving end and has the longest storage time; according to the method, the target data is replaced according to the first data to obtain the updated data sequence, the first data is compressed according to the updated data sequence to obtain the compressed data, and when the data in the data sequence without the idle storage position is replaced, the second data which is not confirmed by the receiving end and has the longest storage time can be reserved. The reliability of data sequence updating is improved, so that the accuracy of data compression based on the updated data sequence is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the technical field of data processing for wireless communications, and in particular to a data processing method, device, electronic device, chip and storage medium. Background Art

[0002] The RoHC (Robust Header Compression) compression scheme of the mobile communication system is an efficient data header compression mechanism used to reduce the overhead on the wireless link and improve the transmission efficiency of data such as voice or video.

[0003] In related technologies, RoHC technology usually uses a window-based least significant bit (W-LSB) algorithm for data compression. However, when the transmission environment is relatively harsh, storing the newly received data to be transmitted in the data sequence will cause abnormal data updates in the data sequence, thereby reducing the accuracy of data compression. Summary of the invention

[0004] The present application aims to solve one of the technical problems in the related art at least to some extent.

[0005] To this end, the present application proposes a data processing method, device, electronic device, chip and storage medium. When updating a data sequence, the second data that has not been confirmed by the receiving end and has the longest storage time will be retained, thereby improving the reliability of the data sequence update and thus improving the accuracy of compression based on the updated data sequence.

[0006] In one aspect, an embodiment of the present application provides a data processing method, including:

[0007] Determine the target data to be replaced from the data sequence without free storage positions according to the storage time of the data; wherein the target data does not include the second data which has not been confirmed by the receiving end and has the longest storage time;

[0008] replacing the target data according to the first data to be compressed to obtain an updated data sequence;

[0009] According to the updated data sequence, the first data is compressed to obtain compressed data.

[0010] Another aspect of the present application provides a data processing device, including:

[0011] A determination module, used to determine the target data to be replaced from the data sequence without free storage positions according to the storage time of the data; wherein the target data does not include the second data which has not been confirmed by the receiving end and has the longest storage time;

[0012] A replacement module, used for replacing the target data according to the first data to obtain an updated data sequence;

[0013] A compression module is used to compress the first data according to the updated data sequence to obtain compressed data.

[0014] Another aspect of the present application provides an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein when the processor executes the program, the method described in the above aspect is implemented.

[0015] Another aspect of the present application provides a chip, where the chip includes a processing circuit, and the processing circuit is configured to execute the method described in the aforementioned aspect.

[0016] Another aspect of the present application provides a non-transitory computer-readable storage medium having a computer program stored thereon. When the computer program is executed by a processor, the method described in the aforementioned aspect is implemented.

[0017] Another aspect of the present application provides a computer program product on which a computer program is stored. When the program is executed by a processor, the method described in the above aspect is implemented.

[0018] The data processing method, device, electronic device, chip and storage medium proposed in the present application determine the target data to be replaced from the data sequence with no free storage position according to the storage time of the data, wherein the target data does not include the second data which has not been confirmed by the receiving end and has the longest storage time, replace the target data according to the first data to obtain an updated data sequence, compress the first data according to the updated data sequence to obtain compressed data, and when replacing the data in the data sequence with no free storage position, retain the second data which has not been confirmed by the receiving end and has the longest storage time, thereby improving the reliability of the data sequence update, thereby improving the accuracy of data compression based on the updated data sequence.

[0019] Additional aspects and advantages of the present application will be given in part in the description below, and in part will become apparent from the description below, or will be learned through the practice of the present application. BRIEF DESCRIPTION OF THE DRAWINGS

[0020] The above and / or additional aspects and advantages of the present application will become apparent and easily understood from the following description of the embodiments in conjunction with the accompanying drawings, in which:

[0021] Figure 1 A flowchart of a data processing method provided in an embodiment of the present application;

[0022] Figure 2A flowchart of another data processing method provided in an embodiment of the present application;

[0023] Figure 3 A flowchart of another data processing method provided in an embodiment of the present application;

[0024] Figure 4 One of the storage schematic diagrams of a sliding window provided in an embodiment of the present application;

[0025] Figure 5 A second schematic diagram of a storage of a sliding window provided in an embodiment of the present application;

[0026] Figure 6 A third schematic diagram of a storage of a sliding window provided in an embodiment of the present application;

[0027] Figure 7 A fourth schematic diagram of storage of a sliding window provided in an embodiment of the present application;

[0028] Figure 8 A fifth schematic diagram of a storage of a sliding window provided in an embodiment of the present application;

[0029] Fig. 9 A schematic diagram of the structure of a data processing device provided in an embodiment of the present application;

[0030] Fig.10 A schematic diagram of the structure of an electronic device provided in an embodiment of the present application;

[0031] Fig.11 A schematic diagram of the structure of a chip provided in an embodiment of the present application. DETAILED DESCRIPTION

[0032] Embodiments of the present application are described in detail below, and examples of the embodiments are shown in the accompanying drawings, wherein the same or similar reference numerals throughout represent the same or similar elements or elements having the same or similar functions. The embodiments described below with reference to the accompanying drawings are exemplary and are intended to be used to explain the present application, and should not be construed as limiting the present application.

[0033] The data processing method, device, electronic device, chip and storage medium of the embodiments of the present application are described below with reference to the accompanying drawings.

[0034] Figure 1 A flowchart of a data processing method provided in an embodiment of the present application.

[0035] The embodiment of the present disclosure is illustrated by an example in which the data processing method is configured in a data processing device. The data processing device can be applied to any electronic device or chip so that the electronic device or chip can perform a data processing function.

[0036] Among them, the electronic device can be any device with computing capabilities, such as a mobile terminal. The mobile terminal can be, for example, a mobile phone, a tablet computer, a personal digital assistant, a wearable device, and other hardware devices with various operating systems, touch screens and / or display screens.

[0037] The chip can be a central processing unit (CPU), an application-specific integrated circuit (ASIC), a microprocessor (Digital Signal Processor, DSP), a field-programmable gate array (Field-Programmable Gate Array, FPGA), a system on a chip (System On AChip, SOC), a reduced instruction set computer RISC (Reduced Instruction Set Computer, reduced instruction set computer), etc., which are not listed one by one here.

[0038] Header compression technology plays a very important role in the field of communication technology. It can effectively reduce the precious bandwidth resources occupied by data transmission. Currently, header compression technology includes robust header compression (ROHC) technology. ROHC technology is a new type of header compression mechanism. ROHC technology has good robustness and higher compression efficiency.

[0039] In the related art, ROHC technology usually uses a Windows-based Least Significant Bits Encoding (W-LSB) algorithm for the header of a data packet, which is an improvement of the Least Significant Bits (LBS) algorithm. When the W-LSB algorithm is used for encoding at the transmitting end, the sliding window is encoded according to a set of reference values ​​contained in the sliding window and sent to the receiving end for decoding.

[0040] However, when the transmission environment is relatively harsh, the newly received data to be transmitted is stored in the data sequence. If the data stored in the data sequence is full, the old data stored in the sliding window data sequence will be overwritten. Since the old data may not be successfully decoded by the receiving end, directly overwriting the old data will cause the data update in the data sequence to be abnormal, and then, the compressed data obtained by compressing the newly stored data based on the updated data sequence will be abnormal, which reduces the reliability of data compression.

[0041] To this end, an embodiment of the present application provides a data processing method. When there is no free space in the data sequence, when the target data stored in the data sequence is replaced according to the first data to be transmitted, the second data that has been stored for the longest time and has not been confirmed by the receiving end is retained to obtain an updated data sequence, thereby improving the accuracy of the data sequence update. Furthermore, based on the updated data sequence, the first data can be compressed to obtain accurate compressed data, thereby improving the reliability of data compression.

[0042] like Figure 1 As shown, the method may include the following steps:

[0043] Step 101 , determining target data to be replaced from a data sequence with no free storage location according to the storage time of the data.

[0044] There is no free storage position in the data sequence, which means that data is stored in every position in the data sequence.

[0045] Among them, the target data does not include the second data that has not been confirmed by the receiving end and has the longest storage time, wherein the data that has not been confirmed by the receiving end refers to the data that has not been correctly received and successfully decompressed by the receiving end. Among them, the length of the storage time is determined according to the storage time of the data. The second data can be determined according to the storage time of each data that has been stored in the data sequence that has no free storage position and has not been confirmed by the receiving end, that is, according to the storage time, the data with the longest storage time is determined from the data sequence that has no free storage position. For example, two data can be stored in a certain sequence, called A data and B data. A data and B data are stored on the same day. The storage time of A data is 8:20:50, and the storage time of B data is 9:17:20. It is considered that the storage time of A data is longer than that of B data, so A data is also regarded as the earliest stored data in the certain sequence.

[0046] In an embodiment of the present application, a data sequence is used to store data to be compressed received by a transmitter. The data to be compressed is encoded by a coding algorithm to achieve data compression. After compression, it will be sent to the other end, that is, the receiving end, and decoded by the receiving end to restore the data to be compressed actually sent by the transmitter. In practical applications, the length of the data sequence is limited. In a scenario where the amount of uplink data is large and the quality of the uplink channel is poor, the data in the data sequence fails to receive feedback confirmation from the receiving end in time, that is, the first feedback information ACK sent by the receiving end is not received or the second feedback information NACK is received. In this case, the data in the data sequence that has been fully stored will not be deleted. For a data sequence with no remaining storage location, the newly received first data is stored in the data sequence, and it is necessary to overwrite the part of the data sequence that has been stored for a longer storage time to achieve the storage of the first data in the data sequence.

[0047] However, if data in the data sequence that has been stored for a longer time is directly overwritten, some data in the data sequence that has not received feedback confirmation from the receiving end will be overwritten, resulting in a reduction in the reference value corresponding to the compression of the first data stored in the data sequence, thereby causing the reference value used to compress the first data to be inaccurate, and failing to correctly encode to obtain accurate compressed data. Furthermore, the receiving end cannot accurately decode and restore the original data after receiving the compressed data.

[0048] To this end, in an embodiment of the present application, when the first data is stored in a data sequence with no free storage location, the target data other than the second data that has not received the first feedback information and has the longest storage time will be replaced. By retaining the second data with the longest storage time, when the first data is encoded to obtain compressed data, the second data can be used as a reference value for compression processing, thereby improving the accuracy of compressed data generation and ensuring that after the compressed data of the first data is sent to the receiving end, the receiving end can correctly decode the compressed data of the first data.

[0049] It should be understood that when the sending end receives the feedback information ACK sent by the receiving end, it will delete the received data from the digital sequence according to the received data indicated by the feedback information. In other words, the data sequence stores data waiting to be sent or data for which no feedback information has been received after being sent.

[0050] It should be noted that in the W-LSB compression algorithm, the data sequence is a sliding window.

[0051] Step 102: Replace the target data according to the first data to obtain an updated data sequence.

[0052] The first data to be compressed includes uplink voice data or video data in a real-time voice service of a mobile communication system.

[0053] As an example, the first data includes voice data, which is loaded by RTP (Realtime Transport Protocol). Each data packet will contain an IP protocol header (20 bytes), a UDP protocol header (8 bytes), and an RTP protocol header (12 bytes), a total of 40 bytes. For IPv6, the IP header occupies 40 of the 60 bytes, but the size of the payload depends on the number of voice codes and frames used, which can be as low as 15-20 bytes. Obviously, 67-80% of the wireless channel bandwidth is wasted on header transmission, and only 20-33% of the bandwidth is used to transmit actual useful information to the end user. Modern wireless communication systems require that scarce wireless resources must be effectively utilized. Therefore, the header overhead caused by the transmission protocol must be reduced, that is, the first data needs to be compressed to be transmitted. In the embodiment of the present application, the first data is compressed using a window-based least significant bit compression encoding (W-LSB, Windows-based Least Significant Bits Encoding) algorithm.

[0054] In an embodiment of the present application, the target data is replaced according to the first data to obtain an updated data sequence, thereby retaining the second data that has not been successfully decoded by the receiving end and has the longest storage time, ensuring the accuracy of the reference value, thereby improving the accuracy of encoding compression based on the reference value.

[0055] Step 103: compress the first data according to the updated data sequence to obtain compressed data.

[0056] In an embodiment of the present application, a reference value corresponding to the first data is determined from an updated data sequence, and the reference value may be one or more. Based on the reference value corresponding to the first data, the target transmission valid bit corresponding to the first data is determined, and the first data is compressed based on the target transmission valid bit corresponding to the first data to obtain accurate compressed data of the first data.

[0057] In the data processing method of the embodiment of the present application, target data to be replaced is determined from a data sequence with no free storage position according to the storage time of the data; wherein the target data does not include second data that has not been confirmed by the receiving end and has the longest storage time, the target data is replaced according to the first data to obtain an updated data sequence, and the first data is compressed according to the updated data sequence to obtain compressed data, and when replacing the data in the data sequence with no free storage position, the second data that has not been confirmed by the receiving end and has the longest storage time is retained, thereby improving the reliability of the data sequence update, thereby improving the accuracy of data compression based on the updated data sequence.

[0058] Based on the above embodiments, Figure 2 A flow chart of another data processing method provided in an embodiment of the present application is as follows: Figure 2 As shown, the method comprises the following steps:

[0059] Step 201 : determining target data to be replaced from a data sequence with no free storage location according to the storage time of the data.

[0060] The first data will be encoded to obtain compressed data, which will be sent to the receiving end. After successfully receiving and decoding the data, the receiving end will send the first feedback information, namely ACK (Acknowledgment), to the sending end. The first feedback information carries information about the data that the receiving end successfully decoded the received data. In other words, the first feedback information indicates that the receiving end received the data sent by the sending end and successfully decoded it. The second feedback information, namely NACK (Negative Acknowledgment), indicates that the receiving end did not successfully decode the received data, or that the receiving end did not receive the data sent by the sending end.

[0061] In one scenario of an embodiment of the present application, if the first feedback information sent by the receiving end is not obtained, it means that the receiving end has not successfully decoded the data sent to the receiving end, and the data in the data sequence with no free storage position will not be deleted, that is, the data in the data sequence will remain unchanged. Then, according to the storage time of the data in the data sequence, the second data with the longest storage time and the third data with a storage time later than the second data can be determined from the data sequence.

[0062] In another scenario of an embodiment of the present application, second feedback information sent by the receiving end is obtained, and the second feedback information indicates that the receiving end has not successfully decoded the received data, or has not received the data sent by the sending end. In this case, the data in the data sequence with no free storage position will not be deleted, that is, the data in the data sequence will remain unchanged. Then, according to the storage time of the data in the data sequence, the second data with the longest storage time and the third data with a storage time later than the second data can be determined from the data sequence.

[0063] Among them, for the second data with the longest storage time, and the method for determining the third data stored after the second data, as an implementation method, the data stored at each position in the data sequence can be stored in chronological order, that is, the data stored at each position carries a storage time, and the storage time indicates the early and late storage time of each data in the data sequence. Therefore, according to the storage time of the currently stored data in the data sequence, the earliest stored second data, that is, the second data with the longest storage time, and the data stored later than the second data can be determined, which is called the third data for the convenience of distinction. Among them, the third data is stored later than the second data.

[0064] In an embodiment of the present application, the length of the data sequence is a set value, wherein if the length of the data sequence is short, the accuracy of the compressed data obtained by encoding will be reduced, which will result in the data not being successfully decoded after subsequent transmission to the receiving end; if the length of the data sequence is long, the efficiency of the compressed data obtained by encoding will be reduced. Therefore, the length of the data sequence is pre-set to strike a balance between compression efficiency and compression accuracy to meet the requirements for robustness and efficiency of compression processing in the scenario. As an implementation method, the length of the data sequence can be determined based on the average channel quality of the scenario; as another implementation method, the transmission period of the data to be transmitted and the set time threshold are obtained, wherein the time threshold indicates the maximum duration allowed for the receiving end to fail to receive the data. Based on the transmission period and the set time threshold, a data sequence of a set length is determined, thereby achieving a balance between compression efficiency and compression accuracy for different scenarios to meet the requirements for robustness and efficiency of compression processing in the scenario.

[0065] Furthermore, according to the quantity of the first data, the target data to be replaced is determined from the third data.

[0066] In one implementation of the embodiment of the present application, target data to be replaced by the first data is determined from the third data according to the storage time of each third data and the quantity of the first data. In this scenario, the quantity of the target data is the same as the quantity of the first data.

[0067] In an embodiment of the present application, the first data to be compressed needs to be sent from the transmitting end to the receiving end after compression and decoded at the receiving end. The first data will be stored in the data sequence before compression. When the data sequence is full, the data stored in the data sequence will be overwritten or replaced. In a scenario where the air interface environment is relatively poor, a large number of uplink data packets will fail to send. In this case, directly overwriting the sent data stored in the data sequence will reduce the data in the data sequence that can be used as a reference value. The reference value is used to participate in the calculation of the least significant bit information K corresponding to the newly stored first data. Therefore, inaccurate reference value will cause the calculated K value corresponding to the first data to be wrong, and then the compression result obtained by compressing the first data based on the K value corresponding to the first data is inaccurate, resulting in the receiving end being unable to correctly decode the compressed data of the received first data, thereby reducing the reliability of data transmission. Therefore, in an embodiment of the present application, the third data stored after the earliest stored second data, that is, the third data stored the second earliest, is determined, and the target data to be replaced is determined from the third data. As an implementation method, there is one first data, and according to the storage time of each third data, the first third data is determined as the target data to be replaced; as another implementation method, there are multiple first data, and according to the storage time of each third data and the number of multiple first data, multiple target data to replace the multiple first data are determined from the third data in the order of storage time.

[0068] Step 202: Replace the target data according to the first data to be compressed to obtain an updated data sequence.

[0069] In an embodiment of the present application, the second data is retained without being replaced, and the first data is used to replace the target data to obtain an updated data sequence, thereby retaining the earliest stored second data in the updated data sequence and increasing the amount of data in the data sequence that can be used as a compression reference value, so as to improve the accuracy of subsequent compression encoding based on the reference value.

[0070] Step 203: determine a reference value corresponding to the first data from the updated data sequence.

[0071] In the embodiment of the present application, there is at least one first data. For each first data, the data stored and compressed before the first data in the data sequence is determined and sent to the receiving end. If the data does not receive feedback information, the data can be used as a reference value for the first data. It should be understood that if the sending end receives feedback information sent by the receiving end, the data decoded by the receiving end will be deleted from the data sequence according to the feedback information. If the data is not deleted in the data sequence, it is considered that the corresponding feedback information has not been received, and the earliest stored second data is still in the data sequence, then it is considered that the reference value of the first data includes the earliest stored second data.

[0072] Step 204: Determine the target transmission valid bit corresponding to the first data according to the reference value corresponding to the first data.

[0073] In the embodiment of the present application, when the reference value includes multiple values, for each reference value, the minimum candidate transmission valid bit that makes the first data fall into the encoding value interval is determined, and the target transmission valid bit is determined according to the minimum candidate transmission valid bit corresponding to each reference value. The transmission valid bit refers to the least significant bit information.

[0074] The coding value range is [v_ref-p,v_ref+2 k -1-p]: where v_ref is the reference value; p is the offset adjustment parameter, which is usually a fixed constant value; K is the least significant bit information to be determined, that is, the smallest candidate transmission valid bit that makes the first data fall into the encoding value interval.

[0075] As an implementation method, after determining the minimum candidate transmission valid bit corresponding to each reference value, the largest one is determined from multiple candidate transmission valid bits as the target transmission valid bit, so that each reference value corresponding to the first data in the data sequence meets the LSB encoding algorithm requirements.

[0076] Step 205: Determine compressed data corresponding to the first data according to the target transmission valid bits corresponding to the first data.

[0077] In an embodiment of the present application, the target transmission valid bits corresponding to the first data are used as compressed data corresponding to the first data. The compressed data corresponding to the first data is sent to a receiving end for decoding, and the first data can be accurately decoded.

[0078] In the data processing method of the embodiment of the present application, when there is no free position in the data sequence, the target data stored in the data sequence is replaced according to the first data to be compressed to obtain an updated data sequence, wherein the second data with the longest storage time is retained in the updated data sequence, and the first data is compressed according to the updated data sequence to obtain compressed data. When the data sequence is updated, the second data with the longest storage time is retained, thereby improving the reliability of the data sequence update, thereby improving the accuracy of data compression based on the updated data sequence, so that when the receiving end receives the compressed data of the first data, it can accurately decode and obtain the decoded data, thereby achieving in a scenario where the air interface environment is relatively harsh, when a large number of uplink voice packets fail to be sent, it can be guaranteed that the successfully sent voice packets can be successfully decoded by the other end.

[0079] Based on the above embodiments, Figure 3 A flow chart of another data processing method provided in an embodiment of the present application is as follows: Figure 3As shown, the method comprises the following steps:

[0080] Step 301: In response to obtaining first feedback information sent by a receiving end, delete data indicated by the first feedback information from a data sequence.

[0081] The amount of deleted data is smaller than the amount of first data.

[0082] Among them, the first feedback information can refer to the explanation in the aforementioned embodiment, which will not be repeated here.

[0083] In the embodiment of the present application, the first feedback information includes information about the data that has been received and decoded by the receiving end. As an example, the transmitting end encodes data 2, 3, 4, and 5 based on the W-LSB algorithm to obtain the corresponding compressed data. After sending the compressed data to the receiving end, the first feedback information ACK of data 4 sent by the receiving end is obtained. The ACK of data 4 indicates that data 2, 3, and 4 are successfully sent to the receiving end and successfully decoded at the receiving end. Then the transmitting end deletes data 2, 3, and 4 indicated by the first feedback information from the data sequence, and the reference value set only has data 5. The decompression confirmation of multiple data is realized by one first feedback information, which reduces the number of times the first feedback information is sent and improves efficiency.

[0084] Step 302: Determine fourth data from the remaining data according to the storage time of the data.

[0085] In the embodiment of the present application, according to the storage time of the remaining data stored in the data sequence, the data with the longest storage time in the remaining data is determined as the second data, and the fourth data with a storage time later than the second data is determined.

[0086] Step 303: Determine target data to be replaced according to the fourth data and the free storage locations in the data sequence.

[0087] In an embodiment of the present application, part of the data is deleted from the data sequence according to the first feedback information, so that part of the storage positions remain in the data sequence, and the number of the remaining storage positions is the same as the number of the deleted storage positions. Since the number of deleted data is less than the number of the first data, the data in the first data that is the same in number as the deleted data is stored in the remaining storage positions, and then, based on the remaining first data, the data that is the same in number as the remaining first data is determined from the fourth data in order of storage time as the target data to be replaced.

[0088] Step 304: replace the target data according to the first data to be compressed to obtain an updated data sequence.

[0089] Step 305: compress the first data according to the updated data sequence to obtain compressed data.

[0090] Among them, step 304 and step 305 can refer to the relevant explanations in the aforementioned embodiments, and the principles are the same, so they will not be repeated here.

[0091] In the data processing method of the embodiment of the present application, when there is no free position in the data sequence, the target data stored in the data sequence is replaced according to the first data to be compressed to obtain an updated data sequence, wherein the second data with the longest storage time is retained in the updated data sequence, and the first data is compressed according to the updated data sequence to obtain compressed data. When the data sequence is updated, the second data with the longest storage time is retained, thereby improving the reliability of the data sequence update, thereby improving the accuracy of data compression based on the updated data sequence, so that when the receiving end receives the compressed data of the first data, it can accurately decode and obtain the decoded data, thereby achieving in a scenario where the air interface environment is relatively harsh, when a large number of uplink voice packets fail to be sent, it can be guaranteed that the successfully sent voice packets can be successfully decoded by the other end.

[0092] Based on the above embodiments, the present application belongs to the field of wireless communication data stream IP protocol header coding compression, and is applied to the compression processing of IP, UDP / IP, RTP / UDP / IP protocol headers, thereby improving the robustness of the compression processing. The present application is implemented based on the RoHC (Robust Header Compression) compression / decompression algorithm. The algorithm is a general method for protocol header compression / decompression of IP, UDP / IP, UDP-Lite / IP, ESP / IP, RTP / UDP / IP, RTP / UDP-Lite / IP and TCP / IP protocol packets.

[0093] Based on the above embodiments, in order to more clearly illustrate the data processing method of the embodiments of the present application, examples are given below for specific scenarios.

[0094] For the convenience of calculation, p=0 in the encoding value interval, and the data to be compressed is the serial number (SN), where SN=0 is sent through the IR packet (Initialization and Refresh), which carries complete uncompressed header information and is used to initialize or refresh the compression context. In this way, ROHC can ensure that the context between the compression end and the decompression end remains consistent, thereby ensuring the correctness of the compression and decompression process.

[0095] In the embodiment of the present application, the data sequence may be referred to as a sliding window in the W-LSB compression algorithm. For example, a scenario in which the sliding window length in the W-LSB compression algorithm is 8, where the 8 positions in the sliding window are numbered from #0 to #7:

[0096] a) As an example, Figure 4 One of the storage schematic diagrams of a sliding window provided in an embodiment of the present application is as follows: Figure 4 As shown, the eight grids #0 to #7 are initially idle, that is, #0, #1, #2, #3, #4, #5, #6, and #7 do not store any data, and the positions where no data is stored are marked in white.

[0097] b) The sending end, also called the compression end, receives 5 data packets, namely 5 first data, called SN=0 to SN=4, and stores them in the 5 positions #0, #1, #2, #3, and #4 of the sliding window, where #0 stores SN=0, #1 stores SN=1, #2 stores SN=2, #3 stores SN=3, and #4 stores SN=4 in order. The 3 positions #5 to #7 are in an idle state, that is, the positions marked as #5, #6, and #7 have not yet stored data. As an example, Figure 5 The second storage diagram of a sliding window provided in an embodiment of the present application, wherein the location where data is stored is marked in gray.

[0098] For each data packet to be compressed, a corresponding reference value is determined according to the data stored in the sliding window, and a corresponding K value is determined according to the reference value:

[0099] When SN=1, the reference value v_ref in the reference value set in the sliding window includes SN=0.

[0100] For the reference value of SN=0, according to the formula of the coding interval [v_ref-p,v_ref+2k-1-p], it is determined that when k=1, SN=1 can be guaranteed to fall within the interval [0, 1]. That is, k=1 is the smallest candidate transmission valid bit corresponding to the reference value SN=0, and K=1 is also the target transmission valid bit.

[0101] When SN=2, the reference value v_ref in the reference value set in the sliding window includes SN=0 and SN=1.

[0102] Among them, for the reference value of SN=0, according to the formula of the coding interval [v_ref-p,v_ref+2k-1-p], it is determined that when k=2, SN=2 can be guaranteed to fall within the interval [0, 3]. For SN=2, k=2 is the minimum candidate transmission valid bit corresponding to the reference value SN=0.

[0103] For the reference value of SN=1, according to the formula of the coding interval [v_ref-p, v_ref+2k-1-p], it is determined that when k=1, SN=2 can be guaranteed to fall within the interval [1, 2]. For SN=2, k=1 is the smallest candidate transmission valid bit corresponding to the reference value of SN=1.

[0104] In summary, from k=1 and k=2, the target transmission valid bit k=2 is determined.

[0105] Similarly, it is determined that: when SN=3, k=2; when SN=4, k=3.

[0106] c) The sender receives a status report from the other end, that is, the receiver. The status includes feedback information. As an example, Figure 6 A third schematic diagram of a storage of a sliding window provided in an embodiment of the present application is shown in FIG. Figure 6 As shown, according to the data indicated by the feedback information, it is determined that the data receiving end on #0 to #1 has been successfully received, and then the data stored on #0 and #1 in the sliding window is cleared, so that the data on #0 and #1 are empty, so that the five positions from #5 to #1 are in an idle state, #5, #6, #7, #0, and #1 do not have any data, and the three positions from #2 to #4 store data, among which #2 stores SN=2, #3 stores SN=3, and #4 stores SN=4. At this time, the reference values ​​in the sliding window are SN=2, SN=3, and SN=4.

[0107] d) Then, the receiving end receives 5 data packets (SN=5 to SN=9) and stores the received 5 data packets in the sliding window. At this time, the sliding window is full. Among them, #2 stores SN=2, #3 stores SN=3, #4 stores SN=4, #5 stores SN=5, #6 stores SN=6, #7 stores SN=7, #0 stores SN=8, and #1 stores SN=9. As an example, Figure 7 A fourth schematic diagram of a storage of a sliding window provided in an embodiment of the present application, Figure 7 The locations marked in gray are where the data is stored.

[0108] The method for determining the K value corresponding to each data packet can refer to the relevant explanations in the above steps. The principle is the same and will not be repeated here. Figure 7 The data from SN=5 to SN=9 will be compressed and sent to the receiving end.

[0109] e) When the sliding window is full, the receiving end receives 5 more data packets (SN=10 to 14). The data with the longest storage time is determined from the data already stored in the sliding window according to the storage time of the data, that is, the earliest stored data. The data with the longest storage time in the current sliding window is SN=2 stored on #2, where SN=2 stored on #2 is also data that has not received feedback information sent by the receiving end, that is, data that has not been confirmed to be received by the receiving end. When storing the newly received 5 data packets, the data with the longest storage time is retained, and the data with the longest storage time is not overwritten. The data stored in the second longest storage time position #3 is overwritten, that is, the data in the positions #3 to #7 are overwritten, that is, the data SN=3, SN=4, SN=5, SN=6, and SN=7 are overwritten. After the data is overwritten, the sliding window #2 stores SN=2, #3 stores SN=10, #4 stores SN=11, #5 stores SN=12, #6 stores SN=13, #7 stores SN=14, #0 stores SN=8, and #1 stores SN=9. As an example, Figure 8 A fifth storage diagram of a sliding window provided in an embodiment of the present application is as follows: Figure 8 As shown, Figure 8 The position marked in dark gray is the replaced position, and the position #2 is the position corresponding to the data SN=2 with the longest storage time. The data SN=2 at this position is not covered and remains in the sliding window.

[0110] Assume that the sender has not successfully received the five compressed packets between SN=2 and SN=6. For the five data currently received, determine the corresponding K values ​​respectively:

[0111] When SN=10, the reference values ​​in the sliding window are SN=2, SN=8, and SN=9, that is, the reference values ​​in the reference value set of v_ref include SN=2, SN=8, and SN=9.

[0112] For the reference value of SN=2, according to the formula of the coding interval [v_ref-p,v_ref+2k-1-p], it is determined that when k=4, SN=10 can be guaranteed to fall within the interval [2, 17]. For SN=10, k=4 is the minimum candidate transmission valid bit corresponding to the reference value of SN=2.

[0113] For the reference value of SN=8, according to the formula of the coding interval [v_ref-p,v_ref+2k-1-p], it is determined that when k=2, SN=5 can be guaranteed to fall within the interval [8, 11]. For SN=10, k=2 is the minimum candidate transmission valid bit corresponding to the reference value of SN=8.

[0114] For the reference value of SN=9, according to the formula of the coding interval [v_ref-p,v_ref+2k-1-p], it is determined that when k=1, SN=5 can be guaranteed to fall within the interval [9, 10]. For SN=10, k=1 is the smallest candidate transmission valid bit corresponding to the reference value of SN=9.

[0115] In summary, it is determined that the target transmission effective bit k=4.

[0116] When SN=11, the reference values ​​in the sliding window are SN=2, SN=8, SN=9, and SN=10, because the reference values ​​in the reference value set of v_ref include SN=2, SN=8, SN=9, and SN=10.

[0117] For the reference value of SN=2, according to the above coding interval formula, when k=3, it can be determined that SN=6 falls within the interval [2, 17]. That is, for SN=11, k=3 is the smallest candidate transmission valid bit corresponding to the reference value of SN=2.

[0118] For the reference value of SN=8, according to the above coding interval formula, when k=2, it can be guaranteed that SN=6 falls within the interval [8, 11]. That is, for SN=11, k=2 is the smallest candidate transmission valid bit corresponding to the reference value of SN=8.

[0119] For the reference value of SN=9, according to the above coding interval formula, when k=2, it can be guaranteed that SN=6 falls within the interval [9, 12]. That is, for SN=11, k=2 is the smallest candidate transmission valid bit corresponding to the reference value of SN=9.

[0120] For the reference value of SN=10, according to the above coding interval formula, when k=1, it can be guaranteed that SN=6 falls within the interval [10, 11]. That is, for SN=11, k=1 is the smallest candidate transmission valid bit corresponding to the reference value SN=10.

[0121] In summary, it is determined that the target transmission effective bit k=4.

[0122] Similarly, it is determined that when SN=12, the target transmission valid bit k=4.

[0123] Taking SN=10 as an example, the transmitting end transmits to the receiving end information including the 4 least significant bits (0b1010). The receiving end receives the 4 least significant bits (0b1010), decodes it, and restores SN=10, thus avoiding decoding failure.

[0124] It should be noted that, in the related art, if the data with the longest storage time is not retained and the data that has been compressed and sent to the receiving end is overwritten, the data with the longest storage time will be overwritten, that is, the data SN=2 will be overwritten, making the data SN=2 unable to be used as a reference value to calculate the K value. Then, taking SN=10 as an example, the sender transmits the 2 least significant bits of information (0b10) to the receiving end. The receiving end receives the 2 least significant bits of information (0b10), decodes it, and restores SN=2, while the data actually sent is SN=10, resulting in a decoding failure.

[0125] In order to implement the above embodiment, the embodiment of the present application also proposes a data processing device.

[0126] Fig. 9 A schematic diagram of the structure of a data processing device provided in an embodiment of the present application.

[0127] like Fig. 9 As shown, the device may include:

[0128] The determination module 91 is used to determine the target data to be replaced from the data sequence with no free storage position according to the storage time of the data; wherein the target data does not include the second data which has not been confirmed by the receiving end and has the longest storage time.

[0129] The replacement module 92 is used to replace the target data according to the first data to obtain an updated data sequence.

[0130] The compression module 93 is used to compress the first data according to the updated data sequence to obtain compressed data.

[0131] Furthermore, in an implementation of the embodiment of the present application, the determination module 92 is further configured to:

[0132] In response to not obtaining the first feedback information sent by the receiving end, determining third data from the data sequence according to the storage time of the data; wherein the first feedback information indicates that the receiving end successfully decodes the received data; and the storage time of the third data is later than that of the second data;

[0133] The target data to be replaced is determined from the third data according to the quantity of the first data.

[0134] In one implementation of the embodiment of the present application, the determination module 92 is further configured to:

[0135] In response to obtaining second feedback information sent by the receiving end, determining third data from the data sequence according to the storage time of the data; wherein the second feedback information indicates that the receiving end has not received the data sent by the sending end, or has not successfully decoded the received data; and the storage time of the third data is later than that of the second data;

[0136] The target data to be replaced is determined from the third data according to the quantity of the first data.

[0137] In one implementation of the embodiment of the present application, the determination module 92 is further configured to:

[0138] In response to obtaining the first feedback information sent by the receiving end, deleting the data indicated by the first feedback information from the data sequence; wherein the amount of the deleted data is less than the amount of the first data;

[0139] Determine fourth data from the remaining data according to the storage time of the data; wherein the storage time of the fourth data is later than that of the second data;

[0140] The target data to be replaced is determined according to the fourth data and an idle storage location in the data sequence.

[0141] In one implementation of the embodiment of the present application, the determination module 92 is further configured to:

[0142] Acquire the transmission period of the data to be transmitted and the set time threshold; wherein the time threshold indicates the maximum duration for which the receiving end is allowed to fail to receive data;

[0143] The data sequence of a set length is determined according to the transmission period and the set time threshold.

[0144] In one implementation of the embodiment of the present application, the compression module 94 is further configured to:

[0145] Determine a reference value corresponding to the first data from the updated data sequence;

[0146] determining, according to a reference value corresponding to the first data, a target transmission valid bit corresponding to the first data;

[0147] Determine compressed data corresponding to the first data according to the target transmission valid bits corresponding to the first data.

[0148] In an implementation of the embodiment of the present application, the reference value includes multiple values, and the determination module 92 is further used to:

[0149] For each of the reference values, determining a minimum candidate transmission valid bit that enables the first data to fall within a coding value interval;

[0150] The target transmission effective bit is determined according to the smallest candidate transmission effective bit corresponding to each reference value.

[0151] It should be noted that the above explanation of the method embodiment is also applicable to the device of this embodiment, and will not be repeated here.

[0152] In the data processing device of the embodiment of the present application, the target data to be replaced is determined from the data sequence with no free storage position according to the storage time of the data; wherein the target data does not include the second data which has not been confirmed by the receiving end and has the longest storage time, the target data is replaced according to the first data to obtain an updated data sequence, and the first data is compressed according to the updated data sequence to obtain compressed data, and when the data in the data sequence with no free storage position is replaced, the second data which has not been confirmed by the receiving end and has the longest storage time is retained, thereby improving the reliability of the data sequence update, thereby improving the accuracy of data compression based on the updated data sequence.

[0153] In order to implement the above embodiments, the present application also proposes an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein when the processor executes the program, the method described in the above method embodiments is implemented.

[0154] In order to implement the above embodiments, the present application also proposes a non-temporary computer-readable storage medium on which a computer program is stored. When the program is executed by a processor, the method described in the above method embodiments is implemented.

[0155] In order to implement the above embodiments, the present application also proposes a computer program product on which a computer program is stored. When the computer program is executed by a processor, the method described in the above method embodiments is implemented.

[0156] Fig.10 This is a schematic diagram of the structure of an electronic device provided in an embodiment of the present application. For example, the electronic device 800 may be a mobile phone, a computer, a digital broadcast terminal, a message transceiver device, a game console, a tablet device, a medical device, a fitness device, a personal digital assistant, etc.

[0157] Reference Fig.10 , the electronic device 800 may include one or more of the following components: a processing component 802 , a memory 804 , a power component 806 , a multimedia component 808 , an audio component 810 , an input / output (I / O) interface 812 , a sensor component 814 , and a communication component 816 .

[0158] The processing component 802 generally controls the overall operation of the electronic device 800, such as operations associated with display, phone calls, data communications, camera operations, and recording operations. The processing component 802 may include one or more processors 820 to execute instructions to complete all or part of the steps of the above-mentioned method. In addition, the processing component 802 may include one or more modules to facilitate the interaction between the processing component 802 and other components. For example, the processing component 802 may include a multimedia module to facilitate the interaction between the multimedia component 808 and the processing component 802.

[0159] The memory 804 is configured to store various types of data to support operations on the electronic device 800. Examples of such data include instructions for any application or method operating on the electronic device 800, contact data, phone book data, messages, pictures, videos, etc. The memory 804 can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic memory, flash memory, magnetic disk or optical disk.

[0160] The power component 806 provides power to the various components of the electronic device 800. The power component 806 may include a power management system, one or more power supplies, and other components associated with generating, managing, and distributing power for the electronic device 800.

[0161] The multimedia component 808 includes a screen that provides an output interface between the electronic device 800 and the user. In some embodiments, the screen may include a liquid crystal display (LCD) and a touch panel (TP). If the screen includes a touch panel, the screen may be implemented as a touch screen to receive input signals from the user. The touch panel includes one or more touch sensors to sense touch, slide, and gestures on the touch panel. The touch sensor may not only sense the boundaries of the touch or slide action, but also detect the duration and pressure associated with the touch or slide operation. In some embodiments, the multimedia component 808 includes a front camera and / or a rear camera. When the electronic device 800 is in an operating mode, such as a shooting mode or a video mode, the front camera and / or the rear camera may receive external multimedia data. Each front camera and rear camera may be a fixed optical lens system or have a focal length and optical zoom capability.

[0162] The audio component 810 is configured to output and / or input audio signals. For example, the audio component 810 includes a microphone (MIC), and when the electronic device 800 is in an operating mode, such as a call mode, a recording mode, and a voice recognition mode, the microphone is configured to receive an external audio signal. The received audio signal can be further stored in the memory 804 or sent via the communication component 816. In some embodiments, the audio component 810 also includes a speaker for outputting audio signals.

[0163] I / O interface 812 provides an interface between processing component 802 and peripheral interface modules, such as keyboards, click wheels, buttons, etc. These buttons may include but are not limited to: home button, volume button, start button, and lock button.

[0164] The sensor assembly 814 includes one or more sensors for providing various aspects of status assessment for the electronic device 800. For example, the sensor assembly 814 can detect the open / closed state of the electronic device 800, the relative positioning of the components, such as the display and keypad of the electronic device 800, and the sensor assembly 814 can also detect the position change of the electronic device 800 or a component of the electronic device 800, the presence or absence of contact between the user and the electronic device 800, the orientation or acceleration / deceleration of the electronic device 800, and the temperature change of the electronic device 800. The sensor assembly 814 may include a proximity sensor configured to detect the presence of a nearby object without any physical contact. The sensor assembly 814 may also include an optical sensor, such as a CMOS or CCD image sensor, for use in imaging applications. In some embodiments, the sensor assembly 814 may also include an acceleration sensor, a gyroscope sensor, a magnetic sensor, a pressure sensor, or a temperature sensor.

[0165] The communication component 816 is configured to facilitate wired or wireless communication between the electronic device 800 and other devices. The electronic device 800 can access a wireless network based on a communication standard, such as WiFi, 4G or 5G, or a combination thereof. In an exemplary embodiment, the communication component 816 receives a broadcast signal or broadcast-related information from an external broadcast management system via a broadcast channel. In an exemplary embodiment, the communication component 816 also includes a near field communication (NFC) module to facilitate short-range communication. For example, the NFC module can be implemented based on radio frequency identification (RFID) technology, infrared data association (IrDA) technology, ultra-wideband (UWB) technology, Bluetooth (BT) technology and other technologies.

[0166] In an exemplary embodiment, the electronic device 800 may be implemented by one or more application-specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), controllers, microcontrollers, microprocessors, or other electronic components to perform the above methods.

[0167] In an exemplary embodiment, a non-transitory computer-readable storage medium including instructions is also provided, such as a memory 804 including instructions, and the instructions can be executed by a processor 820 of an electronic device 800 to perform the above method. For example, the non-transitory computer-readable storage medium can be a ROM, a random access memory (RAM), a CD-ROM, a magnetic tape, a floppy disk, an optical data storage device, etc.

[0168] In order to implement the above embodiments, the present application also proposes a chip, including: the chip includes a processing circuit, and the processing circuit is configured to execute the method provided in the above embodiments.

[0169] Fig.11 is a schematic diagram of the structure of a chip proposed in an embodiment of the present application. Fig.11 The structure of the chip 1100 is shown, but is not limited to this.

[0170] The chip 1100 includes a processing circuit 1101 , and the processing circuit 1101 is configured to execute any of the above methods.

[0171] In some embodiments, the chip 1100 further includes one or more interface circuits 1102. Optionally, the interface circuit 1102 is connected to the memory 1103. The interface circuit 1102 can be used to receive signals from the memory 1103 or other devices, and the interface circuit 1102 can be used to send signals to the memory 1103 or other devices. For example, the interface circuit 1102 can read instructions stored in the memory 1103 and send the instructions to the processing circuit 1101.

[0172] In some embodiments, the interface circuit 1102 performs at least one of the communication steps such as sending and / or receiving in the above method, and the processing circuit 1101 performs other steps.

[0173] In some embodiments, terms such as interface circuit, interface, transceiver pin, and transceiver may be used interchangeably.

[0174] In some embodiments, the chip 1100 further includes one or more memories 1103 for storing instructions. Alternatively, all or part of the memory 1103 may be outside the chip 1100.

[0175] In the description of this specification, the description with reference to the terms "one embodiment", "some embodiments", "example", "specific example", or "some examples" etc. means that the specific features, structures, materials or characteristics described in conjunction with the embodiment or example are included in at least one embodiment or example of the present application. In this specification, the schematic representations of the above terms do not necessarily refer to the same embodiment or example. Moreover, the specific features, structures, materials or characteristics described may be combined in any one or more embodiments or examples in a suitable manner. In addition, those skilled in the art may combine and combine the different embodiments or examples described in this specification and the features of the different embodiments or examples, without contradiction.

[0176] In addition, the terms "first" and "second" are used for descriptive purposes only and should not be understood as indicating or implying relative importance or implicitly indicating the number of the indicated technical features. Therefore, the features defined as "first" and "second" may explicitly or implicitly include at least one of the features. In the description of this application, the meaning of "plurality" is at least two, such as two, three, etc., unless otherwise clearly and specifically defined.

[0177] Any process or method description in a flowchart or otherwise described herein may be understood to represent a module, fragment or portion of code comprising one or more executable instructions for implementing the steps of a custom logical function or process, and the scope of the preferred embodiments of the present application includes alternative implementations in which functions may not be performed in the order shown or discussed, including performing functions in a substantially simultaneous manner or in reverse order depending on the functions involved, which should be understood by technicians in the technical field to which the embodiments of the present application belong.

[0178] The logic and / or steps represented in the flowchart or otherwise described herein, for example, can be considered as an ordered list of executable instructions for implementing logical functions, and can be embodied in any computer-readable medium for use by an instruction execution system, device or apparatus (such as a computer-based system, a system including a processor, or other system that can fetch instructions from an instruction execution system, device or apparatus and execute the instructions), or in combination with these instruction execution systems, devices or apparatuses. For the purpose of this specification, "computer-readable medium" can be any device that can contain, store, communicate, propagate or transmit a program for use by an instruction execution system, device or apparatus, or in combination with these instruction execution systems, devices or apparatuses. More specific examples of computer-readable media (a non-exhaustive list) include the following: an electrical connection with one or more wires (electronic device), a portable computer disk box (magnetic device), a random access memory (RAM), a read-only memory (ROM), an erasable and programmable read-only memory (EPROM or flash memory), a fiber optic device, and a portable compact disk read-only memory (CDROM). In addition, the computer-readable medium may even be paper or other suitable medium on which the program is printed, since the program may be obtained electronically, for example, by optically scanning the paper or other medium and then editing, interpreting or processing in other suitable ways if necessary, and then stored in a computer memory.

[0179] It should be understood that the various parts of the present application can be implemented by hardware, software, firmware or a combination thereof. In the above-mentioned embodiments, multiple steps or methods can be implemented by software or firmware stored in a memory and executed by a suitable instruction execution system. For example, if implemented by hardware, as in another embodiment, it can be implemented by any one of the following technologies known in the art or their combination: a discrete logic circuit having a logic gate circuit for implementing a logic function for a data signal, a dedicated integrated circuit having a suitable combination of logic gate circuits, a programmable gate array (PGA), a field programmable gate array (FPGA), etc.

[0180] A person skilled in the art may understand that all or part of the steps in the method for implementing the above-mentioned embodiment may be completed by instructing related hardware through a program, and the program may be stored in a computer-readable storage medium, which, when executed, includes one or a combination of the steps of the method embodiment.

[0181] In addition, each functional unit in each embodiment of the present application may be integrated into a processing module, or each unit may exist physically separately, or two or more units may be integrated into one module. The above-mentioned integrated module may be implemented in the form of hardware or in the form of a software functional module. If the integrated module is implemented in the form of a software functional module and sold or used as an independent product, it may also be stored in a computer-readable storage medium.

[0182] The storage medium mentioned above may be a read-only memory, a magnetic disk or an optical disk, etc. Although the embodiments of the present application have been shown and described above, it can be understood that the above embodiments are exemplary and cannot be understood as limiting the present application. A person of ordinary skill in the art may change, modify, replace and modify the above embodiments within the scope of the present application.

Claims

1. A data processing method, characterized in that: include: Determine the target data to be replaced from the data sequence without free storage positions according to the storage time of the data; wherein the target data does not include the second data which has not been confirmed by the receiving end and has the longest storage time; replacing the target data according to the first data to be compressed to obtain an updated data sequence; According to the updated data sequence, the first data is compressed to obtain compressed data.

2. The method according to claim 1, characterized in that The step of determining the target data to be replaced from a data sequence without free storage locations according to the storage time of the data comprises: In response to not obtaining the first feedback information sent by the receiving end, determining third data from the data sequence according to the storage time of the data; wherein the first feedback information indicates that the receiving end successfully decodes the received data; and the storage time of the third data is later than that of the second data; The target data to be replaced is determined from the third data according to the quantity of the first data.

3. The method according to claim 1, characterized in that The step of determining the target data to be replaced from a data sequence without free storage locations according to the storage time of the data comprises: In response to obtaining second feedback information sent by the receiving end, determining third data from the data sequence according to the storage time of the data; wherein the second feedback information indicates that the receiving end has not received the data sent by the sending end, or has not successfully decoded the received data; and the storage time of the third data is later than that of the second data; The target data to be replaced is determined from the third data according to the quantity of the first data.

4. The method according to claim 1, characterized in that The step of determining the target data to be replaced from a data sequence without free storage locations according to the storage time of the data comprises: In response to obtaining the first feedback information sent by the receiving end, deleting the data indicated by the first feedback information from the data sequence; wherein the amount of the deleted data is less than the amount of the first data; Determine fourth data from the remaining data according to the storage time of the data; wherein the storage time of the fourth data is later than that of the second data; The target data to be replaced is determined according to the fourth data and an idle storage location in the data sequence.

5. The method according to any one of claims 1 to 4, characterized in that: The method further comprises: Acquire the transmission period of the data to be transmitted and the set time threshold; wherein the time threshold indicates the maximum duration for which the receiving end is allowed to fail to receive data; The data sequence of a set length is determined according to the transmission period and the set time threshold.

6. The method according to any one of claims 1 to 4, characterized in that: The step of compressing the first data to obtain compressed data according to the updated data sequence includes: Determine a reference value corresponding to the first data from the updated data sequence; determining, according to a reference value corresponding to the first data, a target transmission valid bit corresponding to the first data; Determine compressed data corresponding to the first data according to the target transmission valid bits corresponding to the first data.

7. The method according to claim 6, characterized in that The reference value includes a plurality of reference values, and determining the target transmission valid bit corresponding to the first data according to the reference value corresponding to the first data includes: For each of the reference values, determining a minimum candidate transmission valid bit that enables the first data to fall within a coding value interval; The target transmission effective bit is determined according to the smallest candidate transmission effective bit corresponding to each reference value.

8. A data processing device, characterized in that: include: A determination module, used to determine the target data to be replaced from the data sequence without free storage positions according to the storage time of the data; wherein the target data does not include the second data which has not been confirmed by the receiving end and has the longest storage time; A replacement module, used for replacing the target data according to the first data to obtain an updated data sequence; A compression module is used to compress the first data according to the updated data sequence to obtain compressed data.

9. An electronic device, characterized in that: The method comprises a memory, a processor and a computer program stored in the memory and executable on the processor, wherein when the processor executes the program, the method according to any one of claims 1 to 7 is implemented.

10. A chip, characterized in that: The chip comprises a processing circuit configured to execute the method according to any one of claims 1-7.

11. A non-transitory computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the method according to any one of claims 1 to 7 is implemented.

12. A computer program product, characterized in that The invention comprises a computer program, which, when executed by a processor, implements the method according to any one of claims 1 to 7.

Citation Information

Patent Citations

  • Data packet compressing and ciphering method, node and apparatus in remote communication network

    CN101421972A

  • Method and device for compressing and decompressing user datagram protocol data packet

    CN101707616A

  • TCP (transmission control protocol) header compression method in wireless IPv6 (internet protocol version 6) network

    CN103067971A

  • Robust, inferentially synchronized transmission of compressed transport-layer-protocol headers

    US20020097722A1

  • Method and system for communicating video data in a packet-switched network, related network and computer program product therefor

    US20050265383A1