视频编解码的步骤和主要技术
2015-07-17 17:56
876 查看
视频压缩过程一般分三个步骤:
时间维压缩 - 以参考帧的数据预测当前帧的数据,输出预测向量和残差
空间维压缩 - 将当前帧的残差作为图像进行压缩,又分为三步
2.1 图像变换 - 一般用DCT或小波,目的是使变换后的数据尽可能小和稀疏,最好大部分都是0
2.2 量化 - 这是整个过程中唯一有损的一步
2.3 排序编码 - 将上一步的输出按某种规律重新排序,让大小接近的数据尽可能在一起,然后将(4,4,0,0,0,0,0)这样的序列表示为((4,2),(0,5))
编码 - 将预测向量和压缩后的残差进行编码,这一步追求统计意义上的最优,不关注数据内容
其中的主要技术在下面的思维导图里:
实际的编解码步骤(图片来自参考书):
参考:Iain E. G. Richardson: H.264 and MPEG-4 Video Compression
时间维压缩 - 以参考帧的数据预测当前帧的数据,输出预测向量和残差
空间维压缩 - 将当前帧的残差作为图像进行压缩,又分为三步
2.1 图像变换 - 一般用DCT或小波,目的是使变换后的数据尽可能小和稀疏,最好大部分都是0
2.2 量化 - 这是整个过程中唯一有损的一步
2.3 排序编码 - 将上一步的输出按某种规律重新排序,让大小接近的数据尽可能在一起,然后将(4,4,0,0,0,0,0)这样的序列表示为((4,2),(0,5))
编码 - 将预测向量和压缩后的残差进行编码,这一步追求统计意义上的最优,不关注数据内容
其中的主要技术在下面的思维导图里:
实际的编解码步骤(图片来自参考书):
参考:Iain E. G. Richardson: H.264 and MPEG-4 Video Compression
相关文章推荐
- iOS URL Schemes 的定义和使用
- HDU 4990 Reading comprehension
- Android开发UI之Toast的使用
- Freemarker定义宏的用法
- 今天正式开始在csdn上写笔记,写博客
- [LeetCode][Java] Simplify Path
- android获取友盟渠道名以及获取application中的meta-data
- .NET 数据访问技术概述
- 动态调用WebService的两种方法(多线程)
- *****正则表达式匹配URL
- java 启用新线程异步调用
- hibernate
- 认识3DMAX的各种插件
- UIScrollView 属性 contentOffset.y 莫名变成-20
- hihocoder 第五十四周
- struts2入门
- relative与absolute的结合使用
- 模块化的JavaScript开发的优势在哪里
- 希尔排序
- UILocalNotification本地推送