CN101193304A - 一种视频编码快速变换量化的实现方法 - Google Patents
一种视频编码快速变换量化的实现方法 Download PDFInfo
- Publication number
- CN101193304A CN101193304A CN 200810300045 CN200810300045A CN101193304A CN 101193304 A CN101193304 A CN 101193304A CN 200810300045 CN200810300045 CN 200810300045 CN 200810300045 A CN200810300045 A CN 200810300045A CN 101193304 A CN101193304 A CN 101193304A
- Authority
- CN
- China
- Prior art keywords
- quantization
- threshold value
- threshold
- video coding
- residual block
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Abstract
本发明属于视频编码技术,具体涉及一种变换量化方法。本发明所要解决的技术问题是,提供一种减低视频频编码复杂度的变换量化方法。本发明通过在变换量化前进行预判,可以提前检测出变换量化后残差块系统为零的情况,从而省去全零块的变换量化的过程。本方案对于低码率视频编码的意义尤为突出,因为在低码率情况下全零块的比例非常大,提前检测出大部分全零块将会大大降低变换量化的计算复杂度,从而提高编码效率。进一步的,本发明能实时地调整全零块判断条件,进一步提高编码速度和质量,防止出现漏判。
Description
技术领域
本发明属于视频编码技术,具体涉及一种变换量化方法。
背景技术
编码端因为要对编码模式进行确定,运算复杂度非常高,使得编码器实现实时编码非常难。帧间部分占据了70%左右的复杂度,在帧间部分有了很大程度的优化以后,变换和量化部分占据的计算复杂度就变得尤为突出,占编码器总体复杂度的25%左右,帧间预测是提高视频编码压缩比的关键技术。
通常的编码流程如下:
1、输入当前帧,进行宏块划分;
2、通过当前帧与参考帧比较,使用运动估计算法得到运动矢量,找出当前宏块的最匹配宏块;
3、当前宏块减去参考帧中最匹配宏块,得到宏块的残差块;
4、对残差块进行变换量化;
5、对变换量化后的数据进行反量化反变换,得到重建块,形成参考帧供后续的编码帧编时做参考;
6、最后对每一个宏块进行熵编码。
由于在大多低码率视频应用中,视频序列常见的是运动缓慢的具有静止背景的头肩序列,具有较强的时间相关性。因此帧间编码时,经过运动补偿的残差块信号绝对值通常很小。
如果编码块的残差信号经过变换、量化后的系数全部为零,这样的块就为全零块。上述情况中产生的残差块信号经过变换、量化后的系数常常为零,即存在大量的全零块。显然对于全零块而言,变换量化、反量化反变换都是冗余操作。
现有的编码标准中变换量化的实现过程并没有全零块检测,占据的25%的复杂度使得编码器的实时处理很难实现。
发明内容
本发明所要解决的技术问题是,提供一种减低视频频编码复杂度的变换量化方法。
本发明为解决上述技术问题所采用的技术方案是,一种视频编码快速变换量化的实现方法,包括以下步骤:
a、在变换和量化前根据预先设定的判断条件预判帧间像素残差块是否为全零块;如是,进入步骤d;如否,进入步骤b;
b、对残差块进行变换量化,进入步骤c;
c、保存变换量化后的系数块;并对所述系数块进行反量化反变换;
d、判断是否处理完毕当前宏块的所有残差块,如否,回到步骤a;如是,结束当前宏块的变换量化操作;
所述判断条件为,当前残差块的SAD值小于或等于阈值threshold,则预判帧间像素残差块为全零块。
采用上述方法能在变换量化前提前检测出残差块变换量化后为零的情况,从而省去对全零块的变换量化的过程,减少冗余操作。
进一步的,阈值并不固定,在阈值threshold中设有调整系数,可以根据实际需要对阈值做适当的调整,在视频质量不明显下降的情况下,可以提高编码速度。
更进一步的,为了防止当前阈值threshold计算或调整不当,在预判帧间像素残差块是否为全零块时出现漏判的情况,在本发明步骤b中还增加了以下步骤:
在对残差块进行变换量化后,判断变换量化后的残差块是否为全零块,若是,则调整阈值threshold,进入步骤d;如否,进入步骤c;
调整后的阈值newthreshold作为下一次预判帧间像素残差块是否为全零块的判断条件中的阈值threshold。
对阈值threshold的调整可采用直接调整其调整系数的方法,调高阈值threshold;为了更精确地调整阈值threshold也可以结合当前残差块的SAD值,重新计算。
本发明的有益效果是,通过在变换量化前进行预判,可以提前检测出变换量化后残差块系统为零的情况,从而省去全零块的变换量化的过程。本方案对于低码率视频编码的意义尤为突出,因为在低码率情况下全零块的比例非常大,提前检测出大部分全零块将会大大降低变换量化的计算复杂度,从而提高编码效率。进一步的,能实时地调整全零块判断条件,进一步提高编码速度和质量,防止出现漏判。
附图说明
图1为本发明变换量化流程图。
具体实施方式
在变换和量化前先应求得阈值threshold,该阈值threshold用于与当前残差块的SAD(sum of absolute difference,绝对误差和)值比较时,能较准确地预判出帧间像素残差块是否为全零块,其阈值threshold的推导过程如下:
1、根据变换公式初步计算。
设输入的4x4块为X,变换后的块为Y,变换矩阵为A。变换过程为:
Y=A×AT (式1)
上面的公式还可以因式分解成如下形式:
将变换矩阵A中的乘法和加法操作部分提出来构成矩阵C,其余部分放在矩阵E中。
为了操作方便,本方法将部分提取出变换部分,即将部分放在量化中进行,在变换部分只实现W=C*X*CT。(式3)
2、变换后的块的量化过程如下:
假设量化后的块为Q,QPstep为量化步长表,QP为当前帧的量化参数,量化参数以及量化步长表是本领域通用的,在此不再赘述,量化过程为:
由式4可知,要使得量化后的块为全零块,需要满足
其中式4和式5中的W′是对式3的W块中每个元素取绝对值得到的。
3、对变换过程进行变形:
由式5和式6可以得到,如残差块在变换量化后变成全零块,需要满足
因为式7只是通过不等式的推导得出的阈值,是一种弱势阈值,因此对阈值进行调整,调整为 推导出阈值threshold为:
其中,m为调整系数,可以根据实际情况而定,在编码速度和图像质量间做个折中,取值范围为(19,35),k为矩阵L=C*CT中绝对值最大的一个元素。
当前残差块的SAD值小于阈值threshold,则预判帧间像素残差块为全零块。
实施例1
流程如图1所示:
1、得到当前4x4残差块;
2、对残差块进行全零块预判:
2.1先根据当前帧采用的量化参数QP预先求得阈值threshlod,此时m取值19,k取10,E取值为0.25;threshold=QPstep[QP]*19/6;
2.2计算残差块的SAD值,计算如下:
假设Or为原始块,Pr为预测块,Rr为残差块;块的大小为M x N;Rr=Or-Pr;SAD=|Rrij|其中i=0…M,j=0...N;
3、将SAD值和阈值threshold进行比较,如SAD值≤阈值threshold,则将当前块判断为零块,跳到第7步开始执行;如SAD值>阈值threshold,则进入步骤4;
4、将当前块进行变换和量化;
5、如经第4步变换和量化后得到的系数块不是全零块,则进入步骤6;
如第4步变换和量化后得到的是全零块,表明出现了全零块漏判(即块在变换量化后成了全零块但是阈值无法判断),需对阈值threshold进行调整,调整方式和阈值初值的确定过程类似,也不是固定的,可以根据对编码速度和编码质量的需求采用不同的方式进行调整,调整公式如下:
newthreshold=x*threshold+y*SAD;
其中x的取值范围为(0,0.5),y的取值范围为(0.5,1),并满足x+y=1;
将调整后的阈值newthreshold作为下一次预判帧间像素残差块是否为全零块的判断条件中的阈值threshold,调整阈值后,跳到第8步开始执行;
6、将第4步得到的块进行反量化反变换,用于重建当前块;并保存第4步变换量化后得到的块,将块进行熵编码,进入步骤8;
7、保存当前块的相关信息用于熵编码,保存后结束当前块的操作,所述相关信息为检测出全零块后续操作是对一些变量进行赋值。用于熵编码的相关信息为熵编码要用的一个和当前全零块对应的变量,当前块为全零块,将该变量赋值为0(不是全零块赋成1),进入步骤8;
8、判断是否处理完毕当前宏块的所有残差块,如否,回到步骤2;如是,结束当前宏块的变换量化操作。
实施例2
1-7步骤中,除第4步对出现漏判时调整阈值threshold的方法不同外,其它步骤均相同。
本实施例采用更为简单的阈值threshold调整方式,直接调整阈值 (k取值为10)中的调整系数m,即出现漏判后以步进或其它方式适当调大m的值以调高阈值threshold。
以上所述仅为发明较佳的实施方式,但本发明的保护范围并不局限于此,任何熟悉该技术的人在本发明揭露的技术范围以内轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。
Claims (6)
1.一种视频编码快速变换量化的实现方法,其特征在于,包括以下步骤:
a、在变换和量化前根据预先设定的判断条件预判帧间像素残差块是否为全零块;如是,进入步骤d;如否,进入步骤b;
b、对残差块进行变换量化;
c、保存变换量化后的系数块;并对所述系数块进行反量化反变换;
d、判断是否处理完毕当前宏块的所有残差块,如否,回到步骤a;如是,结束当前宏块的变换量化操作;
所述判断条件为,当前残差块的SAD值小于或等于阈值threshold,则预判帧间像素残差块为全零块。
2.如权利要求1所述一种视频编码快速变换量化的实现方法,其特征在于,所述阈值threshold设有调整系数。
3.如权利要求2所述一种视频编码快速变换量化的实现方法,其特征在于,所述阈值threshold根据宏块的量化参数求得,具体为: 其中,m为调整系数,m的取值范围为[19,35];Qpstep为量化步长表,QP为当前帧的量化参数;将变换矩阵中的乘法和加法操作部分提出来构成矩阵C,其余部分放在矩阵E中,所述k为矩阵L=C*CT中绝对值最大的一个元素。
4.如权利要求2或3所述一种视频编码快速变换量化的实现方法,其特征在于,所述步骤b具体还包括以下步骤:
判断该残差块变换量化后是否为全零块,若是,则调整阈值threshold,将调整后的阈值newthreshold作为下一次预判帧间像素残差块是否为全零块的判断条件中的阈值threshold,再进入步骤d;如否,进入步骤c。
5.如权利要求4所述一种视频编码快速变换量化的实现方法,其特征在于,调整后的阈值newthreshold由改变阈值threshold的调整系数得到。
6.如权利要求4所述一种视频编码快速变换量化的实现方法,其特征在于,所述调整后的阈值newthreshold为:newthreshold=x*threshold+y*SAD;
其中所述SAD为当前残差块的SAD值,x、y为调整系数,其中x的取值范围为(0,0.5),y的取值范围为(0.5,1),并满足x+y=1。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200810300045 CN100592798C (zh) | 2007-09-14 | 2008-01-08 | 一种视频编码快速变换量化的实现方法 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200710201696.4 | 2007-09-14 | ||
CN200710201696 | 2007-09-14 | ||
CN 200810300045 CN100592798C (zh) | 2007-09-14 | 2008-01-08 | 一种视频编码快速变换量化的实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101193304A true CN101193304A (zh) | 2008-06-04 |
CN100592798C CN100592798C (zh) | 2010-02-24 |
Family
ID=39487999
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200810300045 Expired - Fee Related CN100592798C (zh) | 2007-09-14 | 2008-01-08 | 一种视频编码快速变换量化的实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100592798C (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102148989A (zh) * | 2011-04-22 | 2011-08-10 | 西安交通大学 | 一种h.264中全零块检测的方法 |
CN102271258A (zh) * | 2011-08-03 | 2011-12-07 | 中山大学深圳研究院 | 一种针对低编码率的视频编码方法及其装置 |
CN102300085A (zh) * | 2010-06-25 | 2011-12-28 | 华晶科技股份有限公司 | 具有可变量化参数与可变编码参数的图像压缩方法 |
CN102577412A (zh) * | 2010-03-04 | 2012-07-11 | 北京视博云科技有限公司 | 一种图像编码方法和装置 |
CN102685499A (zh) * | 2012-05-07 | 2012-09-19 | 西安交通大学 | 一种基于能量守恒的全零块检测方法 |
WO2013071889A1 (en) * | 2011-11-18 | 2013-05-23 | Huawei Technologies Co., Ltd. | Scanning of prediction residuals in high efficiency video coding |
CN106341689A (zh) * | 2016-09-07 | 2017-01-18 | 中山大学 | 一种avs2量化模块和反量化模块的优化方法及系统 |
CN109874012A (zh) * | 2017-12-04 | 2019-06-11 | 北京金山云网络技术有限公司 | 一种视频编码方法、编码器、电子设备及介质 |
CN111757111A (zh) * | 2020-06-29 | 2020-10-09 | 北京百度网讯科技有限公司 | 视频编码方法、装置、设备和存储介质 |
CN113132726A (zh) * | 2019-12-31 | 2021-07-16 | 上海海思技术有限公司 | 编码方法及编码器 |
CN114222132A (zh) * | 2022-01-13 | 2022-03-22 | 北京达佳互联信息技术有限公司 | 视频解码反变换方法及装置 |
WO2022217610A1 (zh) * | 2021-04-16 | 2022-10-20 | Oppo广东移动通信有限公司 | 残差编码方法及设备、视频编码方法及设备、存储介质 |
CN114222132B (zh) * | 2022-01-13 | 2024-05-14 | 北京达佳互联信息技术有限公司 | 视频解码反变换方法及装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6275527B1 (en) * | 1998-01-14 | 2001-08-14 | Conexant Systems, Inc. | Pre-quantization in motion compensated video coding |
NO318318B1 (no) * | 2003-06-27 | 2005-02-28 | Tandberg Telecom As | Fremgangsmate for forbedret koding av video |
JP4704343B2 (ja) * | 2004-07-27 | 2011-06-15 | パナソニック株式会社 | 画像符号化装置及び方法 |
-
2008
- 2008-01-08 CN CN 200810300045 patent/CN100592798C/zh not_active Expired - Fee Related
Cited By (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102577412A (zh) * | 2010-03-04 | 2012-07-11 | 北京视博云科技有限公司 | 一种图像编码方法和装置 |
CN102577412B (zh) * | 2010-03-04 | 2014-12-10 | 北京视博云科技有限公司 | 一种图像编码方法和装置 |
CN102300085A (zh) * | 2010-06-25 | 2011-12-28 | 华晶科技股份有限公司 | 具有可变量化参数与可变编码参数的图像压缩方法 |
CN102300085B (zh) * | 2010-06-25 | 2013-07-03 | 华晶科技股份有限公司 | 具有可变量化参数与可变编码参数的图像压缩方法 |
CN102148989B (zh) * | 2011-04-22 | 2012-07-25 | 西安交通大学 | 一种h.264中全零块检测的方法 |
CN102148989A (zh) * | 2011-04-22 | 2011-08-10 | 西安交通大学 | 一种h.264中全零块检测的方法 |
CN102271258A (zh) * | 2011-08-03 | 2011-12-07 | 中山大学深圳研究院 | 一种针对低编码率的视频编码方法及其装置 |
US9344722B2 (en) | 2011-11-18 | 2016-05-17 | Futurewei Technologies, Inc. | Scanning of prediction residuals in high efficiency video coding |
WO2013071889A1 (en) * | 2011-11-18 | 2013-05-23 | Huawei Technologies Co., Ltd. | Scanning of prediction residuals in high efficiency video coding |
CN102685499A (zh) * | 2012-05-07 | 2012-09-19 | 西安交通大学 | 一种基于能量守恒的全零块检测方法 |
CN102685499B (zh) * | 2012-05-07 | 2015-01-07 | 西安交通大学 | 一种基于能量守恒的全零块检测方法 |
CN106341689A (zh) * | 2016-09-07 | 2017-01-18 | 中山大学 | 一种avs2量化模块和反量化模块的优化方法及系统 |
CN106341689B (zh) * | 2016-09-07 | 2019-04-23 | 中山大学 | 一种avs2量化模块和反量化模块的优化方法及系统 |
CN109874012A (zh) * | 2017-12-04 | 2019-06-11 | 北京金山云网络技术有限公司 | 一种视频编码方法、编码器、电子设备及介质 |
WO2019109906A1 (zh) * | 2017-12-04 | 2019-06-13 | 北京金山云网络技术有限公司 | 一种视频编码方法、编码器、电子设备及介质 |
CN109874012B (zh) * | 2017-12-04 | 2020-09-11 | 北京金山云网络技术有限公司 | 一种视频编码方法、编码器、电子设备及介质 |
CN113132726B (zh) * | 2019-12-31 | 2022-07-29 | 上海海思技术有限公司 | 编码方法及编码器 |
CN113132726A (zh) * | 2019-12-31 | 2021-07-16 | 上海海思技术有限公司 | 编码方法及编码器 |
CN111757111A (zh) * | 2020-06-29 | 2020-10-09 | 北京百度网讯科技有限公司 | 视频编码方法、装置、设备和存储介质 |
CN111757111B (zh) * | 2020-06-29 | 2023-02-24 | 北京百度网讯科技有限公司 | 视频编码方法、装置、设备和存储介质 |
WO2022217610A1 (zh) * | 2021-04-16 | 2022-10-20 | Oppo广东移动通信有限公司 | 残差编码方法及设备、视频编码方法及设备、存储介质 |
CN114222132A (zh) * | 2022-01-13 | 2022-03-22 | 北京达佳互联信息技术有限公司 | 视频解码反变换方法及装置 |
CN114222132B (zh) * | 2022-01-13 | 2024-05-14 | 北京达佳互联信息技术有限公司 | 视频解码反变换方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN100592798C (zh) | 2010-02-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100592798C (zh) | 一种视频编码快速变换量化的实现方法 | |
CN103329522B (zh) | 用于使用字典编码视频的方法 | |
CN102137263B (zh) | 基于cnm关键帧分类的分布式视频编码及解码方法 | |
US8582904B2 (en) | Method of second order prediction and video encoder and decoder using the same | |
CN103634606B (zh) | 视频编码方法和装置 | |
CN101072356B (zh) | 一种运动矢量预测方法 | |
CN101729892B (zh) | 一种非对称立体视频编码方法 | |
CN103098473A (zh) | 对帧内预测使用自适应dct/dst的低复杂度变换编码 | |
CN102752596B (zh) | 一种率失真优化方法 | |
CN102334337A (zh) | 选择性使用离散正余弦转换的编解码装置和方法 | |
CN101860748A (zh) | 基于分布式视频编码的边信息生成系统及方法 | |
CN103634601B (zh) | 基于结构相似度的高效视频编码感知码率控制优化方法 | |
CN107040782B (zh) | 基于拉格朗日方法的视频编码全局率失真优化方法 | |
CN106060539A (zh) | 一种低传输带宽的视频编码方法 | |
CN101562750B (zh) | 视频编码快速模式选择装置及方法 | |
CN103024392A (zh) | 基于二维哈达玛变换的帧内模式预测方法及装置 | |
CN101389028A (zh) | 一种基于空域分解的视频帧内编码方法 | |
CN101945281A (zh) | 视频编码的滤波方法及装置 | |
CN105898300A (zh) | 一种基于恢复变换系数的改进变换系数符号位隐藏方法 | |
CN103384327A (zh) | 基于自适应阈值的avs快速模式选择算法 | |
CN102857760B (zh) | 一种无反馈的优化码率的分布式视频编解码方法及其系统 | |
CN102196253B (zh) | 一种帧类型自适应选择的视频编码方法及装置 | |
CN103391439B (zh) | 一种基于主动宏块隐藏的h.264/avc码率控制方法 | |
CN102685497B (zh) | 一种avs编码器快速帧间模式选择方法及装置 | |
CN101902642B (zh) | 一种h.264帧间skip模式快速判定方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20100224 Termination date: 20160108 |
|
CF01 | Termination of patent right due to non-payment of annual fee |