帧内预测核心思想:消除空间冗余
相邻的像素之间通常存在着极高的相似性。帧内预测利用空间相关性来消除数据冗余,从而实现高效压缩。
其基本原理是:不直接编码每个像素的原始值,而是先根据其邻近像素(已经编码完成的左侧和上方像素)来预测它的值,然后只对原始值与预测值之间的差值(即残差)进行编码和传输。 由于这个差值通...
    阅读更多
 
    
    
    从码流功能的角度可以分为两层:
  视频编码层 (Video Coding Layer, VCL):
    
      职责: 核心压缩数据
      输出: 经过VCL处理后,输出的是一系列Slice数据。Slice是H.264编码的基本单元,包含了一组宏块的压缩信息。
    
  
  网络抽象层...
    阅读更多
 
    
    
    VBV (Video Buffering Verifier),以及与之紧密相关的 vbv-buffer-size 和 vbv-max-rate。
这套机制的核心目标是确保视频流能够在解码端(播放器)流畅播放,而不会因为网络波动或解码器处理能力限制而卡顿或中断。 它模拟了一个虚拟的解码器缓冲区,并强制编码器生成符...
    阅读更多
 
    
    
    qscale和qp的关系
QP转qscale:
qscale = 0.85f * powf(2.0f, (qp - 12.0f - QP_BD_OFFSET) / 6.0f)
qscale转QP:
qp = 12.0f + QP_BD_OFFSET + 6.0f * log2f(qscale/0.85f)
...
    阅读更多
 
    
    
    x264 的 ABR(平均比特率)码率控制算法是一个基于反馈的复杂系统,旨在实现整个视频序列的目标平均比特率。该算法通过复杂度预测、量化器调整和持续反馈校正相结合的方式进行。
实现
该算法维护了比特率控制的几个关键变量:
  cplxr_sum:累加bits×qscale/rceq之和,表示复杂度调整后的比...
    阅读更多
 
    
    
    QUIC(Quick UDP Internet Connections,快速UDP互联网连接)协议是一项由Google最初提出,后由IETF标准化的新型传输层网络协议。
它被设计为替代TCP+TLS的下一代互联网传输协议,旨在为现代互联网应用提供更快、更可靠、更安全的连接。QUIC也是驱动下一代HTTP协议——...
    阅读更多
 
    
    
    QUIC 的可靠传输依赖一套环环相扣的机制:
  包编号
  ACK 确认机制
  丢包检测
  数据重传
  流的有序交付
包编号
Header:
      0                   1                   2                   3
      0 ...
    阅读更多
 
    
    
    流量控制的目的是保护接收端。确保发送方的发送速度不会超过接收方的处理速度,从而防止接收方的内存缓冲区被占满溢出。
QUIC 的流量控制机制是基于信用而非滑动窗口,并且QUIC拥有两个层次的控制:连接层和流层。
TCP的的队头阻塞
对于TCP来说,假设发送了5,6,7,8序号的包,如果5号包的ACK丢了,那么...
    阅读更多