Image decoding method, apparatus, device, and storage medium

By combining multiple quantization tables and encoding tables into a global quantization table and a global decoding tree, the inefficiency caused by multi-table lookup and switching during image compression and decoding is solved, improving the processing efficiency of image decoding and adapting to the efficient processing of massive image data.

CN122137957APending Publication Date: 2026-06-02GUANGZHOU ZHONO ELECTRONICS TECH CO LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
GUANGZHOU ZHONO ELECTRONICS TECH CO LTD
Filing Date
2026-01-26
Publication Date
2026-06-02

AI Technical Summary

Technical Problem

In existing technologies, image compression and decoding processes involve numerous reference table lookups and switching operations, resulting in low processing efficiency and making it difficult to meet the high-efficiency processing needs of massive image data.

Method used

A global quantization table is obtained by first merging multiple quantization tables, and a global decoding tree is obtained by second merging multiple encoding tables. This unifies the decoding parameters and reduces the query and switching overhead of multiple table calls.

Benefits of technology

It improves the processing efficiency of image decoding, can adapt to the high-efficiency processing needs of massive image data, and achieves efficient image decoding.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122137957A_ABST
    Figure CN122137957A_ABST
Patent Text Reader

Abstract

This application provides an image decoding method, apparatus, device, and storage medium. The method includes: acquiring an image compressed file; extracting an coded image, multiple quantization tables, and multiple encoding tables from the image compressed file; performing a first concatenation process on the multiple quantization tables to obtain a global quantization table; and performing a second concatenation process on the multiple encoding tables to obtain at least one global decoding tree; and performing decoding processing on the coded image based on the global quantization table and at least one global decoding tree to obtain a decoded image. This solution effectively integrates multiple quantization tables and encoding tables, reduces the query and switching overhead of multi-table calls, improves the processing efficiency of image decoding, and can adapt to the high-efficiency processing needs of massive image data.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of computer technology, and in particular to an image decoding method, apparatus, device, and storage medium. Background Technology

[0002] In digital image storage and transmission scenarios, the massive amount of raw image data places a heavy burden on storage media and significantly increases transmission bandwidth usage and latency, severely hindering the efficient circulation and application of digital images. Therefore, image compression has become a key technology in the field of digital imaging. Its core objective is to minimize image data volume while maintaining acceptable image quality, thereby reducing storage costs, improving transmission efficiency, and laying the foundation for the widespread application of images. Currently, mainstream image compression standards are widely adopted due to their high compression ratios, and their encoding and decoding performance directly affects the processing quality and application efficiency of image data.

[0003] However, the decoding stage of image compression in related technologies requires the use of various parameter tables for decoding processing, which involves a large number of reference table lookup and switching operations, resulting in a high consumption of processing resources, low processing efficiency, and difficulty in adapting to the high-efficiency processing needs of massive image data. Summary of the Invention

[0004] This application provides an image decoding method, apparatus, device, and storage medium, which solves the problem in related technologies that involve query and switching operations of a large number of reference tables, resulting in excessive processing resources, low processing efficiency, and difficulty in adapting to the high-efficiency processing needs of massive image data. It effectively integrates multiple quantization tables and encoding tables, reduces the query and switching overhead of multi-table calls, improves the processing efficiency of image decoding, and can adapt to the high-efficiency processing needs of massive image data.

[0005] In a first aspect, embodiments of this application provide an image decoding method, the method comprising: Obtain an image compressed file, and extract an encoded image, multiple quantization tables, and multiple encoding tables from the image compressed file; The multiple quantization tables are first combined to obtain a global quantization table, and the multiple encoding tables are second combined to obtain at least one global decoding tree; The encoded image is decoded based on the global quantization table and the at least one global decoding tree to obtain the decoded image.

[0006] Secondly, embodiments of this application also provide an image decoding apparatus, comprising: The information extraction module is configured to acquire an image compressed file and extract an coded image, multiple quantization tables, and multiple encoding tables from the image compressed file. The information merging module is configured to perform a first merging process on the multiple quantization tables to obtain a global quantization table, and perform a second merging process on the multiple encoding tables to obtain at least one global decoding tree; The image decoding module is configured to perform decoding processing on the encoded image based on the global quantization table and the at least one global decoding tree to obtain a decoded image.

[0007] Thirdly, embodiments of this application also provide an electronic device, the device comprising: One or more processors; Storage device, configured to store one or more programs, When the one or more programs are executed by the one or more processors, the one or more processors implement the image decoding method described in the embodiments of this application.

[0008] Fourthly, embodiments of this application also provide a non-volatile storage medium for storing computer-executable instructions, which, when executed by a computer processor, are configured to perform the image decoding method described in embodiments of this application.

[0009] In this embodiment, by performing a first concatenation process on multiple quantization tables to obtain a global quantization table, and performing a second concatenation process on multiple encoding tables to obtain at least one global decoding tree, it is possible to ensure the integrity of the original table parameters while unifying the decoding-related parameters, reducing the query and switching overhead of multiple table calls, improving the processing efficiency of image decoding, and adapting to the high-efficiency processing needs of massive image data. Attached Figure Description

[0010] Figure 1 A flowchart illustrating an image decoding method provided in an embodiment of this application; Figure 2 This is a flowchart illustrating a process for generating a global quantization table, as provided in an embodiment of this application. Figure 3 This is a flowchart illustrating a process for generating a global decoding tree, as provided in an embodiment of this application. Figure 4 A flowchart illustrating another image decoding method provided in this application embodiment; Figure 5 A flowchart illustrating a process of performing decoding processing to obtain decoded result data, provided in an embodiment of this application; Figure 6 This is a schematic diagram illustrating the pipelined processing of multiple data blocks based on a first thread, a second thread, and a third thread, provided for an embodiment of this application. Figure 7 A structural block diagram of an image decoding device provided in an embodiment of this application; Figure 8This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. Detailed Implementation

[0011] The embodiments of this application will be further described in detail below with reference to the accompanying drawings and examples. It should be understood that the specific embodiments described herein are merely illustrative of the embodiments of this application and are not intended to limit the scope of the embodiments. Furthermore, it should be noted that, for ease of description, only the parts relevant to the embodiments of this application are shown in the accompanying drawings, not the entire structure.

[0012] The terms "first," "second," etc., used in the specification and claims of this application are used to distinguish similar objects and not to describe a specific order or sequence. It should be understood that such use of data can be interchanged where appropriate so that embodiments of this application can be implemented in orders other than those illustrated or described herein, and the objects distinguished by "first," "second," etc., are generally of the same class and the number of objects is not limited; for example, a first object can be one or more. Furthermore, in the specification and claims, "and / or" indicates at least one of the connected objects, and the character " / " generally indicates that the preceding and following objects are in an "or" relationship.

[0013] The image decoding method provided in this application embodiment can be executed by a computer device. The computer device refers to any electronic device with data computing, processing and storage capabilities, such as mobile phones, PCs (Personal Computers), tablet computers and other terminal devices. This application embodiment does not limit this.

[0014] Figure 1 A flowchart of an image decoding method provided in an embodiment of this application is shown below. Figure 1 As shown, the image decoding method specifically includes the following steps: Step S101: Obtain the image compression file, and extract the coded image, multiple quantization tables, and multiple encoding tables from the image compression file.

[0015] Image compression files can be storage files formed after compressing the original image using a specific encoding algorithm (such as JPEG, WebP, etc.). Their core feature is reducing data redundancy through "quantization + entropy encoding." Common formats include JPEG and WebP. This image compression file contains the encoded data and auxiliary parameters required for decoding. The encoded image can be the core data part of the original image after encoding; specifically, it can be a binary data stream obtained after discrete transformation, quantization, and entropy encoding, which is the core object to be restored during decoding. The quantization table can be a parameter table used to quantize the transform coefficients; specifically, it can be a set of integer matrices (such as an 8×8 matrix, a 16×16 matrix, etc.). Its core function is to reduce the numerical range of the transform coefficients through "rounding approximation" (e.g., mapping a large range of transform coefficients to a small range of integers), thereby achieving data compression. It should be noted that image compression files can contain multiple quantization tables. Taking the YCrCb color space as an example, corresponding quantization tables can be set for the luminance component (i.e., the Y channel) and the chrominance component (i.e., the Cb and Cr channels). The encoding table can be a set of mapping tables corresponding to entropy coding, used to map the quantized discrete coefficients one-to-one with the binary code to reduce data redundancy. Specifically, the encoding table can be a Huffman table, an arithmetic encoding table, etc.

[0016] Step S102: Perform a first concatenation process on multiple quantization tables to obtain a global quantization table, and perform a second concatenation process on multiple encoding tables to obtain at least one global decoding tree.

[0017] The first concatenation process can involve mapping multiple quantization tables to a unified index space to obtain a global quantization table, thereby achieving multi-table concatenation and avoiding frequent switching between different quantization tables during subsequent decoding. This global quantization table can contain all the valid information from the aforementioned multiple quantization tables and adopt a standardized structure (e.g., unified dimensions, fixed indexing rules, etc.). It can be used for dequantization operations on the encoded image during decoding without switching between different quantization tables.

[0018] Specifically, Figure 2 This is a flowchart illustrating a process for generating a global quantization table as provided in an embodiment of this application, such as... Figure 2 As shown, the specific implementation process of obtaining a global quantization table by first merging multiple quantization tables includes the following steps: Step S1021: Perform dimensionality reduction on each quantization table to obtain the corresponding one-dimensional quantization information.

[0019] Since the quantization table is an integer matrix, its common dimensions are... , For high-dimensional matrix forms, to facilitate the combination of different quantization tables, each quantization table can be dimensionality reduced. This dimensionality reduction can be achieved by expanding all elements of each quantization table to obtain one-dimensional quantization information. This one-dimensional quantization information retains all elements of the original quantization table, but its dimension is lower than that of the original quantization table. For example, a matrix with a size of... The quantization table can be expanded into a one-dimensional array containing 64 values.

[0020] Step S1022: Integrate and process the one-dimensional quantization information corresponding to each quantization table to obtain a global quantization table.

[0021] The integration process can involve sequentially concatenating multiple one-dimensional quantization information sets to obtain a global quantization table. This sequential concatenation can be achieved by joining the first and last elements of multiple one-dimensional quantization information sets to obtain a single one-dimensional quantization table summarizing all elements, or by re-concatenating the multiple one-dimensional quantization information sets according to row or column dimensions to form two-dimensional quantization information. For example, the multiple quantization tables include a Q0 table corresponding to the Y channel and a Q1 table corresponding to the Cb or Cr channel. The Q0 table is... The matrix, whose table identifier is "0", and Q1 is the table. The matrix is ​​identified by a table identifier of "1". The Q0 table is expanded into a one-dimensional array A0, containing 64 values, and the Q1 table is expanded into a one-dimensional array A1, also containing 64 values. Specifically, the one-dimensional arrays A0 and A1 can be concatenated along their row dimensions to obtain a global quantization table. This global quantization table takes the form: LUT[table identifier][coefficient position]. For example, LUT[0][5] represents the sixth value of one-dimensional array A0, and LUT[1][5] represents the sixth value of one-dimensional array A1. Therefore, during dequantization, a quick lookup can be performed in the global quantization table based on the table identifier and coefficient position to obtain the dequantization coefficients.

[0022] The second concatenation process can involve merging multiple encoding tables into at least one global decoding tree using a tree structure. This achieves multi-table concatenation and avoids frequent switching between different encoding tables during subsequent decoding. The global decoding tree can contain all valid information from the aforementioned multiple encoding tables and employ a tree structure (e.g., multi-way tree, prefix tree, etc.). During decoding, the corresponding symbol value can be quickly matched by traversing the tree nodes. It should be noted that the aforementioned multiple encoding tables can be merged into a single global decoding tree, or multiple encoding tables corresponding to different coefficient types can be distinguished and merged to obtain the global decoding tree corresponding to that coefficient type; this application does not impose any limitations on this.

[0023] Specifically, Figure 3 This is a flowchart illustrating a process for generating a global decoding tree, as provided in an embodiment of this application. Figure 3As shown, the specific implementation process of obtaining at least one global decoding tree by performing a second concatenation process on multiple encoding tables includes the following steps: Step S1023: Determine the multiple coding tables corresponding to different coefficient types from the multiple coding tables.

[0024] Since different color channels and coefficient types correspond to different encoding tables, and the original image decoding process needs to determine the channel type and coefficient type and switch to the corresponding encoding table, resulting in frequent switching, multiple encoding tables can be distinguished according to different coefficient types to generate corresponding global decoding trees. For example, multiple encoding tables may include DC0, AC0, DC1, and AC1. Depending on the preset color channel, the encoding table corresponding to the Y channel may include DC0 and AC0, and the encoding table corresponding to the Cb / Cr channel may include DC1 and AC1. The coefficient types can be divided into DC type and AC type; the encoding table corresponding to the DC type includes DC0 and DC1, and the encoding table corresponding to the AC type includes AC0 and AC1.

[0025] Step S1024: Integrate the multiple encoding tables corresponding to each coefficient type to obtain the corresponding global decoding tree. Each node in the global encoding tree is set with a table identifier.

[0026] The encoding table can be in a tree structure, such as a Huffman table, which uses a binary tree structure. Therefore, multiple encoding tables corresponding to each coefficient type can be merged to obtain the corresponding global decoding tree. For example, the encoding tables corresponding to the DC type include DC0 and DC1, and the encoding tables corresponding to the AC type include AC0 and AC1. Specifically, DC0 and DC1 can be merged into one global decoding tree, while AC0 and AC1 can be merged into another. Furthermore, each node in each global decoding tree can be assigned a table identifier to distinguish which original encoding table that node corresponds to.

[0027] It should be noted that steps S1023-S1024 and steps S1021-S1022 can be executed sequentially or in parallel, and this application does not impose any restrictions on them.

[0028] Step S103: Decode the encoded image based on the global quantization table and the global decoding tree to obtain the decoded image.

[0029] The decoding process involves restoring the encoded image to a decoded image, specifically involving entropy decoding, inverse quantization, and inverse transform. This decoded image is highly consistent with the original image in visual effect and pixel information, and can be directly used for subsequent operations such as display, editing, and storage.

[0030] As described above, by performing a first concatenation process on multiple quantization tables to obtain a global quantization table, and by performing a second concatenation process on multiple encoding tables to obtain at least one global decoding tree, it is possible to ensure the integrity of the original table parameters while unifying the decoding-related parameters, reducing the query and switching overhead of multi-table calls, improving the processing efficiency of image decoding, and adapting to the high-efficiency processing needs of massive image data.

[0031] Figure 4 A flowchart of another image decoding method provided in the embodiments of this application is shown below. Figure 4 As shown, the image decoding method specifically includes the following steps: Step S401: Obtain an image compression file, and extract an encoded image, multiple quantization tables, and multiple encoding tables from the image compression file. The encoded image includes multiple data blocks of preset size.

[0032] The encoded image may include multiple data blocks of preset sizes; for example, the image size is... It can be divided into indivual Data blocks.

[0033] Step S402: Perform a first concatenation process on multiple quantization tables to obtain a global quantization table, and perform a second concatenation process on multiple encoding tables to obtain at least one global decoding tree.

[0034] Step S403: Divide multiple data blocks into multiple data batches according to a preset batch number.

[0035] Specifically, the aforementioned multiple data blocks can be processed in batches according to the number of logical cores in the system. The preset batch number is consistent with the number of logical cores. For example, if there are two logical cores, the preset batch number can be 2. Accordingly, the aforementioned multiple data blocks can be divided into two data batches for parallel processing.

[0036] Step S404: Assign a corresponding logical core to each data batch, and use each logical core to decode the corresponding data batch based on the global quantization table and at least one global decoding tree to obtain the decoded result data.

[0037] Each data batch is assigned a corresponding logical core, which can independently decode its corresponding data batch to obtain the decoded result data.

[0038] Specifically, each logical core is equipped with a first thread, a second thread, and a third thread. The decoded result data includes the pixel information corresponding to each data block in the data batch. Each thread can be responsible for its corresponding decoding step and implement pipelined processing to improve the data block processing efficiency of that data batch.

[0039] Figure 5 A flowchart illustrating a process for performing decoding processing to obtain decoded result data, as provided in this application embodiment, is shown below. Figure 5 As shown, the specific implementation process of obtaining the decoded result data by decoding the corresponding data batches through each logical core based on the global quantization table and at least one global decoding tree includes the following steps: Step S4041: The first thread performs entropy decoding on each data block in the data batch based on at least one global decoding tree to obtain the quantization coefficient information corresponding to each data block.

[0040] The first thread can be used to perform entropy decoding of the data block, and its processing result can be passed to the subsequent second thread for further dequantization processing. Entropy decoding can be based on the mapping relationship of the global decoding tree to restore the binary encoded stream of the data block into the index or symbol information of the quantization coefficients, so as to eliminate the entropy redundancy introduced during the compression process.

[0041] Specifically, there are multiple global decoding trees. The first thread performs entropy decoding on each data block in the data batch based on at least one global decoding tree to obtain the quantization coefficient information corresponding to each data block. The specific implementation process is as follows: Determine the color channel type for each data block in the data batch, and determine the table identifier corresponding to the color channel type; Determine the target global decoding tree associated with the coefficient type corresponding to each data block from multiple global decoding trees; Based on the encoding table identifier and symbol index corresponding to each data block, the quantization coefficient information corresponding to each data block is determined from the corresponding target global decoding tree.

[0042] Taking the YCrCb color space as an example, its color channels can include Y channels, Cb channels, and Cr channels. With the encoding tables corresponding to the Y channels being DC0 and AC0, and the encoding tables corresponding to the Cb / Cr channels being DC1 and AC1, the table identifier for the Y channel is "0", and the table identifier for the Cb / Cr channel is "1". Furthermore, since different coefficient types correspond to different global decoding trees, the target global decoding tree can be determined based on the coefficient type of the currently processed data block. For example, the global decoding tree corresponding to the DC type is T1, and the global decoding tree corresponding to the AC type is T2. If the coefficient type of the currently processed data block is DC, and its encoding table identifier is 0, then the quantization coefficient information can be determined on the global decoding tree T1 based on (0, symbol index). This quantization coefficient information originates from the encoding table DC0. This quantization coefficient information can include the table identifier and the symbol value, which can be used to calculate the specific coefficient value later.

[0043] Step S4042: The second thread performs dequantization processing on the quantization coefficient information corresponding to each data block based on the global quantization table to obtain the transformation coefficient information corresponding to each data block.

[0044] The second thread can be used to perform dequantization processing on the data block. The result can be passed to a subsequent third thread for further inverse discrete cosine transform (ICD) processing. Dequantization, based on the quantization step size of the global quantization table, restores the quantization coefficients output by entropy decoding to the true transform coefficients; it is the inverse process of quantization during compression. The transform coefficients can be frequency domain coefficients reflecting the frequency characteristics of the data block.

[0045] Specifically, the quantization coefficient information includes table identifier and sign value. The second thread performs dequantization processing on the quantization coefficient information corresponding to each data block based on the global quantization table to obtain the transform coefficient information corresponding to each data block. The specific implementation process is as follows: Based on the sign value corresponding to each data block in the data batch, determine the current coefficient value and coefficient position corresponding to each data block; Based on the coefficient position and table identifier corresponding to each data block, the lookup value corresponding to each data block is determined from the global quantization table; The transformation coefficient information for each data block is calculated based on the current coefficient value and the lookup table value.

[0046] The symbol value, which is intermediate data with decoding semantics output by entropy decoding, can be used to extract the current coefficient value and coefficient position corresponding to the data block. Additionally, the obtained coefficient position and table identifier can be used as index information to query the global quantization table to locate the specific lookup value, which can be used to calculate the scaling factor of the transform coefficient information. Finally, multiplying the current coefficient value by the lookup value yields the transform coefficient information. For example, based on a symbol value corresponding to a data block, the current coefficient value is determined to be 7 and the coefficient position to be 5. The table identifier corresponding to this data block is "0". Taking the quantization table format as LUT[tableID][coefficient position] as an example, the obtained lookup value is LUT[0][5], and the final transform coefficient information is... .

[0047] Step S4043: Perform inverse discrete cosine transform on the transform coefficient information corresponding to each data block through the third thread to obtain the pixel information corresponding to each data block.

[0048] The inverse discrete cosine transform (ICD) process converts the transform coefficients in the frequency domain into pixel information in the spatial domain to reconstruct the spatial pixel distribution of the data block. Taking the YcrCb color space as an example, the pixel information can be the luminance (Y) value and the color difference (Cr / Cb) value.

[0049] Figure 6 This application provides a schematic diagram illustrating pipelined processing of multiple data blocks based on a first thread, a second thread, and a third thread, as shown in the embodiments of this application. Figure 6 As shown, the first thread performs entropy decoding, the second thread performs dequantization, and the third thread performs inverse discrete cosine transform. Taking time points t1, t2, t3, and t4 as examples, at time t1, the first thread processes data block 1; at time t2, the first thread processes data block 2, and the second thread processes data block 1; at time t3, the first thread processes data block 3, the second thread processes data block 2, and the third thread processes data block 1; at time t4, the first thread processes data block 4, the second thread processes data block 3, and the third thread processes data block 2. Thus, the first, second, and third threads alternately process data blocks, completing the entire decoding process in a pipelined manner, ensuring high utilization of the logic core.

[0050] Step S405: Integrate and process the decoding result data corresponding to each data batch to obtain the decoded image.

[0051] Each logic core can collect the decoding results data corresponding to each batch of data after processing. For example, multiple target data blocks after decoding can be stitched together according to their image positions to obtain the final decoded image.

[0052] As mentioned above, by using parallelization and pipelined processing, multi-core computing resources can be fully utilized to achieve high-throughput image decoding, improve the efficiency and scalability of image decoding, and make it suitable for scenarios involving rapid decompression and real-time processing of large-scale image data.

[0053] Figure 7 This is a structural block diagram of an image decoding apparatus provided in an embodiment of this application. The apparatus is configured to execute the image decoding method provided in the above embodiment, and has corresponding functional modules and beneficial effects for executing the method. For example... Figure 7 As shown, the device specifically includes: The information extraction module 701 is configured to acquire an image compressed file and extract an encoded image, multiple quantization tables, and multiple encoding tables from the image compressed file. The information combining module 702 is configured to perform a first combining process on multiple quantization tables to obtain a global quantization table, and perform a second combining process on multiple encoding tables to obtain at least one global decoding tree; The image decoding module 703 is configured to decode the encoded image based on a global quantization table and at least one global decoding tree to obtain a decoded image.

[0054] As described above, by performing a first concatenation process on multiple quantization tables to obtain a global quantization table, and by performing a second concatenation process on multiple encoding tables to obtain at least one global decoding tree, it is possible to ensure the integrity of the original table parameters while unifying the decoding-related parameters, reducing the query and switching overhead of multi-table calls, improving the processing efficiency of image decoding, and adapting to the high-efficiency processing needs of massive image data.

[0055] In one possible embodiment, the information combining module 702 is further configured as follows: Each quantization table is dimensionality reduced to obtain the corresponding one-dimensional quantization information; The one-dimensional quantization information corresponding to each quantization table is integrated and processed to obtain the global quantization table.

[0056] In one possible embodiment, the number of global decoding trees is multiple; The information combining module 702 is also configured as follows: Determine the multiple coding tables corresponding to different coefficient types from multiple coding tables; The corresponding global decoding tree is obtained by integrating multiple encoding tables corresponding to each coefficient type. Each node in the global encoding tree is set with a table identifier.

[0057] In one possible embodiment, the encoded image includes multiple data blocks of a preset size; The image decoding module 703 is also configured as follows: Multiple data blocks are divided into multiple data batches according to a preset batch number; Each data batch is assigned a corresponding logical core, and the corresponding data batch is decoded using each logical core based on a global quantization table and at least one global decoding tree to obtain the decoded result data. The decoded image is obtained by integrating and processing the decoding results data corresponding to each batch of data.

[0058] In one possible embodiment, each logical core is provided with a first thread, a second thread and a third thread, and the decoded result data includes pixel information corresponding to each data block in the data batch; The image decoding module 703 is also configured as follows: The first thread performs entropy decoding on each data block in the data batch based on at least one global decoding tree to obtain the quantization coefficient information corresponding to each data block. The second thread performs dequantization processing on the quantization coefficient information corresponding to each data block based on the global quantization table to obtain the transformation coefficient information corresponding to each data block. The third thread performs inverse discrete cosine transform on the transform coefficient information corresponding to each data block to obtain the pixel information corresponding to each data block.

[0059] In one possible embodiment, the number of global decoding trees is multiple; The image decoding module 703 is also configured as follows: Determine the color channel type for each data block in the data batch, and determine the table identifier corresponding to the color channel type; Determine the target global decoding tree associated with the coefficient type corresponding to each data block from multiple global decoding trees; Based on the encoding table identifier and symbol index corresponding to each data block, the quantization coefficient information corresponding to each data block is determined from the corresponding target global decoding tree.

[0060] In one possible embodiment, the quantization coefficient information includes a table identifier and a sign value; The image decoding module 703 is also configured as follows: Based on the sign value corresponding to each data block in the data batch, determine the current coefficient value and coefficient position corresponding to each data block; Based on the coefficient position and table identifier corresponding to each data block, the lookup value corresponding to each data block is determined from the global quantization table; The transformation coefficient information for each data block is calculated based on the current coefficient value and the lookup table value.

[0061] Figure 8 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application, such as... Figure 8 As shown, the device includes a processor 801, a memory 802, an input device 803, and an output device 804; the number of processors 801 in the device can be one or more. Figure 8 Taking a processor 801 as an example; the processor 801, memory 802, input device 803, and output device 804 in the device can be connected via a bus or other means. Figure 8 Taking a bus connection as an example, the memory 802, as a computer-readable storage medium, can be configured to store software programs, computer-executable programs, and modules, such as the program instructions / modules corresponding to the image decoding method in this embodiment. The processor 801 executes various functional applications and data processing of the device by running the software programs, instructions, and modules stored in the memory 802, thereby implementing the aforementioned image decoding method. The input device 803 can be configured to receive input digital or character information and generate key signal inputs related to user settings and function control of the device. The output device 804 may include a display screen or other display device.

[0062] The electronic device provided above can be used to execute the image decoding method provided in any of the above embodiments, and has the corresponding functions and beneficial effects.

[0063] This application also provides a non-volatile storage medium containing computer-executable instructions, which, when executed by a computer processor, are configured to perform an image decoding method described in the above embodiments, comprising: acquiring an image compression file; extracting an coded image, multiple quantization tables, and multiple encoding tables from the image compression file; performing a first concatenation process on the multiple quantization tables to obtain a global quantization table; and performing a second concatenation process on the multiple encoding tables to obtain at least one global decoding tree; and performing decoding processing on the coded image based on the global quantization table and the at least one global decoding tree to obtain a decoded image.

[0064] Storage medium – any type of memory device or storage device. The term “storage medium” is intended to include: mounting media, such as CD-ROM, floppy disk, or magnetic tape devices; computer system memory or random access memory, such as DRAM, DDR RAM, SRAM, EDO RAM, Rambus RAM, etc.; non-volatile memory, such as flash memory, magnetic media, or optical storage; registers or other similar types of memory elements, etc. Storage medium may also include other types of memory or combinations thereof. Furthermore, storage medium may reside in a first computer system in which the program is executed, or it may reside in a different second computer system connected to the first computer system via a network (such as the Internet). The second computer system can provide program instructions to the first computer for execution. The term “storage medium” may include two or more storage media residing in different locations (e.g., in different computer systems connected via a network). Storage medium may store program instructions (e.g., specifically implemented as a computer program) executable by one or more processors.

[0065] Of course, the computer-executable instructions provided in the embodiments of this application are not limited to the image decoding method described above, but can also perform related operations in the image decoding method provided in any embodiment of this application.

[0066] It is worth noting that in the above-described embodiments of the image decoding device, the various units and modules included are only divided according to functional logic, but are not limited to the above division, as long as the corresponding functions can be achieved; in addition, the specific names of each functional unit are only for easy differentiation and are not configured to limit the protection scope of the embodiments of this application.

[0067] It should be noted that the numbering of each step in this solution is only used to describe the overall design framework of this solution and does not indicate a necessary sequential relationship between the steps. As long as the overall implementation process conforms to the overall design framework of this solution, it falls within the protection scope of this solution. The order of the text in the description is not an exclusive limitation on the specific implementation process of this solution. Those skilled in the art should understand that the embodiments of this application can be provided as methods, systems, or computer program products. In a typical configuration, a computing device includes one or more processors (CPUs), input / output interfaces, network interfaces, and memory. Memory may include non-persistent memory in computer-readable media, random access memory (RAM), and / or non-volatile memory, such as read-only memory (ROM) or flash RAM. Memory is an example of computer-readable media.

[0068] It should also be noted that the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such process, method, article, or apparatus. Unless otherwise specified, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element.

[0069] Note that the above description is merely a preferred embodiment of the present invention and the technical principles employed. Those skilled in the art will understand that the present invention is not limited to the specific embodiments described herein, and various obvious changes, readjustments, and substitutions can be made without departing from the scope of protection of the present invention. Therefore, although the present invention has been described in detail through the above embodiments, the present invention is not limited to the above embodiments, and may include many other equivalent embodiments without departing from the concept of the present invention, the scope of which is determined by the scope of the appended claims.

Claims

1. An image decoding method, characterized in that, The method includes: Obtain an image compressed file, and extract an encoded image, multiple quantization tables, and multiple encoding tables from the image compressed file; The multiple quantization tables are first combined to obtain a global quantization table, and the multiple encoding tables are second combined to obtain at least one global decoding tree; The encoded image is decoded based on the global quantization table and the at least one global decoding tree to obtain the decoded image.

2. The image decoding method according to claim 1, characterized in that, The step of performing a first concatenation process on the multiple quantization tables to obtain a global quantization table includes: Each of the quantization tables is dimensionality-reduced to obtain the corresponding one-dimensional quantization information; The one-dimensional quantization information corresponding to each of the quantization tables is integrated and processed to obtain a global quantization table.

3. The image decoding method according to claim 1, characterized in that, The number of global decoding trees is multiple; The step of performing a second concatenation process on the multiple encoding tables to obtain at least one global decoding tree includes: Determine multiple coding tables corresponding to different coefficient types from the multiple coding tables; The multiple encoding tables corresponding to each coefficient type are integrated to obtain the corresponding global decoding tree, and each node in the global encoding tree is set with a table identifier.

4. The image decoding method according to claim 1, characterized in that, The encoded image includes multiple data blocks of preset sizes; The step of decoding the encoded image based on the global quantization table and the at least one global decoding tree to obtain the decoded image includes: The data blocks are divided into multiple batches according to a preset batch number to obtain multiple data batches; Each data batch is assigned a corresponding logical core, and the corresponding data batch is decoded using each logical core based on the global quantization table and the at least one global decoding tree to obtain the decoded result data. The decoded image is obtained by integrating and processing the decoding results data corresponding to each batch of data.

5. The image decoding method according to claim 4, characterized in that, Each of the aforementioned logical cores is equipped with a first thread, a second thread, and a third thread, and the decoding result data includes pixel information corresponding to each data block in the data batch; The step of decoding corresponding data batches using each of the logical cores based on the global quantization table and the at least one global decoding tree to obtain the decoded result data includes: The first thread performs entropy decoding on each data block in the data batch based on the at least one global decoding tree to obtain the quantization coefficient information corresponding to each data block. The second thread performs dequantization processing on the quantization coefficient information corresponding to each data block based on the global quantization table to obtain the transform coefficient information corresponding to each data block. The third thread performs inverse discrete cosine transform on the transform coefficient information corresponding to each data block to obtain the pixel information corresponding to each data block.

6. The image decoding method according to claim 5, characterized in that, The number of global decoding trees is multiple; The step of performing entropy decoding on each data block in the data batch based on the at least one global decoding tree by the first thread to obtain the quantization coefficient information corresponding to each data block includes: Determine the color channel type corresponding to each data block in the data batch, and determine the table identifier corresponding to the color channel type; Determine the target global decoding tree associated with the coefficient type corresponding to each data block from among the multiple global decoding trees; Based on the encoding table identifier and symbol index corresponding to each data block, the quantization coefficient information corresponding to each data block is determined from the corresponding target global decoding tree.

7. The image decoding method according to claim 5, characterized in that, The quantization coefficient information includes table identifier and symbol value; The step of performing dequantization processing on the quantization coefficient information corresponding to each data block based on the global quantization table by the second thread to obtain the transform coefficient information corresponding to each data block includes: Based on the sign value corresponding to each data block in the data batch, determine the current coefficient value and coefficient position corresponding to each data block; Based on the coefficient position and table identifier corresponding to each data block, the lookup value corresponding to each data block is determined from the global quantization table; The transformation coefficient information for each data block is calculated based on the current coefficient value and the lookup table value.

8. An image decoding device, characterized in that, include: The information extraction module is configured to acquire an image compressed file and extract an coded image, multiple quantization tables, and multiple encoding tables from the image compressed file. The information merging module is configured to perform a first merging process on the multiple quantization tables to obtain a global quantization table, and perform a second merging process on the multiple encoding tables to obtain at least one global decoding tree; The image decoding module is configured to perform decoding processing on the encoded image based on the global quantization table and the at least one global decoding tree to obtain a decoded image.

9. An electronic device, the electronic device comprising: One or more processors; A memory configured to store one or more programs that, when executed by one or more processors, cause the one or more processors to implement the image decoding method according to any one of claims 1-7.

10. A non-volatile storage medium storing computer-executable instructions, which, when executed by a computer processor, are configured to perform the image decoding method of any one of claims 1-7.