文件名称:帧间预测过程-密码学-应用密码学:协议、算法与c源程序 (英文版)
文件大小:3.88MB
文件格式:PDF
更新时间:2024-07-10 05:42:44
AVC 图书
8.4 帧间预测过程 当解码 P、B类型的宏块时,调用本过程。 本过程的输出为当前宏块的帧间预测样点,包含一个 16×16亮度阵列 predL和 2 个(当 chroma_format_idc 不 等于 0,即单色时)8×8色度样点阵列 predCr和 predCb,色度分量分别为 Cb 和 Cr。 宏块的分割模式由该宏块的 mb_type 规定。宏块的每个分割块均有一个索引值 mbPartIdx 作为标识。如果宏 块分割是由与子宏块相等的分割块构成,则每个子宏块可以进一步分割为子宏块分割块,子宏块的分割模式由 sub_mb_type 规定的。每个子宏块分割均有一个索引值 subMbPartIdx 作为标识。如果宏块分割块不是由子宏块构 成,则 subMbPartIdx 等于 0。 对于每个宏块分割块或每个子宏块分割块,有如下规定。 函数 MbPartWidth( ), MbPartHeight( ), SubMbPartWidth( )和 SubMbPartHeight( )给出了宏块分割块和子宏块分 割块的宽度和高度,它们的定义分别见表 7-13, 表 7-14, 表 7-17 和表 7-18。 宏块分割块的索引 mbPartIdx 的取值范围规定如下: — 如果mb_type等于B_Skip或B_Direct_16x16,则mbPartIdx在0…3之间取值 。 — 否则(mb_type不等于B_Skip或B_Direct_16x16),mbPartIdx在0…NumMbPart( mb_type ) − 1之间取值。 每个 mbPartIdx值所对应的宏块中的每个宏块分割块或其子宏块分割块的相关变量 partWidth 和 partHeight推 导过程如下: — 如果mb_type不等于P_8x8, P_8x8ref0, B_Skip, B_Direct_16x16或B_8x8,则subMbPartIdx等于0,并且 partWidth和partHeight按下式得到: partWidth = MbPartWidth( mb_type ) (8-148) partHeight = MbPartHeight( mb_type ) (8-149) — 否则,如果mb_type等于P_8x8或P_8x8ref0,或者mb_type等于B_8x8且sub_mb_type[ mbPartIdx ]不等于 B_Direct_8x8,subMbPartIdx在0…NumSubMbPart( sub_mb_type ) − 1之间取值,并且partWidth和partHeight按 照下式得到: partWidth = SubMbPartWidth( sub_mb_type[ mbPartIdx ] ) (8-150) partHeight = SubMbPartHeight( sub_mb_type[ mbPartIdx ] ). (8-151)