CN101123725A - H.264去块效应滤波器的硬件实现方法 - Google Patents
H.264去块效应滤波器的硬件实现方法 Download PDFInfo
- Publication number
- CN101123725A CN101123725A CN 200710046146 CN200710046146A CN101123725A CN 101123725 A CN101123725 A CN 101123725A CN 200710046146 CN200710046146 CN 200710046146 CN 200710046146 A CN200710046146 A CN 200710046146A CN 101123725 A CN101123725 A CN 101123725A
- Authority
- CN
- China
- Prior art keywords
- filtering
- pixel information
- implementation method
- hardware implementation
- elimination effect
- 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
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明涉及一种数字视频编解码技术领域的H.264去块效应滤波器的硬件实现方法。本发明采用了一种对于像素信息分区域的存储方法,将当前滤波宏块像素信息以及参考宏块像素信息以4×4为单位分块,交替存储在两块独立的单口存储区中,从而在滤波过程中实现同时进行读写。本发明相对于双口可同时读写的存储器件解决方案,有效地节省了硬件资源;相对于一块单口的存储器件解决方案,在消耗硬件资源不变的情况下,大大提高了并行程度和数据处理速度。
Description
技术领域
本发明涉及一种数字视频技术领域的方法,具体是一种H.264去块效应滤波器的硬件实现方法。
背景技术
H.264是由国际电信标准化部门ITU-T和制定MPEG的国际标准化组织ISO/国际电工协会IEC共同制订的一种视频编码国际标准格式。H.264标准产生的初衷就是制定一个新的视频编码标准,以实现视频的高压缩比、高图象质量、良好的网络适应性。H.264同时又被称为MPEG-4 AVC(“活动图象专家组-4的高级视频编码”)或称为MPEG-4 Part10。H.264是一种基于块编码的压缩算法,而基于块编码的压缩算法的特点是偶尔产生可见的块结构,块效应是目前压缩算法的常见人工瑕疵。H.264定义了一个自适应去块效应滤波器,滤波的强度通过几个语法元素控制。如果块边沿的绝对差值相对比较大,出现块人工瑕疵的可能性就很大,因此需要进行相应处理。然而,如果差值幅度很大,编码量化过程的误差不能解释,边沿很可能反映了源图象的实际样值,不需要处理。经过滤波处理,减少了块效应,而图象的质量基本不受影响,因此主观质量大大改善。如果不滤波,同样的主观质量,需要多出5%-10%的码率。
经对现有技术文献的检索,发现Chao-Chung Cheng等人在Circuits andSystems II上所发表的“An In-Place Architecture for The Deblocking Filterin H.264/AVC”(一个适当的H.264/AVC去块效应滤波器结构设计)中,涉及到一种H.264去块效应滤波器设计方法,该方法滤波器的工作效率很高,为此付出的代价就是需要用到一块双口的内部存储器,与相同容量的单口存储器相比,开销大大增加;检索中还发现,Y.-W.Huang等人在Proc.of Multimedia and Expo上发表的“Architecture design for deblocking filter in H.264/JVT/AVC”(H.264/JVT/AVC去块效应滤波器结构设计)中,涉及到另一种H.264去块效应滤波器设计方法,该方法虽然用了单口的片上存储器,但是滤波效率非常低,基本无法实现高清实时编解码。
发明内容
本发明针对现有技术的不足,提供一种基于H.264去块效应滤波器的硬件实现方法。本发明相对于双口可同时读写的存储器件解决方案,有效地节省了硬件资源;相对于一块单口的存储器件解决方案,在消耗硬件资源相同的情况下,大大提高了去块效应滤波器的并行程度和像素信息处理速度。
本发明是通过以下技术方案实现的,本发明采用了一种对于像素信息分区域存储的方法,将当前滤波宏块像素信息以及参考宏块像素信息按照4×4为单位分块,交替存储在两块独立的单口存储区域中,从而在滤波过程中实现对像素信息的同时读写。本发明包括如下步骤:
第一步,获得滤波当前宏块所需要的参数;
第二步,获得滤波当前亮度宏块所需要的参考像素信息,以4×4为单位交替存储在两块存储区域的相应地址中;
第三步,利用两块存储区域及两个转置模块对当前亮度宏块滤波,滤波过程中需要暂存的像素信息和滤波之后等待输出的像素信息,以4×4为单位交替暂存在两块存储区域的相应地址中;
第四步,将暂存在两个存储区中的滤波后的亮度像素信息按原图象位置拼接输出;
第五步,获得滤波当前色度宏块所需要的参考像素信息,以4×4为单位交替存储在两块存储区域的相应地址中;
第六步,利用两块存储区及两个转置模块对当前色度宏块滤波,滤波过程中和滤波之后的像素信息,以4×4为单位交替暂存在两块存储区域的相应地址中;
第七步,将暂存在两个存储区域中的滤波后的色度像素信息按原图象位置顺序输出。
所述第一步中,滤波当前宏块所需要的参数包括当前宏块、上方以及左边参考宏块的帧场信息、边界阈值索引信息,当前宏块各4×4块边界的边界强度。这些参数由一个独立的模块计算获得,在每个宏块滤波之前将各参数算好存在滤波器中。
所述第二步和第五步中,对于亮度宏块滤波,需要的参考像素信息有当前宏块左侧相临宏块的最右边四列共64个像素点,以及当前宏块上边相信宏块的最下面四行共64个像素点。对于色度宏块滤波,需要的参考像素信息有当前宏块左侧相临宏块的最右边两列共16个像素点,以及当前宏块上边相信宏块的最下面两行共16个像素点。
所述第三步和第六步中,原始像素信息的数据存储方式是将图象位置横向相临的四个8比特点拼接成32比特,储存在各存储单元中。在滤波过程中将图象位置横向(纵向)相临的两个4×4块的同一行(列)8个点,即两个32比特数据同时输入滤波器中滤波。对于每个4×4块,滤波顺序是先垂直边再水平边,先左边再右边,先上边再下边。
所述第三步和第六步中,两个转置模块的作用是将大小为4×4像素的块由按行分组存储转换为按列分组存储,或者由按列分组存储转换为按行分组存储。从而满足滤波过程中横向和纵向不同的像素信息排列顺序的需要。
所述第四步和第七步中,根据接口定义的不同要求,存储区域中的数据可以按照32比特和64比特两种位宽输出滤波后的像素信息。按照32比特位宽输出时,两个存储区域按照图象位置交替输出;按照64比特位宽输出时,两个存储区域同时读取数据,拼接成64比特输出。
由上可知,本发明的提供的硬件实现方法,利用H.264去块效应滤波中4×4块与周围块之间读写时间的相关性,使用数据分类存储的方法,有效地节省了资源。本发明与Chao-Chung Cheng等人论文中的方法比较,在滤波效率相同的情况下,对于存储器的要求由双口的变为单口,节省了硬件资源;与Y.-W.Huang等人论文中的方法比较,在存储器同为单口的情况下,显著提高了滤波器的工作效率。
附图说明
图1是本发明实施例采用的H.264去块效应滤波器系统结构框图;
图2是亮度宏块及参考像素存储示意图;
图3是4:2:0模式下色度宏块及参考像素存储示意图;
其中:空白部分与阴影部分分别存储于两块片上SRAM中;
图4是宏块级亮度边界滤波顺序,按照编号由小到大的顺序滤波示意图;
图5是4:2:0模式下宏块级色度边界滤波顺序,按照编号由小到大的顺序滤波示意图;
图6是转置寄存器内部结构示意图;。
具体实现方式
下面结合附图对本发明的实施例作详细说明:本实施例在以本发明技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。
如图1所示,本发明实施例采用的H.264去块效应滤波器系统结构框图,虚线方框内为去块效应滤波器,包括以下模块:
中心控制器,通过控制去块效率滤波器中其他模块和像素信息流向实现对整个去块效应滤波器的滤波过程的控制;
转置寄存器A和转置寄存器B两个模块实现对4×4块像素信息的转置操作,以迎合图象信息横向和纵向滤波的需要;
像素存储器A和像素存储器B用两片单口的片上SRAM实现,位宽为32比特(4个像素点),每片深度为48,大小是当前宏块像素,以及上方,左边参考像素总和的一半。
当前宏块像素输入端口,参考像素输入端口,像素输出端口,三个像素信息交换端口分别连接一个外部存储器,位宽分别为32比特,64比特,64比特。当前宏块像素信息和参考像素信息通过当前宏块像素输入端口和参考像素输入端口进入滤波器,滤波后通过像素输出端口输出。
滤波参数输入端口连接一个位宽为6比特的FIFO(先进先出缓冲器)。在每个宏块滤波之前,将滤波所需要的当前宏块、上方以及左边参考宏块的帧场信息、边界阈值索引信息,当前宏块各4×4块边界的边界强度等参数通过滤波参数输入端口传递给去块效应滤波器。其中上方,左边和当前宏块的帧场信息各1比特,合并成一个字传输。上方,左边和当前宏块的边界阈值索引各6比特,单独传输。4×4块边界强度共32个,各3比特,每两个合并在一起传输。
如图2所示,为亮度宏块及参考像素存储方案图,空白部分与阴影部分分别存储于两块片上SRAM中,在亮度宏块滤波时,将当前宏块像素信息,参考像素信息以4×4块为单位划分。重新排列后,分别存入两个像素存储器中的对应位置。图中阴影标示的4×4块存入像素存储器A,空白标示的4×4块存入像素存储器B。这样存储,使得与每个4×4块相临的像素信息都存储在不同的像素存储器中,因此在滤波过程中,像素存储器中像素信息的读写操作不会发生冲突。
如图3所示,色度宏块的当前宏块像素信息和参考像素信息也按4×4块划分,处理方法与亮度宏块相同。需要注意的是,色度宏块的参考像素信息为两列,而非亮度的四列。
转置模块由一组寄存器按图6所示结构连接,每一个方块代表位宽为8比特的寄存器。4×4块像素信息先由横向输入寄存器,再有纵向输出,就完成了转置的操作。在纵向输出的同时,可以将另一个4×4块像素信息纵向输入,再横向输出,用流水线的方式完成了转置的操作。
滤波过程中,当前宏块像素信息按照图4,5所示顺序,依次进入滤波器。先与左边四个像素点进行垂直滤波,再进入滤波器另一端入口,与右边四个像素点进行垂直滤波,之后进入转置寄存器堆,做转置计算,存储在片上SRAM相应的地址空间中;在做水平滤波时,把转置后的像素从片上SRAM中读出,与上方四点和下面四点分别做水平滤波,滤波后的像素再进入转置寄存器堆,转置后存入片上SRAM中等待输出。滤波器计算需要延迟四个周期,在整个滤波过程中用流水线机制,保证平均在一至两周期输出一排滤波像素。
输出时,将横向相临的两个4×4块拼接(它们一定是分别存储在不同的片上存储器中),组成64比特的数据写如外部存储器中。以备以后其他宏块滤波时读取参考像素以及其他模块应用。
上述硬件实现方法,利用H.264去块效应滤波中4×4块与周围块之间读写时间的相关性,使用数据分类存储的方法,有效地节省了资源。用两块深度为48,位宽为32比特的单口片上SRAM,达到了300cycle解码一个宏块的效率。本发明与Chao-Chung Cheng等人论文中的方法比较,在滤波效率相同的情况下(300cycle/MB),存储器由一块双口的片上SRAM变为两块单口的片上SRAM,节省了硬件资源;与Y.-W.Huang等人论文中的方法比较,在片上SRAM同为单口的情况下,显著提高了滤波器的工作效率(Y.-W.Huang等人方法:878cycle/MB,本发明:300cycle/MB)。
Claims (8)
1.一种H.264去块效应滤波器的硬件实现方法,其特征在于,采用了一种对于像素信息分区域的存储方法,将当前滤波宏块像素信息以及参考宏块像素信息以4×4为单位分块,交替存储在两块独立的单口存储区域中,从而在滤波过程中实现同时进行读写,
包括如下步骤:
第一步,获得滤波当前宏块所需要的参数;
第二步,获得滤波当前亮度宏块所需要的参考像素信息,以4×4为单位交替存储在两块存储区域的相应地址中;
第三步,利用两块存储区域及两个转置模块对当前亮度宏块滤波,滤波过程中需要暂存的像素信息和滤波之后等待输出的像素信息,以4×4为单位交替暂存在两块存储区域的相应地址中;
第四步,将暂存在两个存储区中的滤波后的亮度像素信息按原图象位置拼接输出;
第五步,获得滤波当前色度宏块所需要的参考像素信息,以4×4为单位交替存储在两块存储区域的相应地址中;
第六步,利用两块存储区及两个转置模块对当前色度宏块滤波,滤波过程中和滤波之后的像素信息,以4×4为单位交替暂存在两块存储区域的相应地址中;
第七步,将暂存在两个存储区域中的滤波后的色度像素信息按原图象位置顺序输出。
2.如权利要求1所述的H.264去块效应滤波器的硬件实现方法,其特征是,所述第一步中,滤波当前宏块所需要的参数包括当前宏块、上方以及左边参考宏块的帧场信息、边界阈值索引信息,当前宏块各4×4块边界的边界强度,这些参数由一个独立的模块计算获得,在每个宏块滤波之前将各参数算好存在滤波器中。
3.如权利要求1所述的H.264去块效应滤波器的硬件实现方法,其特征是,所述第三步中,两个转置模块将大小为4×4像素的块由按行分组存储转换为按列分组存储,或者由按列分组存储转换为按行分组存储,从而满足滤波过程中横向和纵向不同的像素信息排列顺序的需要。
4.如权利要求1或3所述的H.264去块效应滤波器的硬件实现方法,其特征是,所述第三步中,对于每个4×4块,滤波顺序是先垂直边再水平边,先左边再右边,先上边再下边。
5.如权利要求1所述的H.264去块效应滤波器的硬件实现方法,其特征是,所述第六步中,两个转置模块将大小为4×4像素的块由按行分组存储转换为按列分组存储,或者由按列分组存储转换为按行分组存储,从而满足滤波过程中横向和纵向不同的像素信息排列顺序的需要。
6.如权利要求1或5所述的H.264去块效应滤波器的硬件实现方法,其特征是,所述第六步中,对于每个4×4块,滤波顺序是先垂直边再水平边,先左边再右边,先上边再下边。
7.如权利要求1所述的H.264去块效应滤波器的硬件实现方法,其特征是,所述第四步中,存储区域中的数据按照32比特和64比特两种位宽输出滤波后的像素信息,按照32比特位宽输出时,两个存储区域按照图象位置交替输出;按照64比特位宽输出时,两个存储区域同时读取数据,拼接成64比特输出。
8.如权利要求1所述的H.264去块效应滤波器的硬件实现方法,其特征是,所述第第七步中,存储区域中的数据按照32比特和64比特两种位宽输出滤波后的像素信息,按照32比特位宽输出时,两个存储区域按照图象位置交替输出;按照64比特位宽输出时,两个存储区域同时读取数据,拼接成64比特输出。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200710046146 CN100531392C (zh) | 2007-09-20 | 2007-09-20 | H.264去块效应滤波器的硬件实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200710046146 CN100531392C (zh) | 2007-09-20 | 2007-09-20 | H.264去块效应滤波器的硬件实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101123725A true CN101123725A (zh) | 2008-02-13 |
CN100531392C CN100531392C (zh) | 2009-08-19 |
Family
ID=39085871
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200710046146 Expired - Fee Related CN100531392C (zh) | 2007-09-20 | 2007-09-20 | H.264去块效应滤波器的硬件实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100531392C (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101841722A (zh) * | 2010-06-08 | 2010-09-22 | 上海交通大学 | 滤波边界强度的检测装置及其检测方法 |
CN101883285A (zh) * | 2010-07-06 | 2010-11-10 | 西安交通大学 | 并行流水去块效应滤波器vlsi结构设计方法 |
CN101924938A (zh) * | 2010-08-11 | 2010-12-22 | 上海交通大学 | 视频解码宏块预测与边界滤波中相邻块信息的处理方法 |
CN102131098A (zh) * | 2011-04-02 | 2011-07-20 | 中兴通讯股份有限公司 | 视频图像的去块滤波方法及装置 |
CN102550026A (zh) * | 2009-10-05 | 2012-07-04 | 汤姆森特许公司 | 视频编码和解码中色度分量的预测像素的自适应滤波的方法和装置 |
CN103179404A (zh) * | 2009-06-11 | 2013-06-26 | 索尼公司 | 图像处理设备和图像处理方法 |
CN104253998A (zh) * | 2014-09-25 | 2014-12-31 | 复旦大学 | 一种适用于hevc标准的去方块效应滤波器的硬件片上存储方法 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
MY195620A (en) * | 2012-01-17 | 2023-02-02 | Infobridge Pte Ltd | Method Of Applying Edge Offset |
-
2007
- 2007-09-20 CN CN 200710046146 patent/CN100531392C/zh not_active Expired - Fee Related
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103179404A (zh) * | 2009-06-11 | 2013-06-26 | 索尼公司 | 图像处理设备和图像处理方法 |
CN102550026A (zh) * | 2009-10-05 | 2012-07-04 | 汤姆森特许公司 | 视频编码和解码中色度分量的预测像素的自适应滤波的方法和装置 |
CN102550026B (zh) * | 2009-10-05 | 2016-08-03 | 汤姆森特许公司 | 视频编码和解码中色度分量的预测像素的自适应滤波的方法和装置 |
US10291938B2 (en) | 2009-10-05 | 2019-05-14 | Interdigital Madison Patent Holdings | Methods and apparatus for adaptive filtering of prediction pixels for chroma components in video encoding and decoding |
CN101841722A (zh) * | 2010-06-08 | 2010-09-22 | 上海交通大学 | 滤波边界强度的检测装置及其检测方法 |
CN101883285A (zh) * | 2010-07-06 | 2010-11-10 | 西安交通大学 | 并行流水去块效应滤波器vlsi结构设计方法 |
CN101924938A (zh) * | 2010-08-11 | 2010-12-22 | 上海交通大学 | 视频解码宏块预测与边界滤波中相邻块信息的处理方法 |
CN101924938B (zh) * | 2010-08-11 | 2012-09-05 | 上海交通大学 | 视频解码宏块预测与边界滤波中相邻块信息的处理方法 |
CN102131098A (zh) * | 2011-04-02 | 2011-07-20 | 中兴通讯股份有限公司 | 视频图像的去块滤波方法及装置 |
CN102131098B (zh) * | 2011-04-02 | 2016-03-30 | 深圳市中兴微电子技术有限公司 | 视频图像的去块滤波方法及装置 |
CN104253998A (zh) * | 2014-09-25 | 2014-12-31 | 复旦大学 | 一种适用于hevc标准的去方块效应滤波器的硬件片上存储方法 |
CN104253998B (zh) * | 2014-09-25 | 2017-05-10 | 复旦大学 | 一种适用于hevc标准的去方块效应滤波器的硬件片上存储方法 |
Also Published As
Publication number | Publication date |
---|---|
CN100531392C (zh) | 2009-08-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100531392C (zh) | H.264去块效应滤波器的硬件实现方法 | |
TWI295140B (en) | A dual-mode high throughput de-blocking filter | |
CN103688533B (zh) | 可减少行存储器的色度帧内预测方法及装置 | |
KR100843196B1 (ko) | H.264/avc 비디오 디코더의 디블록킹 필터 | |
CN101472173B (zh) | 一种去块滤波方法、系统及去块滤波器 | |
CN103609124B (zh) | 用于非正方形预测单元的依赖于模式的帧内平滑滤波器的表映射方法 | |
US20060262862A1 (en) | Deblocking filtering method used on video encoding/decoding and apparatus thereof | |
US20120087412A1 (en) | Method for Determining Boundary Strength | |
RU2589341C2 (ru) | Размер элемента мозаичного изображения при кодировании видео | |
CN104704810A (zh) | 图像捕获加速器 | |
CN101252694A (zh) | 基于块的视频解码的帧存储压缩和地址映射系统 | |
CN104253998B (zh) | 一种适用于hevc标准的去方块效应滤波器的硬件片上存储方法 | |
CN101951519A (zh) | 高速去块效应滤波方法 | |
CN115086668A (zh) | 一种视频压缩方法、系统、设备及计算机可读存储介质 | |
CN103686173A (zh) | 变换与反变换电路 | |
US7680351B2 (en) | Video deblocking method and apparatus | |
CN101252691A (zh) | 一种多处理器并行实现高分辨率图像滤波的方法 | |
CN101841722B (zh) | 滤波边界强度的检测装置的检测方法 | |
CN107040778A (zh) | 环路滤波方法以及环路滤波装置 | |
US20070127570A1 (en) | Image processor and image processing method | |
EP1992162B1 (en) | Memory organizational scheme and controller architecture for image and video processing | |
US8000545B2 (en) | Method for accessing image data and method for accessing YUV420 image data | |
CN102801973B (zh) | 视频图像去块滤波方法及装置 | |
CN101459839A (zh) | 去块效应滤波方法及实现该方法的装置 | |
CN106101706A (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090819 Termination date: 20170920 |