CN117579078B - Data encoding method, data decoding method, device and storage medium - Google Patents

Data encoding method, data decoding method, device and storage medium Download PDF

Info

Publication number
CN117579078B
CN117579078B CN202410042253.9A CN202410042253A CN117579078B CN 117579078 B CN117579078 B CN 117579078B CN 202410042253 A CN202410042253 A CN 202410042253A CN 117579078 B CN117579078 B CN 117579078B
Authority
CN
China
Prior art keywords
data
sequence
data sequence
target
decoding
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202410042253.9A
Other languages
Chinese (zh)
Other versions
CN117579078A (en
Inventor
赵磊
汪念鸿
白绍元
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Cctv International Network Co ltd
Original Assignee
Cctv International Network Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Cctv International Network Co ltd filed Critical Cctv International Network Co ltd
Priority to CN202410042253.9A priority Critical patent/CN117579078B/en
Publication of CN117579078A publication Critical patent/CN117579078A/en
Application granted granted Critical
Publication of CN117579078B publication Critical patent/CN117579078B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction

Abstract

The invention discloses a data encoding method, a data decoding device and a storage medium. Wherein the method comprises the following steps: acquiring a data sequence to be encoded; dividing the data sequence to be encoded into a first data sequence and a second data sequence in response to the target data unit in the data sequence to be encoded meeting the dividing condition; encoding the second data sequence by using a preset encoding method to obtain a first encoding sequence; in response to the fact that other data units forming the data sequence to be encoded meet the encoding conditions, secondarily encoding adjacent tail data in the second data sequence to obtain a second encoding sequence, wherein the adjacent tail data are data units located at target positions in the second data sequence; and updating the first coding sequence by using the second coding sequence to obtain a target coding sequence. The invention solves the technical problem that the existing data compression method is difficult to consider the compression rate and the compression speed.

Description

Data encoding method, data decoding method, device and storage medium
Technical Field
The present invention relates to the field of data compression technologies, and in particular, to a data encoding method, a data decoding device, and a storage medium.
Background
In the field of data compression, data compression methods commonly used are: however, the huffman coding and decoding method has the problems of high coding and decoding speed but low data compression rate, the arithmetic coding and decoding method has the problems of high data compression rate but low coding and decoding speed, and the existing asymmetric digital system improves the data coding and decoding speed and improves the data compression rate to a certain extent, but the data compression rate is still lower, and the prior art cannot further improve the data compression rate of the asymmetric digital system.
From the above analysis, it is known that, in the above conventional data compression method, it is difficult to achieve both the compression rate and the compression speed, and no effective solution has been proposed.
Disclosure of Invention
The embodiment of the invention provides a data encoding method, a data decoding device and a storage medium, which at least solve the technical problem that the existing data compression method is difficult to consider compression rate and compression speed.
According to an aspect of an embodiment of the present invention, there is provided a data encoding method including:
Acquiring a data sequence to be encoded, wherein the data sequence to be encoded consists of at least two data units; dividing the data sequence to be encoded into a first data sequence and a second data sequence in response to the target data unit in the data sequence to be encoded meeting the dividing condition, wherein the target data unit is a data unit positioned at a target position in the data sequence to be encoded, the target position is a starting position or an ending position, the first data sequence comprises at least one target data unit, and the second data sequence is the rest data sequence in the data sequence to be encoded; encoding the second data sequence by using a preset encoding method to obtain a first encoding sequence; in response to the fact that other data units forming the data sequence to be encoded meet the encoding conditions, secondarily encoding adjacent tail data in the second data sequence to obtain a second encoding sequence, wherein the adjacent tail data are data units located at target positions in the second data sequence; and updating the first coding sequence by using the second coding sequence to obtain a target coding sequence.
Optionally, the preset encoding method is a table-based asymmetric digital system, the table-based asymmetric digital system includes a table preparation, the table preparation includes a state value for mapping any data to be encoded in the second data sequence, any data to be encoded is composed of one or more data units in the second data sequence, the second data sequence is encoded by the preset encoding method to obtain a first encoded sequence, and the method includes: and coding all the data to be coded in the second data sequence by using a preset coding method by taking a data pair formed by the maximum state value in the backup table and the initial data to be coded in the second data sequence as a starting point to obtain a first coding sequence.
Optionally, the encoding condition is that the first number of encoding bits is smaller than the second number of encoding bits, the first number of encoding bits is determined by the number of state values corresponding to other data units, and the second number of encoding bits is determined by the maximum state value.
Optionally, updating the first coding sequence with the second coding sequence to obtain the target coding sequence includes: and replacing the corresponding data sequence of the adjacent tail data in the first coding sequence by using the second coding sequence.
According to another aspect of an embodiment of the present invention, there is provided a data decoding method including:
acquiring a data sequence to be decoded and corresponding adjacent tail data; determining whether the adjacent mantissa data meets decoding conditions according to a look-up table of a preset decoding method; and responding to the adjacent mantissa data meeting the decoding condition, and decoding the data sequence to be decoded to obtain a target data sequence.
Optionally, the preset decoding method is a table-based asymmetric digital system, the table-based asymmetric digital system includes a look-up table, the look-up table includes a state value for mapping decoded data, the decoding condition is that a third coding bit number is smaller than a fourth coding bit number, the third coding bit number is determined by the number of state values corresponding to adjacent mantissa data, and the fourth coding bit number is determined by a maximum state value in the look-up table.
Optionally, in response to the adjacent mantissa data meeting the decoding condition, decoding the data sequence to be decoded to obtain the target data sequence, including: determining a data sequence to be replaced in the data sequence to be decoded and a target state value based on a preset relation table, wherein the data sequence to be replaced is positioned at a target position of the data sequence to be decoded, the number of the data sequences to be replaced is determined by a third coding bit number, and the target state value is a state value corresponding to the data sequence to be replaced in the preset relation table; determining a first decoding sequence corresponding to the target state value; replacing the data sequence to be replaced by the first decoding sequence to obtain a target decoding sequence; and decoding the target decoding sequence by using a preset decoding method to obtain a target data sequence.
According to still another aspect of an embodiment of the present invention, there is provided a data encoding apparatus including:
the acquisition module is used for acquiring a data sequence to be encoded, wherein the data sequence to be encoded consists of at least two data units; the dividing module is used for dividing the data sequence to be encoded into a first data sequence and a second data sequence in response to the fact that a target data unit in the data sequence to be encoded meets a dividing condition, wherein the target data unit is a data unit located at a target position in the data sequence to be encoded, the target position is a starting position or an ending position, the first data sequence comprises at least one target data unit, and the second data sequence is the rest data sequence in the data sequence to be encoded; the first coding module is used for coding the second data sequence by using a preset coding method to obtain a first coding sequence; the second coding module is used for responding to the condition that other data units forming the data sequence to be coded meet coding conditions, and performing secondary coding on adjacent tail data in the second data sequence to obtain a second coding sequence, wherein the adjacent tail data are data units located at a target position in the second data sequence; and the updating module is used for updating the first coding sequence by using the second coding sequence to obtain a target coding sequence.
Optionally, the first encoding module is further configured to: the preset encoding method is a table-based asymmetric digital system, the table-based asymmetric digital system comprises a table preparation table, the table preparation table comprises a state value for mapping any data to be encoded in a second data sequence, any data to be encoded is composed of one or more data units in the second data sequence, the second data sequence is encoded by the preset encoding method to obtain a first encoding sequence, and the method comprises the following steps: and coding all the data to be coded in the second data sequence by using a preset coding method by taking a data pair formed by the maximum state value in the backup table and the initial data to be coded in the second data sequence as a starting point to obtain a first coding sequence.
Optionally, the second encoding module is further configured to: the encoding condition is that the first encoding bit number is smaller than the second encoding bit number, the first encoding bit number is determined by the number of state values corresponding to other data units, and the second encoding bit number is determined by the maximum state value.
Optionally, the update module is further configured to: updating the first code sequence by using the second code sequence to obtain a target code sequence, comprising: and replacing a data sequence corresponding to the adjacent tail data in the first coding sequence by using the second coding sequence to obtain a target coding sequence.
According to still another aspect of an embodiment of the present invention, there is provided a data decoding apparatus including:
the acquisition module is used for acquiring a data sequence to be decoded and corresponding adjacent tail data; the determining module is used for determining whether the adjacent mantissa data meets the decoding condition according to a look-up table of a preset decoding method; and the decoding module is used for responding to the adjacent mantissa data to meet the decoding condition and decoding the data sequence to be decoded to obtain the target data sequence.
Optionally, the determining module is further configured to: the preset decoding method is a table-based asymmetric digital system, the table-based asymmetric digital system comprises a look-up table, the look-up table comprises a state value for mapping decoding data, the decoding condition is that a third coding bit number is smaller than a fourth coding bit number, the third coding bit number is determined by the number of state values corresponding to adjacent mantissa data, and the fourth coding bit number is determined by the maximum state value in the look-up table.
Optionally, the above decoding module is further configured to: and decoding the data sequence to be decoded to obtain a target data sequence in response to the adjacent mantissa data meeting the decoding condition, wherein the method comprises the following steps: determining a data sequence to be replaced in the data sequence to be decoded and a target state value based on a preset relation table, wherein the data sequence to be replaced is positioned at a target position of the data sequence to be decoded, the number of the data sequences to be replaced is determined by a third coding bit number, and the target state value is a state value corresponding to the data sequence to be replaced in the preset relation table; determining a first decoding sequence corresponding to the target state value; replacing the data sequence to be replaced by the first decoding sequence to obtain a target decoding sequence; and decoding the target decoding sequence by using a preset decoding method to obtain a target data sequence.
According to a further aspect of embodiments of the present invention, there is provided a computer readable storage medium having a computer program stored therein, wherein the computer program is arranged to perform the data encoding method of any of the preceding claims, or the data decoding method of any of the preceding claims, when run by a processor.
In the embodiment of the invention, a data sequence to be encoded is firstly obtained, the data sequence to be encoded is composed of at least two data units, then when a target data unit in the data sequence to be encoded meets a dividing condition, the data sequence to be encoded is divided into a first data sequence and a second data sequence, the target data unit is a data unit positioned at a target position in the data sequence to be encoded, the target position is a starting position or an ending position, the first data sequence comprises at least one target data unit, the second data sequence is a residual data sequence in the data sequence to be encoded, the second data sequence is encoded by a preset encoding method to obtain a first encoded sequence, when other data units composing the data sequence to be encoded meet the encoding condition, adjacent tail data in the second data sequence is secondarily encoded to obtain a second encoded sequence, wherein the adjacent tail data is a data unit positioned at the target position in the second data sequence, and finally, the first encoded sequence is updated by the second encoded sequence to obtain the target encoded sequence.
It is easy to understand that the method provided by the invention reduces the number of data units used for encoding by dividing the data sequence to be encoded, and achieves the purpose of improving the data compression rate while guaranteeing the data compression rate by carrying out multiple encoding and data replacement on the second data sequence obtained after division, thereby realizing the technical effect of improving the data compression rate and further solving the technical problem that the existing data compression method is difficult to achieve both the compression rate and the compression rate.
Drawings
The accompanying drawings, which are included to provide a further understanding of the invention and are incorporated in and constitute a part of this specification, illustrate embodiments of the invention and together with the description serve to explain the invention and do not constitute a limitation on the invention. In the drawings:
fig. 1 is a block diagram of a hardware structure of an alternative mobile terminal for a data encoding method according to an embodiment of the present invention;
FIG. 2 is a flow chart of a data encoding method according to an embodiment of the present invention;
FIG. 3 is a flow chart of a data decoding method according to an embodiment of the present invention;
fig. 4 is a block diagram of a data encoding apparatus according to an embodiment of the present invention;
Fig. 5 is a block diagram of a data decoding apparatus according to an embodiment of the present invention.
Detailed Description
In order that those skilled in the art will better understand the present invention, a technical solution in the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings in which it is apparent that the described embodiments are only some embodiments of the present invention, not all embodiments. All other embodiments, which can be made by those skilled in the art based on the embodiments of the present invention without making any inventive effort, shall fall within the scope of the present invention.
It should be noted that the terms "first," "second," and the like in the description and the claims of the present invention and the above figures are used for distinguishing between similar objects and not necessarily for describing a particular sequential or chronological order. It is to be understood that the data so used may be interchanged where appropriate such that the embodiments of the invention described herein may be implemented in sequences other than those illustrated or otherwise described herein. Furthermore, the terms "comprises," "comprising," and "having," and any variations thereof, are intended to cover a non-exclusive inclusion, such that a process, method, system, article, or apparatus that comprises a list of steps or elements is not necessarily limited to those steps or elements expressly listed but may include other steps or elements not expressly listed or inherent to such process, method, article, or apparatus.
According to an embodiment of the present invention, there is provided a method embodiment of a data encoding method, it being noted that the steps shown in the flowcharts of the figures may be performed in a computer system such as a set of computer executable instructions, and although a logical order is shown in the flowcharts, in some cases the steps shown or described may be performed in an order different from that herein.
Fig. 1 is a block diagram of the hardware architecture of an alternative mobile terminal for a data encoding method according to an embodiment of the present invention, as shown in fig. 1, a mobile terminal 10 (or mobile device) may include one or more processors 102 (the processors 102 may include, but are not limited to, a microprocessor (Microcontroller Unit, MCU) or a processing means such as a programmable logic device (Field Programmable Gate Array, FPGA)), a memory 104 for storing data, and a transmission device 106 for communication functions. In addition, the method may further include: display device 110, input/output device 108 (i.e., I/O device), universal serial bus (Universal Serial Bus, USB) port (which may be included as one of the ports of a computer bus, not shown), network interface (not shown), power supply (not shown), and/or camera (not shown). It will be appreciated by those of ordinary skill in the art that the configuration shown in fig. 1 is merely illustrative and is not intended to limit the configuration of the mobile terminal 10 described above. For example, the mobile terminal 10 may also include more or fewer components than shown in FIG. 1 or have a different configuration than shown in FIG. 1.
It should be noted that the one or more processors 102 and/or other data processing circuits described above may be embodied in whole or in part in software, hardware, firmware, or any combination thereof. Further, the data processing circuitry may be a single stand-alone processing module or incorporated, in whole or in part, into any of the other elements in the mobile terminal 10.
The memory 104 may be used to store software programs and modules of application software, such as program instructions/data storage devices corresponding to the data encoding method in the embodiment of the present invention, and the processor 102 executes the software programs and modules stored in the memory 104 to perform various functional applications and data processing, i.e., implement the data encoding method described above. Memory 104 may include high-speed random access memory, and may also include non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some examples, the memory 104 may further include memory located remotely from the processor 102, which may be connected to the mobile terminal 10 via a network. Examples of such networks include, but are not limited to, the internet, intranets, local area networks, mobile communication networks, and combinations thereof.
The transmission device 106 is used to receive or transmit data via a network. The specific examples of networks described above may include wireless networks provided by the communication provider of the mobile terminal 10. In one example, the transmission device 106 includes a network adapter (Network Interface Controller, NIC) that can connect to other network devices through a base station to communicate with the internet. In one example, the transmission device 106 may be a Radio Frequency (RF) module for communicating with the internet wirelessly.
In the above-mentioned operating environment, the embodiment of the present invention provides a data encoding method as shown in fig. 2, and fig. 2 is a flowchart of a data encoding method according to an embodiment of the present invention, as shown in fig. 2, and the method includes the following implementation steps:
step S201, a data sequence to be encoded is obtained, wherein the data sequence to be encoded consists of at least two data units;
step S202, dividing the data sequence to be encoded into a first data sequence and a second data sequence in response to the target data unit in the data sequence to be encoded meeting the dividing condition, wherein the target data unit is a data unit positioned at a target position in the data sequence to be encoded, the target position is a starting position or an ending position, the first data sequence comprises at least one target data unit, and the second data sequence is the rest data sequence in the data sequence to be encoded;
Step S203, a first coding sequence is obtained by coding the second data sequence by using a preset coding method;
step S204, in response to the fact that other data units forming the data sequence to be encoded meet the encoding condition, secondarily encoding adjacent tail data in the second data sequence to obtain a second encoding sequence, wherein the adjacent tail data are data units located at target positions in the second data sequence;
step S205, the first code sequence is updated by the second code sequence to obtain the target code sequence.
The data sequence to be encoded may be an entropy encoded data sequence corresponding to a video or an image, and specifically, before the data encoding, processing procedures such as residual calculation, transformation (for example, discrete cosine transformation, discrete Cosine Transform, DCT transformation), quantization and the like may be performed on the video or the image, so as to obtain the data sequence to be encoded corresponding to the video or the image. It should be noted that, before data compression based on entropy encoding, the data unit of the start position or end position of the data sequence to be encoded (i.e., the target data unit) is fixed.
The above-mentioned dividing condition includes at least: (1) The number of data units contained in the data sequence to be encoded is determined; (2) The target position in the data sequence to be encoded consists of one or more target data units. As an optional implementation manner, taking an application scenario in which data compression is performed on a video or an image as an example, a data unit at an end position of a data sequence to be encoded corresponding to the video or the image is 0, and assuming that the data sequence to be encoded is 9009090000000000, the data sequence to be encoded includes 16 data units, and the number of target data units at the end position in the data sequence to be encoded is 10, therefore, the data sequence to be encoded satisfies a dividing condition, and the data sequence to be encoded is further divided, so as to obtain a first data sequence 0000000000 and a second data sequence 900909.
The preset encoding method may be a table-based asymmetric digital system (Table Asymmetric Numeral System, tlns), and it should be noted that tlns uses operations with low complexity such as addition, masking, shifting, etc. to perform data compression (including data encoding and data decoding), so as to increase the data compression speed.
It should be further noted that, the tANS includes a look-up table, where the look-up table includes a state value for mapping any data to be encoded in the second data sequence, any data to be encoded is formed by one or more data units in the second data sequence, and the encoding of the second data sequence by using the preset encoding method to obtain the first encoding sequence includes:
in step S231, all the data to be encoded in the second data sequence are encoded by using a preset encoding method with the data pair formed by the maximum state value in the table and the initial data to be encoded in the second data sequence as the starting point, so as to obtain the first encoding sequence.
As an alternative embodiment, a look-up table of tANS may be as shown in table 1 below:
TABLE 1
In the look-up table shown in table 1 above, the status values include 2, 3, 5, …. Still taking 9009090000000000 as an example of the data sequence to be encoded, 900909 is a second data sequence in which the data to be encoded includes 0, 00, and 9, and the process of encoding 900909 by tlns is as follows:
Step 1, initial state value=maximum state value=31 (corresponding to binary sequence 11111) in the backup table, and the initial data to be encoded in the second data sequence is 9, so the first data pair is {31,9}, and the target row number is column height 6 of the initial data to be encoded 9:
step 1.1, since the state value 31 in the data pair is greater than the column height 6, outputting the rightmost 1 of the binary sequence 11111 to obtain the remaining binary sequence 1111 (corresponding to the decimal state value 15);
step 1.2, since the state value 15 is greater than the column height 6, outputting the 1 on the rightmost side of the binary sequence 1111 to obtain the remaining binary sequence 111 (corresponding to the decimal state value 7);
in step 1.3, since the state value 7 is greater than the column height 6, the rightmost 1 of the binary sequence 111 is output, resulting in the remaining binary sequence 11 (corresponding to the decimal state value 3).
Step 2, since the state value 3 is smaller than the column height 6, the state value 17 (corresponding to the binary sequence 10001) of [3,9] in the look-up table and the next data 00 to be encoded form a data pair {17,00}, and the target row number is the column height 10 of the data 00 to be encoded:
in step 2.1, since the state value 17 in the data pair is greater than the column height 10, the rightmost 1 of the binary sequence 10001 is output, and the remaining binary sequence 1000 (corresponding to the decimal state value 8) is obtained.
Step 3, since the state value 8 is smaller than the column height 10, the state value 22 (corresponding to the binary sequence 10110) of [8,00] in the look-up table and the next data 9 to be encoded form a data pair {22,9}, and the target row number is the column height 6 of the data 9 to be encoded:
step 3.1, since the state value 22 in the data pair is greater than the column height 6, outputting 0 on the rightmost side of the binary sequence 10110 to obtain the remaining binary sequence 1011 (corresponding to the decimal state value 11);
in step 3.2, since the state value 11 is greater than the column height 6, the right-most 1 of the binary sequence 1011 is output, resulting in the remaining binary sequence 101 (corresponding to the decimal state value 5).
Step 4, since the state value 5 is smaller than the column height 6, the state value 25 (corresponding to the binary sequence 11001) of [5,9] in the look-up table and the next data 0 to be encoded form a data pair {25,0}, and the target row number is the column height 14 of the data 0 to be encoded:
in step 4.1, since the state value 25 in the data pair is greater than the column height 14, the rightmost 1 of the binary sequence 11001 is output, resulting in the remaining binary sequence 1100 (corresponding to the decimal state value 12).
In step 5, since the state value 12 is smaller than the column height 14, the state value 27 (corresponding to the binary sequence 11011) of [12,0] in the look-up table and the next data 9 to be encoded form a data pair {27,9}, and the target row number is the column height 6 of the data 9 to be encoded:
Step 5.1, since the state value 27 in the data pair is greater than the column height 6, outputting the rightmost 1 of the binary sequence 11011 to obtain the remaining binary sequence 1101 (corresponding to the decimal state value 13);
in step 5.2, since the state value 13 is greater than the column height 6, the rightmost 1 of the binary sequence 1101 is output, resulting in the remaining binary sequence 110 (corresponding to the decimal state value 6).
In step 6, since the state value 6 is equal to the target line number 6, the state value 30 (corresponding to the binary sequence 11110) of [6,9] in the table is determined and output.
And 7, outputting the data stream in the step to obtain a data sequence 11110111111110 (namely, a first coding sequence) because the current data to be coded is empty.
In an alternative embodiment, the encoding condition is that the first number of encoding bits is smaller than the second number of encoding bits, the first number of encoding bits being determined by the number of state values corresponding to the other data units, the second number of encoding bits being determined by the maximum state value.
Still taking 9009090000000000 as an example, in the data sequence to be encoded, the target data unit is 0, the other data units are 9, the number of state values corresponding to the data units 9 in the table 1 is 6 (including the state values: 5, 10, 17, 20, 25 and 30), during the data encoding process, 6 data needs to be represented by at least 3 binary numbers, that is, the first encoding bit number corresponding to the data sequence to be encoded 9009090000000000 is 3, and, as can be seen from the table 1, the maximum state value 31 needs to be represented by at least 5 binary numbers, that is, the second encoding bit number is 5, and since the first encoding bit number 3 is smaller than the second encoding bit number 5, the other data units 9 in the data sequence to be encoded 9009090000000000 satisfy the encoding condition.
It should be noted that, the present invention is not limited to the type and number of the other data units included in the data sequence to be encoded, that is, in an actual application scenario, the other data units in the data sequence to be encoded may be one or more other data units different from the value of the target data unit.
Further, the adjacent tail data 9 (the data 9 adjacent to the initial data unit 0 of the first data sequence 0000000000) in the second data sequence is secondarily encoded, specifically, the state value corresponding to the adjacent tail data 9 in the table 1 is encoded, and the correspondence table shown in the following fig. 2 is determined:
TABLE 2
Based on the above table 2, it is determined that the code value of the state value 30 corresponding to the tail data 9 in the above step 6 in table 2 is 101 (i.e., the second code sequence).
In an alternative embodiment, updating the first code sequence with the second code sequence to obtain the target code sequence includes:
step S251, the second coding sequence is utilized to replace the data sequence corresponding to the adjacent tail data in the first coding sequence, and the target coding sequence is obtained.
Taking 9009090000000000 as an example, the first coding sequence 11110111111110 and the second coding sequence 101 are obtained through the foregoing steps, and the second coding sequence 101 is used to replace the data sequence 11110 corresponding to the adjacent tail data in the first coding sequence, so as to obtain the target coding sequence 111101111101. Therefore, the data coding method provided by the invention reduces the coding bit number of the adjacent tail data in the data sequence to be coded, thereby further improving the data compression rate while guaranteeing the performance of the compressed data.
In the data encoding method provided by the present invention, it should be noted that, in the above table 2, the state value 31 and the encoding value (e.g. 110) of the first encoding bit number corresponding to the state value may be added to represent an application scenario in which all data units in the data sequence to be encoded are target data units.
In the embodiment of the invention, a data sequence to be encoded is firstly obtained, the data sequence to be encoded is composed of at least two data units, then when a target data unit in the data sequence to be encoded meets a dividing condition, the data sequence to be encoded is divided into a first data sequence and a second data sequence, the target data unit is a data unit positioned at a target position in the data sequence to be encoded, the target position is a starting position or an ending position, the first data sequence comprises at least one target data unit, the second data sequence is a residual data sequence in the data sequence to be encoded, the second data sequence is encoded by a preset encoding method to obtain a first encoded sequence, when other data units composing the data sequence to be encoded meet the encoding condition, adjacent tail data in the second data sequence is secondarily encoded to obtain a second encoded sequence, wherein the adjacent tail data is a data unit positioned at the target position in the second data sequence, and finally, the first encoded sequence is updated by the second encoded sequence to obtain the target encoded sequence.
It is easy to understand that the method provided by the invention reduces the number of data units used for coding by dividing the data sequence to be coded, and achieves the purpose of improving the data compression rate while guaranteeing the data performance by carrying out multiple times of coding and data replacement on the second data sequence obtained after division, thereby realizing the technical effect of improving the data compression rate and further solving the technical problem that the existing data compression method is difficult to achieve both the compression rate and the compression speed.
According to an embodiment of the present invention, there is further provided a method embodiment of a data decoding method, as shown in fig. 3, fig. 3 is a flowchart of a data decoding method according to an embodiment of the present invention, the method including the following implementation steps:
step S301, a data sequence to be decoded and corresponding adjacent tail data are obtained;
step S302, determining whether adjacent mantissa data meets decoding conditions according to a look-up table of a preset decoding method;
and step S303, decoding the data sequence to be decoded to obtain a target data sequence in response to the adjacent mantissa data meeting the decoding condition.
It should be noted that, the preset decoding method may be a table-based asymmetric digital system (tANS), where the table-based asymmetric digital system includes a look-up table (as shown in table 1 above) including a state value for mapping decoded data, and the decoding condition is that the third number of encoding bits is smaller than the fourth number of encoding bits, where the third number of encoding bits is determined by the number of state values corresponding to the neighbor mantissa data, and the fourth number of encoding bits is determined by the maximum state value in the look-up table.
The executable party of the data decoding method provided by the invention can obtain various information such as a spare table, specific values of coded data or decoded data (such as 0, 00 and 9 shown in the 0 th row of table 1), a secondary coded data table (such as table 2) corresponding to each coded data or decoded data, the length of a data sequence to be coded (target data sequence), the length of a first data sequence, a target position, a target data unit, adjacent tail data and the like from the executable party of the data decoding method in advance, or the two parties agree with various information in advance so as to avoid the problem of slow data decoding speed caused by reacquiring various information during each decoding and the problem of influencing the data compression rate.
As an alternative embodiment, assuming that the data sequence to be decoded is 111101111101, the executive party of the data decoding method knows that the backup table is table 1, the secondary coding data table corresponding to the adjacent tail data is table 2, the length of the target data sequence is 16, the target position is the end position of the data sequence to be decoded, the target data unit is 0, and the possible value of the adjacent tail data is 9. Based on the table 1, the number of state values corresponding to the neighbor data 9 is 6, that is, the third encoding bit number is 3, and based on the table 1, the maximum state value is 31, which is encoded by at least 5 binary numbers, that is, the fourth encoding bit number is 5, and since the third encoding bit number 3 is smaller than the fourth encoding bit number 5, it is determined that the neighbor data 9 satisfies the decoding condition.
In an alternative embodiment, in response to the adjacent mantissa data meeting a decoding condition, decoding the data sequence to be decoded to obtain the target data sequence, including:
step S331, determining a data sequence to be replaced and a target state value in a data sequence to be decoded based on a preset relation table, wherein the data sequence to be replaced is positioned at a target position of the data sequence to be decoded, the number of the data sequences to be replaced is determined by a third coding bit number, and the target state value is a state value corresponding to the data sequence to be replaced in the preset relation table;
step S332, determining a first decoding sequence corresponding to the target state value; replacing the data sequence to be replaced by the first decoding sequence to obtain a target decoding sequence;
step S333, decoding the target decoding sequence by using a preset decoding method to obtain a target data sequence.
Taking the above alternative embodiment as an example, after determining that the adjacent mantissa data meets the decoding condition, determining that a data sequence to be replaced in the data sequence to be decoded 111101111101 is 101 at an end position, determining that a target state value corresponding to the data sequence to be replaced 101 is 30 based on a preset relation table (i.e. table 2), further determining that a data sequence of a fourth coding bit (i.e. 5) corresponding to the target state value 30 is 11110 (i.e. a first decoding sequence), further, replacing the data sequence to be replaced 101 in the data sequence to be decoded with the first decoding sequence 11110 to obtain a target decoding sequence 11110111111110, and further decoding the target decoding sequence by using a tlns method, specifically:
In step 8, since the fourth number of encoded bits corresponding to the target state value 30 is 5, the data sequence 11110 (corresponding to the state value 30) having a length of 5 is read from the end position of the target decoding sequence 11110111111110, and the look-up table 1 is searched for the fact that the position of the state value 30 is {9,6}, and thus the decoded data 9 is output.
In step 9, in the data pair {9,6}, the number of bits of the binary sequence 110 corresponding to the target row number 6 is 3, and the number of bits of the encoding is 3 is smaller than the number of bits of the fourth encoding 5, so that 2 data units 11 are read from the end position of the remaining decoding sequence in reverse order, and added to the rear of the binary sequence 110 corresponding to the target row number 6, to obtain the sequence 11011 to be decoded (corresponding to the decimal number 27), and the position of the state value 27 is {0, 12} as known from the look-up table 1, so that the decoded data 0 is output.
In step 10, in the data pair {0, 12}, the number of bits of the binary sequence 1100 corresponding to the target row number 12 is 4, and the number of bits of the encoding is 4 is smaller than the number of bits of the fourth encoding 5, so that 1 data unit 1 is read from the end position of the remaining decoding sequence in reverse order, and added to the rear of the binary sequence 1100 corresponding to the target row number 12, to obtain the sequence 11001 (corresponding to the decimal number 25) to be decoded, and the position of the state value 25 is {9,5}, as known from the look-up table 1, so that the decoded data 9 is output.
In step 11, in the data pair {9,5}, the number of bits of the binary sequence 101 corresponding to the target row number 5 is 3, and the number of bits of the encoding is 3 is smaller than the number of bits of the fourth encoding 5, so that 2 data units 10 are read from the end position of the remaining decoding sequence in reverse order, and added to the rear of the binary sequence 101 corresponding to the target row number 5, to obtain the sequence 10110 (corresponding to the decimal number 22), and the position of the state value 22 is {00,8}, as known from the look-up table 1, so that the decoded data 00 is output.
In step 12, in the data pair {00,8}, the number of bits of the binary sequence 1000 corresponding to the target row number 8 is 4, and the number of bits of the encoding is 4 is smaller than the number of bits of the fourth encoding 5, so that 1 data unit 1 is read from the end position of the remaining decoding sequence in reverse order, and added to the rear of the binary sequence 1000 corresponding to the target row number 8 to obtain the sequence 10001 (corresponding to the decimal number 17) to be decoded, and the position of the state value 17 is {9,3} as known from the look-up table 1, so that the decoded data 9 is output.
In step 13, in the data pair {9,3}, the number of bits of the binary sequence 11 corresponding to the target line number 3 is 2, and the number of bits of the encoding 2 is smaller than the number of bits of the fourth encoding 5, so that 3 data units 111 are read from the end position of the remaining decoding sequence in reverse order, and added to the rear of the binary sequence 11 corresponding to the target line number 3 to obtain the sequence 11111 (corresponding to the decimal number 31) to be decoded, and the look-up table 1 is searched, where the current state value 31 is the maximum state value in the look-up table 1, that is, the current decoding process reaches the end of decoding (i.e., the maximum state value in the look-up table), so that decoding is stopped and the data sequence 900909 is output in reverse order.
Further, since the length of the current data sequence is 6 and the length of the target data sequence is 16, the target position is the end position of the target data sequence, and the target data unit is 0, the data sequence 0000000000 of 10 and all 0 data units are added to the end position of the data sequence 900909, and the target data sequence 9009090000000000 is obtained.
In the above-mentioned alternative embodiment, based on the known data decoding information, the data sequence to be decoded is quickly decoded to obtain the target data sequence, where the target data sequence is consistent with the data sequence to be encoded, and the number of bits of the target encoded sequence obtained by using the data encoding method of the present invention is smaller than that of the data sequence obtained by using the encoding method of the present invention, so that the technical effect of further improving the data compression rate is achieved by using the data encoding method and the data decoding method provided by the present invention.
In this embodiment, a data encoding device is further provided, and the device is used to implement the foregoing embodiments and preferred embodiments, and will not be described in detail. As used below, a combination of software and/or hardware that belongs to a "module" may implement a predetermined function. While the means described in the following embodiments are preferably implemented in software, implementation in hardware, or a combination of software and hardware, is also possible and contemplated.
Fig. 4 is a block diagram of a data encoding apparatus according to an embodiment of the present invention, as shown in fig. 4, including:
an obtaining module 401, configured to obtain a data sequence to be encoded, where the data sequence to be encoded is composed of at least two data units;
a dividing module 402, configured to divide a data sequence to be encoded into a first data sequence and a second data sequence in response to a target data unit in the data sequence to be encoded meeting a dividing condition, where the target data unit is a data unit located at a target position in the data sequence to be encoded, the target position is a start position or an end position, the first data sequence includes at least one target data unit, and the second data sequence is a remaining data sequence in the data sequence to be encoded;
a first encoding module 403, configured to encode the second data sequence by using a preset encoding method to obtain a first encoded sequence;
a second encoding module 404, configured to perform secondary encoding on neighbor tail data in the second data sequence in response to other data units that form the data sequence to be encoded meeting an encoding condition, so as to obtain a second encoded sequence, where the neighbor tail data is a data unit located at a target position in the second data sequence;
And the updating module 405 is configured to update the first coding sequence with the second coding sequence to obtain a target coding sequence.
Optionally, the first encoding module 403 is further configured to: the preset encoding method is a table-based asymmetric digital system, the table-based asymmetric digital system comprises a table preparation table, the table preparation table comprises a state value for mapping any data to be encoded in a second data sequence, any data to be encoded is composed of one or more data units in the second data sequence, the second data sequence is encoded by the preset encoding method to obtain a first encoding sequence, and the method comprises the following steps: and coding all the data to be coded in the second data sequence by using a preset coding method by taking a data pair formed by the maximum state value in the backup table and the initial data to be coded in the second data sequence as a starting point to obtain a first coding sequence.
Optionally, the second encoding module 404 is further configured to: the encoding condition is that the first encoding bit number is smaller than the second encoding bit number, the first encoding bit number is determined by the number of state values corresponding to other data units, and the second encoding bit number is determined by the maximum state value.
Optionally, the updating module 405 is further configured to: updating the first code sequence by using the second code sequence to obtain a target code sequence, comprising: and replacing a data sequence corresponding to the adjacent tail data in the first coding sequence by using the second coding sequence to obtain a target coding sequence.
In this embodiment, there is also provided a data decoding apparatus, as shown in fig. 5, fig. 5 is a block diagram of a data decoding apparatus according to an embodiment of the present invention, the apparatus including:
the acquisition module 501 is configured to acquire a data sequence to be decoded and corresponding neighbor tail data;
a determining module 502, configured to determine whether the neighboring mantissa data meets a decoding condition according to a look-up table of a preset decoding method;
and the decoding module 503 is configured to decode the data sequence to be decoded in response to the neighboring mantissa data meeting the decoding condition, so as to obtain a target data sequence.
Optionally, the determining module 502 is further configured to: the preset decoding method is a table-based asymmetric digital system, the table-based asymmetric digital system comprises a look-up table, the look-up table comprises a state value for mapping decoding data, the decoding condition is that a third coding bit number is smaller than a fourth coding bit number, the third coding bit number is determined by the number of state values corresponding to adjacent mantissa data, and the fourth coding bit number is determined by the maximum state value in the look-up table.
Optionally, the decoding module 503 is further configured to: and decoding the data sequence to be decoded to obtain a target data sequence in response to the adjacent mantissa data meeting the decoding condition, wherein the method comprises the following steps: determining a data sequence to be replaced in the data sequence to be decoded and a target state value based on a preset relation table, wherein the data sequence to be replaced is positioned at a target position of the data sequence to be decoded, the number of the data sequences to be replaced is determined by a third coding bit number, and the target state value is a state value corresponding to the data sequence to be replaced in the preset relation table; determining a first decoding sequence corresponding to the target state value; replacing the data sequence to be replaced by the first decoding sequence to obtain a target decoding sequence; and decoding the target decoding sequence by using a preset decoding method to obtain a target data sequence.
It should be noted that each of the above modules may be implemented by software or hardware, and for the latter, it may be implemented by, but not limited to: the modules are all located in the same processor; alternatively, the above modules may be located in different processors in any combination.
According to still another aspect of the embodiments of the present invention, there is further provided a storage medium, where the storage medium includes a stored program, and when the program runs, the device where the storage medium is controlled to perform any one of the foregoing data encoding methods, or when the program runs, the device where the storage medium is controlled to perform any one of the foregoing data decoding methods.
Alternatively, in the present embodiment, the storage medium may include, but is not limited to: a usb disk, a Read-Only Memory (ROM), a random access Memory (Random Access Memory, RAM), a removable hard disk, a magnetic disk, or an optical disk, or other various media in which a computer program can be stored.
Alternatively, specific examples in this embodiment may refer to examples described in the foregoing embodiments and alternative implementations thereof, and this embodiment is not described herein.
The foregoing embodiment numbers of the present invention are merely for the purpose of description, and do not represent the advantages or disadvantages of the embodiments.
In the foregoing embodiments of the present invention, the descriptions of the embodiments are emphasized, and for a portion of this disclosure that is not described in detail in this embodiment, reference is made to the related descriptions of other embodiments.
In the several embodiments provided in the present invention, it should be understood that the disclosed technology may be implemented in other manners. The above-described embodiments of the apparatus are merely exemplary, and the division of the units, for example, may be a logic function division, and may be implemented in another manner, for example, a plurality of units or components may be combined or may be integrated into another system, or some features may be omitted, or not performed. Alternatively, the coupling or direct coupling or communication connection shown or discussed with each other may be through some interfaces, units or modules, or may be in electrical or other forms.
The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
In addition, each functional unit in the embodiments of the present invention may be integrated in one processing unit, or each unit may exist alone physically, or two or more units may be integrated in one unit. The integrated units may be implemented in hardware or in software functional units.
The integrated units, if implemented in the form of software functional units and sold or used as stand-alone products, may be stored in a computer readable storage medium. Based on such understanding, the technical solution of the present invention may be embodied essentially or in part or all of the technical solution or in part in the form of a software product stored in a storage medium, including instructions for causing a computer device (which may be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the method according to the embodiments of the present invention. And the aforementioned storage medium includes: a U-disk, a Read-Only Memory (ROM), a random access Memory (Random Access Memory, RAM), a removable hard disk, a magnetic disk, or an optical disk, or other various media capable of storing program codes.
The foregoing is merely a preferred embodiment of the present invention and it should be noted that modifications and adaptations to those skilled in the art may be made without departing from the principles of the present invention, which are intended to be comprehended within the scope of the present invention.

Claims (9)

1. A method of encoding data, comprising:
acquiring a data sequence to be encoded, wherein the data sequence to be encoded consists of at least two data units;
dividing the data sequence to be encoded into a first data sequence and a second data sequence in response to a target data unit in the data sequence to be encoded meeting a dividing condition, wherein the target data unit is a data unit positioned at a target position in the data sequence to be encoded, the target position is a starting position or an ending position, the first data sequence comprises at least one target data unit, and the second data sequence is the rest data sequence in the data sequence to be encoded;
performing initial encoding on the second data sequence by using a preset encoding method to obtain a first encoding sequence, wherein the preset encoding method is a table-based asymmetric digital system, and the table-based asymmetric digital system comprises a table preparation table;
In response to the fact that other data units forming the data sequence to be encoded meet encoding conditions, performing secondary encoding on state values corresponding to neighbor tail data in the look-up table according to a first encoding bit number, and obtaining a relation table, wherein the neighbor tail data are data units located at the target position in the second data sequence, the first encoding bit number is determined by the number of state values corresponding to other data units in the look-up table, and the relation table comprises encoding values of any one state value corresponding to the neighbor tail data in the look-up table;
determining the coding value of the output state value corresponding to the neighbor mantissa data in the relation table in the initial coding process as a second coding sequence;
and updating the first coding sequence by using the second coding sequence to obtain a target coding sequence.
2. The data encoding method according to claim 1, wherein the look-up table includes a status value for mapping any data to be encoded in the second data sequence, the any data to be encoded being composed of one or more data units in the second data sequence, and wherein encoding the second data sequence using the preset encoding method to obtain the first encoded sequence includes:
And taking a data pair formed by the maximum state value in the backup table and the initial data to be coded in the second data sequence as a starting point, and coding all the data to be coded in the second data sequence by using the preset coding method to obtain the first coding sequence.
3. The data encoding method according to claim 2, wherein the encoding condition is that a first number of encoding bits is smaller than a second number of encoding bits, the second number of encoding bits being determined by the maximum state value.
4. A data encoding method according to claim 3, wherein updating the first encoded sequence with the second encoded sequence results in the target encoded sequence, comprising:
and replacing a data sequence corresponding to the neighbor data in the first coding sequence by using the second coding sequence to obtain the target coding sequence.
5. A method of decoding data, comprising:
acquiring a data sequence to be decoded and corresponding adjacent tail data;
determining whether the adjacent mantissa data meets decoding conditions according to a table look-up table of a preset decoding method, wherein the preset decoding method is an asymmetric digital system based on the table;
Responding to the adjacent mantissa data meeting the decoding condition, and decoding the data sequence to be decoded to obtain a target data sequence;
wherein, responding to the adjacent mantissa data meeting the decoding condition, decoding the data sequence to be decoded to obtain a target data sequence comprises: determining a data sequence to be replaced in the data sequence to be decoded and a target state value based on a preset relation table, wherein the data sequence to be replaced is positioned at a target position of the data sequence to be decoded, the number of the data sequences to be replaced is determined by a third coding bit number, and the target state value is a state value corresponding to the data sequence to be replaced in the preset relation table; determining a first decoding sequence corresponding to the target state value; replacing the data sequence to be replaced by the first decoding sequence to obtain a target decoding sequence; and decoding the target decoding sequence by using the preset decoding method to obtain the target data sequence.
6. The data decoding method of claim 5, wherein the look-up table includes a state value for mapping decoded data, the decoding condition is that a third number of encoding bits is smaller than a fourth number of encoding bits, the third number of encoding bits is determined by a number of state values corresponding to the neighbor mantissa data, and the fourth number of encoding bits is determined by a maximum state value in the look-up table.
7. A data encoding apparatus, comprising:
the acquisition module is used for acquiring a data sequence to be encoded, wherein the data sequence to be encoded consists of at least two data units;
the dividing module is used for dividing the data sequence to be encoded into a first data sequence and a second data sequence in response to the fact that a target data unit in the data sequence to be encoded meets a dividing condition, wherein the target data unit is a data unit located at a target position in the data sequence to be encoded, the target position is a starting position or an ending position, the first data sequence comprises at least one target data unit, and the second data sequence is the rest data sequence in the data sequence to be encoded;
the first coding module is used for carrying out initial coding on the second data sequence by using a preset coding method to obtain a first coding sequence, wherein the preset coding method is a table-based asymmetric digital system, and the table-based asymmetric digital system comprises a table-look-up table;
the second coding module is used for responding to the condition that other data units forming the data sequence to be coded meet coding conditions, and performing secondary coding on the corresponding state value of the adjacent tail data in the look-up table according to a first coding bit number to obtain a relation table, wherein the adjacent tail data is a data unit positioned at the target position in the second data sequence, the first coding bit number is determined by the number of the corresponding state values of the other data units in the look-up table, and the relation table comprises the coding value of any corresponding state value of the adjacent tail data in the look-up table; determining the coding value of the output state value corresponding to the neighbor mantissa data in the relation table in the initial coding process as a second coding sequence;
And the updating module is used for updating the first coding sequence by using the second coding sequence to obtain a target coding sequence.
8. A data decoding apparatus, comprising:
the acquisition module is used for acquiring a data sequence to be decoded and corresponding adjacent tail data;
the determining module is used for determining whether the adjacent mantissa data meets decoding conditions according to a table look-up table of a preset decoding method, wherein the preset decoding method is an asymmetric digital system based on the table;
the decoding module is used for responding to the adjacent mantissa data to meet the decoding condition and decoding the data sequence to be decoded to obtain a target data sequence; wherein, responding to the adjacent mantissa data meeting the decoding condition, decoding the data sequence to be decoded to obtain a target data sequence comprises: determining a data sequence to be replaced in the data sequence to be decoded and a target state value based on a preset relation table, wherein the data sequence to be replaced is positioned at a target position of the data sequence to be decoded, the number of the data sequences to be replaced is determined by a third coding bit number, and the target state value is a state value corresponding to the data sequence to be replaced in the preset relation table; determining a first decoding sequence corresponding to the target state value; replacing the data sequence to be replaced by the first decoding sequence to obtain a target decoding sequence; and decoding the target decoding sequence by using the preset decoding method to obtain the target data sequence.
9. A computer readable storage medium, characterized in that the computer readable storage medium has stored therein a computer program, wherein the computer program is arranged to perform the data encoding method of any of claims 1 to 4 or the data decoding method of any of claims 5 to 6 when run by a processor.
CN202410042253.9A 2024-01-11 2024-01-11 Data encoding method, data decoding method, device and storage medium Active CN117579078B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410042253.9A CN117579078B (en) 2024-01-11 2024-01-11 Data encoding method, data decoding method, device and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410042253.9A CN117579078B (en) 2024-01-11 2024-01-11 Data encoding method, data decoding method, device and storage medium

Publications (2)

Publication Number Publication Date
CN117579078A CN117579078A (en) 2024-02-20
CN117579078B true CN117579078B (en) 2024-04-12

Family

ID=89884721

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410042253.9A Active CN117579078B (en) 2024-01-11 2024-01-11 Data encoding method, data decoding method, device and storage medium

Country Status (1)

Country Link
CN (1) CN117579078B (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112953550A (en) * 2021-03-23 2021-06-11 上海复佳信息科技有限公司 Data compression method, electronic device and storage medium
CN113709464A (en) * 2021-09-01 2021-11-26 展讯通信(天津)有限公司 Video coding method and related device
CN115997345A (en) * 2022-09-20 2023-04-21 香港应用科技研究院有限公司 Hardware implementation of frequency table generation based on data compression of an asymmetric digital system
CN117155405A (en) * 2023-08-09 2023-12-01 海飞科(南京)信息技术有限公司 Method for quickly establishing tANS coding and decoding conversion table based on gradient descent
CN117176179A (en) * 2023-11-03 2023-12-05 苏州硒瑞恩生物科技有限公司 Data coding processing method for nucleic acid synthesizer

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5397179B2 (en) * 2009-11-17 2014-01-22 富士通株式会社 Data encoding program, data decoding program and method

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112953550A (en) * 2021-03-23 2021-06-11 上海复佳信息科技有限公司 Data compression method, electronic device and storage medium
CN113709464A (en) * 2021-09-01 2021-11-26 展讯通信(天津)有限公司 Video coding method and related device
CN115997345A (en) * 2022-09-20 2023-04-21 香港应用科技研究院有限公司 Hardware implementation of frequency table generation based on data compression of an asymmetric digital system
CN117155405A (en) * 2023-08-09 2023-12-01 海飞科(南京)信息技术有限公司 Method for quickly establishing tANS coding and decoding conversion table based on gradient descent
CN117176179A (en) * 2023-11-03 2023-12-05 苏州硒瑞恩生物科技有限公司 Data coding processing method for nucleic acid synthesizer

Also Published As

Publication number Publication date
CN117579078A (en) 2024-02-20

Similar Documents

Publication Publication Date Title
CN106815875B (en) Method and device for encoding and decoding information bitmap
CN100455019C (en) Method of context adaptive binary arithmetic coding and apparatus using the same
EP2916543A1 (en) Method for coding/decoding depth image and coding/decoding device
WO2015066925A1 (en) Polar code encoding method and device
EP2955919A2 (en) Decoding method, encoder, and decoder
US20220222861A1 (en) Method, device, and storage medium for data encoding/decoding
CN102438145A (en) Image lossless compression method on basis of Huffman code
CN103702133A (en) Image compression display method and image compression display device
JP6647340B2 (en) Improved file compression and encryption
CN109982091B (en) Image processing method and device
CN112165620A (en) Video encoding method and device, storage medium and electronic equipment
CN117579078B (en) Data encoding method, data decoding method, device and storage medium
CN110650357A (en) Video decoding method and device
CN116634089B (en) Video transmission method, device, equipment and storage medium
CN107103632B (en) Image compression method and device
CN113630125A (en) Data compression method, data encoding method, data decompression method, data encoding device, data decompression device, electronic equipment and storage medium
CN107431809A (en) The method and apparatus of image procossing
CN114337678A (en) Data compression method, device, equipment and storage medium
US8175403B1 (en) Iterative backward reference selection with reduced entropy for image compression
CN114760481B (en) Video coding method, device, equipment and storage medium
US20220005229A1 (en) Point cloud attribute encoding method and device, and point cloud attribute decoding method and devcie
CN112449191A (en) Method for compressing a plurality of images, method and apparatus for decompressing an image
CN106993144B (en) Method and device for coding and decoding alpha channel data in OSD
CN107930112B (en) Game data transmission method and device
CN116243856A (en) Data storage method and device and electronic equipment

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant