H.264 帧内预测

帧内预测核心思想:消除空间冗余 相邻的像素之间通常存在着极高的相似性。帧内预测利用空间相关性来消除数据冗余,从而实现高效压缩。 其基本原理是:不直接编码每个像素的原始值,而是先根据其邻近像素(已经编码完成的左侧和上方像素)来预测它的值,然后只对原始值与预测值之间的差值(即残差)进行编码和传输。 由于这个差值通...

阅读更多

H.264 码流结构

从码流功能的角度可以分为两层: 视频编码层 (Video Coding Layer, VCL): 职责: 核心压缩数据 输出: 经过VCL处理后,输出的是一系列Slice数据。Slice是H.264编码的基本单元,包含了一组宏块的压缩信息。 网络抽象层...

阅读更多

VBV总结

VBV (Video Buffering Verifier),以及与之紧密相关的 vbv-buffer-size 和 vbv-max-rate。 这套机制的核心目标是确保视频流能够在解码端(播放器)流畅播放,而不会因为网络波动或解码器处理能力限制而卡顿或中断。 它模拟了一个虚拟的解码器缓冲区,并强制编码器生成符...

阅读更多

对qscale的理解

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) ...

阅读更多

ABR码控

x264 的 ABR(平均比特率)码率控制算法是一个基于反馈的复杂系统,旨在实现整个视频序列的目标平均比特率。该算法通过复杂度预测、量化器调整和持续反馈校正相结合的方式进行。 实现 该算法维护了比特率控制的几个关键变量: cplxr_sum:累加bits×qscale/rceq之和,表示复杂度调整后的比...

阅读更多

QUIC协议 - 1 - Overview

QUIC(Quick UDP Internet Connections,快速UDP互联网连接)协议是一项由Google最初提出,后由IETF标准化的新型传输层网络协议。 它被设计为替代TCP+TLS的下一代互联网传输协议,旨在为现代互联网应用提供更快、更可靠、更安全的连接。QUIC也是驱动下一代HTTP协议——...

阅读更多

QUIC协议 - 4 - QUIC的可靠传输

QUIC 的可靠传输依赖一套环环相扣的机制: 包编号 ACK 确认机制 丢包检测 数据重传 流的有序交付 包编号 Header: 0 1 2 3 0 ...

阅读更多

QUIC协议 - 5 - 流量控制

流量控制的目的是保护接收端。确保发送方的发送速度不会超过接收方的处理速度,从而防止接收方的内存缓冲区被占满溢出。 QUIC 的流量控制机制是基于信用而非滑动窗口,并且QUIC拥有两个层次的控制:连接层和流层。 TCP的的队头阻塞 对于TCP来说,假设发送了5,6,7,8序号的包,如果5号包的ACK丢了,那么...

阅读更多