H.264相关二

一.H.264基本档次
   支持包含I条带和P条带的编码序列。I条带包含帧内编码的宏块,其帧内编码宏块是从同一个条带中先前编码的样点进行预测。P条带可以包含帧内编码、帧间编码和跳转的宏块。当在比特流中指示一个跳转宏块时,后面的比特流中没有关于这个宏块的任何数据。解码器计算跳转宏块的运动矢量,根据List0的第一帧参考图像对该宏块进行运动补偿预测来重构该宏块。

     解码图像缓存器(DPB):用于存储以前编码图像的一个参考缓存器,参考图像列表List0有以播放顺序为准的在当前帧之前和之后的参考图像,并且可以包含短期和长期的参考图像。在默认情况下,当前编码图像被编码器重建并标志为短期图像,用帧号对其标记。长期图像是过去较久的图像,用一个变量LongTermPicNum进行标记,存于DPB中直到被明确删除或替换。

      在默认情况下,图像列表List0 中的短期图像按照从高到低的图像次序进行排序(由帧号推出的变量),而长期图像则按照从低到高的图像次序进行排序。如果短期和长期图像的数目等于参考帧的最大数目,则最先存入的短期图像(有最大的索引)将从缓存器中删除(滑动窗口内存控制)。编码器发送一个瞬时解码更新(IDR)的编码图像(由I条带或SI条带组成)来清除参考图像缓存器中的内容。一旦接收到一个IDR编码图像,解码器就把参考缓存器中的所有图像标记为不用作参考图像。所有随后传输的条带不必参考IDR之前的解码图像就可以被解码。

   H.264编码器可以选择在编码图像之间的边界插入一个图像分割符RBSP单元,这个分隔符指示了一个新的编码图像的开始,同时指示了随后编码图像中允许存在的条带类型。如果没有使用图像分隔符,则解码器应该能够根据新的图像的第一个条带头信息来识别出新图像的开始。

   在H.264条带中,由先前编码的数据进行预测,生成每个编码宏块。帧内编码宏块中的像素值是由当前条带经过编码、解码和重建的像素值进行预测的,而帧间编码宏块的像素值是由先前编码帧的像素值进行预测获得的。

二.H.264主要档次
  主要档次提供的辅助工具是B条带和加权预测,支持交替视频(与帧一样的编码场)和CABAC。
  在B条带中,从一个或两个参考图像可以与此帧间编码宏块的每个宏块分割,参考图像在时间次序上可以在当前图像之前或之后。
  B条带使用以前编码参考图像生成的两个表List0 和 List1,包括短项和长项图像。
  表List0:最近的以前图像(基于图像次序计数)被赋予检索0,接着是其他的过去图像(随着图像次序计数增加),最后是将来的图像(从当前图像开始,随着图像次序计数增加)。
  表List1:最近的将来图像被赋予检索0,接着是其他的将来图像(随着图像次序计数增加),最后是过去的图像(随着图像次序计数增加)

三.H.264扩展档次
  SP和SI条带是特殊的编码条带,可以有效地在视频流之间交换码流,视频解码器可以有效地随机存取码流。
  SP和P帧之间的差异在于SP帧能够参照不同参考帧重构出相同的图像帧。SP和SI帧均可用于流间切换。当视频流的内容相同,编码参数不同采用SP帧;而当视频流的内容相差很大时,则采用SI帧将更加有效。SP帧分为主SP帧和辅SP帧。其中,前者的参考帧和当前编码帧属于同一个码流,而后者则不属于同一个码流。主SP帧作为切换插入点,不切换时,码流进行正常的编码传输;而切换时,辅SP帧取代主SP帧进行传输。

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