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编码算法由浅入深(一)相关推荐

  1. h264编码算法流程

    xh264编解码: 编码层:视频压缩解压缩等核心算法,VLC就是这一系列算法,得到的是编码后的比特序列,即VLC数据. 网络抽象层:将压缩后的原始码流拼接头信息用于解码时来识别,安排格式以方便后续的网 ...

  2. Android音视频【一】H264编码基础

    人间观察 岁月催人,时间过的太快了 音视频编码解码就是指通过特定的压缩/解压技术,将某个音视频格式的数据转换为另一种音视频格式数据.目前在Android中的音视频用的最多的就是H264+aac的方式进 ...

  3. 音视频开发系列-H264编码原理

    H264简介 来自百度百科的介绍: H.264是国际标准化组织(ISO)和国际电信联盟(ITU)共同提出的继MPEG4之后的新一代数字视频压缩格式. H.264是ITU-T以H.26x系列为名称命名的 ...

  4. 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. 软键盘算法  计算软键盘上下左 ...

  5. H264编码基本原理(一)

    H264编码基本原理(一) 一.前言 二.H264相关概念 2.1 序列 2.2 帧类型 2.3 GOP(画面组) 2.4 IDR帧(关键帧) 三.H264压缩方式 3.1 压缩方式说明 四.H264 ...

  6. 在BF561上实现h264编码的几种方案

    快乐虾 http://blog.csdn.net/lights_joy/ lights@hb165.com 本文适用于 ADSP-BF561 优视BF561EVB开发板 uclinux-2008r1. ...

  7. H264编码器5( x264源代码简单分析:x264_slice_write() 与H264 编码简介)

    x264源代码简单分析:x264_slice_write() 来自:https://blog.csdn.net/leixiaohua1020/article/details/45536607 H264 ...

  8. 看完就懂的《H264编码原理及框图》

    H264编码原理及框图 ------------ 分析H264原理: H264是新一代的编码标准,以高压缩高质量和支持多重网络的流媒体著称,在编码上,主要是以下理解:参照一段时间内图像的统计结果表明, ...

  9. H264 编码基本原理

    1 H264 简介 H.264,同时也是 MPEG-4 第十部分,是由 ITU-T 视频编码专家组(VCEG)和 ISO/IEC 动态图像专家组(MPEG)联合组成的联合视频组(JVT,Joint V ...

最新文章

  1. json字符串的理解
  2. 剑指offer:剪绳子
  3. 制药行业验证过程中的偏差如何处理?
  4. 一波三折用OSD部署Vista中文企业版(下):SMS2003系列之九
  5. dubbo注册中心zookeeper的安装使用
  6. mysql-ubuntu卸载安装mysql
  7. 怎么调用系统通讯录并向被选中联系人发送短信
  8. javascript网页特效_南通建网站哪些,网页设计维护
  9. 同学大多数都是上的整个网站重点我的
  10. docker--shell和Exec格式
  11. 设计灵感|简约复古风格海报设计这样玩
  12. 3说明书_怎么才能做好产品说明书翻译?知行翻译公司总结了3点
  13. 三大运营商将上线 5G 消息;苹果谷歌联手,追踪 30 亿用户;jQuery 3.5.0 发布 | 极客头条...
  14. 计算机的软件及功能是什么意思,M1版MacBook能兼容啥软件?超详细的兼容测试
  15. iOS开发之审核时间
  16. python删除过期文件_python 删除过期文件的方法+源码
  17. 应急响应的基本流程二
  18. MIPS指令 MIPS架构
  19. 人事管理系统之部门结构树的展示
  20. 六边形2048小游戏

热门文章

  1. 申宝炒股-指数延续反抽小三浪行情
  2. 诺基亚安卓手机_诺基亚7.1即将升级安卓10,还有另外5款将在一月更新
  3. StockChart Android股票图/K线图开发库
  4. istanbul-middleware
  5. 在win2003中安装 Mustek 1200 CU 扫描仪
  6. 船舶游艇三维扫描3D尺寸测量检测质量管控-CASAIM三维扫描仪
  7. 完美攻略之风之继承者(风の继承者)中日文双语攻略
  8. 现在的95后指挥不动,下班准时走,活安排不下去只能自己干,怎么办?
  9. 盘点那些你从未想过的还无比重要的测试点 (DNF?剑灵?热血江湖?)
  10. 知识图谱学习笔记03-知识图谱的作用