H264 无损压缩及编解码流程

一个视频经过有损压缩之后还不够小还要经过无损压缩。
无损压缩之后数据量继续变小.
第一步、DCT变换
有关DCT 变换: 傅里叶里面说任何信号都可以有多个不同振幅和频率的正弦波或者余弦波信号叠加而成,
如果采用的是余弦的话那就叫CT变换( Cosine Transform),如果输入信号是离散(Discrete )的,那么就叫DCT变换。
DCT变换参考
图像中采用DCT变换主要是将离散的时域图像信息转换成频域,之后可以看到一张图像大部分的信息都是在低频段,
而高频的信息非常少,这样的话呢就将图像的内容集中了起来(特别是图像的低频分量,即图像变化平坦的部分),
这时候就可以进行去冗余了,这也是DCT用在压缩方面的原理。数字图像处理中将二维的图像数据经过DCT之后再去做无损压缩。

 VLC压缩

可变长的编码 Variable length Coding 。经过前面DCT变换后的得到的数据是频域中的数据,将一个宏块中频繁出现的数据,分配以较短的码字,
那些不经常出现的数据,则赋予较长的码字,这样处理后可减少传输的总码率。

比如上图A表示常用的数据块可以用短码11表示,Z代表的频率低的数据块可用0000001011代替。

CABAC 压缩
怎么处理的

H264编码流程

 帧内压缩:要编码的是IDR帧,choose intra prediction ->帧内预测->P(预测值)->与Fn 相减获得残差->加上模式预测的数据->转换T—>
量化Q->VLC->按序组包->NAL单元 帧间压缩:对每一个宏块进行宏块查找(很多算法),得到运动矢量MV,根据MV得到预测值P,
该值与原始值进行对比获取残差补偿与mv一起进行量化与压缩,之后按序组包成NAL。

ME:宏块预测

MC : 运动补偿

T :转换

Q :量化

 H264解码流程

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值