H.264的权重量化机制

 

H.264的权重量化机制
PeterLee 2007-07-30
 
本篇旨在讲解H.264的权重量化机制,至于H.264的量化本篇只简略带过,量化的详细内容可以参考h.264 white paper或毕厚杰的H.264书籍。本篇以4x4 ac系数为例进行讲解,8x8ac, dc, chroma dc, ac等系数的权重量化机制亦雷同。
 
一、关于量化表
H.264标准早期是没有权重量化的概念,权重量化是在制定high profile(即FRExt)的时候引入的。所谓权重量化,就是对各个位置的变换系数采用不同的量化步长。引入权重量化是基于这样一个前提,不同位置的变换系数对于主观感知的重要程度是不相同的,因此对不同位置的变换系数采取的量化程度应该不同。
H.264之前的编码标准,如MPEG2和H.263等,都有权重量化的机制,它们采用了基于感知的量化因子矩阵。由于H.264编码标准中的变换和量化是有结合的,所以,其权重量化的设计同早期标准的量化因子矩阵不同,本文后面篇幅会具体讲述H.264的权重量化机制。
 
二、H.264 的量化机制
量化:
反量化:
 
三、引入权重量化之后的量化机制
量化:
cij = ( dij * LevelScale( qP % 6, i, j) ) >> ( 15 + floor(qP / 6))
其中 LevelScale( qP % 6, i, j) = MF * 16 / SCALEij;
反量化:
dij = ( cij * DeLevelScale( qP % 6, i, j) ) << ( qP / 6 – 4)
其中 DeLevelScale( qP % 6, i, j) = Vij * SCALEij;
 
【对比】
根据前面给出的两套量化公式,可以看出,引入量化表之后,量化和反量化即对各点MF和 Vij 通过 SCALEij 进行缩放。因此,只要给定SCALEij表,就达到了权重量化的目的
 
四、SCALE 表的类型
H.264中规定了八种SCALE表,依次是:帧内亮度4x4、帧内色度U4x4、帧内色度V4x4、帧间亮度4x4、帧间色度U4x4、帧间色度V4x4、帧内亮度8x8、帧间亮度8x8。
五、SCALE 表的编码传输
SCALE表是放在图像参数集中传输的,其编码方式采用的是简单的差分编码。
 
六、如何兼容早期的量化机制
引入权重量化之后的量化和反量化公式,如果要实现之前的无权重量化方式,或称FLAT模式,只需将SCALE表中每个元素值置为16即可。
 
附:JVT 默认的SCALE
# This is the configuration file for initialising the Q matrix.
# Altogether 6 matrix for 4x4 block and 2 matrix for 8x8 block
# The values range from 1 to 255
# If first value of matrix is equal to 0, default values will be used for that matrix
###############################################################################
 
INTRA4X4_LUMA =
 0,12,19,26,
12,19,26,31,
19,26,31,35,
26,31,35,39    
 
INTRA4X4_CHROMAU =
 0,12,19,26,
12,19,26,31,
19,26,31,35,
26,31,35,39    
 
INTRA4X4_CHROMAV =
 0,12,19,26,
12,19,26,31,
19,26,31,35,
26,31,35,39    
 
INTER4X4_LUMA =
 0,13,18,21,
13,18,21,24,
18,21,24,27,
21,24,27,30    
 
INTER4X4_CHROMAU =
 0,13,18,21,
13,18,21,24,
18,21,24,27,
21,24,27,30    
 
INTER4X4_CHROMAV =
 0,13,18,21,
13,18,21,24,
18,21,24,27,
21,24,27,30    
 
INTRA8X8_LUMA =
 0,10,13,16,19,24,26,28
10,12,16,19,24,26,28,31
13,16,19,24,26,28,31,33
16,19,24,26,28,31,33,35
19,24,26,28,31,33,35,37
24,26,28,31,33,35,37,39
26,28,31,33,35,37,39,42
28,31,33,35,37,39,42,44
 
INTER8X8_LUMA =
 0,12,14,16,18,19,21,22,
12,13,16,18,19,21,22,24,
14,16,18,19,21,22,24,25,
16,18,19,21,22,24,25,27,
18,19,21,22,24,25,27,28,
19,21,22,24,25,27,28,30,
21,22,24,25,27,28,30,31,
22,24,25,27,28,30,31,33       
 
<script type="text/javascript"> google_ad_client = "pub-7168982058404735"; google_ad_width = 728; google_ad_height = 90; google_ad_format = "728x90_as"; google_ad_type = "text_image"; google_ad_channel = ""; google_color_border = "C3D9FF"; google_color_bg = "FFFFFF"; google_color_link = "3D81EE"; google_color_text = "000000"; google_color_url = "008000"; google_ui_features = "rc:0"; google_language = 'zh-CN'; //--> </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值