VVC spec中文翻译

本文仅为作者阅读VVC spec的翻译笔记,若理解有误,欢迎留言。

参考文章:VVC spec / H266 spec

目录

第3章、定义

第4章、缩写

第7章、语法 和 语义

7.4.4、Profile, tier, and level的语义:

7.4.4.1、通用Profile, tier, and level的语义

7.4.4.2、通用约束信息(GCI)的语义

总结


第3章、定义

  1. AC transform coefficient:交流变换系数,任何【在两个维度中的至少有一个维度的频率索引不为0】的变换系数;
  2. access unit (AU)属于不同layers的一组PUs ,这组PUs包含一些相互关联的编码帧(关联:这些编码帧同时从DPB输出);
  3. adaptation parameter set (APS):一种参数集,包含的语法元素应用于零个或多个slices,slice是否使用APS由SH中找到的零个或多个语法元素决定;
  4. adaptive colour transform (ACT):自适应颜色变换,一种跨分量变换,应用于:在重构和loop_filter之前,对4:4:4颜色格式的CU的解码残差进行跨分量变换;
  5. adaptive loop filter (ALF):自适应环路滤波,一种滤波操作,它由APS中的语法元素控制;
  6. ALF APS:一种APS,它控制 ALF 操作;
  7. associated GDR picture:对于一个【nuh_layer_id等于特殊值layerId】的特殊帧,其【解码顺序的前一个拥有nuh_layer_id=layerId的GDR帧(如果存在)】和【该帧】之前(解码顺序),没有nuh_layer_id=layerId的IRAP帧;
  8. associated GDR subpicture:对于一个【nuh_layer_id等于特殊值layerId且subpicture_index等于特殊值subpicIdx】的特殊subpicture,其【解码顺序的前一个拥有nuh_layer_id=layerId且subpicture_index=subpicIdx的GDR subpicture(如果存在)】和【该subpicIdx】之前(解码顺序),没有nuh_layer_id=layerId且subpicture_index=subpicIdx的IRAP subpicture;
  9. associated IRAP picture:对于一个【nuh_layer_id等于特殊值layerId】的特殊帧,其【解码顺序的前一个拥有nuh_layer_id=layerId的IRAP帧(如果存在)】和【该帧】之前(解码顺序),没有nuh_layer_id=layerId的GDR帧;
  10. associated IRAP subpicture:对于一个【nuh_layer_id等于特殊值layerId且subpicture_index等于特殊值subpicIdx】的特殊subpicture,其【解码顺序的前一个拥有nuh_layer_id=layerId且subpicture_index=subpicIdx的IRAP subpicture(如果存在)】和【该subpicIdx】之前(解码顺序),没有nuh_layer_id=layerId且subpicture_index=subpicIdx的GDR subpicture;
  11. associated non-VCL NAL unit:某一个用于VCL_NALU的non_VCL_NALU(如果存在),其中VCL_NALU是与non_VCL_NALU相关联的VCL_NALU;
  12. associated VCL NAL unit:对于一个nal_unit_type=EOS_NUT, EOB_NUT, SUFFIX_APS_NUT, SUFFIX_SEI_NUT, FD_NUT, RSV_NVCL_27, UNSPEC_30, or UNSPEC_31的non_VCL_NALU来说,解码顺序在该non_VCL_NALU之前的一个VCL_NALU;或对于其他non_VCL_NALU来说,解码顺序在该non_VCL_NALU之后的一个VCL_NALU;
  13. bin:One bit of a bin string;
  14. bin string:语法元素值的中间二进制表示,来自语法元素的二值化;
  15. binarization:二值化,某一个语法元素所有可能值的bin strings集合;
  16. binarization process:二值化过程,某一个语法元素所有可能值到一组bin strings的唯一映射过程;
  17. binary split:矩阵拆分,具体拆分方式看spec;
  18. bi-predictive (B) slice:B slice,解码时(1)使用intra预测,(2)使用最多两个运动矢量和参考索引的inter预测,以预测每个块的样本值;
  19. bitstream:Bits序列(NALU stream形式或者字节流形式)(也称为码流),它表现为一连串的AUs,这些AUs又可以构成一个或多个coded video sequences (CVSs);
  20. block:An MxN (M-column by N-row) array of samples, or an MxN array of transform coefficients.
  21. block vector:一种二维向量,提供从当前编码块的坐标到同一解码slice中参考块的坐标的偏移量;
  22. byte:字节。
  23. byte stream:将NALU流封装成一系列字节,其中包含开始码前缀和NAL单元;
  24. byte-aligned:从码流第一个Bit开始到当前位置,这之间的bit数是8的整数倍是,则称当前位置是字节对齐的;所以当bit、字节或语法元素在码流中出现的位置是字节对齐的,则它们被称为字节对齐;
  25. chroma:Cb & Cr;
  26. clean random access (CRA) picture:纯随机接入帧,一种特殊的IRAP帧,其所有VCL_NALU的nal_unit_type = CRA_NUT;
    • NOTE:
      • CRA帧在解码过程中不使用inter预测,并且它可以是码流中解码顺序第一帧,也可以是后续帧(非第一帧);
      • CRA帧可以有RADL和RASL帧;
      • 当某一CRA帧的 NoOutputBeforeRecoveryFlag=1时,则CRA的RASL帧将不可被解码,也不会被输出,因为它们可能参考不存在于码流中的帧;
  27. clean random access (CRA) PU:一种PU,其编码帧是CRA帧;
  28. clean random access (CRA) subpicture:一种特殊的 IRAP subpicture,其所有VCL_NALU的nal_unit_type = CRA_NUT;
  29. coded layer video sequence (CLVS):解码顺序上一连串具有相同nuh_layer_id的PUs,且CLVS的组成为:一个CLVSS PU,后面跟着0个或多个NON-CLVSS PU,直到遇到下一个CLVSS PU(不包括下一个CLVSS PU)。
    • NOTE:
      • CLVSS PU可以是 IDR PU, a CRA PU, or a GDR PU;
      • 每个 IDR PU: NoOutputBeforeRecoveryFlag=1;
      • 每个 CRA PU:HandleCraAsClvsStartFlag=1;
      • 每个 CRA 或 GDR PU:它们是比特流某一层中按解码顺序的第一个 PU,或者是紧跟某一层的EOS NALU的比特流某一层按解码顺序的第一个 PU;
      • 按解码顺序在比特流层中的第一个PU或按解码顺序在比特流层中跟随EOS NAL单元的第一个PU的每个CRA或GDR PU。
  30. coded layer video sequence start (CLVSS) PU:一种PU,其编码帧是CLVSS帧;
  31. coded layer video sequence start (CLVSS) picture:IRAP帧 或 GDR帧,并且其NoOutputBeforeRecoveryFlag=1;
  32. coded picture:图片的编码表示,包括在 AU 内具有特定值 nuh_layer_id 的 VCL NAL 单元,并包含图片的所有 CTU;
  33. coded picture buffer (CPB):已编码帧Buffer,一个先进先出缓冲区,包含按照附件 C 中假设的参考解码器中指定的解码顺序的 DUs;
  34. coded representation:以编码形式表示的数据;
  35. coded video sequence (CVS):解码顺序上一连串的AUs;CVS的组成为:一个CVSS AU,后面跟着0个或多个NON-CVSS AU,直到遇到下一个CVSS AU(不包括下一个CVSS AU);
  36. coded video sequence start (CVSS) AU:IRAP AU or GDR AU,并且每个PU上的编码帧都是CLVSS 帧.
  37. coding block:MxN的编码块CB,由CTB划分得出;
  38. coding tree block (CTB):NxN的编码树块,必须为正方形,由某个分量划分得出;
  39. coding tree unit (CTU):luma CTB + chroma CTB组合得到;
  40. coding unit (CU):下面三种表现形式;
    1. single tree mode:一帧有三个分量,CU 由 luma CB + chroma CB组合得到;
    2. dual tree mode:一帧有三个分量,【CU 就是 luma CB】 或 【CU 就是 chroma CB】;
    3. monochroma 帧:一帧只有一个分量,CU 就是 luma CB;
  41. component:颜色空间的分量;
  42. context variable:通过包含最近解码的 bin 的方程,为 bin 的自适应二进制算术解码过程指定的变量;
  43. deblocking filter:去方块滤波器,它可以:最大限度地减少blocks之间边界处视觉伪影的出现;
  44. decoded picture:已解码的帧;
  45. decoded picture buffer (DPB):DPB buffer,用来保存已解码的帧,使这些已解码的帧可供参考、输出重排序 或 为假设的参考解码器指定输出延迟;
  46. decoded:解码器;
  47. decoding order:解码顺序;
  48. decoding process:解码过程;
  49. decoding unit (DU):如果 DecodingUnitHrdFlag = 0,则DU为 AU;否则DU为 AU 的一个子集,由 AU 中的一个或多个 VCL NAL 单元和相关的non VCL NAL 单元组成。
  50. emulation prevention byte:一个字节,其值为0x03;防止bit序列和起始码冲突;
  51. encoder:编码器;
  52. encoding process:编码过程;
  53. filler data NAL units:nal_unit_type=FD_NUT的NALU;
  54. flag:一个变量 或 一个信号比特的语法元素,其值只可能为 0 or 1;
  55. frequency index:在解码过程中应用变换之前与变换系数相关联的一维或二维索引。
  56. gradual decoding refresh (GDR) AU:一种AU,其PU存在于CVS中存在的每一层并且每个存在的PU的编码帧都是GDR帧;
  57. gradual decoding refresh (GDR) PU:一种PU,其编码帧是GDR帧;
  58. gradual decoding refresh (GDR) picture:一种特殊的帧,其所有VCL NALU的nal_unit_type=GDR_NUT;
    1. NOTE:
      1. GDR 帧的 pps_mixed_nalu_types_in_pic_flag = 0;
      2. 当某一帧的 pps_mixed_nalu_types_in_pic_flag = 0,并且该帧的任何slice的 nal_unit_type  = GDR_NUT 时,该帧的所有其他slice具有相同的 nal_unit_type 值,并且该帧在接收到第一个slice后被认为是 GDR 帧;
  59. gradual decoding refresh (GDR) subpicture:一种特殊的subpicture(和slice类似的概念),其所有VCL NALU的nal_unit_type=GDR_NUT;
  60. hypothetical reference decoder (HRD):假想参考解码器模型,它规定了【编码过程可能产生的符合NAL单元流或符合字节流的可变性】的约束;
  61. hypothetical stream scheduler (HSS):假想传输机制,它用于检查【码流或解码器输入到假想参考解码器的时序和数据流】的一致性。
  62. i nstan taneous decoding refresh (IDR) picture:一种IRAP帧,其所有VCL NALU的nal_unit_type=IDR_W_RADL or IDR_N_LP;
    1. NOTE:
      1. IDR帧不会使用帧间预测,并且它可能是码流中解码顺序的第一帧(当然,也可能出现在码流中间);
      2. 每一个IDR帧是一个CVS中解码顺序的第一帧;
      3. 当一个IDR帧中所有VCL NALU的nal_unit_type=IDR_W_RADL时,它可能有与之相关联的RADL帧;
      4. 当一个IDR帧中所有VCL NALU的nal_unit_type=IDR_N_LP时,它将不会有任何前置图像;
      5. 一个IDR帧,不能有与之相关联的RASL帧;
  63. instantaneous decoding refresh (IDR) PU:一种PU,其编码帧是IDR帧;
  64. instantaneous decoding refresh (IDR) subpicture:一种 IRAP subpicture,其所有VCL NALU的nal_unit_type=IDR_W_RADL or IDR_N_LP;
  65. inter coding:帧间编码,对coding block, slice, or picture使用帧间预测;
  66. inter  prediction:帧间预测,通过运动矢量从一个或多个参考帧中获取采样值的操作;
  67. inter-layer reference picture (ILRP):一种特殊的帧(picA),它(picA)与当前帧处于同一个AU中,且picA的nuh_layer_id <= 当前帧的nuh_layer_id,且picA被标记为“用于长期参考”;
  68. intra block copy (IBC) prediction:帧内块拷贝,某个block的采样值由同一个slice中的其他block得出;
  69. intra coding:帧内编码,对coding block, slice, or picture使用帧内预测;
  70. intra  prediction:帧内预测,通过从同一个已解码的slice中的旁边采样值获取采样值的操作;;
  71. intra random access point (IRAP) AU:一种AU,其PU存在于CVS中存在的每一层并且每个存在的PU的编码帧都是 IRAP 帧;
  72. intra random access point (IRAP) picture:IRAP 帧,其所有VCL NALU的nal_unit_type=[IDR_W_RADL, CRA_NUT];
    1. NOTE1:
      1. 一个IRAP帧可能是CRA帧,也可能是IDR帧;IRAP帧不使用帧间预测;
      2. 码流中解码顺序的第一帧 必然是 IRAP帧或GDR帧;
      3. 对于一个single-layer的码流,如果必要的参数集在需要引用时可用,则 IRAP 帧和 CLVS 中的所有后续non-RASL 帧(按解码顺序)都可以正确解码,而无需执行解码顺序在IRAP帧之前的任何帧的解码过程;
    2. NOTE2:
      1. 一个IRAP帧的pps_mixed_nalu_types_in_pic_flag=0;
      2. 当某一帧的pps_mixed_nalu_types_in_pic_flag=0,并且该帧的某一个slice的nal_unit_type=[IDR_W_RADL, CRA_NUT],则该帧的所有其他slices具有相同的nal_unit_type,并且该帧在接收到第一个slice后被认为是 IRAP 帧;
  73. i ntra random access point (IRAP) PU:一种PU,其编码帧是 IRAP 帧;
  74. intra random access point (IRAP)  subpicture:一种subpicture,其所有VCL NALU的nal_unit_type=[IDR_W_RADL, CRA_NUT];
  75. intra (I) slice:一种slice,其预测方式为intra;
  76. layer:一些VCL_NALU(它们nuh_layer_id都相同)和 non_VCL_NALU 的集合;
  77. leading picture:IRAP 帧的前置图像(输出顺序在 IRAP 帧之前);
  78. leading subpicture:IRAP subpicture的前置subpicture(输出顺序在IRAP subpicture之前);
  79. leaf:树的终止节点,它是深度为 0 的树的根节点;
  80. level:解码器支持的level;
  81. list 0 (list 1) motion vector:与【指向参考帧列表(list0 or list1)的参考帧索引】相关的运动矢量;
  82. list 0 (list 1) prediction:使用【指向参考帧列表(list0 or list1)的参考帧索引】对slice的内容进行的 帧间预测操作;
  83. LMCS APS:一种APS,控制LMCS过程;
  84. long-term reference picture (LTRP):长期参考帧,其nuh_layer_id=当前帧的nuh_layer_id;
  85. luma:luma分量;
  86. luma mapping with chroma scaling (LMCS):解码过程的一种操作,它将luma样本映射到特定值,并且在某些情况下还对chroma样本值应用缩放操作;
  87. motion vector:MV,运动矢量;
  88. multi-type tree:多类型树,二叉树或三叉树的根节点;
  89. network abstraction layer (NAL) unit:NALU,网络抽象层单元;
  90. network abstraction layer (NAL) unit stream:一串NALU;
  91. operation point (OP):OLS 的时域子集,由 OLS 索引和 TemporalId 的最高值 识别;
  92. output layer:输出层集中的输出层(需要解码输出的层);
  93. output layer set (OLS):一些 layers 的集合,该集合中至少有一个 layers 是 输出层;
  94. output layer set (OLS) layer index:OLS 中 layers list 的 层索引;
  95. output order:pictures or subpictures 在 CLVS 中的输出顺序,由POC确定;
  96. output time:由HRD根据输出定时DPB操作 指定 已解码帧要从DPB输出的时间(对于要从DPB输出的已解码帧)。
  97. palette:调色板,一组具有代表性的分量值(intra预测有种专门的预测方式叫调色板预测);
  98. palette prediction:调色板预测,从一个或多个调色板派生的预测(预测块的像素值不通过旁边的像素得到,直接通过码流传过来的一些模版像素值生成,这种模式对于计算机生成的屏幕图像编码效率很高);
  99. partitioning:划分,比如帧的划分,slice的划分等等;
  100. picture:图片,图片有两种表示:帧 或 场;一个CVS中,所有图片要么同时为帧,要么同时为场;
  101. picture header (PH):一种语法元素结构体,其语法元素被一帧图像中所有slice共用。
  102. picture-level slice index:当 pps_rect_slice_flag=1 时,定义的某一帧中slice到slices list的索引,这些索引的顺序为:
    1. 当 pps_single_slice_per_subpic_flag=0 时,按照slices在 PPS 中出现的顺序;
    2. 当 pps_single_slice_per_subpic_flag=1 时,按照slices对应的 subpicture 的 index 的递增顺序;
  103. picture order count (POC):POC,一个CLVS中的所有帧的POC应是独一无二的;
  104. picture parameter set (PPS):PPS参数集,是否应用于某一帧取决于PH中的某个语法元素;
  105. picture unit (PU):根据指定的分类规则相互关联的一组NALU,它们在解码顺序上是连续的,并且恰好包含一帧数据。
  106. prediction:预测;
  107. prediction process:预测过程;
  108. predictive (P) slice:P slice,一个slice的解码 使用【帧内预测】或【最多一个运动矢量和参考帧索引的帧间预测】来对每个block的采样值进行预测;
  109. predictor:预测器,在后续数据元素的解码过程中使用的指定值或先前已解码数据元素的集合(例如样本值或运动向量);
  110. profile:解码器支持的profile;
  111. quadtree:四叉树;
  112. quantization parameter:量化参数,用于变换系数级别的缩放;
  113. random access:随机接入,解码可以从随机接入点开始而不需要前面的数据;
  114. random access decodable leading (RADL) picture:随机接入可解码前置图像,其所有VCL_NALU的nal_unit_type=RADL_NUT;
    1. NOTE:
      1. 所有RADL帧都是前置图像;
      2. 一个nuh_layer_id=layerId 的 RADL 帧不会用作【输出顺序在 RADL 帧相关联的 IRAP 帧之后的 且 nuh_layer_id=layerId 的任何帧】的参考帧;
      3. 当sps_field_seq_flag=0时,所有 RADL 帧(如果存在)的解码顺序在 非前置图像 之前(这些帧都与 IRAP 帧相关联);
  115. random access decodable leading (RADL) PU:一种PU,其编码帧为RADL帧;
  116. random access decodable leading (RADL) subpicture:一种subpicture,其所有VCL NALU的nal_unit_type=RADL_NUT;
  117. random access skipped leading (RASL) picture:随机接入可跳过前置图像,其至少有一个VCL_NALU的nal_unit_type=RASL_NUT,且其他VCL_NALU的nal_unit_type=RASL_NUT or RADL_NUT;
    1. NOTE:
      1. 所有RASL帧都是某个CRA帧的前置图像;
      2. 当CRA帧的NoOutputBeforeRecoveryFlag=1时,RASL帧可能不能正常解码并不会输出,因为RASL帧可能参考不存在于码流中的帧;
      3. RASL 帧不用作同一层中non-RASL 帧的解码过程的参考帧,除非RADL帧中的RADL subpicture(如果存在)可用于同一层RADL帧中的并置RADL subpicture的帧间预测(这两个RADL帧都有同一个相关联的CRA帧);
      4. 当sps_field_seq_flag=0时,所有RASL帧(如果存在)的解码顺序将优先于CRA的所有non-前置图像;
  118. random access skipped leading (RASL) PU:一种PU,其编码帧为RASL帧;
  119. r andom access skipped leading (RASL) subpicture:一种subpicture,其所有VCL NALU的nal_unit_type=RASL_NUT;
  120. raster scan:一种扫描顺序,顺序为:从左到右,从上到下;
  121. raw byte sequence payload (RBSP):原始字节序列负载,封装在NALU中 或 为空;
  122. raw byte sequence payload (RBSP) stop bit:一比特,值为1;
  123. reference index:参考帧列表的索引;
  124. reference picture:参考帧,可以标记为:short-term, long-term, or inter-layer reference picture;
  125. reference picture list (RPL):参考帧列表,用于P/B slice;
    1. NOTE:
      1. 一帧中的每个slice都会产生RPL0 & RPL1两个参考帧列表;
      2. P slice:仅使用RPL0;
      3. B slice:使用RPL0 & RPL1;
      4. I slice:都不使用;
  126. reference picture list 0:RPL0;
  127. reference picture list 1:RPL1;
  128. residual:残差,数据的预测值与其解码值之间的差值;
  129. scaling:将变换系数级别乘以一个因子的过程,得到变换系数。
  130. scaling list:将每个频率索引与缩放过程的缩放因子相关联的列表。
  131. scaling list APS:一种APS,用于控制scaling list;
  132. sequence parameter set (SPS):SPS参数集,用于0个或多个完整的CLVSs;
  133. short-term reference picture (STRP):短期参考帧,其nuh_layer_id=当前帧nuh_layer_id,且被标记为”短期参考“;
  134. slice:由一帧划分得出,以CTU为单位;
  135. slice header:SH,提供该slice中包含的【所有tiles 或 tile中的CTU rows】相关的数据元素信息;
  136. source:用于描述编码前的视频素材或其某些属性的术语。
  137. start code prefix:起始码前缀,占三字节,其值为0x000001;
    1. NOTE:可以用来识别新NALU的开始和旧NALU的结束;
  138. step-wise temporal sublayer access (STSA) picture:一种特殊的帧,其所有VCL_NALU的nal_unit_type=STSA_NUT;
  139. step-wise temporal sublayer access (STSA)  PU:一种特殊的PU,其编码帧为STSA帧;
  140. step-wise temporal sublayer access (STSA)  subpicture:一种subpicture,其所有VCL NALU的nal_unit_type=STSA_NUT;
  141. string of data bits (SODB):RBSP就是由SODB根据规则构造的,因此SODB属于RBSP的数据部分;
  142. sub-bitstream extraction process:子码流提取操作,通过该操作将不属于目标集合的比特流中的NAL 单元(由目标 OLS 索引和目标最高 TemporalId 确定)从比特流中删除,并输出比特流中属于目标集和的 NAL 单元组成的子比特流;
  143. sublayer:时间可缩放比特流的时间可缩放层,由具有特定 TemporalId 变量值的 VCL NAL 单元和相关的非 VCL NAL 单元组成。
  144. sublayer representation:比特流的子集,由特定子层和较低子层的 NALU 组成。
  145. subpicture:一帧中的一个矩形区域,该区域包含一个或多个slice;
  146. subpicture-level slice index:当pps_rect_slice_flag=1时,slice到subpicture中slices list的索引(按照它们在PPS中出现的顺序排列);
  147. supplemental enhancement information (SEI) message:SEI信息;
  148. syntax element:语法元素;
  149. syntax structure:语法结构;
  150. ternary split:三叉分裂,有 水平划分 & 垂直划分 两种模式;
  151. tier:解码器支持的tier;
  152. tile:一帧中的一个矩形区域,包含 【tile column】 x 【tile row】 个CTUs;
  153. tile column:tile 列,以CTU为单位;
  154. tile row:tile 行,以CTU为单位;
  155. tile scan:一种扫描顺序,tile以raster-scan顺序扫描,每个tile中的CTUs也以raster-scan顺序扫描;
  156. trai ling picture:一种特殊的帧,其所有VCL NALU的nal_unit_type=TRAIL_NUT;
    1. NOTE:与 IRAP 或 GDR 帧相关联的trailing picture,其解码顺序也跟随在 IRAP 或 GDR 帧之后;不允许【输出顺序位于关联 IRAP 帧之后且解码顺序位于关联 IRAP 帧之前】的帧出现;
  157. trailing  subpicture:一种特殊的subpicture,其所有VCL NALU的nal_unit_type=TRAIL_NUT;
    1. NOTE:与 IRAP 或 GDR subpicture相关联的trailing subpicture,其解码顺序也跟随在 IRAP 或 GDR subpicture之后;不允许【输出顺序位于关联 IRAP subpicture之后且解码顺序位于关联 IRAP subpicture之前】的subpicture出现;
  158. transform:变换,它将变换系数block转换为空间域值block;
  159. transform block:变换块TB,一个MxN的采样值矩阵block;
  160. transform coefficient:变换系数;
  161. transform coefficient level:变换系数阶数;
  162. transform unit (TU):变换单元,luma TB + chroma TB;
  163. tree:树,具有唯一根节点的有限节点集合;
  164. video coding layer (VCL) NAL unit:VCL NALU,在本规范中包括【coded slice NALU】和【nal_unit_type=保留值的 NALU 子集】;

第4章、缩写

  1. ACT:Adaptive Colour Transform,自适应颜色变换

  2. ALF:Adaptive Loop Filter,自适应环路滤波

  3. AMVR:Adaptive Motion Vector Resolution,自适应运动矢量分辨率

  4. APS:Adaptation Parameter Set,APS参数集

  5. AU:Access Unit,接入单元

  6. AUD:Access Unit Delimiter,接入单元界定符,用来判断AU边界

  7. AVC:Advanced Video Coding (Rec. ITU-T H.264 | ISO/IEC 14496-10),H264

  8. B:Bi-predictive,双向预测

  9. BCW:Bi-prediction with CU-level Weights,具有 CU 级权重的双向预测

  10. BDOF:Bi-Directional Optical Flow,双向Optical Flow

  11. BDPCM:Block-based Delta Pulse Code Modulation,基于块的 Delta 脉冲编码调制

  12. BP:Buffering Period,缓存期

  13. CABAC:Context-based Adaptive Binary Arithmetic Coding,基于上下文的自适应二进制算术编码

  14. CB:Coding Block,编码块

  15. CBR:Constant Bit Rate,固定比特率

  16. CCALF:Cross-Component Adaptive Loop Filter,跨分量的自适应环路滤波器

  17. CPB:Coded Picture Buffer,已编码帧Buffer

  18. CRA:Clean Random Access,纯随机接入

  19. CRC:Cyclic Redundancy Check,循环冗余校验,一种纠错码

  20. CTB:Coding Tree Block,编码树块

  21. CTU:Coding Tree Unit,编码树单元

  22. CU:Coding Unit,编码单元

  23. CVS:Coded Video Sequence,编码视频序列,CVS与GOP在概念上等价

  24. DPB:Decoded Picture Buffer,已解码帧Buffer

  25. DCI:Decoding Capability Information,解码能力信息

  26. DRAP:Dependent Random Access Point,相关的随机接入点

  27. DU:Decoding Unit,解码单元

  28. DUI:Decoding Unit Information,解码单元信息

  29. EG:Exponential-Golomb,指数哥伦布

  30. EGk:k-th order Exponential-Golomb,k-阶指数哥伦布

  31. EOB:End Of Bitstream,比特流的结尾

  32. EOS:End Of Sequence,编码视频序列的结尾

  33. FD:Filler Data,滤波器数据

  34. FIFO:First-In, First-Out,先进先出的队列

  35. FL:Fixed-Length,固定长度

  36. GBR:Green, Blue, and Red,颜色空间的三原色

  37. GCI:General Constraints Information,通用约束信息

  38. GDR:Gradual Decoding Refresh,逐步解码刷新功能

  39. GPM:Geometric Partitioning Mode,集合分区模式

  40. HEVC:High Efficiency Video Coding (Rec. ITU-T H.265 | ISO/IEC 23008-2),上一代视频编码标准

  41. HRD:Hypothetical Reference Decoder,假想参考解码器模型

  42. HSS:Hypothetical Stream Scheduler,假想传输机制

  43. I:Intra,帧内

  44. IBC:Intra Block Copy,帧内编码块拷贝

  45. IDR:Instantaneous Decoding Refresh,瞬时解码刷新

  46. ILRP:Inter-Layer Reference Picture,层间参考帧

  47. IRAP:Intra Random Access Point,帧内随机接入点

  48. LFNST:Low Frequency Non-Separable Transform,一种变换算法

  49. LPS:Least Probable Symbol,出现概率最低的Symbol,与MPS相对于

  50. LSB:Least Significant Bit,最低有效位,与MSB相对应

  51. LTRP:Long-Term Reference Picture,长期参考帧

  52. LMCS:Luma Mapping with Chroma Scaling,

  53. MIP:Matrix-based Intra Prediction,基于矩阵的帧内预测

  54. MPS:Most Probable Symbol,出现概率最高的Symbol,与LPS相对于

  55. MSB:Most Significant Bit,最高有效位,与LSB相对应

  56. MTS:Multiple Transform Selection,

  57. MVP:Motion Vector Prediction,运动矢量预测

  58. NAL:Network Abstraction Layer,网络抽象层,将码流数据封装后便于在网络中传输

  59. OLS:Output Layer Set,输出层集合

  60. OP:Operation Point,操作点

  61. OPI:Operating Point Information,操作点信息

  62. P:Predictive,预测

  63. PH:Picture Header

  64. POC:Picture Order Count

  65. PPS:Picture Parameter Set

  66. PROF:Prediction Refinement with Optical Flow,使用Optical Flow进行预测细化

  67. PT:Picture Timing,帧的时序

  68. PU:Picture Unit,帧单元

  69. QP:Quantization Parameter,量化参数

  70. RADL:Random Access Decodable Leading (picture),随机接入可解码前置图像

  71. RASL:Random Access Skipped Leading (picture),随机接入可跳过前置图像

  72. RBSP:Raw Byte Sequence Payload,原始字节序列负载

  73. RGB:Red, Green, and Blue,颜色空间的三原色

  74. RPL:Reference Picture List,参考帧列表

  75. SAO:Sample Adaptive Offset,样本自适应偏移

  76. SAR:Sample Aspect Ratio,

  77. SEI:Supplemental Enhancement Information,辅助增强信息

  78. SH:Slice Header

  79. SLI:Subpicture Level Information

  80. SODB:String Of Data Bits

  81. SPS:Sequence Parameter Set

  82. STRP:Short-Term Reference Picture,短期参考帧

  83. STSA:Step-wise Temporal Sublayer Access

  84. TR:Truncated Rice,截断莱斯码,一种常用的二进制化方法

  85. VBR:Variable Bit Rate,可变的比特率

  86. VCL:Video Coding Layer,视频编码层

  87. VPS:Video Parameter Set

  88. VSEI:Versatile Supplemental Enhancement Information (Rec. ITU-T H.274 | ISO/IEC 23002-7),多功能辅助增强信息

  89. VUI:Video Usability Information,视频可用性信息

  90. VVC:Versatile Video Coding (Rec. ITU-T H.266 | ISO/IEC 23090-3),多功能视频编码


第7章、语法 和 语义

7.4.4、Profile, tier, and level的语义:

  • 7.4.4.1、通用Profile, tier, and level的语义

    • profile_tier_level( ) 语法结构提供 level 信息,以及可选的 profile、tier、sub_profile 和 OlsInScope 遵循的一般约束信息;
    • 当profile_tier_level( ) 语法结构存在于VPS中时,OlsInScope 是由VPS指定的一个或多个OLSs;当profile_tier_level( ) 语法结构存在于SPS中时,OlsInScope 是一个OLS,该OLS仅包含引用SPS的所有layer中最低层的layer,且该最低层的layer是一个独立layer;
    • general_profile_idc
      • 表示 OlsInScope 所遵循的profile(附件A中指定);除了附件A中的指定的那些general_profile_idc值,其他的值都是不允许出现在码流中的。
    • general_tier_flag
      • 表示 某个general_level_idc值对应的tier context(附件A中指定);
    • general_level_idc
      • 表示 OlsInScope 所遵循的level(附件A中指定);除了附件A中的指定的那些general_level_idc值,其他的值都是不允许出现在码流中的。
      • NOTE1:general_level_idc 的值越大表示 level 越高;OlsInScope 的 DCI NALU 中存在的最大 level 可能高于但不能低于 OlsInScope 中包含的 CLVS 的 SPS 中存在的general_level_idc;
      • NOTE2:当 OlsInScope 由编码器确定(以本规范中未指定的方式)遵循多个 profiles 时,general_profile_idc 应指示提供首选解码结果或首选比特流标识的profile;
      • NOTE3:当 OlsInScope 的 CVS 遵循不同的 profiles 时,可以在 DCI NAL 单元中包含多个 profile_tier_level( ) 语法结构,这样对于 OlsInScope 的每个 CVS 至少有一组指示的profile、tier和level用于解码器,以此能够解码 CVS;
    • ptl_frame_only_constraint_flag
      • 1:表示 OlsInScope 中所有帧的 sps_field_seq_flag = 0;
      • NOTE4:若解码器与该语法元素无关联,可以忽略它的值;
    • ptl_multilayer_enabled_flag
      • 1:表示 OlsInScope 的 CVSs 可能包含多个layers;
      • 0:表示 OlsInScope 的 CVSs 仅包含一个layer,且 OlsInScope 中所有slices的 nuh_layer_id 都是一样的值;
    • ptl_sublayer_level_present_flag[ i ]
      • 1:对于 TemporalId=i 的sublayer,level 信息存在于profile_tier_level( )语法结构中;
      • 0:不存在;
    • ptl_reserved_zero_bit
      • 等于0;
      • 本规范解码器忽略该语法元素;
    • 语法元素 sublayer_level_idc[ i ] 的值与语法元素 general_level_idc 的值相同(除非是当sublayer_level_idc[ i ]不存在时推断的值),但适用于 TemporalId=i 的sublayer;
      • 当sublayer_level_idc[ i ]不存在时,sublayer_level_idc[ i ]的值推断如下:
        • sublayer_level_idc[ MaxNumSubLayersMinus1 ] 应等于 同一个profile_tier_level( )语法结构中的 general_level_idc;
        • 对于 i 从 MaxNumSubLayersMinus1 - 1 到 0(降序,包含端点),sublayer_level_idc[ i ] 应等于 sublayer_level_idc[ i + 1 ].;
    • ptl_num_sub_profiles
      • 表示 general_sub_profile_idc[ i ] 语法元素的数量;
    • general_sub_profile_idc[ i ]
      • 表示 注册的第 i 个互操作性指标,如 Rec. ITU-T T.35,其内容未在本规范中规定;
  • 7.4.4.2、通用约束信息(GCI)的语义

    • gci_present_flag
      • 1:表示 general_constraints_info( )语法结构中存在 GCI语法元素;
      • 0:不存在;
      • 当gci_present_flag=1时,本节中指定的GCI语法元素将启用;
      • 当gci_present_flag=0时,general_constraints_info( )语法结构中不包含任何约束;
    • gci_intra_only_constraint_flag
      • 1:表示 OlsInScope 中所有slices的 sh_slice_type = 2;
      • 0:没有该约束;
    • gci_all_layers_independent_constraint_flag
      • 1:表示 OlsInScope 中所有帧的 vps_all_independent_layers_flag = 1;
      • 0:没有该约束;
    • gci_one_au_only_constraint_flag
      • 1:表示 OlsInScope 中仅有一个AU;
      • 0:没有该约束;
    • gci_sixteen_minus_max_bitdepth_constraint_idc
      • 大于0:表示 OlsInScope 中所有帧的 sps_bitdepth_minus8+8 的取值范围为 [0, 16 − gci_sixteen_minus_max_bitdepth_constraint_idc];
      • 0:没有该约束;
      • gci_sixteen_minus_max_bitdepth_constraint_idc的取值范围为[0, 8];
    • gci_three_minus_max_chroma_format_constraint_idc
      • 大于0:表示 OlsInScope 中所有帧的 sps_chroma_format_idc 的取值范围为 [0, 3 − gci_three_minus_max_chroma_format_constraint_idc];
      • 0:没有该约束;
    • gci_no_mixed_nalu_types_in_pic_constraint_flag
      • 1:表示 OlsInScope 中所有帧的 pps_mixed_nalu_types_in_pic_flag = 0;
      • 0:没有该约束;
    • gci_no_trail_constraint_flag
      • 1:表示 OlsInScope 中不能存在 nuh_unit_type=TRAIL_NUT 的NALU;
      • 0:没有该约束;
    • gci_no_stsa_constraint_flag
      • 1:表示 OlsInScope 中不能存在 nuh_unit_type=STSA_NUT 的NALU;
      • 0:没有该约束;
    • gci_no_rasl_constraint_flag
      • 1:表示 OlsInScope 中不能存在 nuh_unit_type=RASL_NUT 的NALU;
      • 0:没有该约束;
    • gci_no_radl_constraint_flag
      • 1:表示 OlsInScope 中不能存在 nuh_unit_type=RADL_NUT 的NALU;
      • 0:没有该约束;
    • gci_no_idr_constraint_flag
      • 1:表示 OlsInScope 中不能存在 nuh_unit_type=IDR_W_RADL or IDR_N_LP 的NALU;
      • 0:没有该约束;
    • gci_no_cra_constraint_flag
      • 1:表示 OlsInScope 中不能存在 nuh_unit_type=CRA_NUT 的NALU;
      • 0:没有该约束;
    • gci_no_gdr_constraint_flag
      • 1:表示 OlsInScope 中所有帧的 sps_gdr_enabled_flag = 0;
      • 0:没有该约束;
    • gci_no_aps_constraint_flag
      • 1:表示
        • OlsInScope 中不能存在 nuh_unit_type=PREFIX_APS_NUT or SUFFIX_APS_NUT 的NALU;
        • OlsInScope 中所有帧的 sps_ccalf_enabled_flag, sps_lmcs_enabled_flag, sps_explicit_scaling_list_enabled_flag, ph_num_alf_aps_ids_luma, ph_alf_cb_enabled_flag, and ph_alf_cr_enabled_flag 都应等于 0;
        • OlsInScope 中所有slices的 sh_num_alf_aps_ids_luma, sh_alf_cb_enabled_flag, sh_alf_cr_enabled_flag 都应等于0;
      • 0:没有该约束;
      • NOTE:当没有引用 APS 时,仍然可以将 sps_alf_enabled_flag 设置为 1 并使用 ALF。 因此,当 gci_no_aps_constraint_flag 等于 1 时,sps_alf_enabled_flag 不需要等于 0。
    • gci_no_idr_rpl_constraint_flag
      • 1:表示 OlsInScope 中所有帧的 sps_idr_rpl_present_flag = 0;
      • 0:没有该约束;
    • gci_one_tile_per_pic_constraint_flag
      • 1:表示 OlsInScope 中每一帧都仅包含一个tile,即,每一帧的NumTilesInPic=1;
      • 0:没有该约束;
    • gci_pic_header_in_slice_header_constraint_flag
      • 1:表示 OlsInScope 中每一帧都仅包含一个slice,且,OlsInScope 中每一个 slice 的sh_picture_header_in_slice_header_flag=1;
      • 0:没有该约束;
    • gci_one_slice_per_pic_constraint_flag
      • 1:表示 OlsInScope 中每一帧都仅包含一个slice,即,若  pps_rect_slice_flag = 1,则 OlsInScope 中每一帧的 num_slices_in_pic_minus1 = 0,否则,OlsInScope 中每一个 slice header 的  num_tiles_in_slice_minus1 = NumTilesInPic − 1 ;
      • 0:没有该约束;
    • gci_no_rectangular_slice_constraint_flag
      • 1:表示 OlsInScope 中所有帧的 pps_rect_slice_flag = 0;
      • 0:没有该约束;
    • gci_one_slice_per_subpic_constraint_flag
      • 1:表示 OlsInScope 中所有帧的 pps_single_slice_per_subpic_flag = 1;
      • 0:没有该约束;
    • gci_no_subpic_info_constraint_flag
      • 1:表示 OlsInScope 中所有帧的 sps_subpic_info_present_flag = 0;
      • 0:没有该约束;
    • gci_three_minus_max_log2_ctu_size_constraint_idc
      • 大于0:表示 OlsInScope 中所有帧的 sps_log2_ctu_size_minus5 的取值范围为 [0, 3 − gci_three_minus_max_log2_ctu_size_constraint_idc];
      • 0:没有该约束;
    • gci_no_partition_constraints_override_constraint_flag
      • 1:表示 OlsInScope 中所有帧的sps_partition_constraints_override_enabled_flag = 0;
      • 0:没有该约束;
    • gci_no_mtt_constraint_flag
      • 1:表示 OlsInScope 中所有帧的 sps_max_mtt_hierarchy_depth_intra_slice_luma, sps_max_mtt_hierarchy_depth_inter_slice, and sps_max_mtt_hierarchy_depth_intra_slice_chroma 都应等于 0;
      • 0:没有该约束;
    • gci_no_qtbtt_dual_tree_intra_constraint_flag
      • 1:表示 OlsInScope 中所有帧的sps_qtbtt_dual_tree_intra_flag = 0;
      • 0:没有该约束;
    • gci_no_palette_constraint_flag
      • 1:表示 OlsInScope 中所有帧的sps_palette_enabled_flag = 0;
      • 0:没有该约束;
    • gci_no_ibc_constraint_flag
      • 1:表示 OlsInScope 中所有帧的sps_ibc_enabled_flag = 0;
      • 0:没有该约束;
    • gci_no_isp_constraint_flag
      • 1:表示 OlsInScope 中所有帧的sps_isp_enabled_flag = 0;
      • 0:没有该约束;
    • gci_no_mrl_constraint_flag
      • 1:表示 OlsInScope 中所有帧的sps_mrl_enabled_flag = 0;
      • 0:没有该约束;
    • gci_no_mip_constraint_flag
      • 1:表示 OlsInScope 中所有帧的sps_mip_enabled_flag = 0;
      • 0:没有该约束;
    • gci_no_cclm_constraint_flag
      • 1:表示 OlsInScope 中所有帧的sps_cclm_enabled_flag = 0;
      • 0:没有该约束;
    • gci_no_ref_pic_resampling_constraint_flag
      • 1:表示 OlsInScope 中所有帧的sps_ref_pic_resampling_enabled_flag = 0;
      • 0:没有该约束;
    • gci_no_res_change_in_clvs_constraint_flag
      • 1:表示 OlsInScope 中所有帧的sps_res_change_in_clvs_allowed_flag = 0;
      • 0:没有该约束;
    • gci_no_weighted_prediction_constraint_flag
      • 1:表示 OlsInScope 中所有帧的sps_weighted_pred_flag and sps_weighted_bipred_flag 都应等于 0;
      • 0:没有该约束;
    • gci_no_ref_wraparound_constraint_flag
      • 1:表示 OlsInScope 中所有帧的sps_ref_wraparound_enabled_flag = 0;
      • 0:没有该约束;
    • gci_no_temporal_mvp_constraint_flag
      • 1:表示 OlsInScope 中所有帧的sps_temporal_mvp_enabled_flag = 0;
      • 0:没有该约束;
    • gci_no_sbtmvp_constraint_flag
      • 1:表示 OlsInScope 中所有帧的sps_sbtmvp_enabled_flag = 0;
      • 0:没有该约束;
    • gci_no_amvr_constraint_flag
      • 1:表示 OlsInScope 中所有帧的sps_amvr_enabled_flag = 0;
      • 0:没有该约束;
    • gci_no_bdof_constraint_flag
      • 1:表示 OlsInScope 中所有帧的sps_bdof_enabled_flag= 0;
      • 0:没有该约束;
    • gci_no_smvd_constraint_flag
      • 1:表示 OlsInScope 中所有帧的sps_smvd_enabled_flag= 0;
      • 0:没有该约束;
    • gci_no_dmvr_constraint_flag
      • 1:表示 OlsInScope 中所有帧的sps_dmvr_enabled_flag= 0;
      • 0:没有该约束;
    • gci_no_mmvd_constraint_flag
      • 1:表示 OlsInScope 中所有帧的sps_mmvd_enabled_flag= 0;
      • 0:没有该约束;
    • gci_no_affine_motion_constraint_flag
      • 1:表示 OlsInScope 中所有帧的sps_affine_enabled_flag= 0;
      • 0:没有该约束;
    • gci_no_prof_constraint_flag
      • 1:表示 OlsInScope 中所有帧的sps_affine_prof_enabled_flag= 0;
      • 0:没有该约束;
    • gci_no_bcw_constraint_flag
      • 1:表示 OlsInScope 中所有帧的sps_bcw_enabled_flag= 0;
      • 0:没有该约束;
    • gci_no_ciip_constraint_flag
      • 1:表示 OlsInScope 中所有帧的sps_ciip_enabled_flag= 0;
      • 0:没有该约束;
    • gci_no_gpm_constraint_flag
      • 1:表示 OlsInScope 中所有帧的sps_gpm_enabled_flag= 0;
      • 0:没有该约束;
    • gci_no_luma_transform_size_64_constraint_flag
      • 1:表示 OlsInScope 中所有帧的sps_max_luma_transform_size_64_flag= 0;
      • 0:没有该约束;
    • gci_no_transform_skip_constraint_flag
      • 1:表示 OlsInScope 中所有帧的sps_transform_skip_enabled_flag= 0;
      • 0:没有该约束;
    • gci_no_bdpcm_constraint_flag
      • 1:表示 OlsInScope 中所有帧的sps_bdpcm_enabled_flag= 0;
      • 0:没有该约束;
    • gci_no_mts_constraint_flag
      • 1:表示 OlsInScope 中所有帧的sps_mts_enabled_flag= 0;
      • 0:没有该约束;
    • gci_no_lfnst_constraint_flag
      • 1:表示 OlsInScope 中所有帧的sps_lfnst_enabled_flag= 0;
      • 0:没有该约束;
    • gci_no_joint_cbcr_constraint_flag
      • 1:表示 OlsInScope 中所有帧的sps_joint_cbcr_enabled_flag= 0;
      • 0:没有该约束;
    • gci_no_sbt_constraint_flag
      • 1:表示 OlsInScope 中所有帧的sps_sbt_enabled_flag= 0;
      • 0:没有该约束;
    • gci_no_act_constraint_flag
      • 1:表示 OlsInScope 中所有帧的sps_act_enabled_flag= 0;
      • 0:没有该约束;
    • gci_no_explicit_scaling_list_constraint_flag
      • 1:表示 OlsInScope 中所有帧的sps_explicit_scaling_list_enabled_flag= 0;
      • 0:没有该约束;
    • gci_no_dep_quant_constraint_flag
      • 1:表示 OlsInScope 中所有帧的sps_dep_quant_enabled_flag= 0;
      • 0:没有该约束;
    • gci_no_sign_data_hiding_constraint_flag
      • 1:表示 OlsInScope 中所有帧的sps_sign_data_hiding_enabled_flag= 0;
      • 0:没有该约束;
    • gci_no_cu_qp_delta_constraint_flag
      • 1:表示 OlsInScope 中所有帧的pps_cu_qp_delta_enabled_flag= 0;
      • 0:没有该约束;
    • gci_no_chroma_qp_offset_constraint_flag
      • 1:表示 OlsInScope 中所有帧的pps_cu_chroma_qp_offset_list_enabled_flag= 0;
      • 0:没有该约束;
    • gci_no_sao_constraint_flag
      • 1:表示 OlsInScope 中所有帧的sps_sao_enabled_flag= 0;
      • 0:没有该约束;
    • gci_no_alf_constraint_flag
      • 1:表示 OlsInScope 中所有帧的sps_alf_enabled_flag= 0;
      • 0:没有该约束;
    • gci_no_ccalf_constraint_flag
      • 1:表示 OlsInScope 中所有帧的sps_ccalf_enabled_flag= 0;
      • 0:没有该约束;
    • gci_no_lmcs_constraint_flag
      • 1:表示 OlsInScope 中所有帧的sps_lmcs_enabled_flag= 0;
      • 0:没有该约束;
    • gci_no_ladf_constraint_flag
      • 1:表示 OlsInScope 中所有帧的sps_ladf_enabled_flag= 0;
      • 0:没有该约束;
    • gci_no_virtual_boundaries_constraint_flag
      • 1:表示 OlsInScope 中所有帧的sps_virtual_boundaries_enabled_flag= 0;
      • 0:没有该约束;
    • gci_num_reserved_bits
      • 表示GCI 保留的bit数,符合本规范的码流,该值为0;
      • 当gci_num_reserved_bits大于0时,解码器忽略gci_reserved_zero_bit[ i ]语法元素;
    • gci_reserved_zero_bit[ i ]
      • 可以是任意值;
      • 符合本规范的解码器忽略该语法元素;
    • gci_alignment_zero_bit
      • 等于0;



总结

慢慢更新,待续。。。。。

你可能感兴趣的:(视频编解码,视频编解码)