基于H.264的视频编码处理技术与应用(贾克斌[等]编著)思维导图
视频编码技术及H264标准精品PPT课件
熵编码原理 算术编码的唯一性和效率
• 长度为n的序列的算术编码的平均码长为:
lA P (x)l x
P (x ) lo g
P
1 (x
)
1
P
(
x
)
lo
g
P
1 (x
)
1
1
P (x ) lo g P (x ) 2 P (x )
H X n 2 n H X 2
n H X lA n n H X 2 H X lA H X n 2
Zeroleft: 当前非零系数之前所有零的个数,初始值为TotalZeros
HR.2un6_b4eforCe:A游V程 LC 下面两种情况不需要编码: 最后一个非零系数(反Z方向)前零的个数 没有剩余的零可以编码,∑ Run_before=total_zeros
本例题中:0 3 0 1 -1 -1 0 1 0 0 0 。。。。。
HEVC视频编码标准之熵编码
——基于上下文的自适应二进制算术编码CABAC (Context-based Adapting Binary Arithmetic Coding)
郑明魁
数字电视智能化技术国家地方联合工程研究中心
熵编码基础
目前的视频编码标准主要通过去除空间冗余、时间冗余与编码冗余 来实现压缩。编码器将多种算法有效的结合起来达到较高的压缩性能 ,主要相关技术包括预测编码、变换编码、量化和熵编码技术。
熵编码原理
1.算术编码 Arithmetic Coding(二进制)
在编码过程中,输入数据流中 的信源符号被分为大概率符号 (MPS)和小概率符号(LPS)。
LPS的概率记为Q, MPS的概率记为P=1-Q
熵编码原理 算术编码的唯一性和效率
H.264宏块编码模式解析
H=
1111 1 1 -1 -1 1 -1 -1 1 1 -1 1 -1
s(i,j)指的是原始的象素值 ,而 c(i,j)指的是经 过 变 换 ,量化,反量化,反变 换 之后的重建象素 值。
λ λ 2.
}
}
} ……
if (input->rdopt) {
……
best_mode=mode best_c_imode = currMB->c_ipred_mode best_mode 和 best_c_imode 都是全局变量
set_stored_macroblock_parameters ();
}
currMB->mb_type = best_mode currMB->c_ipred_mode = best_c_imode; 其中
J = Distortion + λMODE * Rate
1. Distortion Distortion 放映了量化失真的大小,几种常用的方法有 z SAD (Sum of Absolute Differences)
SAD = ∑ Diff (i, j) i, j
z SATD (Sum of Absolute Transformed Differences)
在 JM 模型中,参考帧的选择是通过如下语句实现的: for (PDIR_mcost=max_mcost, ref=0; ref<listXsize[LIST_0+list_offset]; ref++) {
if (!checkref || ref= =0 || CheckReliabilityOfRef (block, LIST_0, ref, mode)) {
H.264视频编码学习(精)
H.263
• H.263是ITU-T为低于64kb/s的窄带通信信道制定的视频编码标准。 • H.263与H.261的主要区别: (1)数据流层次结构的某些部分在H.263中是可选的,使得编解码可以 配置成更低的数据率。 (2)H.263的运动补偿使用半像素精度,而H.261则用全像素精度和环 路滤波。 (3)H.263采用无限制的运动向量以及基于语法的算术编码。 (4)H.263除支持QCIF和CIF外,还支持SQCIF、4CIF和16CIF, SQCIF相当于QCIF一半的分辨率,而4CIF和16CIF分别为CIF的4倍 和16倍。 (5)采用事先预测和与MPEG中的P-B帧一样的帧预测方法。
对称编/解码和不对称编/解码 —对称:编码和解码占用相同的计算处理能力和时间,实时 性好。 —不对称:与上相反,一般压缩慢,解压快。
第二章 视频编码发展概况
ITU-T 与MPEG • ITU-T与ISO/IEC是制定视频编码标准的两大组织,ITU-T 的标准包括H.261、H.263、H.264,主要应用于实时视频 通信领域,如会议电视;MPEG系列标准是由ISO/IEC制 定的,主要应用于视频存储(DVD)、广播电视、因特网或 无线网上的流媒体等。 • 值得注意的是两个组织也共同制定了一些标准,H.262标 准等同于MPEG-2的视频编码标准,而最新的H.264标准 则被纳入MPEG-4的第10部分。 • 注:本幻灯片以ITU-T视频编码标准概述发展过程。
H.264
• H.264是由ISO/IEC与ITU-T组成的联合视频组(JVT)制定的新一代视 频压缩编码标准。 • H.264的特点: (1)在同等视觉条件下,压缩比更高。 (2)对网络传输具有更好的支持功能,支持交互式应用所需的低延迟模 式,支持随机帧索取,支持可变码率,支持多种分辨率。 (3)对信道时延的适应性较强,既能用于低时延的实时业务(如会议电 视),又可用于无时延限制的场合(如视频存储)。 (4)具有较强的抗误码能力,可适应不同网络中的视频传输,网络亲和 性好。 (5)在编码器和解码器中的复杂度可分级设计,使图像质量和编码处理 之间可分级,以适应不同复杂度的应用。
视频压缩编码标准H.264详解
视频压缩编码标准H.264详解——新疆大学2006级工硕郭新军JVT(Joint Video Team,视频联合工作组)于2001年12月在泰国Pattaya 成立。
它由ITU-T和ISO两个国际标准化组织的有关视频编码的专家联合组成。
JVT的工作目标是制定一个新的视频编码标准,以实现视频的高压缩比、高图像质量、良好的网络适应性等目标。
目前JVT的工作已被ITU-T接纳,新的视频压缩编码标准称为H.264标准,该标准也被ISO接纳,称为AVC(Advanced Video Coding)标准,是MPEG-4的第10部分。
H.264标准可分为三档:基本档次(其简单版本,应用面广);主要档次(采用了多项提高图像质量和增加压缩比的技术措施,可用于SDTV、HDTV和DVD等);扩展档次(可用于各种网络的视频流传输)。
H.264不仅比H.263和MPEG-4节约了50%的码率,而且对网络传输具有更好的支持功能。
它引入了面向IP包的编码机制,有利于网络中的分组传输,支持网络中视频的流媒体传输。
H.264具有较强的抗误码特性,可适应丢包率高、干扰严重的无线信道中的视频传输。
H.264支持不同网络资源下的分级编码传输,从而获得平稳的图像质量。
H.264能适应于不同网络中的视频传输,网络亲和性好。
一、H.264视频压缩系统H.264标准压缩系统由视频编码层(VCL)和网络提取层(Network Abstraction Layer,NAL)两部分组成。
VCL中包括VCL编码器与VCL解码器,主要功能是视频数据压缩编码和解码,它包括运动补偿、变换编码、熵编码等压缩单元。
NAL则用于为VCL提供一个与网络无关的统一接口,它负责对视频数据进行封装打包后使其在网络中传送,它采用统一的数据格式,包括单个字节的包头信息、多个字节的视频数据与组帧、逻辑信道信令、定时信息、序列结束信号等。
包头中包含存储标志和类型标志。
存储标志用于指示当前数据不属于被参考的帧。
《数字视频处理及应用》课件第6章
图 6-3 基于DCT的顺序编/解码过程的系统框图
1) DCT变换 JPEG将源图像的每个8×8子块进行DCT变换,以消除 图像块各像素在空间域的相关性。在变换之前,除了要对 原始图像进行分割(一般是从上到下、从左到右)之外,还要 将数字图像采样数据从无符号整数转换到带正负号的整数, 即把范围为[0,28-1]的整数映射为[-28-1,28-1-1]范围内 的整数,目的是为了降低DCT运算时的内部精度要求。二 维8×8子块的DCT /IDCT分别定义为
6.2 图像编码标准
JPEG是联合图像专家组(Joint Photographic Experts Group)的缩写,该专家组隶属于ISO/IEC的联合技术第1委 员会第29研究委员会的第1工作组(ISO/IEC JTC1/ SC29/ WGl),WGl已经制定了几种图像压缩编码的国际标准,其 中包括JPEG和JPEG 2000。
根据上述分析,采用累进编码模式的系统结构与图6-3 基本相同,只是在量化器与熵编码之间应增加一个缓冲存 储器,以供存放一幅图像数字化后的全部DCT系数。这样, 系统便可以多次对缓冲器中存储的DCT系数进行扫描,并 分批进行熵编码。
4. 基于DCT的分层编码模式 在分层编码模式中,一幅原始图像被分成多个低分辨 率的图像,然后分别针对每个低分辨率的图像进行编码, 具体过程如下:首先把一幅图像分成若干低分辨率的图像, 然后对单独的一个低分辨率的图像进行压缩编码,其编码 方法可以选用无失真编码,也可以采用基于DCT的顺序编 码,或基于DCT的累进编码。根据不同的用户要求,采用 不同的编码方法。当接收端接收上述发送信息后,进行解 码,进而重建图像,然后将恢复的下一层低分辨率的图像 插入已重建图像之中,以此来提高图像的分辨率,直至图 像分辨率达到原图像的质量水平。必须说明的是,基于 DCT的JPEG压缩算法,其压缩效果与图像的内容有关,一 般高频分量少的图像可以获得较高的压缩比。
高清视频编码基于分析和H.264说明书
8th International Conference on Management, Education and Information (MEICI 2018)HD Video Coding based on Fractal and H.264Yun ChenBeihang University, Beijing, ChinaKeywords: High-definition video; Video coding; Fractal coding; H.264Abstract. This paper studies the HD video and remote sensing image compression algorithm based on fractal and H.264.In order to study the technology of image storage and transmission suitable for HD resolution video. The system further optimizes the intra-frame coding mode currently adopted by H.264, and proposes a new fast intra-block block algorithm to reduce the prediction mode selection. For inter prediction, a new motion estimation and motion compensation algorithm is proposed based on fractal. In order to further reduce the number of coded bits, transform, quantize and entropy encode the fractal residuals. Since the motion vector MV and the fractal coefficients cannot be quantized, their differences are directly entropy encoded. The high-definition video coding system based on fractal and H.264 not only reduces the coding complexity, but also improves the coding efficiency.IntroductionWith the continuous advancement of technology and the improvement of video technology, the demand for high quality video is increasing [1-3]. However, how to improve compression efficiency in the case of limited transmission and storage space has become a key to video technology [4-9]. In order to better adapt to the requirements of high-definition video compression, H.264 makes full use of the spatial correlation of video frames to propose a tree-block partitioning mode and multiple prediction modes. However, due to multiple prediction modes in different division modes, the coding time is relatively long, therefore, we first perform a statistic on the different block partitions in the intra prediction of H.264 to facilitate a subsequent related improvement on intra prediction.In current fractal video coding systems, intraframe coding of I frames is performed, the processing method: First, the I frame is divided into fixed-size blocks, and then each block is subjected to a series of operations such as transformation, quantization, and entropy coding. The code stream formed by this method is encoded, and the decoded video image quality formed after decoding, inverse quantization, and inverse transform at the decoding end is worse than the original image, and the decoded image quality is poor. Because the H.264 encoding effect is relatively better, in order to improve the quality of intraframe coding, this paper draws on the intra prediction method in the video coding standard H.264/A VC and improves it to some extent [10-16].Block Division StructureIntra block partition. In this paper, the video sequence to be encoded is divided into consecutive frames, each frame is divided into 16×16 macroblocks of uniform size, and then encoded for each macroblock [18]. First, the macroblock is divided into 16×16, and then the prediction modes of the four prediction modes are respectively performed, and the rate distortion cost in different prediction modes is calculated; Then divide the current macroblock into 16 4×4 blocks, perform prediction of nine prediction modes for each block and perform rate distortion cost calculation for each prediction mode, and then calculate the sum of rate distortion costs of the entire 16×16 block; The prediction mode with the lowest rate distortion cost is found in the 16×16 and 4×4 division modes as the final division mode and prediction mode [19]. This paper proposes a fast intra block partitioning algorithm.(1) The left macroblock A is 4×4, and the upper macroblock B is also 4×4,Calculating the rate distortion cost J of various prediction modes in the two block division modes for the current block; (2) The left macroblock A is 4×4 partition, the upper macroblock B is 16×16 partition, or the left macroblock A is 16×16 partition, and the upper macroblock B is 4×4 partition. Two block partitioning attempts are made to the current block and the rate distortion cost J is calculated for each mode.(3) The left macroblock A is 16×16 partition, the upper macroblock B is 16×16 partition, and the current block is 16×16 partition, so that each macroblock can reduce the 144 (16×9) rate distortion cost calculation.The calculation process of the rate distortion cost is as follows: (1) Calculate the prediction residual of the current block.(,)(,)(,)Diff x y Orig x y Pred x y =- (1) Among them, (,)Orig x y and (,)Pred x y re the pixel values of the original block and the prediction block respectively.(2) The Hadamard transform is performed on the prediction residual, and the absolute value and SA TD after the residual transformation are calculated, that is,((,))x ySATD HAD Diff x y =∑ (2) (3) The SA TD cost is calculated using a simplified SA TD cost function.mod mod e e J SATD R λ=+⋅ (3) Among them,mode λ is a Lagrange multiplier ,mode R is the bit value encoded in the current intra mode. Fractal codingFast motion estimation algorithm. Inter-frame prediction generally uses the time-domain correlation of video frames, using motion estimation and motion compensation to find the best matching block [20]. Since the amount of full search calculation in the search range space is too large, which is not conducive to improving coding efficiency, we propose a new fast motion estimation algorithm. The motion vectors of adjacent blocks are utilized to calculate the initial search points of the current block, then the fast motion estimation algorithm is carried out based on the initial search points, the best matching block is calculated by fractal coding, finally, the residual is transformed by integer DCT, quantized and entropy coding [21, 22]. In the interframe predictive coding mode, each block will have one that needs to be encoded. When a small-sized blocking mode is used, for example, if a macroblock is completely divided into 4×4 blocks, 16 encodings are required; An MV contains four variables, motion vectors x, y, s, and o, x and y are motion vectors, s and o are fractal parameters. If the MV is not compressed, the number of encoded bits of the MV may be larger than the prediction residual. The MV of the current block is predicted by the correlation between adjacent blocks MV and the difference between the predicted p MV and the actual MV is encoded:p MVD MV MV =- (4)As shown in Figure 1, it is predicted by the left A, the upper B and the upper right block C (arbitrary size) of the current block. Suppose E is the current block, and A is the block to which the uppermost 4×4 neighbor block belongs to the left side of E.B is the block to which the leftmost 4×4 neighboring block above E belongs, and C is the block to which the diagonal upper 4×4 neighboring block belongs to the upper right corner of E.The prediction rules are as follows:(1) In addition to the 16x8 and 8x16 blocks, the p MV takes the median of the A, B, and C block MV.(2) In the 16×8 block, the upper part of the p MV is predicted by B, and the part p MV below the MV is predicted by A.(3) In the 8×16 block, the left part p MV is predicted by A, and the right part p MV is predicted by B.(4) When A, B, and C are not available, they are directly encoded.(5) When C is not available, if D is available in the upper left corner, replace it with D.。
H.264码流结构解析
H.264码流结构解析1.H.264简介MPEG(Moving Picture Experts Group)和VCEG(Video Coding Experts Group)已经联合开发了一个比早期研发的MPEG 和H.263性能更好的视频压缩编码标准,这就是被命名为A VC(Advanced Video Coding),也被称为ITU-T H.264建议和MPEG-4的第10 部分的标准,简称为H.264/A VC或H.264。
这个国际标准已经与2003年3月正式被ITU-T所通过并在国际上正式颁布。
为适应高清视频压缩的需求,2004年又增加了FRExt部分;为适应不同码率及质量的需求,2006年又增加了可伸缩编码SVC。
2.H.264编码格式H.263定义的码流结构是分级结构,共四层。
自上而下分别为:图像层(picturelayer)、块组层(GOB layer)、宏块层(macroblock layer)和块层(block layer)。
而与H.263相比,H.264的码流结构和H.263的有很大的区别,它采用的不再是严格的分级结构。
H.264支持4:2:0的连续或隔行视频的编码和解码。
H.264压缩与H.263、MPEG-4相比,视频压缩比提高了一倍。
H.264的功能分为两层:视频编码层(VCL, Video Coding Layer)和网络提取层(NAL, Network Abstraction Layer)。
VCL数据即编码处理的输出,它表示被压缩编码后的视频数据序列。
在VCL数据传输或存储之前,这些编码的VCL数据,先被映射或封装进NAL单元中。
每个NAL单元包括一个原始字节序列负荷(RBSP, Raw Byte Sequence Payload)、一组对应于视频编码的NAL头信息。
RBSP的基本结构是:在原始编码数据的后若干比特0”,以便字节对齐。
面填加了结尾比特。
一个bit“1”“图1 NAL单元序列3.H.264传输H.264的编码视频序列包括一系列的NAL单元,每个NAL单元包含一个RBSP,见表1。
H.264详解
H.264详解为什么叫H.264H.264是一种视频高压缩技术,全称是MPEG-4 A VC,用中文说是“活动图像专家组-4的高等视频编码”,或称为MPEG-4 Part10。
它是由国际电信标准化部门ITU-T和规定MPEG的国际标准化组织ISO/国际电工协会IEC共同制订的一种活动图像编码方式的国际标准格式,这是我们叫惯了的MPEG中的一种,那为什么叫H.264呢?原来国际电信标准化部门从1998年就H.26L的H.26S两个分组,前者研制节目时间较长的高压缩编码技术,后者则指短节目标准制订部门。
H.26S 的标准化技术的名称为H.263,听起来很耳生,但实质上却早在用了,还被骂得很激烈。
因为,H.263先入为大,一直以MPEG-4大内涵的名字在用。
H.263的全称为MPEG-4 Visual或MPEG-4 Pall Ⅱ,即MPEG-4视频简单层面的基础编码方式。
2001年后,国际电信标准化部门ITU-T和MPEG的上级组织国际标准化组织ISO/国际电气标准会议IEC成立了联合视频组JVT,在H.26L基础进行H.264的标准化。
2002年12月9日~13日,在日本香川县淡路岛举行的MPEG聚会上确定了相关技术的规格。
规格书定稿后,2003年3月17日,H.364的技术格式最终稿国际标准规格(FDIS)被确立。
目前软件和LSI芯片,服务及设备也都进入了使用阶段。
格式书中,列出了比特流规定,解码必要格式,和可供参考的编码记载。
为了不引起误解,ITU-T推荐使用H.264作为这一标准的正式名称。
实际上,MPEG-4里还有MPEG-4 Audio和MPEG-4 System的不同规格。
MPEG-4挨骂是因为MPEG-4 Visual许可收费离谱引起的。
别以为有了专利就可以随意向人要钱了,专利的最终目的的是使全社会的智力资料更合理地使用,防止重复劳动,并不是犒赏最先发明者。
按唯美史观,当社会技术发展到某一阶段时,新技术必然会出现。
第10章-3_H264AVC
64kbps
128kbps
H.264 MPEG-4
3、:与MPEG-4比较 (中, 低码率)
– (测试序列: Bus, Flower, Mobile, Tempete; 数据来源: MPEG/IEC VCEG-N18)
35 33 31 29 27 25
256kbps
512kbps
1024kbps
• 标准收费是把“双刃剑”
– 收费: 维护把先进技术放进标准的积极性 – 免费: 快速推广和实施,通过产品盈利
• MPEG-1, H.263: 很少收费案例出现 • MPEG-2: MPEG LA根据解码器收费(4$) • MPEG-4: 不仅对编解码器收费,还对运营
商按时间收费?正在争议之重 • JVT: 新策略,将开始讨论收费
N18)
Test
H.26L TML-8
2B+5/25R+AC+
1/4v1
Y
CB CR
1024 kbps CIF 30 fps
Mobile 34. 36. 37.
972
Templa 35. 37. 39.
te
510
MPEG-2 RM 5
SW ver. 1.2
Y
CB CR
27. 32. 32. 735 31. 34. 36. 187
– 2002年6月11日,中国电子报按照信息产业部通知正式刊登公 告,征集第一批会员
– 2002年6月21日,AVS特别工作组在北京翠宫饭店成立 –… – 2002年10月23日,上海,AVS第二次工作会议 – 2002年12月19-20日,北京,AVS第三次工作会议 – 2003年3月27-28日,武汉,AVS第四次工作会议
H.264熵编码具体算法ppt
2.CAVLC 的基本原理
CAVLC用于亮度和色度残差数据的编码。残差经 过变换量化后的数据表现出如下特性: 4*4块数据经过预测、变换、量化后,非零系数主 要集中在低频部分,而高频系数大部分是零; 量化后的数据经过zig-zag扫描,DC系数附近的非 零系数值较大,而高频位置上的非零系数值大部 分是+1和-1 ; 相邻的4*4块的非零系数的数目是相关的。
Trailing_ones_sign_flag
-
-1,-1,1
1
Level
+1 (suffixLength=0) 1,-1,-1,1
001 0
Level
+3 (suffixLength=1) 3,1,-1,-1,1
111
Total_zeros
3
3,1,-1,-1,1
10
Run_before
1
3,1,-1,-1,0,1
个字符输入流,是用区间递进的方法来为输入流寻找这个 码字的,它逐个字符地读入输入流,在每一个新的字符出 现后递归地划分当前区间。到处理完最后一个字符后,得 到了最终区间,在最终区间中任意挑选一个数作为输出。
25
1.1 算法流程 在算术编码的递进计算过程中,编码器必须保存以下
变量记录状态: ①当前区间的下限L ②当前区间的大小R ③当前字符binval ④各字符的概率估计值Px
数据重排列: 0,3,0,1,-1,-1,0,1,0,0,0,0,0,0,0,0
6
4.2 编码非零系数的数目(TotalCoeffs)以及拖尾系 数的数目(TrailingOnes) 非零系数数目的范围是从0到16,拖尾系数数 目的范围是从0到3。如果±1的个数大于3个,只 有最后3个被视为拖尾系数,其余的被视为普通的 非零系数。
H264--1--编码原理以及I帧B帧P帧
H264--1--编码原理以及I帧B帧P帧H264--1--编码原理以及I帧B帧P帧前言-----------------------H264是新一代的编码标准,以高压缩高质量和支持多种网络的流媒体传输著称,在编码方面,我理解的他的理论依据是:参照一段时间内图像的统计结果表明,在相邻几幅图像画面中,一般有差别的像素只有10%以内的点,亮度差值变化不超过2%,而色度差值的变化只有1%以内。
所以对于一段变化不大图像画面,我们可以先编码出一个完整的图像帧A,随后的B帧就不编码全部图像,只写入与A帧的差别,这样B帧的大小就只有完整帧的1/10或更小!B帧之后的C帧如果变化不大,我们可以继续以参考B的方式编码C帧,这样循环下去。
这段图像我们称为一个序列(序列就是有相同特点的一段数据),当某个图像与之前的图像变化很大,无法参考前面的帧来生成,那我们就结束上一个序列,开始下一段序列,也就是对这个图像生成一个完整帧A1,随后的图像就参考A1生成,只写入与A1的差别内容。
在H264协议里定义了三种帧,完整编码的帧叫I帧,参考之前的I帧生成的只包含差异部分编码的帧叫P帧,还有一种参考前后的帧编码的帧叫B帧。
H264采用的核心算法是帧内压缩和帧间压缩,帧内压缩是生成I 帧的算法,帧间压缩是生成B帧和P帧的算法。
----------------------序列的说明----------------------在H264中图像以序列为单位进行组织,一个序列是一段图像编码后的数据流,以I帧开始,到下一个I帧结束。
一个序列的第一个图像叫做IDR 图像(立即刷新图像),IDR 图像都是 I 帧图像。
H.264 引入 IDR 图像是为了解码的重同步,当解码器解码到 IDR 图像时,立即将参考帧队列清空,将已解码的数据全部输出或抛弃,重新查找参数集,开始一个新的序列。
这样,如果前一个序列出现重大错误,在这里可以获得重新同步的机会。
【H264】码流结构详解
【H264】码流结构详解⽆论是解析视频⽂件或者通过⽹络传输,其实都是⼀串字节序列。
H264 码流就是按照⼀定的规则组织排列的字节串。
⼀、码流的组织形式在 H264 中完全没有 I 帧、P 帧、B 帧、IDR 帧的概念,之所以沿⽤这些说法是为了表明数据的编码模式。
H264 码流的组织形式从⼤到⼩排序是:视频序列(video sequence)、图像(frame/field-picture)、⽚组(slice group)、⽚(slice)、宏块(macroblock)、⼦块(sub-block)、像素(pixel)。
⼆、码流功能的⾓度从码流功能的⾓度可以分为两层:视频编码层(VCL)和⽹络提取层(NAL)VCL:进⾏视频编解码,包括预测(帧内预测和帧间预测),DCT 变化和量化,熵编码和切分数据等功能,是为了实现更⾼的视频压缩⽐。
NAL:负责以⽹络所要求的恰当的⽅式对 VCL 数据进⾏打包和传送。
VCL 是管理 H264 的视频数据层,是为了实现更⾼的视频压缩⽐,那 VCL 究竟是怎么管理 H264 视频数据的呢?抛开 H264 压缩算法细节来看就 3 步:压缩:预测(帧内预测和帧间预测)-> DCT 变化和量化 -> ⽐特流编码;切分数据,主要为了第三步。
这⾥⼀点,⽹上看到的“切⽚(slice)”、“宏块(macroblock)”是在VCL 中的概念,⼀⽅⾯提⾼编码效率和降低误码率、另⼀⽅⾯提⾼⽹络传输的灵活性。
压缩切分后的 VCL 数据会包装成为 NAL 中的⼀部分。
下⾯要重点讲解下 NAL。
三、⽹络提取层(NAL)NAL,英⽂全称为 Network Abstraction Layer,这块和 H264 压缩算法⽆关,涉设计出 NAL 的⽬的就是为了获得 “network-friendly”,即为了实现良好的⽹络亲和性,即可适⽤于各种传输⽹络。
终于要讲 NAL 了,但是,我们需要先看 NAL的组成单元 - NALU。