Image and video compression system based on GPU computing power

Through the GPU computing power image and video compression system, data processing and parallel processing technology are used to solve the problems of poor image continuity and noise impact of existing video compression methods at low bit rate, and achieve efficient and good quality video compression, adaptability Real-time storage and transmission requirements for high-resolution video.

CN119299717AInactive Publication Date: 2025-01-10JIANGSU HUIHANG DIGITAL TECHNOLOGY CO LTD

Patent Information

Application Number
CN202411312684.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-09-19
Publication Date
2025-01-10
Estimated Expiration
Not applicable · inactive patent

AI Technical Summary

Technical Problem

The existing video compression method has poor image continuity at low bitrate, and there are problems with contour and block effects. The traditional video interpolation method has poor effect when dealing with the movement of objects with large displacements, and noise affects the optical flow estimation results, which cannot meet the high Real-time storage and transmission requirements for resolution video.

Method used

Image and video compression systems that adopt GPU computing power, including data processing modules, parallel processing modules and block compression modules, reduce data redundancy through denoising, reducing resolution, color space conversion, discrete cosine transformation and entropy encoding technologies. and complexity, process multiple data blocks in parallel to improve compression efficiency.

Benefits of technology

It realizes efficient image and video compression, improves compression performance and quality, adapts to larger-scale data processing, makes energy utilization more efficient, and provides high-quality compression effects.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119299717A_ABST
    Figure CN119299717A_ABST
Patent Text Reader

Abstract

The invention relates to the technical field of image and video compression, in particular to an image and video compression system based on GPU computing power, which comprises a data processing module for preprocessing input image and video data, including operations of denoising, resolution reduction and color space conversion, and reducing data redundancy; the parallel processing module is used for capturing the preprocessed data, acquiring an image and video data set, dividing the image and video data set into a plurality of small blocks and distributing different blocks to different processing units; the block compression module is used for performing compression processing by taking data blocks as units, and each data block comprises a group of pixel data; and the quality evaluation module is used for evaluating the quality of the decompressed video. According to the method, the image and the video are compressed based on the GPU processor, a plurality of calculation tasks can be executed at the same time, the GPU is more efficient than a CPU when processing a large amount of data due to the parallel calculation capability, and the image and video compression speed can be increased.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of image and video compression, and in particular to an image and video compression system using GPU computing power. Background Art

[0002] With the widespread popularity of video applications such as digital high-definition television, digital stereoscopic television, network streaming media, wireless mobile video communication and high-definition video surveillance, there is a need to store and transmit massive video data. Uncompressed video will take up a huge storage space. With the development of liquid crystal technology, many 2K and 4K digital TVs are now on the market. The image resolution of 4K TV is 3840×2160. A 4K uncompressed picture has 23.73MB of data. If this digital TV uses a refresh rate of 60HZ per second, the minimum data transmission rate required is 1.39GB / S. The broadband transmission speed of ordinary households is often only 1 / 100-1 / 20 of this rate, and it is impossible to watch 4K video in real time. In addition, due to the large size of uncompressed images, the transmission time required is longer. Under the same channel conditions, the probability of errors during transmission will be higher. Therefore, video compression is extremely important for data storage and transmission.

[0003] There are two types of existing video compression methods. One is to remove spatial redundancy in video images by compressing a single video image, and the other is to remove temporal redundancy between video frames by video interpolation. Traditional image compression methods have poor image continuity at low bit rates, and will have obvious contour and block effect problems. In addition, the modules in traditional image compression methods are independent of each other. Traditional video interpolation methods include motion estimation and pixel synthesis. Traditional optical flow estimation methods do not produce ideal results when processing the motion of objects with large displacements, and the noise present in the input image will affect the results of optical flow estimation. Summary of the invention

[0004] The present invention aims at solving the technical problems existing in the prior art and provides an image and video compression system based on GPU computing power.

[0005] The technical solution of the present invention to solve the above technical problems is as follows: A GPU computing power image and video compression system, including: a data processing module, a parallel processing module, a block compression module and a quality assessment module:

[0006] Data processing module: pre-process the input image and video data, including denoising, reducing resolution and color space conversion to reduce data redundancy;

[0007] Parallel processing module: captures the preprocessed data, obtains image and video data sets, divides the image and video data sets into multiple small blocks, and assigns different blocks to different processing units;

[0008] Block compression module: compresses data blocks, each of which contains a set of pixel data;

[0009] Quality assessment module: assesses the quality of decompressed video.

[0010] In a preferred embodiment, the data processing module performs preprocessing on the input image and video data, including denoising, reducing resolution and color space conversion operations, reducing the redundancy and complexity of the image and video data through preprocessing, improving the effect of the subsequent compression algorithm, and removing noise in the image and video data through mean filtering. The input image is I, the output image is 0, and when the filter size is n×n, for each pixel point (x, y) in each image:

[0011]

[0012] Among them, (x, y) represents a coordinate point, x represents the horizontal coordinate, y represents the vertical coordinate, O(x, y) represents the output value at the coordinate point (x, y), n represents the window size, It is used to sum the pixel values ​​within the specified range. I(i, j) represents the pixel value at the coordinate point (i, j). x(n-1) / 2 to x+(n-1) / 2 represents the sum of the pixel values ​​within the specified range, i(i, j) represents the pixel value at the coordinate point (i, j). x(n-1) / 2 to x+(n-1) / 2 represents the sum of the pixel values ​​within the specified range, i(i, j) represents the pixel value at the coordinate point (i, j). x(n-1) / 2 to x+(n-1) / 2 represents the sum of the pixel values ​​within the specified range, i(i, j) represents the pixel value at the coordinate point (i, j). x(n-1) / 2 to x+(n-1) / 2 represents the sum of the pixel values ​​within the specified range, i(i, j) represents the pixel value at the coordinate point (i, j). y-(n-1) / 2 to y+(n-1) / 2 represents the sum of the pixel values ​​within the specified range, i(i, j) represents the pixel value at the coordinate point (i, j). y) represents the pixel value at the coordinate (Mx, My) in the original image. The image color space is converted by the conversion matrix, and the RGB image is converted into a YUV image, which can improve the compression ratio. By reducing the resolution of color information, the amount of data can be reduced and storage space can be saved. The conversion matrix can be specifically expressed as: Y=0.299*R+0.587*G+0.114*BU=(BY)*0.565V=(RY)*0.713, where 0.565 and 0.713 represent the coefficients of scaling the chrominance components.

[0013] In a preferred embodiment, the parallel processing module includes several processing units and several data blocks. The preprocessed image and video data sets are divided into several data blocks, and different data blocks are assigned to different processing units for parallel processing. When each processing unit processes the current data block, it pre-fetches the next data block into the shared memory to reduce the delay of data transmission. Multiple processing units perform computing operations when processing the current data block.

[0014] In a preferred embodiment, the block compression module performs compression processing in units of data blocks, each data block contains a group of pixel data, a discrete cosine transform is performed on each data block to obtain a frequency domain coefficient, a quantization operation is performed on the frequency domain coefficient to reduce the accuracy of the coefficient to achieve a compression effect, an entropy coding method is used to encode the quantized coefficient to reduce the size of the data, and a discrete cosine transform is used to reduce redundant information. The specific calculation formula is:

[0015] F(u, v)=C(u)*C(v)*∑[∑[f(x, y)*cos((2x+1)uπ / 2N)*cos((2y+1)vπ / 2N)]]

[0016] Among them, F(u, v) represents the frequency component at position (u, v) in the frequency domain, C(u) and C(v) are used to normalize the DCT transform results, ∑[∑[f(x, y)*cos((2x+1)uπ / 2N) represents the corresponding summation operation, the outer ∑ represents the summation of x from 0 to N-1, the inner ∑ represents the summation of y from 0 to N-1, f(x, y) represents the pixel value at position (x, y) in the original image, cos((2x+1)uπ / 2N) and os((2y+1)vπ / 2N) are used to perform frequency decomposition of the pixel value in the spatial domain, and the two cosine functions are used to fit the sine wave, and the transformed coefficients are quantized, the detailed information of the high-frequency part is discarded, and the low-frequency part is retained. The discrete cosine transform coefficients are quantized using the quantization table. The specific calculation formula for quantization is as follows:

[0017] Q(i,j)=round(F(i,j) / S(i,j)*QF)

[0018] Among them, F(i, j) represents the transformed DCT coefficient, S(i, j) is the standardized quantization matrix, QF is the quantization factor, the quantized coefficient is entropy encoded to reduce the storage space of the data, the quantized coefficient symbol is mapped to an interval, and the size of the interval is adjusted according to the frequency of occurrence of the symbol. The specific steps are as follows:

[0019] S1, initialization interval, set the initial interval to [0, 1);

[0020] S2, update interval, update the interval of the quantized coefficient according to its frequency of occurrence. When the current symbol is s, its cumulative probability range in the probability distribution is [low(s), high(s));

[0021] S3. According to the cumulative probability range of the current symbol and the size of the current interval, the update interval is:

[0022] low_new=low+(high-low)*low(s)

[0023] high_new=low+(high-low)*high(s)

[0024] Where low represents the low value of the original range, high represents the high value of the original range, low_new represents the lower value of the converted range, high_new represents the higher value of the converted range, low(s) and high(s) are scalar values ​​between 0 and 1, representing the normalized coefficients;

[0025] S4, reducing the interval. After all symbols are updated, the interval may be insufficient to represent the next input symbol, so the interval is reduced.

[0026] S5, multiply the left boundary of the interval by 2, and multiply the right boundary of the interval by 2-1;

[0027] S6. If the left boundary of the interval is ≥ 0.5, then subtract 0.5 from the left boundary of the interval and discard the decimal part, and subtract 0.5 from the right boundary of the interval and discard the decimal part;

[0028] S7. When the interval is reduced to a certain extent, the code is output, and the code is expressed in binary form of the interval.

[0029] In a preferred embodiment, the quality assessment module assesses the quality of the decompressed video, and uses the brightness, contrast and structure of the image to assess the quality of the image and video in combination with the biological characteristics of the human eye that is sensitive to the structural features of the object, so as to be close to the actual viewing experience of the human eye on the image, and ensure that the final evaluation result is consistent with the viewing experience of the human eye. The specific calculation formula for quality assessment is as follows:

[0030]

[0031] Among them, S1, S2 and S3 are constant values ​​between 0 and 1, x and y represent the distorted image and the original undistorted image respectively, μ x μ y Represents the average value of x and y pixel values, δ x δ yRepresents the autocorrelation coefficients of x and y pixel values, respectively, and the corresponding δ xy Represents the mutual correlation coefficient of the pixel values ​​in the two types of images, where the value range of Z(x, y) falls between 0 and 1, and the value of Z(x, y) is close to 1, indicating that the quality of image x is high and the distortion is small.

[0032] The beneficial effects of the present invention are as follows: the present invention compresses images and videos based on a GPU processor and can execute multiple computing tasks at the same time. This parallel computing capability makes the GPU more efficient than the CPU when processing large amounts of data, and can speed up the compression of images and videos. The parallel computing capability of the GPU can encode multiple data blocks at the same time, thereby improving the compression efficiency and achieving higher compression performance. This scalability enables the system to adapt to processing larger-scale image and video data and utilize energy more effectively. The GPU consumes less energy than the CPU under the same computing amount and can provide high-quality compression effects. BRIEF DESCRIPTION OF THE DRAWINGS

[0033] Figure 1 A flowchart of an image and video compression system using GPU computing power;

[0034] Figure 2 The figure is a structural block diagram of an image and video compression system based on GPU computing power. DETAILED DESCRIPTION

[0035] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those skilled in the art without creative work are within the scope of protection of this application.

[0036] In the description of this application, the terms "first" and "second" are used for descriptive purposes only and should not be understood as indicating or implying relative importance or implicitly indicating the number of technical features indicated. Thus, a feature defined as "first" or "second" may explicitly or implicitly include one or more of the features. In the description of this application, "plurality" means two or more, unless otherwise clearly and specifically defined.

[0037] In the description of the present application, the term "for example" is used to mean "used as an example, illustration or description". Any embodiment described as "for example" in the present application is not necessarily to be construed as being more preferred or advantageous than other embodiments. The following description is given to enable any technician in the field to implement and use the present invention. In the following description, details are listed for the purpose of explanation. It should be understood that a person of ordinary skill in the art can recognize that the present invention can be implemented without using these specific details. In other examples, well-known structures and processes will not be elaborated in detail to avoid unnecessary details to obscure the description of the present invention. Therefore, the present invention is not intended to be limited to the embodiments shown, but is consistent with the widest scope consistent with the principles and features disclosed in the present application.

[0038] Example 1

[0039] like Figure 1-2 ,This embodiment provides an image and video compression system based on GPU computing power, including: a data processing module, a parallel processing module, a block compression module and a quality assessment module;

[0040] Data processing module: pre-process the input image and video data, including denoising, reducing resolution and color space conversion to reduce data redundancy;

[0041] Parallel processing module: captures the preprocessed data, obtains image and video data sets, divides the image and video data sets into multiple small blocks, and assigns different blocks to different processing units;

[0042] Block compression module: compresses data blocks, each of which contains a set of pixel data;

[0043] Quality assessment module: assesses the quality of decompressed video.

[0044] In this embodiment, it is necessary to specifically explain the data processing module, which performs preprocessing on the input image and video data, including denoising, reducing resolution, and color space conversion operations. The redundancy and complexity of the image and video data are reduced through preprocessing, and the effect of the subsequent compression algorithm is improved. The noise in the image and video data is removed through mean filtering. The input image is I, and the output image is 0. When the filter size is n×n, for each pixel point (x, y) in each image:

[0045]

[0046] Among them, (x, y) represents a coordinate point, x represents the horizontal coordinate, y represents the vertical coordinate, O(x, y) represents the output value at the coordinate point (x, y), n represents the window size, It is used to sum the pixel values ​​within the specified range. I(i, j) represents the pixel value at the coordinate point (i, j). x(n-1) / 2 to x+(n-1) / 2 represents the sum of the pixel values ​​within the specified range, i(i, j) represents the pixel value at the coordinate point (i, j). x(n-1) / 2 to x+(n-1) / 2 represents the sum of the pixel values ​​within the specified range, i(i, j) represents the pixel value at the coordinate point (i, j). x(n-1) / 2 to x+(n-1) / 2 represents the sum of the pixel values ​​within the specified range, i(i, j) represents the pixel value at the coordinate point (i, j). x(n-1) / 2 to x+(n-1) / 2 represents the sum of the pixel values ​​within the specified range, i(i, j) represents the pixel value at the coordinate point (i, j). y-(n-1) / 2 to y+(n-1) / 2 represents the sum of the pixel values ​​within the specified range, i(i, j) represents the pixel value at the coordinate point (i, j). y) represents the pixel value at the coordinate (Mx, My) in the original image. The image color space is converted by the conversion matrix, and the RGB image is converted into a YUV image, which can improve the compression ratio. By reducing the resolution of color information, the amount of data can be reduced and storage space can be saved. The conversion matrix can be specifically expressed as: Y=0.299*R+0.587*G+0.114*BU=(BY)*0.565V=(RY)*0.713, where 0.565 and 0.713 represent the coefficients of scaling the chrominance components.

[0047] It should be noted that 0.299 represents the weight coefficient of the red channel (R) when calculating the brightness (Y), which represents the relative intensity of red in human eye perception, 0.587 represents the weight coefficient of the green channel (G) when calculating the brightness (Y), which represents the relative intensity of green in human eye perception, and 0.114 represents the weight coefficient of the blue channel (B) when calculating the brightness (Y), which represents the relative intensity of blue in human eye perception.

[0048] In this embodiment, what needs to be specifically explained is the parallel processing module, which includes a plurality of processing units and a plurality of data blocks. The preprocessed image and video data sets are divided into a plurality of data blocks, and different data blocks are assigned to different processing units for parallel processing. When each processing unit processes the current data block, it pre-fetches the next data block into the shared memory to reduce the delay of data transmission. When multiple processing units process the current data block, they perform computing operations.

[0049] In this embodiment, it is necessary to specifically explain the block compression module, which performs compression processing in units of data blocks. Each data block contains a group of pixel data. Discrete cosine transform is performed on each data block to obtain frequency domain coefficients. The frequency domain coefficients are quantized to reduce the accuracy of the coefficients to achieve a compression effect. The quantized coefficients are encoded using an entropy coding method to reduce the size of the data. The redundant information is reduced by discrete cosine transform. The specific calculation formula is:

[0050] F(u, v)=C(u)*C(v)*∑[∑[f(x, y)*cos((2x+1)uπ / 2N)*cos((2y+1)vπ / 2N)]]

[0051] Among them, F(u, v) represents the frequency component at position (u, v) in the frequency domain, C(u) and C(v) are used to normalize the DCT transform results, ∑[∑[f(x, y)*cos((2x+1)uπ / 2N) represents the corresponding summation operation, the outer ∑ represents the summation of x from 0 to N-1, the inner ∑ represents the summation of y from 0 to N-1, f(x, y) represents the pixel value at position (x, y) in the original image, cos((2x+1)uπ / 2N) and os((2y+1)vπ / 2N) are used to perform frequency decomposition of the pixel value in the spatial domain, and the two cosine functions are used to fit the sine wave, and the transformed coefficients are quantized, the detailed information of the high-frequency part is discarded, and the low-frequency part is retained. The discrete cosine transform coefficients are quantized using the quantization table. The specific calculation formula for quantization is as follows:

[0052] Q(i,j)=round(F(i,j) / S(i,j)*QF)

[0053] Among them, F(i, j) represents the transformed DCT coefficient, S(i, j) is the standardized quantization matrix, QF is the quantization factor, the quantized coefficient is entropy encoded to reduce the storage space of the data, the quantized coefficient symbol is mapped to an interval, and the size of the interval is adjusted according to the frequency of occurrence of the symbol. The specific steps are as follows:

[0054] S1, initialization interval, set the initial interval to [0, 1);

[0055] S2, update interval, update the interval of the quantized coefficient according to its frequency of occurrence. When the current symbol is s, its cumulative probability range in the probability distribution is [low(s), high(s));

[0056] S3. According to the cumulative probability range of the current symbol and the size of the current interval, the update interval is:

[0057] low_new=low+(high-low)*low(s)

[0058] high_new=low+(high-low)*high(s)

[0059] Among them, low represents the low value of the original range, high represents the high value of the original range, low_new represents the lower value of the converted range, high_new represents the higher value of the converted range, low(s) and high(s) are scalar values ​​between 0 and 1, representing the normalized coefficients:

[0060] S4, reducing the interval. After all symbols are updated, the interval may be insufficient to represent the next input symbol, so the interval is reduced.

[0061] S5, multiply the left boundary of the interval by 2, and multiply the right boundary of the interval by 2-1;

[0062] S6. If the left boundary of the interval is ≥ 0.5, then subtract 0.5 from the left boundary of the interval and discard the decimal part, and subtract 0.5 from the right boundary of the interval and discard the decimal part;

[0063] S7. When the interval is reduced to a certain extent, the code is output, and the code is expressed in binary form of the interval.

[0064] In this embodiment, it is necessary to specifically explain the quality assessment module, which assesses the quality of the decompressed video, combines the biological characteristics of the human eye that is sensitive to the structural features of objects, and uses the brightness, contrast and structure of the image to assess the quality of the image and video, close to the actual viewing experience of the human eye, to ensure that the final evaluation result is consistent with the viewing experience of the human eye. The specific calculation formula for quality assessment is as follows:

[0065]

[0066] Among them, S1, S2 and S3 are constant values ​​between 0 and 1, x and y represent the distorted image and the original undistorted image respectively, μ x μ y Represents the average value of x and y pixel values, δ x δ y Represents the autocorrelation coefficients of x and y pixel values, corresponding to 6 xy Represents the mutual correlation coefficient of the pixel values ​​in two types of images, where the value range of Z(x, y) falls between 0 and 1, and the value of Z(x, y) approaches 1, indicating that the better the quality of image x, the smaller the distortion.

[0067] It should be noted that the DCT formula represents that in a given N×N block, the grayscale value of each pixel is weighted and summed with the product of a set of cosine functions to obtain the frequency components in the frequency domain. These frequency components can be used to represent the information of different spatial frequencies in the image. By properly compressing and encoding these frequency domain coefficients, image compression and reconstruction can be achieved.

[0068] It should be noted that the specific steps for decompression are as follows:

[0069] S1, decompress the compressed data to restore the quantized coefficients;

[0070] S2, performing an inverse quantization operation on the decompressed coefficients to restore the coefficients to a higher precision;

[0071] S3, perform inverse discrete cosine transform to restore the frequency domain coefficients to image and video data in the spatial domain. The specific calculation formula is as follows:

[0072] f(x,y)=∑[∑[F(u,v)*C(u)*C(v)*cos((2x+1)uπ / 2N)*cos((2y+1)vu / 2N)]]

[0073] Among them, F(u, v) represents the coefficient after inverse quantization, C(u) and C(v) are normalized coefficients, and the pixels at the corresponding positions are obtained by summing the coefficients in each block.

[0074] It should be noted that in the above embodiments, the description of each embodiment has its own emphasis, and for parts that are not described in detail in a certain embodiment, reference can be made to the relevant descriptions of other embodiments.

[0075] Those skilled in the art will appreciate that embodiments of the present invention may be provided as methods, systems, or computer program products. Therefore, the present invention may take the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware. Moreover, the present invention may take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0076] The present invention is described with reference to flowcharts and / or block diagrams of methods, devices (systems), and computer program products according to embodiments of the present invention. It should be understood that each process and / or block in the flowchart and / or block diagram, as well as the combination of processes and / or blocks in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded computer, or other programmable data processing device to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.

[0077] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.

[0078] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for implementing the process in the computer or other programmable device. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps for the functions specified in one or more boxes.

[0079] Although the preferred embodiments of the present invention have been described, those skilled in the art may make other changes and modifications to these embodiments once they have learned the basic creative concept. Therefore, the appended claims are intended to be interpreted as including the preferred embodiments and all changes and modifications that fall within the scope of the present invention.

[0080] Obviously, those skilled in the art can make various changes and modifications to the present invention without departing from the spirit and scope of the present invention. Thus, if these modifications and variations of the present invention fall within the scope of the claims of the present invention and their equivalents, the present invention is also intended to include these modifications and variations.

Claims

1. A GPU computing power image and video compression system, characterized in that: include: Data processing module: pre-process the input image and video data, including denoising, reducing resolution and color space conversion to reduce data redundancy; Parallel processing module: captures the preprocessed data, obtains image and video data sets, divides the image and video data sets into multiple small blocks, and assigns different blocks to different processing units; Block compression module: compresses data blocks, each of which contains a set of pixel data; Quality assessment module: assesses the quality of decompressed video.

2. The GPU computing power image and video compression system according to claim 1, characterized in that: The data processing module performs preprocessing on the input image and video data, including denoising, reducing resolution and color space conversion operations. The preprocessing reduces the redundancy and complexity of the image and video data, improves the effect of the subsequent compression algorithm, and removes noise in the image and video data by mean filtering. The input image is I, and the output image is 0. When the filter size is n×n, for each pixel point (x, y) in each image: Among them, (x, y) represents a coordinate point, x represents the horizontal coordinate, y represents the vertical coordinate, O(x, y) represents the output value at the coordinate point (x, y), n represents the window size, Used to sum the pixel values ​​within a specified range. I(i, j) represents the pixel value at the coordinate point (i, j). x(n-1) / 2 to x+(n-1) / 2 represents the sum of the pixel values ​​within the specified range, i(i, j) represents the pixel value at the coordinate point (i, j). x(n-1) / 2 to x+(n-1) / 2 represents the sum of the pixel values ​​within the window range around the point, and the sum of the pixel values ​​within the window range around the point is divided by the square of the window size to obtain the output value of the point.

3. The image and video compression system based on GPU computing power according to claim 2, characterized in that 。 4. The image and video compression system based on GPU computing power according to claim 1, characterized in that: The resolution reduction is achieved by downsampling. When the downsampling multiple is M, the width and height of the original image are reduced by M times. For each pixel point (x, y) in the output image, 0 (x, y) = l(Mx, My), where l(Mx, My) represents the pixel value at the coordinate (Mx, My) in the original image. The image color space is converted by a conversion matrix to convert the RGB image into a YUV image, which can improve the compression ratio. By reducing the resolution of color information, the amount of data can be reduced and storage space can be saved. The conversion matrix can be specifically expressed as: Y = 0.299*R + 0.587*G + 0.114*BU = (BY) * 0.565V = (RY) * 0.713, where 0.565 and 0.713 represent coefficients for scaling chromaticity components.

5. The GPU computing power image and video compression system according to claim 1, characterized in that: The parallel processing module includes several processing units and several data blocks. The preprocessed image and video data sets are divided into several data blocks, and different data blocks are assigned to different processing units for parallel processing. When each processing unit processes the current data block, it pre-fetches the next data block into the shared memory to reduce the delay of data transmission. Multiple processing units perform calculation operations when processing the current data block.

6. The GPU computing power image and video compression system according to claim 1, characterized in that: The block compression module performs compression processing in units of data blocks. Each data block contains a group of pixel data. Discrete cosine transform is performed on each data block to obtain frequency domain coefficients. The frequency domain coefficients are quantized to reduce the accuracy of the coefficients to achieve the compression effect. The quantized coefficients are encoded using an entropy coding method to reduce the size of the data. The redundant information is reduced by discrete cosine transform. The specific calculation formula is: F(u, v)=C(u)*C(v)*∑[∑[f(x, y)*cos((2x+1)u π / 2N)*coS((2y+1)v π / 2N)]] Among them, F(u, v) represents the frequency component at position (u, v) in the frequency domain, C(u) and C(v) are used to normalize the DCT transform results, ∑[∑[f(x, y)*cos((2x+1)uπ / 2N) represents the corresponding summation operation, the outer ∑ represents the summation of x from 0 to N-1, and the inner ∑ represents the summation of y from 0 to N-1, f(x, y) represents the pixel value at position (x, y) in the original image, cos((2x+1)uπ / 2N) and os((2y+1)v π / 2N) are used to perform frequency decomposition of pixel values ​​in the spatial domain, and the two cosine functions are used to fit the sine wave.

7. The GPU computing power image and video compression system according to claim 6, characterized in that: The frequency domain coefficients are quantized, the transformed coefficients are quantized, the detailed information of the high-frequency part is discarded, the low-frequency part is retained, and the discrete cosine transform coefficients are quantized using a quantization table. The specific calculation formula for quantization is as follows: Q(i,j)=round(F(i,j) / S(i,j)*QF) Among them, F(i, j) represents the transformed DCT coefficient, S(i, j) is the standardized quantization matrix, and QF is the quantization factor.

8. The GPU computing power image and video compression system according to claim 6, characterized in that: The entropy coding method is used to encode the quantized coefficients to reduce the storage space of the data, map the quantized coefficient symbols into an interval, and adjust the size of the interval according to the frequency of occurrence of the symbols. The specific steps are as follows: S1, initialization interval, set the initial interval to [0, 1); S2, update interval, update the interval of the quantized coefficient according to its frequency of occurrence. When the current symbol is s, its cumulative probability range in the probability distribution is [low(s), high(s)); S3. According to the cumulative probability range of the current symbol and the size of the current interval, the update interval is: low_new=low+(high-low)*low(s) high_new=low+(high-low)*high(s) Where low represents the low value of the original range, high represents the high value of the original range, low_new represents the lower value of the converted range, high_new represents the higher value of the converted range, low(s) and high(s) are scalar values ​​between 0 and 1, representing the normalized coefficients; S4, reducing the interval. After all symbols are updated, the interval may be insufficient to represent the next input symbol, so the interval is reduced. S5, multiply the left boundary of the interval by 2, and multiply the right boundary of the interval by 2-1; S6. If the left boundary of the interval is ≥ 0.5, then subtract 0.5 from the left boundary of the interval and discard the decimal part, and subtract 0.5 from the right boundary of the interval and discard the decimal part; S7. When the interval is reduced to a certain extent, the code is output, and the code is expressed in binary form of the interval.

9. The GPU computing power image and video compression system according to claim 1, characterized in that: The quality assessment module assesses the quality of the decompressed video, and uses the brightness, contrast and structure of the image to assess the quality of the image and video, combining the biological characteristics of the human eye that is sensitive to the structural features of objects, so as to be close to the actual viewing experience of the human eye on the image, and ensure that the final evaluation result is consistent with the viewing experience of the human eye. The specific calculation formula for quality assessment is as follows: Among them, S1, S2 and S3 are constant values ​​between 0 and 1, x and y represent the distorted image and the original undistorted image respectively, μ x μ y Represents the average value of x and y pixel values, δ x δ y Represents the autocorrelation coefficients of x and y pixel values, respectively, and the corresponding δ xy Represents the mutual correlation coefficient of the pixel values ​​in the two types of images, where the value range of Z(x, y) falls between 0 and 1, and the value of Z(x, y) is close to 1, indicating that the quality of image x is high and the distortion is small.

Citation Information

Patent Citations

  • Character-type message compression method

    CN102811113A

  • Image compression method based on all phase discrete sine double orthogonal transformation and system

    CN105847800A

  • Method, device, equipment and system for selecting optimal quantization parameter during image compression

    CN111182301A

  • Video coding method and device, parallel computing unit and electronic equipment

    CN115834893A

  • Lossless data compression method based on Transform encoder

    CN116961672A

Cited By

  • Image processing method and device, electronic equipment and storage medium

    CN121305124A