METHOD AND APPARATUS FOR PREDICTIVE VIDEO CODING

JP7610233B2Active Publication Date: 2025-01-08BIGO TECH PTE LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
JP2023535762
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2020-12-11
Filing Date
2021-12-03
Publication Date
2025-01-08
Estimated Expiration
2041-12-03

AI Technical Summary

Benefits of technology

【0006】 本発明では、関連技術におけるフレーム間符号化プロセスにおいてフレーム内予測モードを行うことによって、符号化率の消費が高く、符号化効率が低く、符号化コストが高い場合を回避するために、動画予測符号化の方法及び装置を提供する。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007610233000005
    Figure 0007610233000005
  • Figure 0007610233000006
    Figure 0007610233000006
  • Figure 0007610233000007
    Figure 0007610233000007
Patent Text Reader

Abstract

A method and apparatus for video predictive coding are disclosed, the method including: determining implemented mode information based on an implemented mode in a decision process for determining an optimal mode for a current prediction unit during inter-frame prediction, the implemented mode information including a tiered optimal mode and a cost of the tiered optimal mode; and determining whether to skip an intra-frame prediction mode in the decision process based on the implemented mode information.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention claims priority to a Chinese patent application with application number 202011461361.8 filed with the China Patent Office on December 11, 2020, the entire contents of which are incorporated herein by reference.

[0002] FIELD OF THE DISCLOSURE Embodiments of the present invention relate to video coding techniques, for example to methods and apparatus for video predictive coding. [Background technology]

[0003] High Efficiency Video Coding (HEVC) is the latest generation video coding standard, which can double the compression efficiency of HEVC compared with H.264. HEVC adopts many complex technologies to achieve the improved compression rate, specifically, (1) HEVC adopts a quadtree block division method, each block is called a coding unit (CU), a CU can be up to 64x64, each CU can be recursively divided into 4 sub-CUs, a CU can be as small as 8x8, therefore, HEVC's block division method is more flexible than H.264 and has more block types. (2) HEVC can try more prediction modes for each CU, and each prediction mode corresponds to one prediction unit (PU). There are two types of prediction modes: inter-frame prediction modes (including Merge&Skip_2Nx2N, Inter_2Nx2N, Inter_2NxN, Inter_Nx2N, Inter_2NxnU, Inter_2NxnD, Inter_nLx2N, Inter_nRx2N, Inter_NxN, etc.) and intra-frame prediction modes (including Intra_2Nx2N, Intra_NxN). I frames can only use intra-frame prediction modes, and P and B frames can use all prediction modes. HEVC calculates the coding cost of each mode and selects the prediction mode with the smallest coding cost from among them, thereby achieving a higher compression effect.

[0004] In P and B frames of HEVC, intra prediction mode is also a very important prediction mode. For a motion sequence, since the motion involves the appearance of new scenes and the disappearance of old scenes, each frame contains coding units that cannot find matching blocks in other frames, and for such coding units, the prediction effect using intra prediction may be significantly better than inter prediction. However, overall, most coding units can find matching blocks in adjacent frames in the time domain, so the selection rate using intra prediction is relatively low in P and B frames.

[0005] HEVC's intraframe prediction mode is a significant improvement over H264, with HEVC supporting 33 directional prediction modes and 2 non-directional prediction modes (Planar and Direct Current (DC) modes), while H264 only has 8 directional prediction modes, making HEVC's Intra much more complex than H264 and requiring rate-distortion cost (RD cost) calculations for each prediction mode. The calculations are complex and the time overhead is very large for such a mode decision process. Therefore, if unnecessary rate-distortion optimization (RDO) mode selection can be reduced, the resource overhead of the encoder can be significantly reduced, and the encoding speed can be improved and the encoding cost can be reduced. Summary of the Invention [Means for solving the problem]

[0006] The present invention provides a method and apparatus for predictive coding of moving images, in order to avoid the high coding rate consumption, low coding efficiency and high coding cost caused by performing intra-frame prediction mode in the inter-frame coding process in the related art.

[0007] In a first aspect, an embodiment of the invention comprises: During inter-frame prediction, in a decision process for deciding an optimal mode of a current prediction unit, determining implemented mode information according to an implemented mode, the implemented mode information including a tiered optimal mode and a cost of the tiered optimal mode; determining whether to skip the intra-frame prediction mode of the decision process based on the performed mode information; wherein skipping the intra-frame prediction mode in the decision process includes a part of the process of skipping the intra-frame prediction mode and the entire process of skipping the intra-frame prediction mode. And, Including, The present invention relates to a method for predictive coding of moving images.

[0008] In a second aspect, an embodiment of the invention comprises: an executed mode information determining module configured to determine executed mode information according to an executed mode in a decision process for determining an optimal mode of a current prediction unit during inter-frame prediction, the executed mode information including a tiered optimal mode and a cost of the tiered optimal mode; and determining whether to skip an intra-frame prediction mode of the decision process based on the performed mode information. Wherein, skipping the intra-frame prediction mode in the decision process includes a part of the process of skipping the intra-frame prediction mode and the whole process of skipping the intra-frame prediction mode. an intra-frame prediction mode skip determination module; Including, The present invention relates to a video predictive coding device.

[0009] In a third aspect, an embodiment of the present invention relates to an electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, the electronic device implementing the above method when the processor executes the program.

[0010] In a fourth aspect, an embodiment of the present invention relates to a computer readable storage medium having a computer program stored thereon, the computer program implementing the above method when the program is executed by a processor. [Brief description of the drawings]

[0011] [Figure 1] 4 is a flow chart of a method embodiment of video predictive coding according to an embodiment of the present invention; [Diagram 2] 2 is a schematic diagram of an inter-frame PU mode decision process according to an embodiment of the present invention; [Diagram 3] 11 is a flowchart of an Intra mode skip determination according to an embodiment of the present invention. [Figure 4] 13 is a flowchart of another Intra mode skip decision according to an embodiment of the present invention. [Diagram 5] FIG. 2 is a structural block diagram of an embodiment of a video predictive coding device according to an embodiment of the present invention; [Figure 6] 1 is a structural schematic diagram of an electronic device according to an embodiment of the present invention; DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0012] The present invention will be described in more detail below with reference to the drawings and examples. It is understood that the specific examples described in this specification are not intended to limit the present invention, but are used only to explain the present invention. For ease of explanation, the drawings show only parts related to the present invention, not the entire configuration.

[0013] 1 is a flow chart of an embodiment of a method for predictive coding of video according to an embodiment of the present invention, which can be applied to the predictive coding stage in video coding, where predictive coding means using one or more encoded sample values ​​to predict the current sample value based on a model or method, and coding the difference between the true value of the sample and the predicted value, and by performing transformation, quantization, and entropy coding on the residual after prediction instead of the original pixel value, the coding efficiency can be greatly improved. Predictive coding can include intra-frame prediction Intra mode and inter-frame prediction Inter mode, where I frames can only use Intra mode, and P and B frames can use all prediction modes.

[0014] In P and B frames of HEVC, Intra mode is also a very important prediction mode, and Intra mode mainly utilizes the correlation of video spatial domain pixels to remove video spatial redundancy, and predicts the current pixel using the coded pixel. In HEVC, there are five types of PUs for intra-frame coding of luma components, namely 4x4, 8x8, 16x16, 32x32, and 64x64, where each size of PU corresponds to 35 prediction modes, namely DC, Planar, and 33 angle modes, and there are five prediction modes for chroma components, namely DC, Planar, Horizontal, Vertical, and Luma components. RD cost calculation is required for each prediction mode, and the calculation is complicated and the time overhead is very large for such a mode decision process. If the intra-frame PU fast algorithm can reduce unnecessary RDO mode selection, the resource overhead of the encoder can be significantly reduced, and the coding speed can be improved and the coding cost can be reduced.

[0015] Based on this, in this embodiment, when performing interframe coding, the intraframe mode can be quickly processed. By simplifying the complexity of intraframe mode decision in the interframe coding process of the encoder, the compression speed of the encoder can be improved, and after improving the compression speed of the encoder, the throughput of the transcoding service can be increased, further saving server resources and reducing transcoding costs.

[0016] It should be noted that the method described in this embodiment can be applied to any mixed coding architecture that complies with the block, and any encoder that meets the HEVC coding standard can be applied, and other encoders that meet standards such as AVS1, H.264, VP8, VP9, ​​AVS2, AVS3, AV1, VVC, etc. can also be used directly after adjustment. The encoder described in this embodiment can be applied not only to transcoding services but also to real-time coding services on the mobile side.

[0017] This embodiment may include the following steps.

[0018] In step 110, during inter-frame prediction, in a decision process for determining an optimal mode for a current prediction unit, performed mode information is determined based on a performed mode, and the performed mode information includes a tiered optimal mode and a cost of the tiered optimal mode.

[0019] In step 120, it is determined whether to skip the intra-frame prediction mode of the decision process based on the performed mode information.

[0020] In an exemplary embodiment, referring to FIG. 2, a schematic diagram of an inter-frame PU mode decision process is shown, and the inter-frame PU mode decision process may include the following processes:

[0021] First, 2Nx2N level MERGE / SKIP mode is performed, and if the recursion condition is satisfied, CU recursion mode is performed, and after recursion is completed, it returns to the current block size CU, and continues to perform intra-frame prediction Intra mode, and after Intra is completed, 2Nx2N inter-frame mode is performed (forward search and backward search are performed respectively to select the best matching block), then 2NxN BIDIR is performed (only bidirectional search is performed to obtain the best matching block), and then 2NxN and Nx2N mode types are performed. Each time one type of mode is completed, one mode judgment is performed, and the step-optimal mode tempBestMode is obtained. Here, N is a positive integer.

[0022] After running Nx2N, If tempBestMode == 2NxN, continue to run 2NxnU, 2NxnD and compare to get the final best mode, BestMode. If tempBestMode == Nx2N, continue to run nLx2N, nRx2N, and compare to get the final best mode, BestMode. If tempBestMode != 2NxN && tempBestMode != Nx2N, then continue to run 2NxnU, 2NxnD, nLx2N, nRx2N and compare to get the final best mode BestMode.

[0023] If the current block performs CU recursion, the BestMode cost is compared with the recursion cost to determine whether or not to perform CU recursion division.

[0024] In addition, modes such as 2NxN, Nx2N, 2NxnU, 2NxnD, nLx2N, and nRx2N include two PUs, and each PU needs to perform MERGE / SKIP, forward / backward search, and bidirectional search to obtain the optimal matching block.

[0025] In this embodiment, in the above-mentioned decision process, when determining the optimal inter-frame prediction mode for the current PU, corresponding executed mode information is obtained based on a mode that has already been executed, and it is possible to determine whether or not to skip the intra-frame prediction Intra mode in the above-mentioned decision process based on the executed mode information.

[0026] Illustratively, the executed mode information may include a tiered optimal mode and a cost of the tiered optimal mode. In this embodiment, whether to skip the Intra mode is determined in a different manner based on different executed mode information.

[0027] In an exemplary implementation scenario, skipping Intra mode may be a part of the process of skipping Intra, that is, when performing Intra mode, intervene in the internal decision of Intra to make Intra avoid RDO as much as possible, reduce the complexity of Intra mode, and save coding time. To determine whether to skip Intra mode, the decision of intra-frame fast mode can be made directly based on the inter-frame coding PU information of the current PU, which does not require additional calculation and is cost-effective.

[0028] In one embodiment, the cost of the tiered optimal mode may include a SATD cost of the tiered optimal mode, and as shown in FIG. 3, step 120 may include the following substeps.

[0029] In sub-step S11, a SATD coarse selection decision of an intra prediction mode is performed for the prediction unit to determine the SATD cost of the optimal intra prediction mode.

[0030] In one embodiment, when performing an intra prediction mode, a low-complexity Sum of Absolute Transformed Difference (SATD) cost may be used to select the prediction mode with the lowest SATD cost from all available intra prediction modes as the optimal intra prediction mode.

[0031] In sub-step S12, based on the size of the prediction unit, the SATD cost of the hierarchical optimal mode and the SATD cost of the optimal intra prediction mode are referred to determine whether to skip the subsequent flow of the intra prediction mode.

[0032] In this step, after obtaining the SATD cost InterSATDCost of the hierarchical optimal mode and the SATD cost RModeSATDCost of the optimal intra prediction mode, it can be determined whether to skip the subsequent flow in Intra mode according to PUs of different sizes.

[0033] Here, the different sizes of PUs may include 2Nx2N PUs and NxN PUs, where 2Nx2N is a PU with 64x64, 32x32, 16x16, 8x8 block partition size, and NxN is a PU with 4x4 block partition size.

[0034] In one embodiment, if the size of the current PU is NxN, sub-step S12 may include the following sub-steps:

[0035] In sub-step S121, it is determined whether the first 4x4 size prediction unit adopts the transform skip mode.

[0036] In this embodiment, when the size of the current PU is NxN, and NxN is a relatively special Intra coding mode, if the PU is an 8x8 block division PU, it can be divided into four 4x4 PUs and continue to be Intra coded respectively. Meanwhile, there is a special coding mode called transform skip mode (TSKIP) in 4x4 PU coding.

[0037] The transform skip mode is a technology introduced in HEVC, and its scope of use is 4x4 blocks within a frame or between frames, and it has a significant effect on video sequences with slow scene conversion, and can improve compression efficiency. Since there is a certain correlation between the transform skip modes of the four 4x4 PUs obtained by division, in this embodiment, the transform skip mode of the first 4x4 PU can be used for the determination, that is, the transform unit (TU) corresponding to the first 4x4 size PU adopts the transform skip mode to determine whether to skip the subsequent flow that is not executed in Intra mode.

[0038] In sub-step S122, a mode cost threshold is determined based on the judgment result and the SATD cost of the tiered optimal mode.

[0039] In one embodiment, if the first 4x4 size PU adopts transform skip mode, the mode cost threshold is determined as a product of the SATD cost of the tiered optimal mode and a first adjustment factor, and if the first 4x4 size PU does not adopt transform skip mode, the mode cost threshold is determined as a product of the SATD cost of the tiered optimal mode and a second adjustment factor, where the second adjustment factor is smaller than the first adjustment factor. That is, the mode cost threshold can be determined by the following formula: SATDCostThreshold = firstTskip ? InterSATDCost * a1 : InterSATDCost* b1

[0040] where SATDCostThreshold is the mode cost threshold, firstTskip? is the judgment of whether the first 4x4 size PU adopts transform skip mode (i.e., whether the first 4x4 PU is a TSKIP block), InterSATDCost is the SATD cost of the hierarchical optimal mode, a1 is the first adjustment factor, and b1 is the second adjustment factor.

[0041] If firstTskip is 1, it indicates that the first 4x4 PU is a TSKIP block and SATDCostThreshold = InterSATDCost * a1. If firstTskip is 0, it indicates that the first 4x4 PU is not a TSKIP block and SATDCostThreshold = InterSATDCost * b1.

[0042] In addition, since TSKIP has a positive effect on coding efficiency, if the first block 4x4 PU is TSKIP, the probability that the subsequent block is TSKIP is relatively high, so the mode cost threshold can be increased to avoid skipping. Therefore, a1>b1 can be set, and of course, the specific magnitudes of a1 and b1 can be set according to actual needs, for example, a1 can be set to 0.5 and b1 can be set to 0.3.

[0043] In sub-step S123, if the SATD cost of the optimal intra prediction mode is greater than the mode cost threshold, the subsequent flow of the intra prediction mode is skipped.

[0044] After the mode cost threshold is determined, the SATD cost of the optimal intra-frame prediction mode is compared with the mode cost threshold. If the SATD cost of the optimal intra-frame prediction mode is greater than the mode cost threshold, it indicates that the cost of adopting intra-frame coding is high, and the coding rate is wasted in the Intra mode, so the subsequent flow of the Intra mode can be skipped.

[0045] In one embodiment, the judgment condition is set by referring to the adjustment coefficient, and different acceleration needs can be realized by setting the adjustment coefficient. For example, whether to skip the subsequent flow of the Intra mode can be determined by the following condition judgment: if (RModeSATDCost * c > d * SATDCostThreshold ) skipIntra = true

[0046] That is, if RModeSATDCost * c is greater than d * SATDCostThreshold, it indicates that the coding cost for performing Intra mode is large, and the subsequent flow of Intra mode can be skipped, where c, d are adjustment coefficients, which can be set according to actual needs, for example, c, d can be set to 1.

[0047] In another embodiment, when the size of the current PU is 2Nx2N, the coding recursion status can be referred to determine whether to skip the subsequent flow of Intra mode. As shown in FIG. 2, when the executed mode includes a CU recursion mode, the executed mode information may further include a ratio of the coding subblocks corresponding to the current CU that are intra-frame prediction subblocks, where the intra-frame prediction subblocks are subblocks whose determined tiered optimal mode is an intra-frame prediction mode. For example, for four CU subblocks divided by the current CU, if the number of subblocks whose predicted optimal mode is Intra mode (i.e., Intra subblocks) among the four CU subblocks is one, the ratio is 1 / 4, and if the number of subblocks whose predicted optimal mode is Intra mode among the four CU subblocks is two, the ratio is 2 / 4.

[0048] In one example, if the size of the current PU is 2Nx2N, sub-step S12 may include the following sub-steps:

[0049] If the SATD cost of the optimal intra prediction mode is greater than the SATD cost of the tiered optimal mode and the ratio is less than a preset ratio threshold, skip the subsequent flow of the intra prediction mode.

[0050] For example, it is possible to determine whether or not to skip the subsequent flow in the Intra mode using the following formula: if(RModeSATDCost * e > f * InterSATDCost && Ra < g) skipIntra = true

[0051] Here, Ra is the ratio of CU sub-blocks corresponding to the current CU that are Intra sub-blocks, and e, f and g are adjustment coefficients, which can be set according to actual needs, for example, e, f and g can be set to 1, 1 and 0.75, respectively.

[0052] For the above formula, if RModeSATDCost * e > f * InterSATDCost, it indicates that the cost of adopting intra-frame predictive coding is large, and when the Ra of a CU sub-block is low, for example, less than g, the probability that the optimal mode in the corresponding CU is Intra mode is also low. Therefore, in order to save prediction time and improve coding efficiency, the subsequent flow of Intra mode can be directly skipped and the execution of Intra mode can be terminated early.

[0053] In another embodiment, if it is determined based on sub-step S11 and sub-step S12 that the subsequent flow of Intra mode should not be skipped, the subsequent flow of Intra can be continued to be executed, and for example, a candidate prediction mode set can be configured with the candidate prediction mode selected by SATD coarse selection and an MPM (Most Possible Mode), where the MPM is calculated from the intra-frame prediction modes of adjacent PUs, and the adjacent PUs are the top block, the left block and the top left block, respectively.

[0054] In another exemplary implementation scenario, skipping Intra mode can be the whole process of skipping Intra, and do not directly skip Intra to save coding time.In the process of determining inter-frame optimal mode, the information of gradual optimal mode can be directly used to judge whether to skip Intra mode, and the gradual optimal mode is variable according to content, adaptively adjustable, and has strong robustness.

[0055] In one embodiment, the cost of the tiered optimal mode may include an RDO cost of the tiered optimal mode, and as shown in FIG. 4, step 120 may include the following substeps.

[0056] In sub-step S21, it is determined whether the executed mode includes a coding unit recursive mode.

[0057] In sub-step S22, referring to the judgment result, it is judged whether to skip the intra-frame prediction mode of the decision process based on the hierarchical optimal mode and / or the RDO cost of the hierarchical optimal mode.

[0058] In one embodiment, when the performed mode includes a CU recursive mode, the performed mode information may include one or a combination of the following information: a sum of RDO costs of the coding sub-block corresponding to the current coding unit, a first flag information for indicating whether the current coding unit is an all-zero block, and a second flag information for indicating whether there is an intra-prediction sub-block in the coding sub-block corresponding to the current coding unit. The intra-prediction sub-block is a sub-block whose predicted optimal mode is an intra-prediction mode. Sub-step S22 may include the following sub-steps.

[0059] Skip the Intra mode of the decision process if one or a combination of the following conditions are met:

[0060] Condition 1 is that the total RDO cost is greater than the RDO cost in the tiered optimal mode.

[0061] Since all executed modes are modes that have undergone RDO, the corresponding RDO information (ie, executed mode information) is obtained after the execution of the mode is completed.

[0062] After executing the CU recursive mode, the RDO cost of each CU subblock is obtained, and the sum of the RDO costs of all CU subblocks can be calculated to obtain the sum of the RDO costs (i.e., the recursive cost). If the sum of the RDO costs is greater than the RDO cost of the tiered optimal mode, it indicates that the recursive cost is greater than the optimal cost of the tier, and there is no need to perform the CU recursive division, thereby saving the coding rate. On the other hand, since the Intra mode consumes a relatively large amount of coding rate, if it is determined that the sum of the RDO costs is greater than the RDO cost of the tiered optimal mode, the coding rate can be saved by skipping the Intra mode.

[0063] As condition 2, the first flag information indicates that the current coding unit is an all-zero block.

[0064] Under this condition, when the first flag information indicates that the current block is an all-zero block, the coding rate consumed by the all-zero block is relatively low, and the Intra mode consumes a relatively large coding rate, and the two are contradictory. The probability that the optimal mode in the all-zero block is the Intra mode is also low. Therefore, when it is determined that the current block is an all-zero block, the Intra mode can be skipped.

[0065] Condition 3: the second flag information indicates that no intra-frame prediction sub-block exists in the coding sub-block corresponding to the current coding unit.

[0066] Under this condition, if there is no Intra sub-block in the sub-block (i.e., there is no sub-block in the sub-block whose predicted optimal mode is Intra mode), the probability that the optimal mode of the current block is Intra mode is also low, so if it is determined that there is no Intra sub-block in the sub-block, the Intra mode can be directly skipped.

[0067] In other embodiments, in order to improve the accuracy of the judgment and reduce loss, the above three conditions can be combined for judgment. For example, when condition 1 and condition 2 are combined and conditions 1 and 2 are satisfied simultaneously, the Intra mode is skipped, as shown in the following condition judgment formula.

number

[0068] Where:

number

number

[0069] In the above conditional expression,

number

[0070] In another embodiment, if the executed mode does not include the CU recursive mode, sub-step S22 may include the following sub-steps.

[0071] If the stepwise optimum mode is a SKIP mode, the intra-frame prediction mode is skipped.

[0072] In this embodiment, since the SKIP mode saves coding rate relatively and the Intra mode consumes coding rate relatively, in order to save coding rate, if it is determined that the tiered optimal mode is the SKIP mode based on the executed mode, the Intra mode can be directly skipped.

[0073] In another embodiment, if the Intra mode cannot be skipped after the above sub-steps S21 and S22, the embodiment may further include the following steps.

[0074] Perform 2Nx2N intra-frame coding for the current coding unit, obtain a 2Nx2N intra-frame SATD cost, and skip the NxN intra-frame prediction mode if the 2Nx2N intra-frame SATD cost is greater than the SATD cost of the tiered optimal mode.

[0075] In this embodiment, if the Intra mode cannot be skipped even after the above sub-steps S21 and S22, first perform 2Nx2N Intra coding on the current CU to obtain a 2Nx2N Intra SATD cost, and then compare the 2Nx2N IntraSATD cost with the SATD cost of the hierarchical optimal mode to determine whether to skip the NxN Intra mode.

[0076] For example, the following formula is used to determine whether or not to skip the NxN Intra mode. if( a3* Intra2Nx2NSATDCost > b3 * BestModeSATDCost ) skipIntraNxN =true

[0077] where Intra2Nx2NSATDCost is the 2Nx2N Intra SATD cost, BestModeSATDCost is the SATD cost of the stepwise optimal mode, and a3 and b3 are adjustment coefficients, which can be set according to actual needs. For example, a3 and b3 can be set to 10 and 11.

[0078] In this embodiment, during inter-frame prediction, in a decision process for determining an optimal mode of a current prediction unit, the already-performed mode information can be determined based on the performed mode, and the already-performed mode information includes a gradual optimal mode and the cost of the gradual optimal mode. Then, based on the obtained already-performed mode information, it is determined whether to skip the intra-frame prediction mode of the decision process, thereby reducing the consumption of Intra mode, greatly reducing the resource overhead of the encoder, and further improving the encoding speed and reducing the encoding cost. The decision to skip Intra mode in this embodiment can improve the encoding speed by 15% under the condition of a 0.2% loss in the encoder compression rate. From the perspective of online transcoding applications, it can save 15% of the server's computing resources with a small loss of image quality, and further reduce the transcoding cost.

[0079] FIG. 5 is a structural block diagram of an embodiment of an apparatus for video predictive coding according to an embodiment of the present invention, which may include the following modules:

[0080] The implemented mode information determination module 510 determines implemented mode information based on an implemented mode in a decision process for determining an optimal mode for a current prediction unit during inter-frame prediction, where the implemented mode information includes a tiered optimal mode and a cost of the tiered optimal mode.

[0081] The intra prediction mode skip decision module 520 decides whether to skip the intra prediction mode of the decision process based on the performed mode information.

[0082] In one embodiment, the cost of the tiered optimal mode includes a SATD cost of the tiered optimal mode, and the intra prediction mode skip decision module 520 may include the following sub-modules:

[0083] The SATD coarse selection sub-module performs an SATD coarse selection decision of an intra-frame prediction mode for the prediction unit to determine an optimal SATD cost of the intra-frame prediction mode.

[0084] The first Intra mode skip judgment sub-module judges whether to skip the subsequent flow of the intra prediction mode based on the size of the prediction unit by referring to the SATD cost of the hierarchical optimal mode and the SATD cost of the optimal intra prediction mode.

[0085] In one embodiment, the size of the prediction unit is NxN, where N is a positive integer. The first Intra mode skip decision sub-module: Determine whether the first 4x4 size prediction unit adopts a transform skip mode; determining a mode cost threshold based on the judgment result and the SATD cost of the tiered optimal mode; If the SATD cost of the optimal intra prediction mode is greater than the mode cost threshold, the subsequent flow of the intra prediction mode is skipped.

[0086] In one embodiment, the first Intra mode skip decision sub-module: If the first 4x4 size prediction unit adopts a transform skip mode, determining the mode cost threshold as a product of the SATD cost of the tiered optimal mode and a first adjustment factor; If the first 4x4 size prediction unit does not adopt transform skip mode, the mode cost threshold is determined as a product of the SATD cost of the tiered optimal mode and a second adjustment factor, where the second adjustment factor is smaller than the first adjustment factor.

[0087] In another embodiment, when the size of the prediction unit is 2Nx2N and the performed mode includes a coding unit recursive mode, the performed mode information includes a ratio of coding sub-blocks corresponding to the current coding unit that are intra-frame predicted sub-blocks, and the intra-frame predicted sub-blocks are sub-blocks whose predicted optimal mode is an intra-frame prediction mode.

[0088] The first Intra mode skip decision sub-module: If the SATD cost of the optimal intra prediction mode is greater than the SATD cost of the tiered optimal mode and the ratio is less than a preset ratio threshold, skip the subsequent flow of the intra prediction mode.

[0089] In one embodiment, the cost of the tiered optimal mode includes an RDO cost of the tiered optimal mode, and the intra prediction mode skip decision module 520 may include the following sub-modules:

[0090] The recursion determination sub-module determines whether the executed mode includes a coding unit recursion mode.

[0091] The second Intra mode skip judgment sub-module refers to the judgment result, and judges whether to skip the intra prediction mode in the decision process according to the tiered optimal mode and / or the RDO cost of the tiered optimal mode.

[0092] In one embodiment, when the performed mode includes a coding unit recursive mode, the performed mode information further includes one or a combination of the following: a sum of RDO costs of a coding sub-block corresponding to a current coding unit, a first flag information for indicating whether the current coding unit is an all-zero block, and a second flag information for indicating whether an intra-prediction sub-block exists in the coding sub-block corresponding to the current coding unit. The intra-prediction sub-block is a sub-block whose predicted optimal mode is an intra-prediction mode.

[0093] The second Intra mode skip decision sub-module: Skip the intra-frame prediction mode of the decision process if one or a combination of the following conditions is met, the conditions being as follows: The total RDO cost is greater than the RDO cost of the stepwise optimal mode, The first flag information indicates that a current coding unit is an all-zero block; The second flag information indicates that no intra-frame predicted sub-block exists in the coding sub-block corresponding to the current coding unit.

[0094] In one embodiment, if the executed mode does not include a coding unit recursive mode, the second Intra mode skip decision sub-module: If the stepwise optimum mode is a SKIP mode, the intra-frame prediction mode is skipped.

[0095] In one embodiment, the cost of the tiered optimal mode further comprises a SATD cost of the tiered optimal mode, and the apparatus further comprises: a 2Nx2N intra-frame coding module that performs 2Nx2N intra-frame coding on a current coding unit when it is determined not to skip the intra-frame prediction mode of the decision process, and obtains a 2Nx2N intra-frame SATD cost; an NxN Intra mode skip determination module, which skips an NxN intra prediction mode when the 2Nx2N intra SATD cost is greater than the SATD cost of the tiered optimal mode; Further includes:

[0096] It should be noted that the above-mentioned video predictive coding apparatus according to the embodiment of the present invention can execute the video predictive coding method according to the embodiment of the present invention, and has functional modules and beneficial effects corresponding to the execution of the method.

[0097] Fig. 6 is a structural schematic diagram of an electronic device according to an embodiment of the present invention, as shown in Fig. 6, the electronic device includes a processor 610, a memory 620, an input device 630 and an output device 640. In the electronic device, the number of processors 610 may be one or more, and Fig. 6 takes one processor 610 as an example. The processor 610, the memory 620, the input device 630 and the output device 640 in the electronic device may be connected by a bus or other methods, and Fig. 6 takes the example of connecting by a bus.

[0098] The memory 620 can store software programs, computer executable programs and modules, such as program instructions / modules corresponding to the methods in the embodiments of the present invention, as a computer-readable storage medium. The processor 610 executes the software programs, instructions and modules stored in the memory 620 to perform various functional applications and data processing of the electronic device, i.e., to realize the above-mentioned methods.

[0099] The memory 620 may mainly include a program storage area and a data storage area, where the program storage area includes: The memory 620 may store an operating system, an application required for at least one function, and a data storage area may store data created in response to the use of the terminal. The memory 620 may also include a high-speed random access memory, such as at least one magnetic disk storage device, a flash memory device, or a non-volatile memory such as other non-volatile solid-state storage devices. In some examples, the memory 620 may include memories located remotely with respect to the processor 610, and these remote memories may be connected to the electronic device via a network. Examples of the network include, but are not limited to, the Internet, a corporate intranet, a local area network, a mobile communication network, and combinations thereof.

[0100] The input device 630 can receive entered numeric or textual information and generate key signal inputs related to user settings and function control of the electronic device. The output device 640 can include a display device such as a display.

[0101] In an embodiment of the present invention, there is further provided a storage medium containing computer-executable instructions, which when executed by a processor of the server, perform the method of any of the embodiments of the present invention.

[0102] From the above description of the embodiments, those skilled in the art will clearly understand that the present invention can be realized by software and necessary general-purpose hardware, and of course, can also be realized by hardware. Based on this understanding, the technical solution of the present invention can be essentially embodied in the form of a software product, or a part that contributes to the related art, and the computer software product can be stored in a computer-readable storage medium such as a computer floppy disk, a read-only memory (ROM), a random access memory (RAM), a flash memory (FLASH), a hard disk, or an optical disk, and includes several instructions for making a computer device (which may be a personal computer, a server, or a network device, etc.) execute the methods described in the multiple embodiments of the present invention. The computer-readable storage medium may be a non-transitory computer-readable storage medium.

[0103] In the above embodiment of the device, the included multiple units and modules are simply divided according to functional logic, but are not limited to the above divisions as long as they can realize the corresponding functions. In addition, the specific names of the multiple functional units are given only to facilitate mutual distinction, and are not intended to limit the scope of protection of the present invention. [Explanation of symbols]

[0104] 510 Executed mode information confirmation module 520 Intraframe prediction mode skip determination module 610 Processor 620 Memory 630 Input Device 640 Output Device

Claims

1. In the inter-frame prediction, in a decision process of deciding an optimal mode of a current prediction unit, determined executed mode information is determined according to the executed mode, and the executed mode information includes a tiered optimal mode and a cost of the tiered optimal mode, and the cost of the tiered optimal mode includes a Hadamard transform sum of absolute difference SATD cost of the tiered optimal mode; performing an intra prediction mode SATD coarse selection decision for the prediction unit to determine an optimal intra prediction mode SATD cost; According to the size of the prediction unit being NxN, determining whether an initial 4x4 size prediction unit adopts a transform skip mode, determining a mode cost threshold according to a determination result and a SATD cost of the staged optimal mode, and in response to determining that the SATD cost of the optimal intra prediction mode is greater than the mode cost threshold, skipping a subsequent flow of the intra prediction mode; When the size of the prediction unit is 2Nx2N, the performed mode includes a coding unit recursive mode, and the performed mode information includes a ratio of coding sub-blocks corresponding to a current coding unit that are intra-frame predicted sub-blocks, in response to determining that a SATD cost of the optimal intra-frame prediction mode is greater than a SATD cost of the tiered optimal mode and the ratio is less than a preset ratio threshold, skipping a subsequent flow of the intra-frame prediction mode; where N is a positive integer, and the intra prediction sub-block is a sub-block whose predicted optimal mode is an intra prediction mode. A method for predictive coding of video.

2. determining a mode cost threshold based on the determination result and the SATD cost of the tiered optimal mode, in response to determining that a first 4x4 sized prediction unit employs a transform skip mode, determining the mode cost threshold as a product of a SATD cost of the tiered optimal mode and a first adjustment factor; in response to determining that a first 4x4 sized prediction unit does not employ a transform skip mode, determining the mode cost threshold as a product of a SATD cost of the tiered optimal mode and a second adjustment factor, the second adjustment factor being less than the first adjustment factor; Including, The method of claim 1.

3. the cost of the tiered optimal mode comprises a rate-distortion optimized RDO cost of the tiered optimal mode; The method further comprises: determining whether the performed mode includes a coding unit recursive mode according to a cost of the tiered optimal mode, the cost including an RDO cost of the tiered optimal mode; Refer to the judgment result and judge whether to skip the intra prediction mode of the decision process based on at least one of the tiered optimal mode and the RDO cost of the tiered optimal mode; Including, The method of claim 1.

4. In response to determining that the performed mode includes a coding unit recursive mode, the performed mode information further includes at least one of: a sum of RDO costs of a coding sub-block corresponding to a current coding unit; first flag information for indicating whether the current coding unit is an all-zero block; and second flag information for indicating whether an intra-frame predicted sub-block exists in the coding sub-block corresponding to the current coding unit, the intra-frame predicted sub-block being a sub-block whose predicted optimal mode is an intra-frame prediction mode; The step of determining whether to skip an intra-frame prediction mode in the decision process based on at least one of the tiered optimal mode and an RDO cost of the tiered optimal mode by referring to the determination result includes: skipping the intra-frame prediction mode of the decision process in response to determining that at least one of the following conditions is met, the conditions being as follows: The total RDO cost is greater than the RDO cost of the tiered optimal mode, the first flag information indicating that a current coding unit is an all-zero block; The second flag information indicates that no intra-frame predicted sub-block exists in the coding sub-block corresponding to the current coding unit. The method according to claim 3.

5. In response to determining that the executed mode does not include a coding unit recursive mode, referring to the determination result, and determining whether to skip an intra-frame prediction mode of the decision process based on at least one of the tiered optimal mode and an RDO cost of the tiered optimal mode, skipping an intra-frame prediction mode in response to determining that the tiered optimal mode is a SKIP mode. The method according to claim 3.

6. The cost of the tiered optimal mode further includes a SATD cost of the tiered optimal mode, and after determining whether to skip the intra-frame prediction mode of the decision process based on the performed mode information, According to the result of the determination process that the intra prediction mode is not skipped, perform 2Nx2N intra coding on the current coding unit, and obtain a 2Nx2N intra SATD cost; skipping an NxN intra prediction mode in response to determining that the 2Nx2N intra SATD cost is greater than a SATD cost of the tiered optimal mode; Further comprising:

6. The method according to any one of claims 3 to 5.

7. A performed mode information determination module is configured to determine performed mode information according to a performed mode in a determination process of determining an optimal mode of a current prediction unit during inter-frame prediction, the performed mode information including a tiered optimal mode and a cost of the tiered optimal mode, and the cost of the tiered optimal mode includes a Hadamard transform sum of absolute difference SATD cost of the tiered optimal mode; a SATD coarse selection submodule configured to determine an optimal intra-frame prediction mode SATD cost by performing an intra-frame prediction mode SATD coarse selection decision for the prediction unit; According to the size of the prediction unit being NxN, determining whether an initial 4x4 size prediction unit adopts a transform skip mode, determining a mode cost threshold according to the determination result and a SATD cost of the stage optimal mode, and in response to determining that the SATD cost of the optimal intra prediction mode is greater than the mode cost threshold, skipping the subsequent flow of the intra prediction mode; or when a size of the prediction unit is 2Nx2N, the performed mode includes a coding unit recursive mode, and the performed mode information includes a ratio of coding sub-blocks corresponding to a current coding unit that are intra-predicted sub-blocks, in response to determining that a SATD cost of the optimal intra-prediction mode is greater than a SATD cost of the tiered optimal mode and the ratio is less than a preset ratio threshold, skipping a subsequent flow of the intra-prediction mode; Including, a first Intra mode skip decision sub-module, where N is a positive integer, and the intra prediction sub-block is a sub-block whose predicted optimal mode is an intra prediction mode; A video predictive coding device.

8. The first Intra mode skip determination submodule further comprises: in response to determining that a first 4x4 sized prediction unit employs a transform skip mode, determining the mode cost threshold as a product of a SATD cost of the tiered optimal mode and a first adjustment factor; in response to determining that a first 4x4 sized prediction unit does not employ a transform skip mode, determining the mode cost threshold as a product of a SATD cost of the tiered optimal mode and a second adjustment factor, the second adjustment factor being less than the first adjustment factor; Including, An apparatus for predictive coding of moving images according to claim 7.

9. The cost of the tiered optimal mode includes a rate-distortion optimized RDO cost of the tiered optimal mode, The apparatus further comprises: a recursion determination sub-module for determining whether the executed mode includes a coding unit recursion mode; A second intra mode skip decision submodule refers to the decision result, and decides whether to skip the intra prediction mode of the decision process based on at least one of the stepwise optimal mode and the RDO cost of the stepwise optimal mode; Including, An apparatus for predictive coding of moving images according to claim 7.

10. 7. An electronic device comprising a memory, a processor and a computer program stored in the memory and executable on the processor, the electronic device implementing the method of any one of claims 1 to 6 when the processor executes the program.

11. A computer-readable storage medium having a computer program stored thereon, the computer program implementing the method according to any one of claims 1 to 6 when executed by a processor.

Citation Information

Patent Citations

  • Method and apparatus for fast mode decision of b-frames in video encoder

    JP2008519503A

  • Moving image encoding device, moving image encoding method, and recording medium for recording moving image encoding program

    WO2017122604A1