stm32H747_STM32H743的cache

2022-11-04 20:00:58 浏览数 (1)

大家好,又见面了,我是你们的朋友全栈君。

一、H.264的来源和特点

H.264是国际标准化组织(ISO)和国际电信联盟(ITU)共同提出的继MPEG4之后的新一代数字视频压缩格式,它即保留了以往压缩技术的优点和精华又具有其它压缩技术无法比拟的许多优点。

1.低码流

和MPEG2和MPEG4 ASP等压缩技术相比,在同等图像质量下,采用H.264技术压缩后的数据量只有MPEG2的1/8,MPEG4的1/3。

2.高质量

H.264图像算法能提供连续、流畅的高质量图像(DVD高清画质)。

3.容错能力强

H.264提供了解决在不稳定网络环境下容易发生的丢包等错误的必要工具。

4.网络适应性强

H.264提供了网络适应层(Network Adaptation Layer), 使得H.264的文件能容易在不同网络上传输(例如互联网,CDMA,GPRS,WCDMA,CDMA2000等)。

二、H.264标准的关键技术

1.帧内预测编码

帧内编码用来缩减图像的空间冗余。为了提高H.264帧内编码的效率,在给定帧中充分利用相邻宏块的空间相关性,相邻的宏块通常含有相似的属性。因此,在对一给定宏块编码时,首先可以根据周围的宏块预测(典型的是根据左上角的宏块,因为此宏块已经被编码处理),然后对预测值与实际值的差值进行编码,这样,相对于直接对该帧编码而言,可以大大减小码率。H.264提供4种模式进行16×16像素宏块预测,提供9种模式进行4×4像素宏块预测,涵盖各个方向。

2.帧间预测编码

帧间预测编码利用连续帧中的时间冗余来进行运动估计和补偿。H.264的运动补偿支持以往的视频编码标准中的大部分关键特性,而且灵活地添加了更多的功能,除了支持P帧、B帧外,H.264还支持一种新的流间传送帧——SP帧。码流中包含SP帧后,能在有类似内容但有不同码率的码流之间快速切换,同时支持随机接入和快速回放模式。H.264的运动估计有以下4个特性:

(1)不同大小和形状的宏块分割

对每一个16×16像素宏块的运动补偿可以采用不同的大小和形状,H.264支持7种模式,小块模式的运动补偿为运动详细信息的处理提高了性能,减少了方块效应,提高了图像的质量。

(2)高精度的亚像素运动补偿

在H.263中采用的是半像素精度的运动估计,而在H.264中可以采用1/4或者1/8像素精度的运动估值。在要求相同精度的情况下,H.264使用1/4或者1/8像素精度的运动估计后的残差要比H.263采用半像素精度运动估计后的残差小得多。这样在相同精度下,H.264在帧间编码中所需的码率更小。

(3)多帧预测

H.264提供可选的多帧预测功能,在帧间编码时,可选5个不同的参考帧,提供了更好的纠错性能,这样更可以改善视频图像质量。这一特性主要应用于以下场合:周期性的运动、平移运动、在两个不同的场景之间来回变换摄像机的镜头。

(4)去块滤波器

H.264定义了自适应去除块效应的滤波器,这可以处理预测环路中的水平和垂直块边缘, 这样既为减弱“块效应”的影响又避免滤掉图像的客观特征。同时在相同主观质量下使得比特率减少5-10%。

测环路中的水平和垂直块边缘, 这样既为减弱“块效应”的影响又避免滤掉图像的客观特征。同时在相同主观质量下使得比特率减少5-10%。

3.整数变换

在变换方面,H.264使用了基于4×4像素块的类似于DCT的变换,但使用的是以整数为基础的空间变换。这种变换与DCT相比压缩性能几乎相同且有许多优势,其核心变换的计算只使用加减、移位运算,避免了精度的损失。与浮点运算相比,整数DCT变换具有减少复杂度,有利于向定点DSP移植的优点。对DC系数再进行HADAMARD变换,使得平滑区域得到更好的压缩效果。

4.量化

变换参差系数的量化使用了52级步长的量化器,而H.263标准只有31级。量化步长以12.5%递增,量化步长范围的扩大使得编码器能够更灵活和精确的进行控制,在比特率和图像质量之间达到折中。

5.熵编码

视频编码处理的最后一步就是熵编码,在H.264中采用了两种不同的熵编码方法:基于上下文自适应可变长编码(CAVLC)和基于文本的自适应二进制算术编码(CABAC),可自动根据编码的内容来统计特定代码出现的机率,进而产生最适合于目前图像的编码表,与传统MPEG-2/4的固定编码方式明显不同,可以有效提高压缩比。H.264中CAVLC压缩率比CABAC低,但是抗差错能力较好。CABAC算术编码使编码和解码两边都能使用所有句法元素(变换系数、运动矢量)的概率模型,提高了算术编码的效率。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/191821.html原文链接:https://javaforall.cn

0 人点赞