当前位置:网站首页>H265/HEVC名词解释-- CTU,CTB,CU,CB,TU,PU,TB,PB,LCU,Slice,Tile,Chroma,Luma,I帧,B帧,P帧
H265/HEVC名词解释-- CTU,CTB,CU,CB,TU,PU,TB,PB,LCU,Slice,Tile,Chroma,Luma,I帧,B帧,P帧
2022-07-28 04:00:00 【皮皮宽】
H265/HEVC名词解释
学H265的时候,一堆名词 CTU,CTB,CU,CB,TU,PU,TB,PB,LCU,Slice,Tile,Chroma,Luma,I帧,B帧,P帧,绕的头疼,写篇博客汇总一下,尽量不涉及复杂概念
一、I帧,B帧,P帧
* I帧(帧内编码帧,Intra-Picture)就是一个完整的被压缩的图像,I帧可以通过解压缩得到一张完整的图像(数据量最大);
*P帧(前后预测编码帧,又称Predictive-Picture)当后面的图像与I帧差异较大时,就会记录为P帧,P帧记录与前一个P帧或者I帧的差值(大概);
*B帧( 双向预测内插编码帧,Bi-directional interpolated prediction frame),根据下一帧和上一帧的情况,记录一个运动矢量(数据量最小);
Ф 时间顺序上组成视频的图片一般是被编码成 I BB…B P B…BP . … I BBBB P IBB,也就是说,从时间顺序上, I帧和P帧中间的图像,两个P帧之间的图像都会被压缩成B帧;
解码时,需要先解码I帧(完整图像),再根据I帧解码P帧(存储着与前一个I/P帧的差值),再根据I帧和P帧的情况解码B帧(运动信息),从而恢复出这段视频;
因此,I帧是必不可缺的,P帧的恢复需要I帧,B帧的恢复则同时需要I帧的P帧,所以在实际的视频码流中的传输顺序为I PBB…B P B…BP . … I PBB IPBB,即先传输这一段的I,P,再传输他们中间的B;同理,如果当前接收端最开始得到的是B或者P,没有得到前面的I帧,那就无法接码,只能等下一组的I帧;这也是为什么我们看视频时,很多视频不能把进度条精准的拖动到某一个时间点,甚至有些短视频没法拖进度条,就是因为他们这个进度点的图像不是I帧,因此无法开始解码;
二、Slice和Tilie
* 在对每一帧图像的编解码的过程中,为了提高效率,H265将一帧图像划分为多个slice或者Tile,一帧图像的各个Slice或Tile独立编解码,相互直接的依赖性不高,从而达到快速编解码一阵图像的效果;而slice和Tile的区别在于划分方式不同;
如图所示,蓝色和绿色分别代表不同的Slice:
如图所示,将一帧图像划分为不同的Tile:
也就是说,slice的方式划分出来是带状的,Tile则是矩形
三、Chroma,Luma
* Luma(亮度): YUV格式图片中的Y分量;
* Chroma(色度):YUV格式图片中的U,V分量;
四、CTU,CU,CTB,CB,TU,PU,TB,PB
* CTU(coding tree unit):H265将一帧图像划分成多个矩形块,大小有16x16、 32x32和 64x64,这些块和对应的编码信息就是CTU;
* CU(coding unit):H265将部分CTU进行更细致的划分,划分成更小的矩阵块,这些块和对应的编码信息就是CU;
* CTB(coding tree block):由于一个图像通常是由Y,U,V三个分量组成的,因此一个CTU就包含了三个CTB(CTB-Y,CTB-U,CTB-V);
* CB(coding block):和CTB同理,CU也是由Y,U,V三个分量组成,因此一个CU就包含了三个CB(CB-Y,CB-U,CB-V);
* PU(prediction unit):存储CU间的预测模式信息(编解码信息的一种);
* PB(coding block):由于一个图像通常是由Y,U,V三个分量组成的,因此一个PU就包含了三个PB(PB-Y,PB-U,PB-V);
* TU(transform unit):存储CU的变换量化的信息(编解码信息的一种);
* TB(transform block):由于一个图像通常是由Y,U,V三个分量组成的,因此一个TU就包含了三个TB(TB-Y,TB-U,TB-V);
五、LCU和CTU
百度和CSDN都没找到关于LCU(logic coding unit)和CTU的区别,从概念和定义上,我没看出什么区别,个人觉得是同一种东西就想H265和HEVC常被写为H265/HEVC一样,LCU和CTU也常被写为 LCU/CTU。
参考资料
【1】H.265/HEVC编码原理及其处理流程的分析
【2】CSDN:视频图像的I帧、P帧、B帧详解
【3】CSDN:H265/HEVC编解码系列(1):图像分割(Slice、Tile、CTU)
【4】HEVC帧内预测学习(一)CTU、CU、PU、TU单元划分的理解
边栏推荐
猜你喜欢

Summary and interpretation of CONDA virtual environment

常用的接口测试工具

Tungsten Fabric SDN — BGP as a Service

R notes mice

Protocols in swift

Detailed explanation of string + memory function (C language)

Dynamic planning - 63. Different paths II

In depth introduction to sap ui5 fileuploader control - why do you need a hidden iframe trial

I did these three things before the interview, and the result was actually direct

In the official online CV2 document, check the optional values of OpenCV specific parameters
随机推荐
Developing rc522 module based on c8t6 chip to realize breathing lamp
Do you regret doing automated testing?
一名合格的软件测试工程师,应该具备哪些技术能力?
Selenium--WEB自动化测试工具
Common interface testing tools
2022.7.13-----leetcode.735
[wrong question]
Data rich Computing: m.2 meets AI at the edge
Greedy - 53. Maximum subarray sum
Data mining-02
MySQL Basics (create, manage, add, delete, and modify tables)
[untitled]
[untitled]
Dynamic programming - 474. One and zero
[openvx] VX for basic use of objects_ convolution
What is interface testing and its testing process
[wrong question]mocha and railgun
Dynamic planning - 62. Different paths
ftp服务器、nfs服务器的搭建和使用
Input upload file and echo FileReader and restrict the type of file selection