Data processing method, device and equipment, readable storage medium and program product
By correcting the distortion-affected parameters in video encoding, the problem of low accuracy of distortion-affected parameters is solved, and the video encoding effect is improved and the bit rate saving is achieved.
Patent Information
- Application Number
- CN202311838250.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-12-28
- Publication Date
- 2025-07-01
AI Technical Summary
In the prior art, distortion affects parameters with low accuracy, resulting in a decrease in video encoding effect, including reducing video quality and generating waste of code rate.
By determining the initial distortion influence parameters of the target image block to be encoded and the reference distortion influence parameters of the adjacent image block, combining image noise calculation and adjustment weight, correcting the initial distortion influence parameters, and then determining the target distortion influence parameters and quantizing the adjustment parameters, and adjusting the encoding code rate.
Improve the accuracy of distortion affecting parameters, ensure the improvement of video encoding effect, and achieve the saving of code rate.
Smart Images

Figure CN120238651A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of computer technologies, and particularly to a data processing method, a data processing device, a computer device, a computer-readable storage medium, and a computer program product. Background Art
[0002] With the rapid development of multimedia technologies, more and more video services are implemented based on the Internet, enabling users to download and play video streams provided by video services through the Internet. In video services, in order to ensure a good video viewing experience, bitrate control at the block level is usually performed on video streams.
[0003] Currently, it is necessary to estimate the influence degree of a reference image block on the coding distortion of a current image block to obtain a distortion influence parameter of the current image block, and then use the distortion influence parameter to adjust the coding bitrate of the current image block. However, affected by some factors, the obtained distortion influence parameter is prone to deviation, resulting in low accuracy of the distortion influence parameter. Using a distortion influence parameter with a large deviation to adjust the coding bitrate will reduce the video coding effect, such as reducing video quality and causing bitrate waste.
[0004] Therefore, how to improve the accuracy of the distortion influence parameter and ensure the video coding effect is an urgent problem to be solved currently. Summary of the Invention
[0005] The present application provides a data processing method, device, equipment, readable storage medium, and program product, which can improve the accuracy of the distortion influence parameter and ensure the video coding effect.
[0006] In a first aspect, the present application provides a data processing method, which includes:
[0007] Determine an initial distortion influence parameter of a target image block of an image to be encoded, and determine a reference distortion influence parameter of an adjacent image block of the target image block; the initial distortion influence parameter is used to indicate the influence degree of a reference image block corresponding to the target image block on the coding distortion of the target image block;
[0008] Determine an adjustment weight corresponding to the target image block and an adjustment weight corresponding to the adjacent image block according to the image noise of multiple image blocks in the image to be encoded;
[0009] Determine a target distortion influence parameter of the target image block according to the initial distortion influence parameter, the adjustment weight corresponding to the target image block, the reference distortion influence parameter, and the adjustment weight corresponding to the adjacent image block;
[0010] Determine the target quantization adjustment parameter of the target image block according to the above initial distortion influence parameter and the above target distortion influence parameter; the above target quantization adjustment parameter is used to adjust the coding bit rate of the above target image block.
[0011] On the other hand, the present application provides a data processing device, which includes:
[0012] A first processing module, configured to determine the initial distortion influence parameter of the target image block of the image to be encoded, and determine the reference distortion influence parameter of the adjacent image block of the above target image block; the above initial distortion influence parameter is used to indicate the influence degree of the reference image block corresponding to the above target image block on the coding distortion of the above target image block;
[0013] A weight calculation module, configured to determine the adjustment weight corresponding to the above target image block and the adjustment weight corresponding to the above adjacent image block according to the image noise of multiple image blocks in the above image to be encoded;
[0014] A second processing module, configured to determine the target distortion influence parameter of the above target image block according to the above initial distortion influence parameter, the adjustment weight corresponding to the above target image block, the above reference distortion influence parameter, and the adjustment weight corresponding to the above adjacent image block;
[0015] An adjustment module, configured to determine the target quantization adjustment parameter of the above target image block according to the above initial distortion influence parameter and the above target distortion influence parameter; the above target quantization adjustment parameter is used to adjust the coding bit rate of the above target image block.
[0016] Correspondingly, the present application provides a computer device, including: a processor, a storage device, and a communication interface, the above processor, the above communication interface, and the above storage device are interconnected, wherein, the above storage device stores executable program code, and the above processor is used to call the above executable program code to implement the above data processing method.
[0017] Correspondingly, the present application provides a computer-readable storage medium, the above computer-readable storage medium stores a computer program, the above computer program includes program instructions, and the above program instructions are executed by a processor to implement the above data processing method.
[0018] Correspondingly, the present application provides a computer program product, the above computer program product includes a computer program or computer instructions, and the above computer program or computer instructions are executed by a processor to implement the above data processing method.
[0019] In the embodiment of the present application, the initial distortion influence parameter of the target image block of the image to be encoded is determined. Since the accuracy of the initial distortion influence parameter is relatively low, the reference distortion influence parameter of the adjacent image block of the target image block is further determined. According to the image noise of multiple image blocks in the image to be encoded, the adjustment weight corresponding to the target image block and the adjustment weight corresponding to the adjacent image block are determined. Through the adjustment weight corresponding to the target image block, the initial distortion influence parameter, the reference distortion influence parameter corresponding to the adjacent image block, and the adjustment weight, the target distortion influence parameter of the target image block is determined. The target distortion influence parameter is used to correct the deviation of the initial distortion influence parameter, thereby improving the accuracy of the distortion influence parameter. According to the initial distortion influence parameter and the target distortion influence parameter, the target quantization adjustment parameter of the target image block is determined, and the coding bit rate of the target image block is adjusted by using the target quantization adjustment parameter, thereby realizing bit rate control at the block level. By adaptively adjusting the quantization adjustment parameter for different image blocks, while ensuring the quality of the encoded video, a certain amount of bit rate savings is brought, thereby ensuring the video coding effect. BRIEF DESCRIPTION OF THE DRAWINGS
[0020] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the accompanying drawings required for the description of the embodiments will be briefly introduced below. Obviously, for those of ordinary skill in the art, other accompanying drawings can also be obtained based on these drawings without creative efforts.
[0021] Figure 1 It is a schematic diagram of the architecture of a data processing system provided by an exemplary embodiment of the present application;
[0022] Figure 2 It is a schematic flowchart of a data processing method provided by an exemplary embodiment of the present application;
[0023] Figure 3 It is a schematic flowchart of another data processing method provided by an exemplary embodiment of the present application;
[0024] Figure 4A It is a schematic diagram of the adjacent relationship of image blocks provided by an exemplary embodiment of the present application;
[0025] Figure 4B It is a schematic diagram of optimizing the distortion influence parameter through a time-domain filtering model provided by an exemplary embodiment of the present application;
[0026] Figure 4C It is a schematic diagram of a frame structure provided by an exemplary embodiment of the present application;
[0027] Figure 5 It is a schematic diagram of the structure of a data processing device provided by an exemplary embodiment of the present application;
[0028] Figure 6 It is a schematic structural diagram of a computer device provided by an exemplary embodiment of the present application. Detailed implementation manners
[0029] Next, the technical solutions in the embodiments of the present application will be clearly and completely described in conjunction with the accompanying drawings in the embodiments of the present application. Obviously, the described embodiments are only a part of the embodiments of the present application, rather than all the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without making creative efforts shall fall within the protection scope of the present application.
[0030] Before further elaborating on the embodiments of the present application, the nouns and terms involved in the embodiments of the present application are described. The nouns and terms involved in the embodiments of the present application are applicable to the following explanations.
[0031] Video coding refers to compressing a video signal to reduce the amount of data required to represent the video signal, so as to reduce the amount of data for transmission and storage, and also improve the transmission efficiency. Video coding is executed by the encoding end. The object of video coding is the video signal or the image sequence included in the video signal. The encoding end performs encoding processing on the image and sends the encoded encoding parameters to the decoding end. The decoding end performs decoding processing based on the encoding parameters to obtain the decoded video. The encoding of the video signal by the encoding end may include processes such as image partitioning, prediction, transformation, quantization, loop filtering, and entropy coding. Among them, the execution entity of video coding in the embodiments of the present application may refer to a server, specifically an encoder in the server.
[0032] A coding unit (CU) refers to dividing each image in the image sequence included in the video into non-overlapping image regions during the video coding process. The CU is the smallest coding unit in the Versatile Video Coding (VVC) standard, and the CU can be the basic unit for encoding an image. Among them, the image block (such as the target image block, etc.) in the embodiments of the present application may refer to the above CU, and the target image block may refer to any coding unit included in a video.
[0033] The distortion influence parameter (propagate) refers to the distortion influence value corresponding to an image block, which is used to indicate the degree of influence of the reference image block on the coding distortion of this image block. When the propagate value is large, it means that the distortion of the reference image block will greatly affect the coded image block, resulting in more transmitted distortion. The encoder needs to be more cautious when making coding decisions to minimize the transmission and accumulation of distortion. When the propagate value is small, it means that the distortion of the reference image block has little influence on the coded image block, and less distortion is transmitted. In the embodiments of the present application, since the distortion influence parameter of the image block is obtained through motion estimation, the accuracy is low. Therefore, by correcting the distortion influence parameter, the accuracy of the distortion influence parameter is improved, and the video coding effect is ensured.
[0034] The quantization coefficient (Quantization Parameter, QP), also known as the quantization parameter, is an important parameter in video coding, which is used to control the degree of image compression and the file size. During the video coding process, the image is divided into several blocks, and each block is quantized to achieve the purpose of compression. QP determines the quantization step size of the quantizer, that is, the size of the quantizer interval width. A larger QP value means a larger quantization step, resulting in more information loss, reducing the picture quality, and at the same time, a higher compression ratio can be obtained. On the contrary, a smaller QP value will result in a smaller quantization step, less information loss, improving the picture quality, but correspondingly, the compression ratio will also decrease. Therefore, QP is very important. By adjusting its value, a trade-off can be made between image quality and file size to meet different scenarios and requirements. Among them, the image block (such as the target image block, etc.) in the embodiments of the present application can refer to the above-mentioned CU, and the target image block can refer to any coding unit included in a video. The quantization adjustment parameter (such as the target quantization adjustment parameter) in the embodiments of the present application can refer to the adjustment value of the quantization coefficient, that is, delta_QP (which can also be denoted as ΔQP). The above quantization adjustment parameter can be further obtained through the distortion influence parameter. By superimposing the target quantization adjustment parameter on the original QP of the target image block, the purpose of adjusting the coding bit rate of the target image block can be achieved.
[0035] The embodiments of the present application can be applied to various fields or scenarios such as cloud computing, cloud Internet of Things, cloud gaming, artificial intelligence, vehicle-mounted, intelligent transportation, assisted driving, video coding, etc. Several typical fields or scenarios will be introduced below.
[0036] Cloud computing refers to the delivery and usage model of IT infrastructure, which means obtaining the required resources in a on-demand and easily scalable manner through the network; in a broad sense, cloud computing refers to the delivery and usage model of services, which means obtaining the required services in a on-demand and easily scalable manner through the network. Such services can be related to IT and software, the Internet, or other services. Cloud computing is the product of the development and integration of traditional computer and network technologies such as grid computing, distributed computing, parallel computing, utility computing, network storage technologies, virtualization, and load balance. With the development of the Internet, real-time data streams, and the diversification of connected devices, as well as the promotion of demands such as search services, social networks, mobile commerce, and open collaboration, cloud computing has developed rapidly. Different from the previous parallel distributed computing, the emergence of cloud computing will, in concept, drive a revolutionary change in the entire Internet model and enterprise management model.
[0037] Cloud storage is a new concept extended and developed from the concept of cloud computing. A distributed cloud storage system (hereinafter referred to as the cloud storage system) refers to a storage system that combines a large number of different types of storage devices (storage devices are also called storage nodes) in the network through cluster applications, grid technologies, and distributed file systems, and works together through application software or application interfaces to provide data storage and business access functions externally. This application can store data such as the image to be encoded and the distortion impact parameters corresponding to each image block in the cloud storage system. When the above different data needs to be used, it can be obtained from the cloud storage system, greatly improving the data acquisition speed.
[0038] Cloud Internet of Things (Cloud IOT) aims to connect the information sensed by sensing devices and the instructions received in the traditional Internet of Things into the Internet to truly achieve networking, and to achieve massive data storage and operation through cloud computing technology. Since the characteristic of the Internet of Things is the connection between things, and the current operating status of each "object" is sensed in real time, a large amount of data information will be generated in this process. How to summarize this information and how to screen useful information from the massive information for decision-making support in subsequent development have become key issues affecting the development of the Internet of Things. Therefore, the Internet of Things cloud based on cloud computing and cloud storage technologies has become a powerful support for Internet of Things technologies and applications.
[0039] Cloud gaming, also known as gaming on demand, is an online gaming technology based on cloud computing technology. Cloud gaming technology enables thin clients with relatively limited graphics processing and data computing capabilities to run high-quality games. In the cloud gaming scenario, the game does not run on the player's game terminal but on the cloud server. The cloud server renders the game scene into a video and audio stream and transmits it to the player's game terminal through the network. The player's game terminal does not need to have powerful graphics computing and data processing capabilities, but only needs to have basic streaming media playback capabilities and the ability to obtain the player's input instructions and send them to the cloud server.
[0040] Cloud conferencing is an efficient, convenient, and low-cost conferencing form based on cloud computing technology. Users only need to perform simple and easy operations through the Internet interface to quickly and efficiently synchronously share voice, data files, and videos with teams and customers around the world. The complex technologies such as data transmission and processing in the conference are operated by cloud conferencing service providers to help users. In the era of cloud conferencing, the transmission, processing, and storage of data are all processed by the computer resources of video conferencing manufacturers. Users no longer need to purchase expensive hardware and install cumbersome software at all. They only need to open a browser and log in to the corresponding interface to conduct efficient remote conferences, which have been widely applied in various fields such as transportation, transportation, finance, operators, education, and enterprises. There is no doubt that after video conferencing uses cloud computing, it has stronger attraction in terms of convenience, speed, and ease of use, and will surely stimulate the arrival of a new high tide of video conferencing applications. This application can be applied to the above cloud gaming and cloud conferencing scenarios. When there are corresponding business requirements, the method proposed in this application can adaptively adjust the block-level bit rate of the image blocks included in the video stream in cloud gaming and cloud conferencing, thereby improving the quality of the video stream.
[0041] This application will be described through the following embodiments.
[0042] Please refer to Figure 1 , which is a schematic diagram of the architecture of a data processing system provided by an exemplary embodiment of this application. The data processing system may specifically include a terminal device 101 and a server 102. Among them, the terminal device 101 and the server 102 are connected through a network, for example, through a local area network, a wide area network, a mobile Internet, etc.
[0043] The terminal device 101 is also referred to as a terminal, user equipment (UE), access terminal, user unit, mobile device, user terminal, wireless communication device, user agent, or user device. The terminal device can be a smart home appliance, a handheld device with wireless communication capabilities (such as a smartphone, a tablet computer), a computing device (such as a personal computer (PC)), a vehicle-mounted terminal, a smart voice interaction device, a wearable device, or other intelligent devices, etc., but is not limited thereto.
[0044] The server 102 can be an independent physical server, a server cluster or a distributed system composed of multiple physical servers, or a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, Content Delivery Network (CDN), and big data and artificial intelligence platforms.
[0045] In a possible implementation, the terminal device 101 can send a video acquisition request to the server 102, and the video acquisition request carries the identifier of the target video; the server 102 determines the target video according to the identifier carried in the video acquisition request, and for each image to be encoded in the target video, the server 102 performs bitrate adjustment at the block level (that is, for each image block in the image to be encoded).
[0046] Taking any image block (such as the target image block) in any image to be encoded in the target video as an example, the terminal device 101 first determines the initial distortion influence parameter of the target image block and the reference distortion influence parameter of the adjacent image blocks of the target image block; then, according to the image noise of multiple image blocks in the image to be encoded, it determines the adjustment weight corresponding to the target image block and the adjustment weight corresponding to the adjacent image blocks; then, it performs weighted calculation according to the initial distortion influence parameter, the adjustment weight corresponding to the target image block, the reference distortion influence parameter, and the adjustment weight corresponding to the adjacent image blocks to determine the target distortion influence parameter of the target image block; finally, according to the initial distortion influence parameter and the target distortion influence parameter, it determines the target quantization adjustment parameter of the target image block; the server 102 adjusts the encoding bitrate of the target image block through the target quantization adjustment parameter. Similarly, the server 102 can calculate the quantization adjustment parameter corresponding to each image block included in the target video through the above method, and adjusts the encoding bitrate of the target video based on the quantization adjustment parameters corresponding to each image block, thus realizing the bitrate control of video encoding.
[0047] In a possible implementation, the above method can be regarded as a pre - coding process for the target video. The server 102 can obtain the target quantization adjustment parameter (such as delta_QP) corresponding to the target image block through the above method. Then, the server can first determine the updated QP according to delta_QP and the original QP of the target image block. For example, the updated QP is obtained by adding delta_QP and QP. Then, in the subsequent formal coding process, the target image block is encoded based on the updated QP. The server 102 can determine the updated QP of each image block according to the above method, and then perform corresponding encoding processing on the target video based on the updated QP of each image block. Details are not described in this embodiment of the present application.
[0048] In a possible implementation, the architecture of the data processing system proposed in this application can further include a database. The database can be used to store data such as the target video of the image frame to be encoded. These data can be recorded in different database tables in the database. For example, the database can be a database provided in the server, that is, a database built - in or self - contained in the server; the database can also be an external database connected to the server, such as a cloud database (i.e., a database deployed in the cloud), which can be specifically deployed based on any one of private cloud, public cloud, hybrid cloud, edge cloud, etc., so that the functions emphasized by the cloud database are different.
[0049] Based on this, in a possible implementation, the server can obtain the target video from the database. For each image to be encoded in the target video, the server 102 calculates the updated QP of each image block in each image to be encoded in the target video through the above method, and then stores the updated QP of each image block (such as storing it in the database) to facilitate subsequent encoding processing of the target video. When there is a corresponding encoding requirement, the encoding party (the encoding party can refer to the above - mentioned server 102, or it can also refer to other servers or terminal devices) obtains the target video and the updated QP of each image block stored corresponding to the target video, and then performs corresponding encoding processing on the target video based on the updated QP of each image block.
[0050] More specifically, an encoder can be configured in the server, such as an x265 encoder (developed based on HEVC / H.265), an o266 encoder (developed based on VVC / H.266), etc. Then, the server can execute the above - mentioned data processing method through the configured encoder. Details are not described in this embodiment of the present application.
[0051] It should be understood that the schematic diagram of the system architecture described in the embodiments of the present application is for more clearly illustrating the technical solutions of the embodiments of the present application, and does not constitute a limitation on the technical solutions provided by the embodiments of the present application. For example, the data processing method provided by the embodiments of the present application can be executed not only by server 102, but also by other servers or server clusters that are different from server 102 and can communicate with terminal device 101 and / or server 102. As is known to those of ordinary skill in the art, Figure 1 the numbers of the terminal devices and servers in
[0052] Please refer to Figure 2 , which is a schematic flowchart of a data processing method provided by an exemplary embodiment of the present application. Taking the application of this method to a server as an example for illustration, specifically, it may refer to an encoder in the server. The server is connected to the terminal device. The method may include the following steps:
[0053] S201. Determine the initial distortion influence parameter of the target image block of the image to be encoded, and determine the reference distortion influence parameter of the adjacent image block of the target image block.
[0054] In a possible implementation manner, the image to be encoded may be any image in the video to be encoded, and the target image block may be any image block in the image to be encoded.
[0055] In a possible implementation manner, an image is usually divided into multiple image blocks (such as multiple CUs). The adjacent image block of the target image block may refer to the image block adjacent to the image to be encoded in the image to be encoded. For example, the adjacent image block may refer to the four image blocks adjacent to the target image block in the up, down, left, and right directions. Another example is that the adjacent image block may refer to the four image blocks in the up, down, left, and right of the target image block, and the four image blocks adjacent to the four diagonals of the target image block.
[0056] In a possible implementation, the initial distortion impact parameter of the target image block may refer to the distortion impact value corresponding to the target image block. The initial distortion impact parameter is used to indicate the degree of influence of the reference image block corresponding to the target image block on the coding distortion of the target image block. Similarly, the reference distortion impact parameter of the adjacent image block may refer to the distortion impact value corresponding to the adjacent image block. The reference distortion impact parameter is used to indicate the degree of influence of the reference image block corresponding to the adjacent image block on the coding distortion of the adjacent image block. For example, the distortion impact parameter may refer to the propagate parameter corresponding to the image block. When the value of the propagate parameter is large, it indicates that the distortion of the reference image block will greatly affect the coded image block (such as the target image block or the adjacent image block), resulting in more transmitted distortion. When the value of the propagate parameter is small, it indicates that the distortion of the reference image block has little impact on the coded image block (such as the target image block or the adjacent image block), and less transmitted distortion.
[0057] In a possible implementation, the distortion impact parameter of the image block (such as the initial distortion impact parameter of the target image block and the reference distortion impact parameter of the adjacent image block) may be calculated by the server for the distortion of the image block, or directly obtained by the server (the distortion calculation is performed by other servers or terminal devices).
[0058] In the embodiments of the present application, since the distortion impact parameter is prone to deviation due to reasons such as image noise, the accuracy of the distortion impact parameter is relatively low. Therefore, the server needs to correct and adjust the distortion impact parameters of each image block in the image to be encoded to improve the accuracy of the distortion impact parameter. Taking the target image block as an example, the server obtains the reference distortion impact parameter of the adjacent image block of the target image block to correct the initial distortion impact parameter of the target image block, thereby optimizing the coding quality of the target image block.
[0059] S202. Determine the adjustment weight corresponding to the target image block and the adjustment weight corresponding to the adjacent image block according to the image noise of multiple image blocks in the image to be encoded.
[0060] In a possible implementation, the image noise of the image block refers to unnecessary or redundant interference information in the image block. The image noise of the image block may be caused by the image acquisition device, the data transmission process, or the image processing process. The server can calculate the image noise of each image block in the image to be encoded to obtain the image noise of each image block. The image noise may refer to temporal noise (also called random noise, transient noise), color noise, emphasis noise, trapezoidal noise and lattice noise in block effect, etc. The image noise of the image block in the embodiments of the present application may include one or more of the above multiple image noises.
[0061] In the embodiments of the present application, the server can obtain the adjustment weight corresponding to the target image block and the adjustment weight corresponding to the adjacent image block according to the image noise of multiple image blocks in the image to be encoded, so as to correct the initial distortion influence parameter according to the calculated adjustment weights of each image block. Since the adjustment weights of each image block are determined according to the image noise of multiple image blocks, therefore, correcting the initial distortion influence parameter through the adjustment weights of each image block can, to a certain extent, suppress the propagation and amplification of image noise during the encoding process, which is beneficial to reducing the influence of image noise on the encoding quality, thereby making the encoding result more stable and controllable.
[0062] S203. Determine the target distortion influence parameter of the target image block according to the initial distortion influence parameter, the adjustment weight corresponding to the target image block, the reference distortion influence parameter, and the adjustment weight corresponding to the adjacent image block.
[0063] In the embodiments of the present application, the server can assign corresponding weights to the target image block and the adjacent image block, and then perform a weighted summation calculation process on the initial distortion influence parameter, the adjustment weight corresponding to the target image block, the reference distortion influence parameter, and the adjustment weight corresponding to the adjacent image block, and determine the target distortion influence parameter of the target image block according to the processing result. The target distortion influence parameter is used to optimize the initial distortion influence parameter and comprehensively considers the reference distortion influence parameter corresponding to the adjacent image block, which helps to improve the accuracy of the distortion influence parameter of the image block and effectively reduce the noise of the image block.
[0064] In a possible implementation manner, the number of adjacent image blocks of the target image block is multiple, such as 8. Then, the server can first perform a weighted process on the initial distortion influence parameter and the adjustment weight corresponding to the target image block to obtain a first weighted result; then perform a weighted process on the reference distortion influence parameter and the adjustment weight corresponding to each adjacent image block to obtain a second weighted result for each adjacent image block; finally, sum the first weighted result and the second weighted results of each adjacent image block, and determine the target distortion influence parameter of the target image block according to the summation result. The target distortion influence parameter obtained by the above method can more accurately quantify the influence degree of the encoding distortion of the target image block, providing an important basis for the optimization of subsequent encoding parameters (i.e., the initial distortion influence parameter).
[0065] S204. Determine the target quantization adjustment parameter of the target image block according to the initial distortion influence parameter and the target distortion influence parameter; the target quantization adjustment parameter is used to adjust the encoding bit rate of the target image block.
[0066] In a possible implementation, the quantization adjustment parameter may refer to the adjustment value of the quantization coefficient, that is, delta_QP (which can also be denoted as ΔQP). The quantization coefficient is an important parameter in video coding and is used to control the degree of image compression and the file size. Then, the original quantization coefficient (QP) of the image block can be changed through the quantization adjustment parameter. When the original quantization coefficient of the image block changes, the coding bitrate of the target image block will also change accordingly, thereby achieving the adjustment of the coding bitrate.
[0067] In the embodiments of the present application, the target distortion influence parameter is used to correct the deviation of the initial distortion influence parameter. The server determines the target quantization adjustment parameter of the target image block according to the initial distortion influence parameter and the target distortion influence parameter, and then uses the target quantization adjustment parameter to adjust the coding bitrate of the target image block, thereby achieving bitrate control at the block level. Moreover, by optimizing the quantization adjustment parameter, the compression ratio of the image block can be effectively controlled, thereby improving the compression efficiency of video coding. For different image blocks, the original quantization adjustment parameter can be adaptively adjusted according to their characteristics and distortion influence parameters, making the coding process more adaptable to the characteristics of the image block, thereby improving the video coding effect and bringing a certain amount of bitrate savings while ensuring the quality of the encoded video.
[0068] Based on the above embodiments, the beneficial effects of the present application are as follows: The present application determines the initial distortion influence parameter of the target image block of the image to be encoded. Since the accuracy of the initial distortion influence parameter is relatively low, the reference distortion influence parameter of the adjacent image block of the target image block is further determined; according to the image noise of multiple image blocks in the image to be encoded, the adjustment weight corresponding to the target image block and the adjustment weight corresponding to the adjacent image block are determined; through the adjustment weight corresponding to the target image block, the initial distortion influence parameter, the reference distortion influence parameter corresponding to the adjacent image block, and the adjustment weight, the target distortion influence parameter of the target image block is determined. The target distortion influence parameter is used to correct the deviation of the initial distortion influence parameter, thereby improving the accuracy of the distortion influence parameter; according to the initial distortion influence parameter and the target distortion influence parameter, the target quantization adjustment parameter of the target image block is determined, and the coding bitrate of the target image block is adjusted by using the target quantization adjustment parameter, thereby achieving bitrate control at the block level. By adaptively adjusting the quantization adjustment parameter for different image blocks, while ensuring the quality of the encoded video, a certain amount of bitrate savings is brought, thereby ensuring the video coding effect.
[0069] Please refer to Figure 3 , which is a schematic flowchart of another data processing method provided by an exemplary embodiment of the present application. Taking the application of this method to a server as an example for illustration, specifically, it may refer to an encoder in the server. The server is connected to a terminal device. The method may include the following steps:
[0070] S301. Determine the initial distortion influence parameter of the target image block of the image to be encoded, and determine the reference distortion influence parameter of the adjacent image blocks of the target image block.
[0071] Among them, the initial distortion influence parameter is used to indicate the influence degree of the reference image block corresponding to the target image block on the encoding distortion of the target image block. For the specific implementation manner of step S301, refer to the relevant description of step S201 in the foregoing embodiments, which will not be elaborated here.
[0072] Next, the method for determining the adjustment weight corresponding to the target image block and the adjustment weight corresponding to the adjacent image blocks (i.e., the method in step S202) will be introduced in detail through steps S302 - S304.
[0073] S302. Determine the average image noise of the image to be encoded according to the image noise of multiple image blocks in the image to be encoded.
[0074] In the embodiments of the present application, the server may determine the average image noise of the image to be encoded according to the image noise of multiple image blocks in the image to be encoded. The above - mentioned multiple image blocks may refer to all or part of the image blocks in the image to be encoded, that is, the server calculates the average image noise of all or part of the image blocks in the image to be encoded.
[0075] First, the method for the server to determine the image noise of each image block will be described. In a possible implementation manner, if the server can determine the image noise of each image block, then the server may further perform the following steps:
[0076] (1). Determine any one of the multiple image blocks and the adjacent image blocks of any one of the image blocks; the adjacent image blocks of any one of the image blocks include the first - type adjacent image blocks and the second - type adjacent image blocks, and the image block distances between the first - type adjacent image blocks and the second - type adjacent image blocks and any one of the image blocks are different.
[0077] Exemplarily, as Figure 4A shown, Figure 4A is a schematic diagram of the adjacent relationship of image blocks provided by an exemplary embodiment of the present application. Taking any one of the image blocks (any one of the image blocks may refer to the target image block) as an example, any one of the image blocks may refer to Figure 4A the B5 image block in
[0078] The first type of adjacent image blocks may refer to the four image blocks adjacent to the target image block in the four directions of up, down, left, and right. For example, the first type of adjacent image blocks may include the B2 image block, the B4 image block, the B6 image block, and the B8 image block. The second type of adjacent image blocks may refer to the four image blocks adjacent to the four diagonals of the target image block. For example, the second type of adjacent image blocks may include the B1 image block, the B3 image block, the B7 image block, and the B9 image block.
[0079] The image block distances between the first type of adjacent image blocks and the second type of adjacent image blocks and any image block are different. That is to say, the image block distances between the image block centers of the first type of adjacent image blocks and the second type of adjacent image blocks and the image block center of any image block are different. For example, the image block distance between the image block center of the first type of adjacent image blocks and the image block center of any image block is 1 unit length, and the image block distance between the image block center of the second type of adjacent image blocks and the image block center of any image block is unit lengths.
[0080] It should be noted that the first type of adjacent image blocks may refer to the four image blocks adjacent to the four diagonals of the target image block, and the second type of adjacent image blocks may refer to the four image blocks adjacent to the target image block in the four directions of up, down, left, and right. The embodiments of the present application do not limit this.
[0081] (2) Determine the first weighting coefficient corresponding to any image block, the second weighting coefficient corresponding to the first type of adjacent image blocks, and the third weighting coefficient corresponding to the second type of adjacent image blocks.
[0082] In a possible implementation, the server may determine the first weighting coefficient corresponding to any image block, the second weighting coefficient corresponding to the first type of adjacent image blocks, and the third weighting coefficient corresponding to the second type of adjacent image blocks according to the image block distance between the image block center of any image block.
[0083] In a possible implementation, the determination of the weighting coefficient may refer to Laplace noise. Laplace noise refers to a random variable drawn from the Laplace distribution, and the Laplace distribution is a continuous probability distribution. In the Laplace distribution, exponential decay appears on both sides of the distribution center, which makes Laplace noise different from the standard normal distribution (or Gaussian noise) because its tails are heavier and longer. Based on this, the server may refer to Laplace noise to determine the first weighting coefficient, the second weighting coefficient, and the third weighting coefficient.
[0084] Exemplarily, since the block distance between the block center point of the first type of adjacent image block and the block center point of any image block is 1 unit length, and the block distance between the block center point of the second type of adjacent image block and the block center point of any image block is unit lengths. Then, the server can determine the first weighting coefficient, the second weighting coefficient, and the third weighting coefficient as: 4, 2, and It can also be determined as other coefficients, such as 2 and Or 8, 4, and 2, or 4, 2, and 2, etc. In subsequent embodiments, the coefficients 4, 2, and will be used as an example for illustration.
[0085] (3) Determine the image noise of any image block according to the color parameter of any image block, the first weighting coefficient, the color parameters of the first type of adjacent image blocks, the second weighting coefficient, the color parameters of the second type of adjacent image blocks, and the third weighting coefficient; the color parameters include one or more of the brightness parameter and the chroma parameter.
[0086] In the embodiments of the present application, the server can calculate the color parameter of any image block, the color parameters of each first type of adjacent image block, and the color parameters of each second type of adjacent image block, and then perform weighted summation processing on the color parameter corresponding to any image block and the first weighting coefficient, the color parameters corresponding to each first type of adjacent image block and the corresponding second weighting coefficient, and the color parameters corresponding to each second type of adjacent image block and the corresponding third weighting coefficient, so as to obtain the image noise of any image block, thereby ensuring the accuracy and reliability of the calculated image noise of the image block.
[0087] Exemplarily, taking the color parameter including the brightness parameter (Luma value) as an example, the image noise of any image block (such as the B5 image block) can be denoted as B5 noise , and its calculation formula is as follows:
[0088]
[0089] Among them, 4 is the first weighting coefficient, 2 is the second weighting coefficient, is the third weighting coefficient, and L[Bi] represents the Luma value of the i-th image block in Figure 4A . It should be noted that the above first weighting coefficient, second weighting coefficient, and third weighting coefficient can be flexibly set according to the actual business situation, and the embodiments of the present application do not limit this.
[0090] Through the above steps (1)-(3), the adjacent relationship and the image block distance between each image block and its adjacent image blocks can be better combined, which helps to more accurately analyze the influence and interaction between image blocks, so as to more accurately calculate the image noise of each image block.
[0091] It should be noted that in addition to referring to the brightness parameter, the color parameter can also refer to the chrominance parameter, and the color parameter can also refer to the chrominance parameter. The color parameter can also refer to the brightness parameter and the chrominance parameter (the chrominance parameter can include the CR chrominance and the CB chrominance). When the color parameter includes multiple parameters, the server can set corresponding weights for each parameter and perform fusion calculation on the multiple parameters combined with the weights to obtain the image noise of the image block. This will not be described in the embodiments of the present application.
[0092] The server can calculate the image noise of each image block in the multiple image blocks in the image to be encoded through the method provided in the above steps (1)-(3). For example, if the image to be encoded includes N image blocks, then the average image noise of the image to be encoded can be denoted as noise avg , and its calculation formula can be as follows:
[0093] noise avg =(B1 noise +B2 noise +…+BN noise ) / N
[0094] Among them, Bj noise represents the jth image block in the multiple image blocks in the image to be encoded.
[0095] S303. Perform a first range limiting process on the average image noise to obtain the adjustment weight corresponding to the target image block.
[0096] In the embodiments of the present application, the server performs a first range limiting process on the average image noise. The first range limiting process is used to determine the first limit value within the first range based on the average image noise, and the first limit value is the adjustment weight corresponding to the target image block.
[0097] Exemplarily, the adjustment weight corresponding to the target image block can be denoted as w5, and the first range can be [1, 10]. Then, the calculation formula of the adjustment weight corresponding to the target image block can be as follows:
[0098] w5 = clip(1, 10, noise avg )
[0099] Among them, the clip() function is used to perform range limiting on the parameter noise avg , that is, to limit noise avgLimited to the range of [1, 10]. For example, noise avg is 0.5, then w5 is 1, noise avg is 7, then w5 is 7, noise avg is 12, then w5 is 10.
[0100] S304. Perform a second range limiting process on the average image noise to obtain the adjustment weights corresponding to adjacent image blocks; among them, the adjustment weight corresponding to the target image block is greater than the adjustment weight corresponding to the adjacent image block.
[0101] In the embodiments of the present application, the server performs a second range limiting process on the average image noise. The second range limiting process is used to determine a second limit value within a second range based on the average image noise, and the second limit value is also the adjustment weight corresponding to the adjacent image block.
[0102] Exemplarily, the adjustment weights corresponding to the 8 adjacent image blocks of the target image block can be respectively denoted as w1, w2, w3, w4, w6, w7, w8, w9, and the second range can refer to [0, 1]. Then, the calculation formula for the adjustment weight corresponding to the adjacent image block can be as follows:
[0103] w1 = w2 = w3 = w4 = w6 = w7 = w8 = w9 = clip(0, 1, 1 / noise avg )
[0104] Among them, the adjustment weights corresponding to each adjacent image block are the same. In the embodiments of the present application, the adjustment weight corresponding to the target image block is greater than the adjustment weight corresponding to the adjacent image block, which enables the server to pay more attention to the influence of the target image block on the overall result during the encoding process through the encoder, improving the encoding efficiency and quality.
[0105] Through the above steps S302 - S304, the adjustment weight corresponding to the target image block and the adjustment weight corresponding to the adjacent image block can be accurately calculated.
[0106] S305. Determine the target distortion influence parameter of the target image block according to the initial distortion influence parameter, the adjustment weight corresponding to the target image block, the reference distortion influence parameter, and the adjustment weight corresponding to the adjacent image block.
[0107] Exemplarily, the initial distortion influence parameter and the adjustment weight corresponding to the target image block can be respectively represented as propagate B5 and w5. The target image block has 8 adjacent image blocks, and the reference distortion influence parameters corresponding to the 8 adjacent image blocks can be respectively represented as propagate B1 、propagate B2 、propagate B3, propagate B4 , propagate B6 , propagate B7 , propagate B8 and propagate B9 , the corresponding adjustment weights can be respectively expressed as w1, w2, w3, w4, w6, w7, w8, and w9. Then, the server can perform a weighted sum processing on the initial distortion influence parameter, the adjustment weight corresponding to the target image block, the reference distortion influence parameter, and the adjustment weight corresponding to the adjacent image block, and determine the target distortion influence parameter according to the summation result. The target distortion influence parameter can be denoted as propagate B5_new , and its calculation formula can be as follows:
[0108] propagate B5_new =(w1 × propagate B1 +w2 × propagate B2 +…+w9 × propagate B9 ) / (w1 + w2 + … + w9)
[0109] Among them, the above-mentioned adjustment weights are adaptively adjusted, and the adjustment method can refer to the relevant description in the foregoing embodiments, which will not be elaborated here.
[0110] The above steps S301 - S305 mainly introduce generating the adjustment weights of the target image block and the adjacent image blocks, and calculating the target distortion influence parameter of the target image block based on the adjustment weights. The above method can be regarded as a method for optimizing the distortion influence parameter based on time-domain filtering. As Figure 4B shown, Figure 4B is a schematic diagram of optimizing the distortion influence parameter through a time-domain filtering model provided by an exemplary embodiment of the present application, which mainly includes three steps: establishing a time-domain filtering model of the distortion influence parameter, performing noise detection on the image, and adaptively adjusting the weights of the time-domain filtering model according to the noise detection result.
[0111] Among them, the time-domain filtering model is a set of time-domain filtering algorithms, and the processing logic of the above steps S301 - S305 is covered in the algorithms. After the server establishes the time-domain filtering model of the distortion influence parameter, it performs noise detection on the entire image through the time-domain filtering model to obtain the noise detection result (such as the average image noise of the image to be encoded). Then, the server adaptively adjusts the weights of the time-domain filtering model according to the noise detection result. The weights of the time-domain filtering model include the adjustment weights corresponding to the target image block and the adjustment weights corresponding to the adjacent image blocks. The target distortion influence parameter of the target image block can be determined through the weights of the time-domain filtering model. The specific implementation manner can refer to the relevant description in the foregoing embodiments, which will not be elaborated here.
[0112] The time-domain filtering model corresponds to a filtering window, and the filtering window refers to the scope of action of the time-domain filtering model. In a possible implementation, the filtering window can be a 3*3 window. Then, the adjacent image blocks of the target image block in the foregoing embodiment can refer to the 8 image blocks directly adjacent to the target image block (i.e., the image blocks in the outermost circle of the target image block), and the distortion influence parameter is filtered by means of weighted average filtering. In another possible implementation, the filtering window can be a 4*4 window. Then, the adjacent image blocks of the target image block in the foregoing embodiment can refer to the 15 image blocks relatively close to the target image block (i.e., the image blocks in the outermost two circles of the target image block). It should be noted that the size of the filtering window can be flexibly set according to the actual service situation, such as set to 5*5, 10*10, etc., and the embodiments of the present application do not limit this.
[0113] The method in step S204 will be introduced in detail below through steps S306-S308.
[0114] S306. Determine the reference quantization adjustment parameter of the target image block according to the target distortion influence parameter.
[0115] Exemplarily, the target distortion influence parameter can be denoted as propagate B5_new , and the reference quantization adjustment parameter can be denoted as delta_QP_1, and its calculation formula can be as follows:
[0116] delta_QP_1 = weight × log2(propagate B5_new )
[0117] Among them, weight is a hyperparameter. For example, weight can take a value of 0.85.
[0118] S307. Determine the initial quantization adjustment parameter of the target image block according to the initial distortion influence parameter.
[0119] Exemplarily, the initial distortion influence parameter of the target image block can be denoted as propagate B5_original , and the calculation method of the initial distortion influence parameter of the target image block will be described in subsequent embodiments and will not be elaborated here. The initial quantization adjustment parameter of the target image block can be denoted as delta_QP_2, and its calculation formula can be as follows:
[0120] delta_QP_2 = weight × log2(propagate B5_original )
[0121] S308. Adjust the initial quantization adjustment parameter according to the reference quantization adjustment parameter to obtain the target quantization adjustment parameter of the target image block.
[0122] In the embodiment of the present application, the server adjusts the initial quantization adjustment parameter of the target image block through the reference quantization adjustment parameter of the target image block, that is, corrects the initial quantization adjustment parameter of the target image block to obtain the target quantization adjustment parameter of the target image block, thereby improving the accuracy of the quantization adjustment parameter.
[0123] In a possible implementation manner, the above step S308 can be implemented according to the following steps:
[0124] (1). Obtain the initial quantization adjustment parameter corresponding to each image block in multiple image blocks.
[0125] Among them, the initial quantization adjustment parameter corresponding to each image block is calculated from the initial distortion influence parameter corresponding to each image block, and the calculation process can refer to the relevant descriptions of the foregoing steps S306 and S307. The method for determining the initial distortion influence parameter corresponding to each image block will be described in subsequent embodiments, and specifically, it can refer to the method for determining the initial distortion influence parameter of the target image block of the image to be encoded in subsequent embodiments.
[0126] (2). Perform an averaging process on the initial quantization adjustment parameter corresponding to each image block in multiple image blocks to obtain an average quantization adjustment parameter.
[0127] (3). Calculate the difference between the reference quantization adjustment parameter and the average quantization adjustment parameter.
[0128] (4). Perform an addition process on the difference and the initial quantization adjustment parameter of the target image block to obtain the target quantization adjustment parameter of the target image block.
[0129] In the above steps (1)-(4), the server first obtains the initial quantization adjustment parameter corresponding to each image block in the image to be encoded, and performs an averaging process on it to obtain the average quantization adjustment parameter of the image to be encoded, which can reflect the coding characteristics of the entire image. Then calculate the difference between the reference quantization adjustment parameter and the average quantization adjustment parameter, and this difference can represent the coding difference between the target image block and the overall image block. Then perform an addition process on the difference and the initial quantization adjustment parameter of the target image block to obtain the target quantization adjustment parameter of the target image block, and the target quantization adjustment parameter is used to adjust the coding bit rate of the target image block.
[0130] Exemplarily, the average quantization adjustment parameter is denoted as delta_QP_avg, and the difference between the reference quantization adjustment parameter and the average quantization adjustment parameter is denoted as delta_QP_1 - delta_QP_avg. Based on this, the target quantization adjustment parameter is denoted as delta_QP_3, and its calculation formula can be as follows:
[0131] delta_QP_3 = delta_QP_2 + delta_QP_1 - delta_QP_avg
[0132] For example, if the initial quantization adjustment parameter of the target image block is 35, the average quantization adjustment parameter of the image to be encoded is 30, and the reference quantization adjustment parameter is 10, then the difference is -20. The server then adds -20 and 35, and the addition result is 15, that is, the target quantization adjustment parameter of the target image block is 15.
[0133] In a possible implementation, the target quantization adjustment parameter of the target image block refers to the adjustment value of the original QP of the target image block, and the target quantization adjustment parameter can be a positive value or a negative value. After adjusting the QP of the target image block, the coding bit rate of the target image block will change accordingly. Further, after the QP of the target image block changes, the rate-distortion coefficient (Lambda, λ) corresponding to the target image block will change accordingly. Among them, the rate-distortion coefficient is a weight in the cost function, which determines the proportion of the distortion value D and the number of bits R required for coding in the rate-distortion function. Furthermore, the rate-distortion cost corresponding to the target image block changes, and the coding bit rate of the target image block will also change accordingly.
[0134] In a possible implementation, the determination of the initial distortion influence parameter of the target image block of the image to be encoded in the above step S301 can be implemented according to the following steps:
[0135] (1) Determine the intra-frame coding complexity of the target image block of the image to be encoded and the inter-frame coding complexity between the target image block and the reference image block, and determine the normalization coefficient according to the intra-frame coding complexity and the inter-frame coding complexity.
[0136] In the embodiments of the present application, the server needs to calculate the intra-frame coding complexity (IntraComplex) of the target image block. The intra-frame coding complexity refers to the coding complexity degree of the target image block within the frame, that is, when encoding within a single image frame, the amount of information and the degree of change contained in the target image block. The intra-frame coding complexity can be measured by features such as the texture, details, and change rate of the image block.
[0137] In a possible implementation, the server can calculate the intra-coding complexity of the target image block through intra-frame estimation. For example, the server can reconstruct a similar image block from the image frame where the target image block is located through intra-frame estimation, and then calculate the residual between the target image block and the similar image block to obtain the inter-coding complexity. The residual is used to represent the displacement information between the target image block and the similar image block. Here, the residual can be implemented through methods such as Sum of Absolute Difference (SAD) based on the time domain, Sum of Absolute Transformed Difference (SATD) based on the frequency domain, Mean Squared Error (MSE), and Sum of Squared Difference (SSD). Details are not elaborated in the embodiments of this application.
[0138] In the embodiments of this application, the server needs to calculate the inter-coding complexity (InterComplex) of the target image block. The inter-coding complexity refers to the coding complexity between the target image block and the reference image block, that is, the amount of information and the degree of change between the target image block and the reference image block. The inter-coding complexity can be measured by features such as the motion vector between image blocks, the block matching degree, and the motion compensation error.
[0139] In a possible implementation, the server can calculate the inter-coding complexity between the target image block and the reference image block through motion estimation. For example, the server can determine the most similar image block from the reference image frame corresponding to the target image block through motion estimation, which can be achieved by calculating the similarity between blocks. Common similarity metrics include Mean Squared Error (MSE), Absolute Difference (AD), etc. Then, calculate the residual between the target image block and the similar image block to obtain the inter-coding complexity. The residual is used to represent the displacement information between the target image block and the similar image block. Here, the residual can be implemented through methods such as Sum of Absolute Difference (SAD) based on the time domain, Sum of Absolute Transformed Difference (SATD) based on the frequency domain, Mean Squared Error (MSE), and Sum of Squared Difference (SSD). Details are not elaborated in the embodiments of this application.
[0140] In the embodiments of the present application, the server determines the normalization coefficient according to the intra-frame coding complexity and the inter-frame coding complexity. Exemplarily, the intra-frame coding complexity can be denoted as IntraComplex, the inter-frame coding complexity can be denoted as InterComplex, and the normalization coefficient can be denoted as normalize. Its calculation formula can be as follows:
[0141] normalize = (IntraComplex - InterComplex) / IntraComplex
[0142] (2) Determine the total distortion transfer amount of the target image block.
[0143] In the embodiments of the present application, the total distortion transfer amount refers to the overall influence degree of the respective reference image blocks corresponding to the target image block on the coding distortion of the target image block, that is, the overall influence amount of the coding distortion. The calculation method of the total distortion transfer amount will be described in detail below.
[0144] In a possible implementation, as Figure 4C shown, Figure 4C is a schematic diagram of a frame structure provided by an exemplary embodiment of the present application, specifically a schematic diagram of a mini-GOP 8-frame structure. The above frame structure includes frames from frame 0 to frame 8. Among them, frame 0 can refer to an I frame, that is, an intra-coded picture (Intra-Coded Picture), frames 1 to 7 can refer to B frames, that is, bidirectionally predicted pictures (Bidirectionally Predicted Picture), and frame 8 can refer to a P frame, that is, a predictive-coded picture (Predictive-Coded Picture). The above frame structure uses the time-domain hierarchical idea, and the coding order of its respective image frames is: first, frame 0 and frame 8 of the 0th level are coded, then frame 4 of the 1st level is coded, then frame 2 and frame 6 of the 2nd level are coded, and finally frames 1, 3, 5, and 7 of the 3rd level are coded.
[0145] Next, the reference relationship of the image frames in the above frame structure is analyzed: The image frames at the higher levels will refer to the image frames at the lower levels, and the higher the level of the image frame, the fewer the number of frames it is referred to. For example, frame 0 at the 0th level will be referred to by frames 1 to 8, and frame 8 will be referred to by frames 1 to 7; frame 4 at the 1st level will be referred to by frames 1, 2, 3, 5, 6, and 7; frame 2 at the 2nd level will be referred to by frames 1 and 3, and frame 6 will be referred to by frames 5 and 7; frames 1, 3, 5, and 7 at the 3rd level are not referred to by other image frames.
[0146] In the encoder, the total distortion transfer of image blocks in each image frame is calculated in a backward propagation manner. Assume that the target image block is an image block in the image frame at the 3rd level. Taking the target image block as the image block in the 1st frame as an example, the 1st frame references the 0th frame and the 2nd frame. Therefore, the encoder can calculate the distortion transfer values of the 1st frame referencing the 0th frame and the 2nd frame. Since the 2nd frame references the 0th frame and the 4th frame, the encoder can calculate the distortion transfer values of the 2nd frame referencing the 0th frame and the 4th frame. Also, since the 4th frame references the 0th frame and the 8th frame, the encoder can calculate the distortion transfer values of the 4th frame referencing the 0th frame and the 8th frame. Then, the total distortion transfer of the target image block can be obtained by superimposing the distortion transfer values of the 1st frame referencing the 0th frame and the 2nd frame, the distortion transfer values of the 2nd frame referencing the 0th frame and the 4th frame, and the distortion transfer values of the 4th frame referencing the 0th frame and the 8th frame, indicating that the 0th frame, the 2nd frame, the 4th frame, and the 8th frame all have an indirect impact on the 1st frame. Similarly, through the above method, the total distortion transfer of the image blocks in the 3rd frame, the 5th frame, or the 7th frame can be calculated, which will not be elaborated here.
[0147] Assume that the target image block is an image block in the image frame at the 2nd level. Taking the target image block as the image block in the 2nd frame as an example, the 2nd frame references the 0th frame and the 4th frame. Then, the encoder can calculate the distortion transfer values of the 2nd frame referencing the 0th frame and the 4th frame. Since the 4th frame references the 0th frame and the 8th frame, the encoder can calculate the distortion transfer values of the 4th frame referencing the 0th frame and the 8th frame. Then, the total distortion transfer of the target image block can be obtained by superimposing the distortion transfer values of the 2nd frame referencing the 0th frame and the 4th frame and the distortion transfer values of the 4th frame referencing the 0th frame and the 8th frame, indicating that the 0th frame, the 4th frame, and the 8th frame all have an indirect impact on the 2nd frame. Similarly, through the above method, the total distortion transfer of the image blocks in the 6th frame can be calculated, which will not be elaborated here.
[0148] Assume that the target image block is an image block in the image frame at the 3rd level. Taking the target image block as the image block in the 4th frame as an example, the 4th frame references the 0th frame and the 8th frame. Then, the encoder can calculate the distortion transfer values of the 4th frame referencing the 0th frame and the 8th frame. Then, the total distortion transfer of the target image block can be equal to the distortion transfer values of the 4th frame referencing the 0th frame and the 8th frame. The above method ensures the accuracy of the calculated total distortion transfer.
[0149] (3) Determine the initial distortion influence parameter of the target image block according to the normalization coefficient and the total distortion transfer.
[0150] Exemplarily, the total distortion transfer can be denoted as propagate amount , and the initial distortion influence parameter can be denoted as propagate, and its calculation formula is as follows:
[0151] propagate = propagate amount ×(IntraComplex - Inter Complex) / IntraComplex
[0152] It should be noted that for the determination of the reference distortion influence parameter of the adjacent image block of the target image block in the above step S301, reference may be made to the specific implementation manner of determining the initial distortion influence parameter of the target image block of the image to be encoded above, which will not be elaborated in the embodiments of the present application.
[0153] In a possible implementation manner, after determining the initial distortion influence parameter of the target image block of the image to be encoded, the server may further perform the following steps:
[0154] (1). If the target image block is not an edge image block in the image to be encoded, perform the step of determining the reference distortion influence parameter of the adjacent image block of the target image block and subsequent steps.
[0155] In the embodiments of the present application, the server needs to determine whether the target image block is an edge image block in the image to be encoded. When the target image block is an edge image block in the image to be encoded, the server cannot obtain the adjacent image block of the target image block. Only when the target image block is not an edge image block in the image to be encoded can the server obtain the adjacent image block of the target image block.
[0156] When the target image block is not an edge image block, the server performs the step of determining the reference distortion influence parameter of the adjacent image block of the target image block and subsequent steps, so as to correct the initial distortion influence parameter of the target image block through the reference distortion influence parameter of the adjacent image block. By considering the coding characteristics of the adjacent image block, the distortion influence of the target image block can be more comprehensively evaluated, and thus the video coding effect can be improved.
[0157] (2). If the target image block is an edge image block in the image to be encoded, determine the initial quantization adjustment parameter of the target image block according to the initial distortion influence parameter; the initial quantization adjustment parameter is used to adjust the coding bit rate of the target image block.
[0158] When the target image block is an edge image block, the server directly uses the initial distortion influence parameter to calculate the initial quantization adjustment parameter of the target image block, without the need to use other complex parameter correction operations, thereby improving the processing efficiency. Among them, for the specific implementation method of determining the initial quantization adjustment parameter of the target image block according to the initial distortion influence parameter, reference may be made to the relevant description in the foregoing embodiments, which will not be elaborated here. Through the above steps (1)-(2), a better balance between coding quality and coding efficiency can be achieved in video coding.
[0159] The method provided by the embodiments of the present application can be regarded as an optimized method for the Cutree algorithm for video coding. The Cutree algorithm is a block-level bitrate adjustment method. Since the distortion influence parameters calculated by the Cutree algorithm have large deviations for image blocks with noise or relatively flat image blocks, therefore, the embodiments of the present application correct the distortion influence parameters based on the time-domain filtering method to solve the problem of deviation in the distortion influence value, thereby realizing rate-distortion optimization and bitrate control. Bitrate control refers to the process of adjusting the video quality by controlling the number of bits used by the encoder during video coding. Rate-distortion optimization refers to reducing the distortion of the video under a certain bitrate limit, thereby improving the subjective quality of the video.
[0160] The above method can be applied to various encoders, such as x265, o266 and other encoders, to correct the distortion influence parameters estimated by the Cutree algorithm, and under the premise of the same video coding quality, it can bring a certain bitrate saving. Through testing, using the MSU dataset, under the bitrate control of the constant rate factor (CRF), it can bring about a 0.1% increase in the BSQ-rate in the case of GOP 32. The BSQ-rate is a video coding evaluation criterion that combines multiple evaluation dimensions such as the Peak Signal-to-Noise Ratio (PSNR) and the Structural Similarity Index (SSIM), thus verifying the effectiveness of the method provided by the embodiments of the present application.
[0161] Please refer to Figure 5 , which is a schematic structural diagram of a data processing device provided by the embodiments of the present application. Among them, the data processing device may specifically include:
[0162] The first processing module 501 is used to determine the initial distortion influence parameter of the target image block of the image to be encoded, and determine the reference distortion influence parameter of the adjacent image block of the target image block; the initial distortion influence parameter is used to indicate the influence degree of the reference image block corresponding to the target image block on the coding distortion of the target image block;
[0163] The weight calculation module 502 is used to determine the adjustment weight corresponding to the target image block and the adjustment weight corresponding to the adjacent image block according to the image noise of multiple image blocks in the image to be encoded;
[0164] The second processing module 503 is used to determine the target distortion influence parameter of the target image block according to the initial distortion influence parameter, the adjustment weight corresponding to the target image block, the reference distortion influence parameter, and the adjustment weight corresponding to the adjacent image block;
[0165] An adjustment module 504, configured to determine a target quantization adjustment parameter of the target image block according to the above initial distortion influence parameter and the above target distortion influence parameter; the target quantization adjustment parameter is used to adjust the coding bit rate of the target image block.
[0166] In a possible implementation manner, when the adjustment module 504 is configured to determine the target quantization adjustment parameter of the target image block according to the above initial distortion influence parameter and the above target distortion influence parameter, it is specifically configured to:
[0167] Determine a reference quantization adjustment parameter of the target image block according to the above target distortion influence parameter;
[0168] Determine an initial quantization adjustment parameter of the target image block according to the above initial distortion influence parameter;
[0169] Adjust the initial quantization adjustment parameter according to the above reference quantization adjustment parameter to obtain the target quantization adjustment parameter of the target image block.
[0170] In a possible implementation manner, when the adjustment module 504 is configured to adjust the initial quantization adjustment parameter according to the above reference quantization adjustment parameter to obtain the target quantization adjustment parameter of the target image block, it is specifically configured to:
[0171] Obtain the initial quantization adjustment parameter corresponding to each of the above image blocks in the above multiple image blocks;
[0172] Perform an averaging process on the initial quantization adjustment parameters corresponding to each of the above image blocks in the above multiple image blocks to obtain an average quantization adjustment parameter;
[0173] Calculate the difference between the above reference quantization adjustment parameter and the above average quantization adjustment parameter;
[0174] Perform an addition process on the above difference and the initial quantization adjustment parameter of the target image block to obtain the target quantization adjustment parameter of the target image block.
[0175] In a possible implementation manner, when the weight calculation module 502 is configured to determine the adjustment weight corresponding to the target image block and the adjustment weight corresponding to the adjacent image block according to the image noise of multiple image blocks in the image to be encoded, it is specifically configured to:
[0176] Determine the average image noise of the image to be encoded according to the image noise of multiple image blocks in the image to be encoded;
[0177] Perform a first range limiting process on the above average image noise to obtain the adjustment weight corresponding to the target image block;
[0178] Perform a second range limiting process on the above average image noise to obtain the adjustment weights corresponding to the above adjacent image blocks; wherein, the adjustment weight corresponding to the above target image block is greater than the adjustment weight corresponding to the above adjacent image blocks.
[0179] In a possible implementation manner, the above weight calculation module 502 is further configured to:
[0180] Determine any one of the above multiple image blocks and the adjacent image blocks of the any one of the image blocks; the adjacent image blocks of the any one of the image blocks include first type adjacent image blocks and second type adjacent image blocks, and the image block distances between the first type adjacent image blocks and the second type adjacent image blocks and the any one of the image blocks are different;
[0181] Determine the first weighting coefficient corresponding to the any one of the image blocks, the second weighting coefficient corresponding to the first type adjacent image blocks, and the third weighting coefficient corresponding to the second type adjacent image blocks;
[0182] Determine the image noise of the any one of the image blocks according to the color parameter of the any one of the image blocks, the first weighting coefficient, the color parameters of the first type adjacent image blocks, the second weighting coefficient, the color parameters of the second type adjacent image blocks, and the third weighting coefficient; the color parameters include one or more of a brightness parameter and a chroma parameter.
[0183] In a possible implementation manner, when the above first processing module 501 is used to determine the initial distortion influence parameter of the target image block of the image to be encoded, it is specifically configured to:
[0184] Determine the intra-frame coding complexity of the target image block of the image to be encoded and the inter-frame coding complexity between the target image block and the reference image block, and determine a normalization coefficient according to the intra-frame coding complexity and the inter-frame coding complexity;
[0185] Determine the total amount of distortion transfer of the above target image block;
[0186] Determine the initial distortion influence parameter of the above target image block according to the normalization coefficient and the total amount of distortion transfer.
[0187] In a possible implementation manner, the above first processing module 501 is further configured to:
[0188] If the above target image block is not an edge image block in the above image to be encoded, then perform the step of determining the reference distortion influence parameter of the adjacent image block of the above target image block;
[0189] If the above target image block is an edge image block in the above image to be encoded, determine an initial quantization adjustment parameter for the above target image block according to the above initial distortion influence parameter; the above initial quantization adjustment parameter is used to adjust the encoding bit rate of the above target image block.
[0190] It should be noted that the functions of the various functional modules of the data processing device in the embodiments of the present application can be specifically implemented according to the methods in the above method embodiments, and the specific implementation process can refer to the relevant descriptions of the above method embodiments, which will not be elaborated here.
[0191] Please refer to Figure 6 , which is a schematic structural diagram of a computer device provided in an embodiment of the present application. As Figure 6 shown, the computer device in this embodiment may include: a processor 601, a storage device 602, and a communication interface 603. Data interaction can be performed between the above processor 601, storage device 602, and communication interface 603.
[0192] The above storage device 602 may include a volatile memory, such as a random-access memory (RAM); the storage device 602 may also include a non-volatile memory, such as a flash memory, a solid-state drive (SSD), etc.; the above storage device 602 may also include a combination of the above types of memories.
[0193] The above processor 601 may be a central processing unit (CPU). In one embodiment, the above processor 601 may also be a Graphics Processing Unit (GPU). The above processor 601 may also be a combination of a CPU and a GPU. In one embodiment, the above storage device 602 is used to store program instructions, and the above processor 601 may call the above program instructions to perform the following operations:
[0194] Determine an initial distortion influence parameter of a target image block of an image to be encoded, and determine a reference distortion influence parameter of an adjacent image block of the above target image block; the above initial distortion influence parameter is used to indicate the influence degree of the reference image block corresponding to the above target image block on the encoding distortion of the above target image block;
[0195] Determine an adjustment weight corresponding to the above target image block and an adjustment weight corresponding to the above adjacent image block according to the image noise of multiple image blocks in the above image to be encoded;
[0196] Determine the target distortion influence parameter of the target image block according to the above initial distortion influence parameter, the adjustment weight corresponding to the above target image block, the above reference distortion influence parameter, and the adjustment weight corresponding to the above adjacent image block;
[0197] Determine the target quantization adjustment parameter of the target image block according to the above initial distortion influence parameter and the above target distortion influence parameter; the above target quantization adjustment parameter is used to adjust the coding bit rate of the above target image block.
[0198] In a possible implementation manner, when the above processor 601 is used to determine the target quantization adjustment parameter of the target image block according to the above initial distortion influence parameter and the above target distortion influence parameter, it is specifically used for:
[0199] Determine the reference quantization adjustment parameter of the target image block according to the above target distortion influence parameter;
[0200] Determine the initial quantization adjustment parameter of the target image block according to the above initial distortion influence parameter;
[0201] Adjust the above initial quantization adjustment parameter according to the above reference quantization adjustment parameter to obtain the target quantization adjustment parameter of the target image block.
[0202] In a possible implementation manner, when the above processor 601 is used to adjust the above initial quantization adjustment parameter according to the above reference quantization adjustment parameter to obtain the target quantization adjustment parameter of the target image block, it is specifically used for:
[0203] Obtain the initial quantization adjustment parameter corresponding to each of the above image blocks in the above multiple image blocks;
[0204] Perform an averaging process on the initial quantization adjustment parameters corresponding to each of the above image blocks in the above multiple image blocks to obtain an average quantization adjustment parameter;
[0205] Calculate the difference between the above reference quantization adjustment parameter and the above average quantization adjustment parameter;
[0206] Perform an addition process on the above difference and the initial quantization adjustment parameter of the target image block to obtain the target quantization adjustment parameter of the target image block.
[0207] In a possible implementation manner, when the above processor 601 is used to determine the adjustment weight corresponding to the above target image block and the adjustment weight corresponding to the above adjacent image block according to the image noise of multiple image blocks in the above to-be-encoded image, it is specifically used for:
[0208] Determine the average image noise of the above to-be-encoded image according to the image noise of multiple image blocks in the above to-be-encoded image;
[0209] Perform a first range limiting process on the above average image noise to obtain the adjustment weight corresponding to the above target image block;
[0210] Perform a second range limiting process on the above average image noise to obtain the adjustment weight corresponding to the above adjacent image block; wherein, the adjustment weight corresponding to the above target image block is greater than the adjustment weight corresponding to the above adjacent image block.
[0211] In a possible implementation, the above processor 601 is further configured to:
[0212] Determine any one of the above multiple image blocks and the adjacent image block of the any one image block; the adjacent image block of the any one image block includes a first type of adjacent image block and a second type of adjacent image block, and the image block distances between the first type of adjacent image block and the second type of adjacent image block and the any one image block are different;
[0213] Determine the first weighting coefficient corresponding to the any one image block, the second weighting coefficient corresponding to the first type of adjacent image block, and the third weighting coefficient corresponding to the second type of adjacent image block;
[0214] Determine the image noise of the any one image block according to the color parameter of the any one image block, the first weighting coefficient, the color parameter of the first type of adjacent image block, the second weighting coefficient, the color parameter of the second type of adjacent image block, and the third weighting coefficient; the color parameter includes one or more of a brightness parameter and a chrominance parameter.
[0215] In a possible implementation, when the above processor 601 is used to determine the initial distortion influence parameter of the target image block of the image to be encoded, it is specifically configured to:
[0216] Determine the intra-frame coding complexity of the target image block of the image to be encoded and the inter-frame coding complexity between the target image block and the reference image block, and determine a normalization coefficient according to the intra-frame coding complexity and the inter-frame coding complexity;
[0217] Determine the total amount of distortion transfer of the above target image block;
[0218] Determine the initial distortion influence parameter of the above target image block according to the normalization coefficient and the total amount of distortion transfer.
[0219] In a possible implementation, the above processor 601 is further configured to:
[0220] If the target image block is not an edge image block in the image to be encoded, then performing the step of determining the reference distortion influence parameters of the adjacent image blocks of the target image block;
[0221] If the target image block is an edge image block in the to-be-encoded image, an initial quantization adjustment parameter of the target image block is determined according to the initial distortion influence parameter; the initial quantization adjustment parameter is used to adjust the encoding bit rate of the target image block.
[0222] In a specific implementation, the processor 601, the storage device 602, and the communication interface 603 described in the embodiments of the present application can execute the aforementioned embodiments of the present application. Figure 2 or Figure 3 The implementation described in the relevant embodiments of the data processing method provided can also be implemented in the embodiments of the present application. Figure 5 The implementation methods described in the relevant embodiments of the provided data processing device will not be repeated here.
[0223] In the several embodiments provided in the present application, it should be understood that the disclosed methods, devices and systems can be implemented in other ways. For example, the device embodiments described above are merely schematic; for example, the division of the units is only a logical function division, and there may be other division methods in actual implementation; for example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.
[0224] In addition, it should be pointed out here that: the embodiment of the present application also provides a computer-readable storage medium, and the computer-readable storage medium stores a computer program executed by the aforementioned data processing device, and the computer program includes program instructions. When the processor executes the above program instructions, it can execute the method in the aforementioned embodiment, so it will not be repeated here. In addition, the description of the beneficial effects of the same method will not be repeated. For technical details not disclosed in the computer-readable storage medium embodiment involved in this application, please refer to the description of the method embodiment of this application. As an example, the program instructions can be deployed on a computer device, or executed on multiple computer devices located at one location, or, executed on multiple computer devices distributed in multiple locations and interconnected by a communication network, and multiple computer devices distributed in multiple locations and interconnected by a communication network can constitute a blockchain system.
[0225] According to one aspect of the present application, a computer program product is provided. The computer program product includes computer instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, enabling the computer device to execute the methods in the foregoing embodiments. Therefore, details will not be elaborated herein.
[0226] Those of ordinary skill in the art can understand that all or part of the processes in implementing the methods of the above embodiments can be completed by instructing relevant hardware through a computer program. The above program can be stored in a computer-readable storage medium. When the program is executed, it may include the processes of the embodiments of the above methods. Among them, the above storage medium may be a magnetic disk, an optical disk, a read-only memory (ROM), or a random access memory (RAM), etc.
[0227] It can be understood that in the specific implementation of the present application, data such as the image to be encoded is involved. When the above embodiments of the present application are applied to specific products or technologies, the collection, use, and processing of relevant data need to comply with relevant regulations and standards in the relevant regions.
[0228] In the embodiments of the present application, the term "module" or "unit" refers to a computer program with a predetermined function or a part of a computer program, which works together with other relevant parts to achieve a predetermined goal, and can be fully or partially implemented by using software, hardware (such as a processing circuit or a memory), or a combination thereof. Similarly, one processor (or multiple processors or memories) can be used to implement one or more modules or units. In addition, each module or unit can be a part of an overall module or unit that includes the function of the module or unit.
[0229] It should be noted that the descriptions such as "first" and "second" involved in the embodiments of the present application are only for descriptive purposes, and cannot be understood as indicating or implying their relative importance or implicitly specifying the quantity of the indicated technical features. Therefore, the technical features defined with "first" and "second" may explicitly or implicitly include at least one such feature.
[0230] The foregoing disclosure is only part of the embodiments of the present application. Of course, the scope of rights of the present application cannot be limited thereby. Those of ordinary skill in the art can understand all or part of the processes of implementing the above embodiments, and the equivalent changes made according to the claims of the present application still fall within the scope covered by the invention.
Claims
1. A data processing method, characterized in that, The method includes: Determining an initial distortion influence parameter of a target image block of an image to be encoded, and determining a reference distortion influence parameter of an adjacent image block of the target image block; the initial distortion influence parameter is used to indicate the influence degree of a reference image block corresponding to the target image block on the encoding distortion of the target image block; Determining an adjustment weight corresponding to the target image block and an adjustment weight corresponding to the adjacent image block according to the image noise of multiple image blocks in the image to be encoded; Determining a target distortion influence parameter of the target image block according to the initial distortion influence parameter, the adjustment weight corresponding to the target image block, the reference distortion influence parameter, and the adjustment weight corresponding to the adjacent image block; Determining a target quantization adjustment parameter of the target image block according to the initial distortion influence parameter and the target distortion influence parameter; the target quantization adjustment parameter is used to adjust the encoding bit rate of the target image block.
2. The method according to claim 1, wherein The determining the target quantization adjustment parameter of the target image block according to the initial distortion influence parameter and the target distortion influence parameter includes: Determining a reference quantization adjustment parameter of the target image block according to the target distortion influence parameter; Determining an initial quantization adjustment parameter of the target image block according to the initial distortion influence parameter; Adjusting the initial quantization adjustment parameter according to the reference quantization adjustment parameter to obtain the target quantization adjustment parameter of the target image block.
3. The method according to claim 2, wherein The adjusting the initial quantization adjustment parameter according to the reference quantization adjustment parameter to obtain the target quantization adjustment parameter of the target image block includes: Obtaining an initial quantization adjustment parameter corresponding to each of the multiple image blocks; Performing an averaging process on the initial quantization adjustment parameters corresponding to each of the multiple image blocks to obtain an average quantization adjustment parameter; Calculating a difference between the reference quantization adjustment parameter and the average quantization adjustment parameter; Performing an addition process on the difference and the initial quantization adjustment parameter of the target image block to obtain the target quantization adjustment parameter of the target image block.
4. The method according to any one of claims 1-3, characterized in that, The determining the adjustment weight corresponding to the target image block and the adjustment weight corresponding to the adjacent image block according to the image noise of multiple image blocks in the image to be encoded includes: Determining an average image noise of the image to be encoded according to the image noise of multiple image blocks in the image to be encoded; Performing a first range limiting process on the average image noise to obtain the adjustment weight corresponding to the target image block; Performing a second range limiting process on the average image noise to obtain the adjustment weight corresponding to the adjacent image block; wherein, the adjustment weight corresponding to the target image block is greater than the adjustment weight corresponding to the adjacent image block.
5. The method according to claim 4, wherein The method further includes: Determining any one of the multiple image blocks and an adjacent image block of the any one image block; the adjacent image block of the any one image block includes a first type of adjacent image block and a second type of adjacent image block, and the image block distances between the first type of adjacent image block and the second type of adjacent image block and the any one image block are different; Determine the first weighting coefficient corresponding to any one of the image blocks, the second weighting coefficient corresponding to the first type of adjacent image blocks, and the third weighting coefficient corresponding to the second type of adjacent image blocks; Determine the image noise of any one of the image blocks according to the color parameters of any one of the image blocks, the first weighting coefficient, the color parameters of the first type of adjacent image blocks, the second weighting coefficient, the color parameters of the second type of adjacent image blocks, and the third weighting coefficient; the color parameters include one or more of a brightness parameter and a chromaticity parameter.
6. The method according to any one of claims 1-3, characterized in that, The determination of the initial distortion influence parameter of the target image block of the image to be encoded includes: Determine the intra-frame encoding complexity of the target image block of the image to be encoded and the inter-frame encoding complexity between the target image block and the reference image block, and determine a normalization coefficient according to the intra-frame encoding complexity and the inter-frame encoding complexity; Determine the total amount of distortion transfer of the target image block; Determine the initial distortion influence parameter of the target image block according to the normalization coefficient and the total amount of distortion transfer.
7. The method according to any one of claims 1-3, characterized in that The method further includes: If the target image block is not an edge image block in the image to be encoded, then perform the step of determining the reference distortion influence parameter of the adjacent image block of the target image block; If the target image block is an edge image block in the image to be encoded, then determine the initial quantization adjustment parameter of the target image block according to the initial distortion influence parameter; the initial quantization adjustment parameter is used to adjust the encoding bit rate of the target image block.
8. A data processing device, characterized in that, The device includes: A first processing module, configured to determine the initial distortion influence parameter of the target image block of the image to be encoded, and determine the reference distortion influence parameter of the adjacent image block of the target image block; the initial distortion influence parameter is used to indicate the influence degree of the reference image block corresponding to the target image block on the encoding distortion of the target image block; A weight calculation module, configured to determine the adjustment weight corresponding to the target image block and the adjustment weight corresponding to the adjacent image block according to the image noise of multiple image blocks in the image to be encoded; A second processing module, configured to determine the target distortion influence parameter of the target image block according to the initial distortion influence parameter, the adjustment weight corresponding to the target image block, the reference distortion influence parameter, and the adjustment weight corresponding to the adjacent image block; An adjustment module, configured to determine the target quantization adjustment parameter of the target image block according to the initial distortion influence parameter and the target distortion influence parameter; the target quantization adjustment parameter is used to adjust the encoding bit rate of the target image block.
9. A computer device, characterized in that, Includes: A processor, a storage device, and a communication interface, the processor, the communication interface, and the storage device are interconnected, wherein the storage device stores executable program code, and the processor is configured to call the executable program code to implement the data processing method according to any one of claims 1-7.
10. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program, and the computer program includes program instructions. When the program instructions are executed by a processor, they are used to implement the data processing method described in any one of claims 1-7.
11. A computer program product, characterized in that, The computer program product includes a computer program or computer instructions. When the computer program or computer instructions are executed by a processor, they are used to implement the data processing method described in any one of claims 1-7.