CN102724512A - 环路滤波器及环路滤波方法 - Google Patents
环路滤波器及环路滤波方法 Download PDFInfo
- Publication number
- CN102724512A CN102724512A CN2012102244209A CN201210224420A CN102724512A CN 102724512 A CN102724512 A CN 102724512A CN 2012102244209 A CN2012102244209 A CN 2012102244209A CN 201210224420 A CN201210224420 A CN 201210224420A CN 102724512 A CN102724512 A CN 102724512A
- Authority
- CN
- China
- Prior art keywords
- filtering
- data
- boundary
- blocks
- border
- 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
- Image Processing (AREA)
Abstract
本发明提供了一种环路滤波器及环路滤波方法,其中,在本发明提供的环路滤波器中,利用每个寄存器阵列至少由4*4个寄存器组成的至少7组寄存器阵列存储滤波数据,从而相对于现有的无SRAM的环路滤波器至少需要两组16*32以及一组4*32的片内寄存器而言,大大降低了环路滤波器的资源消耗。在本发明提供的环路滤波方法中,当进行第一待滤波边界滤波时,仅需读取待滤波边界两侧的4*4块数据即可,相对于现有技术中需要读取待滤波边界两侧的一列或者多列的4*4块数据而言,突破了常规模式,从而大大减少了所需要的资源及简化了滤波复杂度。
Description
技术领域
本发明涉及数字视频解码技术领域,特别涉及一种环路滤波器及环路滤波方法。
背景技术
H.264/MPEG-4AVC是由Joint Video Team(JVT)制定的最新的视频标准,这个新标准对于消除块之间的虚拟边界作了重大改进,大幅度提高了图像的质量。但在该标准中,编解码器反变换量化后图像会出现方块效应。产生的原因有两个,其中最主要的原因是基于块的帧内和帧间预测残差的离散余弦变换(DCT),由于其变换系数的量化过程相对粗糙,因而反量化过程恢复的变换系数带有误差,会造成在图像块边界上的视觉不连续。第二个原因是来自运动补偿预测,运动补偿块可能是从不同帧的不同位置上的内插样点数据中复制而来的。由于运动补偿块的匹配不可能是绝对准确的,所以就会在复制块的边界上产生数据不连续。
为了克服这个问题,H.264标准在视频编解码器中采用了环路滤波(也称块滤波)。根据H.264标准,在进行环路滤波时,几乎每个像素点都要参与滤波计算,因此环路滤波具有很高的计算复杂度,通常在整个编解码器中占据三分之一以上的计算复杂度,从而对运算速度和系统资源尤其是存储器都提出了很高的要求。
现有技术中,主要通过两类方案实现环路滤波:
第一类方案
需要片内SRAM支持,在该类方案中,由于需要用到片内SRAM,设计复杂度及硬件成本较高,同时由于需要大量读写SRAM,也产生了一定的时延,降低了运算速度。该类环路滤波的实现方式请参考图1,其为基于SRAM的环路滤波器的模块示意图。
如图1所示,基于片内SRAM的方案中,环路滤波器主要包括:对整个环路滤波器中各单元进行控制的控制单元;计算阈值以决定滤波强度的阈值计算单元;分别进行水平滤波和垂直滤波的水平边界滤波单元和垂直边界滤波单元;以及进行数据存储的数据存储单元(SRAM、片内SRAM),所述片内SRAM一般由上部数据存储单元、宏块数据存储单元、左边数据存储单元及中间数据存储单元组成。
当进行环路滤波时,片内SRAM通过外部存储器接口从外部存储器中读取所需数据;垂直边界滤波单元从片内SRAM中读取数据,进行边界滤波;产生的数据一部分是已完成滤波,则写到上部数据存储单元、宏块数据存储单元或者左边数据存储单元,然后通过外部存储器接口写到片外部存储器,另一部分是没有滤波完成的中间结果,写到中间数据存储单元,以便继续进行下次滤波。完成一个边界的滤波之后,继续从片内SRAM读取新的数据进行下一边界的滤波,直到所有的边界滤波完成(包括垂直边界及水平边界,其中,水平边界的滤波通过水平边界滤波单元实现)。根据H.264标准,每个4×4子块数据最多要参与4次滤波运算,而滤波过程中会有很多中间结果,所以需要多次反复读写SRAM,从而造成整个环路滤波性能的下降。
第二类方案
无需片内SRAM支持,在该类方案中,虽然无需片内SRAM,但是至少需要两组16*32以及一组4*32的片内寄存器,这样对资源的消耗同样非常大。同时,在该类方案中,选用了与H.264标准不同的滤波边界顺序。具体的,请参考图2及图3,其中,图2为无SRAM的环路滤波器的模块示意图;图3为利用图2所示的环路滤波器执行环路滤波的顺序示意图。
如图2及图3所示,具体的,寄存器RegP中始终存放垂直边界左侧数据,寄存器RegQ中始终存放垂直边界右侧数据,寄存器RegT中存放水平边界上侧数据;通过外部存储器借口将环路滤波所需的数据分别放入上述三个寄存器中,接着,通过滤波控制单元、边界滤波、MUX1~4以及寄存器RegP、寄存器RegQ、寄存器RegT按照图3所示的滤波顺序进行环路滤波。
在现有的两种环路滤波方案中,均存在资源消耗大、复杂度高的问题。
发明内容
本发明的目的在于提供一种环路滤波器及环路滤波方法,以解决现有技术中环路滤波器资源消耗大的问题。
为解决上述技术问题,本发明提供一种环路滤波器,包括:
外部存储器接口,用以从外部存储器读取数据或者向外部存储器写入数据;
至少7组寄存器阵列,用以存储滤波数据,每个寄存器阵列至少由4*4个寄存器组成;
滤波计算单元,用以执行边界滤波;
边界顺序控制单元,选择读取及存储滤波数据的寄存器阵列。
可选的,在所述的环路滤波器中,还包括:控制状态机,用以控制待滤波边界的顺序。
可选的,在所述的环路滤波器中,还包括:滤波边界强度计算模块,用以提供待滤波边界强度及滤波使能。
可选的,在所述的环路滤波器中,还包括:第一阵列选择器,用以根据边界顺序控制单元输出的信号读取存储滤波数据的寄存器阵列。
可选的,在所述的环路滤波器中,还包括:第二阵列选择器,用以根据边界顺序控制单元输出的信号向寄存器阵列存储滤波数据。
可选的,在所述的环路滤波器中,所述寄存器阵列的数量为7组或者8组。
可选的,在所述的环路滤波器中,每个寄存器为8比特寄存器。
本发明还提供一种环路滤波方法,包括:
当进行第一待滤波边界滤波时,
读取待滤波边界两侧的4*4块数据;
根据读取的待滤波边界两侧的4*4块数据进行边界滤波。
可选的,在所述的环路滤波方法中,当读取的4*4块数据有多个待滤波边界使用时,则存储该4*4块数据,直到用到该4*4块数据的待滤波边界均完成滤波。
可选的,在所述的环路滤波方法中,对于待滤波边界一侧或者两侧的4*4块数据已存储的,优先执行该待滤波边界的滤波。
在本发明提供的环路滤波器中,利用每个寄存器阵列至少由4*4个寄存器组成的至少7组寄存器阵列存储滤波数据,从而相对于现有的无SRAM的环路滤波器至少需要两组16*32以及一组4*32的片内寄存器而言,大大降低了环路滤波器的资源消耗。
此外,在本发明提供的环路滤波方法中,当进行第一待滤波边界滤波时,仅需读取待滤波边界两侧的4*4块数据即可,相对于现有技术中需要读取待滤波边界两侧的一列或者多列的4*4块数据而言,突破了常规模式,从而大大减少了所需要的资源及简化了滤波复杂度。
附图说明
图1是基于SRAM的环路滤波器的模块示意图;
图2是无SRAM的环路滤波器的模块示意图;
图3是利用图2所示的环路滤波器执行环路滤波的顺序示意图;
图4是本发明实施例一的环路滤波器的框结构示意图;
图5是本发明实施例一的寄存器阵列的结构示意图;
图6是本发明实施例二的环路滤波方法中滤波边界的顺序示意图;
图7是本发明实施例三的环路滤波方法中滤波边界的顺序示意图;
图8是本发明实施例四的环路滤波方法中滤波边界的顺序示意图。
具体实施方式
以下结合附图和具体实施例对本发明提供的环路滤波器及环路滤波方法作进一步详细说明。根据下面说明和权利要求书,本发明的优点和特征将更清楚。需说明的是,附图均采用非常简化的形式,仅用以方便、明晰地辅助说明本发明实施例的目的。
【实施例一】
请参考图4,其为本发明实施例一的环路滤波器的框结构示意图。如图4所示,在本实施例中,所述环路滤波器4包括:
外部存储器接口40,用以从外部存储器读取数据或者向外部存储器写入数据;
寄存器阵列组41,包括至少7组寄存器阵列,用以存储滤波数据,每个寄存器阵列至少由4*4个寄存器组成;
滤波计算单元42,用以执行边界滤波;
边界顺序控制单元43,选择读取及存储滤波数据的寄存器阵列;
控制状态机44,用以控制待滤波边界的顺序;
滤波边界强度计算模块45,用以提供待滤波边界强度及滤波使能;
第一阵列选择器46,用以根据边界顺序控制单元输出的信号读取存储滤波数据的寄存器阵列;
第二阵列选择器47,用以根据边界顺序控制单元输出的信号向寄存器阵列存储滤波数据。
在本实施例中,通过利用包括至少7组寄存器阵列的寄存器阵列组41实现滤波数据的存储,而每个寄存器阵列至少只需4*4个寄存器组成,由此,相对于现有的无SRAM的环路滤波器至少需要两组16*32以及一组4*32的片内寄存器而言,大大降低了环路滤波器的资源消耗。易知,所需的寄存器越大,其资源的消耗及成本越高,因此,虽然在本实施例中所需的寄存器数量较多,相对于现有技术中所需的大寄存器而言,仍大大的降低了资源的消耗。
请参考图5,其为本发明实施例一的寄存器阵列的结构示意图。如图5所示,16个寄存器按4行4列的矩阵方式排布,每个寄存器用以存储一个像素点的数据。优选的,每个寄存器为8比特寄存器。
在本实施例中,当利用环路滤波器4进行环路滤波时,
首先,根据滤波边界强度计算模块45及控制状态机44获取待滤波边界强度及滤波使能,并获取待滤波边界的顺序;
接着,利用外部存储器接口40从外部存储器读取数据,并将读取的数据根据边界顺序控制单元43的选择存放入寄存器阵列组41中;
接着,第一阵列选择器46根据边界顺序控制单元输出的信号读取存储滤波数据的寄存器阵列,并将数据传输给滤波计算单元42;
滤波计算单元42执行边界滤波,并将滤波结果通过第二阵列选择器47根据边界顺序控制单元输出的信号选择寄存器阵列组存储。
本发明的重点在于,如何通过至少7组寄存器阵列,每个寄存器阵列至少由4*4个寄存器组成的寄存器阵列组41实现环路滤波所产生的大量数据的存储。因此,在本发明接下去的描述中,将重点介绍其实现的方法。为了说明的清楚,当下文中提到选取某一寄存器阵列时,不再强调是通过第一阵列选择器46还是第二阵列选择器47予以实现。根据本发明所公开的内容,本领域技术人员可很方便地予以实现。此外,易知的,所述滤波计算单元42能够实现水平滤波或者垂直滤波,而具体如何实现,则为现有技术,本申请对此不再赘述。
接下去,将介绍本发明提供的环路滤波方法,特别的,该环路滤波方法至少仅需7组寄存器阵列,每个寄存器阵列至少由4*4个寄存器组成即可实现。根据下面的实施例可知,本发明提供的环路滤波方法通过如下方法予以实现:
当进行第一待滤波边界滤波时,
读取待滤波边界两侧的4*4块数据;
根据读取的待滤波边界两侧的4*4块数据进行边界滤波。
当读取的4*4块数据有多个待滤波边界使用时,则存储该4*4块数据,直到用到该4*4块数据的待滤波边界均完成滤波。
对于待滤波边界一侧或者两侧的4*4块数据已存储的,优先执行该待滤波边界的滤波。
根据接下去的具体实施例,将更清楚的体现本发明所提供的环路滤波方法。
【实施例二】
在本实施例中,选取Y∶Cb∶Cr=4∶2∶0的格式,一个完整的宏块数据包括一个16*16的亮度像素阵列以及两个8*8的色度阵列。在本实施例中设定每次滤波边界长度都为4个像素点,这样根据H.264的规范,总的滤波边界条数为48。
为了完成所有边界的滤波,那么边界两边的4*4块数据被加载更新的次数为96次,所以在滤波过程中会有大量的中间数据需要缓存,为了解决这一问题,本实施例提出了对这48条边界采用了一种交错的滤波顺序。
请参考图6,其为本发明实施例二环路滤波方法中滤波边界的顺序示意图。其中,图6中所标示的数字1~48即为48条边界的边界滤波顺序,其中,首先对标记“1”的垂直边界执行垂直滤波,接着对标记“2”的垂直边界执行垂直滤波,再接着对标记“3”的水平边界执行水平滤波,依此类推,本实施例不再赘述。
请继续参考图6,其中,Un(n=0,1...7)为宏块上方4*4块数据,Ln(n=0,1...7)为宏块左边4*4块数据,Cn(n=0,1...23)为当前宏块的4*4块数据,两个4*4块之间的数值为滤波顺序编号/滤波顺序。
接下去,将利用7组寄存器阵列实现环路滤波的数据存储,每一组寄存器阵列的数据存储方式可通过如下表1~表6示出,其中,表1~4列出了对亮度像素阵列进行滤波时,所有寄存器阵列的分配情况,寄存器阵列用RegArrN(N=0,1...6)表示。表5~6描述了两个色度像素阵列的滤波过程,由于色度分量的数据量较少,所以只用到了五组寄存器阵列。另外,各表中p表示该阵列是当前边界的左边或上边的数据,q表示该阵列是当前边界的右边或下边的数据,out表示该阵列可以写入到外部存储器。
边界 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
RegArr0 | L0(p) | L0(out) | -- | C2(q) | C2 | C2(p) | C2(q) | C2 |
RegArr1 | C0(q) | C0(p) | C0(q) | C0 | C0 | C0 | C0 | C0 |
RegArr2 | -- | C1(q) | C1 | C1(p) | C1(q) | C1 | C1 | C1 |
RegArr3 | -- | -- | U0(p) | U0(out) | -- | C3(q) | C3 | C3(q) |
RegArr4 | -- | -- | -- | -- | U1(p) | U1(out) | -- | -- |
RegArr5 | -- | -- | -- | -- | -- | -- | U2(p) | U2(out) |
RegArr6 | -- | -- | -- | -- | -- | -- | -- | U3(p) |
表1 第一组边界中寄存器阵列和4*4块数据对应关系(亮度)
边界 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |
RegArr0 | C2 | C2 | C2 | C2 | C2 | C2 | C2(p) | C2(out) |
RegArr1 | C0 | C0 | C0(p) | C0(out) | -- | C7(q) | C7 | C7(q) |
RegArr2 | C1 | C1 | C1 | C1 | C1(p) | C1(out) | -- | -- |
RegArr3 | C3 | C3 | C3 | C3 | C3 | C3 | C3 | C3(p) |
RegArr4 | L1(p) | L1(out) | -- | C6(q) | C6 | C6(p) | C6(q) | C6 |
RegArr5 | C4(q) | C4(p) | C4(q) | C4 | C4 | C4 | C4 | C4 |
RegArr6 | U3(out) | C5(q) | C5 | C5(p) | C5(q) | C5 | C5 | C5 |
表2第二组边界中寄存器阵列和4*4块数据对应关系(亮度)
表3第三组边界中寄存器阵列和4*4块数据对应关系(亮度)
边界 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 |
RegArr0 | C10 | C10 | C10 | C10 | C10 | C10 | C10(p) | C10(out) |
RegArr1 | C7(out) | C13(q) | C13 | C13(p) | C13(q) | C13 | C13 | C13 |
RegArr2 | C8 | C8 | C8(p) | C8(out) | -- | C15(q) | C15 | C15(q) |
RegArr3 | C9 | C9 | C9 | C9 | C9(p) | C9(out) | -- | -- |
RegArr4 | L3(p) | L3(out) | -- | C14(q) | C14 | C14(p) | C14(q) | C14 |
RegArr5 | C11 | C11 | C11 | C11 | C11 | C11 | C11 | C11(p) |
RegArr6 | C12(q) | C12(p) | C12(q) | C12 | C12 | C12 | C12 | C12 |
表4 第四组边界中寄存器阵列和4*4块数据对应关系(亮度)
边界 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
RegArr0 | L4(p) | L4(out) | -- | -- | L5(p) | L5(out) | -- | -- |
RegArr1 | C16(q) | C16(p) | C16(q) | C16 | C16 | C16 | C16(p) | C16(out) |
RegArr2 | -- | C17(q) | C17 | C17(q) | C17 | C17 | C17 | C17(p) |
RegArr3 | -- | -- | U4(p) | U4(out) | C18(q) | C18(p) | C18(q) | C18 |
RegArr4 | -- | -- | -- | U5(p) | U5(out) | C19(q) | C19 | C19(q) |
表5 第五组边界中寄存器阵列和4*4块数据对应关系(色度分量1)
边界 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
RegArr0 | L6(p) | L6(out) | -- | -- | L7(p) | L7(out) | -- | -- |
RegArr1 | C20(q) | C20(p) | C20(q) | C20 | C20 | C20 | C20(p) | C20(out) |
RegArr2 | -- | C21(q) | C21 | C21(q) | C21 | C21 | C21 | C21(p) |
RegArr3 | -- | -- | U6(p) | U6(out) | C22(q) | C22(p) | C22(q) | C22 |
RegArr4 | -- | -- | -- | U7(p) | U7(out) | C23(q) | C23 | C23(q) |
表6 第六组边界中寄存器阵列和4*4块数据对应关系(色度分量2)
在此,相应参考表格1~6中对于寄存器阵列的使用,具体通过如下方法实现:
首先对边界1进行滤波,它需要左边块L0和右边块C0的数据。分别将L0和C0块的数据写入寄存器阵列RegArr0和RegArr1,进行垂直边界的滤波,此时边界标志为垂直,寄存器阵列的移动方向为垂直。接下来处理边界2,它需要C0块和C1块的数据分别作为左右边数据,在处理边界1的时候,C0块的中间结果保存在RegArr1,因此RegArr1的数据直接用做边界2的数据输入,只需要读入C2块的数据,但此时RegArr1不再对应边界q块的数据,而是边界p块的数据。将C2块的数据加载到RegArr2,这样使用RegArr1和RegArr2滤波边界2。接下来滤波边界3,此时需要块U0和C0的数据分别作为上边和下边数据,由于C0块的数据已经在RegArr1中,此时只需要从外部读入U0的数据。
即在此,当进行第一待滤波边界滤波时,读取待滤波边界两侧的4*4块数据(在此,即为左边块L0和右边块C0的数据);根据读取的待滤波边界两侧的4*4块数据进行边界滤波。当读取的4*4块数据有多个待滤波边界使用时,则存储该4*4块数据(在此,即为存储C0块数据),直到用到该4*4块数据的待滤波边界均完成滤波。对于待滤波边界一侧或者两侧的4*4块数据已存储的,优先执行该待滤波边界的滤波(在此,即为第二执行边界2,而不是像现有技术中所提供的,第二执行边界9所示的边界)。
从上面边界1-3的滤波过程可以看到,C0块的数据被加载到RegArr1一次,整个滤波过程使用了3次,但是H.264规范中规定环路滤波过程有横向和纵向各两次,因此每个4*4块最多要使用4次,所以C0块的数据在RegArr1中还不能被覆盖,要等到边界11的滤波完成后才能写出去,在此之前要一直保留。下面将会看到,C1块,C2块,C3块的中间结果也将会驻留在RegArr2,RegArr0,RegArr3中,理由同上。
下一次滤波边界4,需要块C2和C3的数据,需要加载一次块C3的数据到RegArr0中,和RegArr2作为边界4的滤波数据输入。滤波边界5时,加载一次U1块数据到RegArr4,和RegArr2作为边界5的数据输入。边界6需要加载左边块C3的数据到RegArr3,右边块C2数据在RegArr0中。边界7需要加载上边块U2的数据到RegArr5,下边块C2数据在RegArr0中。边界8需要加载块上边U3的数据到RegArr6,下边块C2数据在RegArr3中。至此,第一组4个4x4块的边界1~8完成部分滤波,RegArr1,RegArr2,RegArr0,RegArr3中分别保留了C0~3块的中间结果,用作它们下面水平边界的滤波,各寄存器阵列的加载顺序见表1。
其中,需说明的是,某一4*4数据块由一个边界的左边块变成另一边界的右边块,或者由一个边界的下边块变成另一边界的上边块时,均可通过寄存器阵列中寄存器的移位予以实现,即通过寄存器的移位将一个边界的左边块变成另一边界的右边块,此为现有技术,本申请对此不再赘述。本申请的重点在于对于7组寄存器阵列的利用,以实现大量滤波数据的存储。
第二组边界9~16同上述边界1~8类似,不同的是在第一组中,水平边界的上方数据需要从U0~U3中读取,而在第二组边界中,水平边界的上方数据已经保存在RegArr0~3中。本次滤波中,需要重新加载的数据只有左边块数据L1和C4~7块的数据。寄存器阵列的加载顺序见表2。最后,C4~7块的中间结果分别保存在RegArr5,RegArr6,RegArr4,RegArr1中。
第三组边界17~24同上述边界9~16的滤波过程一样,只是该组的水平边界的上方数据已经在RegArr5,RegArr6,RegArr4,RegArr1中,需要重新加载到寄存器阵列中的数据包括左边块L2和块C8~11。本行结束,子块C4~7的中间结果分别保存在RegArr2,RegArr3,RegArr0,RegArr5中,具体的加载顺序见表3。
第四组边界需要加载的数据包括左边块L3和块C12~15的数据,上方块的数据保从RegArr2,RegArr3,RegArr0,RegArr5中读取,滤波过程同第三组,具体的加载顺序见表4。
在上述四组滤波过程中,每组开始的第一次滤波完成后,当前宏块左边的4*4块的滤波过程已结束,可以存储到外部存储器中,每次水平边界滤波结束后,上方4*4块的数据滤波过程也已经完成,可以存到外部存储器。第四组存储操作跟前三组稍有不同,该组每次水平滤波完成后,可以将边界上方和下方的数据同时存入外部存储器中。
色度像素包括两个8*8的块,滤波方式完全一样。滤波边界顺序见图6,首先滤波边界33,需要将块L4和块C16中的数据分别加载到RegArr0和RegArr1中。接下来做边界34的滤波,需要加载块C17的数据到RegArr2中作为边界右边数据,上次操作中RegArr1中的数据作为边界左边数据。完成后,开始滤波两个水平边界35和36,边界下边块数据分别为上述两步操作的中间结果,它们存在寄存器阵列RegArr1和RegArr2中,上边数据U4,U5块可以加载到RegArr3和RegArr4中。接下来滤波边界37,将左边块L5和右边块C18中数据加载到RegArr0和RegArr3中。然后滤波边界38,加载块C19中的数据到RegArr4中完成垂直边界滤波。剩下两个水平边界39和40,不需要加载任何数据,上边块的数据分别存放在RegArr1和RegArr2中,下边块数据分别存放在RegArr3和RegArr4中。至此完成一个色度8*8的滤波,另一个色度分量的滤波过程完全一样。
寄存器阵列转置说明:从上述滤波过程可以看到,寄存器阵列同时被用作做水平和垂直边界的滤波,水平边界的滤波输入还要用到垂直边界的滤波中间结果,对于寄存器阵列只需要配置为可以水平和垂直移位操作,以便同时支持两个方向的滤波过程即可。
通过该实施例可知,本实施例提供的环路滤波方法,相对于现有技术中需要读取待滤波边界两侧的一列或者多列的4*4块数据而言,突破了常规模式,从而大大减少了所需要的资源及简化了滤波复杂度。
【实施例三】
请参考图7,其为本发明实施例三的环路滤波方法中滤波边界的顺序示意图。如图7所示,在本实施例中,所述环路滤波方法中的滤波边界的顺序与实施例一的滤波边界顺序不同,但其同样可通过7组寄存器实现,降低资源消耗、简化复杂度。
其同样遵循了:
当进行第一待滤波边界滤波时,
读取待滤波边界两侧的4*4块数据;
根据读取的待滤波边界两侧的4*4块数据进行边界滤波。
当读取的4*4块数据有多个待滤波边界使用时,则存储该4*4块数据,直到用到该4*4块数据的待滤波边界均完成滤波。
对于待滤波边界一侧或者两侧的4*4块数据已存储的,优先执行该待滤波边界的滤波。
具体的,可根据图7所示的滤波边界,相应参考实施例二对于7组寄存器的利用予以实现,本申请对此不再赘述。
【实施例四】
请参考图8,其为本发明实施例四的环路滤波方法中滤波边界的顺序示意图。如图8所示,在本实施例中,所述环路滤波方法中的滤波边界的顺序与实施例一的滤波边界顺序不同,此外,在本实施例中需要用到8组寄存器实现,但相对于现有技术,其同样降低资源消耗、简化复杂度。
同时,其同样遵循了:
当进行第一待滤波边界滤波时,
读取待滤波边界两侧的4*4块数据;
根据读取的待滤波边界两侧的4*4块数据进行边界滤波。
当读取的4*4块数据有多个待滤波边界使用时,则存储该4*4块数据,直到用到该4*4块数据的待滤波边界均完成滤波。
对于待滤波边界一侧或者两侧的4*4块数据已存储的,优先执行该待滤波边界的滤波。
具体的,可根据图8所示的滤波边界,相应参考实施例二对于7组寄存器的利用予以实现,在此,当7组寄存器中均存储有数据时,将利用第8组寄存器存储数据,在本申请公开的基础上,本领域技术人员将很容易的予以实现,本申请对此不再赘述。
需说明的是,本发明对于滤波顺序的举例是一种示例性的方式,并非穷举的方式,例如,在本发明的举例中,主要是通过将U0~U3的块数据予以尽快使用,而在本发明的其他实施例中,也可将L0~L3的块数据予以尽快使用。本申请对此并不做限定。其只需满足如下环路滤波方法即可:
当进行第一待滤波边界滤波时,
读取待滤波边界两侧的4*4块数据;
根据读取的待滤波边界两侧的4*4块数据进行边界滤波。
进一步的,当读取的4*4块数据有多个待滤波边界使用时,则存储该4*4块数据,直到用到该4*4块数据的待滤波边界均完成滤波。
进一步的,对于待滤波边界一侧或者两侧的4*4块数据已存储的,优先执行该待滤波边界的滤波。
上述描述仅是对本发明较佳实施例的描述,并非对本发明范围的任何限定,本发明领域的普通技术人员根据上述揭示内容做的任何变更、修饰,均属于权利要求书的保护范围。
Claims (10)
1.一种环路滤波器,其特征在于,包括:
外部存储器接口,用以从外部存储器读取数据或者向外部存储器写入数据;
至少7组寄存器阵列,用以存储滤波数据,每个寄存器阵列至少由4*4个寄存器组成;
滤波计算单元,用以执行边界滤波;
边界顺序控制单元,选择读取及存储滤波数据的寄存器阵列。
2.如权利要求1所述的环路滤波器,其特征在于,还包括:
控制状态机,用以控制待滤波边界的顺序。
3.如权利要求2所述的环路滤波器,其特征在于,还包括:
滤波边界强度计算模块,用以提供待滤波边界强度及滤波使能。
4.如权利要求3所述的环路滤波器,其特征在于,还包括:
第一阵列选择器,用以根据边界顺序控制单元输出的信号读取存储滤波数据的寄存器阵列。
5.如权利要求4所述的环路滤波器,其特征在于,还包括:
第二阵列选择器,用以根据边界顺序控制单元输出的信号向寄存器阵列存储滤波数据。
6.如权利要求1至5中的任一项所述的环路滤波器,其特征在于,所述寄存器阵列的数量为7组或者8组。
7.如权利要求1至5中的任一项所述的环路滤波器,其特征在于,每个寄存器为8比特寄存器。
8.一种环路滤波方法,其特征在于,包括:
当进行第一待滤波边界滤波时,
读取待滤波边界两侧的4*4块数据;
根据读取的待滤波边界两侧的4*4块数据进行边界滤波。
9.如权利要求8所述的环路滤波方法,其特征在于,当读取的4*4块数据有多个待滤波边界使用时,则存储该4*4块数据,直到用到该4*4块数据的待滤波边界均完成滤波。
10.如权利要求9所述的环路滤波方法,其特征在于,对于待滤波边界一侧或者两侧的4*4块数据已存储的,优先执行该待滤波边界的滤波。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012102244209A CN102724512A (zh) | 2012-06-29 | 2012-06-29 | 环路滤波器及环路滤波方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012102244209A CN102724512A (zh) | 2012-06-29 | 2012-06-29 | 环路滤波器及环路滤波方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102724512A true CN102724512A (zh) | 2012-10-10 |
Family
ID=46950157
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2012102244209A Pending CN102724512A (zh) | 2012-06-29 | 2012-06-29 | 环路滤波器及环路滤波方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102724512A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103237211A (zh) * | 2013-04-07 | 2013-08-07 | 福建星网视易信息系统有限公司 | 一种基于fpga的视频亚像素亮度插值的方法及其装置 |
CN104754363A (zh) * | 2013-12-31 | 2015-07-01 | 展讯通信(上海)有限公司 | 用于hevc的环路滤波方法及装置、编码器及解码器 |
CN104754331A (zh) * | 2013-12-31 | 2015-07-01 | 展讯通信(上海)有限公司 | 像素自适应滤波器及滤波方法、编码器及解码器 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1794814A (zh) * | 2004-12-01 | 2006-06-28 | 三星电子株式会社 | 流水线化解块滤波器 |
CN101076124A (zh) * | 2006-05-18 | 2007-11-21 | 北京大学深圳研究生院 | 去块滤波器 |
US20080193024A1 (en) * | 2007-02-14 | 2008-08-14 | Samsung Electronics Co., Ltd. | Apparatus and method for deblock filtering in a digital moving picture processing system |
CN101635849A (zh) * | 2008-07-24 | 2010-01-27 | 青岛海信信芯科技有限公司 | 一种环路滤波方法及环路滤波器 |
-
2012
- 2012-06-29 CN CN2012102244209A patent/CN102724512A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1794814A (zh) * | 2004-12-01 | 2006-06-28 | 三星电子株式会社 | 流水线化解块滤波器 |
CN101076124A (zh) * | 2006-05-18 | 2007-11-21 | 北京大学深圳研究生院 | 去块滤波器 |
US20080193024A1 (en) * | 2007-02-14 | 2008-08-14 | Samsung Electronics Co., Ltd. | Apparatus and method for deblock filtering in a digital moving picture processing system |
CN101635849A (zh) * | 2008-07-24 | 2010-01-27 | 青岛海信信芯科技有限公司 | 一种环路滤波方法及环路滤波器 |
Non-Patent Citations (1)
Title |
---|
梁德坚 等: "H.264 中图像去方块的编码算法研究", 《通信技术》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103237211A (zh) * | 2013-04-07 | 2013-08-07 | 福建星网视易信息系统有限公司 | 一种基于fpga的视频亚像素亮度插值的方法及其装置 |
CN104754363A (zh) * | 2013-12-31 | 2015-07-01 | 展讯通信(上海)有限公司 | 用于hevc的环路滤波方法及装置、编码器及解码器 |
CN104754331A (zh) * | 2013-12-31 | 2015-07-01 | 展讯通信(上海)有限公司 | 像素自适应滤波器及滤波方法、编码器及解码器 |
CN104754363B (zh) * | 2013-12-31 | 2017-08-08 | 展讯通信(上海)有限公司 | 用于hevc的环路滤波方法及装置、编码器及解码器 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1156154C (zh) | 视频数据排列的方法及相应的视频处理器 | |
CN101472173B (zh) | 一种去块滤波方法、系统及去块滤波器 | |
CN1794814B (zh) | 流水线化解块滤波器 | |
CN101309405B (zh) | 参考数据载入的方法及装置 | |
CN101170701B (zh) | 视频编解码系统中去块滤波方法及装置 | |
CN101754013A (zh) | 由图形处理单元支持的视频解码方法 | |
CN110337002B (zh) | 一种在多核处理器平台上hevc多层次并行解码方法 | |
CN112991142A (zh) | 图像数据的矩阵运算方法、装置、设备及存储介质 | |
US20070076511A1 (en) | Method and apparatus for mapping memory | |
CN102724512A (zh) | 环路滤波器及环路滤波方法 | |
CN102143361B (zh) | 一种视频编码方法和装置 | |
CN102088610A (zh) | 视频编解码器及运动估计方法 | |
CN101212680B (zh) | 图像数据的存储器存取方法及系统 | |
CN101888554B (zh) | 并行流水运动补偿滤波器vlsi结构设计方法 | |
CN1703094A (zh) | 1/4像素插值应用于1/2像素插值结果的图象插值装置和方法 | |
CN101304528B (zh) | 视频处理器视频数据与存储器存储空间的映射方法 | |
CN1878307A (zh) | 提高视频解码器中sdram总线效率的方法 | |
CN1870752A (zh) | 应用于视频编码/解码的解块滤波方法及其装置 | |
CN101459839A (zh) | 去块效应滤波方法及实现该方法的装置 | |
CN102541808A (zh) | Soc芯片系统及实现Soc芯片中可配置缓冲器的方法 | |
CN102075753B (zh) | 一种视频编解码中去块滤波方法 | |
CN101715127B (zh) | 一种环路滤波方法和环路滤波系统 | |
CN104754363A (zh) | 用于hevc的环路滤波方法及装置、编码器及解码器 | |
CN101662684A (zh) | 用于视频图像编解码的数据存储的方法及装置 | |
CN100403276C (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 | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20121010 |