Video coding method and device, equipment and medium

By processing MCTF tasks in parallel based on the reference association relationship of CTU in video encoding technology, the problem of slow video frame encoding speed in the prior art is solved, and more efficient video encoding processing is achieved.

CN119520811APending Publication Date: 2025-02-25BEIJING DAJIA INTERNET INFORMATION TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411496650.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-10-24
Publication Date
2025-02-25

AI Technical Summary

Technical Problem

The existing video encoding technology has a serial processing mode during the MCTF processing process, which leads to slow encoding speed of video frames and cannot fully utilize the parallel processing capabilities of multiple CTUs.

Method used

By obtaining multiple CTUs in the video frame to be encoded, and after the first CTU completes the MCTF processing, the corresponding CTU is triggered to perform MCTF processing based on its reference association relationship with other CTUs, thereby realizing parallel processing of multiple CTUs.

Benefits of technology

By processing the encoding tasks and MCTF tasks of each CTU in parallel, this method significantly reduces the waiting time of related tasks and improves the encoding speed of video frames.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119520811A_ABST
    Figure CN119520811A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides a video coding method and device, electronic equipment, a storage medium and a computer program product, and relates to the technical field of image processing. The method comprises the following steps: acquiring a plurality of CTUs in a video frame to be coded; performing MCTF processing on the first CTU; in response to the completion of the MCTF processing by the first CTU, encoding the first CTU; and in response to completion of the MCTF processing by the first CTU, triggering at least one second CTU to perform the MCTF processing based on the reference association relationship corresponding to the first CTU. According to the method, MCTF processing is completed based on a CTU in a video frame to be coded, on one hand, a coding task corresponding to the CTU is triggered, and on the other hand, other CTUs are triggered based on a reference association relationship to carry out MCTF processing. The coding task and the MCTF task of each CTU are processed in parallel, so that the waiting time of the related coding task and the MCTF task is reduced, and the coding speed of the video frame is greatly improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of image processing technology, and in particular to a video encoding method, device, electronic device, storage medium and computer program product. Background Art

[0002] MCTF (Motion Compensated Temporal Filtering) is a temporal filtering technology based on motion estimation compensation. It reduces temporal redundancy in video sequences by utilizing motion information between adjacent frames, thereby improving video coding efficiency and visual quality. MCTF is usually used in the video pre-processing or post-processing stage to improve compression effects or enhance decoded image quality.

[0003] MCTF technology is mainly divided into two parts: motion compensation and temporal filtering. In the motion compensation stage, the current frame is first evenly divided into 8x8 blocks, and motion estimation is performed on each block in the adjacent frames to find the best motion vector (MV). Then, these MVs are used to perform block-based motion compensation on each 8x8 block to generate motion-compensated image blocks, and all compensated blocks are spliced ​​into a complete motion-compensated frame. This process is applied to each adjacent frame separately to obtain the result of multi-frame motion compensation.

[0004] In the temporal filtering stage, for each pixel in the current frame, the pixel values ​​in the corresponding multiple motion compensated frames are weighted averaged according to a certain ratio, and the bilateral filtering method is used to combine this information. This filtering not only considers spatial proximity, but also intensity similarity, thereby reducing temporal noise and enhancing the temporal consistency of the video sequence, and finally generating high-quality temporal filtering results. Summary of the invention

[0005] Embodiments of the present disclosure provide a video encoding method, apparatus, electronic device, storage medium, and computer program product.

[0006] According to a first aspect of an embodiment of the present disclosure, a video encoding method is provided, including: obtaining multiple CTUs in a video frame to be encoded; performing MCTF processing on a first CTU; in response to the first CTU completing the MCTF processing, performing encoding processing on the first CTU; in response to the first CTU completing the MCTF processing, triggering at least one second CTU to perform MCTF processing based on a reference association relationship corresponding to the first CTU; the reference association relationship is used to characterize a reference relationship between two CTUs in the video frame to be encoded.

[0007] In some exemplary embodiments of the present disclosure, the reference association relationship includes: a reference CTU and an associated CTU; the associated CTU performs MCTF processing with reference to the reference CTU.

[0008] In some exemplary embodiments of the present disclosure, in response to the first CTU completing the MCTF processing, based on the reference association relationship corresponding to the first CTU, triggering at least one second CTU to perform MCTF processing, includes: in response to the first CTU completing the MCTF processing, based on the reference association relationship corresponding to the first CTU, obtaining at least one associated CTU that refers to the first CTU; triggering the at least one associated CTU to perform MCTF processing.

[0009] In some exemplary embodiments of the present disclosure, the method further includes: obtaining at least one reference CTU referenced by the second CTU based on the reference association relationship corresponding to the second CTU; in response to the at least one reference CTU completing the MCTF processing, triggering the second CTU to perform MCTF processing.

[0010] In some exemplary embodiments of the present disclosure, the performing MCTF processing on the first CTU includes: obtaining a first coding block in the first CTU; based on the reference association relationship corresponding to the first CTU, obtaining at least one reference CTU referenced by the first CTU; determining, according to the position of the first coding block in the first CTU, at least one second coding block at a corresponding position in the at least one reference CTU; and performing MCTF processing on the first coding block with reference to the at least one second coding block.

[0011] In some exemplary embodiments of the present disclosure, the reference CTU is located to the left, above, to the upper left, or to the upper right of the associated CTU.

[0012] In some exemplary embodiments of the present disclosure, the method further comprises: in response to the plurality of CTUs completing the encoding process, generating a video encoding frame for the video frame to be encoded.

[0013] According to a second aspect of an embodiment of the present disclosure, a video encoding device is provided, including: a CTU acquisition module, configured to acquire multiple CTUs in a video frame to be encoded; an MCTF processing module, configured to perform MCTF processing on a first CTU; an encoding processing module, configured to perform encoding processing on the first CTU in response to the first CTU completing the MCTF processing; an MCTF triggering module, configured to trigger at least one second CTU to perform MCTF processing based on a reference association relationship corresponding to the first CTU in response to the first CTU completing the MCTF processing; the reference association relationship is used to characterize a reference relationship between two CTUs in the video frame to be encoded.

[0014] According to a third aspect of an embodiment of the present disclosure, an electronic device is provided, characterized in that it includes: a processor; a memory for storing executable instructions of the processor; wherein the processor is configured to execute the executable instructions to implement any one of the video encoding methods described.

[0015] According to a fourth aspect of an embodiment of the present disclosure, a computer-readable storage medium is provided. When instructions in the computer-readable storage medium are executed by a processor of an electronic device, the electronic device is enabled to execute any one of the video encoding methods described.

[0016] According to a fifth aspect of an embodiment of the present disclosure, there is provided a computer program product, comprising a computer program / instruction, wherein the computer program / instruction implements any one of the video encoding methods when executed by a processor.

[0017] The video encoding method provided by the embodiment of the present disclosure completes MCTF processing based on the CTU in the video frame to be encoded, triggering the encoding task corresponding to the CTU on the one hand, and triggering other CTUs to perform MCTF processing based on the reference association relationship on the other hand. The method processes the encoding tasks and MCTF tasks of each CTU in parallel, reducing the waiting time of related encoding tasks and MCTF tasks, and greatly improving the encoding speed of the video frame.

[0018] It is to be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the present disclosure. BRIEF DESCRIPTION OF THE DRAWINGS

[0019] The accompanying drawings herein are incorporated into the specification and constitute a part of the specification, illustrate embodiments consistent with the present disclosure, and together with the specification are used to explain the principles of the present disclosure. Obviously, the accompanying drawings described below are only some embodiments of the present disclosure, and for ordinary technicians in this field, other accompanying drawings can be obtained based on these accompanying drawings without creative work.

[0020] Figure 1 A schematic diagram showing an exemplary system architecture to which the method according to an embodiment of the present disclosure can be applied is shown.

[0021] Figure 2 The figure is a flowchart of a video encoding method according to an exemplary embodiment.

[0022] Figure 3 The figure is a schematic diagram showing a parallel processing process of video encoding according to an exemplary embodiment.

[0023] Figure 4 The following is a flow chart of a method for triggering a MCTF task according to an exemplary embodiment. Figure 1 .

[0024] Figure 5 is a schematic diagram showing a MCTF task triggering process according to an exemplary embodiment.

[0025] Figure 6 The following is a flow chart of a method for triggering a MCTF task according to an exemplary embodiment. Figure 2 .

[0026] Figure 7 The figure is a flowchart of a method for encoding block reference according to an exemplary embodiment.

[0027] Figure 8 It is a schematic diagram showing a coding block reference process according to an exemplary embodiment.

[0028] Fig. 9 The invention is a block diagram of a video encoding device according to an exemplary embodiment.

[0029] Fig.10 It is a schematic diagram showing the structure of an electronic device suitable for implementing the exemplary embodiments of the present disclosure according to an exemplary embodiment. DETAILED DESCRIPTION

[0030] Example embodiments will now be described more fully with reference to the accompanying drawings. However, example embodiments can be implemented in a variety of forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided so that this disclosure will be comprehensive and complete and will fully convey the concepts of the example embodiments to those skilled in the art. The same reference numerals in the figures represent the same or similar parts, and thus their repeated description will be omitted.

[0031] The features, structures or characteristics described in the present disclosure may be combined in one or more embodiments in any suitable manner. In the following description, many specific details are provided to provide a full understanding of the embodiments of the present disclosure. However, those skilled in the art will appreciate that the technical solutions of the present disclosure may be practiced while omitting one or more of the specific details, or other methods, components, devices, steps, etc. may be adopted. In other cases, known methods, devices, implementations or operations are not shown or described in detail to avoid blurring the various aspects of the present disclosure.

[0032] The accompanying drawings are only schematic diagrams of the present disclosure, and the same reference numerals in the drawings represent the same or similar parts, so their repeated description will be omitted. Some block diagrams shown in the accompanying drawings do not necessarily correspond to physically or logically independent entities. These functional entities can be implemented in software form, or implemented in at least one hardware module or integrated circuit, or implemented in different networks and / or processor devices and / or microcontroller devices.

[0033] The flowcharts shown in the accompanying drawings are only exemplary and do not necessarily include all the contents and steps, nor must they be executed in the order described. For example, some steps can be decomposed, and some steps can be combined or partially combined, so the actual execution order may change according to actual conditions.

[0034] In this specification, the terms "a", "an", "the", "said" and "at least one" are used to indicate the presence of at least one element / component / etc.; the terms "comprising", "including" and "having" are used to express an open-ended inclusion and mean that additional elements / components / etc. may exist in addition to the listed elements / components / etc.; the terms "first", "second" and "third" etc. are used only as labels and are not intended to limit the quantity of their objects.

[0035] Figure 1 A schematic diagram showing an exemplary system architecture to which the method according to an embodiment of the present disclosure can be applied is shown.

[0036] like Figure 1 As shown, the system architecture may include a server 101, a network 102, a terminal device 103, a terminal device 104, and a terminal device 105. The network 102 is used to provide a medium for a communication link between the terminal device 103, the terminal device 104, or the terminal device 105 and the server 101. The network 102 may include various connection types, such as wired, wireless communication links, or optical fiber cables, etc.

[0037] The server 101 may be a server that provides various services, such as a background management server that provides support for devices operated by users using the terminal device 103, the terminal device 104, or the terminal device 105. The background management server may analyze and process the received request and other data, and feed back the processing results to the terminal device 103, the terminal device 104, or the terminal device 105.

[0038] Terminal device 103, terminal device 104 and terminal device 105 can be a smart phone, a tablet computer, a laptop computer, a desktop computer, a smart speaker, a wearable smart device, a virtual reality device, an augmented reality device, etc., but are not limited thereto.

[0039] It should be understood that Figure 1 The number of terminal devices 103, terminal devices 104, terminal devices 105, networks 102 and servers 101 are merely illustrative. Server 101 may be a physical server, a server cluster consisting of multiple servers, or a cloud server. Depending on actual needs, any number of terminal devices, networks and servers may be provided.

[0040] Below, each step of the method in the exemplary embodiment of the present disclosure will be described in more detail with reference to the accompanying drawings and embodiments.

[0041] Figure 2 The figure is a flowchart of a video encoding method according to an exemplary embodiment. Figure 2 The method provided in the embodiment is applied to the client and can be executed by any electronic device, such as the above Figure 1 The terminal device in Figure 1 Servers in, or Figure 1 The terminal device and the server in the embodiment are jointly executed, but the present disclosure is not limited to this.

[0042] In step S210, a plurality of coding tree units (CTUs) in a to-be-encoded video frame are obtained.

[0043] In the related art, the video frame to be encoded is divided into multiple CTUs. The size of each CTU is usually 64x64. In the MCTF process, the 64x64 CTU is also used as the basic processing unit, and then the search is performed according to the coding block. The size of each coding block is usually 8x8. In the MV (Motion Vector) search process, it is necessary to inherit the MV search results of the coding blocks in the neighborhood of the coding block to assist in calculating the best MV of the current block. For example, the 8x8 block on the left, the 8x8 block above, and the 8x8 block on the upper left. Therefore, in the MCTF process, each coding block in the CTU task is serially searched for the best MV.

[0044] In the disclosed embodiment, a plurality of CTUs divided in the to-be-encoded video frame are first obtained. Each CTU in the relevant video frame is divided based on the current standard specification, which is not limited here.

[0045] In step S220, a motion estimation-compensated temporal filter (MCTF) process is performed on the first CTU.

[0046] In the disclosed embodiment, MCTF processing is performed on the first CTU to generate a time domain filtering result corresponding to the first CTU, wherein the first CTU may be any CTU in the video frame to be encoded.

[0047] First, trigger the MCTF task of performing MCTF processing on the first CTU. During the MCTF task processing, perform MCTF processing on each coding block included in the first CTU respectively. Until all coding blocks in the first CTU complete the corresponding MCTF processing, the MCTF processing of the first CTU is completed, and the MCTF task of the first CTU is terminated.

[0048] In step S230, in response to the first CTU completing the MCTF process, encoding processing is performed on the first CTU.

[0049] In the related art, the MCTF task of each CTU is processed serially. That is, the MCTF task of the next CTU will be carried out after the MCTF task of one CTU is completed. Moreover, the encoding task of the video frame will be carried out only after the MCTF tasks of all CTUs in the entire video frame are processed. This will result in a slow encoding speed for the entire video frame.

[0050] In the disclosed embodiment, in response to the first CTU completing the MCTF processing, that is, ending the MCTF task of the first CTU, the encoding processing of the first CTU will be triggered. In this way, the encoding task of the first CTU does not need to wait for the MCTF tasks of other CTUs to be completed before it is performed, and the MCTF tasks of other CTUs and the encoding task of the first CTU can be processed in parallel, which greatly improves the encoding speed of the entire video frame.

[0051] In an exemplary embodiment, in response to all CTUs in the to-be-encoded video frame having completed their respective encoding processes, a video encoding frame of the to-be-encoded video frame is generated to complete the encoding process of the to-be-encoded video frame.

[0052] In step S240, in response to the first CTU completing the MCTF processing, at least one second CTU is triggered to perform MCTF processing based on a reference association relationship corresponding to the first CTU; the reference association relationship is used to characterize a reference relationship between two CTUs in the video frame to be encoded.

[0053] In the disclosed embodiment, in response to the first CTU completing the MCTF processing, that is, ending the MCTF task of the first CTU, the MCTF tasks of other CTUs in the video frame to be encoded are also triggered. The mutual triggering logic between the CTUs is based on a preset reference association relationship between the CTUs. The reference association relationship is used to characterize the reference relationship between two CTUs in the video frame to be encoded. Based on the reference association relationship corresponding to the first CTU, at least one second CTU is triggered to perform MCTF processing.

[0054] In an exemplary embodiment, the two CTUs in the reference association relationship are the reference CTU and the associated CTU. The associated CTU performs MCTF processing with reference to the reference CTU. That is, during the MCTF processing, the coding block in the associated CTU will use the corresponding coding block in the reference CTU as a reference to perform relevant MV search. It should be pointed out that the reference CTU and the associated CTU do not refer to a specific CTU, but refer to the relationship between two CTUs in a reference association relationship. A CTU can be a reference CTU of another CTU, and can also be an associated CTU of other CTUs.

[0055] In an exemplary embodiment, a reference association relationship between each CTU is determined based on the positional relationship between each CTU in the video frame to be encoded. In a reference association relationship, the reference CTU is located to the left, above, upper left, or upper right of the associated CTU. It should be noted that, according to the needs of the actual application scenario, multiple CTUs in different directions can be selected to establish a reference association relationship, and the present disclosure does not limit the specific selected direction and position. The CTU can select CTUs in one or more directions to establish the reference association relationship based on pre-set rules.

[0056] In an exemplary embodiment, based on the above reference association relationship, a CTU may have one or more associated CTUs corresponding to it. At the same time, a CTU may also have one or more reference CTUs corresponding to it.

[0057] Figure 3It is a schematic diagram of a parallel processing process of video encoding according to an exemplary embodiment. As shown in the figure, when the first CTU completes its MCTF task, on the one hand, the encoding task corresponding to the first CTU is triggered, and on the other hand, the MCTF task of the associated CTU corresponding to it is triggered based on the reference association relationship. The two are processed in parallel, and the order of processing is not limited. Based on this, the encoder can set multiple processing threads to process the encoding tasks and MCTF tasks of each CTU of the video frame to be encoded in parallel. In this way, the waiting time of the encoding task and the MCTF task can be reduced, and the encoding speed of the video frame can be greatly improved.

[0058] The video encoding method provided by the embodiment of the present disclosure completes MCTF processing based on the CTU in the video frame to be encoded, triggering the encoding task corresponding to the CTU on the one hand, and triggering other CTUs to perform MCTF processing based on the reference association relationship on the other hand. The method processes the encoding tasks and MCTF tasks of each CTU in parallel, reducing the waiting time of related encoding tasks and MCTF tasks, and greatly improving the encoding speed of the video frame.

[0059] Figure 4 The following is a flow chart of a method for triggering a MCTF task according to an exemplary embodiment. Figure 1 In the embodiment of the present disclosure, Figure 2 Based on the video encoding method shown, the aforementioned step S240 may include the following steps.

[0060] In step S410, in response to the first CTU completing the MCTF processing, at least one associated CTU that refers to the first CTU is acquired based on the reference association relationship corresponding to the first CTU.

[0061] In the embodiment of the present disclosure, in response to the first CTU completing the MCTF processing, that is, ending the MCTF task of the first CTU, a reference association relationship in which the first CTU is used as a reference CTU is obtained based on multiple reference association relationships corresponding to the first CTU. Through the reference association relationship, at least one associated CTU that refers to the first CTU is obtained.

[0062] In step S420, the at least one associated CTU is triggered to perform MCTF processing.

[0063] In the embodiment of the present disclosure, since the at least one associated CTU refers to the first CTU, the MCTF processing is completed based on the first CTU, which can trigger the at least one associated CTU to perform MCTF processing.

[0064] Figure 5FIG. 1 is a schematic diagram of an MCTF task triggering process according to an exemplary embodiment. In an exemplary embodiment, a CTU establishes a reference association relationship with its right and lower left CTUs. The CTU is a reference CTU, and the right and lower left CTUs are associated CTUs. i,j After the MCTF processing is completed, the CTU will be triggered according to the reference association relationship. i+1,j and CTU i-1,j+1 Perform MCTF processing. Where i represents the number of columns and j represents the number of rows.

[0065] In addition, special provisions can be made for the leftmost CTU in each row to prevent problems with the processing logic. If no CTU in the row below is undergoing MCTF processing, the leftmost CTU in the CTU block below that is not undergoing MCTF processing and whose column number is less than or equal to i-1 will be triggered, otherwise the CTU in the row below will not be triggered to start MCTF processing.

[0066] As shown in the figure, during the MCTF processing of the video frame, the CTU numbered "0" in the upper left corner is first subjected to MCTF processing. Based on this, the CTU numbered "0" completes the MCTF processing, triggering the CTU numbered "1" on the right to perform MCTF processing. Furthermore, the CTU numbered "1" completes the MCTF processing, triggering the CTU numbered "2" on the right and lower left to perform MCTF processing. By analogy, it can be seen that the CTUs of the video frame perform MCTF processing in parallel, which significantly improves the overall processing efficiency compared to performing MCTF processing on each CTU in series.

[0067] Figure 6 The following is a flow chart of a method for triggering a MCTF task according to an exemplary embodiment. Figure 2 In the disclosed embodiment, the CTU on the triggered MCTF task side may determine to trigger its MCTF task according to the following steps.

[0068] In step S610, based on the reference association relationship corresponding to the second CTU, at least one reference CTU referenced by the second CTU is acquired.

[0069] As mentioned above, since a CTU may have one or more reference CTUs corresponding to it, the condition for triggering the CTU to perform MCTF processing is satisfied only after all the reference CTUs referenced by the CTU have completed MCTF processing.

[0070] In the embodiment of the present disclosure, the conditions that need to be satisfied as a triggered CTU are described. Based on multiple reference association relationships corresponding to a second CTU, a reference association relationship in which the second CTU is used as an associated CTU is obtained. Through the reference association relationship, at least one reference CTU referenced by the second CTU is obtained.

[0071] In step S620, in response to the at least one reference CTU completing the MCTF processing, the second CTU is triggered to perform MCTF processing.

[0072] In the disclosed embodiment, in response to each reference CTU corresponding to the second CTU having completed MCTF processing, the condition for the second CTU to trigger its MCTF task is met, and the second CTU is subjected to MCTF processing. Otherwise, even if some of the reference CTUs have completed MCTF processing, the second CTU is not subjected to MCTF processing.

[0073] like Figure 5 As shown, taking the CTU numbered "4" in the 2nd row and 3rd column of the video frame as an example, even if the CTU numbered "3" in the 2nd row and 2nd column has completed the MCTF processing, it will not directly trigger the CTU numbered "4" to perform MCTF processing. It is also necessary to meet the requirement that the CTU numbered "3" in the 1st row and 4th column has also completed the MCTF processing, that is, the CTUs to the left and upper right of the CTU numbered "4" have completed the MCTF processing, in order to meet the triggering condition of the CTU numbered "4" and perform MCTF processing on the CTU numbered "4".

[0074] The video encoding method provided by the embodiment of the present disclosure completes the MCTF task based on CTU, triggers the corresponding associated CTU to perform MCTF processing, and ensures the rationality of the parallel triggering mechanism based on the MCTF task completion status of each reference CTU relative to the triggered CTU. By processing the MCTF tasks of each CTU in the video frame in parallel, the overall processing efficiency is significantly improved compared to performing the MCTF tasks of each CTU in series.

[0075] Figure 7 The figure is a flowchart of a method for encoding block reference according to an exemplary embodiment. Figure 8 is a schematic diagram showing a coding block reference process according to an exemplary embodiment. Figure 2 Based on the video encoding method shown, the aforementioned step S220 may include the following steps.

[0076] In step S710, a first coding block in the first CTU is obtained.

[0077] In the embodiment of the present disclosure, during the MCTF processing of a CTU, the MCTF processing is performed on a coding block in the CTU as a unit. A first coding block in the first CTU is obtained. The first coding block may be any coding block in the first CTU.

[0078] In an exemplary embodiment, the video frame to be encoded is divided into multiple CTUs. The size of each CTU is usually 64x64. Each CTU is divided into multiple coding blocks. The size of each coding block is usually 8x8.

[0079] In step S720, based on the reference association relationship corresponding to the first CTU, at least one reference CTU referenced by the first CTU is acquired.

[0080] In the embodiment of the present disclosure, based on multiple reference association relationships corresponding to a first CTU, a reference association relationship in which the first CTU is used as an associated CTU is obtained. Through the reference association relationship, at least one reference CTU referenced by the first CTU is obtained.

[0081] In step S730, at least one second coding block at a corresponding position in the at least one reference CTU is determined according to the position of the first coding block in the first CTU.

[0082] In the embodiment of the present disclosure, at least one second coding block at a corresponding position in the at least one reference CTU is determined according to the position of the first coding block in the first CTU.

[0083] by Figure 8 Take the embodiment as an example, where the lower right corner is a CTU that is processed by MCTF, and its reference CTU includes three CTUs to its left, upper left, and upper. The first coding block that is processed by MCTF is located at the 3rd row and 5th column of the CTU. Based on this position, three second coding blocks at corresponding positions are found in the three reference CTUs respectively.

[0084] In step S740, the first coding block is subjected to MCTF processing with reference to the at least one second coding block.

[0085] In the embodiment of the present disclosure, the first coding block is subjected to MCTF processing with reference to the at least one second coding block. The relevant MCTF processing algorithm is a prior art, and its specific MCTF processing process is not limited here.

[0086] The video encoding method provided by the embodiment of the present disclosure eliminates the dependent reference relationship between the coding blocks in the CTU, and instead references the corresponding coding blocks in the reference CTU. Based on this, all coding blocks in the MCTF task of the CTU can be processed in parallel, thereby greatly improving the MCTF processing efficiency of the CTU.

[0087] The following are embodiments of the device disclosed herein, which can be used to execute the method embodiments disclosed herein. For details not disclosed in the device embodiments disclosed herein, please refer to the method embodiments disclosed herein.

[0088] Fig. 9 is a block diagram of a video encoding device according to an exemplary embodiment. Fig. 9 The video encoding device 900 may include: a CTU acquisition module 910, an MCTF processing module 920, an encoding processing module 930 and an MCTF triggering module 940.

[0089] The CTU acquisition module 910 is configured to acquire multiple CTUs in the video frame to be encoded.

[0090] The MCTF processing module 920 is configured to perform MCTF processing on the first CTU.

[0091] The encoding processing module 930 is configured to perform encoding processing on the first CTU in response to the first CTU completing the MCTF processing.

[0092] The MCTF trigger module 940 is configured to trigger at least one second CTU to perform MCTF processing in response to the first CTU completing the MCTF processing based on a reference association relationship corresponding to the first CTU; the reference association relationship is used to characterize a reference relationship between two CTUs in the video frame to be encoded.

[0093] In some exemplary embodiments of the present disclosure, the reference association relationship includes: a reference CTU and an associated CTU; the associated CTU performs MCTF processing with reference to the reference CTU.

[0094] In some exemplary embodiments of the present disclosure, the MCTF trigger module 940 is further configured to, in response to the first CTU completing the MCTF processing, obtain at least one associated CTU that refers to the first CTU based on the reference association relationship corresponding to the first CTU; and trigger the at least one associated CTU to perform MCTF processing.

[0095] In some exemplary embodiments of the present disclosure, the MCTF trigger module 940 is further configured to obtain at least one reference CTU referenced by the second CTU based on the reference association relationship corresponding to the second CTU; in response to the at least one reference CTU completing the MCTF processing, trigger the second CTU to perform MCTF processing.

[0096] In some exemplary embodiments of the present disclosure, the MCTF processing module 920 is further configured to obtain a first coding block in the first CTU; based on the reference association relationship corresponding to the first CTU, obtain at least one reference CTU referenced by the first CTU; determine at least one second coding block at a corresponding position in the at least one reference CTU according to the position of the first coding block in the first CTU; and perform MCTF processing on the first coding block with reference to the at least one second coding block.

[0097] In some exemplary embodiments of the present disclosure, the reference CTU is located to the left, above, to the upper left, or to the upper right of the associated CTU.

[0098] In some exemplary embodiments of the present disclosure, in response to the multiple CTUs completing the encoding process, a video encoding frame is generated for the video frame to be encoded.

[0099] Regarding the device in the above embodiment, the specific manner in which each module performs operations has been described in detail in the embodiment of the method, and will not be elaborated here.

[0100] Refer to the following Fig.10 hereinafter describes the electronic device 1000 according to such an embodiment of the present disclosure. Fig.10 The electronic device 1000 shown is merely an example and should not bring any limitation to the functions and scope of use of the embodiments of the present disclosure.

[0101] like Fig.10 As shown, the electronic device 1000 is in the form of a general computing device. The components of the electronic device 1000 may include but are not limited to: the at least one processing unit 1010, the at least one storage unit 1020, a bus 1030 connecting different system components (including the storage unit 1020 and the processing unit 1010), and a display unit 1040.

[0102] The storage unit stores program codes, which can be executed by the processing unit 1010, so that the processing unit 1010 performs the steps according to various exemplary embodiments of the present disclosure described in the above “Exemplary Method” section of this specification. For example, the processing unit 1010 can perform the following steps: Figure 2 The steps shown.

[0103] For example, electronic devices can achieve Figure 2 The steps shown.

[0104] The storage unit 1020 may include a readable medium in the form of a volatile storage unit, such as a random access memory unit (RAM) 1021 and / or a cache memory unit 1022 , and may further include a read-only memory unit (ROM) 1023 .

[0105] The storage unit 1020 may also include a program / utility 1024 having a set (at least one) of program modules 1025, such program modules 1025 including but not limited to: an operating system, one or more application programs, other program modules, and program data, each of which or some combination may include an implementation of a network environment.

[0106] Bus 1030 may represent one or more of several types of bus structures, including a memory unit bus or memory unit controller, a peripheral bus, an accelerated graphics port, a processing unit, or a local bus using any of a variety of bus architectures.

[0107] The electronic device 1000 may also communicate with one or more external devices 1070 (e.g., keyboards, pointing devices, Bluetooth devices, etc.), may also communicate with one or more devices that enable a user to interact with the electronic device 1000, and / or communicate with any device that enables the electronic device 1000 to communicate with one or more other computing devices (e.g., routers, modems, etc.). Such communication may be performed via an input / output (I / O) interface 1050. Furthermore, the electronic device 1000 may also communicate with one or more networks (e.g., a local area network (LAN), a wide area network (WAN), and / or a public network, such as the Internet) via a network adapter 1060. As shown, the network adapter 1060 communicates with other modules of the electronic device 1000 via a bus 1030. It should be understood that, although not shown in the figure, other hardware and / or software modules may be used in conjunction with the electronic device 1000, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems.

[0108] Through the description of the above embodiments, it is easy for those skilled in the art to understand that the example embodiments described here can be implemented by software, or by software combined with necessary hardware. Therefore, the technical solution according to the embodiment of the present disclosure can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (which can be a CD-ROM, a USB flash drive, a mobile hard disk, etc.) or on a network, and includes several instructions to enable a computing device (which can be a personal computer, a server, a terminal device, or a network device, etc.) to execute the method according to the embodiment of the present disclosure.

[0109] In an exemplary embodiment, a computer-readable storage medium including instructions is also provided, such as a memory including instructions, and the above instructions can be executed by a processor of the device to complete the above method. Optionally, the computer-readable storage medium can be a ROM, a random access memory (RAM), a CD-ROM, a magnetic tape, a floppy disk, an optical data storage device, etc.

[0110] In an exemplary embodiment, a computer program product is also provided, including a computer program / instruction, and when the computer program / instruction is executed by a processor, the method in the above embodiment is implemented.

[0111] Those skilled in the art will readily appreciate other embodiments of the present disclosure after considering the specification and practicing the invention disclosed herein. This application is intended to cover any variations, uses, or adaptations of the present disclosure that follow the general principles of the present disclosure and include common knowledge or customary techniques in the art that are not disclosed in the present disclosure. The specification and examples are intended to be exemplary only, and the true scope and spirit of the present disclosure are indicated by the following claims.

[0112] It should be understood that the present disclosure is not limited to the exact structures that have been described above and shown in the drawings, and that various modifications and changes may be made without departing from the scope thereof. The scope of the present disclosure is limited only by the appended claims.

Claims

1. A video encoding method, characterized in that: include: Obtain multiple coding tree units (CTUs) in a video frame to be encoded; Performing a motion estimation compensated temporal filter (MCTF) process on the first CTU; In response to the first CTU completing the MCTF processing, performing encoding processing on the first CTU; In response to the first CTU completing the MCTF processing, triggering at least one second CTU to perform MCTF processing based on a reference association relationship corresponding to the first CTU; The reference association relationship is used to represent a reference relationship between two CTUs in the to-be-encoded video frame.

2. The method according to claim 1, characterized in that The reference association relationship includes: a reference CTU and an associated CTU; the associated CTU performs MCTF processing with reference to the reference CTU.

3. The method according to claim 2, characterized in that In response to the first CTU completing the MCTF processing, triggering at least one second CTU to perform MCTF processing based on a reference association relationship corresponding to the first CTU, includes: In response to the first CTU completing the MCTF processing, based on the reference association relationship corresponding to the first CTU, acquiring at least one associated CTU that refers to the first CTU; The at least one associated CTU is triggered to perform MCTF processing.

4. The method according to claim 2, characterized in that: The method further comprises: Based on the reference association relationship corresponding to the second CTU, acquire at least one reference CTU referenced by the second CTU; In response to the at least one reference CTU completing the MCTF processing, triggering the second CTU to perform MCTF processing.

5. The method according to claim 2, characterized in that: The performing MCTF processing on the first CTU includes: Obtain a first coding block in the first CTU; Based on the reference association relationship corresponding to the first CTU, acquire at least one reference CTU referenced by the first CTU; Determine, according to the position of the first coding block in the first CTU, at least one second coding block at a corresponding position in the at least one reference CTU; The first coding block is subjected to MCTF processing with reference to the at least one second coding block.

6. The method according to claim 2, characterized in that The reference CTU is located to the left, above, upper left, or upper right of the associated CTU.

7. The method according to claim 1, characterized in that The method further comprises: In response to the multiple CTUs completing the encoding process, a video encoding frame is generated for the video frame to be encoded.

8. A video encoding device, characterized in that: include: A CTU acquisition module, configured to acquire multiple CTUs in a video frame to be encoded; an MCTF processing module, configured to perform MCTF processing on the first CTU; an encoding processing module, configured to perform encoding processing on the first CTU in response to the first CTU completing the MCTF processing; an MCTF triggering module, configured to trigger at least one second CTU to perform MCTF processing based on a reference association relationship corresponding to the first CTU in response to the first CTU completing the MCTF processing; The reference association relationship is used to represent a reference relationship between two CTUs in the to-be-encoded video frame.

9. An electronic device, characterized in that: include: processor; a memory for storing instructions executable by the processor; The processor is configured to execute the executable instructions to implement the video encoding method according to any one of claims 1 to 7. 10 . A computer-readable storage medium, when instructions in the computer-readable storage medium are executed by a processor of an electronic device, the electronic device is enabled to execute the video encoding method according to any one of claims 1 to 7.

11. A computer program product comprising a computer program / instructions, characterized in that When the computer program / instructions are executed by a processor, the video encoding method according to any one of claims 1 to 7 is implemented.