Introduction to HEVC bitrate control (R-LAMDA)

Source: Internet
Author: User

Introduction to HEVC code rate control

R-LAMDA model has been proposed to optimize for more than 2 years, from the article in recent years, broadly categorized as class: one is the rate of code rate control algorithm, one is the model parameter update, one is to consider the perception

First Class:K0103The algorithm of bit rate control is mainlyp/bFrame on the proposed,IFrame not done, embodied inIIn the frameLCUEncoding is also used for frame-levelQP, while the frame layer'sQPis by configuration file (that is,*.cfgInqp:32 # quantization parameter (0-51)Here's +We can change the general setting to A、 -、 +、Panax Notoginseng), if the bitrate control is turned on, the actual configuration file#======== quantization =============This column ofQPSetup has no significance, because the rate control once opened, is pre-estimated coding unit allocation of the code rate, the code rate distribution, you can according toR-lamdaThe model calculates the correspondingQP, which is used to encode the encoding unit (the minimum encoding unit in the bitrate control is aLCU, the largest is aSilce, can be set in the configuration file)

Against the shortcomings of K0103 , follow up a few proposals (M0257,M0036), plainly M0036 is considered K0103 in I The defect of frame rate control, the code unit, when the QP is not the frame of the QP , each encoding unit of the QP is likely to be different, and the K0103 of each encoding unit of the QP consistent with the QP of the frame layer. M0036 also did a job, is the method corresponding to the value range of Alpha,beta , why enlarge, this proposal gives a specific explanation.

M0257 relative M0036 changes relatively larger, how to say, a word summary, considering the complexity of the airspace, that is, the original frame made a had transformation, and then in the had transform the value of the addition, This proposal is said to be SATD,SATD is the absolute error after Hadaman transformation, and is generally the difference between the predicted block and the original block (i.e. residuals) do Hadaman transformation, mainly as Me/merge mode selection of the distortion in the cost function of the rate distortion, as to why the original frame to do had transformation is reasonable, the reason is that after coding to know the prediction block, encoding before the original frame can only do a slightly.

M0257 Only do the intra-frame rate distribution model, the implementation of this model is certainly very different from the proposal introduction. Look at the platform, not much, and a lot of specific parameters how to come, it is unclear, here I do not introduce, estimated to do a lot of experimental statistics.

As for the future proposal update to what kind of, I did not pay attention to, but the tracking of articles in recent years, should not change much

Now talk about my two-year rate control of the sentiment bar, and better to do the point, do not like to spray

1. Rate Distortion Optimization

2. bit allocation

3. Perceptual Coding

1, the rate of distortion optimization is relative to the three points is relatively simple, for what, the following I say the reason:

First look at the above formula, pay attention to the subscript also depends on. Rate distortion optimization of the place there are two, one is to change the distortion, the second is to change lamda!!, if you do with visual perception of the distortion, and you think you change the distortion will not affect the lamda changes, OK. You may be a bit difficult to change the distortion, there are too many places to change, then you ask for a guide. These two formulas to see understand, this can this dry, the premise is K can only source or visual characteristics related, otherwise carefully look at the loopholes, the back will introduce what loophole.

If it is Daniel, may introduce distortion change,Lamda will definitely change, this is absolutely correct. Why would you say that later?

On the rate of distortion there is another way, is directly to the Lamda to do the correction, so that involves a speed drop rate of the problem, is the rate will be fast, or the quality of the block, this quality has a variety of evaluation methods, see what you do, quality can be measured by PSNR , can also be graded, do not know you have tried no, do not open the code rate control with qp=22 coding with qp=25 encoding What is the difference between, will be someone say you this is not said nonsense, there will be changes, sorry I said that you look at the encoded reconstruction image, You don't get a magnifying glass, you see how big the difference. But you're looking at the bit rate is not the difference very much. This you will understand, the sense of what can be done is coming. This does not elaborate!!!

2, bit allocation, why say bit allocation relative rate distortion optimization is difficult to do, because bit allocation is not necessarily effective, because you single from the bit allocation to consider, the effect of the promotion will not be too much, because the rate control model is the most critical place is the QP As well as the parameters in the model update, you assign in the Quasi,QP calculation is not allowed, parameter update is not allowed, the code rate is absolutely not up to the code rate you assigned.

3, perceptual coding This is actually not very difficult

4. to establish a code rate control model, to point to the difficult bar. This will make an absolute sensation.

First look at these two formulas, where are the two formulas used? The first formula is used in the CU Division There, the second formula is used in the pattern selection there, specifically the second formula in the SATD used in the transform domain, one used in the non-transform domain.

First of all, the R-lamda model is how to come out of it, first: distortion determination, the choice is SSE measurement Distortion, choose this distortion is the most reasonable, why, the following will say. The second formula in the Lamda with the first formula in the Lamda is not the same, the second Lamda is the first Lamda of the root, why is the root, is through the experimental statistics, in an article Rate Distortion 's article, Jiuqi year's article. I'm too lazy to find the exact name. Anyway, this statistic is based on SSE as a measure of distortion.

If the code rate control model, want to replace SSEwith a distortion, first of all this workload will be large, assuming that the Ssim to replace,Ssim maximum is 1, and the code rate of the minimum number, it may be 0(Merge mode), the maximum is how many, tens of thousands,1 in tens of thousands is not negligible, then the problem comes, coding is not in the code rate and distortion between the choice of a balance. There is a lot of balance now, of course, some people say, to the distortion amplification, but how many times magnification is reasonable? To find this balance?

Distortion has been replaced, thisLamdais bound to re-establish, classic practice, is not open code rate control, the distortion replaced, fixed severalQPUseNALamdaTo encode, to deriveQp-llamdaRelationship, and after the relationship is reached,SliceLayer improvements, where improvements are not used in bitrate control, are used inQPOK, the correspondingLamdaAnd then choose a low-latency or random-access structure to find outQp-lamda, the relationship is used in the rate control model, which is used to calculate the correspondingQP,Why choose recursive delay results, answers, ratings. Recursive delay points3level, each and theQPIncrement is not the same, take advantage of the previous stepQp-lamdaRelationship is not able to drawLamda, and then in the pass in theLCUMore than a few loops during encodingQP, select the correspondingLmadaUnder the optimalQP, is not going to draw a relationship.

Say so much, the problem is, complexity,SSE with Ssim replacement, is not sad/satd also want to use a thing to replace, not replace is not unreasonable, replace the words of complexity is it? The more I find, the more I write.

Copyright NOTICE: This article for Bo Master original article, without Bo Master permission not reproduced.

Introduction to HEVC bitrate control (R-LAMDA)

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.