数据压缩笔记[5] 视频解码器缓冲区防止下溢条件推导

端到端视频编码传输系统模型可抽象为如下部分:
在这里插入图片描述
在恒定速率信道(CBR)的假设下,缓冲区模型为:
在这里插入图片描述
其中:

  • A为发送端缓冲区中积累的比特数;
  • B为解码端缓冲区移出的比特数;
  • C为从比特传输速率;
  • Encoder transmit delay为编码器发送延迟;
  • Decoder decoding delay为解码器解码延迟;

对于编解码器的缓冲区而言存在四种溢出状态:

  1. 编码缓冲区上溢,A-C>编码器缓冲区上限;
  2. 编码缓冲区下溢,A-C=0;
  3. 解码缓冲区上溢,C-B>解码器缓冲区上限;
  4. 解码缓冲区下溢,C-B=0;

对于两种上溢的情况,增加缓冲区容量即可解决(但会造成延迟增加);对于编码缓冲区下溢的情况,可通过插入填充比特保证传输不中断。

在CBR信道假设下,防止解码缓冲区下溢可通过监视编码缓冲区状态实现,推导如下:

B e n c ( i ) = ∑ j = 1 i R j − ∑ j = 1 i C (1) B_{enc}(i) = \sum_{j=1}^{i}R_{j} - \sum_{j=1}^{i}C \tag{1} Benc(i)=j=1iRjj=1iC(1)

B d e c ( i + Δ N ) = ∑ j = 1 i + Δ N C − ∑ j = 1 i R j (2) B_{dec}(i+\Delta N) = \sum_{j=1}^{i+\Delta N}C - \sum_{j=1}^{i}R_{j} \tag{2} Bdec(i+ΔN)=j=1i+ΔNCj=1iRj(2)

其中, Δ N \Delta N ΔN为编码器发送延迟与解码器开始解码延迟之和,进一步地,有:

∑ j = 1 i + Δ N C = ∑ j = 1 i C + ∑ j = i + 1 i + Δ N C (3) \sum_{j=1}^{i+\Delta N}C = \sum_{j=1}^{i}C + \sum_{j=i+1}^{i+\Delta N}C \tag{3} j=1i+ΔNC=j=1iC+j=i+1i+ΔNC(3)

(1)带入(3):
∑ j = 1 i + Δ N C = ∑ j = i + 1 i + Δ N C + ∑ j = 1 i R j − B e n c ( i ) (4) \sum_{j=1}^{i+\Delta N}C = \sum_{j=i+1}^{i+\Delta N}C + \sum_{j=1}^{i}R_{j} - B_{enc}(i) \tag{4} j=1i+ΔNC=j=i+1i+ΔNC+j=1iRjBenc(i)(4)

(4)带入(2),且为保证解码缓冲不下溢,需要 B d e c > 0 B_{dec} > 0 Bdec>0,得到:
B d e c ( i + Δ N ) = ∑ j = i + 1 i + Δ N C − B e n c ( i ) > 0 B_{dec}(i+\Delta N) = \sum_{j=i+1}^{i+\Delta N}C - B_{enc}(i) > 0 Bdec(i+ΔN)=j=i+1i+ΔNCBenc(i)>0
B e n c ( i ) < ∑ j = i + 1 i + Δ N C (5) B_{enc}(i) < \sum_{j=i+1}^{i+\Delta N}C \tag{5} Benc(i)<j=i+1i+ΔNC(5)

(5)式即为解码缓冲区不下溢的条件。

即,在CBR信道下,监控编码缓冲区容量不超过(5)指示的上限,就能保证解码缓冲区不发生下溢。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值