转载自https://yq.aliyun.com/articles/31204
http://blog.csdn.net/zhangyuehuan/article/details/41039485
http://blog.csdn.net/NB_vol_1/article/details/51135594
B:Bi-predictive(双向预测,即B帧或B条带,B条带中的CU可以采用帧内或帧间预测编码,每个预测块采用双向预测方式进行预测,B条带编码时同时使用参考图像列表0和参考图像列表1)
AMVP 即先进运动矢量预测
AMP 不对称分割
WPP 波前编码
SEI 图像增强提高信息
NAL单元的前两个字节是头部(第一个字节总是0,接着是NAL类型,然后是layer标志,最后是temporal标志)
DPB 是解码图像缓存
VCL NAL包含编码数据
no-VCL NAL包含控制信息
IRAP图像必须属于时域层0,且使用帧内预测
leading Picture在解码顺序上紧跟着IRAP图像,但是输出顺序在IRAP图像之前——也叫前置图像
trailing Picture在解码和输出顺序上都在IRAP图像之后——也叫后置图像(是相对于IRAP图像而言的)
编码或者解码顺序:IRAP、leading Picture 、 trailing Picture
有三种类型的trailing Picture:TSA,STSA,TRAIL
有两种leading Picture:RADL和RASL
图像的输出顺序由poc决定,但是编码和解码顺序却不一定
VUI 视频可用信息
HRD 虚拟参考解码器
代码中经常出现的 lambda就是拉格朗日因子 “λ”
MV预测(即MVP,可以有时域或者空域上预测出)有两种新技术:
1、AMVP 先进MV预测
2、merge模式
PCM模式,该模式下编码器直接传输一个CU的像素值,而不经过预测变换等操作
CBF 就是编码块标志
运动估计(ME)
就是为当前的块(在当前的帧中)在参考图像中找到一个最佳的匹配块(使用SAD绝对误差和继续计算)。因为有多个参考帧,因此每一个参考帧都有对应的匹配块,后面会选择代价最小的那个匹配块。
MV预测(MVP)
又分为两种预测方式:Merge模式和AVMP方式。MV预测顾名思义,就是这个MV不是计算出来的,而是根据同一帧的相邻块的MV以及参考帧匹配块的MV预测出来的。
1、MV的空域预测:参考的MV来自同一帧,是当前块的相邻块的MV
2、MV的时域预测:主要针对B帧。参考的MV来自参考帧匹配块的MV,它还分为下面两种方式:
(1)当参考的MV都来自同一方向时,那么参考的MV中的一个可以由另一个来预测(注意是参考的MV中的一个,而不是当前的MV,当前的MV自然也是由它们推到出来)
(2)直接模式的MV预测,如果两个参考帧来自不同的方向,使用的就是这种方式。
加权预测
表示当前帧的像素可以通过参考帧进行加权得出,分为:
1、explicit加权预测
2、implicit加权预测
HEVC的两种MV预测技术:merge模式,AMVP模式
1、merge模式:为当前的PU(或者CU)建立一个MV候选列表,列表中存在5个候选MV,通过遍历这5个候选的MV,选出最优的那个MV,然后只需编码该MV所在的索引就行了。它建立的MV候选列表包含了空域和时域两种情况,对于B帧,还会包含组合列表。在HM的代码中,实际上空域、时域的候选MV都放在一个列表中,先存放空域的MV,再存放时域的MV(对于时域的MV需要进行缩放,而且时域MV最多只有一个),如果后续的MV数量不够5个,那么会填充零MV。对于B帧,需要建立两个临时候选列表(在HM中好像没看到!有点疑问?),然后对其中的MV进行两两组合,形成最后的候选列表。
2、AMVP模式:同样建立候选列表,但是候选MV只有2个。选出最优的预测MV之后,对MV进行差分编码,然后对MVD以及预测MV的索引进行编码即可。对于空域的MV,和merge模式类似,但是选择两个即可;时域MV只选择一个MV,然后组合起来,保留候选列表中的前两个候选MV。
BLA:Broken Link Access
CABAC:Context-based Adaptive Binary Arithmetic Coding
CB:Coding Block(编码块,CB是之前已经分割好的CTB根据块中的图像内容而自适应划分的,一般来说,相对比较平滑的区域往往采用大尺寸的CB,而细节多的区域则采用较小尺寸的CB,以亮度CB为例,尺寸可以由8x8到CTB的大小,也即亮度CTB的尺寸是亮度CB的最大可支持的尺寸)
CBR:Constant Bit Rate
CRA:Clean Random Access
CPB:Coded Picture Buffer(编码图像缓冲区)
CTB:Coding Tree Block(编码树块,用来表示视频帧中相互独立的区域,即视频帧被分割成若干个互不重叠的CTB,HEVC中可以采用四叉树的方式,将CTB分割成更小的块,CTB的尺寸由编码器选择,可以比传统的宏块尺寸大,亮度CTB的尺寸可以是16x16/32x32/64x64,尺寸越大,压缩效果越好)
CTU:Coding Tree Unit(编码树单元,HEVC的基本处理单元,一个CTU中包括亮度CTB、2个色度CTB和相应的语法元素)
CU:Coding Unit(编码单元,HEVC中最基本的编码单元,与H.264标准中宏块的作用类似,每个CU由1个亮度CB、2个色度CB和相应的语法元素组成,CU可以分为两类,跳过型CU和普通CU,Skipped CU是一种与H.264/AVC标准中的跳过宏块类似的编码单元,不仅只能采用帧间预测模式,而且产生的运动向量和图像的残差信息不需要传送给解码端;而普通CU则可以采用帧内和帧间两种方式进行预测,然后对残差数据以及附加的控制信息进行编码)
CVS:Coded Video Sequence
DBF:Deblocking Filter(去块效应滤波器,DBF处于HEVC的解码循环中,是重建样本在被写入解码图像缓冲区之前需要经过的一个处理步骤,还有一个步骤是SAO,DBF的作用与H.264标准类似,是为了去除块效应,但只适应于块边界上的样本,但相比H.264,其决策与滤波过程被大大简化了,更易于并行处理)
DPB:Decoded Picture Buffer(解码图像缓冲区)
DUT:Decoder Under Test
EG:Exponential-Golomb
FIFO:First-In, First-Out(先进先出)
FIR:Finite Impulse Response
FL:Fixed-Length(固定长度)
GDR:Gradual Decoding Refresh
HRD:Hypothetical Reference Decoder
HSS:Hypothetical Stream Scheduler
I :Intra(帧内或I条带,I条带内的所有编码单元都采用帧内预测进行编码)
IDR:Instantaneous Decoding Refresh
IRAP:Intra Random Access Point
LPS:Least Probable Symbol
LSB:Least Significant Bit
MPS:Most Probable Symbol
MSB:Most Significant Bit
NAL:Network Abstraction Layer(网络提取层)
P:Predictive(预测或P帧,除了I条带的编码类型,P条带中的一些CU还可以采用帧间预测进行编码,每个PB采用单向预测方式进行预测,P条带编码时只利用参考图像列表0)
PB:Prediction Block(预测块,当预测模式选择为帧内时,对于所有的块尺寸,PB尺寸和CB尺寸相同;当预测模式选择帧间时,则需要指明亮度和色度CB是否被分成1个、2个或4个PB,只有当CB尺寸等于所允许的最小尺寸时才被分成4个PB)
PPS:Picture Parameter Set
PU:Prediction Unit(预测单元,是包含了预测信息的基本单元,一个PU包括亮度和色度PB和相关预测语法,一个CU可以包含一个或者多个PU,PU的类型可以是跳过、帧内、帧间)
RADL:Random Access Decodable Leading (Picture)
RASL:Random Access Skipped Leading (Picture)
RBSP:Raw Byte Sequence Payload
RPS:Reference Picture Set(参考图像集)
SAO:Sample Adaptive Offset(样点自适应补偿,SAO是HEVC新引入的,SAO滤波器被自适应地用于所有满足特定条件的样本)
SEI:Supplemental Enhancement Information(补充的增强信息)
SODB:String Of Data Bits
SPS :Sequence Parameter Set
STSA:Step-wise Temporal Sub-layer Access(逐步级TSA)
TB:Transform Block(变换块,CB可以采用四叉树分割方式递归的分割成若干个TB,注意:与先前的标准不同,对于帧间预测CU,HEVC允许TB跨越多个PB,以此最大限度地提高TB分割的编码效率)
TR:Truncated Rice
TSA :Temporal Sub-layer Access(时间子层访问)
TU:Transform Unit(变换单元,是变换和量化的基本单元,TU的尺寸可以大于PU但不能超过CU,HEVC只定义了方形的TU,尺寸为NxN大小,N=4 、8、16、32,每一个CU可以包含一个或者多个TU)
UUID:Universal Unique Identifier
VBR:Variable Bit Rate
VCL:Video Coding Layer(视频编码层)
VPS:Video Parameter Set(视频参数集)
VUI :Video Usability Information(视频可用性信息,与之前的SEI一起可以提供视频显示所需的各种有用信息,包括视频图像的时序、视频信号的颜色空间、3D立体帧封装信息和其他显示提示信息等) HEVC中一些英语简写 AMVP:advanced motion vector prediction( 前向运动向量预测) WPP:wavefront parallel processing(波前并行处理) RPS: reference picture set DPB:decoded picture buffer () TSA:temporal sublayer access (临时子层通道) STSA: stepwise TSA (递归TSA) MPM — most probable mode cbf — coded block flag PCM—prediction Coding Mode cu_transquant_bypass—CU变换量化旁路 POC——Picture Order Count 图像序列计数 VPS——Video parameter set 视频参数设置 SPS——Sequence parameter set 序列参数设置 PPS—–Picture parameter set 图像参数设置 DeltaQpRD: 基于slice的多QP优化 MaxDeltaQP :基于CU的多QP优化 SEI : Supplemental enhancement information VUI : video usability information NAL : Network Abstraction Layer CABAC :Context-adaptive binary arithmetic coding SVC : Scalable Video Coding MVC :Multiview Video Coding VCEG: Video Coding Experts Group MPEG :Moving Picture Experts Group FMO :Flexible macroblock ordering DP : Data partitioning RS : Redundant slices Profiles Constrained Baseline Profile (CBP) Baseline Profile (BP) Main Profile (MP) Extended Profile (XP) High Profile (HiP) Progressive High Profile (PHiP) Constrained High Profile (CHiP) High 10 Profile (Hi10P) High 4:2:2 Profile (Hi422P) High 4:4:4 Predictive Profile (Hi444PP) High 10 Intra Profile High 4:2:2 Intra Profile High 4:4:4 Intra Profile CAVLC 4:4:4 Intra Profile Scalable Baseline Profile
Scalable Constrained Baseline Profile Scalable High Profile Scalable Constrained High Profile Scalable High Intra Profile Stereo High Profile Multiview High Profile CRA (Clean Random Access )