此处记录学习AVC过程中的一些基本概念,不定时更新。

frame:帧,相当于一幅图像,包含一个亮度矩阵和两个色度矩阵。

field:场,一帧图像,通过隔行扫描得到奇偶两场,分别称为顶场和底场或奇场和偶场。

macroblock/MB:宏块,H.264中处理(预测、变换、量化)的基本单元,大小16*16个像素。

slice group:条带组,每一帧/场图像中,按照光栅扫面的顺序,将MB/MB对分成多个条带(slice)。

I/P/B 宏块:I宏块只能利用所在slice中已编码的像素进行帧内预测。P宏块是利用已编码的图像的像素进行帧间预测,属于前向预测,即参考图像是播放顺序中该帧图像之前的图像。B宏块也是利用已编码的图像像素进行帧间预测,属于双向预测,即参考图像可以是播放顺序前后的图像。

I/P/B条带:仅包含I宏块的是I条带,同时包含I宏块和P宏块的是P条带,同时包含I条带和B宏块的是B条带。

I/P/B帧:I帧只包含I条带,P帧只包含P条带,B帧只包含B条带。

List0/List1:List0是前向参考帧列表,List1是后向参考帧列表。所以P帧预测只用到List0,B帧预测会用到List0和List1。

profile:档次,所谓档次就是H.264支持的一组工具集合和特定的应用领域。AVC里规定了几种不同的档次,主要有基本档次(Baseline profile)、主要档次(Main profile)和扩展档次(Extended profile)。

  三种档次共有工具:

    》支持I帧和P帧进行帧内和帧间编码

    》利用CAVLC(上下文自适应的可变长度编码)进行熵编码

    》使用去块效应滤波

    》zigzag扫描

    》1/4像素精度的运动估计

    》最小为4x4的三级运动估计分块

    》4:2:0的YUV抽样

  基本档次的特性:

  主要档次的特性:

    》支持B帧、加权的帧内预测、CABAC(上下文自适应的二进制算术编码)

  扩展档次的特性:

    》包括基本档次的所有特性和B帧、加权的帧内预测

    》支持SP/SI条带,用于流间切换、拼接和随机接入

参考:《深入理解视频编解码技术——基于H.264标准及参考模型》

H.264学习笔记1——相关概念的更多相关文章

  1. H.264学习笔记5——熵编码之CAVLC

    H.264中,4x4的像素块经过变换和量化之后,低频信号集中在左上角,大量高频信号集中在右下角.左边的低频信号相对数值较大,而右下角的大量高频信号都被量化成0.1和-1:变换量化后的残差信息有一定的统 ...

  2. 02:H.264学习笔记

    H.264组成 1.网络提取层 (Network Abstraction Layer,NAL) 2.视讯编码层 (Video Coding Layer,VCL) a.H.264/AVC影像格式阶层架构 ...

  3. H.264学习笔记之一(层次结构,NAL,SPS)

    一 H.264句法 1.1元素分层结构 H.264编码器输出的Bit流中,每个Bit都隶属于某个句法元素.句法元素被组织成有层次的结构,分别描述各个层次的信息. 图1 H.264分层结构由五层组成,分 ...

  4. H.264学习笔记

    1.帧和场的概念 视频的一场或一帧可用来产生一个编码图像.通常,视频帧可以分成两种类型:连续或隔行视频帧.我们平常看的电视是每秒25帧,即每秒更换25个图像,由于视觉暂留效应,所以人眼不会感到闪烁.每 ...

  5. H.264学习笔记6——指数哥伦布编码

    一.哥伦布码 哥伦布码就是将编码对象分能成等间隔的若干区间(Group),每个Group有一个索引值:Group Id. >对于Group Id采用二元码编码: >对于Group内的编码对 ...

  6. H.264学习笔记4——变换量化

    A.变换量化过程总体介绍 经过帧内(16x16和4x4亮度.8x8色度)和帧间(4x4~16x16亮度.4x4~8x8色度)像素块预测之后,得到预测块的残差,为了压缩残差信息的统计冗余,需要对残差数据 ...

  7. H.264学习笔记3——帧间预测

    帧间预测主要包括运动估计(运动搜索方法.运动估计准则.亚像素插值和运动矢量估计)和运动补偿. 对于H.264,是对16x16的亮度块和8x8的色度块进行帧间预测编码. A.树状结构分块 H.264的宏 ...

  8. H.264学习笔记2——帧内预测

    帧内预测:根据经过反量化和反变换(没有进行去块效应)之后的同一条带内的块进行预测. A.4x4亮度块预测: 用到的像素和预测方向如图: a~f是4x4块中要预测的像素值,A~Q是临块中解码后的参考值. ...

  9. 每天进步一点点------H.264学习 (一)

    分三个阶段学习1.第一个阶段: 学习H.264,首先要把最基本最必要的资料拿在手里.这些资料包括:标准文档+测试模型+经典文章,在本FTP中能找到.首先看 <H.264_MPEG-4 Part ...

随机推荐

  1. iOS开发——高级篇——FMDB 数据库简单使用

    #import <Foundation/Foundation.h> @interface UserDB : NSObject // 把userDB设计成一个单例类 + (id)shareI ...

  2. Linux 对比 Windows 缺点

      SELinux_百度百科 https://baike.baidu.com/item/SELinux/8865268?fr=aladdin   虽然Linux比起 Windows来说,它的可靠性,稳 ...

  3. mac系统下显示隐藏文件

    在终端上输入以下命令即可: 显示隐藏文件命令: defaults write com.apple.finder AppleShowAllFiles -bool true 不显示隐藏文件命令: defa ...

  4. BZOJ3282:Tree(TCL基础题)

    给定N个点以及每个点的权值,要你处理接下来的M个操作. 操作有4种.操作从0到3编号.点从1到N编号. 0:后接两个整数(x,y),代表询问从x到y的路径上的点的权值的xor和. 保证x到y是联通的. ...

  5. java虚拟机内存区域理解

    java虚拟机有的区域随着虚拟机进程的启动而存在, 有的区域依赖用户线程的启动和结束而建立和销毁. 程序计数器:为了线程切换后能恢复到正确的执行位置,每个线程都有一个独立的程序计数器.(针对java方 ...

  6. AutoIT: 捕捉路由器登陆的小例子

    $url2 = "AX.XXX.XXX.COM" $oIE = _IECreate ($url2, , , , ) Sleep() ControlSetText('[REGEXPT ...

  7. Linux网络协议栈(三)——网络设备(2)

    2.1.网络设备的注册与注销注册网络设备发生在下列情形: (1)加载网卡驱动程序   网卡驱动程序如果被编译进内核,则它在启动时被初始化,在运行时被作为模块加载.无论初始化是否发生,所以由驱动程序控制 ...

  8. MultipartResolver实现文件上传功能

    转自:https://www.jb51.net/article/142736.htm springMVC默认的解析器里面是没有加入对文件上传的解析的,,使用springmvc对文件上传的解析器来处理文 ...

  9. ssi,服务器端包含,<include file="">

    一.什么是SSI ssi,全称Server Side Include,中文名,服务器端包含. SSI (Server Side Includes)是HTML页面中的指令,在页面被提供时由服务器进行运算 ...

  10. bzoj 4276: [ONTAK2015]Bajtman i Okrągły Robin【线段树+最大费用最大流】

    --因为T点忘记还要+n所以选小了所以WA了一次 注意!题目中所给的时间是一边闭一边开的区间,所以读进来之后先l++(或者r--也行) 线段树优化建图,很神.(我记得还有个主席树优化建树的?)首先考虑 ...