前提: 1 high-complexity or high-motion scenes,细节将不会很明显,此时高qp也是浪费 2 where motion compensation works well,在景物边沿的失真,只需在一帧中去掉,以后就都不会有.在这里投入有限的bits可以获得最好的图像质量性价比 3 已经编码一frame,可以预测其他qp下所需bit数.预测距离越远越不精确 4随着frame重要性降低,他们只配用更大的qp,i ,p ,参考b ,disposable b.依次降低 5H.264支持1frame内不同mb使用不同qp,x264不支持,而由rc返回统一qp。但有那个功能函数存在那个函数仅精确到每一行mb变一次qp 所以rc策略如下: 2pass: step1 1pass编码,由qp推断某qp下framesize *0.6符合目标frame size的限制,得到这个qp step2 修改qp 以满足requested total size(total是指整个Gop的大小,分段先编一边再一边) step3 encode根据实际大小值修正预测的qp,并额外增加short-term compensation,针对开始和结束部分没有很多bits余地的位置. 1pass: abr (average bit rate ) step1 用半尺寸快速运动估计和SATD residuals 替换1st pass中相关部分,获得预测 step2 用之前的样本估计scale step3 Overflow compensation 和2pass相似 限制filesize 牺牲图像质量 1pass,:constant bitrate (VBV compliant)!!! VBV是指: Video Buffer Verifier The Video Buffer Verifier (VBV) is a model hypothetical decoder buffer that will not overflow or underflow when fed a conforming MPEG bit stream. 包含2个因素.size和造成的delay step1 same as abr step2 Scaling factor is based on a local average (dependent on VBV buffer size) instead of all past frames step3 stricter Overflow compensation , additional term to hard limit the QPs if the VBV is near empty. no hard limit is done for a full VBV这里更加严格的空限制,防止没有bits可以送出,破坏了cbr的传输 1pass, constant ratefactor: Constant Rate Factor (or Constant Quality)
constant quantizer:
ratecontrol是在确定mode mv ref后决定qp,在此之前qp不能获得。 于是rdo与rc不知道先做哪个了. (秩名) |