h264编码算法由浅入深(一)
h264压缩的主要过程。
宏块划分-》帧内/帧间运动检测-》dct变换,量化-》环路滤波-》熵编码-》封装数据写slice
h264数据帧
编码器每次输出一个slice,一帧数据可能分为多个slice,也可能一个。大多数情况是一个slice。
slice类型即nalu类型的定义如下:
0:未规定
1:非IDR图像中不采用数据划分的片段
2:非IDR图像中A类数据划分片段
3:非IDR图像中B类数据划分片段
4:非IDR图像中C类数据划分片段
5:IDR图像的片段
6:补充增强信息 (SEI)
7:序列参数集
8:图像参数集
9:分割符
10:序列结束符
11:流结束符
12:填充数据
13 – 23:保留
24 – 31:未规定
1 h264数据帧中,只有I帧是关键帧,是被参考的帧。其它如P帧和B帧都是参照其它帧。(参考关系主要体现在宏块运动向量和残差数据计算)
P帧永远参考前面的帧,可能会参考很多帧,这个由预设值lookahead决定,B帧可能会前后参考。I帧只会有帧内宏块间的参考。
2 有的视频没有B帧,因为profile类型是baseline,一般硬件编码都是实现的这种profile类型,如海思芯片,一些手机硬件编码等等。profile类型在sps slice中,位于nalu类型子节后面一个字节。
3 编码中又个关键指标步长是什么?
视频数据信号经过宏块运动估计,得到残茶数据之后,进行DCT变换,得到连续的余弦函数信号,通过一定的采样频率进行采样,
这个采样周期就是步长的幅度差值。
4 宏块运动估计算法是怎样的?
宏块初始化后悔被分为16x16 ,16x8,8x16 8x8 的宏块,并且是将亮度y和色差信号uv分开的。帧内运动估计,主要是左,右,右上,左上四个方向预测。
5 什么是半像素内插
宏块左运动估计的时候,会有只运动了半个像素的情况,这种情况下,通过在像素之间插入估计的像素值来计算宏块运动向量更精确。
6 sad和satd
sad是把整个宏块像素拿来计算残差,satd是先把宏块分为4x4的小块,进行哈德曼变幻,然后把变幻后的亚像素涌来计算残差和运动向量。
以上介绍了h264压缩的基本流程和一些常见的疑问。
备注:h264压缩的大部分耗时都是在宏块左运动估计的时候,模式选择和运动向量计算上。
h264编码算法由浅入深(一)相关推荐
- h264编码算法流程
xh264编解码: 编码层:视频压缩解压缩等核心算法,VLC就是这一系列算法,得到的是编码后的比特序列,即VLC数据. 网络抽象层:将压缩后的原始码流拼接头信息用于解码时来识别,安排格式以方便后续的网 ...
- Android音视频【一】H264编码基础
人间观察 岁月催人,时间过的太快了 音视频编码解码就是指通过特定的压缩/解压技术,将某个音视频格式的数据转换为另一种音视频格式数据.目前在Android中的音视频用的最多的就是H264+aac的方式进 ...
- 音视频开发系列-H264编码原理
H264简介 来自百度百科的介绍: H.264是国际标准化组织(ISO)和国际电信联盟(ITU)共同提出的继MPEG4之后的新一代数字视频压缩格式. H.264是ITU-T以H.26x系列为名称命名的 ...
- Atitit 算法之道 attilax著 1. 编码算法 3 1.1. Base64 htmlencode urlencode 3 2. Ui方面的算法 3 2.1. 软键盘算法 计算软键盘上下
Atitit 算法之道 attilax著 1. 编码算法 3 1.1. Base64 htmlencode urlencode 3 2. Ui方面的算法 3 2.1. 软键盘算法 计算软键盘上下左 ...
- H264编码基本原理(一)
H264编码基本原理(一) 一.前言 二.H264相关概念 2.1 序列 2.2 帧类型 2.3 GOP(画面组) 2.4 IDR帧(关键帧) 三.H264压缩方式 3.1 压缩方式说明 四.H264 ...
- 在BF561上实现h264编码的几种方案
快乐虾 http://blog.csdn.net/lights_joy/ lights@hb165.com 本文适用于 ADSP-BF561 优视BF561EVB开发板 uclinux-2008r1. ...
- H264编码器5( x264源代码简单分析:x264_slice_write() 与H264 编码简介)
x264源代码简单分析:x264_slice_write() 来自:https://blog.csdn.net/leixiaohua1020/article/details/45536607 H264 ...
- 看完就懂的《H264编码原理及框图》
H264编码原理及框图 ------------ 分析H264原理: H264是新一代的编码标准,以高压缩高质量和支持多重网络的流媒体著称,在编码上,主要是以下理解:参照一段时间内图像的统计结果表明, ...
- H264 编码基本原理
1 H264 简介 H.264,同时也是 MPEG-4 第十部分,是由 ITU-T 视频编码专家组(VCEG)和 ISO/IEC 动态图像专家组(MPEG)联合组成的联合视频组(JVT,Joint V ...
最新文章
- json字符串的理解
- 剑指offer:剪绳子
- 制药行业验证过程中的偏差如何处理?
- 一波三折用OSD部署Vista中文企业版(下):SMS2003系列之九
- dubbo注册中心zookeeper的安装使用
- mysql-ubuntu卸载安装mysql
- 怎么调用系统通讯录并向被选中联系人发送短信
- javascript网页特效_南通建网站哪些,网页设计维护
- 同学大多数都是上的整个网站重点我的
- docker--shell和Exec格式
- 设计灵感|简约复古风格海报设计这样玩
- 3说明书_怎么才能做好产品说明书翻译?知行翻译公司总结了3点
- 三大运营商将上线 5G 消息;苹果谷歌联手,追踪 30 亿用户;jQuery 3.5.0 发布 | 极客头条...
- 计算机的软件及功能是什么意思,M1版MacBook能兼容啥软件?超详细的兼容测试
- iOS开发之审核时间
- python删除过期文件_python 删除过期文件的方法+源码
- 应急响应的基本流程二
- MIPS指令 MIPS架构
- 人事管理系统之部门结构树的展示
- 六边形2048小游戏
热门文章
- 申宝炒股-指数延续反抽小三浪行情
- 诺基亚安卓手机_诺基亚7.1即将升级安卓10,还有另外5款将在一月更新
- StockChart Android股票图/K线图开发库
- istanbul-middleware
- 在win2003中安装 Mustek 1200 CU 扫描仪
- 船舶游艇三维扫描3D尺寸测量检测质量管控-CASAIM三维扫描仪
- 完美攻略之风之继承者(风の继承者)中日文双语攻略
- 现在的95后指挥不动,下班准时走,活安排不下去只能自己干,怎么办?
- 盘点那些你从未想过的还无比重要的测试点 (DNF?剑灵?热血江湖?)
- 知识图谱学习笔记03-知识图谱的作用