CN107623859A - 一种低码率下jpeg编码的去块效应方法 - Google Patents

一种低码率下jpeg编码的去块效应方法 Download PDF

Info

Publication number
CN107623859A
CN107623859A CN201710893814.6A CN201710893814A CN107623859A CN 107623859 A CN107623859 A CN 107623859A CN 201710893814 A CN201710893814 A CN 201710893814A CN 107623859 A CN107623859 A CN 107623859A
Authority
CN
China
Prior art keywords
block
coefficients
jpeg
carried out
current 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
Application number
CN201710893814.6A
Other languages
English (en)
Other versions
CN107623859B (zh
Inventor
杨少军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhuhai Wisdom Electronic Technology Co Ltd
Original Assignee
Zhuhai Wisdom Electronic Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhuhai Wisdom Electronic Technology Co Ltd filed Critical Zhuhai Wisdom Electronic Technology Co Ltd
Priority to CN201710893814.6A priority Critical patent/CN107623859B/zh
Publication of CN107623859A publication Critical patent/CN107623859A/zh
Application granted granted Critical
Publication of CN107623859B publication Critical patent/CN107623859B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

本发明涉及一种在低码率条件下,去除JPEG编码时出现的块效应的方法。去块效应方法包括对JPEG进行两轮编码,第一轮编码在按照正常编码流程对原始数据进行分块后,首先判断当前块是平滑块还是纹理块,接着对每个块进行DCT变换,保存每个块的dc系数及块类型信息并写入DDR中,同时对量化后的ac系数采用游程编码也写入DDR中;第二轮JPEG编码读取每个块的dc系数及块类型信息,根据是否是平滑块决定对当前块是否进行保边滤波操作,接着按照正常编码流程进行量化、dc预测以及熵编码操作。本发明没有更改JPEG的编码流程,但对低码率下的平滑块能极大消除块效应,大大改善图像质量,提升主观视觉效果。

Description

一种低码率下JPEG编码的去块效应方法
技术领域
本发明涉及图像算法处理领域,具体涉及在低码率条件下,针对JPEG编码中出现的块效应如何去除的方法,以达到改善图像质量,提高视觉效果的目的。
背景技术
JPEG(Joint Photographic Experts Group,联合图像专家小组)是第一个国际图像压缩标准,由于JPEG优良的压缩性能,以及算法实现简单,计算量较小,而被广泛应用于各行各业。但由于JPEG是一种有损压缩格式,压缩率越高,图像品质就越差,越容易出现方块效应,JPEG编码图像方块效应的产生是在编码环节引入的,究其根源主要是在JPEG编码中采用了DCT(离散余弦变换)变换以及块独立的量化方式,在JPEG编码中,首先对8x8块进行DCT变换,将空域的图像信息变换到频率域,从而,使图像信号的能量集中在少数DCT系数如DCT直流系数、DCT低频系数上,然后对经过DCT变换后的系数进行量化,由于图像中所有块的量化都是独立的,即当前块的量化不依赖周边块,导致领域块的DCT系数量化后的量化误差互不相关,进而出现对于相邻两个块边界处的像素,由于DCT系数量化误差不连续,使本来平滑的数据在块边界处有较大的变化,从而产生方块效应,特别是在低码率下的平滑块,此种现象特别明显,而人眼对此非常敏感,导致主观视觉质量变差。
基于此,有必要提供一种去除JPEG编码中出现块效应的方法,来改善图像的方块效应,提升图像的视觉效果。
发明内容
本发明的目的是提供一种在低码率条件下,去除JPEG编码中出现块效应的方法。
为了实现上述目的,本发明在编码过程中,考虑到硬件实现,进行了两轮编码。
第一轮编码采用JPEG正常编码流程进行编码,但不进行熵编码,在按照正常编码流程对原始数据分成8x8小块后,对每个8x8小块进行块类型判断,判断当前8x8块是平滑块还是纹理块,对平滑块在第二轮编码中会进行保边滤波操作,对纹理块,不进行任何操作。接着对每个8x8块进行DCT变换后,保存每个8x8块的dc系数以及块类型信息一并写入动态存储器DDR中,所有8x8块的dc系数和块类型信息集中存放在一起,紧凑排列。同时对每个8x8块的ac系数进行量化,考虑到量化后很多ac系数都是0,为了节省读写带宽,将量化后的ac系数进行游程编码后写入动态存储器DDR中,所有8x8块的ac系数也集中紧凑排列。所有8x8块的数据都同样处理,直到整帧数据编码完成,结束第一轮编码。
第二轮编码首先读取第一轮编码写入到动态存储器DDR中的8x8块的dc系数以及块类型信息,如果读取到的当前块的块类型为纹理块,则直接跳过不进行滤波操作,按照正常流程对dc系数进行量化以及DC预测,然后对dc残差和ac系数进行熵编码。如果当前块类型为平滑块,则需要对当前块进行保边滤波操作,对当前待编码的块,除了读取当前块的dc系数外,还需要读取以当前块为中心,周边3*3邻域8x8块的dc系数,并进行保边滤波操作,以去除方块效应,接着对滤波后的dc系数按照JPEG正常编码流程进行量化以及dc预测,得到当前8x8块的dc预测值,并用dc系数减去dc预测值得到当前8x8块的dc残差,然后对dc残差进行熵编码,同时,从动态存储器DDR中读取当前8x8块的ac系数,进行熵编码操作。
由上述方案可见,本发明提供的去块效应方法采用了对周边3*3邻域8x8块的dc系数进行保边滤波操作,具体方案是对领域3*3块的每个dc系数值,减去中心块的dc值,如果差值的绝对值小于设定的dc阈值,则推定当前块和领域块没有边沿信息,累加此领域块的dc值;如果大于设定的dc阈值,则推定当前块和领域块存在边沿或纹理信息,此领域块的dc值不累加,也不参与后续的运算,以达到保护图像边缘或纹理信息使之保持清晰而不模糊的目的。对周边3*3的每个8x8块都进行上述判断,完成后对得到的累加值进行均值运算,最终得到当前块保边滤波后的dc系数值。
附图说明
图1是本发明中JPEG正常编码流程图。
图2是本发明中第一轮JPEG编码流程图。
图3是本发明中块类型判断算法流程图。
图4是本发明中dc系数存储示意图。
图5是本发明中对ac系数进行游程编码的示意图。
图6是本发明中ac系数存储示意图。
图7是本发明中第二轮JPEG编码流程图。
图8是本发明中周边3*3领域8x8块的示意图。
图9是本发明采用的对周边3*3领域8x8块的dc系数进行保边滤波的算法流程图。
以下结合附图及实施例对本发明做进一步的说明。
具体实施方式
JPEG正常编码流程如图1所示,在步骤S1中先将输入的原始YUV数据分成8x8的小块,在JPEG编码中,输入的数据为YUV数据,如果是RGB等其它格式数据,需要先转换到YUV色域空间。接着在步骤S2中对每个8x8的小块进行DCT变换,经过DCT变换后,低频分量集中在左上角,高频分量集中到右下角,左上顶角的数据为当前8x8块的dc系数,其它63个点为ac系数,接着在步骤S3对dc系数和ac系数采用设定的量化矩阵进行量化,得到量化后的dc系数和ac系数,同时,在步骤S4中对当前8x8块进行DC预测,具体算法是将上一个编码8x8块量化后的dc系数作为当前8x8块的dc预测值,用当前8x8块量化后的dc系数减去得到的dc预测值,得到当前块的dc残差值,最后在步骤S5熵编码模块中,对dc残差值和量化后的ac系数进行huffman编码,得到编码后的数据。
本发明中,对JPEG的编码也按照JPEG正常编码流程,但为了去除方块效应,***了对块类型判断的算法以及对dc系数进行保边滤波操作,同时,为了硬件实现的方便,将JPEG编码流程分为两轮进行。
第一轮编码见图2所示,在按照JPEG正常编码流程进行DCT变换即执行步骤S6后,将原始输入的YUV数据分成了8x8的小块,然后进入步骤S7,对8x8的小块进行块类型的判断,判断当前块是平滑块还是纹理块,块类型判断算法如图3所示,在步骤S13中首先计算8x8 64个点的平均值average,在步骤S14中用原始像素值减去此平均值average,并计算得到绝对值,然后累加64个点的绝对值得到value,在步骤S15中用value和设定的块类型阈值type_threshold进行比较,块类型阈值type_threshold可以根据场景的不同灵活配置,一般场景可设定为128,如果value小于块类型阈值type_threshold,则当前块为平滑块,否则,为纹理块。在完成块类型判断后接着进入步骤S8,进行DCT变换,相比图1正常的JPEG编码流程,第一轮编码dc系数不进行后面的量化以及DC预测操作,对于dc系数,执行步骤S9,将块类型和dc系数写入到动态存储器DDR中,每个8x8块的块类型和dc系数占用16bit,如图4所示,最高位bit15表示块类型,为1表示平滑块,为0表示纹理块,其它15bit存放经过DCT变换后的系数,所有8x8块的块类型和dc系数数据都集中存放在一起,紧凑排列存放,以方便硬件在第二轮运算中读取。对ac系数,按照正常的JPEG编码流程进入到S10步骤进行ac系数量化操作,考虑到量化后大部分ac系数都为0,为了节省读写带宽,对ac系数,会进入S11步骤进行游程编码对ac系数进行压缩,然后进入S12将压缩后的数据写入到动态存储器DDR中。游程编码格式如图5所示,最高位bit15 last表示当前ac系数是否为8x8块的最后一个非0值,如果当前ac系数为8x8块的最后一个非0系数,则为1,否则为0,后面的ac系数全部为0。中间的bit4到bit14共11bit表示ac系数值level,取值范围为[-1023,1023]。最低4bit表示run值,即当前非0值和前一个非0值之间0的个数,记为n,如果n不超过15,则将n值填入run,非0的ac系数值填入level,同时根据当前的ac系数是否为最后一个非0系数决定last是否为1;如果n超过了15,则先将run值编码为15,level编码为0,last编码为0,接着的16bit继续编码当前系数,如果n减去15没有超过15,则低4bit用于存放(n-15),中间的12bit存放非0的ac系数,最高位存放last,如果n减去15还超过15,则同样run值编码为15,level编码为0,last编码为0,接着的16bit采用同样的方式继续编码。游程编码后的ac系数存放在动态存储器DDR中的格式如图6所示,8x8块所有的ac系数都集中存放在一起,一个块存完后,下一个8x8块紧跟着存放,整帧图像都紧凑存放。
第二轮编码见图7所示,首先从S16动态存储器DDR中读取当前8x8块的块类型及dc系数,在步骤S17中还要以当前块为中心,读取周边8x8领域3*3块的块类型和dc系数,位置关系见图8所示,中间current为当前待编码的8x8块。在步骤S18中,对读取的dc系数进行保边滤波操作,保护图像的边沿信息,同时滤除低码率带来的方块效应,保边滤波算法流程图如图9所示,在步骤S23中,首先判读当前块类型是否为平滑块,如果不是平滑块是纹理块,则对当前块不进行保边滤波,直接结束;如果是平滑块,则需要对当前块进行滤波操作,在步骤S24中首先进行初始化,接着执行步骤S25,当前待编码的8x8块dc系数记为current_dc,领域3*3周边块的dc系数记为neighbour_dc[0]~ neighbour_dc[8],计算领域3*3周边块的dc系数减去当前块的dc系数的绝对值,和设定的阈值dc_threshold进行比较,dc_threshold可以根据场景的不同灵活配置,一般场景可设定为64,如果周边块的dc系数减去当前块的dc系数的绝对值小于设定的阈值dc_threshold,,则执行步骤S26,否则跳到S27。在步骤S26中累加领域的dc系数值得到sum_dc,同时,记录下绝对值小于阈值的个数n,接着执行S27,准备对下一个领域块进行计算,接着进入到S28,在步骤S28中,判断9个块是否计算完成,如果没有,则回到步骤S25重新计算,否则,进入到S29,在步骤S29中,对累加得到的sum_dc值取平均,得到当前8x8块滤波后的dc系数值。
在经过步骤S18,得到当前8x8块dc系数值后,然后进入S19,对dc系数值进行量化,在步骤S20对当前块进行DC预测得到dc预测值,用量化后的dc系数值减去dc预测值得到当前块待编码的dc残差,然后进入S22,在步骤S22中,对dc残差进行熵编码。同时,在步骤S21读取ac系数,由于为了节省带宽,在第一轮编码中对ac系数进行了游程编码,在步骤S21中还需要对读进来的数据进行解析得到ac系数,然后进入S22进行熵编码,得到最终的编码数据。
最后需要强调的是,本发明不限于上述实现方式,如平滑块判断方式的变化,参与保边滤波的领域块的形状及个数变化等都应该包含在本发明权利要求的保护范围内。

Claims (1)

1.低码率下JPEG编码的去块效应方法,其特征在于,包括:
将JPEG编码分为两轮,所述第一轮编码特征在于,具体包括如下步骤:
a1、对原始数据进行8x8分块;
a2、对8x8分块数据进行块类型判断;
a3、对8x8的原始数据进行DCT变换;
a4、将DCT变换后的dc系数以及块类型写入动态存储器DDR中,所有块的dc系数以及块类型数据集中紧凑存放;
a5、将DCT变换后的ac系数进行量化;
a6、将量化后的ac系数进行游程编码并写入动态存储器DDR中,所有块的ac系数集中紧凑存放;
所述第二轮编码特征在于,具体包括如下步骤:
b1、读取每个块的dc系数以及块类型,同时以当前块为中心,读取周边领域块3*3的dc系数;
b2、根据当前块的块类型决定是否对当前块的dc系数进行保边滤波操作;
b3、对dc系数进行量化;
b4、对当前块进行DC预测;
b5、读取经过所述第一轮游程编码后的ac系数并解析得到63个ac系数;
b6、对dc残差系数以及ac系数进行熵编码;
所述对当前块的dc系数进行保边滤波操作,特征在于,具体包括如下步骤:
c1、根据当前块的块类型,如果为平滑块,则进行下面所述的步骤,否则,对当前块的dc系数不进行滤波操作;
c2、对领域3*3块的每个dc系数值,减去中心块的dc值,如果差值的绝对值小于设定的dc阈值,则累加此领域块的dc值,否则,此领域块的dc值不参与滤波运算;同时,统计参与运算的领域块的个数;
c3、对周边3*3的每个8x8块都进行上述判断,完成后对得到的累加值进行均值运算,最终得到当前块滤波后的dc系数值。
CN201710893814.6A 2017-11-27 2017-11-27 一种低码率下jpeg编码的去块效应方法 Active CN107623859B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710893814.6A CN107623859B (zh) 2017-11-27 2017-11-27 一种低码率下jpeg编码的去块效应方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710893814.6A CN107623859B (zh) 2017-11-27 2017-11-27 一种低码率下jpeg编码的去块效应方法

Publications (2)

Publication Number Publication Date
CN107623859A true CN107623859A (zh) 2018-01-23
CN107623859B CN107623859B (zh) 2021-11-30

Family

ID=61090952

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710893814.6A Active CN107623859B (zh) 2017-11-27 2017-11-27 一种低码率下jpeg编码的去块效应方法

Country Status (1)

Country Link
CN (1) CN107623859B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108989812A (zh) * 2018-07-16 2018-12-11 电子科技大学 一种基于图像压缩的去块效应方法
CN109218738A (zh) * 2018-07-16 2019-01-15 电子科技大学 一种基于二阶梯度的图像去块效应滤波方法
CN113225556A (zh) * 2021-05-31 2021-08-06 杭州当虹科技股份有限公司 视频编码方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030044080A1 (en) * 2001-09-05 2003-03-06 Emblaze Systems Ltd Method for reducing blocking artifacts
US20070183496A1 (en) * 2006-02-06 2007-08-09 Shinya Kadono Picture decoding method and picture decoding apparatus
CN101616324A (zh) * 2009-07-28 2009-12-30 谭洪舟 压缩编码图像的块效应去除装置
CN102413323A (zh) * 2010-01-13 2012-04-11 ***通信集团广东有限公司中山分公司 一种基于h.264的视频压缩方法
CN106303550A (zh) * 2015-06-11 2017-01-04 华为技术有限公司 去块效应滤波方法和去块效应滤波器

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030044080A1 (en) * 2001-09-05 2003-03-06 Emblaze Systems Ltd Method for reducing blocking artifacts
US20070183496A1 (en) * 2006-02-06 2007-08-09 Shinya Kadono Picture decoding method and picture decoding apparatus
CN101616324A (zh) * 2009-07-28 2009-12-30 谭洪舟 压缩编码图像的块效应去除装置
CN102413323A (zh) * 2010-01-13 2012-04-11 ***通信集团广东有限公司中山分公司 一种基于h.264的视频压缩方法
CN106303550A (zh) * 2015-06-11 2017-01-04 华为技术有限公司 去块效应滤波方法和去块效应滤波器

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
IOAN TABUS; IONUT SCHIOPU; JAAKKO ASTOLA: "Context Coding of Depth Map Images Under the Piecewise-Constant Image Model Representation", 《 IEEE TRANSACTIONS ON IMAGE PROCESSING》 *
孙小叶,刘济林,陈建乐: "一种低码率下简单有效的环路滤波方法", 《浙江大学学报》 *
方涛: "高效视频编码中的去块效应滤波研究", 《中国知网》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108989812A (zh) * 2018-07-16 2018-12-11 电子科技大学 一种基于图像压缩的去块效应方法
CN109218738A (zh) * 2018-07-16 2019-01-15 电子科技大学 一种基于二阶梯度的图像去块效应滤波方法
CN109218738B (zh) * 2018-07-16 2021-02-02 电子科技大学 一种基于二阶梯度的图像去块效应滤波方法
CN108989812B (zh) * 2018-07-16 2021-02-02 电子科技大学 一种基于图像压缩的去块效应方法
CN113225556A (zh) * 2021-05-31 2021-08-06 杭州当虹科技股份有限公司 视频编码方法

Also Published As

Publication number Publication date
CN107623859B (zh) 2021-11-30

Similar Documents

Publication Publication Date Title
US8139651B2 (en) Video deblocking filter
US11284117B2 (en) Deblocking filtering
EP2938075B1 (en) Deblocking filtering
JP4886985B2 (ja) クロマ・デブロッキングのための方法およびビデオコーデック
EP2708027B1 (en) Method and apparatus for reduction of in-loop filter buffer
CN103947208B (zh) 减少解块滤波器的方法及装置
CN102164278B (zh) 用于去除i帧闪烁的视频编码方法及其装置
US20030035586A1 (en) Decoding compressed image data
CN107623859A (zh) 一种低码率下jpeg编码的去块效应方法
CN101167369A (zh) 帧速率上转换应用中的经内插帧解块操作
CN102077590A (zh) 滤波装置
JP2005524346A5 (zh)
CN113301334A (zh) 视频编码样本自适应滤波的方法和装置
CN101321290B (zh) 基于数字信号处理器的去块滤波方法
CN101267560A (zh) 去块滤波方法及装置
CN111669584A (zh) 一种帧间预测滤波方法、装置和计算机可读存储介质
CN107040778A (zh) 环路滤波方法以及环路滤波装置
EP3829167B1 (en) Decoding prediction method and apparatus, and computer storage medium
CN106303550B (zh) 去块效应滤波方法和去块效应滤波器
CN107172423B (zh) 一种对视频帧进行滤波的方法及装置
JP2002077909A (ja) 画像符号化装置および画像符号化方法およびその方法を記述したプログラムを記録した記録媒体
JP4449430B2 (ja) 画像処理装置および画像処理方法、プログラム、並びに記録媒体
JP3702185B2 (ja) 画像符号化装置と画像復号装置および画像符号化方法と画像復号方法および画像符号化プログラムを記録した記録媒体と画像復号プログラムを記録した記録媒体および画像符号化プログラムと画像復号プログラム
JP3715273B2 (ja) 画像データの平滑化処理装置、平滑化処理方法及び平滑化処理プログラム
JP2015080115A (ja) 画像符号化装置、画像符号化方法、及びプログラム

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant