随着移动互联网技术的蓬勃发展,视频已无处不在。视频直播、视频点播、短视频、视频聊天,已经完全融入了每个人的生活。而视频数据量非常巨大,视频的传输、存储也面临着巨大的挑战。从 20 世纪 90 年代以来,数字视频编解码技术迅速发展,一直是国内外研究的热点领域。视频编解码,将是保证用户高品质视频体验的重要技术。视频编码方式就是指通过特定的压缩技术,将某个视频格式的文件转换成另 一种视频格式文件的方式。
为什么要进行视频编解码?
视频,由图像组成,而图像由像素点组成。图像的PPI,代表了图像的每英寸像素数。PPI越高,图像就越清晰细腻。常见的蓝光质量,由1920×1080个像素点组成,也就是2,073,600个像素点。
在通用的RGB 体系里,每个像素点所占用的空间为24bit,由此计算,蓝光质量的每张图片大小约为6.22MB,再乘以常见的30fps的帧率,每秒的视频大小即可高达186.6MB。
如此之大的体积严重阻碍了视频的存储与传播,这使得一种高效,占用空间更小的编码方法变得十分重要。
视频编编解码预处理
通常,摄像机捕捉到的信号为RGB信号,这种颜色表达方式超过了人眼可识别的全部色彩,也被称作真彩色。
而人眼,对亮和暗的分辨更为精细,而对色度的敏感度要低于明暗。所以视频编解码的第一步,通常是将RGB颜色转化为YUV颜色。
在YUV颜色里,“Y”代表亮度(Luma),“U”和“V”则是色度(Chroma)。
在进行YUV采样后,能获得1/2的压缩率。完成了这些预处理后,才会到正式的视频编码阶段。
视频编解码逻辑
假设出现一帧纯红色画面,该画面的所有像素均为同一颜色[255,0,0]。在未编码的体系中,该画面的每个像素均要重复一次[255,0,0],这种情况被成为空间冗余。
而在某些镜头中,只要画面的中心元素产生了移动或变化,其他大部分元素是不动的。这些不动的元素,又重复出现在下一帧中,这种情况被称作时间冗余。
视频编码技术优先消除的目标,就是空间冗余和时间冗余。
视频编解码技术的实现方法
视频中的连续帧,在编码技术中被分为三类,I帧,B帧,P帧 。
I帧:是自带全部信息的独立帧,是最完整的画面(占用的空间最大),无需参考其它图像便可独立进行解码。视频序列中的第一个帧,始终都是I帧。
P帧:“帧间预测编码帧”,需要参考前面的I帧和/或P帧的不同部分,才能进行编码。P帧对前面的P和I参考帧有依赖性。但是,P帧压缩率比较高,占用的空间较小。
B帧:“双向预测编码帧”,以前帧后帧作为参考帧。不仅参考前面,还参考后面的帧,所以,它的压缩率最高,可以达到200:1。不过,因为依赖后面的帧,所以不适合实时传输(例如视频会议)。
如下两个帧中,第一帧是I帧,第二帧是P帧:
两帧间的差值如下:
在两帧之间,图中的像素按如下轨迹进行了移动:
如果按照像素计算,数据量量回比较大,所以一般讲图像分为块,在块中进行运动估计和补偿。
这一编码过程,通常是有损的,而编码过程中的算法,直接影响了编码后视频的质量。
主流编码方式
鉴于码率与编码方式的不同,目前市面上的编解码格式众多,使用场景也略有不同。使用较为广泛的编解码标准有国际电联的H.264,运动静止图像专家组的M-JPEG和国际标准化组织运动图像专家组的MPEG系列标准,此外在被广泛应用的还有Real-Networks的RealVideo、微软公司的WMV以及Apple公司的 QuickTime等。根据视频性质与传输方式的不同,视频编码通常需要选择不同的编码方式。
在可用的计算资源内,尽可能输出更高质量的视频和尽可能高的压缩比,是视频编解码技术追求的目标。如今,视频媒体因为其快捷和信息量大等特性占据了大量的互联网空间,视频编解码技术,也将是保证用户体验质量的重要技术。
来源:技术饭
原文:https://mp.weixin.qq.com/s/dbt17-gfa7Y-ucZTQptGow
版权声明:本文内容转自互联网,本文观点仅代表作者本人。本站仅提供信息存储空间服务,所有权归原作者所有。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至1393616908@qq.com 举报,一经查实,本站将立刻删除。