CN101170690A - 基于avs的环路滤波器的硬件装置及硬件实现方法 - Google Patents
基于avs的环路滤波器的硬件装置及硬件实现方法 Download PDFInfo
- Publication number
- CN101170690A CN101170690A CNA2007101707433A CN200710170743A CN101170690A CN 101170690 A CN101170690 A CN 101170690A CN A2007101707433 A CNA2007101707433 A CN A2007101707433A CN 200710170743 A CN200710170743 A CN 200710170743A CN 101170690 A CN101170690 A CN 101170690A
- Authority
- CN
- China
- Prior art keywords
- data
- transposition
- filtering
- temporary
- registers group
- 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.)
- Pending
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明公开了一种基于AVS的环路滤波器的硬件装置以及硬件实现方法,涉及数字音视频编解码技术领域。该装置包括重建数据存储器、参数计算模块、滤波模块、控制模块、暂存/转置寄存器组、邻块数据存储器以及FIFO存储器。该实现方法包括:滤波模块以垂直和水平交叉进行的滤波顺序进行滤波;根据需要滤波的边界,由控制模块控制滤波模块的数据由重建数据存储器、邻块数据存储器或者暂存/转置寄存器组输入;控制滤波模块的数据输出到邻块数据存储器、暂存/转置寄存器组或者FIFO存储器;根据边界是水平的还是垂直的,来控制暂存/转置寄存器组的数据是转置还是寄存。本发明实现了对每一子块只进行了一次读写存储操作,加快滤波处理的速度。
Description
技术领域
本发明涉及数字音视频编解码技术领域,具体地说,涉及一种基于数字音视频编解码标准(Audio Video coding Standard,AVS)的环路滤波器的硬件装置以及硬件实现方法。
背景技术
AVS是由中国信息产业部成立的“数字音视频编解码技术标准工作组”提出的我国自主制定的数字音视频编解码技术标准,是数字电视、宽带网络流媒体、移动多媒体通信、激光视盘等数字音视频产业群的共性基础标准。
环路滤波器是AVS编解码算法重要的组成部分之一,在视频系统中具有两个主要作用:一是平滑图像中由于基于块处理的运动补偿、变换及量化产生和虚假边界,降低图像块效应,提高主观视觉效果;二是滤波后的帧用于后续帧的参考帧,提高预测效果从而提高编码效率。
由于环路滤波器需要对每个子块边缘进行滤波操作,而且其读取数据不是规则的,这样需要对同一子块的数据多次存取,对存储器数据带宽造成很大的压力,极大影响滤波操作的速度,从而可能会影响编解码的实时性。
Sheng Bin等人在IEEE proceeding上于2004年9月发表的“Aplatform-based architecture of loop filter for AVS”中,提出了一种基于AVS的环路滤波器的实现方法,但该方法存在不足:由于采用先垂直后水平的滤波顺序,造成了对同一子块的数据两次甚至多从存储器读取、写入,不但增加存储器的数据带宽的压力,也使整个滤波器的处理时间需要460个时钟周期,不能满足高清视频(1080p)的实时编解码要求。
发明内容
有鉴于此,本发明要解决的技术问题是提供一种基于AVS的环路滤波器的硬件装置以及硬件实现方法,其可减少片内存储器的开销和对存储器的访问,加快滤波处理的速度,保证高清晰视频的实时编解码。
为了解决上述技术问题,本发明提供了一种基于AVS的环路滤路器的硬件装置。所述硬件装置包括:重建数据存储器、参数计算模块、滤波模块、控制模块、数个暂存/转置寄存器组、邻块数据存储器以及FIFO存储器,其中所述参数计算模块根据当前宏块中本块和邻块的参数计算出边界的参数;所述滤波模块根据边界的参数滤波对应的边界;所述控制模块在滤波过程中,根据所需滤波的边界来选取对应的数据输入、输出和控制数据流向;所述寄存器组在边界的滤波过程中,对需要数次使用的本块或者邻块的数据进行暂存或者转置;所述FIFO存储器缓存滤波后的输出数据,在FIFO中数据到一定数量的时候请求输出到外部SDRAM(同步动态随机存储器)。
为了解决上述计算问题,本发明还提供了一种基于AVS的环路滤波器的硬件实现方法包括如下步骤:
首先,将当前宏块中本块和邻块的参数送到参数计算模块进行计算,计算完成得出当前宏块的所有边界的滤波强度和滤波阈值,且输入滤波模块中;
然后,滤波模块以垂直和水平交叉进行的滤波顺序进行滤波;根据需要滤波的边界,由控制模块控制滤波模块的数据由重建数据存储器、邻块数据存储器或者暂存/转置寄存器组输入;并且控制滤波模块的数据输出到邻块数据存储器、暂存/转置寄存器组或者FIFO存储器;根据滤波边界是水平边界还是垂直边界,由控制模块来控制输入暂存/转置寄存器组的数据是转置还是寄存。
相对于现有技术,本发明提供的硬件装置和硬件实现方法采用了可实现暂存和转置的寄存器组,配合改进的滤波顺序,实现了对宏块的每一子块只进行了一次读写存储操作,缩短了数据处理的时间,加快了滤波处理的速度。对于图像格式为4:2:0,图像大小为1920*1080的高清视频来说,一个宏块所在边界都完成滤波,仅需要289个时钟周期。
附图说明
通过以下对本发明一实施例结合其附图的描述,可以进一步理解其发明的目的、具体结构特征和优点。其中,附图为:
图1为基于AVS的环路滤波器的硬件实现的总体结构框图,其中实线表示数据流向,虚线表示控制信号流向;
图2a为AVS标准中定义的滤波顺序;
图2b为本发明采用的滤波顺序;
图2c为滤波过程说明;
图3为本发明8*8暂存/转置寄存器组的结构示意图;
图4为本发明3*8暂存/转置寄存器组的结构示意图;
图5为本发明8*3暂存/转置寄存器组的结构示意图。
具体实施方式
以下结合实例来说明本发明提供的基于AVS的环路滤路器的硬件装置以及硬件实现方法。本实施例以图像格式为4:2:0,图像大小为1920*1080的图像来说明。
请参阅图1且结合图3至图5,所述硬件装置主要包括:参数计算模块、滤波模块、控制模块、寄存器组、邻块数据存储器、数据输出FIFO存储器(FirstInput First Output,先入先出)存储器以及重建数据存储器。所述参数计算模块是根据本块和邻块的参数计算出边界滤波强度(BS)、滤波阈值以及滤波裁剪参数(计算方式与AVS标准定义相同)。所述滤波模块根据上面参数计算模块得出的边界滤波强度、滤波阈值及滤波剪裁参数对相应的边界进行滤波,包括BS=1和BS=2两个滤波器。所述控制模块在滤波过程中,根据滤波的边界选取相应的数据输入、输出和控制数据流向。所述寄存器组是在滤波过程中对数据进行暂存和转置(控制模块通过控制键来控制数据的流向,从而实现转置或者暂存),包括两个8*8暂存/转置寄存器组(如图3所示)880、881、两个3*8暂存/转置寄存器组(如图4所示)380、381以及一个8*3暂存/转置寄存器组(如图5所示)83。每一所述8*8暂存/转置寄存器组880、881均有两个输入端口101与102和两个输出端口103与104,在不同边界滤波时采用不同的输入、输出端口来完成暂存或转置工作,从而缩短数据处理的时间。每一所述3*8暂存/转置寄存器组380、381均具有一个输入端口201和一个输出端口203。所述8*3暂存/转置寄存器组也是具有一个输入端口301和一个输出端口303。所述邻块数据寄存器是存储当前宏块上面和左面的宏块数据。所指的上面的宏块数据是指当前宏块的上面的3行数据(如图2中的1、2、9、12子块,它存储了上面一个宏块行的);所述左面的宏块数据是指当前宏块的左面的2个8*8子块的数据(如图2中的3、6子块)。所述数据输出FIFO存储器是缓存滤波的输出结果,当FIFO存储器中数据达到一定数量的时候请求输出到外部SDRAM(同步动态随机存储器)中。
请参阅图1和图2a至2c,采用本发明提供的硬件实现方法完成一个宏块所有边界的滤波操作过程如下:
步骤1:由控制模块根据当前宏块的位置从宏块参数存储器中取出本块和邻块(“本块”和“邻块”是相对概念,根据子块的位置和相对的对象不同来定义)的参数送入参数计算模块进行计算,计算完成后得出当前宏块所有边界的BS、滤波阈值以及滤波剪裁参数输入到滤波模块(即对应的滤波器);同时从邻块数据存储器分别取出块1和块2数据进入3*8寄存器组380、381。
步骤2:开始滤波。此处采用的滤波顺序是垂直和水平交叉进行(如图2b所示的滤波顺序),AVS标准中的滤波顺序是先从左到右垂直滤波,后从上到下水平滤波(如图2b所示的滤波顺序)。
步骤2.1:对边界V00进行滤波,块4的数据由重建数据存储器输入滤波模块,块3的数据由邻块数据存储器输入滤波模块,滤波后的块3的数据直接输出到FIFO存储器,块4的数据输出到8*8寄存器组880。
步骤2.2:对边界V01进行滤波,块4的数据由8*8寄存器组880输入滤波模块,块5的数据由重建数据存储器输入滤波模块,滤波后的块4的数据输出到8*8寄存器组880,块5的数据输出到8*8寄存器组881。
步骤2.3:对边界H00进行滤波,块4的数据由8*8寄存器组880转置后输入滤波模块,块1的数据由3*8寄存器组380转置后输入滤波模块,滤波后的块1的数据经8*3寄存器组83转置输出到FIFO存储器,块4的数据输出到8*8寄存器组880。
步骤2.4:对边界H01进行滤波,块5的数据由8*8寄存器组881转置输入滤波模块,块2的数据由3*8寄存器组381转置后输入滤波模块,滤波后的块2的数据经8*3寄存器组83转置输出到FIFO存储器,块5的数据输出到8*8寄存器组881。在滤波的同时把8*8寄存器组880中块4的数据转置后前5行直接输出到FIFO存储器,后3行输出到3*8寄存器组380。
步骤2.5:对边界V10进行滤波,块7的数据由重建数据存储器输入滤波模块,块6的数据由邻块数据存储器输入滤波模块,滤波后的块6的数据直接输出到FIFO存储器,块7的数据输出到8*8寄存器组880。在滤波的同时把8*8寄存器组881中块5的数据转置后前5行直接输出到邻块数据存储器,后3行输出到3*8寄存器组381。
步骤2.6:对边界V11进行滤波,块7的数据由8*8寄存器组880输入滤波模块,块8的数据由重建数据存储器输入滤波器,滤波后的块7的数据输出8*8寄存器组880,块8的数据输出到8*8寄存器组881。
步骤2.7:对边界H10进行滤波,块7的数据由8*8寄存器组880转置输入滤波模块,块4的数据由3*8寄存器组380转置输入滤波模块,滤波后的块4的数据经8*3寄存器组83转置输出到FIFO存储器,块7的数据输出到8*8寄存器组880转置后前5行输出到FIFO存储器,后3行输出邻块数据存储器。
步骤2.8:对边界H11进行滤波,块8的数据由8*8寄存器组881转置输入滤波模块,块5的数据由3*8寄存器组381转置输入滤波模块,滤波后的块5的数据经8*3寄存器组83转置输出到FIFO存储器,块8的数据输出到8*8寄存器组880转置后输出到邻块数据存储器。
步骤2.9:对边界CrV0进行滤波,块11的数据由重建数据存储器输入滤波模块,块10的数据由邻块数据存储器输入滤波器,滤波后的块10的数据输出到FIFO存储器,块11的数据输出到8*8寄存器组880转置。
步骤2.10:对边界CrH0进行滤波,块9的数据由8*8寄存器组880转置输入滤波模块,块10的数据由3*8寄存器组830转置输入滤波模块,滤波后的块9的数据经8*3寄存器组83转置输出到FIFO存储器,块10的数据输出到8*8寄存器组880转置后输出到邻块数据存储器。
步骤2.11:对边界CrV1进行滤波,块14的数据由重建数据存储器输入滤波模块,块13的数据由邻块数据存储器输入滤波模块,滤波后的块13的数据直接输出到FIFO存储器,块14的数据输出到8*8寄存器组881转置。
步骤2.12:对边界CrH1进行滤波,块14的数据由8*8寄存器组881转置输入滤波模块,块12的数据由3*8寄存器组381转置输入滤波模块,滤波后的块12的数据经8*3寄存器组83转置输出到FIFO存储器,块14的数据输出到8*8寄存器组881转置后输出到邻块数据存储器。
至此一个宏块的所在边界都完成了滤波,共需要289个时钟周期,从以上描述可以看出,所有边界的滤波操作和读取过程是并行进行的,每一个子块的数据只进行了一次读写存储器操作,从而起到了加快滤波处理速度的效果。
另外,上述描述中除滤波参数外,其他数据输入滤波模块前和输出滤波模块后均经过图1所示复用器(MUX)的处理,特此说明。
本发明主要面向高清晰度的视频(1920*1080、4:2:0的视频编解码),但通过根据视频图像的尺寸大小改变邻块存储器的大小,也同样适应于各种规格的AVS编解码器。对本领域普通技术人员来说,可以根据本发明的技术方案及其发明构思加以等同替换或改变,而所有这些改变或替换都应属于本发明所要求保护的范围之内。
Claims (9)
1.一种基于AVS的环路滤波器的硬件装置,其特征在于,所述硬件装置包括:重建数据存储器、参数计算模块、滤波模块、控制模块、数个暂存/转置寄存器组、邻块数据存储器以及FIFO存储器,其中所述参数计算模块根据当前宏块中本块和邻块的参数计算出边界的参数;所述滤波模块根据边界的参数滤波对应的边界;所述控制模块在滤波过程中,根据所需滤波的边界来选取对应的数据输入、输出和控制数据流向;所述寄存器组在边界的滤波过程中,对需要数次使用的本块或者邻块的数据进行暂存或者转置;所述FIFO存储器缓存滤波后的输出数据。
2.如权利要求1所述的硬件装置,其特征在于:所述数个暂存/转置寄存器组包括具有两个输入端口和两个输出端口的暂存/转置寄存器组。
3.如权利要求1所述的硬件装置,其特征在于:所述数个暂存/转置寄存器组包括两个8*8暂存/转置寄存器组、两个3*8暂存/转置寄存器组以及一个8*3暂存/转置寄存器组。
4.如权利要求1所述的硬件装置,其特征在于:所述参数计算模块计算出的边界的参数包括滤波强度、滤波阈值以及滤波剪裁参数;所述滤波模块包括对应滤波强度=1、滤波强度=2的两个滤波器。
5.如权利要求1所述的硬件装置,其特征在于:所述邻块数据寄存器用于存储当前宏块上面和左面的宏块数据,其中所述上面的宏块数据是指当前宏块的上面3行数据,左面的宏块数据是指当前宏块的左面两个8*8子块数据。
6.一种基于AVS的环路滤波器的硬件实现方法,其采用如权利要求1所述的硬件装置实现,其特征在于,该实现方法包括如下步骤:
a.将当前宏块中本块和邻块的参数送到参数计算模块进行计算,计算完成得出当前宏块的所有边界的滤波强度和滤波阈值,且输入滤波模块中;
b.滤波模块以垂直和水平交叉进行的滤波顺序进行滤波;根据需要滤波的边界,由控制模块控制滤波模块的数据由重建数据存储器、邻块数据存储器或者暂存/转置寄存器组输入;并且控制滤波模块的数据输出到邻块数据存储器、暂存/转置寄存器组或者FIFO存储器;根据滤波边界是水平边界还是垂直边界,由控制模块来控制输入暂存/转置寄存器组的数据是转置还是寄存。
7.如权利要求6所述的硬件实现方法,其特征在于:滤波过程中,当前宏块中的本块的数据由重建数据存储器或者暂存/转置寄存器组输入;当前宏块中的邻块的数据由邻块数据存储器输入。
8.如权利要求6所述的硬件实现方法,其特征在于:该硬件实现方法使用的暂存/转置寄存器组包括有两个8*8暂存/转置寄存器组、两个3*8暂存/转置寄存器组以及一个8*3暂存/转置寄存器组,分别对当前宏块中的需要数次使用的本块或者邻块的数据进行转置或者寄存。
9.如权利要求6所述的硬件实现方法,其特征在于:该硬件实现方法使用的暂存/转置寄存器组包括具有两输入和两输出端口的暂存/转置寄存器组,第一组数据由其中一输入端口输入,且需要转置输出时,第二组数据可在第一组数据未完全输入之前从另一输入端口输入。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2007101707433A CN101170690A (zh) | 2007-11-21 | 2007-11-21 | 基于avs的环路滤波器的硬件装置及硬件实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2007101707433A CN101170690A (zh) | 2007-11-21 | 2007-11-21 | 基于avs的环路滤波器的硬件装置及硬件实现方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101170690A true CN101170690A (zh) | 2008-04-30 |
Family
ID=39391125
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2007101707433A Pending CN101170690A (zh) | 2007-11-21 | 2007-11-21 | 基于avs的环路滤波器的硬件装置及硬件实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101170690A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101345880B (zh) * | 2008-08-29 | 2010-09-01 | 暨南大学 | 基于avs的环路滤波器的硬件实现方法 |
CN102222319A (zh) * | 2011-04-08 | 2011-10-19 | 中兴通讯股份有限公司 | 一种图像处理方法及装置 |
CN101635849B (zh) * | 2008-07-24 | 2011-11-16 | 青岛海信信芯科技有限公司 | 一种环路滤波方法及环路滤波器 |
CN104754331A (zh) * | 2013-12-31 | 2015-07-01 | 展讯通信(上海)有限公司 | 像素自适应滤波器及滤波方法、编码器及解码器 |
CN110213579A (zh) * | 2019-06-11 | 2019-09-06 | 上海富瀚微电子股份有限公司 | 双核心计算单元实现环路滤波的方法 |
-
2007
- 2007-11-21 CN CNA2007101707433A patent/CN101170690A/zh active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101635849B (zh) * | 2008-07-24 | 2011-11-16 | 青岛海信信芯科技有限公司 | 一种环路滤波方法及环路滤波器 |
CN101345880B (zh) * | 2008-08-29 | 2010-09-01 | 暨南大学 | 基于avs的环路滤波器的硬件实现方法 |
CN102222319A (zh) * | 2011-04-08 | 2011-10-19 | 中兴通讯股份有限公司 | 一种图像处理方法及装置 |
WO2012136137A1 (zh) * | 2011-04-08 | 2012-10-11 | 中兴通讯股份有限公司 | 一种图像处理方法及装置 |
CN104754331A (zh) * | 2013-12-31 | 2015-07-01 | 展讯通信(上海)有限公司 | 像素自适应滤波器及滤波方法、编码器及解码器 |
CN110213579A (zh) * | 2019-06-11 | 2019-09-06 | 上海富瀚微电子股份有限公司 | 双核心计算单元实现环路滤波的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102724492B (zh) | 视频图像传输、播放方法和系统 | |
CN100446573C (zh) | 基于avs的去块效应滤波器vlsi实现装置 | |
CN101783957B (zh) | 一种视频预测编码方法和装置 | |
CN105993177A (zh) | 图像捕获加速器 | |
CN101882302B (zh) | 一种基于多核的运动模糊图像复原系统 | |
EP1917812B1 (en) | Video encoding and decoding preserving cache localities | |
CN101170690A (zh) | 基于avs的环路滤波器的硬件装置及硬件实现方法 | |
CN107277505B (zh) | 基于软硬件分区的avs-2视频解码器装置 | |
WO2006006125A1 (en) | Method and system for performing deblocking filtering | |
US7515761B2 (en) | Encoding device and method | |
CN101577806A (zh) | 一种视频终端 | |
CN101115207B (zh) | 基于预测点间相关性的帧内预测实现的方法及装置 | |
CN101790093B (zh) | 一种利用sopc实现avs视频解码的装置及方法 | |
CN101635849B (zh) | 一种环路滤波方法及环路滤波器 | |
CN102932643B (zh) | 一种适用于hevc标准的扩展可变块运动估计电路 | |
CN101599167B (zh) | 存储器的存取方法 | |
CN104469265A (zh) | 一种玻璃缺陷图像采集处理系统 | |
CN101888554B (zh) | 并行流水运动补偿滤波器vlsi结构设计方法 | |
CN101252691A (zh) | 一种多处理器并行实现高分辨率图像滤波的方法 | |
CN106485647A (zh) | 一种数据存取方法及装置 | |
CN102111615B (zh) | 直接存储器存取搬移实现视频滤波的方法及系统 | |
CN102881273B (zh) | 一种面向异步视频的嵌入式图像处理方法 | |
He et al. | FPGA-based high definition image processing system | |
CN204465758U (zh) | 一种视频解码器 | |
CN112422983B (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 | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20080430 |