CN104754363B - 用于hevc的环路滤波方法及装置、编码器及解码器 - Google Patents

用于hevc的环路滤波方法及装置、编码器及解码器 Download PDF

Info

Publication number
CN104754363B
CN104754363B CN201310754390.7A CN201310754390A CN104754363B CN 104754363 B CN104754363 B CN 104754363B CN 201310754390 A CN201310754390 A CN 201310754390A CN 104754363 B CN104754363 B CN 104754363B
Authority
CN
China
Prior art keywords
filtering
module
data
memory module
row
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.)
Active
Application number
CN201310754390.7A
Other languages
English (en)
Other versions
CN104754363A (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.)
Spreadtrum Communications Shanghai Co Ltd
Original Assignee
Spreadtrum Communications Shanghai 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 Spreadtrum Communications Shanghai Co Ltd filed Critical Spreadtrum Communications Shanghai Co Ltd
Priority to CN201310754390.7A priority Critical patent/CN104754363B/zh
Publication of CN104754363A publication Critical patent/CN104754363A/zh
Application granted granted Critical
Publication of CN104754363B publication Critical patent/CN104754363B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

一种用于HEVC的环路滤波方法及装置、编码器及解码器,所述装置包括:第一存储模块,适于存储当前CTU上方上一行已水平滤波的数据;第二存储模块,适于存储当前CTU左方最右边4列数据;第三存储模块,适于存储未经去块效应滤波的数据;读写模块,适于从所述第一、第二、第三存储模块读取数据形成去块效应基本单元并存储至第一寄存模块;将第一寄存模块中存储的已滤波后的去块效应基本单元的数据写入相应的存储模块;第一寄存模块,适于存储滤波前后的去块效应基本单元;第一滤波运算模块,适于对第一寄存模块中的去块效应基本单元进行滤波,并输出至第一寄存模块;第一控制模块,适于调度和控制读写模块以及第一滤波运算模块。所述方案可减少硬件开销。

Description

用于HEVC的环路滤波方法及装置、编码器及解码器
技术领域
本发明涉及视频编码技术领域,尤其涉及一种用于高效率视频编码(HighEfficiency Video Coding,HEVC)的环路滤波方法及装置、编码器及解码器。
背景技术
HEVC是由国际电信组织(International Telecommunication Union,ITU)和运动图像专家组(Moving Picture Experts Group,MPEG)联合制定的下一代国际视频编码标准。与现有的国际标准H.264/AVC相比,HEVC在保证图像质量的前提下,可以将视频的码率降低50%,也就是说,可以达到H.264两倍的编码效率。
HEVC作为新一代的视频压缩标准,因为其优越的压缩性能,被广泛地用于超高清视频中。HEVC在提高压缩率的同时,其运算复杂度也相应增加。并且,因为超高清视频图像具有4Kx2K像素的分辨率,是1080P的4倍像素,其需要处理的数据量很大,如此高的运算复杂度和数据量对HEVC各模块的性能提出了极高的要求。
HEVC是一种基于块预测和变换编码的视频编解码***,会在块的边界出现不连续现象,这种现象叫做块效应。为了减少块效应,在HEVC中使用了去块效应滤波器。现有的去块效应滤波器架构中,为了达到4Kx2K像素的分辨率、30fps的帧速率,采用了多个去块效应滤波运算单元并行处理,并采用多块双口RAM来提高数据读写速率。
上述方案由于需要多套并行的去块效应滤波运算单元和多块双口随机存取存储器(Random Access Memory,RAM),因此硬件开销较大。
发明内容
本发明实施例解决的问题是如何在保证相同的帧速率的情况下,减少硬件开销。
为解决上述问题,本发明实施例提供了一种用于HEVC的环路滤波装置,所述装置包括:
第一存储模块,适于存储当前编码树单元CTU上方上一行已水平滤波的数据;
第二存储模块,适于存储当前CTU左方最右边4列数据;
第三存储模块,适于存储未经过去块效应滤波处理的数据;
读写模块,适于读写数据,所述读写数据包括:从所述第一、第二、第三存储模块读取数据形成去块效应基本单元并存储至第一寄存模块;将所述第一寄存模块中存储的已滤波后的去块效应基本单元的数据写入相应的存储模块;其中:所述去块效应基本单元包括3行2列共6个4x4的数据块,所述当前去块效应基本单元中的第一行数据来自第一存储模块,所述去块效应基本单元中的第二、第三行数据来自第三存储模块,且当读取数据为当前CTU第一列时,所述去块效应基本单元中第二、第三行的第一列数据来自所述第二存储模块;
第一寄存模块,适于存储滤波前和滤波后的去块效应基本单元;
第一滤波运算模块,适于对所述第一寄存模块中的去块效应基本单元按照先对垂直边界后对水平边界的顺序进行去块效应滤波,并输出至所述第一寄存模块;
第一控制模块,适于调度和控制所述读写模块读写数据以及第一滤波运算模块进行去块效应滤波运算。
可选的,所述第一寄存模块包括:第一寄存器和第二寄存器,分别适于存储滤波前和滤波后的去块效应基本单元;所述第一控制模块还适于控制所述第一寄存器和第二寄存器之间的数据交换。
可选的,所述装置还包括:第一配置模块,适于配置所述第一滤波运算模块的参数。
可选的,所述装置还包括:第四存储模块,适于存储所述第一读写模块输出的去块效应滤波后的数据。
可选的,所述第一、第二、第三、第四存储模块均为SRAM。
可选的,所述装置还包括:
第五存储模块,适于存储当前CTU上一个CTU行的倒数第5行数据;
第六存储模块,适于存储当前CTU左边CTU右数第5至12列共8列数据;
读取模块,适于从所述第四、第五、第六存储模块读取数据,形成一个像素自适应滤波行;
第二寄存模块,适于存储4个连续的像素自适应滤波行;
第三控制模块,适于控制所述第二寄存模块中的像素自适应滤波行的移位存储;
第二滤波运算模块,用于进行像素自适应滤波,包括至少两个并行处理的像素自适应滤波单元;
第二控制模块,适于调度和控制所述读取模块读取数据,调度和控制所述第三控制模块对所述第二寄存器中的像素自适应滤波行进行行移位存储操作,以及调度和控制所述第二滤波运算模块进行像素自适应滤波。
可选的,所述像素自适应滤波行包括10个像素,所述读取模块,适于在所述像素自适应像素行是第0行时,从所述第五存储模块读取;在是非0行时,判断所读取的列数,如果是第0列,从所述第六存储模块读取,如果是第1列,前5个像素从所述第六存储模块,后5个像素点从第四存储模块读取;否则,从所述第四存储模块读取。
可选的,所述第二滤波运算模块包括4个并行处理的像素自适应滤波单元。
可选的,所述装置还包括:第二配置模块,适于配置所述第二滤波运算模块的滤波参数。
可选的,所述装置还包括:第七存储模块,适于存储所述第二滤波运算模块输出的滤波数据。
为解决上述问题,本发明实施例还提供了一种视频编码器,包括上述的用于HEVC的环路滤波装置。
为解决上述问题,本发明实施例还提供了一种视频解码器,包括上述的用于HEVC的环路滤波装置。
为解决上述问题,本发明实施例还提供了一种用于HEVC的环路滤波方法,所述方法包括:
分别从第一、第二、第三存储模块读取数据形成去块效应基本单元,所述去块效应基本单元包括3行2列共6个4x4的数据块,所述读写数据包括:从所述第一存储模块中读取数据作为所述去块效应滤波单元中的第一行;当读取数据为当前CTU第一列时,从所述第二存储模块中读取数据作为所述去块效应基本单元中第二、第三行的第一列数据;当读取数据为当前CTU非第一列时,从所述第三存储模块读取数据作为所述去块效应基本单元中的第二、第三行数据;其中:所述第一存储模块存储有当前CTU上方上一行已水平滤波的数据,所述第二存储模块存储有当前CTU左方最右边4列数据,所述第三存储模块存储有未经过去块效应滤波处理的数据;
将分别从第一、第二、第三存储模块读取数据形成的去块效应基本单元存储入第一寄存模块;
从所述第一寄存模块读取去块效应基本单元,并按照先对垂直边界后对水平边界的顺序进行去块效应滤波,并输出至所述第一寄存模块;
将所述第一寄存模块中存储的已滤波处理后的去块效应基本单元中的数据写出至相应的存储模块。
可选的,所述第一寄存模块包括第一寄存器和第二寄存器,所述环路滤波方法还包括:将所述第一寄存器中存储的未滤波的去块效应基本单元和第二寄存器中存储的已滤波的去块效应基本单元进行数据交换。
可选的,所述将所述第一寄存模块中存储的已滤波处理后的去块效应基本单元中的数据写出至相应的存储模块,包括:
将所述第一寄存模块存储的已滤波后的去块效应基本单元中的第二、第三行输出至第四存储模块;
将所述第一寄存模块存储的已滤波后的去块效应基本单元中第三行数据存储至所述第一存储模块;
将所述第一寄存模块存储的已滤波后的去块效应基本单元中第二、三行中的第二列数据存储至所述第二存储模块。
可选的,所述方法还包括:
分别从所述第四存储模块,以及第五、第六存储模块读取数据,形成一个像素自适应滤波行;
将所读取的像素自适应滤波行进行存储入第二寄存模块,形成4个连续的像素自适应滤波行;
采用第二滤波运算模块进行像素自适应滤波,所述第二滤波运算模块中包含至少两个并行处理的像素自适应滤波单元。
可选的,所述分别从所述第四存储模块,以及第五、第六存储模块读取数据,形成一个像素自适应滤波行,包括:
在所述像素自适应像素行是第0行时,从第五存储模块读取;在是非0行时,判断所读取的列数,如果是第0列,从第六存储模块读取,如果是第1列,前5个像素从第六存储模块,后5个像素点从第四存储模块读取;否则,从第四存储模块读取。
可选的,所述进行像素自适应滤波,包括:采用4个并行的像素自适应滤波单元对输入的数据进行像素自适应滤波并输出。
与现有技术相比,本发明实施例的技术方案具有以下优点:
通过预先分别从第一、第二、第三存储模块中读取数据形成去块效应基本单元存入第一寄存模块,并以去块效应基本单元为基本滤波单位,对所述去块效应基本单元按照先对垂直边界后对水平边界的顺序进行去块效应滤波,并将滤波后的数据传输至所述第一寄存模块,之后将所述第一寄存模块存储的已滤波后的去块效应基本单元中的数据块写出至相应的存储模块,由于通过复用第一、第二存储模块以及第一寄存模块进行数据的读写操作,整个滤波过程只需采用一个去块效应滤波运算模块(即第一滤波运算模块),以及一套单口存储模块(包括第一、第二、第三存储模块),在采用同样时钟频率的滤波运算模块的前提下,即可实现相同的帧速率,因此可以节省硬件开销,降低硬件成本。
进一步地,通过采用第一寄存器和第二寄存器存储滤波前和滤波后的去块效应基本单元,通过直接对所述第一寄存器和第二寄存器中存储的去块效应基本单元进行数据交换操作,通过增加一个寄存器,仅增加了微量的硬件开销,可以节约数据读取时间,在采用同样时钟频率的滤波运算模块的前提下,使帧速率加倍。
通过从第四存储模块,以及第五、第六存储模块读取数据,形成一个像素自适应滤波行存入第二寄存模块,并通过像素自适应滤波行的循环移位,使得读取模块的读取速度与第二滤波运算模块的滤波速度相一致,在采用同样频率的像素自适应滤波运算单元的情况下,仅需少量的像素自适应滤波单元进行并行处理,即可达到相同的帧速率,因此可以减少硬件开销。
在所述第二滤波运算模块中采用4个自适应滤波运算器进行并行处理时,可以使读取速度和滤波运算速度完全同步,在采用同样频率的像素自适应滤波运算器的情况下,以较小的硬件代价,可以使帧速率加倍。
附图说明
图1是本发明实施例中用于HEVC的环路滤波装置的结构示意图;
图2是本发明实施例中去块效应滤波数据的示意图;
图3是本发明实施例中用于HEVC的环路滤波方法的流程图;
图4是本发明实施例中用于HEVC的环路滤波装置的结构示意图;
图5是本发明实施例中像素自适应滤波顺序的示意图;
图6是本发明实施例中用于HEVC的环路滤波方法的流程图。
具体实施方式
HEVC是一种基于块预测和变换编码的视频编解码***,会在块的边界出现不连续现象,这种现象叫做块效应。经研究发现,块效应产生的原因有两个,一个是量化时分块处理过程中的量化相对粗糙,使解码器在反量化恢复过程的变换系数带有误差,另一个是运动补偿时不同分块利用不同位置的参考块数据进行插值时数据的误差,这都会造成图像在分块便捷的视觉上的不连续,为了减少这种块效应,在HEVC中使用了相应的滤波器。现有的去块效应滤波器架构中,对于4Kx2K像素的分辨率的图像,为了达到30帧/秒的帧速率,采用了多个去块效应滤波运算单元并行处理,并采用多块双口RAM来提高数据读写速率,硬件开销较大。
为解决上述问题,本发明实施例中,通过预先分别从第一、第二、第三存储模块中读取数据形成去块效应基本单元,存入第一寄存模块,并以去块效应基本单元为基本滤波单位,对所述去块效应基本单元按照先对垂直边界后对水平边界的顺序进行去块效应滤波,并将滤波后的数据传输至所述第一寄存模块,之后将所述第一寄存模块存储的已滤波后的去块效应基本单元中的数据块写出至相应的存储模块。整个过程中,通过复用第一、第二存储模块以及采用第一寄存模块进行数据的读写操作,整个滤波过程只需采用一个去块效应滤波运算模块(即第一滤波运算模块),以及一套单口存储模块(包括第一、第二、第三存储模块),在采用同样时钟频率的滤波运算模块的前提下,即可实现相同的帧速率,因此可以节省硬件开销,降低硬件成本。
为使本发明实施例的上述目的、特征和优点能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。
参照图1所示的用于HEVC的环路滤波装置的结构示意图,所述环路滤波装置包括第一存储模块11、第二存储模块12、第三存储模块13、读写模块14、第一寄存模块15、第一滤波运算模块16和第一控制模块17,其中:
第一存储模块11,适于存储当前编码树单元(Coding Tree Unit,CTU)上方上一行已水平滤波的数据;
第二存储模块12,适于存储当前CTU左方最右边4列数据;
第三存储模块13,适于存储未经过去块效应滤波处理的数据;
读写模块14,适于读写数据,所述读写数据包括:从所述第一、第二、第三存储模块11、12、13读取数据形成去块效应基本单元,并将所读取的CTU数据存储至第一寄存模块11;将所述第一寄存模块15中存储的已滤波后的去块效应基本单元中的数据块写入相应的存储模块;
第一寄存模块15,适于存储滤波前和滤波后的去块效应基本单元;
第一滤波运算模块16,适于对第一寄存模块15中的去块效应基本单元按照先对垂直边界后对水平边界的顺序进行去块效应滤波,并输出至第一寄存模块15;
第一控制模块17,适于调度和控制读写模块14读写数据以及第一滤波运算模块16进行去块效应滤波运算。
其中,CTU为HEVC中的基本编码单元,CTU最大支持64x64个区块(Coding Unit,CU),每个CU为一个4x4的块。参照图2所示的去块效应滤波数据的示意图,其中,CTU21、22、23包含CU的数目依次为32x32、16x16、16x16。为对所述CTU进行去块效应滤波,在本发明实施例中,采用一个去块效应基本单元作为一个基本的滤波单元,如图2所示,去块效应基本单元24可以包括3行2列共6个4x4的数据块:块0至块5。
以下结合图1和图2对去块效应滤波单元24进行详细说明:当前去块效应基本单元24中的第一行数据,即块0和块1,可以来自第一存储模块11,当前去块效应基本单元24中的第二、第三行数据,即块2至块5,可以来自第三存储模块13,或者同时来自第二存储模块12和第三存储模块13。在本发明实施例中,当读取数据为当前CTU第一列时,去块效应基本单元24中第二、第三行的第一列数据,即块2和块4;去块效应基本单元24中第二、第三行的第二列数据,即块3和块5,来自第三存储模块13。
参照图3所示的用于HEVC的环路滤波方法的流程图,以下通过具体流程说明上述用于HEVC的环路滤波装置的工作原理:
S31,分别从第一、第二、第三存储模块11、12、13读取数据形成去块效应基本单元24。
参照图2,去块效应滤波基本单元24包括3行2列共6个4x4的数据块,即块0至块5。本实施例中具体读取方法如下:从第一存储模块11中读取数据作为所述去块效应滤波单元24中的第一行,即作为块0和块1。当读取数据为当前CTU第一列时,从第二存储模块12中读取数据作为去块效应基本单元24中第二、第三行的第一列数据,即块2和块4,从第三存储模块13中读取数据作为去块效应基本单元24中第二、第三行的第二列数据,即块3和块5;当读取数据为当前CTU非第一列时,从第三存储模块23读取数据作为去块效应基本单元24中的第二、第三行数据,即块2、块3、块4和块5。
在具体实施中,所述第一、第二、第三存储模块11、12、13可以采用SRAM作为片上缓存。
其中,第一存储模块11存储有当前CTU上方上一行已水平滤波的数据,第二存储模块12存储有当前CTU左方最右边4列数据,第三存储模块13存储有未经过去块效应滤波处理的数据。第三存储模块13中未经处理的数据可能来自于上一级硬件模块处理完的未经过去块效应滤波的重建数据,也可以是从片外读入的未经去块效应滤波的重建数据。
S32,将分别从第一、第二、第三存储模块11、12、13中读取数据形成的去块效应基本单元24存储入第一寄存模块15。
S33,从第一寄存模块15读取未经滤波处理的去块效应基本单元24,按照先对垂直边界后对水平边界的顺序进行去块效应滤波,并输出至所述第一寄存模块。
参照图2,其中的竖直加粗实线28表示需要进行水平滤波的垂直边界,水平加粗虚线29表示需要进行垂直滤波的水平边界。本发明实施例中,即先对所读取的一个去块效应基本单元24中的竖直加粗实线28所表示的垂直边界,后对所述去块效应基本单元24中的水平加粗虚线29所表示的水平边界的顺序,进行去块效应滤波。
S34,将第一寄存模块15中存储的已滤波处理后的去块效应基本单元24中的数据写出至相应的存储模块。
在具体实施中,可以将第一寄存模块15中存储的已滤波处理后的数据直接输出,也可以暂存,以用于后级硬件模块对所述数据作进一步的处理,例如,对所述数据进一步作自适应滤波处理。
在本发明实施例中,可以将第一寄存模块15存储的已滤波后的去块效应基本单元数据,即块0至块5,输出至第四存储模块18,将第一寄存模块15存储的已滤波后的去块效应基本单元24中第三行数据,即块4和块5存储至第一存储模块11,将第一寄存模块15存储的已滤波后的去块效应基本单元24中第二、三行中的第二列数据,即块3和块5,存储至第二存储模块12。
从上述实施例可以看出,由于分别从第一、第二、第三存储模块11、12、13中读取数据形成去块效应基本单元24存入第一寄存模块15,并以去块效应基本单元24为基本滤波单位,对所述去块效应基本单元24按照先对垂直边界后对水平边界的顺序进行去块效应滤波,并将滤波后的数据传输至所述第一寄存模块15,之后将所述第一寄存模块15存储的已滤波后的去块效应基本单元中的数据块写出至相应的存储模块,整个过程中,通过复用第一、第二存储模块11、12、13以及第一寄存模块15进行数据的读写操作,整个滤波过程只需采用一个滤波运算模块(即第一滤波运算模块16),以及一套单口存储模块(包括第一、第二、第三存储模块11、12、13),在采用同样时钟频率的滤波运算模块的条件下,可以实现相同的帧速率。
例如,现有的通常采用两个或四个时钟频率为200MHz左右的去块效应滤波单元并行执行。在本发明实施例中,仅采用一个时钟频率为200MHz的去块效应滤波运算模块,对于一个去块效应基本单元,读取需要16个周期(cycle),运算需要16个cycle,总共需要32个cycle。而对于一个大小为32x32的CTU来说,总共有24个去块效应基本单元需要处理,即需要:24x32=768个cycle,如果达到4Kx2K像素的分辨率、30fps帧速率,对每一个32x32的CTU时的要求为200M/(30x(4Kx2K)/(32x32))=856个cycle,大于实际消耗的768个cycle,因此可以实现4Kx2K像素的分辨率、30帧/秒的帧速率,因此可以节省硬件开销,降低硬件成本。
在具体实施中,本发明实施例中的第一寄存模块15可以仅采用一个寄存器,也可以采用两个寄存器,如图1所示,第一寄存模块15可以包括第一寄存器151和第二寄存器152,分别适于存储滤波前和滤波后的去块效应基本单元24。在具体实施中,可以直接将所述第一寄存器中存储的未滤波的去块效应基本单元和第二寄存器中存储的已滤波的去块效应基本单元进行数据交换。相应地,第一控制模块17还适于控制所述第一寄存器151和第二寄存器152之间的数据交换,以加快读写速度,提高所述环路滤波装置的滤波效率,通过上述第一寄存器151和第二寄存器152的设置,仅增加了一个寄存器,可以以较小的硬件代价,将所述环路滤波装置的帧速率提高一倍。对于前述时钟频率为200MHz的滤波装置,即可达到4Kx2K像素的分辨率、60fps的帧速率。
上述实施例采用两个寄存器的用于HEVC的环路滤波装置的滤波方法主要涉及对数据的读写操作,以及具体的去块效应滤波过程:
读写操作:如果第一寄存器151中的数据为去块效应滤波后的数据,则将块0至块5写至第四存储模块18中,同时将块4和块5写至第一存储单元11中;如果所述第一、第二、第三存储模块11、12、13中还有需要读取的数据,则从第三存储单元13读取数据作为块3和块5至第一寄存器151,从第二存储模块12或第三存储模块13中读取数据作为块2和块4至第一寄存器151,从第一存储模块读取数据作为块0和块1至第一寄存器151。
当第一寄存器151中具有有效数据时,即存储有一个去块效应基本单元时,可以和第二寄存器152进行数据交换,将未滤波数据传输至第二寄存器152,将已滤波数据传输至第一寄存器151。
滤波操作:如果第二寄存器152中存储有一个去块效应基本单元时,第一滤波运算单元即可对所述去块效应基本单元进行去块效应滤波。
当处理完一个去块效应基本单元后,接着对下一个去块效应基本单元进行处理,直至所有的去块效应基本单元均滤波完成并输出。其中,去块效应滤波的过程和上述的读写过程并行执行,因此可以提高处理速度。
如图1所示,在具体实施中,所述环路滤波装置还可以包括第一配置模块19,适于配置所述第一滤波运算模块的参数,例如边界滤波强度(Boundary filtering Strength,BS),量化参数(Quantization Parameter,Qp)等去块效应滤波参数,从而可以根据实际情况,对上述参数进行相应配置,实现更好的滤波性能,这里不再赘述。
经研究发现,由于HEVC采用了更大的变换大小(最大支持32x32)和更多的帧间插值抽头数,其中亮度采用8抽头(8-tap),色度采用4-tap,会引入更多的振铃效应(RingingArtifacts),为降低这种效应,进一步提高图像质量,还可以进一步对其进行像素自适应滤波。
现有技术中采用了一种以8x8为基本单元的像素自适应滤波器架构,其采用大量的寄存器来存储8x8边界的像素,并采用64个像素自适应滤波运算单元并行计算,硬件开销很大。
为解决上述问题,本发明实施例提供一种用于HEVC的环路滤波器,采用基于行的像素自适应滤波器架构,在采用很少的像素自适应滤波运算单元并行的情况下,在滤波装置具有同样时钟频率的情况下,即可实现同样的帧速率。
参照图4所示的环路滤波装置的结构示意图,为清楚起见,图4中仅示出所述环路滤波装置的新增加部分的结构示意图,所述环路滤波装置可包括:
第四存储模块41,适于存储像素自适应滤波的输入数据;
第五存储模块42,适于存储当前CTU上一个CTU行的倒数第5行数据;
第六存储模块43,适于存储当前CTU左边CTU右数第5至12列共8列数据;
读取单元44,适于从所述第四、第五、第六存储模块41、42、43读取数据,形成一个像素自适应滤波行;
第二寄存模块45,适于存储4个连续的像素自适应滤波行;
第三控制模块46,适于控制所述第二寄存模块45中的像素自适应滤波行进行行移位存储操作;
第二滤波运算模块47,用于进行像素自适应滤波;
第二控制模块48,用于调度和控制所述读取模块44读取数据以及所述第二滤波运算模块进行像素自适应滤波。
所述第二滤波运算模块47包括至少2个并行处理的像素自适应滤波单元。
在具体实施中,第四存储模块41中存储的待像素自适应滤波数据可以来自去块效应滤波器的输出,如可以是图1所示实施例中读写模块14的写出数据,换句话说,图4所示的第四存储模块41与图1中的第四存储模块18是同一个存储模块。
在具体实施中,读取模块44可以首先根据CTU的大小,计算出所需处理的列数,以及每列中待处理的行数,并可以根据所读取的行列数选择从相应的存储模块读取待滤波行,本实施例中每个像素自适应滤波行有10个像素,具体可以按照如下规则执行:如果是第0行,从第五存储模块42读取;如果是非0行,判断所读取的列数,如果是第0列,所有数据从第六存储模块43读取,如果是第1列,前5个像素从第六存储模块43,后5个像素点从第四存储模块41读取;否则,所有像素均从第四存储模块41读取。
第二寄存模块45可以采用一个4行寄存器,每行可以存放10个像素,读取模块44一次读取一个像素行,并存储至第二寄存模块45中,当第二寄存模块45中存储的像素行有3行时,第二滤波运算模块47即可从第二寄存模块45中读取数据,进行像素自适应滤波,具体的,可以按照从上到下的顺序,对所述第二寄存模块45中存储的至少1行数据进行逐行处理,处理完一列再进行下一列的滤波顺序进行像素自适应滤波并输出。
在具体实施中,可以采用第三控制模块46来控制这个4行寄存器中像素行循环移位存储操作,以使得第二滤波运算模块47的滤波运算操作和所述读取模块44的读取操作可以并行处理,提高数据处理效率。
在本发明实施例中,为减少硬件开销,可以使用尽量少的像素自适应滤波单元的个数。第二滤波运算模块47可以采用2个像素自适应滤波单元进行并行处理,也可以采用4个像素自适应滤波单元进行并行处理。
具体来说,当采用2个像素自适应滤波单元进行并行处理时,由于每个像素行中实际有8个像素是需要滤波的数据,而每个像素自适应滤波单元一次只能处于一个像素,对于每个像素行,需要2个时钟周期才能处理完需要处理的8个像素,相应地,读取模块44可以每两个时钟周期读取一个像素行。
而如果采用4个像素自适应滤波单元进行并行处理,则只需要一个时钟周期即可处理完一个像素行需要处理的8个像素,相应地,读取模块44可以每一个时钟周期读取一个像素行,从而可以时整个HEVC环路滤波器像素自适应滤波的效率提高一倍,在小量增加硬件开销的情况下,大幅提高了***性能。
例如,对于时钟频率同样为200MHz的滤波装置,如果采用2个像素自适应滤波单元并行处理,对于4Kx2K像素分辨率的图像,可以达到30fps的帧速率,如果采用4个像素自适应滤波单元并行处理,对于4Kx2K像素的分辨率的图像,可以达到60fps的帧速率。
在具体实施中,本发明实施例中用于HEVC的环路滤波装置还可包括:第二配置模块49,适于配置所述第二滤波运算模块47的滤波参数,配置参数包括像素自适应滤波器的类型(SAO type),像素自适应滤波的偏移(SAO offset)等。如果是边缘偏移滤波的话,还有边缘类型(EO class),如果是频带偏移滤波的话,还有频带起始位置(band position)。
在具体实施中,本发明实施例中用于HEVC的环路滤波装置还可包括:第七存储模块50,适于存储第二滤波运算模块47输出的滤波数据。
在具体实施中,所述第四、第五、第六、第七存储模块均可以采用SRAM等作为片上缓存。
参照图6所示的环路滤波方法的流程图,以下结合流程图详细说明本发明实施例的滤波方法:
S61,分别从第四、第五、第六存储模块41、42、43读取数据,形成一个像素自适应滤波行;
在具体实施中,可以根据CTU的大小,算出所需处理的列数,以及每列中待处理的行数,然后分别从第四、第五、第六存储模块41、42、43中读取相应的像素行。在具体实施中,每个像素行可以有10个像素,其中有8个为需要自适应滤波的像素。具体可以按照如下规则读取:
1)如果是第0行,从第五存储模块42读取;
2)否则,
i)如果是第0列,所有数据从第六存储模块43读取;
ii)如果是第1列,前5个数据从第六存储模块43读取,后5个数据从第四存储模块41读取。
否则,所有数据从第四存储模块41读取。
S62,将所读取的像素自适应滤波行存储入第二寄存模块45,形成4个连续的像素自适应滤波行;
在具体实施中,为提高滤波速度,避免数据读取操作占用过多的时间或存储空间,第二寄存模块所采用的4行寄存器可以采用如下的方式进行存储:
假设i为当前正在进行滤波的行数,根据HEVC标准的规定,用于图像边缘部分的像素自适应滤波器包括边缘偏移(Edge Offset,EO)和带宽偏移(Band Offset,BO)两部分,EO本质上是一个3x3模板的滤波器,需要周围的8个像素中的两个进行来进行运算,因此需要i-1行和i+1行,也需要j-1列和j+1列。
S63,采用第二滤波运算模块进行像素自适应滤波,所述第二滤波运算模块包括至少并行处理的两个像素自适应滤波单元。
第二滤波运算模块可以按照从上到下的顺序,对所述第二寄存模块中存储的像素自适应滤波行数据进行逐行处理,处理完一列再进行下一列的滤波顺序进行像素自适应滤波并输出。
在具体实施中,可以采用2个像素自适应滤波单元对输入的待滤波数据并行处理,也可以采用4个并行的像素自适应滤波单元对输入的数据进行像素自适应滤波并输出。
如图5所示,其中,0,1,2,3表示像素自适应滤波过程中滤波的列数。图中的箭头表示在每一列中采用从上到下逐行进行的方式采用从上到下的顺序逐行处理,处理完一列再进行下一列滤波的顺序。这样,每往下一行,只用更新一行数据即可,从而可以提高滤波效率。
图4所示的第三控制模块46可以将所读取的实际像素行的行数与0x3进行相与,即可得到所述像素行在所述4行寄存器中实际存储的行寄存器中的位置。具体说来:假设第i-1行的数据存放在(i-1)&0x3行寄存器中,第i行的数据存放在i&0x3行寄存器中,第i+1行数据存放在(i+1)&0x3行寄存器中,这3行寄存器用来进行像素自适应滤波,此时,第(i+2)&0x3行寄存器用来进行数据的读取,读取的数据来自第i+2行。
依照上述移位控制规则,可以依次读取第四、第五、第六存储模块41、42、43中的数据到(i+2)&0x3行寄存器。同时,如果另外3行寄存器中有有效的数据,则进行像素自适应滤波运算,并输出滤波后的数据。如果当前仍有未完成滤波的行,则将i置为i+1,重复执行上述步骤。如果当前列所有行均已完成像素自适应滤波运算,并且还有未滤波的列,则将i置为0,重复上述步骤开始下一列的滤波;否则,结束像素自适应滤波。
在具体实施中,上述实施例中的HEVC的环路滤波装置即可以用于视频编码器中,也可以用于解码器中。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:ROM、RAM、磁盘或光盘等。
虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。

Claims (18)

1.一种用于HEVC的环路滤波装置,其特征在于,包括:
第一存储模块,适于存储当前编码树单元CTU上方上一行已水平滤波的数据;
第二存储模块,适于存储当前CTU左方最右边4列数据;
第三存储模块,适于存储未经过去块效应滤波处理的数据;
读写模块,适于读写数据,所述读写数据包括:从所述第一、第二、第三存储模块读取数据形成去块效应基本单元并存储至第一寄存模块;将所述第一寄存模块中存储的已滤波后的去块效应基本单元的数据写入相应的存储模块;其中:所述去块效应基本单元包括3行2列共6个4x4的数据块,所述当前去块效应基本单元中的第一行数据来自第一存储模块,所述去块效应基本单元中的第二、第三行数据来自第三存储模块,且当读取数据为当前CTU第一列时,所述去块效应基本单元中第二、第三行的第一列数据来自所述第二存储模块;
第一寄存模块,适于存储滤波前和滤波后的去块效应基本单元;
第一滤波运算模块,适于对所述第一寄存模块中的去块效应基本单元按照先对垂直边界后对水平边界的顺序进行去块效应滤波,并输出至所述第一寄存模块;
第一控制模块,适于调度和控制所述读写模块读写数据以及第一滤波运算模块进行去块效应滤波运算。
2.如权利要求1所述的用于HEVC的环路滤波装置,其特征在于,所述第一寄存模块包括:第一寄存器和第二寄存器,分别适于存储滤波前和滤波后的去块效应基本单元;
所述第一控制模块还适于控制所述第一寄存器和第二寄存器之间的数据交换。
3.如权利要求1所述的用于HEVC的环路滤波装置,其特征在于,还包括:第一配置模块,适于配置所述第一滤波运算模块的参数。
4.如权利要求1至3任一项所述的用于HEVC的环路滤波装置,其特征在于,还包括:第四存储模块,适于存储所述读写模块输出的去块效应滤波后的数据。
5.如权利要求4所述的用于HEVC的环路滤波装置,其特征在于,所述第一、第二、第三、第四存储模块均为SRAM。
6.如权利要求4所述的用于HEVC的环路滤波装置,其特征在于,还包括:
第五存储模块,适于存储当前CTU上一个CTU行的倒数第5行数据;
第六存储模块,适于存储当前CTU左边CTU右数第5至12列共8列数据;
读取模块,适于从所述第四、第五、第六存储模块读取数据,形成一个像素自适应滤波行;
第二寄存模块,适于存储4个以上连续的像素自适应滤波行;
第三控制模块,适于控制所述第二寄存模块中的像素自适应滤波行的移位存储;
第二滤波运算模块,适于进行像素自适应滤波,包括至少两个并行处理的像素自适应滤波单元;
第二控制模块,适于调度和控制所述读取模块读取数据,调度和控制所述第三控制模块对所述第二寄存器中的像素自适应滤波行进行行移位存储操作,以及调度和控制所述第二滤波运算模块进行像素自适应滤波。
7.如权利要求6所述的用于HEVC的环路滤波装置,其特征在于,所述像素自适应滤波行包括10个像素,所述读取模块适于在所述像素自适应像素行是第0行时,从第五存储模块读取;在是非0行时,判断所读取的列数,
如果是第0列,从第六存储模块读取,如果是第1列,前5个像素从第六存储模块,后5个像素点从第四存储模块读取;否则,从所述第四存储模块读取。
8.如权利要求6所述的用于HEVC的环路滤波装置,其特征在于,所述第二滤波运算模块包括4个并行处理的像素自适应滤波单元。
9.如权利要求6所述的用于HEVC的环路滤波装置,其特征在于,还包括:第二配置模块,适于配置所述第二滤波运算模块的滤波参数。
10.如权利要求6所述的用于HEVC的环路滤波装置,其特征在于,还包括:第七存储模块,适于存储所述第二滤波运算模块输出的滤波数据。
11.一种视频编码器,其特征在于,包括如权利要求1至10任一项所述的用于HEVC的环路滤波装置。
12.一种视频解码器,其特征在于,包括如权利要求1至10任一项所述的用于HEVC的环路滤波装置。
13.一种用于HEVC的环路滤波方法,其特征在于,包括:
分别从第一、第二、第三存储模块读取数据形成去块效应基本单元,所述去块效应基本单元包括3行2列共6个4x4的数据块,所述读取数据包括:从所述第一存储模块中读取数据作为所述去块效应滤波单元中的第一行;当读取数据为当前CTU第一列时,从所述第二存储模块中读取数据作为所述去块效应基本单元中第二、第三行的第一列数据;当读取数据为当前CTU非第一列时,从所述第三存储模块读取数据作为所述去块效应基本单元中的第二、第三行数据;其中:所述第一存储模块存储有当前CTU上方上一行已水平滤波的数据,所述第二存储模块存储有当前CTU左方最右边4列数据,所述第三存储模块存储有未经过去块效应滤波处理的数据;
将分别从第一、第二、第三存储模块读取数据形成的去块效应基本单元存储入第一寄存模块;
从所述第一寄存模块读取去块效应基本单元,并按照先对垂直边界后对水平边界的顺序进行去块效应滤波,并输出至所述第一寄存模块;
将所述第一寄存模块中存储的已滤波处理后的去块效应基本单元中的数据写出至相应的存储模块。
14.如权利要求13所述的用于HEVC的环路滤波方法,其特征在于,所述第一寄存模块包括第一寄存器和第二寄存器,所述环路滤波方法还包括:将所述第一寄存器中存储的未滤波的去块效应基本单元和第二寄存器中存储的已滤波的去块效应基本单元进行数据交换。
15.如权利要求13所述的用于HEVC的环路滤波方法,其特征在于,所述将所述第一寄存模块中存储的已滤波处理后的去块效应基本单元中的数据写出至相应的存储模块,包括:
将所述第一寄存模块存储的已滤波后的去块效应基本单元中的第二、第三行输出至第四存储模块;
将所述第一寄存模块存储的已滤波后的去块效应基本单元中第三行数据存储至所述第一存储模块;
将所述第一寄存模块存储的已滤波后的去块效应基本单元中第二、三行中的第二列数据存储至所述第二存储模块。
16.如权利要求15所述的用于HEVC的环路滤波方法,其特征在于,还包括:
分别从所述第四存储模块,以及第五、第六存储模块读取数据,形成一个像素自适应滤波行;
将所读取的像素自适应滤波行进行存储入第二寄存模块,形成至少4个连续的像素自适应滤波行;
采用第二滤波运算模块进行像素自适应滤波,所述第二滤波运算模块中包含至少两个并行处理的像素自适应滤波单元。
17.如权利要求16所述的用于HEVC的环路滤波方法,其特征在于,所述分别从所述第四存储模块,以及第五、第六存储模块读取数据,形成一个像素自适应滤波行,包括:
在所述像素自适应像素行是第0行时,从所述第五存储模块读取;在是非0行时,判断所读取的列数,如果是第0列,从所述第六存储模块读取,
如果是第1列,前5个像素从所述第六存储模块,后5个像素点从所述第四存储模块读取;否则,从所述第四存储模块读取。
18.如权利要求16所述的用于HEVC的环路滤波方法,其特征在于,所述进行像素自适应滤波,包括:
采用4个并行的像素自适应滤波单元对输入的数据进行像素自适应滤波并输出。
CN201310754390.7A 2013-12-31 2013-12-31 用于hevc的环路滤波方法及装置、编码器及解码器 Active CN104754363B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310754390.7A CN104754363B (zh) 2013-12-31 2013-12-31 用于hevc的环路滤波方法及装置、编码器及解码器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310754390.7A CN104754363B (zh) 2013-12-31 2013-12-31 用于hevc的环路滤波方法及装置、编码器及解码器

Publications (2)

Publication Number Publication Date
CN104754363A CN104754363A (zh) 2015-07-01
CN104754363B true CN104754363B (zh) 2017-08-08

Family

ID=53593369

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310754390.7A Active CN104754363B (zh) 2013-12-31 2013-12-31 用于hevc的环路滤波方法及装置、编码器及解码器

Country Status (1)

Country Link
CN (1) CN104754363B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110213579A (zh) * 2019-06-11 2019-09-06 上海富瀚微电子股份有限公司 双核心计算单元实现环路滤波的方法

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107124608A (zh) * 2016-02-24 2017-09-01 北京数码视讯科技股份有限公司 一种编码方法及装置
CN110121069B (zh) * 2019-06-27 2021-06-11 上海富瀚微电子股份有限公司 基于十字界的hevc环路滤波方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1921625A (zh) * 2006-09-15 2007-02-28 清华大学 去块效应滤波器的滤波方法与***
CN102724512A (zh) * 2012-06-29 2012-10-10 豪威科技(上海)有限公司 环路滤波器及环路滤波方法
CN103220529A (zh) * 2013-04-15 2013-07-24 北京大学 一种视频编解码环路滤波的实现方法
CN103442239A (zh) * 2013-08-29 2013-12-11 复旦大学 一种适用于hevc标准的去方块滤波器的硬件片上存储方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9094658B2 (en) * 2010-05-10 2015-07-28 Mediatek Inc. Method and apparatus of adaptive loop filtering

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1921625A (zh) * 2006-09-15 2007-02-28 清华大学 去块效应滤波器的滤波方法与***
CN102724512A (zh) * 2012-06-29 2012-10-10 豪威科技(上海)有限公司 环路滤波器及环路滤波方法
CN103220529A (zh) * 2013-04-15 2013-07-24 北京大学 一种视频编解码环路滤波的实现方法
CN103442239A (zh) * 2013-08-29 2013-12-11 复旦大学 一种适用于hevc标准的去方块滤波器的硬件片上存储方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110213579A (zh) * 2019-06-11 2019-09-06 上海富瀚微电子股份有限公司 双核心计算单元实现环路滤波的方法

Also Published As

Publication number Publication date
CN104754363A (zh) 2015-07-01

Similar Documents

Publication Publication Date Title
US8494062B2 (en) Deblocking filtering apparatus and method for video compression using a double filter with application to macroblock adaptive frame field coding
KR20060060919A (ko) H.264/mpeg-4 에서의 블록킹 효과를 제거하기 위한디블록 필터 및 필터링 방법
CN104253998B (zh) 一种适用于hevc标准的去方块效应滤波器的硬件片上存储方法
CN101127906A (zh) 去块滤波器、图像编码器和图像解码器
CN104754363B (zh) 用于hevc的环路滤波方法及装置、编码器及解码器
CN100446573C (zh) 基于avs的去块效应滤波器vlsi实现装置
CN100588251C (zh) 视频数据过滤方法、装置和***
CN101472176A (zh) 基于边界强度因子进行去块效应滤波的解码方法和装置
CN101888554B (zh) 并行流水运动补偿滤波器vlsi结构设计方法
CN101409833A (zh) 去块效应滤波装置及方法
CN103916612A (zh) 一种任意比例缩放***及方法
CN101778280B (zh) 一种基于avs运动补偿亮度插值运算的电路及方法
CN100568920C (zh) 串行输入并行输出的视频图像亮度插值的方法和装置
CN102023944A (zh) 一种存储器多模访问控制方法及其片上sram存储器控制***
CN105160622B (zh) 基于fpga的图像超分辨率的实现方法
Fang et al. A hardware-efficient deblocking filter design for HEVC
WO2005088537A1 (en) Electronic device and a method in an electronic device for processing image data
CN103702132B (zh) 滤波方法、装置及设备
CN104754331A (zh) 像素自适应滤波器及滤波方法、编码器及解码器
CN103731674B (zh) 一种h.264二维并行后处理去块滤波器硬件实现方法
CN105530519A (zh) 一种环内滤波方法及装置
JP6088235B2 (ja) 超解像装置及びプログラム
CN107135398B (zh) 去方块滤波方法、装置和***
CN201345710Y (zh) 一种适用于视频解码的环路滤波器
CN106488163A (zh) 调整数据阵列的方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20190314

Address after: 101399 Building 8-07, Ronghui Garden 6, Shunyi Airport Economic Core Area, Beijing

Patentee after: Xin Xin finance leasing (Beijing) Co.,Ltd.

Address before: 201203 Shanghai Pudong New Area Pudong Zhangjiang hi tech park, 2288 Chong Nong Road, exhibition center, 1 building.

Patentee before: SPREADTRUM COMMUNICATIONS (SHANGHAI) Co.,Ltd.

TR01 Transfer of patent right
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20150701

Assignee: SPREADTRUM COMMUNICATIONS (SHANGHAI) Co.,Ltd.

Assignor: Xin Xin finance leasing (Beijing) Co.,Ltd.

Contract record no.: X2021110000008

Denomination of invention: Loop filtering method and device, encoder and decoder for hevc

Granted publication date: 20170808

License type: Exclusive License

Record date: 20210317

EE01 Entry into force of recordation of patent licensing contract
TR01 Transfer of patent right

Effective date of registration: 20221017

Address after: 201203 Shanghai city Zuchongzhi road Pudong New Area Zhangjiang hi tech park, Spreadtrum Center Building 1, Lane 2288

Patentee after: SPREADTRUM COMMUNICATIONS (SHANGHAI) Co.,Ltd.

Address before: 101399 Building 8-07, Ronghui Garden 6, Shunyi Airport Economic Core Area, Beijing

Patentee before: Xin Xin finance leasing (Beijing) Co.,Ltd.

TR01 Transfer of patent right