1、宏块(Macro Block)

h264

一个编码图像首先要划分成多个块(4x4 像素)才能进行处理,显然宏块应该是整数个块组成,通常宏块大小为16x16个像素。宏块分为I、P、B宏块,I宏块只能利用当前片中已解码的像素作为参考进行帧内预测;P宏块可以利用前面已解码的图像作为参考图像进行帧内预测;B宏块则是利用前后向的参考图形进行帧内预测;

同时在I帧中只有I宏块,因此只能进行帧内预测

在P中可以存在I宏块和P宏块,进行帧间预测,前向预测

在B帧中存在I,P,B宏块,可以进行帧内,前向预测,后向预测

两个标准在此处概念相似,有不同的地方可能主要是在宏块的类型划分和参考帧的范围上

下面是264在《H264 and MPEG-4 video compression》当中的介绍

在文档中提及到sub_mb_pred 从自己的工程经验推断,这是一个微块的概念,主要在帧间预测中会使用到,在帧间预测中如果当前块为16*16,那么在实际预测的时候会根据宏块的类型相应劈分成四个微块

进行处理,比如4个8*8,之后在一些标准中添加了不规则划分的概念,那么还有可能是4*8,12*8等微块的概念

AVS ,265的一些标准中需要扩展说明:

宏块的大小并不是唯一确定的,需要根据标准相应的制定,比如可以是32*32,64*64 有时候甚至是可以更大,这个时候需要明白两个概念:

最大编码单元:即能解码的最大块(AVS标准在序列头中一般会通过几个bit传输)

最小解码单元:能够解码的最小块(一般会与工程的存储空间相关联,还有一个简单的办法就是看这个标准或者工程中DCT,IDCT变化做的是多大的块变换就可以略知一二)

2、片(Slice)

h264:

一帧视频图像可编码成一个或者多个片,每片包含整数个宏块,即每片至少一个宏块,最多时包含整个图像的宏块。

片的目的:为了限制误码的扩散和传输,使编码片相互间保持独立。片共有5种类型:I片(只包含I宏块)、P片(P和I宏块)、B片(B和I宏块)、SP片(用于不同编码流之间的切换)和SI片(特殊类型的编码宏块)。

以下是片的句法结构:片头规定了片的类型、属于哪个图像、有关的参考图像等;片的数据包含了一系列宏块和不编码数据。

片组是一个编码图像中若干宏块的一个子集,包含一个或若干个片。

一般一个片组中,每片的宏块是按扫描次序进行编码的,除非使用任意片次序(Arbitrary Slice Order, ASO)一个编码帧中的片之后可以跟随任一解码图像的片。

AVS:

在AVS中片的作用和在h264中差不多,但是没有SI,SP帧的概念,其余三种片,一般也没有过多的区分片的类型,和帧的类型联系得比较密切,都是为了使编码片之间相互独立,在做帧内参考,以及一些熵解码的运算的时候都需要参考上方或者左边的宏块,但是必须要求这些

宏块是在一个片内的才有意义,同时多片的划分对于CPU的并行操作也是有一定帮助的

注意:我所了解到的264和AVS当中一般的片划分都还是以整行为单位的,但是在现在的265标准中貌似出现了不规则的片划分,之后会做补充说明

h264基础知识 宏块,片相关推荐

  1. 图像编码与 H264 基础知识

    RGB 颜色模型 图像的采集可以通过摄像头或者截取屏幕来获取的图像数据.一幅图像可以看作为一个二维的矩阵,其中矩阵中的每一个点被称为像素.像素的颜色可以通过红.绿.蓝来表示,也就是常说的 3 基色.如 ...

  2. H264基础知识入门

    之前视频基础,有讲到视频的原始数据YUV,相比RBG,数据确实减少了,但还是一个非常大数据量,会占用很大空间以及在给网络传输带来很大压力.所以必须要对视频进行压缩,减少占用空间.这里主要分享H264编 ...

  3. h264基础知识梳理

    介绍一下264算法和AVS中的算法结构(大致相似): 视频编码技术在过去几年最重要的发展之一是由ITU和ISO/IEC的联合视频小组 (JVT)开发了H.264/MPEG-4 AVC[8]标准. H. ...

  4. H.264基础知识及视频码流解析

    H.264基础知识及视频码流解析 目录 H.264概述 H264相关概念 H264压缩方式 H264分层结构 H264码流结构 H264的NAL单元 H.264视频码流解析及代码实现 1. H.264 ...

  5. 最全音视频基础知识学习详解(含多个干货链接)

    这里将了解到的和一些博客网站讲到的音视频基础相关的内容总结整理到了一起,方便系统的学习和回顾记录. 首先一个最简易的音视频图解,包括一下几个部分: 对于一个实时音视频应用共包括几个环节:采集.编码.前 ...

  6. PCM音频基础知识及采样数据处理

    PCM音频基础知识及采样数据处理 目录 PCM简介 采样频率.量化精度(采样位数)和声道数 音频帧 录播过程 音频混音 PCM音频采样数据处理 转载自:音频PCM知识整理 视音频数据处理入门:PCM音 ...

  7. H265编码等级以及图像的基础知识

    1. H265编码等级 H264编码profile & level控制 .H265编码初探 H265 profile H265 Profile & Level & Tier 介 ...

  8. 视音频格式基础知识视频压缩

    视音频格式基础知识&视频压缩 2018.7.10 一.视频基础知识 1.什么是视频:连续的图像变化每秒超过24帧(frame)画面以上时,根据视觉暂留原理,人眼无法辨别单幅的静态画面:看上去是 ...

  9. 音视频处理基础知识扫盲:数字视频YUV像素表示法以及视频帧和编解码概念介绍

    专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt+moviepy音视频剪辑实战 专栏:PyQt入门学习 老猿Python博文目录 老猿学5G博文目录 一. ...

最新文章

  1. tab 触发ajax请求,防止重复发送ajax请求的思索
  2. 请教开发WinForm时输入法问题
  3. 【雅礼集训2017】字符串【后缀自动机】【数据分治】
  4. xxljob 配置具体定时任务_记一次xxl-job定时任务没有触发的问题
  5. JavaScript中一个对象数组按照另一个数组排序
  6. ImportError: No module named six
  7. 八大节点十大集群:产业链企业纷纷加码“东数西算”
  8. 小鹏汽车提交赴美IPO:上半年营收1.42亿美元 何小鹏持股31.6%为最大股东
  9. 类型不匹配 java_java – 与泛型类型不匹配
  10. Linux查看端口被那个进程占用
  11. Linux 命令(73)—— ps 命令
  12. 坦克世界怎么显示服务器准心,坦克世界8.0环境设置详细教程
  13. pip问题集锦(pip是干什么的,pip安装速度过慢怎么办,--user是什么意思?)
  14. 信息化系统要如何选型?
  15. IDEA中对代码进行commit时,git报Unable to create ‘E:/blog/.git/index.lock‘: File exists问题解决
  16. 微信小程序云开发初步上手
  17. vue中使用threejs的一些问题,THREE上没有OrbitControls
  18. Ubuntu16.04 rc.local不生效,启动过程中报“Failed to start /etc/rc.local Compatibility”错误
  19. 在 Domino 邮件服务器上配置 Verse On-Premises
  20. android双屏不同apk,android rk3288 rk3399 双屏双触 双屏异显 验证apk

热门文章

  1. 创业三部曲之一――学技术
  2. Android异常大全
  3. 阿里云服务器如何使用并且后续能干嘛
  4. 【iOS开发必收藏】详解iOS应用程序内使用IAP/StoreKit付费、沙盒(SandBox)测试、创建测试账号流程!2012-6-25日更新iap恢复
  5. Golang实现文字转字符画
  6. ajax如何实现表单验证码,Ajax实现提交表单时验证码自动验证(原创自Zjmainstay)...
  7. socket读写返回值的处理
  8. 【190319】VC++ C/S结构视频聊天软件源码源代码
  9. springboot学习之旅12-安全
  10. min-height不生效