HEVC码率控制 |
您所在的位置:网站首页 › 码率分配 › HEVC码率控制 |
参考资料: [1]万帅,杨付正编著. 新一代高效视频编码H.265/HEVC 原理、标准与实现[M]. 北京:电子工业出版社, 2014.12. 上一章:HEVC率失真优化 码率控制概述码率控制的主要工作是建立编码速率R与量化参数QP的关系,公式化描述为: Q ∗ = ( Q 1 ∗ , ⋯ , Q N ∗ ) = a r g m i n ( Q 1 , ⋯ , Q N ) ∑ i = 1 N D i s . t . ∑ i = 1 N R i ≤ R c (1) Q^* = (Q^*_1,\dotsb,Q^*_N)=argmin_{(Q_1,\dotsb,Q_N)}\sum_{i=1}^{N}{D_i} \,\,\,\,\, s.t.\sum_{i=1}^{N}{R_i} \leq R_c \tag{1} Q∗=(Q1∗,⋯,QN∗)=argmin(Q1,⋯,QN)i=1∑NDis.t.i=1∑NRi≤Rc(1) 码率控制算法组成 比特分配:依据视频内容、缓冲区状态、信道带宽为每个编码单元(GOP、帧、CTU)分配最优的目标比特数。HEVC多种预测技术的采用使得不同编码单元间具有高度相关性,需要在该部分着重考虑。量化参数确定:依据码率R-量化参数QP模型为每个编码单元选择最优编码参数QP。QP选择受其他参数影响较小,但其采用的模型高度依赖于视频内容特征。 缓冲区模型缓冲区用于平衡编码器输出码率和信道速率。缓冲越大,适应信源、信道码率波动的性能越好,但相应地会引入较大延迟。 缓冲区采用流体流量模型建模: B c ( n + 1 ) = m a x { 0 , B c ( n ) + A ( n ) − u ( n ) } (2) B_c(n+1) = max \lbrace 0 , B_c(n)+A(n)-u(n) \rbrace \tag{2} Bc(n+1)=max{0,Bc(n)+A(n)−u(n)}(2) 其中: B c ( n ) B_c(n) Bc(n)为第n时刻缓冲区占用 A ( n ) A(n) A(n)为第n时刻编码器输出码率 u ( n ) u(n) u(n)为第n时刻信道速率 目标比特分配概述该部分给出码率控制算法理论上的指导思想,而非具体实现。 码率控制算法需要作用于不同层级依次分配比特。HEVC中层级的顺序为:GOP-Frame-CTU。 图像层目标比特分配由于HEVC中采用了复杂的时域参考关系,因此当前图像的编码比特数分配依赖于其参考的图像。该部分详细推导见[1]第12章,这里只给出结论: 假设已编码的图像失真确定后,当前编码图像的失真D只与其比特数R有关。(拓展:该问题具有马尔可夫性?) 假设变换系数服从参数为α的拉普拉斯分布: p ( x ) = α 2 e ( − α ∣ x ∣ ) p(x)=\frac{\alpha}{2}e^{(-\alpha|x|)} p(x)=2αe(−α∣x∣) 其中:α反映视频内容特性 定义失真度为绝对误差,得率失真函数: R ( D ) = { l n ( 1 α D ) , 0 < D ≤ 1 α 0 , o t h e r R(D) = \begin{cases} ln(\frac{1}{\alpha D}), & 0 |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |