Processing method, device and equipment of coding unit and storage medium
By judging the similarity between the CU and the sub-CU in HEVC encoding and setting a threshold for re-examination, the problems of high encoding complexity and long encoding time are solved, achieving more efficient video encoding results and making up for the logical loopholes in CU prediction mode selection.
Patent Information
- Application Number
- CN202111300709.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-11-04
- Publication Date
- 2026-01-02
- Estimated Expiration
- 2041-11-04
AI Technical Summary
The HEVC coding standard suffers from high coding complexity and long coding time during video encoding, especially due to logical flaws in CU partitioning and prediction mode selection, which lead to a loss of coding performance.
By judging the similarity between the current coding unit and its sub-coding units, a threshold is set for re-examination, the optimal coding result is selected, the coding performance loss caused by skipping the prediction mode selection is compensated, and the partitioning and coding process of CU is optimized.
It effectively reduces encoding complexity, improves encoding efficiency, ensures optimized encoding results, reduces errors, and enhances the performance of real-time video encoding.
Smart Images

Figure CN114040204B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present disclosure relates to the technical field of computer, and in particular, to the technical field of computing and video coding. BACKGROUND
[0002] HEVC (High Efficiency Video Coding) is a new video coding standard. Compared with the last generation of video coding standard, the coding performance of HEVC is greatly improved. HEVC adopts a quad-tree structure mechanism to divide an image into blocks of different sizes, which is not only used for prediction but also used for residual coding.
[0003] The basic processing unit of HEVC is CTU (Coding Tree Unit), which can be divided into smaller CUs (Coding Unit). The CU is further divided into PUs (Prediction Unit), which are used for prediction coding of the video. The prediction coding of HEVC can accurately reflect the texture features of the video content, but also increases the coding complexity and coding time. Therefore, in order to support real-time application of video coding, the related technologies use the texture features of the related blocks and images in the space-time domain of the CU to skip the coding of part of the size of the CU. SUMMARY
[0004] The present disclosure provides a processing method, device and equipment of coding unit and a storage medium.
[0005] According to a first aspect of the present disclosure, a processing method of a coding unit is provided, comprising:
[0006] In response to the prediction mode of the current coding unit being a skip mode, determining the similarity between a plurality of sub-coding units of the current coding unit;
[0007] In response to the similarity between the plurality of sub-coding units being greater than a preset threshold, respectively coding the current coding unit and the plurality of sub-coding units to obtain the sum of the minimum rate-distortion cost of the current coding unit and the minimum rate-distortion cost of the plurality of sub-coding units;
[0008] In response to the minimum rate-distortion cost of the current coding unit being less than the sum of the minimum rate-distortion cost of the plurality of sub-coding units, taking the coding result of the current coding unit as the final coding result.
[0009] According to a second aspect of the present disclosure, a processing device of a coding unit is provided, comprising:
[0010] determining a similarity between a plurality of sub-coding units of the current coding unit in response to a prediction mode of the current coding unit being a skip mode;
[0011] encoding the current coding unit and the plurality of sub-coding units respectively to obtain a minimum rate-distortion cost of the current coding unit and a sum of minimum rate-distortion costs of the plurality of sub-coding units in response to the similarity between the plurality of sub-coding units being greater than a preset threshold value;
[0012] obtaining an encoding result of the current coding unit as a final encoding result in response to the minimum rate-distortion cost of the current coding unit being less than the sum of minimum rate-distortion costs of the plurality of sub-coding units.
[0013] According to a third aspect of the present disclosure, an electronic device is provided, comprising:
[0014] at least one processor; and
[0015] a memory connected with the at least one processor in communication; wherein,
[0016] the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to perform the processing method of the coding unit as described in any of the above.
[0017] According to a fourth aspect of the present disclosure, a non-transitory computer readable storage medium storing computer instructions is provided, the computer instructions being used to cause the computer to perform the processing method of the coding unit as described in any of the above.
[0018] According to a fifth aspect of the present disclosure, a computer program product is provided, comprising a computer program which, when executed by a processor, implements the processing method of the coding unit as described in any of the above.
[0019] It should be understood that the content described in this part is not intended to identify key or important features of the embodiments of the present disclosure, nor to limit the scope of the present disclosure. Other features of the present disclosure will become apparent from the following description. BRIEF DESCRIPTION OF DRAWINGS
[0020] The accompanying drawings are used to better understand the present scheme, and do not constitute a limitation on the present disclosure. Among them:
[0021] Figure 1 is a flowchart of CU division provided by an embodiment of the present disclosure;
[0022] Figure 2 is a schematic diagram of CU division provided by an embodiment of the present disclosure;
[0023] Figure 3 is a first flowchart of a processing method of an encoding unit provided by an embodiment of the present disclosure;
[0024] Figure 4 is a second flowchart of a processing method of an encoding unit provided by an embodiment of the present disclosure;
[0025] Figure 5 is a third flowchart of a processing method of an encoding unit provided by an embodiment of the present disclosure;
[0026] Figure 6 is a fourth flowchart of a processing method of an encoding unit provided by an embodiment of the present disclosure;
[0027] Figure 7 is a structural diagram of a processing device of an encoding unit provided by an embodiment of the present disclosure;
[0028] Figure 8 is a first schematic block diagram of an electronic device for implementing a processing method of an encoding unit according to an embodiment of the present disclosure;
[0029] Figure 9 is a second schematic block diagram of an electronic device for implementing a processing method of an encoding unit according to an embodiment of the present disclosure. DETAILED DESCRIPTION
[0030] Exemplary embodiments of the present disclosure are described herein with reference to the accompanying drawings, which are provided for the purpose of illustration only. The details of the embodiments of the present disclosure are described herein for the purpose of providing an overall understanding of the present disclosure. It should be recognized that various modifications and changes can be made to the embodiments of the present disclosure described herein without departing from the scope and spirit of the present disclosure. Also, the description is made with respect to the best mode of the present disclosure, and it should be recognized that various descriptions and modes can be made thereto without departing from the scope and spirit of the present disclosure.
[0031] HEVC is a new video coding standard. HEVC has 50% coding efficiency reduction compared with H.264 / AVC at the same image quality. In addition, HEVC doubles the coding efficiency of H.264 / AVC by employing a variety of new compression tools.
[0032] HEVC employs a quad-tree structure mechanism to divide an image into blocks of different sizes, not only for prediction, but also for residual coding. The basic processing unit of HEVC is CTU, which can be regarded as a generalization of the macroblock in H.264 / AVC. A CTU can be recursively subdivided into smaller CUs according to the quad-tree structure. Each CU is further subdivided into PUs, which are used for the prediction coding of the video.
[0033] In HEVC, a CU is the most basic coding unit, each CU is composed of one luma CU, two chroma CUs and corresponding syntax elements. The size of luma CU can be 64x64, 32x32, 16x16, 8x8, and the size of chroma CU can be 32x32, 16x16, 8x8, 4x4.
[0034] The larger the size of CU is, the better the compression effect is, but at the same time, the larger the pixel error can be. The division of CU is recursive, as shown in Figure 1 and Figure 2 , which are a flowchart of CU division and a diagram of CU division respectively. Figure 1 Figure 2 The traditional division of CU is recursive, that is, the CU is continuously divided until the smallest CU is obtained, and finally the CU with the best size is selected from different size CUs. Although this method can ensure that the pixel error is small enough, since each CU needs to be divided from 64x64 to 8x8, and the RDcost (rate-distortion cost) of each CU of each size needs to be calculated for multiple prediction modes, the encoding complexity is increased, which slows down the encoding speed.
[0035] In order to support real-time application of video encoding, in the related art, the texture features of the relevant blocks in the space-time domain of the CU and the image are used to determine whether to skip the prediction mode selection of the current CU; if the prediction mode selection of the current CU is skipped, the next layer CU (i.e. sub-CU) is directly entered for calculation.
[0036] However, the inventors have found that the optimal prediction modes of the four sub-CUs of some CUs are very similar to each other, or even the same, and in this case, the encoding effect of the large block CU is better than that of the small block CU, but since the large block CU is directly skipped, the large block CU is not selected, which causes a certain loss of encoding performance.
[0037] To solve the above problems, the present disclosure provides a processing method of a coding unit, as shown in Figure 3 . The processing method of the coding unit can be applied to electronic devices such as servers and mobile terminals that have video encoding processing functions. For ease of understanding, the electronic device is taken as the execution subject for description below. The processing method of the coding unit includes the following steps:
[0038] Step S31, in response to the prediction mode of the current coding unit being a skip mode, determining the similarity between a plurality of sub-coding units of the current coding unit.
[0039] In the present disclosure, one CU can be divided into four sub-CUs, for example, a 64*64 CU can be divided into four 32*32 CUs, and the four 32*32 CUs are the sub-CUs of the 64*64 CU.
[0040] The electronic device can determine whether to skip the prediction mode selection of the current CU by using the correlation block of the spatio-temporal domain of the CU and the texture feature of the image. If the determination result is to skip the prediction mode selection of the current CU, that is, the prediction mode of the current CU is the skip mode, the electronic device determines the similarity between the plurality of sub-coding units of the current coding unit.
[0041] In step S32, in response to the similarity between the plurality of sub-coding units being greater than the preset threshold, the current coding unit and the plurality of sub-coding units are encoded respectively to obtain the minimum rate-distortion cost of the current coding unit and the sum of the minimum rate-distortion costs of the plurality of sub-coding units.
[0042] In the embodiments of the present disclosure, the preset threshold can be set according to actual needs. For example, the preset threshold can be 90%, 95%, or 100%, etc.
[0043] After determining the similarity between the plurality of sub-CUs, the electronic device determines whether the similarity between the plurality of sub-CUs is greater than the preset threshold to determine whether the current CU needs to be rechecked. If the similarity between the plurality of sub-CUs is greater than the preset threshold, the electronic device rechecks the current CU, which can specifically include: encoding the current CU according to the prediction mode to obtain the encoding result and the rate-distortion cost under the prediction mode, and selecting the minimum rate-distortion cost from the rate-distortion cost under the prediction mode as the minimum rate-distortion cost of the current CU; in addition, for each sub-CU, encoding the sub-CU according to the prediction mode to obtain the encoding result and the rate-distortion cost under the prediction mode, and selecting the minimum rate-distortion cost from the rate-distortion cost under the prediction mode as the minimum rate-distortion cost of the sub-CU, and then calculating the sum of the minimum rate-distortion costs of the plurality of sub-CUs.
[0044] In step S33, in response to the minimum rate-distortion cost of the current coding unit being less than the sum of the minimum rate-distortion costs of the plurality of sub-coding units, the encoding result of the current coding unit is taken as the final encoding result.
[0045] In the embodiments of the present disclosure, in the case where the minimum rate-distortion cost of the current CU and the sum of the minimum rate-distortion costs of the plurality of sub-CUs are obtained, the electronic device determines whether the minimum rate-distortion cost of the current CU is less than the sum of the minimum rate-distortion costs of the plurality of sub-CUs. If the minimum rate-distortion cost of the current coding unit is less than the sum of the minimum rate-distortion costs of the plurality of sub-coding units, it indicates that the encoding effect of the current CU is better than that of the sub-CU, such as the compression effect of the current CU is better than that of the sub-CU, and the pixel error of the current CU is better than that of the sub-CU. Therefore, the electronic device takes the encoding result of the current CU as the final encoding result and refuses to divide the current CU into sub-CUs for encoding.
[0046] In the embodiment of the present disclosure, in the case that the prediction mode of the current CU is the skip mode, it is determined whether the current CU needs to be rechecked, and the current CU and the plurality of sub-CUs are encoded respectively in the case that the current CU needs to be rechecked. This effectively makes up for the coding performance loss caused by skipping the prediction mode selection of the current CU, and fills the logical loopholes in the prediction mode selection of the CU.
[0047] In addition, in actual application, there are fewer CUs that need to be rechecked, so that the rechecking of the current CU has less impact on the coding efficiency, while effectively making up for the coding performance loss caused by skipping the prediction mode selection of the current CU, filling the logical loopholes in the prediction mode selection of the CU, and ensuring the coding efficiency.
[0048] In an embodiment of the present disclosure, in the case that the prediction mode of the current CU is the skip mode, the step S31 can be directly calculating the similarity between the image blocks corresponding to the plurality of sub-CUs, and determining whether the current CU needs to be rechecked by using the similarity. Since the image blocks corresponding to the sub-CUs contain few feature points, the calculation amount of calculating the similarity between the image blocks corresponding to the plurality of sub-CUs is also small, which occupies less computing resource of the electronic device, and effectively ensures the coding efficiency.
[0049] In an embodiment of the present disclosure, a processing method of an encoding unit is also provided, as shown in the figure, the method can include the following steps: Figure 4 The method can include the following steps:
[0050] In step S41, in response to the prediction mode of the current encoding unit being the skip mode, the similarity between the optimal prediction mode of the plurality of sub-encoding units of the current encoding unit and the reference frame is determined.
[0051] In the embodiment of the present disclosure, in the case that the prediction mode of the current CU is the skip mode, the electronic device determines the optimal prediction mode of the plurality of sub-CUs and the reference frame, and further determines the similarity between the optimal prediction mode of the plurality of sub-CUs and the reference frame.
[0052] For example, the electronic device can determine that the optimal prediction mode of the plurality of sub-CUs is consistent, and the reference frame of the plurality of sub-CUs is consistent, and then the electronic device can determine that the similarity between the plurality of sub-CUs is greater than a preset threshold.
[0053] Step S41 is one implementation manner of the above step S31.
[0054] Step S42, in response to the similarity between the plurality of sub-coding units being greater than the preset threshold, encoding the current coding unit and the plurality of sub-coding units respectively to obtain the minimum rate-distortion cost of the current coding unit and the sum of the minimum rate-distortion costs of the plurality of sub-coding units. Step S42 is the same as step S32.
[0055] Step S43, in response to the minimum rate-distortion cost of the current coding unit being less than the sum of the minimum rate-distortion costs of the plurality of sub-coding units, taking the encoding result of the current coding unit as the final encoding result. Step S43 is the same as step S33.
[0056] In the embodiments of the present disclosure, whether the current CU needs to be rechecked is determined based on the optimal prediction mode and the reference frame. In the determination of whether the current CU needs to be rechecked, both the optimal prediction mode and the reference frame are considered, and the entire reference frame is taken as the object, and the reference frame contains more feature points, which effectively improves the accuracy of the current CU rechecking, reduces the probability of false rechecking, and further improves the coding efficiency.
[0057] In actual application, the prediction mode of the CU is various, such as the SKIP mode, a plurality of inter-frame modes and a plurality of intra-frame modes, etc. as shown in the table. Figure 2 Based on this, the above step S32 can be: encoding the current CU according to the plurality of prediction modes to obtain the rate-distortion cost under the plurality of prediction modes, selecting the minimum rate-distortion cost from the rate-distortion costs under the plurality of prediction modes as the minimum rate-distortion cost of the current CU; for each sub-CU, encoding the sub-CU according to the plurality of prediction modes to obtain the rate-distortion cost under the plurality of prediction modes, selecting the minimum rate-distortion cost from the rate-distortion costs under the plurality of prediction modes as the minimum rate-distortion cost of the sub-CU, and further calculating the sum of the minimum rate-distortion costs of the plurality of sub-CUs.
[0058] In an embodiment of the present disclosure, in order to further improve the coding efficiency, a processing method of a coding unit is also provided, as shown in the table. Figure 5 The method can include the following steps:
[0059] Step S51, in response to the prediction mode of the current coding unit being the SKIP mode, determining the similarity between the plurality of sub-coding units of the current coding unit. Step S51 is the same as step S31.
[0060] Step S52, in response to the similarity between the plurality of sub-coding units being greater than the preset threshold, encoding the current coding unit and the plurality of sub-coding units respectively according to the SKIP mode to obtain the minimum rate-distortion cost of the current coding unit and the sum of the minimum rate-distortion costs of the plurality of sub-coding units.
[0061] In the embodiments of the present disclosure, when rechecking the current CU, the electronic device encodes the current CU according to the SKIP mode to obtain a rate-distortion cost in the SKIP mode, and the rate-distortion cost is the minimum rate-distortion cost of the current CU; for each sub-CU, the sub-CU is encoded according to the SKIP mode to obtain a rate-distortion cost in the SKIP mode, and the rate-distortion cost is the minimum rate-distortion cost of the sub-CU, and the sum of the rate-distortion costs of the plurality of sub-CUs in the SKIP mode is the sum of the minimum rate-distortion costs of the plurality of sub-CUs.
[0062] Step S52 is an implementable manner of step S32.
[0063] Step S53, in response to the minimum rate-distortion cost of the current coding unit being less than the sum of the minimum rate-distortion costs of the plurality of sub-coding units, taking the encoding result of the current coding unit as the final encoding result. Step S53 is the same as step S33.
[0064] The inventor found from the test data that, because there are more CUs (referred to as SKIP blocks) identical to the CUs in the SKIP mode, the probability of misclassification of the SKIP blocks is relatively large. Therefore, in the embodiments of the present disclosure, when rechecking, the CUs do not need to be encoded according to all prediction modes, but only need to be encoded according to the SKIP mode, which can greatly save the time required for rechecking, and if the encoding result of the large block CU is selected as the final encoding result, the encoding rate is further improved while the encoding effect is ensured.
[0065] In one embodiment of the present disclosure, a processing method of a coding unit is also provided, as shown in Figure 6 The method can include the following steps:
[0066] Step S61, in response to the prediction mode of the current coding unit being the skip mode, determining the similarity between the plurality of sub-coding units of the current coding unit. Step S61 is the same as step S31.
[0067] Step S62, in response to the similarity between the plurality of sub-coding units being greater than a preset threshold, encoding the current coding unit and the plurality of sub-coding units respectively to obtain the minimum rate-distortion cost of the current coding unit and the sum of the minimum rate-distortion costs of the plurality of sub-coding units. Step S62 is the same as step S32.
[0068] Step S63, in response to the minimum rate-distortion cost of the current coding unit being less than the sum of the minimum rate-distortion costs of the plurality of sub-coding units, taking the encoding result of the current coding unit as the final encoding result. Step S63 is the same as step S33.
[0069] Step S64, in response to the minimum rate-distortion cost of the current coding unit being greater than or equal to the sum of the minimum rate-distortion costs of the plurality of sub-coding units, each of the sub-coding units is taken as the current coding unit respectively.
[0070] In the embodiments of the present disclosure, in the case that the minimum rate-distortion cost of the current CU and the sum of the minimum rate-distortion costs of the plurality of sub-CUs are obtained, the electronic device determines whether the minimum rate-distortion cost of the current CU is less than the sum of the minimum rate-distortion costs of the plurality of sub-CUs. If the minimum rate-distortion cost of the current CU is greater than or equal to the sum of the minimum rate-distortion costs of the plurality of sub-CUs, it indicates that the coding effect of the sub-CU is better than that of the current CU, such as the compression effect and the integrated effect of the pixel error of the sub-CU are better than those of the current CU. Therefore, the electronic device takes each of the CUs as the current CU respectively, and the depth is increased by 1.
[0071] Step S65, detecting whether the depth of the current coding unit reaches the maximum depth. In response to the depth of the current coding unit reaching the maximum depth, step S66 is performed; in response to the depth of the current coding unit not reaching the maximum depth, step S61 is performed.
[0072] After each of the sub-CUs is taken as the current CU respectively, that is, after the current CU is updated, the electronic device detects whether the depth of the current CU reaches the maximum depth. If the maximum depth is reached, it indicates that the current CU cannot be further divided into sub-CUs, and the final coding result is the coding result of the current CU. The electronic device performs step S66. If the maximum depth is not reached, it indicates that the current CU can still be divided into sub-CUs, and the final coding result can be the coding result of the current CU or the coding result of the sub-CU. In order to accurately determine the final coding result, step S61 is re-executed.
[0073] Step S66, encoding the current coding unit to obtain a final coding result.
[0074] In the embodiments of the present disclosure, the electronic device encodes the current CU according to a plurality of prediction modes to obtain coding results and rate-distortion costs under the plurality of prediction modes, and takes the coding result corresponding to the minimum rate-distortion cost as the final coding result.
[0075] In the embodiments of the present disclosure, in the case that the prediction mode of the current CU is the skip mode, the electronic device iteratively determines whether the CU needs to be rechecked, and encodes the current CU and the plurality of sub-CUs respectively in the case that the current CU needs to be rechecked. This effectively makes up for the loss of coding performance caused by the selection of the prediction mode of skipping the current CU, fills the logical loopholes in the selection of the prediction mode of the CU, and obtains the optimal coding result.
[0076] Corresponding to the processing method of the coding unit, the embodiment of the disclosure also provides a processing device of the coding unit, as shown in the figure, the device comprises: Figure 7
[0077] The determination module 71 is configured to determine the similarity between the plurality of sub-coding units of the current coding unit in response to the prediction mode of the current coding unit being the skip mode.
[0078] The encoding module 72 is configured to encode the current coding unit and the plurality of sub-coding units respectively in response to the similarity between the plurality of sub-coding units being greater than the preset threshold, to obtain the minimum rate-distortion cost of the current coding unit and the sum of the minimum rate-distortion costs of the plurality of sub-coding units.
[0079] The obtaining module 73 is configured to take the encoding result of the current coding unit as the final encoding result in response to the minimum rate-distortion cost of the current coding unit being less than the sum of the minimum rate-distortion costs of the plurality of sub-coding units.
[0080] The determination module 71 can be specifically configured to:
[0081] Determine the similarity between the optimal prediction mode of the plurality of sub-coding units of the current coding unit and the reference frame.
[0082] The encoding module 72 can be specifically configured to:
[0083] Encode the current coding unit and the plurality of sub-coding units respectively according to the skip mode, to obtain the minimum rate-distortion cost of the current coding unit and the sum of the minimum rate-distortion costs of the plurality of sub-coding units.
[0084] The processing device of the coding unit can further comprise:
[0085] The updating module is configured to take each sub-coding unit as the current coding unit respectively in response to the minimum rate-distortion cost of the current coding unit being greater than or equal to the sum of the minimum rate-distortion costs of the plurality of sub-coding units.
[0086] The detection module is configured to detect whether the depth of the current coding unit reaches the maximum depth, encode the current coding unit to obtain the final encoding result in response to the depth of the current coding unit reaching the maximum depth, and perform the step of determining the similarity between the plurality of sub-coding units of the current coding unit in response to the prediction mode of the current coding unit being the skip mode in response to the depth of the current coding unit not reaching the maximum depth.
[0087] In the embodiments of the present disclosure, in the case that the prediction mode of the current CU is the skip mode, it is determined whether the current CU needs to be rechecked, and the current CU and the plurality of sub-CUs are encoded respectively in the case that the current CU needs to be rechecked. This effectively makes up for the coding performance loss caused by the prediction mode selection of skipping the current CU, and fills the logical loophole in the prediction mode selection of the CU.
[0088] In the technical solutions of the present disclosure, the collection, storage, use, processing, transmission, provision and disclosure of user personal information involved all comply with relevant laws and regulations and do not violate public order and good customs.
[0089] According to the embodiments of the present disclosure, the present disclosure further provides an electronic device, a readable storage medium and a computer program product.
[0090] Figure 8 A schematic block diagram of an electronic device 800 is shown to implement the processing method of the encoding unit of the embodiments of the present disclosure. The electronic device is intended to represent various forms of digital computers, such as laptops, desktops, workstations, personal digital assistants, servers, blade servers, mainframes, and other appropriate computers. The electronic device can also represent various forms of mobile devices, such as personal digital processors, cellular telephones, smart phones, wearable devices, and other similar computing devices. The components shown here, their connections and relationships, and their functions, are merely examples and are not intended to limit the implementations of the present disclosure described and / or claimed in this document.
[0091] As shown in Figure 8 The device 800 includes a computing unit 801 that can perform various appropriate actions and processes according to computer programs stored in a read-only memory (ROM) 802 or loaded into a random access memory (RAM) 803 from a storage unit 808. Various programs and data required for the operation of the device 800 can also be stored in the RAM 803. The computing unit 801, the ROM 802, and the RAM 803 are connected to each other through a bus 804. An input / output (I / O) interface 805 is also connected to the bus 804.
[0092] A plurality of components in the device 800 are connected to the I / O interface 805, including an input unit 806 such as a keyboard, a mouse, etc., an output unit 807 such as various types of displays, a speaker, etc., a storage unit 808 such as a magnetic disk, an optical disk, etc., and a communication unit 809 such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 809 allows the device 800 to exchange information / data with other devices through a computer network such as the Internet and / or various telecommunication networks.
[0093] The computing unit 801 can be various general and / or special-purpose processing components with processing and computing capabilities. Some examples of the computing unit 801 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special-purpose artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, a digital signal processor (DSP), and any appropriate processor, controller, microcontroller, etc. The computing unit 801 performs various methods and processes described above, such as the processing method of the encoding unit. For example, in some embodiments, the processing method of the encoding unit can be implemented as a computer software program tangibly embodied in a machine-readable medium, such as the storage unit 808. In some embodiments, part or all of the computer program can be loaded and / or installed on the device 800 via the ROM 802 and / or the communication unit 809. When the computer program is loaded into the RAM 803 and executed by the computing unit 801, one or more steps of the processing method of the encoding unit described above can be performed. Alternatively, in other embodiments, the computing unit 801 can be configured to perform the processing method of the encoding unit by any other appropriate means, such as by means of firmware.
[0094] The embodiments of the present disclosure also provide an electronic device, such as Figure 9 as shown, comprising:
[0095] at least one processor 91; and
[0096] a memory 92 connected in communication with the at least one processor 91; wherein
[0097] The memory 92 stores instructions executable by the at least one processor 91, and the instructions are executed by the at least one processor 91 to enable the at least one processor 91 to perform the processing method of any of the encoding units described above.
[0098] The embodiments of the present disclosure also provide a non-transitory computer-readable storage medium storing computer instructions for causing a computer to perform the processing method of any of the encoding units described above.
[0099] The embodiments of the present disclosure also provide a computer program product comprising a computer program which, when executed by a processor, implements the processing method of any of the encoding units described above.
[0100] The various embodiments of the systems and techniques described above can be implemented in digital electronic circuitry, integrated circuitry, a field programmable gate array (FPGA), an application specific integrated circuit (ASIC), a system on a chip (SOC), a load programmable logic device (CPLD), computer hardware, firmware, software, and / or combinations thereof. These various embodiments can include implementation in one or more computer programs that are executable and / or interpretable on a programmable system including at least one programmable processor, which can be special or general purpose, coupled to receive data and instructions from, and to transmit data and instructions to, a storage system, at least one input device, and at least one output device.
[0101] Program code for carrying out methods of the present disclosure can be written in any combination of one or more programming languages. The program code can be provided to a processor or controller of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the program code, when executed by the processor or controller, produces the functions / operations specified in the flowcharts and / or the block diagrams. The program code can be executed entirely on a machine, partially on a machine, partially on a machine as a stand-alone software package, partially on a machine and partially on a remote machine or entirely on a remote machine or server.
[0102] In the context of the present disclosure, a machine-readable medium can be a tangible medium that contains or stores a program for use by or in connection with an instruction execution system, apparatus, or device. The machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can include but is not limited to an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples of the machine-readable storage medium will include one or more lines of electrical connections, portable computer disks, hard disk drives, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or Flash memory), optical fibers, portable compact disc read-only memories (CD-ROMs), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.
[0103] To provide for interaction with a user, the systems and techniques described here can be implemented on a computer having a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user and a keyboard and a pointing device (e.g., a mouse or a trackball) by which the user can provide input to the computer. Other kinds of devices can be used to provide for interaction with a user as well; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form, including acoustic, speech, or tactile input.
[0104] The systems and techniques described here can be implemented in a computing system that includes a back end component (e.g., as a data server), or that includes a middleware component (e.g., an application server), or that includes a front end component (e.g., a user computer having a graphical user interface or a Web browser through which a user can interact with an implementation of the systems and techniques described here), or any combination of such back end, middleware, or front end components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include a local area network (LAN), a wide area network (WAN), and the Internet.
[0105] The computer system can include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server can arise by virtue of computer programs running on the respective computers and having a client-server relationship to each other. The server can be a cloud server, a server of a distributed system, or a server combined with a blockchain.
[0106] It should be understood that various forms of flow shown above can be used, with steps reordered, added, or removed. For example, the steps recited in the present disclosure can be performed in parallel, in series, or in a different order, without limitation, as long as the desired results of the technology disclosed in the present disclosure are achieved.
[0107] The specific embodiments described above are not intended to be limiting, and persons skilled in the art will appreciate that various modifications, combinations, sub-combinations and alternatives can be made to the specific embodiments without departing from the spirit and principles of the disclosure. Accordingly, the disclosure is not limited to the specific embodiments described above.
Claims
1. A processing method of a coding unit, comprising: determining whether to skip prediction mode selection of a current coding unit by using a relevant block in a space-time domain of the coding unit and a texture feature of an image, the skipping of the prediction mode selection of the current coding unit indicating entering a sub-coding unit for calculation; if the determination result is to skip the prediction mode selection of the current coding unit, determining whether optimal prediction modes of a plurality of sub-coding units of the current coding unit are consistent and whether reference frames of the plurality of sub-coding units of the current coding unit are consistent; in response to the optimal prediction modes of the plurality of sub-coding units of the current coding unit being consistent and the reference frames of the plurality of sub-coding units of the current coding unit being consistent, respectively encoding the current coding unit and the plurality of sub-coding units to obtain a sum value of a minimum rate-distortion cost of the current coding unit and minimum rate-distortion costs of the plurality of sub-coding units; in response to the minimum rate-distortion cost of the current coding unit being less than the sum value of the minimum rate-distortion costs of the plurality of sub-coding units, taking an encoding result of the current coding unit as a final encoding result; in response to the minimum rate-distortion cost of the current coding unit being greater than or equal to the sum value of the minimum rate-distortion costs of the plurality of sub-coding units, respectively taking each sub-coding unit as a current coding unit; detecting whether a depth of the current coding unit reaches a maximum depth; in response to the depth of the current coding unit reaching the maximum depth, encoding the current coding unit to obtain a final encoding result; in response to the depth of the current coding unit not reaching the maximum depth, performing the step of determining whether to skip the prediction mode selection of the current coding unit by using the relevant block in the space-time domain of the coding unit and the texture feature of the image.
2. The method of claim 1, wherein, The step of respectively encoding the current coding unit and the plurality of sub-coding units to obtain the sum value of the minimum rate-distortion cost of the current coding unit and the minimum rate-distortion costs of the plurality of sub-coding units comprises: respectively encoding the current coding unit and the plurality of sub-coding units according to a skip (SKIP) mode to obtain the sum value of the minimum rate-distortion cost of the current coding unit and the minimum rate-distortion costs of the plurality of sub-coding units.
3. A processing apparatus of a coding unit, comprising: a determination module configured to determine whether to skip prediction mode selection of a current coding unit by using a relevant block in a space-time domain of the coding unit and a texture feature of an image, the skipping of the prediction mode selection of the current coding unit indicating entering a sub-coding unit for calculation; if the determination result is to skip the prediction mode selection of the current coding unit, the determination module is further configured to determine whether optimal prediction modes of a plurality of sub-coding units of the current coding unit are consistent and whether reference frames of the plurality of sub-coding units of the current coding unit are consistent. The encoding module is specifically configured to: encode the current coding unit and the plurality of sub-coding units respectively according to a SKIP mode to obtain a sum of a minimum rate-distortion cost of the current coding unit and minimum rate-distortion costs of the plurality of sub-coding units. The obtaining module is configured to: in response to the minimum rate-distortion cost of the current coding unit being less than the sum of the minimum rate-distortion costs of the plurality of sub-coding units, take an encoding result of the current coding unit as a final encoding result. The updating module is configured to: in response to the minimum rate-distortion cost of the current coding unit being greater than or equal to the sum of the minimum rate-distortion costs of the plurality of sub-coding units, take each sub-coding unit as a current coding unit respectively. The detecting module is configured to: detect whether a depth of the current coding unit reaches a maximum depth; in response to the depth of the current coding unit reaching the maximum depth, encode the current coding unit to obtain a final encoding result; and in response to the depth of the current coding unit not reaching the maximum depth, perform the step of judging whether to skip the prediction mode selection of the current coding unit by using the texture features of the related blocks in the spatial and temporal domains of the coding unit and the image.
4. The apparatus of claim 3, wherein, The encoding module is specifically configured to: encode the current coding unit and the plurality of sub-coding units respectively according to a SKIP mode to obtain a sum of a minimum rate-distortion cost of the current coding unit and minimum rate-distortion costs of the plurality of sub-coding units. 5.An electronic device, comprising: at least one processor; and a memory connected with the at least one processor in communication; wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to perform the method of any one of claims 1-2. 6.A non-transitory computer-readable storage medium storing computer instructions for causing a computer to perform the method of any one of claims 1-2. 7.A computer program product comprising a computer program which, when executed by a processor, implements the method of any one of claims 1-2.
Citation Information
Patent Citations
Depth prediction method and depth prediction device based on alternative temporal motion vector prediction
CN108347616A
Video coding method and device, electronic equipment and computer readable storage medium
CN111263151A