CABAC与CAVLC有什么区别?
2017-09-27 20:43 nigaopeng 阅读(3965) 评论(0) 编辑 收藏 举报待完善
7.3.12 用 CAVLC 方式编码的残差数据的语义 coeff_token 指明了非零系数的个数,拖尾系数的个数。
trailing_ones_sign_flag 拖尾系数的符号 - 如果trailing_ones_sign_flag = 0, 相应的拖尾系数是+1。 - 否则,trailing_ones_sign_flag =1,相应的拖尾系数是-1。 - level_prefix and level_suffix 非零系数值的前和后。
total_zeros 系数中 0 的总个数。 run_before 在非零系数之前连续零的个数。
7.3.13 用 CABAC 方式编码的残差数据的语义 coded_block_flag 指出当前块是否包含非零系数。 如果 coded_block_flag= 0, 这个块不包含非零系数。 如果 coded_block_flag = 1,这个块包含非零系数。
significant_coeff_flag[ i ] 指出在位置为 i 处的变换系数是否为零。 如果 significant_coeff_flag[ i ] = 0, 在位置为 i 处的变换系数为零。 否则,significant_coeff_flag[ i ] =1, 在位置为 i 处的变换系数不为零。
last_significant_coeff_flag[ i ] 表示当前位置 i 处的变换系数是否为块中后一个非零系数。 如果 last_significant_coeff_flag[ i ] =1, 这个块中随后的系数都为零。 否则, 这个块中随后的系数中还有其它的非零系数.
coeff_abs_level_minus1[ i ]系数的绝对值减 1。 coeff_sign_flag[ i ] 系数的符号位。 - coeff_sign_flag = 0, 正数。 - coeff_sign_flag=1, 负数。