Video encoding method, device, equipment and product

By obtaining the gradient information and brightness information of the unit to be encoded, the texture complexity is judged, and the intra-frame search operation is cancelled, which solves the problem of high encoding complexity of screen content in HEVC, and achieves more efficient video encoding.

CN114071148BActive Publication Date: 2025-08-12TENCENT TECHNOLOGY (SHENZHEN) CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202111361603.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-11-17
Publication Date
2025-08-12
Estimated Expiration
2041-11-17

AI Technical Summary

Technical Problem

In the existing video encoding standards, especially the screen content encoding tool IBC in HEVC, increases the complexity of video encoding and reduces encoding efficiency.

Method used

By obtaining the gradient information and brightness information of the unit to be encoded, the texture complexity is judged, the intra-frame search operation is canceled when certain conditions are met, and other encoding modes are used for encoding.

Benefits of technology

Reduces the complexity of video encoding and improves encoding speed and efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114071148B_ABST
    Figure CN114071148B_ABST
Patent Text Reader

Abstract

The present application discloses a video encoding method, apparatus, device and product, and relates to the field of video encoding and decoding technology. The method comprises: obtaining gradient information and brightness information of a unit to be encoded; when the gradient information meets a first condition, or the brightness information meets a second condition, canceling the intra-frame search operation for the unit to be encoded; when the intra-frame search operation is canceled, encoding the unit to be encoded to obtain the encoding information of the unit to be encoded. In the technical solution provided by the embodiment of the present application, by judging whether the gradient information of the unit to be encoded meets the first condition, and judging whether the corresponding pixel value difference information between at least two sub-coding units in the unit to be encoded meets the second condition, it is determined whether to skip the intra-frame search operation corresponding to the intra-frame block copy coding mode, thereby avoiding complex search operations on coding units with simple texture information, thereby improving video encoding speed and encoding efficiency.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of video coding and decoding technology, and in particular to a video coding method, apparatus, device and product. Background Art

[0002] Screen video is a video obtained by capturing the screen content of electronic devices such as computers and mobile phones. Screen video is widely used in scenarios such as video conferencing, online education, and remote desktop.

[0003] In current video coding standards, such as HEVC (High Efficiency Video Coding), an IBC (Intra Block Copy) prediction technology is introduced for SCC (Screen Content Coding).

[0004] Due to the addition of the new IBC coding tool, the complexity of video coding increases and the coding efficiency is low. Summary of the Invention

[0005] The embodiments of the present application provide a video encoding method, apparatus, device and product, which can reduce the complexity of video encoding and improve video encoding speed and encoding efficiency.

[0006] According to one aspect of an embodiment of the present application, a video encoding method is provided, the method comprising:

[0007] Obtaining gradient information and brightness information of a unit to be coded, where the gradient information and the brightness information are used to characterize texture complexity of the coding unit;

[0008] When the gradient information meets a first condition or the luminance information meets a second condition, canceling an intra-frame search operation for the unit to be coded; wherein the intra-frame search operation refers to a search operation corresponding to an intra block copy coding mode, and the first condition and the second condition are used to determine a coding unit whose texture complexity is lower than a preset complexity;

[0009] In the case of canceling the intra-frame search operation, encoding processing is performed on the unit to be encoded to obtain encoding information of the unit to be encoded.

[0010] According to one aspect of an embodiment of the present application, a video encoding apparatus is provided, the apparatus comprising:

[0011] An information acquisition module, configured to acquire gradient information and brightness information of a unit to be coded, wherein the gradient information and the brightness information are used to characterize the texture complexity of the coding unit;

[0012] a search operation module, configured to cancel an intra-frame search operation for the unit to be coded if the gradient information meets a first condition or the luminance information meets a second condition; wherein the intra-frame search operation refers to a search operation corresponding to an intra block copy coding mode, and the first condition and the second condition are used to determine a coding unit whose texture complexity is lower than a preset complexity;

[0013] The encoding module is configured to perform encoding processing on the unit to be encoded to obtain encoding information of the unit to be encoded when the intra-frame search operation is canceled.

[0014] According to one aspect of an embodiment of the present application, a computer device is provided, comprising a processor and a memory, wherein the memory stores at least one instruction, at least one program, a code set, or an instruction set, and the at least one instruction, the at least one program, the code set, or the instruction set is loaded and executed by the processor to implement the above-mentioned video encoding method.

[0015] According to one aspect of an embodiment of the present application, a computer-readable storage medium is provided, in which at least one instruction, at least one program, a code set or an instruction set is stored. The at least one instruction, the at least one program, the code set or the instruction set is loaded and executed by a processor to implement the above-mentioned video encoding method.

[0016] According to one aspect of an embodiment of the present application, a computer program product is provided, the computer program product including 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 executes the computer instructions, causing the computer device to implement the above-described video encoding method.

[0017] The technical solutions provided in the embodiments of the present application can bring the following beneficial effects:

[0018] The texture complexity of the unit to be coded is determined by judging whether the gradient information of the unit to be coded meets a first condition, and judging whether the pixel value difference information corresponding to each of at least two sub-coding units in the unit to be coded meets a second condition. When the gradient information meets the first condition or the pixel value difference information meets the second condition, the intra-frame search operation corresponding to the intra-block copy coding mode is skipped in advance, avoiding complex search operations for coding units with simple texture information, thereby reducing the complexity of video coding and improving video coding speed and coding efficiency. BRIEF DESCRIPTION OF THE DRAWINGS

[0019] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the following briefly introduces the drawings required for use in the description of the embodiments. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.

[0020] Figure 1 This is a basic flow chart of a video encoding process provided by one embodiment of the present application;

[0021] Figure 2 This is a basic flow chart of the intra-frame prediction process provided by one embodiment of the present application;

[0022] Figure 3 This is a schematic diagram of an intra-block copy mode provided by an embodiment of the present application;

[0023] Figure 4 is a simplified block diagram of a communication system provided by one embodiment of the present application;

[0024] Figure 5 This is a schematic diagram of a placement of a video encoder and a video decoder in a streaming environment provided by one embodiment of the present application;

[0025] Figure 6 This is the process of the video encoding method provided by an embodiment of the present application Figure 1 ;

[0026] Figure 7 This is the process of the video encoding method provided by an embodiment of the present application Figure 2 ;

[0027] Figure 8 A schematic diagram showing an example of a coding unit in a coding region;

[0028] Figure 9 This is the process of the video encoding method provided by an embodiment of the present application Figure 3 ;

[0029] Figure 10 A schematic diagram of dividing sub-coding units is exemplarily shown;

[0030] Figure 11 is a block diagram of a video encoding device provided by one embodiment of the present application;

[0031] Figure 12 This is a structural block diagram of a computer device provided in one embodiment of the present application. DETAILED DESCRIPTION

[0032] Before introducing the embodiment of the present invention, Figure 1A brief introduction to video coding technology. Please refer to Figure 1 , which shows a basic flow chart of the video encoding process provided by an embodiment of the present application.

[0033] A video signal is a sequence of images consisting of multiple frames. A frame represents the spatial information of a video signal. Taking the YUV format as an example, a frame consists of a matrix of luminance samples (Y) and two matrices of chrominance samples (Cb and Cr). Video signals can be acquired using two methods: those captured by a camera and those generated by a computer. Due to differences in statistical properties, the corresponding compression encoding methods may also differ.

[0034] Some mainstream video coding technologies, such as H.265 / HEVC, H.266 / VVC (Versatile Video Coding), and AVS (Audio Video Coding Standard) (such as AVS3), use a hybrid coding framework to perform the following operations and processing on the input raw video signal:

[0035] 1. Block Partition Structure: The input image is divided into several non-overlapping processing units, and each processing unit will perform similar compression operations. This processing unit is called CTU (Coding Tree Unit) or LCU (Large Coding Unit). Below the CTU, you can continue to make more detailed divisions to obtain one or more basic coding units, called CUs (Coding Units). Each CU is the most basic element in the encoding link. When making predictions, the CU needs to be further divided into different PUs (Predict Units). The following describes the various encoding methods that may be used for each CU.

[0036] 2. Predictive Coding: This includes methods such as intra-frame prediction and inter-frame prediction. The original video signal is predicted using a selected reconstructed video signal to produce a residual video signal. The encoder must select the most appropriate predictive coding mode for the current CU from among many possible modes and inform the decoder. Intra-frame prediction involves predicting the signal from an already coded and reconstructed area within the same image. Inter-frame prediction involves predicting the signal from an already coded image (called a reference image) that is different from the current image.

[0037] 3. Transform Coding and Quantization: The residual video signal undergoes transform operations such as the Discrete Fourier Transform (DFT) and Discrete Cosine Transform (DCT) to convert the signal into a transform domain, known as transform coefficients. The signal in the transform domain is further subjected to a lossy quantization operation, which loses some information, making the quantized signal more suitable for compression. Some video coding standards may offer more than one transform method. Therefore, the encoder must select one for the current CU and inform the decoder. The level of quantization is typically determined by the quantization parameter (QP). A larger QP value means that coefficients with a larger value range will be quantized into the same output, which generally results in greater distortion and a lower bitrate. Conversely, a smaller QP value means that coefficients with a smaller value range will be quantized into the same output, which generally results in less distortion and a higher bitrate.

[0038] 4. Entropy Coding or Statistical Coding: The quantized transform domain signal will be statistically compressed and encoded according to the frequency of occurrence of each value, and finally a binary (0 or 1) compressed code stream will be output. At the same time, the encoding generates other information, such as the selected mode, motion vector, etc., which also need to be entropy coded to reduce the bit rate. Statistical coding is a lossless coding method that can effectively reduce the bit rate required to express the same signal. Common statistical coding methods include variable length coding (VLC) or context-based binary arithmetic coding (CABAC).

[0039] 5. Loop Filtering: The encoded image undergoes inverse quantization, inverse transformation, and prediction compensation (the reverse operations of 2 to 4 above) to obtain a reconstructed decoded image. Compared with the original image, the reconstructed image has some information that is different from the original image due to the influence of quantization, resulting in distortion. Filtering the reconstructed image, such as deblocking, SAO (Sample Adaptive Offset), or ALF (Adaptive Lattice Filter), can effectively reduce the distortion caused by quantization. Since these filtered reconstructed images will serve as a reference for subsequent encoded images and be used to predict future signals, the above filtering operation is also called loop filtering, and the filtering operation within the encoding loop.

[0040] Secondly, combined Figure 2 A brief introduction to HEVC intra-frame prediction technology. Please refer to Figure 2 , which shows a basic flow chart of the intra-frame prediction process provided by one embodiment of the present application. Figure 2 As shown, the intra-frame prediction process may include the following steps:

[0041] 1. Reference pixel preparation: Since images or videos have strong spatial correlation, that is, for a certain pixel, the pixel value and its neighboring pixel values will be very close, therefore, in general, the coded pixel closest to the current PU is selected as the reference pixel for the pixel in the current PU. Optionally, in HEVC, the reference pixel is a row above and a column to the left of the current PU. For example, for an N×N PU, the top left N pixels, top right N pixels, left N pixels, bottom left N pixels, and top left 1 pixel are selected, for a total of 4N+1 pixels as reference pixels, where N is an integer greater than 1.

[0042] 2. Intra-frame Mode Selection: HEVC offers 35 traditional intra-frame prediction modes, including DC mode, Planar mode, and 33 angular modes. Furthermore, HEVC has added several optimized intra-frame prediction modes for the SCC intra-frame prediction process, including IBC and PLT. The PLT mode enumerates the color values of each coding block to generate a color table and assigns an index to each sample to indicate which color in the table it belongs to. The decoder then generates a color table based on the rules and reconstructs the sample using the color table index. Due to the computational complexity of the PLT mode, it is typically only used for coding blocks with a small number of colors. IBC is an intra-frame coding tool adopted in the HEVC Screen Content Coding (SCC) extension. It uses reconstructed blocks in the current frame as prediction blocks and performs motion compensation within the current coded image. This significantly improves the coding efficiency of screen content. AVS3 and VVC also incorporate IBC technology to improve screen content coding performance. IBC uses the spatial correlation of screen content video and uses the coded image pixels on the current image to predict the pixels of the current block to be coded, which can effectively save the bits required for coding pixels. Figure 3 As shown in Figure 1, the displacement between the current block and its reference block in IBC is called BV (block vector). H.266 / VVC uses a BV prediction technique similar to inter-frame prediction to further save the bits required to encode BV and allows encoding BVD (block vector difference) with 1 or 4 pixel resolution.

[0043] 3. Reference pixel filtering: During intra-frame prediction, in order to reduce noise and improve prediction accuracy, it is usually necessary to perform smoothing filtering on the reference pixels when selecting certain prediction modes. For example, for DC mode and Planar mode, if the PU block size is 4×4, no smoothing filtering is required; if the PU block size is other sizes, then the DC mode does not require smoothing filtering, while the Planar mode requires smoothing filtering. For example, for angle modes, if the PU block size is 8×8, only angle modes with mode numbers 2, 18, and 34 are subjected to conventional smoothing filtering; if the PU block size is 16×16, then, except for angle modes with mode numbers 9, 10, 11, 25, 26, and 27, all other 27 angle modes require conventional smoothing filtering; if the PU block size is 32×32, then, except for angle modes with mode numbers 10 and 26, all other 31 angle modes require conventional smoothing filtering or strong filtering.

[0044] 4. Prediction boundary smoothing: To remove the discontinuity effect at the boundary, for PUs with a block size smaller than 32×32, when using traditional intra prediction modes with mode numbers 1, 10, and 26, the first row and column after PU prediction are filtered to smooth the PU boundary values.

[0045] 5. Intra-frame mode encoding: After the intra-frame prediction mode is selected, the intra-frame prediction mode must be transmitted to the decoding end through the encoder. Since there are 35 traditional intra-frame prediction modes, 6 bits are required to encode these 35 modes. HEVC defines 3 most probable modes (MPMs) for the current PU, namely: MPM[0], MPM[1], MPM[2]. If the current intra-frame prediction mode is within these 3 most probable modes, only its index needs to be encoded; if the current intra-frame prediction mode is not within these 3 most probable modes, only 5 bits are required to encode it.

[0046] Next, please refer to Figure 4 , which shows a simplified block diagram of a communication system provided by an embodiment of the present application. The communication system 200 includes a plurality of devices, which can communicate with each other via, for example, a network 250. For example, the communication system 200 includes a first device 210 and a second device 220 interconnected via the network 250. Figure 4 In an embodiment, the first device 210 and the second device 220 perform unidirectional data transmission. For example, the first device 210 may encode video data, such as a video picture stream captured by the first device 210, for transmission to the second device 220 via the network 250. The encoded video data is transmitted in the form of one or more encoded video streams. The second device 220 may receive the encoded video data from the network 250, decode the encoded video data to recover the video data, and display the video picture based on the recovered video data. Unidirectional data transmission is common in applications such as media services.

[0047] In another embodiment, the communication system 200 includes a third device 230 and a fourth device 240 that perform bidirectional transmission of encoded video data, which can occur, for example, during a video conference. For bidirectional data transmission, each of the third device 230 and the fourth device 240 can encode video data (e.g., a video picture stream captured by the device) for transmission to the other of the third device 230 and the fourth device 240 via the network 250. Each of the third device 230 and the fourth device 240 can also receive the encoded video data transmitted by the other of the third device 230 and the fourth device 240, decode the encoded video data to recover the video data, and display the video pictures on an accessible display device based on the recovered video data.

[0048] exist Figure 4 In the embodiment of the present invention, the first device 210, the second device 220, the third device 230 and the fourth device 240 may be computer devices such as servers and terminals. The embodiments of the present application are applicable to PCs (Personal Computers), mobile phones, tablet computers, media players and / or dedicated video conferencing equipment. The network 250 represents any number of networks that transmit encoded video data between the first device 210, the second device 220, the third device 230 and the fourth device 240, including, for example, wired and / or wireless communication networks. The communication network 250 can exchange data in circuit switching and / or packet switching channels. The network may include a telecommunications network, a local area network, a wide area network and / or the Internet. For the purposes of this application, unless explained below, the architecture and topology of the network 250 may be irrelevant to the operations disclosed in this application.

[0049] As an example, Figure 5 The following figure illustrates the placement of a video encoder and a video decoder in a streaming environment. The subject matter disclosed herein is equally applicable to other video-enabled applications, including, for example, video conferencing, remote desktop, online teaching, digital TV, and storing compressed video on digital media such as CDs (Compact Discs), DVDs (Digital Versatile Discs), and memory sticks.

[0050] The streaming system may include an acquisition subsystem 313, which may include a video source 301, such as a digital camera, that creates an uncompressed video picture stream 302. In one embodiment, video picture stream 302 includes samples captured by the digital camera. Video picture stream 302 is depicted as a thicker line to emphasize the higher data volume of the video picture stream compared to encoded video data 304 (or encoded video stream). Video picture stream 302 may be processed by an electronic device 320, which includes a video encoder 303 coupled to video source 301. Video encoder 303 may include hardware, software, or a combination of hardware and software to implement or embody various aspects of the disclosed subject matter, as described in greater detail below. Encoded video data 304 (or encoded video stream 304) is depicted as a thinner line to emphasize the lower data volume of the encoded video data 304 (or encoded video stream 304), which may be stored on a streaming server 305 for future use. One or more streaming client subsystems, such as Figure 5304. Client subsystem 306 and client subsystem 308 in the embodiment of the present invention may access streaming server 305 to retrieve copy 307 and copy 309 of encoded video data 304. Client subsystem 306 may include, for example, a video decoder 310 in electronic device 330. Video decoder 310 decodes the incoming copy 307 of the encoded video data and produces an output video picture stream 311 that can be presented on a display 312 (e.g., a display screen) or another presentation device (not depicted). In some streaming systems, the encoded video data 304, copy 307, and copy 309 (e.g., video code streams) may be encoded according to certain video encoding / compression standards.

[0051] It should be noted that electronic device 320 and electronic device 330 may include other components (not shown). For example, electronic device 320 may include a video decoder (not shown), and electronic device 330 may further include a video encoder (not shown). The video decoder is used to decode received encoded video data, and the video encoder is used to encode video data.

[0052] It should be noted that the technical solution provided in the embodiments of the present application can be applied to the H.266 / VVC standard, the H.265 / HEVC standard, AVS (such as AVS3) or the next-generation video coding and decoding standard, and the embodiments of the present application are not limited to this.

[0053] Another point that needs to be explained is that the execution subject of each step of the video encoding method provided in the embodiment of the present application can be an encoding end device. In the process of video encoding, the technical solution provided in the embodiment of the present application can be adopted to select the intra-frame prediction mode in the intra-frame prediction process. The encoding end device can be a computer device, which refers to an electronic device with data calculation, processing and storage capabilities, such as a mobile phone, computer, personal computer, tablet computer, media player, dedicated video conferencing equipment, server, intelligent voice interaction equipment, smart home appliances, vehicle-mounted terminals, etc. In addition, the method provided in the present application can be used alone or in combination with other methods in any order. The encoder based on the method provided in the present application can be implemented by one or more processors or one or more integrated circuits.

[0054] In addition, the technical solution of this application relates to the field of cloud technology. The following introduces and explains cloud technology and related applications.

[0055] Cloud technology refers to a hosting technology that unifies hardware, software, network and other resources within a wide area network or local area network to achieve data computing, storage, processing and sharing.

[0056] Cloud conferencing is an efficient, convenient, and low-cost conferencing format based on cloud computing technology. Users can quickly and efficiently share voice, data, and video with teams and clients around the world through a simple, easy-to-use internet interface. The cloud conferencing service provider handles the complex technical aspects of data transmission and processing.

[0057] Cloud gaming, also known as gaming on demand, is an online gaming technology based on cloud computing. Cloud gaming enables thin clients with relatively limited graphics and data processing capabilities to run high-quality games. In cloud gaming scenarios, the game runs not on the player's terminal but on a cloud server. The cloud server renders the game scene into a video and audio stream, which is then transmitted to the player's terminal over the network. The player's terminal does not need powerful graphics and data processing capabilities; it only needs basic streaming capabilities and the ability to receive player input and send it to the cloud server.

[0058] Cloud Computing Education (CCEDU) refers to an educational platform service based on a cloud computing business model. On this cloud platform, all educational institutions, training programs, enrollment services, publicity agencies, industry associations, regulatory bodies, industry media, and legal structures are integrated into a centralized resource pool. These resources interact and showcase each other, enabling on-demand communication and reaching consensus, thereby reducing educational costs and improving efficiency.

[0059] With the widespread adoption of technologies such as cloud computing, cloud conferencing systems, cloud gaming, cloud education, and virtual desktops, screen content images have become an integral part of the next generation of cloud—the mobile computing model. Screen video, captured by capturing the screen content of electronic devices such as computers and mobile phones, is widely used in scenarios such as video conferencing, online education, and remote desktops. Screen video content comes in a variety of forms, including presentations and documents. It differs significantly from traditional natural video in many ways, such as having a low number of colors in local areas, numerous sharp boundaries, numerous flat areas, and repetitive textures.

[0060] Due to the inherent characteristics of screen video, the International Standards Organization has developed a standard for screen compression called SCC, an extension of the HEVC standard. The SCC standard's biggest improvement over HEVC is the addition of tools specifically designed for screen compression: IBC and palettes, which significantly improve compression performance.

[0061] Since the addition of new encoding tools will inevitably lead to an increase in the complexity of the corresponding encoder, in order to reduce the complexity of screen video encoding, this application proposes a video encoding method that can encode based on the texture characteristics of the encoding unit.

[0062] In order to make the objectives, technical solutions and advantages of this application clearer, the implementation methods of this application will be further described in detail below with reference to the accompanying drawings.

[0063] Please refer to Figure 6 , which shows the process of the video encoding method provided by an embodiment of the present application Figure 1 The method can be applied to a computer device, which refers to an electronic device with data calculation and processing capabilities. The method can include the following steps (610-630).

[0064] Step 610: Obtain gradient information and brightness information of the unit to be encoded.

[0065] In an exemplary embodiment, the unit to be encoded is a current unit to be encoded in an image area to be encoded in a screen video.

[0066] The image region to be encoded is an image region to be encoded in a video frame in a video. The video frame includes: an intra-frame prediction frame (I frame), an inter-frame prediction frame (P frame), and an inter-frame prediction frame (B frame).

[0067] Among them, the intra-frame prediction frame uses intra-frame information for prediction; the inter-frame prediction frame can use intra-frame prediction and inter-frame prediction, and can be forward referenced for prediction; the inter-frame prediction frame can use intra-frame prediction and inter-frame prediction, and can be forward, backward, and bidirectional referenced for prediction.

[0068] Gradient information and luminance information are used to characterize the texture complexity of a coding unit. This texture complexity is used to characterize the amount of texture information within a coding unit. The amount of texture information within a coding unit is positively correlated with the texture complexity; the richer the texture information within a coding unit, the higher the texture complexity of the coding unit.

[0069] In the embodiment of the present application, the gradient information and brightness information of the coding unit can be used to represent the texture complexity of the coding unit. Among them, the gradient information can represent the texture complexity of the coding unit alone, and the brightness information can also represent the texture complexity of the coding unit alone.

[0070] This gradient information is pixel value variation information determined based on the pixel values of multiple pixels within a coding unit and is used to characterize the degree of pixel value variation between the multiple pixels. For coding units with rich texture information, the degree of pixel value variation between the multiple pixels within the coding unit is relatively large, so gradient information can be used to characterize the texture complexity of the coding unit.

[0071] The brightness information includes average pixel value information determined based on the pixel values of pixels within multiple regions within the coding unit. Optionally, the brightness component of the pixel values can be selected for calculation to obtain the brightness information corresponding to the coding unit. For coding units with rich texture information, the average pixel values corresponding to pixels within multiple regions of the coding unit vary significantly, so the brightness information can be used to represent the texture complexity of the coding unit.

[0072] The brightness information also includes pixel value difference information between at least two sub-coding units within the unit to be coded. In one possible implementation, the unit to be coded can be divided into at least two sub-coding units. The pixel values of the pixels within each sub-coding unit are then determined to determine the average pixel value corresponding to each sub-coding unit. This average pixel value difference between each sub-coding unit can then be obtained. The average pixel value difference can represent the pixel value difference information.

[0073] In an exemplary embodiment, the gradient information includes the average gradient value corresponding to at least two sub-coding units within the unit to be encoded; the brightness information includes the average pixel value corresponding to at least two sub-coding units within the unit to be encoded. The sub-coding units are further refined image units obtained by dividing the unit to be encoded according to a certain division method. In one possible implementation, the unit to be encoded is divided into four encoding sub-units. Optionally, the four sub-coding units are image units of the same size.

[0074] Accordingly, to obtain the average gradient value and average pixel value corresponding to the at least two sub-coding units, as shown in FIG. Figure 7 As shown, the implementation process of the above step 610 includes the following steps (611-614): Figure 7 The process of the video encoding method provided by an embodiment of the present application is shown Figure 2 .

[0075] Step 611: Divide the unit to be encoded into at least two sub-coding units.

[0076] In one example, if Figure 8 As shown in FIG, a schematic diagram of a coding unit in a coding area is exemplarily shown. Among a plurality of pixel points corresponding to a video image, a unit to be coded 80 is determined. The unit to be coded 80 is an 8×8 coding block.

[0077] In the embodiment of the present application, the unit to be encoded can be divided to obtain sub-coding units corresponding to the unit to be encoded, so as to facilitate determination of gradient information and brightness information corresponding to the unit to be encoded.

[0078] Step 612: Determine the average gradient value and average pixel value corresponding to at least two sub-coding units.

[0079] Get multiple pixels in each sub-coding unit

[0080] In a possible implementation manner, the above average gradient value and average pixel value are the average gradient value and average pixel value calculated in a hash calculation process of the unit to be encoded.

[0081] Correspondingly, such as Figure 9 As shown, the above step 612 can be replaced by the following step 612a. Figure 9 The process of the video encoding method provided by an embodiment of the present application is shown Figure 3 .

[0082] Step 612a: In the process of determining the hash value corresponding to the unit to be coded, retrieve the average gradient value and the average pixel value corresponding to at least two sub-coding units.

[0083] In one possible implementation, the video encoding process typically requires calculating a hash value corresponding to a coding unit. When performing hash calculations on a coding unit, such as an 8×8 coding unit, the coding unit is typically divided into four sub-coding units. The features of each sub-coding unit are then calculated separately and combined to obtain the hash value of the coding unit. The features of the sub-coding units that need to be calculated typically include the mean absolute error, mean gradient, and mean pixel value corresponding to multiple pixel values within the sub-coding unit.

[0084] In one example, if Figure 10 As shown, it exemplarily shows a schematic diagram of dividing sub-coding units. Figure 10 The coding unit is divided into four sub-coding units, and each sub-coding unit is marked with a number, which is 0, 1, 2, and 3, corresponding to the sub-coding units at the four positions. Figure 10 Taking the coding unit division method shown as an example, the process of determining the hash value of the coding unit is explained.

[0085] In the process of constructing the hash value of the coding unit, the hash value is generally represented by a 16-bit integer. Optionally, the hash value is constructed using the average pixel value and the average gradient value. In the process of hash value calculation, each 8×8 pixel block, i.e., coding unit, is processed in turn, such as Figure 10 As shown, the current unit to be coded is divided into four 4x4 sub-blocks, namely the above-mentioned sub-coding units, marked as 0, 1, 2, and 3. The average pixel value avg of these four sub-blocks is calculated in turn. i (usually 8 bits), and only take the first 3 bits, as shown in formula (1), to get the average pixel feature value avg′ i In addition, the average gradient value grad of each sub-block is calculated iThe above average gradient value is the average of the horizontal gradient and the vertical gradient in the sub-coding unit. The grad of each sub-block is i The average gradient value of the 8×8 pixel block is obtained by averaging, and only the first 4 bits are taken, as shown in formula (2), to obtain the average gradient feature value grad. Finally, the 4 sub-blocks grad i Perform position adjustment to obtain the adjusted average pixel value avg" of each sub-block i , where i = 0, 1, 2, 3. Finally, the average pixel value avg" after adjustment of each sub-block is i (12 bits in total) and the average gradient eigenvalue grad (4 bits) are combined to obtain a 16-bit number, as shown in formula (3), which is the hash value of the current 8x8 pixel block.

[0086] avg′ i =(avg i >>5)&0x7,i=0,1,2,3 (1)

[0087]

[0088] avg″0=avg′0<<13, avg″1=avg′1<<10, avg″2=avg′2<<7, avg″3=avg′3<<4

[0089] hashIdx=avg″0+avg″1+avg″2+avg″3+grad (3)

[0090] Therefore, when determining the average gradient value and average pixel value corresponding to at least two sub-coding units of the current unit to be encoded, the average gradient value and average pixel value corresponding to each sub-coding unit calculated in the process of determining the hash value of the current unit to be encoded can be directly reused without recalculation, thereby reducing the amount of calculation, shortening the encoding time, and improving the encoding speed.

[0091] Step 613: Obtain gradient information based on the average gradient values corresponding to at least two sub-coding units.

[0092] The gradient information corresponding to the above coding unit includes the average gradient value corresponding to each sub-coding unit.

[0093] Step 614: Determine pixel value difference information based on average pixel values corresponding to at least two sub-coding units.

[0094] The pixel value difference information includes the corresponding average pixel value differences between at least two sub-coding units in the unit to be coded.

[0095] Step 620 : When the gradient information meets the first condition, or the pixel value difference information meets the second condition, cancel the intra-frame search operation for the unit to be encoded.

[0096] The intra-frame search operation refers to a search operation corresponding to the intra-frame block copy coding mode, and the first condition and the second condition are used to determine a coding unit whose texture complexity is lower than a preset complexity.

[0097] By judging whether the gradient information meets the first condition and judging whether the pixel value difference information meets the second condition, it is judged whether the current unit to be encoded is a coding unit with a texture complexity lower than the preset complexity. By determining whether the texture of the unit to be encoded is relatively simple, it is selected whether to perform an intra-frame search operation.

[0098] If the gradient information meets the first condition, the texture complexity of the unit to be coded can be determined to be low. If the pixel value difference information meets the second condition, the texture complexity of the unit to be coded can be determined to be low. If either of the above two conditions is met, the IBC search operation for the unit to be coded can be skipped.

[0099] In the encoding scenario of screen videos, there are a lot of repeated textures in the screen video, such as the same text appears multiple times in one frame. The intra-frame prediction method based on IBC can perform efficient prediction, thereby improving the encoding quality. The intra-frame block matching method in the SCC standard can be referenced. Figure 3 . The IBC search operation is to search the area of the current unit to be encoded (CU) that has been encoded in the current frame, and use the block closest to it obtained by the search as the prediction block of the current CU. The problem with the IBC algorithm is that it requires a large number of block matches and has high coding complexity. Therefore, in the embodiment of the present application, by judging the gradient information and brightness information of the unit to be encoded, the search operation for the coding unit with simple texture information can be skipped, and the coding unit with simple texture information can be encoded according to other coding modes, thereby achieving efficient intra-frame search operations.

[0100] In an exemplary embodiment, the gradient information includes the average gradient value corresponding to at least two sub-coding units in the unit to be coded. Figure 7 As shown, the implementation process of the above step 620 includes the following steps (621-622).

[0101] Step 621 : When the average gradient values corresponding to at least two sub-coding units are both smaller than the gradient threshold, cancel the intra-frame search operation for the unit to be coded.

[0102] The first condition refers to the condition that the average gradient values corresponding to at least two sub-coding units are both smaller than the gradient threshold.

[0103] In the first condition, the average gradient value can represent texture complexity, and the gradient threshold can represent the preset complexity. If the average gradient values of each sub-coding unit of the coding unit to be coded are all less than the gradient threshold, it means that the degree of pixel value variation in each sub-coding unit is small. The coding unit can be determined to have a simple texture, and the intra-frame search operation for this coding unit can be skipped.

[0104] In one possible implementation, Figure 9 As shown, the implementation process of the above step 621 includes the following steps (621a~621b).

[0105] Step 621a: Determine the maximum average gradient value among the average gradient values corresponding to at least two sub-coding units.

[0106] The maximum average gradient value is the maximum value among the average gradient values corresponding to the sub-coding units.

[0107] Step 621b: If the maximum average gradient value is less than the gradient threshold, the intra-frame search operation for the unit to be encoded is canceled.

[0108] The case where the maximum average gradient value is less than the gradient threshold can be expressed by the following formula (4):

[0109] max(grad0, grad1, grad2, grad3) <TH1(4)

[0110] Among them, grad0, grad1, grad2, and grad3 are the average gradient values corresponding to sub-coding unit 0, sub-coding unit 1, sub-coding unit 2, and sub-coding unit 3 respectively, max(grad0, grad1, grad2, grad3) represents the maximum average gradient value, and TH1 represents the above gradient threshold.

[0111] By determining the maximum average gradient value and comparing it with the gradient threshold, we can quickly determine whether the gradient information of the unit to be coded meets the first condition. If the maximum average gradient values are all less than the gradient threshold, it means that the average gradient values of each sub-coding unit are also less than the gradient threshold, proving that the gradient information of the unit to be coded meets the first condition. If the maximum average gradient value is greater than or equal to the gradient threshold, it indicates that the unit to be coded contains sub-coding units with rich texture information, proving that the gradient information of the unit to be coded does not meet the first condition.

[0112] Step 622 : When the average pixel value differences between at least two sub-coding units are all smaller than the difference threshold, cancel the intra-frame search operation for the unit to be coded.

[0113] Among them, the second condition refers to the condition that the average pixel value differences corresponding to at least two sub-coding units are all less than the difference threshold, and the above-mentioned pixel value difference information includes the average pixel value differences corresponding to at least two sub-coding units.

[0114] In the second condition, the average pixel value differences between each pair of sub-coding units can represent texture complexity, and the difference threshold can represent a preset complexity. If the average pixel value differences between each pair of sub-coding units of the unit to be coded are all less than the difference threshold, it indicates that the average pixel values of the sub-coding units are relatively close and the degree of pixel value variation between the sub-coding units is small. Therefore, the coding unit can be determined to have a simple texture, and the IBC search operation for this coding unit can be skipped.

[0115] The average pixel value differences corresponding to each pair of sub-coding units can be determined by traversal calculation to obtain the difference between the average pixel values of any two sub-coding units in the coding unit, which can then be compared with the difference threshold.

[0116] In one possible implementation, Figure 9 As shown, the implementation process of the above step 622 includes the following steps (622a~622b).

[0117] Step 622a: Determine the maximum average pixel value and the minimum average pixel value among the average pixel values corresponding to at least two sub-coding units.

[0118] The maximum average pixel value is the maximum value among the average pixel values corresponding to at least two sub-coding units, and the minimum average pixel value is the minimum value among the average pixel values corresponding to at least two sub-coding units.

[0119] Step 622b: If the difference between the maximum average pixel value and the minimum average pixel value is less than the difference threshold, cancel the intra-frame search operation for the unit to be encoded.

[0120] In order to quickly determine the relationship between the average pixel value difference corresponding to each pair of sub-coding units and the difference threshold, the above-mentioned maximum average pixel value and minimum average pixel value can be obtained. The difference between the above-mentioned maximum average pixel value and the minimum average pixel value is the maximum average pixel value difference among the average pixel value differences corresponding to each pair of sub-coding units. If the maximum average pixel value difference is also less than the difference threshold, it can be proved that the average pixel value differences corresponding to each pair of sub-coding units are all less than the difference threshold, indicating that the brightness information of the unit to be encoded meets the second condition, and the IBC search operation for the coding unit can be skipped.

[0121] The case where the difference between the maximum average pixel value and the minimum average pixel value is less than the difference threshold can be expressed by the following formula (5):

[0122] max(avg0, avg1, avg2, avg3)-min(avg0, avg1, avg2, avg3) <TH2(5)

[0123] Among them, avg0, avg1, avg2, and avg3 represent the average pixel values corresponding to sub-coding unit 0, sub-coding unit 1, sub-coding unit 2, and sub-coding unit 3, respectively; max(avg0, avg1, avg2, avg3) represents the maximum average pixel value; min(avg0, avg1, avg2, avg3) represents the minimum average pixel value; and TH2 represents the difference threshold.

[0124] Step 630 : When the intra-frame search operation is canceled, encoding is performed on the unit to be encoded to obtain encoding information of the unit to be encoded.

[0125] The encoding process of the unit to be encoded may be performed according to a video codec standard. The video codec standard refers to a certain agreed video code stream encoding and decoding rule.

[0126] The above-mentioned case of canceling the intra-frame search operation is a non-IBC coding mode. In the non-IBC coding mode, the unit to be coded can be coded according to other intra-frame coding methods to obtain coding information of the unit to be coded.

[0127] In summary, the technical solution provided by the embodiments of the present application determines the texture complexity of the unit to be encoded by judging whether the gradient information of the unit to be encoded meets the first condition, and judging whether the corresponding pixel value difference information between at least two sub-coding units in the unit to be encoded meets the second condition. When the gradient information meets the first condition or the pixel value difference information meets the second condition, the intra-frame search operation corresponding to the intra-frame block copy coding mode is skipped in advance, avoiding complex search operations for coding units with simple texture information, thereby reducing the complexity of video encoding and improving video encoding speed and encoding efficiency.

[0128] In addition, the embodiment of the present application uses the characteristic value obtained by the hash calculation process to determine whether the texture of the current block is relatively simple, thereby reducing the amount of data calculation. In addition to the effect of reducing the encoding complexity by skipping the IBC search process in advance for blocks with simple textures, the encoding efficiency can be improved without additional data calculation. It can be applied to various application products related to video encoding, such as video calls, video sharing, video websites, remote conferences, etc., which can effectively improve the encoding speed and encoding efficiency and enhance the user experience.

[0129] The following are device embodiments of the present application, which can be used to implement the method embodiments of the present application. For details not disclosed in the device embodiments of the present application, please refer to the method embodiments of the present application.

[0130] Please refer to Figure 11 , which shows a block diagram of a video encoding device provided by one embodiment of the present application. This device has the functionality to implement the aforementioned video encoding method. This functionality can be implemented by hardware or by hardware executing corresponding software. This device can be a computer device or can be provided within a computer device. This device 1100 may include: an information acquisition module 1110, a search operation module 1120, and an encoding module 1130.

[0131] An information acquisition module 1110 is configured to acquire gradient information and brightness information of a unit to be coded, wherein the gradient information and the brightness information are used to represent texture complexity of the coding unit, and the brightness information includes pixel value difference information corresponding to each of at least two sub-coding units in the unit to be coded;

[0132] A search operation module 1120 is configured to cancel an intra-frame search operation for the unit to be coded if the gradient information satisfies a first condition or the pixel value difference information satisfies a second condition; wherein the intra-frame search operation refers to a search operation corresponding to an intra block copy coding mode, and the first condition and the second condition are used to determine a coding unit whose texture complexity is lower than a preset complexity;

[0133] The encoding module 1130 is configured to perform encoding processing on the unit to be encoded to obtain encoding information of the unit to be encoded when the intra-frame search operation is canceled.

[0134] In an exemplary embodiment, the gradient information includes an average gradient value corresponding to the at least two sub-coding units, and the search operation module 1120 is configured to cancel the intra-frame search operation for the unit to be coded if the average gradient values corresponding to the at least two sub-coding units are both less than a gradient threshold;

[0135] The first condition refers to the condition that the average gradient values corresponding to the at least two sub-coding units are both less than the gradient threshold.

[0136] In an exemplary embodiment, the search operation module 1120 includes: a gradient extreme value determination unit and a search operation unit.

[0137] The gradient extreme value determining unit is configured to determine the maximum average gradient value among the average gradient values corresponding to the at least two sub-coding units.

[0138] The search operation unit is configured to cancel the intra-frame search operation for the unit to be encoded if the maximum average gradient value is less than the gradient threshold.

[0139] In an exemplary embodiment, the pixel value difference information includes average pixel value differences between each of the at least two sub-coding units, and the search operation module 1120 is further configured to cancel the intra-frame search operation for the unit to be coded if the average pixel value differences between each of the at least two sub-coding units are all less than a difference threshold.

[0140] The second condition refers to the condition that the average pixel value differences corresponding to each of the at least two sub-coding units are all smaller than the difference threshold.

[0141] In an exemplary embodiment, the search operation module 1120 further includes a pixel extreme value determination unit.

[0142] The pixel extreme value determination unit is used to determine the maximum average pixel value and the minimum average pixel value among the average pixel values corresponding to the at least two sub-coding units.

[0143] The search operation unit is configured to cancel the intra-frame search operation for the unit to be encoded if the difference between the maximum average pixel value and the minimum average pixel value is less than the difference threshold.

[0144] In an exemplary embodiment, the information acquisition module 1110 includes: a coding unit division unit, a parameter determination unit, a gradient information determination unit, and a brightness information determination unit.

[0145] The coding unit division unit is used to divide the to-be-coded unit into at least two sub-coding units.

[0146] A parameter determination unit is used to determine an average gradient value and an average pixel value corresponding to the at least two sub-coding units.

[0147] A gradient information determining unit is configured to obtain the gradient information based on an average gradient value corresponding to the at least two sub-coding units.

[0148] A brightness information determining unit is configured to determine the pixel value difference information based on an average pixel value corresponding to the at least two sub-coding units.

[0149] In an exemplary embodiment, the parameter determination unit is specifically configured to retrieve the average gradient value and the average pixel value corresponding to the at least two sub-coding units during the process of determining the hash value corresponding to the unit to be encoded.

[0150] In an exemplary embodiment, the unit to be encoded is a current unit to be encoded in an image area to be encoded in a screen video.

[0151] In summary, the technical solution provided by the embodiments of the present application determines the texture complexity of the unit to be encoded by judging whether the gradient information of the unit to be encoded meets the first condition, and judging whether the corresponding pixel value difference information between at least two sub-coding units in the unit to be encoded meets the second condition. When the gradient information meets the first condition or the pixel value difference information meets the second condition, the intra-frame search operation corresponding to the intra-frame block copy coding mode is skipped in advance, avoiding complex search operations for coding units with simple texture information, thereby reducing the complexity of video encoding and improving video encoding speed and encoding efficiency.

[0152] It should be noted that the apparatus provided in the above embodiments, when implementing its functions, is only illustrated by the division of the above functional modules. In actual applications, the above functions can be assigned to different functional modules as needed, that is, the internal structure of the device can be divided into different functional modules to complete all or part of the functions described above. In addition, the apparatus and method embodiments provided in the above embodiments are based on the same concept. The specific implementation process is detailed in the method embodiment and will not be repeated here.

[0153] Please refer to Figure 12 , which shows a block diagram of a computer device provided in one embodiment of the present application. The computer device may be an encoding end device. The computer device 90 may include: a processor 91, a memory 92, a communication interface 93, an encoder / decoder 94, and a bus 95.

[0154] The processor 91 includes one or more processing cores. The processor 91 executes various functional applications and information processing by running software programs and modules.

[0155] The memory 92 stores at least one instruction, at least one program, code set or instruction set, and the at least one instruction, at least one program, code set or instruction set is loaded and executed by the processor 91 to implement the above-mentioned video encoding method.

[0156] The communication interface 93 may be used to communicate with other devices, such as to receive and transmit audio and video data.

[0157] The encoder / decoder 94 may be used to implement encoding and decoding functions, such as encoding and decoding audio and video data.

[0158] The memory 92 is connected to the processor 91 via a bus 95 .

[0159] In addition, the memory 92 can be implemented by any type of volatile or non-volatile storage device or a combination thereof. Volatile or non-volatile storage devices include but are not limited to: magnetic disks or optical disks, EEPROM (Electrically Erasable Programmable Read-Only Memory), EPROM (Erasable Programmable Read-Only Memory), SRAM (Static Random-Access Memory), ROM (Read-Only Memory), magnetic memory, flash memory, PROM (Programmable Read-Only Memory).

[0160] Those skilled in the art will understand that Figure 9 The structure shown in the figure does not constitute a limitation on the computer device 90, and the computer device 90 may include more or fewer components than shown in the figure, or combine certain components, or adopt a different component arrangement.

[0161] In an exemplary embodiment, a computer-readable storage medium is also provided, in which at least one instruction, at least one program, a code set or an instruction set is stored. When the at least one instruction, the at least one program, the code set or the instruction set is executed by a processor, the above-mentioned video encoding method is implemented.

[0162] Optionally, the computer-readable storage medium may include: ROM (Read Only Memory), RAM (Random Access Memory), SSD (Solid State Drives), or an optical disk, etc. Among them, the random access memory may include ReRAM (Resistance Random Access Memory) and DRAM (Dynamic Random Access Memory).

[0163] In an exemplary embodiment, a computer program product or computer program is also provided, the computer program product or computer program including 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 executes the computer instructions, causing the computer device to perform the above-described video encoding method.

[0164] It should be understood that the "multiple" mentioned in this article refers to two or more. "And / or" describes the association relationship of associated objects, indicating that three relationships may exist. For example, A and / or B can represent three situations: A exists alone, A and B exist at the same time, and B exists alone. The character " / " generally indicates that the previous and subsequent associated objects are in an "or" relationship. In addition, the step numbers described in this article only illustrate a possible execution sequence between the steps. In some other embodiments, the above steps may not be executed in the order of the numbers, such as two steps with different numbers are executed at the same time, or two steps with different numbers are executed in the opposite order to the diagram. The embodiments of the present application do not limit this.

[0165] The above description is merely an exemplary embodiment of the present application and is not intended to limit the present application. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of the present application shall be included in the scope of protection of the present application.

Claims

1. A video encoding method, characterized in that: The method comprises: Obtaining gradient information and brightness information of a unit to be encoded, where the gradient information and the brightness information are used to represent texture complexity of the coding unit, the brightness information including pixel value difference information corresponding to each of at least two sub-coding units in the unit to be encoded, the pixel value difference information including average pixel value differences corresponding to each of the at least two sub-coding units; and the gradient information including average gradient values corresponding to the at least two sub-coding units; When the gradient information meets a first condition or the pixel value difference information meets a second condition, canceling the intra-frame search operation for the unit to be coded; wherein the intra-frame search operation refers to a search operation corresponding to an intra-block copy coding mode, and the first condition and the second condition are used to determine a coding unit whose texture complexity is lower than a preset complexity; when the gradient information meets the first condition or the pixel value difference information meets the second condition, canceling the intra-frame search operation for the unit to be coded includes: Determining a maximum average gradient value among the average gradient values corresponding to the at least two sub-coding units; If the maximum average gradient value is less than the gradient threshold, canceling the intra-frame search operation for the unit to be coded; wherein the first condition refers to the condition that the average gradient values corresponding to the at least two sub-coding units are all less than the gradient threshold; or, determining a maximum average pixel value and a minimum average pixel value among the average pixel values corresponding to the at least two sub-coding units; If the difference between the maximum average pixel value and the minimum average pixel value is less than a difference threshold, canceling the intra-frame search operation for the unit to be coded; wherein the second condition refers to the condition that the differences in the average pixel values corresponding to each of the at least two sub-coding units are all less than the difference threshold; In the case of canceling the intra-frame search operation, encoding processing is performed on the unit to be encoded to obtain encoding information of the unit to be encoded.

2. The method according to claim 1, characterized in that The method further comprises: In the process of determining the hash value corresponding to the unit to be encoded, the average gradient value and the average pixel value corresponding to the at least two sub-encoding units are retrieved.

3. The method according to any one of claims 1 to 2, characterized in that The unit to be encoded is a current unit to be encoded in an image area to be encoded in a screen video.

4. A video encoding device, characterized in that The device comprises: an information acquisition module, configured to acquire gradient information and brightness information of a unit to be encoded, the gradient information and brightness information being used to characterize texture complexity of the encoding unit, the brightness information including pixel value difference information corresponding to each of at least two sub-coding units in the unit to be encoded, the pixel value difference information including an average pixel value difference corresponding to each of the at least two sub-coding units; and the gradient information including an average gradient value corresponding to the at least two sub-coding units; a search operation module, configured to cancel an intra-frame search operation for the unit to be coded if the gradient information meets a first condition or the pixel value difference information meets a second condition; wherein the intra-frame search operation refers to a search operation corresponding to an intra block copy coding mode, and the first condition and the second condition are used to determine a coding unit whose texture complexity is lower than a preset complexity; the search operation module includes: a gradient extreme value determination unit and a search operation unit; The gradient extreme value determining unit is configured to determine a maximum average gradient value among the average gradient values corresponding to the at least two sub-coding units; The search operation unit is configured to cancel the intra-frame search operation for the unit to be coded if the maximum average gradient value is less than a gradient threshold; wherein the first condition refers to a condition that the average gradient values corresponding to the at least two sub-coding units are all less than the gradient threshold; Alternatively, the search operation module further includes: a pixel extreme value determination unit and a search operation unit; The pixel extreme value determination unit is configured to determine a maximum average pixel value and a minimum average pixel value among the average pixel values corresponding to the at least two sub-coding units; The search operation unit is configured to cancel the intra-frame search operation for the unit to be coded if the difference between the maximum average pixel value and the minimum average pixel value is less than a difference threshold; wherein the second condition refers to a condition that the differences in the average pixel values corresponding to each of the at least two sub-coding units are all less than the difference threshold; The encoding module is configured to perform encoding processing on the unit to be encoded to obtain encoding information of the unit to be encoded when the intra-frame search operation is canceled.

5. The device according to claim 4, characterized in that The device further includes a parameter determination unit, which is specifically configured to retrieve the average gradient value and the average pixel value corresponding to the at least two sub-coding units during the process of determining the hash value corresponding to the unit to be encoded.

6. The device according to any one of claims 4-5, characterized in that The unit to be encoded is a current unit to be encoded in an image area to be encoded in a screen video.

7. A computer device, characterized in that: The computer device includes a processor and a memory, wherein the memory stores at least one instruction, at least one program, a code set, or an instruction set, and the at least one instruction, the at least one program, the code set, or the instruction set is loaded and executed by the processor to implement the video encoding method according to any one of claims 1 to 3.

8. A computer program product, characterized in that The computer program product includes computer instructions, which are 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, so that the computer device executes to implement the video encoding method according to any one of claims 1 to 3.

9. A computer-readable storage medium, characterized in that The storage medium stores at least one instruction, at least one program, a code set or an instruction set, and the at least one instruction, the at least one program, the code set or the instruction set is loaded and executed by the processor to implement the video encoding method according to any one of claims 1 to 3.

Citation Information

Patent Citations

  • Screen content video rapid coding method based on DCT energy distribution and gradient features

    CN111212289A

  • Hash table construction method, device and equipment in IBC mode

    CN111953972A