
HEVC/H.265理论知识
NB_vol_1
这个作者很懒,什么都没留下…
展开
-
HEVC/H.265理论知识(1)——概述
一、参考软件可以看HM、x265、HomerHEVC。个人觉得HM比较复杂,x265最实用,HomerHEVC最简单二、理论知识大部分来自万帅老师的《新一代高效视频编码H.265/HEVC:原理、标准与实现》,还有网上的一些论坛博客等三、这里只讲一些基础概念和框架,对于具体的细节和算法公式并不细讲原创 2016-11-22 17:14:37 · 3149 阅读 · 0 评论 -
HEVC/H.265理论知识(11)——网络适配层
一、HEVC分成视频编码层VCL和网络适配层NAL两层。VCL就是传统的视频编码处理,NAL就处理怎么把编码后的数据传输到网络上去二、NAL上的数据流由一个一个的NALU(NAL单元)构成三、NALU的分类:封装VPS、SPS、PPS、slice头部信息的NALU称为node-VALU;封装一个slice segment的编码数据的NALU称为VCLU四、图像类原创 2016-11-22 17:30:38 · 2691 阅读 · 0 评论 -
HEVC/H.265理论知识(10)——率失真优化
这一章很重要!!!!!!!一、率失真优化的目标就是:1、在一定的码率(码率也表现为数据压缩的程度,码率越低,数据压缩的越厉害)限制下,减少视频的失真(减少失真就会提高视频的主观质量,看的人就会喜欢o(*≧▽≦)ツ)!2、在允许一定的失真下,把视频压缩到最小!二、编码器的率失真优化的工作主要是按照某种策略选取最优的编码参数,以实现最优的编码性能三、率失真函原创 2016-11-22 17:29:42 · 11540 阅读 · 12 评论 -
HEVC/H.265理论知识(9)——码率控制
码率控制也叫速率控制,主要是控制编码后的比特率,因为有时候解码器端或者信道没办法容纳太多bit,因此需要进行控制。当满足一定码率要求的情况下,我们还需要让编码的失真尽量小!速率控制的重点是确定量化参数QP。一、基本原理1、速率控制最主要的工作就是建立编码速率与量化参数的关系模型,即根据目标码率确定QP,使得总体失真最小!2、速率控制无法保证实际的编码速率与目标速率完原创 2016-11-22 17:28:35 · 6606 阅读 · 1 评论 -
HEVC/H.265理论知识(8)——熵编码
一、HEVC中熵编码采用的技术1、零阶(或者k阶)哥伦布指数编码(变长编码,类似于哈夫曼编码那样),主要用于VPS、SPS、PPS、slice头部信息的编码2、CABAC(算数编码),主要用于数据和参数的编码二、零阶哥伦布指数编码(假设对数字4进行编码,n=4)1、把n转换成二进制,即1002、对二进制加上一,即1013、计算二进制的比特数,假设为x,101的比特数原创 2016-11-22 17:27:34 · 4518 阅读 · 1 评论 -
HEVC/H.265理论知识(7)——环路滤波
一、环路滤波的目的是为了提高视频质量,降低去方块效应和振铃效应。二、环路滤波可以分成两大步骤:1、去方块滤波2、SAO(像素自适应补偿)三、去方块滤波介绍1、方块效应是编码块边界的不连续性,因为HEVC是一个基于块的混合编码框架,各个编码块的操作是相互独立的,因此不用的块使用了不同的参数,就造成了方块效应2、去方块效应就是对块的边界进行一个平滑的操作,让方块原创 2016-11-22 17:25:42 · 6065 阅读 · 2 评论 -
HEVC/H.265理论知识(6)——量化
一、介绍1、量化就是把信号的连续取值映射成多个离散的幅值的过程,实现了信号取值多对一的映射。2、残差数据进过变换之后,变换系数具有较大的取值范围,量化可以有效减小信号的取值范围,进而获得更好的压缩效果,量化是造成失真的根本原因二、衡量失真的三种准则(分别有对应的公式):1、均方差MSE2、信噪比SNR3、峰值信噪比PSNR三、HEVC可以使用的传统量化方原创 2016-11-22 17:24:47 · 11713 阅读 · 1 评论 -
HEVC/H.265理论知识(5)——变换
一、变换编码的:绝对大部分图像都含有较多的平坦区域内容变化缓慢的区域,变换可以使图像能量在空间域的分散分布转为在变换域的相对集中分布,就可以达到去除空间冗余的目的二、HEVC使用了DCT和DST(只用于4x4的小块)两种变换,为了加快速度,还会使用Hadamard算法(HEVC标准中没有使用,但是自己的具体实现可以使用)。二维DCT可以分成两个一维的DCT变换。三、HEVC原创 2016-11-22 17:19:09 · 4722 阅读 · 0 评论 -
HEVC/H.265理论知识(4)——帧间预测
一、帧间预测,利用相邻图像中已经编码的像素生成预测值二、生成预测值之后,和原始的值相减,得到残差,后续的变换量化等操作就是基于残差进行处理的三、主要原理是,为当前的PU在参考帧上寻找一个最佳的匹配块,这个找到的匹配块就可以当作预测值,这个过程就是运动估计。但是注意,运动估计不是一步就位的,它需要在整像素的基础上进行运动补偿(即进行插值),然后进行1/2、1/4像素精度的运动原创 2016-11-22 17:18:23 · 8445 阅读 · 2 评论 -
HEVC/H.265理论知识(3)——帧内预测
一、帧内预测,利用当前图像内已经编码的像素生成预测值二、生成预测值之后,和原始的值相减,得到残差,后续的变换量化等操作就是基于残差进行处理的三、帧内预测的大致流程是这样的(1)遍历所有的预测模式,得到每种模式下的残差信号,再对残差信号进行Hadamard变换计算SATD值(2)利用SATD值计算每种预测模式的率失真代价,选取率失真代价最小的几种模式(与PU大小相关)原创 2016-11-22 17:17:25 · 20476 阅读 · 4 评论 -
HEVC/H.265理论知识(2)——profile、level、tier
一、profile(档次)、level(水平)、tier(等级)存在的目的是为了让不同应用之间相互兼容二、profile、level、tier之间的关系1、档次规定了码流中使用了哪些编码工具和算法2、水平规定了对于档次、等级所对应的解码器处理负担和存储容量参数,主要包括采样率、分辨率、码率的最大值、压缩率的最小值、解码图像缓冲区(DPB)的容量,编码图像缓冲区(CPB)的容量原创 2016-11-22 17:16:32 · 8293 阅读 · 1 评论 -
HEVC/H.265理论知识(12)——并行化处理
HEVC中主要的并行化处理可以分为几种:1、图像组(GOP)级的并行化。,把图像组设置为封闭式GOP,GOP之间不会相互参考,因此可以实行并行化处理2、帧级并行化。帧可以分为I、P、B三种类型的帧,根据重要性的不同,又可以被划分到多个时域层、下层时域层的帧比上层时域层的帧重要,下层的帧不参考上层的帧、同一层的帧也不会相互参考,因此同一层的帧可以进行并行化处理,层之间则可以形成一条流水线(但原创 2016-11-22 17:31:25 · 2244 阅读 · 0 评论