CN104253998A - 一种适用于hevc标准的去方块效应滤波器的硬件片上存储方法 - Google Patents
一种适用于hevc标准的去方块效应滤波器的硬件片上存储方法 Download PDFInfo
- Publication number
- CN104253998A CN104253998A CN201410494794.1A CN201410494794A CN104253998A CN 104253998 A CN104253998 A CN 104253998A CN 201410494794 A CN201410494794 A CN 201410494794A CN 104253998 A CN104253998 A CN 104253998A
- Authority
- CN
- China
- Prior art keywords
- memory
- block
- lcu
- pixel
- lluma
- 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
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明属于数字高清视频压缩编解码技术领域,具体为一种适用于HEVC标准的去方块效应滤波器的硬件片上存储方法。在HEVC标准中,一个视频流有三个颜色分量:亮度分量Y,色度分量Cb和Cr;在去方块滤波器中,对每个8x8块的边界先进行垂直滤波然后进行水平滤波。本发明是基于一个64x64大小的LCU进行处理。首先是逻辑映射:将Y分量分成左右两个部分LLUMA和RLUMA,色度分量Cb和Cr合成一个部分CCBC;其次是物理映射:将LLUMA、RLUMA和CCBC中不同边界的4x4块存储在不同的SRAM里。本发明一共使用6块SRAM,从而省去了数据从外设的输入和输出时间,减少一个LCU的处理时间,提高吞吐率,最终实现高清数字视频的实时编码。
Description
技术领域
本发明属于数字高清视频压缩编解码技术领域,针对HEVC视频编解码标准,具体涉及一种适用于HEVC视频编码标准的、去方块滤波器的硬件片上存储方法。
背景技术
作为下一代视频编解码标准,HEVC(High Efficiency Video Coding)是于2013年由国际电信组织(ITU)和运动图像专家组(MPEG)联合成立的组织JCTVC所提出。其目标是,与上一代标准H.264/AVC相比,在相同的视觉效果的前提下,比特率减少50%。
在HEVC中,一帧图像会划分成一个个最大编码单元(LCU),其大小可以为64x64,然后LCU会划分成更小的编码单元(CU),其大小从8x8到32x32。与H.264/AVC类似,HEVC使用基于块的预测变换编码方式。这种方式会导致块的边界像素值的不连续性,即块效应,从而影响视频的图像质量,并且会增大码流。统计数据表明,块效应将会使码流增大1.3~3.3%,在某些情况会增大6%。为了消除这种块效应,HEVC使用了去块效应滤波器。
去方块滤波器模块如图1中所示。 首先判断一个8x8块边界是否是预测单元(PU)或变换单元(TU)的边界;如果是,则取该边界两边的4x4块像素进行进一步的判断和滤波。在去块效应滤波器中一共有两种滤波器:(1)正常滤波器(normal filter):4x4块的每行上只有1个或2个像素值会发生改变;(2)强滤波器(strong filter):4x4块的每行上多大三个像素值会发生改变。对每个边界具体使用哪种滤波器取决于该边界两边的4x4块像素的值的大小。
在去方块滤波器中,每个8x8块边界两边都有8x8块或4x4块。因此对每个LCU来说,其第一列4x4块需要用到右边LCU的最左边一列的4x4块,其第一行4x4块需要用到上边LCU的最下边一行的4x4块;并且由于其特殊的处理顺序,对每个LCU还需用到左上LCU的右下角的4x4块。
在标准参考软件HM10.0中,去块效应滤波器先处理每个LCU的8x8块垂直边界,再处理水平边界。但是在硬件实现时,由于像素值是存储在存储器中的。如果是存储在片外存储器将会增大整个系统的功耗,并对片外存储器的带宽带来极大的压力,如果存储在片上存储器则要合理规划组织LCU的存储方式和位置,以提高系统的吞吐率。
发明内容
本发明的目的在于提出一种处理时间短、吞吐率高的适用于HEVC标准的去方块滤波器的硬件片上存储方法。
本发明提出去方块滤波器的硬件片上存储方法,具体步骤为:
(1)在原始视频流中,将一帧图像划分为一个个64x64大小的LCU;每个LCU有:一个64x64大小的亮度分量Y,两个32x32大小的色度分量Cb和Cr;将64x64大小的亮度分量Y分成两个部分:左边亮度部分(LLUMA)和右边亮度部分(RLUMA),分时进行数据输入、滤波处理和数据输出;将两个32x32大小的色度分量Cb和Cr合成一个部分色度总量(CCBC),连续进行数据输入、滤波处理和数据输出;
(2)去方块效应滤波器针对每个8x8大小的CU边界进行滤波处理;硬件片上存储器深度为128位,即每个地址存储一个4x4块大小像素值。
其中,数据输入、滤波处理和数据输出采用采用乒乓处理模式,即将LLUMA和RLUAM中任何一个8x8块的边界两个相邻4x4块存储在不同的存储器中,使用第零到第五共6块双端口存储器:SRAM0、SRAM1、SRAM2、SRAM3、SRAM4、SRAM5;这6块双端口存储器采用乒乓处理模式:首先,第零存储器SRAM0和第一存储器SRAM1读入LLUMA像素;然后,第零存储器SRAM0和第一存储器SRAM1中的像素进行去方块效应滤波处理,同时第二存储器SRAM2和第三存储器SRAM3读入RLUMA像素;最后,将第零存储器SRAM0和第一存储器SRAM1中的像素值输出,同时第二存储器SRAM2和第三存储器SRAM3读入RLUMA像素进行去方块效应滤波处理,第四存储器SRAM4和第五存储器SRAM5读入CCBC像素;依次循环直到所有LCU都处理完。
本发明的去方块滤波器的硬件片上存储方法,其架构如图2所示。该架构使用6双端口块存储器,形成两级映射和三个阶段并进行乒乓处理。两级映射分为逻辑映射和物理映射:
(1)逻辑映射:将64x64大小的亮度分量Y分为左右两个部分:LLUMA和RLUAM;将两个32x32大小的色度分量Cb和Cr合成为一个CCBC;
(2)物理映射:将LLUMA中构成任何一个8x8边界的相邻4x4块存储在第零存储器SRAM0和第一存储器SRAM1;将RLUMA中构成任何一个8x8边界的相邻4x4块存储在第二存储器SRAM2和第三存储器SRAM3;将CCBC中构成任何一个8x8边界的相邻4x4块存储在第四存储器SRAM4和第五存储器SRAM5;
三个阶段,依次分为数据输入(LOADING),滤波处理(FILTERING),数据输出(OUTPUT):
(1)数据输入:从片外存储器中读取4x4块并存储到片上存储器;
(2)滤波处理:从两个片上存储器各读取一个4x4块用于滤波,这个阶段包括垂直滤波和水平滤波,因此每个4x4块需要读取两次,处理完成后还需存储到片上存储器中;
(3)数据输出:每个SRAM上存储的4x4块都处理完后,将其输出到片外存储器中。
依据两级映射,6块双端口存储器SRAM使用乒乓处理模式,即在同一时刻,6块双端口存储器SRAM分别处于不同的阶段。首先,第零存储器SRAM0和第一存储器SRAM1读入LLUMA像素,即处于数据输入阶段,其余存储器暂时空闲;然后,第零存储器SRAM0和第一存储器SRAM1中的像素进行去方块效应滤波处理,同时第二存储器SRAM2和第三存储器SRAM3读入RLUMA像素,此时第零存储器SRAM0和第一存储器SRAM1处于滤波处理阶段,而第二存储器SRAM2和第三存储器SRAM3处于数据输入阶段;最后,将第零存储器SRAM0和第一存储器SRAM1中的像素值输出,同时第二存储器SRAM2和第三存储器SRAM3读入RLUMA像素进行去方块效应滤波处理,第四存储器SRAM4和第五存储器SRAM5读入CCBC像素,此时第零存储器SRAM0和第一存储器SRAM1处于数据输出阶段,而第二存储器SRAM2和第三存储器SRAM3处于滤波处理阶段,第四存储器SRAM4和第五存储器SRAM5处于数据输入阶段。依次循环直到所有LCU都处理完。
对于一个64x64大小的LCU,LLUMA和RLUMA中各有136个4x4块,而CCBC中有144个4x4块。因此在LOADING和OUTPUT阶段,LLUMA和RLUMA分别需要137个周期,CCBC需要145个周期。而LLUMA和RLUMA中各有128个边界,而CCBC有132个边界。由于滤波需要多个周期,因此在FILTERING阶段LLUMA和RLUMA中各需要132个周期,CCBC中需要136个周期。
附图说明
图1:块效应滤波器的整体架构。
图2:去块效应滤波器的存储器组织方式。
图3:去块效应滤波器的存储器乒乓处理模式。
具体实施方式
下面结合附图,对本发明做进一步的描述。
本发明提出了一种适用于HEVC的去块效应滤波器系统,使用了特殊的的片上存储架构,该架构如图1所示,使用了5个双端口的存储器SRAM0~SRAM5。这些存储器的存储组织管理如图3示。图3中每个小方框为一个4x4块,其存储管理分为两级映射:逻辑映射和物理映射。
首先是逻辑映射。
一个LCU共384个4x4块,在进行滤波时还需使用左边LCU、上边LCU和左上边LCU共17个LCU。其中前缀为X、Y、L和R为亮度分量的4x4块,前缀为C和D为色度分量4x4块。X1~X3,Y0~Y3,L0~L3,R0~R3,C1~C3,D0~D3,C37~C39和D36~D39是上边LCU的4x4块,Y4,X8,Y12,X16,Y20,X24,Y28,X32,Y36,X40,Y44,X48,Y52,X56,Y60,X64,D4,C8,D12,C16,D20,C24,D28,C32,D40,C44,D48,C52,D56,C60,D64,C68是左边LCU的4x4块,X0,C0和C36是左上角LCU的4x4块,其余则为当前LCU的4x4块。
在逻辑映射中,将亮度分量前缀为L和R的4x4块作为一个单元,映射为LLUMA,将亮度分量前缀为X和Y的4x4块作为一个单元,映射为RLUAM,将色度分量前缀为C和D的4x4块作为一个单元,映射CCBC。同一个单元的存储,处理等是同时进行的。
其次是物理映射。
根据4x4块存储位置的不同,将逻辑映射的结果存储在不同的SRAM里。其中将LLUMA中前缀为L的4x4块存储在SRAM0里,前缀为R的4x4块存储在SRAM1里;将RLUMA中前缀为X的4x4块存储在SRAM2里,前缀为Y的4x4块存储在SRAM3里;将CCBC中前缀为C的4x4块存储在SRAM4里,前缀为D的4x4块存储在SRAM5里。其中后缀数字为每个4x4块在相应SRAM里存储的位置。例如C5表示该4x4块存储在SRAM4的第5个位置里。SRAM0~SRAM5都是双端口存储器。
下面结合附图2所示存储器的工作流程,其具体实施可以分为如下的三个阶段:
第一个阶段为LOADING。
在此阶段,从片外存储器读取LLUMA,存储到SRAM0和SRAM1,每个周期读取一个4x4块,偶数周期存储到SRAM0里,奇数周期存储到SRAM1里。
第二个阶段为FILTERING。
在此阶段,对LLUMA部分的边界进行滤波,每个周期从SRAM0和SRAM1的一个端口读取一条边界的两个4x4块,对其进行流水处理滤波处理,处理完之后从另外一个端口写回;同时在此阶段还从片外存储器读取RLUMA,存储到SRAM2和SRAM3,每个周期读取一个4x4块,偶数周期存储到SRAM2里,奇数周期存储到SRAM3里。
第三个阶段为OUTPUT。
到此阶段时,LLUAM已全部滤波处理完。因此,此阶段将LLUMA输出至片外存储器,每个周期输出一个4x4块,偶数周期从SRAM0读取4x4块进行输出,奇数周期从SRAM1读取进行输出。同时在此阶段对对RLUMA部分的边界进行滤波,每个周期从SRAM2和SRAM3的一个端口读取一条边界的两个4x4块,对其进行流水处理滤波处理,处理完之后从另外一个端口写回;在此阶段还从片外存储器读取CCBC,存储到SRAM4和SRAM5,每个周期读取一个4x4块,偶数周期存储到SRAM4里,奇数周期存储到SRAM5里。
第三阶段处理完之后回到第一阶段,读取下一个LCU的LLUMA。同时输出当前LCU的RLUMA,并对当前LUC的CCBC进行滤波处理。
Claims (1)
1. 一种适用于HEVC标准的去方块滤波器效应的硬件片上存储方法,其特征在于具体步骤如下:
(1)在原始视频流中,将一帧图像划分为一个个64x64大小的LCU;每个LCU有:一个64x64大小的亮度分量Y,两个32x32大小的色度分量Cb和Cr;将64x64大小的亮度分量Y分成两个部分:左边亮度部分LLUMA和右边亮度部分RLUMA,分时进行数据输入、滤波处理和数据输出;将两个32x32大小的色度分量Cb和Cr合成一个部分,即色度总量CCBC,连续进行数据输入、滤波处理和数据输出;
(2)去方块效应滤波器针对每个8x8大小的CU边界进行滤波处理;硬件片上存储器深度为128位,即每个地址存储一个4x4块大小像素值;
其中,数据输入、滤波处理和数据输出采用乒乓处理模式,即将LLUMA和RLUAM中任何一个8x8块的边界两个相邻4x4块存储在不同的存储器中,使用第零到第五共6块双端口存储器(SRAM0、SRAM1、SRAM2、SRAM3、SRAM4、SRAM5);这6块双端口存储器采用乒乓处理模式:首先,第零存储器(SRAM0)和第一存储器(SRAM1)读入LLUMA像素;然后,第零存储器(SRAM0)和第一存储器(SRAM1)中的像素进行去方块效应滤波处理,同时第二存储器(SRAM2)和第三存储器(SRAM3)读入RLUMA像素;最后,将第零存储器(SRAM0)和第一存储器(SRAM1)中的像素值输出,同时第二存储器(SRAM2)和第三存储器(SRAM3)读入RLUMA像素进行去方块效应滤波处理,第四存储器(SRAM4)和第五存储器(SRAM5)读入CCBC像素;依次循环直到所有LCU都处理完。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410494794.1A CN104253998B (zh) | 2014-09-25 | 2014-09-25 | 一种适用于hevc标准的去方块效应滤波器的硬件片上存储方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410494794.1A CN104253998B (zh) | 2014-09-25 | 2014-09-25 | 一种适用于hevc标准的去方块效应滤波器的硬件片上存储方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104253998A true CN104253998A (zh) | 2014-12-31 |
CN104253998B CN104253998B (zh) | 2017-05-10 |
Family
ID=52188476
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410494794.1A Active CN104253998B (zh) | 2014-09-25 | 2014-09-25 | 一种适用于hevc标准的去方块效应滤波器的硬件片上存储方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104253998B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105376581A (zh) * | 2015-11-17 | 2016-03-02 | 复旦大学 | 一种适用于hevc标准的基于指针的两级dct系数存储方法 |
CN105430419A (zh) * | 2015-11-17 | 2016-03-23 | 复旦大学 | 一种适用于hevc标准的基于脏位的两级dct系数存储方法 |
CN109743582A (zh) * | 2018-12-29 | 2019-05-10 | 龙岩学院 | 一种基于h.264的去块滤波器硬件架构 |
CN110662079A (zh) * | 2019-10-23 | 2020-01-07 | 中国人民解放军国防科技大学 | 一种基于h.265hevc帧内预测的参考像素片上存储方法 |
CN110855973A (zh) * | 2019-11-15 | 2020-02-28 | 北方工业大学 | 基于区域方向性离差和的视频帧内快速算法 |
CN116567231A (zh) * | 2023-07-03 | 2023-08-08 | 福州时芯科技有限公司 | 一种用于hevc去方块滤波的系统 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101123725A (zh) * | 2007-09-20 | 2008-02-13 | 上海交通大学 | H.264去块效应滤波器的硬件实现方法 |
US20080123750A1 (en) * | 2006-11-29 | 2008-05-29 | Michael Bronstein | Parallel deblocking filter for H.264 video codec |
US20080159407A1 (en) * | 2006-12-28 | 2008-07-03 | Yang Nick Y | Mechanism for a parallel processing in-loop deblock filter |
CN101321290A (zh) * | 2008-07-17 | 2008-12-10 | 北京数码视讯科技股份有限公司 | 基于数字信号处理器的去块滤波方法 |
CN102075753A (zh) * | 2011-01-13 | 2011-05-25 | 中国科学院计算技术研究所 | 一种视频编解码中去块滤波方法 |
CN102131098A (zh) * | 2011-04-02 | 2011-07-20 | 中兴通讯股份有限公司 | 视频图像的去块滤波方法及装置 |
CN103442239A (zh) * | 2013-08-29 | 2013-12-11 | 复旦大学 | 一种适用于hevc标准的去方块滤波器的硬件片上存储方法 |
CN103491372A (zh) * | 2013-09-05 | 2014-01-01 | 复旦大学 | 一种适用于hevc标准的去方块滤波器的滤波方法 |
CN103491373A (zh) * | 2013-09-06 | 2014-01-01 | 复旦大学 | 一种适用于hevc标准的去方块滤波器的四级流水滤波方法 |
-
2014
- 2014-09-25 CN CN201410494794.1A patent/CN104253998B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080123750A1 (en) * | 2006-11-29 | 2008-05-29 | Michael Bronstein | Parallel deblocking filter for H.264 video codec |
US20080159407A1 (en) * | 2006-12-28 | 2008-07-03 | Yang Nick Y | Mechanism for a parallel processing in-loop deblock filter |
CN101123725A (zh) * | 2007-09-20 | 2008-02-13 | 上海交通大学 | H.264去块效应滤波器的硬件实现方法 |
CN101321290A (zh) * | 2008-07-17 | 2008-12-10 | 北京数码视讯科技股份有限公司 | 基于数字信号处理器的去块滤波方法 |
CN102075753A (zh) * | 2011-01-13 | 2011-05-25 | 中国科学院计算技术研究所 | 一种视频编解码中去块滤波方法 |
CN102131098A (zh) * | 2011-04-02 | 2011-07-20 | 中兴通讯股份有限公司 | 视频图像的去块滤波方法及装置 |
CN103442239A (zh) * | 2013-08-29 | 2013-12-11 | 复旦大学 | 一种适用于hevc标准的去方块滤波器的硬件片上存储方法 |
CN103491372A (zh) * | 2013-09-05 | 2014-01-01 | 复旦大学 | 一种适用于hevc标准的去方块滤波器的滤波方法 |
CN103491373A (zh) * | 2013-09-06 | 2014-01-01 | 复旦大学 | 一种适用于hevc标准的去方块滤波器的四级流水滤波方法 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105376581A (zh) * | 2015-11-17 | 2016-03-02 | 复旦大学 | 一种适用于hevc标准的基于指针的两级dct系数存储方法 |
CN105430419A (zh) * | 2015-11-17 | 2016-03-23 | 复旦大学 | 一种适用于hevc标准的基于脏位的两级dct系数存储方法 |
CN105376581B (zh) * | 2015-11-17 | 2018-10-16 | 复旦大学 | 一种适用于hevc标准的基于指针的两级dct系数存储方法 |
CN105430419B (zh) * | 2015-11-17 | 2018-12-11 | 复旦大学 | 一种适用于hevc标准的基于脏位的两级dct系数存储方法 |
CN109743582A (zh) * | 2018-12-29 | 2019-05-10 | 龙岩学院 | 一种基于h.264的去块滤波器硬件架构 |
CN109743582B (zh) * | 2018-12-29 | 2020-12-11 | 龙岩学院 | 一种基于h.264的去块滤波器硬件架构 |
CN110662079A (zh) * | 2019-10-23 | 2020-01-07 | 中国人民解放军国防科技大学 | 一种基于h.265hevc帧内预测的参考像素片上存储方法 |
CN110855973A (zh) * | 2019-11-15 | 2020-02-28 | 北方工业大学 | 基于区域方向性离差和的视频帧内快速算法 |
CN110855973B (zh) * | 2019-11-15 | 2021-10-26 | 北方工业大学 | 基于区域方向性离差和的视频帧内快速算法 |
CN116567231A (zh) * | 2023-07-03 | 2023-08-08 | 福州时芯科技有限公司 | 一种用于hevc去方块滤波的系统 |
CN116567231B (zh) * | 2023-07-03 | 2023-12-08 | 福州时芯科技有限公司 | 一种用于hevc去方块滤波的系统 |
Also Published As
Publication number | Publication date |
---|---|
CN104253998B (zh) | 2017-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104253998A (zh) | 一种适用于hevc标准的去方块效应滤波器的硬件片上存储方法 | |
CN103688533B (zh) | 可减少行存储器的色度帧内预测方法及装置 | |
CN105898335B (zh) | 提升硬件效率的环路滤波方法以及环路滤波装置 | |
CN103947208B (zh) | 减少解块滤波器的方法及装置 | |
KR20060060919A (ko) | H.264/mpeg-4 에서의 블록킹 효과를 제거하기 위한디블록 필터 및 필터링 방법 | |
CN103051892B (zh) | 内嵌式回路滤波方法以及内嵌式回路滤波装置 | |
KR100614647B1 (ko) | 디블록킹 필터에서의 효과적인 에지 필터링 연산을 위한레지스터 어레이 구조 | |
CN104521234B (zh) | 合并去区块处理和取样自适应偏移处理的视频处理方法和装置 | |
CN100531392C (zh) | H.264去块效应滤波器的硬件实现方法 | |
US8090028B2 (en) | Video deblocking memory utilization | |
CN101115207B (zh) | 基于预测点间相关性的帧内预测实现的方法及装置 | |
US7680351B2 (en) | Video deblocking method and apparatus | |
CN101252691B (zh) | 一种多处理器并行实现高分辨率图像滤波的方法 | |
CN103379319B (zh) | 一种滤波方法、滤波器及包含该滤波器的编码器和解码器 | |
CN104754363B (zh) | 用于hevc的环路滤波方法及装置、编码器及解码器 | |
CN103491372A (zh) | 一种适用于hevc标准的去方块滤波器的滤波方法 | |
CN103702132B (zh) | 滤波方法、装置及设备 | |
US20140056363A1 (en) | Method and system for deblock filtering coded macroblocks | |
CN107135398B (zh) | 去方块滤波方法、装置和系统 | |
CN105530519B (zh) | 一种环内滤波方法及装置 | |
CN103731674B (zh) | 一种h.264二维并行后处理去块滤波器硬件实现方法 | |
CN104363455A (zh) | 一种适用于hevc标准中帧内预测的参考像素的硬件片上存储方法 | |
CN101005619A (zh) | 一种环路滤波的方法 | |
KR100753504B1 (ko) | 비디오 디코더의 인-루프 디블럭킹 필터 시스템 및 그의필터링 방법 | |
Li et al. | A dual-mode deblocking filter design for HEVC and H. 264/AVC |
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 |