博客
关于我
码流、码率、比特率、帧速率、分辨率、 高清的区别 基础知识
阅读量:554 次
发布时间:2019-03-09

本文共 2414 字,大约阅读时间需要 8 分钟。

视频编码与传输技术概述

1. 截面组(GOP)与帧率

截面组(Group of Pictures, GOP)定义了两个关键帧(IDR帧)之间的距离。它是视频编码中的关键参数,直接影响图像质量和网络传输效率。每秒至少需要一个关键帧以确保视频流的可播放性。然而,提高GOP值并非无限度的改进,实际会影响编码效率和网络负载。此外,场景切换时,H.264编码器会自动插入I帧,缩短实际的GOP值。过高的GOP值会导致P帧和B帧的预测复杂度增加,影响编码效率和Seek操作的响应速度。

2. 熵编码方法(CABAC/CAVLC)

H.264/AVC标准采用两种熵编码方法:

  • CABAC(自适应二进制算术编码):提供无损编码效果,画质优越,通常在高码率情况下可降低10-15%的比特率,尽管这会增加编码和解码速度。
  • CAVLC(前后自适应可变长度编码):以CPU资源占用少量为代价,提供更高的编码性能。

3. 帧与场编码

视频信号分为帧编码和场编码两种方式:

  • 帧编码:逐行扫描视频信号为一帧,帧频为25Hz(PAL制)或30Hz(NTSC制)。
  • 场编码:隔行扫描视频信号分为上、下两场,场频为50Hz(PAL制)或60Hz(NTSC制)。

帧频和场频的选择通常与抗干扰技术有关,但现代信号处理已无此限制。帧和场的编码方式根据运动区域和静止区域的特点进行优化选择。静止区域适合帧编码,而运动区域更适合场编码,尤其在MBAFF(Macroblock Adaptive Frame Motion)模式下,可结合帧和场特点进行优化。

4. 帧率(FPS)与视频流编码

帧率(Frame Rate, FPS)衡量视频流刷新频率,帧率越高,动画越流畅。帧率与分辨率和码率密切相关。在720P分辨率下,建议码率为800Kbps,44.1kHz采样率为音频标准。

5. 码流与比特率

码流(Data Rate)表示视频文件在单位时间内产生的数据流量,以kb/s为单位。码率决定了视频质量和网络带宽使用效率。同一分辨率下,码率越大,画质越高,文件体积越大。计算文件大小可使用公式:文件大小 = (音频比特率 + 视频比特率) × 时间长度 / 8(单位:MB)。

**VBR(可变比特率)**通过动态调整比特率,平衡画质与文件体积。**CBR(固定比特率)**保持恒定比特率,适用于稳定的存储和传输需求。**ABR(平均比特率)**介于两者之间,兼顾压缩性能和文件大小。

6.采样率的定义及其意义

采样率(Sampling Rate)定义了每秒采样信号的点数(Hz),影响信号的精度。视频采样率与帧频相关,例如24Hz对应电影拍摄采样率。采样率越高,信号质量越高,但也需要更高的处理能力。

比特率与采样率的关系:比特率等于采样率乘以采样位数和声道数。高采样率和高比特率要求更高的设备性能。

7.视频编码标准与高清视频

现代高清视频主要采用H.264、VC-1或MPEG-2等编码格式。其中:

  • H.264:提供最高的压缩比,广泛应用于主流媒体格式如MKV和TS。
  • VC-1:微软推广的编码格式,压缩比与H.264相当,适合需要低 CPU 资源的设备。
  • MPEG-2:传统高清压缩标准,但压缩比较低。

8.视频编码参数优化

视频编码参数包括QP(量化因子)、PSNR(峰值信噪比)、Profile Level(档次)、Reference(参考帧间距)以及Main Codec Profile(主流编码档次)。不同档次提供不同画质和功能优化。

  • QP(Quantizer Parameter):0-31之间,值越低,量化越精细,画质越高。
  • Profile Level:包含BP(基本)、EP(扩展)、MP(主流)、HP(高级)四档,提供不同画质和功能支持。
  • Reference:两个P帧间距,影响编码性能。
  • Main Codec Profile:根据应用需求选择,HP提供最高画质和最复杂编码。

9.视频流编码优化

  • H.264 Profile:包括BP、EP、MP、HP四个档次,适用于不同的应用场景。
  • Main Decode Profile:综合考虑压缩率与性能,通常选择MP或HP档次。
  • MPEG-2 TS file格式:常用于高清视频的存储与传输,兼容多种分辨率。
  • xbperf:压缩效率评估工具,帮助优化编码参数。

10.视频流传输与网络优化

  • LD mediastream:适用于局域网传输。
  • Hierarchical coding:将视频流分层编码,便于网络传输优化。
  • Dynamic resizing:根据带宽变化调整分辨率,平衡画质与传输效率。

11.视频流格式选择

通常选择H.264、VC-1、MPEG-2或DivX作为主流编码格式。MKV、TS、WMV、AVI等格式是常用封装格式。

12.视频流传输方式优化

  • VBR vs CBR:根据存储与网络需求选择比特率类型。
  • ABR:平衡可变和固定比特率,兼顾压缩与效率。
  • MPEG-2 TS:适用于流媒体和存储,而MKV则适用于离线下载和高质量播放。

13.视频流存储与分辨率

  • 480p/720p:适合移动设备和SD TVs。
  • 1080p/4K:适合高清电视和大屏幕设备,需选择高码率和高采样率。
  • 8K:提供超高清视角,但需更高的编码和传输资源。

14.视频流压缩与音频编码

  • 视频压缩:采样分辨率、帧率和比特率的综合优化。
  • 音频编码:校准采样率与比特率,确保音频质量与视频流匹配。

15.视频流传输与云服务

视频流传输受限于带宽,需采用适当编码和分辨率策略以确保流畅播放。云服务提供存储与流媒体解决方案,可根据需求调整参数。

16.视频流参数优化总结

视频流编码需综合考虑帧率、码率、GOP、QP、Profile Level等参数,找到最佳的平衡点,既尽可能提升画质,又在限定资源下实现高效传输与存储。

转载地址:http://xedpz.baihongyu.com/

你可能感兴趣的文章
Objective-C实现fuzzy operations模糊运算算法(附完整源码)
查看>>
Objective-C实现Gale-Shapley盖尔-沙普利算法(附完整源码)
查看>>
Objective-C实现gamma recursive伽玛递归算法(附完整源码)
查看>>
Objective-C实现gamma 伽玛功能算法(附完整源码)
查看>>
Objective-C实现gauss easte高斯复活节日期算法(附完整源码)
查看>>
Objective-C实现gaussian filter高斯滤波器算法(附完整源码)
查看>>
Objective-C实现gaussian naive bayes高斯贝叶斯算法(附完整源码)
查看>>
Objective-C实现gaussian高斯算法(附完整源码)
查看>>
Objective-C实现geometric series几何系列算法(附完整源码)
查看>>
Objective-C实现getline函数功能(附完整源码)
查看>>
Objective-C实现gnome sortt侏儒排序算法(附完整源码)
查看>>
Objective-C实现graph list图列算法(附完整源码)
查看>>
Objective-C实现GraphEdge图边算法(附完整源码)
查看>>
Objective-C实现GraphVertex图顶点算法(附完整源码)
查看>>
Objective-C实现greatest common divisor最大公约数算法(附完整源码)
查看>>
Objective-C实现greedy coin change贪心硬币找零算法(附完整源码)
查看>>
Objective-C实现greedy knapsack贪婪的背包算法(附完整源码)
查看>>
Objective-C实现GridGet算法(附完整源码)
查看>>
Objective-C实现half adder半加器算法(附完整源码)
查看>>
Objective-C实现hamiltonianCycle哈密尔顿图算法(附完整源码)
查看>>