CN101170701A - 视频编解码系统中去块滤波方法及装置 - Google Patents
视频编解码系统中去块滤波方法及装置 Download PDFInfo
- Publication number
- CN101170701A CN101170701A CN 200710202579 CN200710202579A CN101170701A CN 101170701 A CN101170701 A CN 101170701A CN 200710202579 CN200710202579 CN 200710202579 CN 200710202579 A CN200710202579 A CN 200710202579A CN 101170701 A CN101170701 A CN 101170701A
- Authority
- CN
- China
- Prior art keywords
- filtering
- macro block
- buffer
- pixel
- data
- 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
本发明涉及视频编解码系统中去块滤波技术。本发明针对现有去块滤波技术中,片内缓存使用率与对片外存储器读写次数间配置不合理,片外存储器读写和滤波运算的并行度低的缺点,公开了一种视频编解码系统中去块滤波方法及其装置。本发明的视频编解码系统中去块滤波方法,利用折半预取宏块数据技术及宏块数据单周期缓写技术,实现片内缓存器对片外存储器读写宏块数据,滤波强度系数计算与像素滤波计算并行执行。本发明还公开了实施上述方法的装置。本发明的有益效果是,片内缓存使用率和对片外存储器读写次数之间取得很好的平衡,降低了滤波运算复杂度;实现了对片外存储器的读写操作与片内去块滤波运算操作之间的高度并行执行。
Description
技术领域
本发明涉及视频编解码系统,特别涉及视频编解码系统中去块滤波技术。
背景技术
当前主流的视频编解码方法和标准,都是采用基于块变换的混合编码方案。在这些编解码方法中,解码器反变换反量化后重建的图像会出现人工的“块效应”。这是因为基于运动补偿的算法是以块(4×4或8×8像素大小)为单位,以及帧内/帧间预测残差的DCT变换和量化也是以块(4×4或8×8像素大小)为单位运算的。通过对解码重建后图像进行去块滤波,对每个块的内边界滤波,可以有效去除这种方块效应。
视频编解码系统中去块滤波的过程一般包括:(1)取得当前宏块以及上紧邻宏块和左紧邻宏块(如果存在)的宏块参数(滤波参数、量化参数、运动参数和类型参数等数据),计算各个待滤波边界的滤波强度系数,称为滤波强度系数计算;(2)取得当前宏块以及上紧邻宏块和左紧邻宏块(如果存在)的亮度和色度像素值,进行亮度/色度像素各分量的滤波计算,称为滤波计算;(3)边界滤波计算的调度,确保亮度/色度像素各分量在每个边界上的滤波顺序符合编码规范所定义,一般先从左至右对垂直边界进行滤波,随后从上至下对水平边界进行滤波。
视频编解码系统中去块滤波中的宏块一般由4×4的方块组成,如图1中上边界、下边界、左边界、右边界围成的方块,每个方块为滤波的最小单位——亚宏块单元(4×4或8×8像素大小)。宏块与宏块之间是相邻的,如图1所示,Current宏块指当前宏块,为当前滤波处理的宏块,当前宏块的前一宏块——Left(左紧邻)宏块,为已经滤波处理后的宏块,当前宏块的后一宏块——Up(上紧邻)宏块,为待滤波处理的宏块。
消除当前宏块各垂直边界上的方块效应时,参与滤波的有当前边界左右两边的4小块像素数据及宏块参数;消除水平边界上的方块效应时,参与滤波的有当前边界上下两边的4小块像素数据及宏块参数。对当前宏块的右边界和下边界不进行消除边界方块效应处理。
去块滤波处理的引入,急剧提高了编解码的运算复杂度,比如最新的国际视频编码标准H.264中,去块滤波的计算复杂度约占解码运算复杂度的三分之一。降低去块滤波的计算复杂度,对整个编解码系统有着极其重要的意义。在编解码器的集成电路实现中,由于芯片的片内缓存空间的成本很高,一般重建后去块滤波前整帧图像的像素值和参数信息存储于片外。滤波时将所需的参数和像素数据由片外存储器读入片内缓存器,滤波处理后,再将滤波后的像素数据由片内缓存器写出到片外存储器。现有的去块滤波技术方案一般有:
(1)片内存储N+1个宏块(N表示一帧图像的宏块宽度)的全部像素和参数数据,以循环链表的方式管理这个存储空间。该方法的优点是可以将对片外存储器的读写操作次数降到尽可能低。一般在对一个宏块滤波前就将其全部参数和像素数据读入片内缓存单元,所以该方法另一优点是滤波运算和片外存储读写的并行控制复杂度最小。但是该方法对片内缓存空间的使用只作了很低程度的优化,N+1个链表单元中有N-2个单元的数据不参与当前宏块滤波运算,只为等待将作为上紧邻宏块参与滤波而留存在片内缓存器,所以片内缓存空间使用率较低。该方法还有一个缺点是N+1线性依赖于帧图像的宏块宽度,片内缓存空间大小将依据芯片规范所支持的最大分辨率图像宏块宽度而定。如果芯片应用是处理较小图像,则有一部分存储空间将被闲置。
(2)通过变换常规的滤波顺序,对滤波的最小亚宏块单元(4×4或8×8像素大小),实现其在宏块内的从左到右,从上到下的滤波顺序。对参与上紧邻宏块和左紧邻宏块滤波的数据,等到使用之前才读入片内缓存。对片外存储器每次读写数据的基本量是滤波的最小单位。该方法的优点是片内缓存空间使用效率极高,片内缓存上的中间数据量尽可能少。片内缓存的空间不到一个宏块像素数据所占空间大小。但是,该方法对片外存储器的读写操作极为频繁,仅对亮度像素滤波都需要20×2次读写操作。
(3)现有方法中,一般能实现对片外存储器读写数据与滤波运算的并行执行,以及亮度滤波与色度滤波的并行处理。但没有片内滤波运算的并行处理和对片外存储器读写的并行综合考虑。
视频图像去块滤波的集成电路的设计有着数据读写密集和运算密集的特点,其设计目标是提升性能和缩小电路规模。通过提高片外存储器读写和片内滤波运算的并行度,提高各像素分量间滤波运算的并行度以提升集成电路的性能;通过降低片内缓存大小和降低滤波运算复杂度以缩小集成电路规模。因为集成电路读写片外存储器总是会有一定时延(由于等待总线的分配,从发起读/写命令到真正开始数据读/写一般有8个时钟周期)的特点,虽然这个时延可以根据总线占用情况以及内存控制器调度策略的不同而变化,所以单次读/写命令传输的数据量越高,发起读/写命令的次数就越少,那么读写片外存储器传输数据使用时间的有效率越高。依据上述对设计目标和对芯片外存储器读写数据特点的分析,可以看出当前去块滤波处理存在的缺陷如下:
1.在控制片内缓存大小和控制对片外存储器读写次数方面,未取得平衡。要么如方法(1)所述,虽然对片外存储器读写的次数少,但片内缓存空间使用效率很低。要么如方法(2)所述,对片内缓存空间使用率高,但对片外存储器读写频繁。
2.对片外存储器读写和滤波运算的并行执行仅为亮度/色度像素分量的并行执行。
3.应用处理的图像色度格式单一。即其设计应用对象只针对图像色度格式YUV 4:2:0,YUV 4:1:1,YUV 4:2:2或YUV 4:4:4图像色度格式中的一种。其中,YUV 4:2:0,YUV 4:1:1,YUV 4:2:2,YUV 4:4:4指图象的不同YUV采样格式,YUV 4:2:0指在水平和垂直方向上每2个连续的像素采样点包括2个Y分量、1个U分量和1个V分量;YUV 4:1:1指在每条扫描线上每4个连续的像素采样点包括4个Y分量、1个U分量和1个V分量;YUV 4:2:2指在每条扫描线上每4个连续的像素采样点包括4个Y分量,2个U分量和V分量;YUV4:4:4指在每条扫描线上每4个连续的像素采样点包括4个Y分量,4个U分量和4个V分量。
发明内容
本发明所要解决的技术问题是,本发明针对现有去块滤波技术中,片内缓存的使用率与对片外存储器读写次数之间的配置不合理,以及片外存储器读写和滤波运算的并行度低的缺点,提供一种视频编解码系统中去块滤波方法及其装置。
本发明解决所述技术问题采用的技术方案是,视频编解码系统中去块滤波方法,其特征在于,包括下列步骤:
a.将第一个宏块的宏块参数、前半部分宏块像素数据依次由片外存储器读入片内缓存器,宏块参数存储在第一指定缓存单元;
b.依次对当前像素数据进行滤波处理,滤波后的像素数据覆盖读入的像素数据;同时,将后半部分宏块像素数据、上紧邻像素数据依次由片外存储器读入片内缓存器;
c.依次对当前像素数据进行滤波处理,滤波后的像素数据覆盖读入的像素数据;当前宏块的滤波处理完成后,将参与后一宏块去块滤波处理的部分宏块参数转存到第二指定缓存单元,并从片外存储器读入后一宏块的宏块参数到第一指定缓存单元,再依次从片外存储器读入后一宏块的前部分宏块像素数据到片内缓存器;
d.若当前宏块为最后一个滤波宏块,则进入步骤f;否则进入步骤e;
e.依次对当前像素数据进行滤波处理,滤波后的像素数据覆盖读入的像素数据;同时,依次将前一宏块滤波后的宏块像素数据和前一宏块的上紧邻像素数据由片内缓存器写出到片外存储器,以及当前宏块的后部分宏块像素数据和上紧邻像素数据由片外存储器读入片内缓存器;然后返回步骤c;
f.依次对当前像素数据进行去块滤波处理,滤波后的像素数据覆盖读入的像素数据;同时,依次将前一宏块滤波后的宏块像素数据和前一宏块的上紧邻像素数据由片内缓存器写出到片外存储器,以及当前宏块的后部分宏块像素数据读入片内缓存器;
g.对当前像素数据进行滤波处理,滤波后的像素数据依次覆盖读入的像素数据;当前宏块的滤波处理完成后,依次将滤波后的像素数据由片内缓存器写出到片外存储器,滤波处理结束。
进一步的,所述片内缓存器包括缓存器a和缓存器b,所述当前宏块的宏块参数存放在缓存器a的指定单元,当前宏块的前半部分像素数据、前一宏块滤波后的宏块像素数据存放在缓存器a内;所述前一宏块的部分宏块参数、前一宏块和当前宏块的上紧邻像素数据存放在缓存器b;
进一步的,所述像素数据包括亮度像素数据、色度像素数据,其读入/写出操作的批次划分分别为:
亮度像素数据的读入/写出操作批次包括,宏块的每列为一个批次,宏块的上紧邻行为一个批次;
色度像素数据的读入/写出操作批次为:宏块的列存在色度像素,则该列为一个批次,宏块的上紧邻行为一个批次;
读入/写出操作时,按照从左至右,再到上紧邻的顺序依次读入/写出各批次的亮度像素数据、色度像素数据;
进一步的,滤波处理时,各宏块的滤波强度系数运算逻辑组以及各宏块滤波运算的亮度像素滤波运算逻辑组的划分均为:垂直方向,除宏块的右边界外,宏块的每条列边缘的四个位置为一个运算逻辑组;水平方向,除宏块的下边界外,宏块的每条行边缘的四个位置为一个运算逻辑组;
色度像素滤波运算逻辑组包括色度像素分量U、V的滤波运算逻辑组:垂直方向,除宏块的右边界外,宏块的列边缘的两边的子块存在色度像素分量,则该列边缘的四个位置为一个运算逻辑组;水平方向,除宏块的下边界外,宏块的行边缘的两边的子块存在色度像素分量,则该行边缘的四个位置为一个运算逻辑组;
按照先垂直,后水平,从左至右,从上到下的顺序依次对滤波强度系数运算逻辑组、亮度像素滤波运算逻辑组、色度像素滤波运算逻辑组进行运算,且亮度像素滤波运算逻辑组和色度像素滤波运算逻辑组并行运算。
视频编解码系统中去块滤波装置,其特征在于,包括并行控制器、片外存储器、片内缓存器、滤波强度系数计算器、像素滤波计算器,所述并行控制器控制片外存储器与片内缓存器的数据传输,向滤波强度系数计算器发出系数计算指令,以及向像素滤波计算器发出滤波控制指令;所述片内缓存器用于将宏块参数传输到滤波强度系数计算器,所述像素滤波计算器根据滤波强度系数计算器传输的滤波强度系数和片内缓存器传输的待滤波像素数据进行去块滤波处理,像素滤波计算器再将滤波后的像素数据传输给片内缓存器。
进一步的,所述片内缓存器包括缓存器a和缓存器b,所述缓存器a向缓存器b传输数据,缓存器a将宏块参数传输到滤波强度系数计算器;像素滤波计算器根据滤波强度系数对缓存器a、缓存器b的像素数据滤波后,再将滤波后的像素数据传输给缓存器a、缓存器b;
进一步的,本发明的视频编解码系统中去块滤波装置还包括缓存器c,所述滤波强度系数计算器将滤波强度系数存储到缓存器c,缓存器a、缓存器b、缓存器c向像素滤波器计算器传输数据,像素滤波计算器再将滤波后的数据传输给缓存器a、缓存器b;
进一步的,所述滤波强度系数计算器由4个边缘滤波系数计算器组成,每条滤波边缘四个位置的滤波强度系数计算并行执行;所述滤波强度系数计算器由2个边缘滤波系数计算器组成,每条滤波边缘四个位置的滤波强度系数计算分两次并行执行;所述滤波强度系数计算器由1个边缘滤波系数计算器组成,每条滤波边缘四个位置的滤波强度系数计算串行执行;
进一步的,所述像素滤波计算器包括第一像素滤波计算器、第二所述像素滤波计算器,所述第一像素滤波计算器由4个位置滤波计算器组成,每条边缘四个位置的像素滤波计算并行执行;所述第二像素滤波计算器由2个位置滤波计算器组成,每条边缘两个位置的像素滤波计算并行执行;
对图像色度格式为YUV 4:4:4,所述像素滤波计算器包括2/3个第一像素滤波计算器;
对图像色度格式为YUV 4:2:2,所述像素滤波计算器包括2个第一像素滤波计算器,1个第二像素滤波计算器;
对图像色度格式为YUV 4:2:0,所述像素滤波计算器包括1个第一像素滤波计算器,1/2个第二像素滤波计算器。
本发明的有益效果是,在片内缓存使用率和对片外存储器读写次数之间取得很好的平衡,降低了滤波运算复杂度;实现了对片外存储器的读写操作与片内去块滤波运算操作之间的高度并行执行。对片内缓存使用率高,同时对片外存储器读写次数不频繁,所使用的片内缓存大小总和小于两个宏块的像素数据量,且不会随着所处理视频图像的宽度变大而增加;滤波运算并不局限于亮度像素滤波与色度像素滤波的并行执行,而是将边缘滤波强度系数的计算,不同图像色度格式的亮度像素滤波与色度像素滤波的计算并行执行。此外,本发明能灵活适应于多种图像色度格式以及不同并行度的去块滤波处理。
以下结合具体实施方式和附图,对本发明作进一步说明。
附图说明
图1是滤波宏块示意图。
图2是变化后宏块滤波编号顺序。
图3是存储器结构示意图。
图4是宏块滤波编号顺序。
图5是滤波边缘示意图。
图6-1~6-3是滤波强度系数计算器。
图7-1~7-2是像素滤波计算器。
图8-1~8-3是系统结构图。
图9是去块滤波处理时序图。
具体实施方式
参见图2,对去块滤波时,对一个宏块滤波周期内,片内缓存器与片外存储器的读入/写出操作数据编号方案如下:R表示读操作,W表示写操作,T表示转存,p表示宏块参数,y表示亮度像素,u、v表示图像色度格式YUV 4:4:4的色度像素分量U、V,c表示图像色度格式YUV 4:2:2的色度像素,ch表示YUV 4:2:0格式的色度像素。读入片内的宏块参数的数据编号为Rp0;转存参与后一宏块去块滤波处理的当前部分宏块参数的数据编号为Tp0;
图像色度格式YUV 4:4:4,YUV 4:2:2,YUV 4:2:0的亮度像素数据的读入/写出操作编号相同,包括5个批次,宏块的各列,图2所示的0、1、2、3;4、5、6、7;8、9、10、11;12、13、14、15位置的亮度像素;宏块的上紧邻行,图2所示的U-3、U-7、U-11、U-15位置的亮度像素,按照从左至右,再到上紧邻的顺序对5个批次的亮度像素数据的读入和写出操作编号依次为:Ry0、Ry1、Ry2、Ry3、Ry4,Wy0、Wy1、Wy2、Wy3、Wy4。
图像色度格式YUV 4:4:4的色度像素数据的读入/写出操作编号包括10个批次,对应图2所示的0、1、2、3;4、5、6、7;8、9、10、11;12、13、14、15;U-3、U-7、U-11、U-15位置的色度像素分量u、v各分成5个批次,按照从左至右,再到上紧邻的顺序对10个批次的色度像素数据的读入/写出操作编号依次为:Ru0、Ru1、Ru2、Ru3、Ru4,Wu0、Wu1、Wu2、Wu3、Wu4;Rv1、Rv2、Rv3、Rv4,Wv0、Wv1、Wv2、Wv3、Wv4。
图像色度格式YUV 4:2:2的色度像素数据的读入/写出操作编号包括5个批次,将上述的Ru0和Rv0,Ru1和Rv1,Ru2和Rv2,Ru3和Rv3,Ru4和Rv4分别合并成Rc0、Rc1、Rc2、Rc3、Rc4,将Wu0和Wv0,Wu1和Wv1,Wu2和Wv2,Wu3和Wv3,Wu4和Wv4分别合并成Wc0、Wc1、Wc2、Wc3、Wc4。
图像色度格式YUV 4:2:0的色度像素数据的读入/写出操作编号包括3个批次,将上述Rc0和Rc1,Rc2和Rc3分别合并为Rch0和Rch1,将Rc4操作覆盖的数据重新编号为Rch2,将Wc0和Wc1,Wc2和Wc3分别合并为Wch0和Wch1,将Wc4操作覆盖的数据重新编号为Wch2。通过上述对图像色度格式YUV 4:4:4,YUV 4:2:2,YUV 4:2:0的像素数据的读入/写出操作编号,不难得出其它图像色度格式的操作编号。
配置对片外存储器读写的单次数据量为64byte,上述所有定义的数据读入/写出操作编号中,Rch2/Wch2传输数据为32byte,Rp0、Tp0传输数据量依赖于对宏块滤波、运动参数的预处理情况而定,其它操作编号的数据量都是每次64byte。一个宏块滤波周期内所有写出数据除没有宏块参数数据外,其余均相似于读入片内的数据。不同的是读入当前宏块的宏块像素数据(图2中0~15位置的像素数据)和上紧邻像素数据(图2中U-3、U-7、U-11、U-15位置的像素数据),而写出的是滤波前一宏块的像素数据和上紧邻像素数据。
去块滤波处理时,对片外存储器的读写操作并行执行,以提高数据吞吐效率。如图3所示,数据传输系统的器件由片外存储器101,片内缓存器(缓存201、缓存202)组成。其中,缓存202存储Ry4/Wy4,Ru4/Wu4,Rv4/Wv4,Rc4/Wc4,Rch2/Wch2操作编号的数据,即宏块的上紧邻像素数据,以及参与当前宏块去块滤波的前一宏块的部分宏块参数。其它操作编号的数据都存储在缓存201。图3示意了缓存201的内部结构,由k个64byte缓存单元外加一个nbyte缓存单元构成,n表示宏块滤波、量化和运动参数等数据所占字节数,k的取值根据图像色度格式不同而设计不同,其值对应图像色度格式YUV 4:4:4、YUV 4:2:2、YUV 4:2:0分别为19、13、10。缓存201的k个64byte缓存单元为连续缓存单元,在逻辑上以循环链表的方式与片外存储器101交互数据。缓存202包括的缓存单元依据图像色度格式而定,图像色的格式YUV 4:4:4,包括3个64byte缓存单元;图像色的格式YUV 4:2:2,包括2个64byte缓存单元;图像色的格式YUV 4:2:0,包括1个64byte缓存单元和1个32byte缓存单元。缓存201、缓存202的缓存大小如下表所示:
图像色度格式 | 缓存201(byte) | 缓存202(byte) |
YUV 4:4:4 | 64×19+n | 64×3 |
YUV 4:2:2 | 64×13+n | 64×2 |
YUV 4:2:0 | 64×10+n | 64+32 |
滤波处理时,宏块的运算逻辑组的划分参见图4,数字0~15表示当前宏块所有16个块改进的一种编号顺序,U-3、U-7、U-11、U-15是上紧邻宏块所有参与当前宏块滤波的4个块的编号,L-12、L-13、L-14、L-15是左紧邻宏块所有参与当前宏块滤波的4个块的编号,字母a~z、A~F标记32个可能需要滤波的边缘位置。图5示意了一条滤波边缘(可以垂直,也可以是水平)的情况,其中数字0、1、2、3标记了一条滤波边缘由四个滤波位置组成的情形,而p0~p15,q0~q15标记了可能参与滤波的亮度像素位置。因为色度格式的不同,p0~p15,q0~q15位置的色度像素并不总是出现,比如图像色度格式YUV 4:2:2,YUV 4:2:0的色度像素滤波来说,因为p4~p7,p12~p15,q4~q7和q12~q15的位置没有色度像素,则有些边缘的1、3位置的不需要滤波。
对宏块滤波的划分标记符号定义为,z表示垂直滤波,h表示水平滤波,u表示色度U分量滤波,v表示色度V分量滤波,0~3数字表示滤波边缘编号,s表示滤波强度系数的计算,如zu0(a,b,c,d)表示对色度U分量在行边缘上的a,b,c,d位置的滤波标记。
如图4所示,对于三种图像色度格式YUV 4:4:4,YUV 4:2:2,YUV 4:2:0的亮度像素滤波运算逻辑组划分均为:zy0(a,b,c,d),zy1(e,f,g,h),zy2(i,j,k,l),zy3(m,n,o,p),hy0(q,r,s,t),hy1(u,v,w,x),hy2(y,z,A,B),hy3(C,D,E,F)八个运算逻辑组。
如图4所示,对图像色度格式YUV 4:4:4的色度像素滤波运算逻辑组的划分为:zu0(a,b,c,d),zu1(e,f,g,h),zu2(i,j,k,l),zu3(m,n,o,p),hu0(q,r,s,t),hu1(u,z,w,x),hu2(y,z,A,B),hu3(C,D,E,F);zv0(a,b,c,d),zv1(e,f,g,h),zv2(i,j,k,l),zv3(m,n,o,p),hv0(q,r,s,t),hv1(u,v,w,x),hv2(y,z,A,B),hv3(C,D,E,F)16个的运算逻辑组。
如图4所示,对图像色度格式YUV 4:2:2的色度像素滤波运算逻辑组的划分为:zu0(a,b,c,d),zu2(i,j,k,l),hu0(q,r,s,t),hu1(u,v,w,x),hu2(y,z,A,B),hu3(C,D,E,F);zv0(a,b,c,d),zv2(i,j,k,l),hv0(q,r,s,t),hv1(u,v,w,x),hv2(y,z,A,B),hv3(C,D,E,F)12个的运算逻辑组。
如图4所示,对图像色度格式YUV 4:2:0的色度像素滤波运算逻辑组的划分为:zu0(a,b,c,d),zu2(i,j,k,l),hu0(q,r,s,t),hu2(y,z,A,B);zv0(a,b,c,d),zv2(i,j,k,l),hv0(q,r,s,t),hv2(y,z,A,B)8个的运算逻辑组。
如图4所示,对滤波强度系数运算逻辑组的划分为:zs0(a,b,c,d),zs1(e,f,g,h),zs2(i,j,k,l),zs3(m,n,o,p),hs0(q,r,s,t),hs1(u,v,w,x),hs2(y,z,A,B),hs3(C,D,E,F)8个运算逻辑组。
另外还有一个由并行控制器执行的数据转存操作编号为Tp0,即把缓存201里当前宏块参数中部分将会被后一宏块滤波所用到的数据转存到缓存202里。Tp0操作在当前宏块滤波尾期执行,此时缓存202空置;当进入后一宏块滤波时,这部分转存的参数数据立刻参与该宏块zs0(a,b,c,d)的计算,这样202缓存被释放给滤波中期Wy4操作使用。
滤波强度系数计算器如图6-1~6-3所示。滤波强度系数计算器每次完成一个运算逻辑组所标记的四个边缘位置,而这四个边缘位置如图4所示均在一条水平或垂直线上。所以每个滤波强度系数计算的运算逻辑组能共享边缘两边宏块的滤波和量化参数数据,而各个子块不同的运动参数(参考帧和运动矢量等)需要传送至排列成0,1,2,3四个边缘位置的计算对应处。将一个滤波强度系数计算的运算逻辑组所包括的四个边缘位置依次标记为边缘0,边缘1,边缘2,边缘3。如图6-1所示,滤波强度系数计算器由4个边缘滤波系数计算器组成,使每条滤波边缘四个位置的滤波强度系数计算并行执行;如图6-2所示,滤波强度系数计算器由2个边缘滤波系数计算器组成,使每条滤波边缘四个位置的滤波强度系数计算分两次并行执行完成;如图6-3所示,滤波强度系数计算器由1个边缘滤波系数计算器组成,使每条滤波边缘四个位置的滤波强度系数计算串行执行。在滤波处理时,根据片内运算并行程度,选择合适的滤波强度系数计算器的并行度。
亮度/色度像素滤波运算时,因为图像色度格式YUV 4:4:4,YUV 4:2:2,YUV 4:2:0的不同,图5所示的四个滤波边缘位置并不总是参与滤波,分两种情况:一种是0,1,2,3四个位置都需要滤波;另一种是只有0和2两个位置需要滤波。由此像素滤波计算器包括两种类型,像素滤波器计算器-1和像素滤波计算器2。如图7-1所示,像素滤波计算器-1由4个位置滤波计算器组成,对每条边缘四个位置(0,1,2,3)的亮度/色度像素滤波计算并行执行,处理一条边缘四个位置的像素数据都需要滤波的情况;如图7-2所示,像素滤波计算器-2由2个位置滤波计算器组成,对每条边缘2个位置(0,2)的色度像素滤波计算并行执行,处理一条边缘只有两个位置的像素数据需要滤波的情况。所有亮度像素的滤波都采用像素滤波计算器-1,而像素滤波计算器-2只对色度像素滤波。
本发明的视频编解码系统中去块滤波装置,针对图像色度格式的不同而有不同的系统结构。如图8-1所示,针对图像色度格式YUV 4:2:0,本发明的视频编解码系统中去块滤波装置的系统结构包括片外存储器101、缓存器201、缓存202、缓存203、滤波强度系数计算器、像素滤波计算器-1、像素滤波计算器-2、并行控制器以及数据通道,并行控制器发出数据传输控制指令,控制片外存储器与缓存201、缓存202的数据传输;缓存201将滤波、量化,运动参数传输到滤波强度系数计算器,并行控制器向滤波强度系数计算器发出系数计算指令,滤波强度系数计算器进行系数计算,再将计算结果存储到缓存203;缓存203存储的滤波强度系数、缓存201和缓存202存储的将待滤波像素通过数据通道分别传输给像素滤波计算器-1和像素滤波计算器-2,并行控制器向像素滤波计算器-1和像素滤波计算器-2出滤波控制指令,像素滤波计算器-1对亮度像素滤波,像素滤波计算器-2对色度像素滤波,滤波完成后,像素滤波计算器-1、像素滤波计算器-2再通过相应的数据通道将滤波后的像素数据传输给缓存201、缓存202。当前宏块滤波结束时,缓存201向缓存202传输数据,操作编号为上述的Tp0,即把缓存201中当前宏块参数中部分将会被后一宏块滤波所用到的数据传存到缓存202中。对图像色度格式YUV 4:2:0,在图8-1的基础上,还可再包括1个像素滤波器-2,使亮度像素、色度像素分量U、V的滤波运算并行执行。
如图8-2所示,针对图像色度格式YUV 4:2:2,本发明的视频编解码系统中去块滤波装置的系统结构。与图8-1不同的是,多包括了1个像素滤波计算器-1,因为图像色度格式YUV4:2:2的U、V色度分量滤波的运算逻辑组的垂直滤波各包括2个组,水平滤波各包括4个组,故选用像素滤波计算器-1、像素滤波计算器-2同时对色度滤波。
如图8-3所示,针对图像色度格式YUV 4:4:4,本发明的视频编解码系统中去块滤波装置的系统结构。与图8-1不同的是,包括2个像素滤波计算器-1,因为图像色度格式YUV 4:4:4的U、V色度分量滤波的运算逻辑组的垂直滤波和水平滤波均各包括4个组,故选用像素滤波计算器-1对色度滤波。对图像色度格式YUV 4:4:4,在图8-2的基础上,还可再包括1个像素滤波器计算器-1,使亮度像素、色度像素分量U、V的滤波运算并行执行。
参见图8-1~8-3对应不同图像色度格式的系统结构图,本发明的视频编解码系统中去块滤波方法实现如下:
首先将第一个滤波宏块的宏块参数又片外存储器读入缓存201的n byte单元,前半部分的宏块像素数据依次由片外存储器101读入缓存201的相应单元;然后通过滤波强度系数计算器、像素滤波计算器对当前像素数据进行滤波处理,同时将后半部分的宏块像素数据由片外存储器101读入缓存201,以及上紧邻像素数据由片外存储器101读入片缓存202;
然后通过滤波强度系数计算器、像素滤波计算器依次对当前像素数据进行滤波处理,滤波后的像素数据覆盖读入的像素数据,即像素数据的每个读入操作编号与对应的写出操作编号的数据存放在同一个缓存单元;对当前宏块的滤波处理完成后,启动后一宏块的滤波处理,将参与后一宏块滤波处理的部分宏块参数转存缓存202,并从片外存储器读入后一宏块的宏块参数到缓存201的n byte单元,再依次从片外存储器读入后一宏块的前部分宏块像素数据到缓存201;继续对当前像素数据进行滤波处理,滤波处理的同时依次将前一宏块滤波后的宏块像素数据由缓存201写出到片外存储器101以及前一宏块的上紧邻像素数据由缓存202写出到片外存储器101。若当前宏块为最后一个滤波宏块,则对当前宏块的滤波处理完成后,依次将前一宏块滤波后的宏块像素数据由缓存201写出到片外存储器101以及前一宏块的上紧邻像素数据由缓存202写出到片外存储器101,整个滤波处理结束。
本发明的视频编解码系统中去块滤波方法包括4个并行执行时序,对片外存储器101的读和写两类操作并行执行,片内并行执行两个滤波运算时序,由并行控制器协调四个并行执行时序。从片外存储器101读取数据的时序是整个系统并行控制时序的基准线,两个运算时序的设计依据如图4所示的滤波顺序得来,在图4所示的滤波顺序基础上,同一滤波边缘滤波运算优先次序依次为Y,U,V分量。读取数据的时序是本发明并行控制的核心技术——折半预取宏块数据技术的实现。所谓折半预取宏块数据技术,即在一个宏块滤波周期的后半段(约略为水平方向滤波时间段)时间内,要预先执行后一宏块所有像素读取操作的前一半以及参数读取操作,即在一个宏块滤波周期内,数据读取操作依次是当前宏块后一半像素读取、上紧邻宏块参与滤波像素读取、后紧邻宏块前一半像素读取、以及后紧邻宏块参数数据读取。写存数据的时序设计是本发明并行控制的另一核心技术——宏块数据单周期缓写技术的实现,当前宏块的像素数据在本滤波周期内不写存,而是延后一个周期到后一宏块滤波时再依次写存到片外存储器101。在对前一宏块的Wy4操作结束后和预取后一宏块参数的操作Rp0开始之前,执行Tp0操作,转存会被后一宏块滤波用到的当前宏块参数数据到缓存202的缓存单元。当后一宏块滤波周期开始后,zs0操作最先执行,zs0完成后,释放Tp0操作在缓存202所占的缓存单元。
在一个宏块的滤波周期内,并不是4个执行时序(从片外存储器101读数据时序、向片外存储器101写数据时序,2个滤波运算时序)全部操作都会被执行。如果该宏块没有左紧邻宏块像素参与滤波,那么zs0,zy0,zu0,zv0不会被执行。如果该宏块没有上紧邻宏块像素参与滤波,那么hs0,hy0,hu0,hv0,不会被执行。对应图像色度格式YUV 4:4:4,如果该宏块没有上紧邻宏块像素参与滤波,则Ry4,Ru4,Rv4,Wy4,Wu4,Wv4不执行;对应图像色度格式YUV 4:4:4,如果该宏块没有上紧邻宏块像素参与滤波,则Ry4,Rc4,Wy4,Wc4不执行;对应图像色度格式YUV 4:4:4,如果该宏块没有上紧邻宏块像素参与滤波,则Ry4,Rch2,Wy4,Wch2不执行。如果该宏块是第一个滤波的宏块,那么没有对前一宏块数据的写出操作;如果该宏块是最后一个滤波宏块,那么没有对后一宏块数据的预取操作。另外,因为滤波强度系数的变化,有些边缘滤波操作不会被执行。本发明在在片内缓存使用和对片外存储器读写次数之间取得了很好的折衷平衡。片内缓存大小总和小于两个宏块的像素数据量。如处理图像色度格式YUV 4:2:0的视频图像,缓存201和缓存202总大小不到1k,而且不会随着所处理视频图像的宽度变大而增加。而对片外存储器读写数据次数不频繁,一个宏块滤波周期内,如对YUV 4:2:0色度格式是17次。以读取数据时序为整个系统并行控制时序的基准线的方法,设计为4条并行执行时序,并且通过折半预取宏块数据技术和宏块数据单周期缓写技术,实现了对从片外存储器读写数据与滤波运算的并行执行。本发明把一个宏块滤波时钟周期数有效地降低了,逼近到读取一个宏块数据进片内缓存所用的时钟周期数。如对图像色度格式YUV 4:2:0的视频图像,完成一个宏块去块滤波周期的时钟周期数约为216~240个时钟周期数。本发明用FPGA实现,对1280×720分辨率的图像,以30帧/秒的帧速进行去块滤波,所需要的时钟频率在22.3MHz~24.73MHz之间。
如图9所示,是针对图像色度格式YUV 4:2:0的视频图像去块滤波处理时序图,示意了一个宏块滤波周期内从片外存储器101读数据时序、向片外存储器101写数据时序,2个滤波运算时序,此外还示意了滤波过程中,缓存201和缓存202存储数据的状态变化。本图中①-⑨的说明依次为:①、开始预取下一宏块参数和部分滤波像素;②、缓存201的0~5存前一个宏块数据;6,7,8存预操作Ry0,Rch0,Ry1所取得的本宏块像素数据,n存预操作Rp0取得的本宏块参数;缓存202的0被借出以存储前一宏块会被本宏块滤波用到的部分宏块参数数据;③、hs3执行后,此刻可释放缓存201的n,待转存后真正释放;④、此刻可被借用。执行转存操作Tp0:把本宏块参数中需要被后一宏块滤波用到的部分转存到缓存202的0;⑤、缓存201的6~9,0,1存本宏块像素数据;2,3,4存预操作Ry0,Rch0,Ry1后一宏块像素数据,n存预操作Rp0取得的后一宏块参数;⑥、hu0的执行需要在Wch1之后;⑦、zs0执行后,用完留存的前一宏块部分参数,立刻释放缓存202的0;⑧、执行Rp0,把后一宏块的宏块参数数据预取进缓存201的n;⑨、Wy4后,缓存202的0为空,方可被借用。
针对图像色度格式YUV 4:2:2的视频图像去块滤波处理时,其数据读入操作时序依次为:Ry2,Rc2,Ry3,Rc3,Ry4,Rc4,Ry0,Rc0,Ry1,Rc1,Rp0。相应的,图像色度格式YUV 4:4:4的视频图像去块滤波处理时,其数据写入操作时序依次是:Ry2,Ru2,Rv2,Ry3,Ru3,Rv3,Ry4,Ru4,Rv4,Ry0,Ru0,Rv0,Ry1,Ru1,Rv1,Rp0。依据并行控制器的主要内容,读取数据时序是整个系统并行控制时序的基准线,本领域技术人员根据图像色度格式YUV 4:2:0的视频图像去块滤波处理时序图,不难得出图像色度格式YUV 4:2:2,YUV 4:4:4等的视频图像去块滤波处理时序图。
实施例
按图9所示的处理时序流程,对于图像色度格式YUV 4:2:0的宏块去块滤波周期内,结合图8-1所示的系统结构,其具体步骤如下:
步骤0:初始状态,缓存201的0~5留存前一宏块滤波处理后的数据,6,7,8存本宏块的宏块像素数据(Ry0,Rch0,Ry1),n存本宏块参数,即本宏块的Ry0,Rch0,Ry1,Rp0操作此刻已经依次完成;缓存202的0存前一宏块会被本宏块滤波用到的宏块参数数据;
步骤1:启动Ry2把本宏块的亮度像素数据从片外存储器101读入到缓存201的9,启动Wy0把前一宏块的亮度像素数据从缓存201的0写出到片外存储器101;取缓存201的n的数据和缓存202的0的数据到滤波强度系数计算器,启动zs0;
步骤2:zs0执行完成,释放缓存202的0,把滤波系数值存入缓存203,同时启动zs1;从缓存203取滤波强度系数,取缓存201的5和6的数据一起到像素滤波计算器-1,启动zy0;
步骤3:zs1执行完成,把滤波系数值存入缓存203;从缓存203取滤波强度系数,取缓存201的4和7的数据一起到像素滤波计算器-2,启动zu0;
步骤4:Ry2和Wy0执行完成,启动Rch1把本宏块的色度像素数据从片外存储器101读入到缓存201的0,启动Wch0把前一宏块的色度像素数据从缓存201的1写出到片外存储器101;
步骤5:zu0执行完成,从缓存203取滤波强度系数,取缓存201的4和7的数据一起到像素滤波计算器-2,启动zv0;
步骤6:zy0执行完成,从缓存203取滤波强度系数,取缓存201的6和8的数据一起到像素滤波计算器-1,启动zy1(要求zs1已完成);
步骤7:zv0执行完成,取缓存201的n的数据到滤波强度系数计算器,启动zs2;
步骤8:Rch1和Wch0执行完成,启动Ry3把本宏块的亮度像素数据从片外存储器101读入缓存201的1,启动Wy1把前一宏块的亮度像素数据从缓存201的2写出到片外存储器101;
步骤9:zs2执行完成,把滤波系数值存入缓存203,同时启动zs3;
步骤10:zy1执行完成,从缓存203取滤波强度系数,取缓存201的8和9的数据一起到像素滤波计算器-1,启动zy2(要求Ry2和zs2已完成);
步骤11:zs3执行完成,把滤波系数值存入缓存203;从缓存203取滤波强度系数,取缓存201的7和0的数据一起到像素滤波计算器-2,启动zu2(要求Rch1已完成);
步骤12:Ry3和Wy1执行完成,启动Ry4把本宏块的上紧邻亮度像素数据从片外存储器101取到缓存202的0,启动Wy2把前一宏块的亮度像素数据从缓存201的3写出到片外存储器101;
步骤13:zu2执行完成,从缓存203取滤波强度系数,取缓存201的7和0的数据一起到像素滤波计算器-2,启动zv2;
步骤14:zy2执行完成,从缓存203取滤波强度系数,取缓存201的9和1的数据一起到像素滤波计算器-1,启动zy3(要求Ry3和zs3已完成);
步骤15:zv2执行完成,取缓存201的n的数据到滤波强度系数计算器,启动hs0;
步骤16:Ry4和Wy2执行完成,启动Rch2把本宏块的上紧邻色度像素数据从片外存储器101读入到缓存202的1;启动Wch1(要求zv0已经完成)把前一宏块的色度像素数据从缓存201的4写出到片外存储器101;
步骤17:hs0执行完成,把滤波系数值存入缓存203,同时启动hs1;
步骤18:zy3执行完成,从缓存203取滤波强度系数,取缓存201的6,8,9和1的数据,取缓存202的0的数据一起到像素滤波计算器-1,启动hy0(要求Ry4,hs0已完成);
步骤19:Rch2和Wch1执行完成,启动Ry0预取后一宏块的亮度像素数据到缓存201的2;启动Wy3(要求zy0已完成)把前一宏块的亮度像素数据从缓存201的5写出到片外存储器101;
步骤20:hs1执行完成,把滤波系数值存入缓存203;从缓存203取滤波强度系数,取缓存201的7和0的数据,取缓存202的1的数据一起到像素滤波计算器-2,启动hu0(要求Rch2已完成);
步骤21:hu0执行完成,从缓存203取滤波强度系数,取缓存201的7和0的数据,取缓存202的1的数据一起到像素滤波计算器-2,启动hv0;
步骤22:hy0执行完成,从缓存203取滤波强度系数,取缓存201的6,8,9和1的数据一起到像素滤波计算器-1,启动hy1(要求hs1已完成);
步骤23:Ry0和Wy3执行完成,启动Rch0预取后一宏块的色度像素数据到缓存201的3;启动Wy4(要求hy0已完成)把前一宏块的上紧邻亮度像素数据从缓存202的0写出到片外存储器101;
步骤24:hv0执行完成,取缓存201的n的数据到滤波强度系数计算器,启动hs2;
步骤25:hs2执行完成,把滤波系数值存入缓存203,同时启动hs3;
步骤26:hy1执行完成,从缓存203取滤波强度系数,取缓存201的6,8,9和1的数据一起到像素滤波计算器-1,启动hy2(要求hs2已完成);
步骤27:hs3执行完成,把滤波系数值存入缓存203;从缓存203取滤波强度系数,取缓存201的7和0的数据一起到像素滤波计算器-2,启动hu2;
步骤28:Rch0和Wy4执行完成,启动Ry1预取后一宏块的亮度像素数据到缓存201的4;启动Wch2(要求hv0已完成)把前一宏块的上紧邻色度像素数据从缓存202的1写出到片外存储器101;执行Tp0,转存缓存201的n内将会被后一宏块滤波处理时使用到的部分参数数据到缓存202的0;
步骤29:hy2执行完成,从缓存203取滤波强度系数,取缓存201的6,8,9和1的数据一起到像素滤波计算器-1,启动hy3(要求hs3已完成);
步骤30:hu2执行完成,从缓存203取滤波强度系数,取缓存201的7和0的数据一起到像素滤波计算器-2,启动hv2;
步骤31:Ry1和Wch2执行完成,启动Rp0预取后一宏块的宏块参数数据到缓存201的n;
步骤32:hv2执行完成,hy3执行完成,Rp0执行完成,本宏块滤波周期结束;如果不是最后一个滤波宏块,启动后一宏块去块滤波。
以上通过具体的实施实例对本发明做了详细说明,但是,本发明并不限于上述实施实例,还可以对本发明的系统做各种变化和调整。例如还可以把本发明的装置系统实施到视频图像色度格式为YUV 4:4:4,YUV 4:2:2等的去块滤波应用中,也还可以根据具体应用实例中,芯片内到芯片外读写数据时延的时钟周期数变化,以及具体图像滤波计算量发生变化,可以调整每次传输数据的字节数,相应对读写数据操作编号,滤波运算编号和运算逻辑组的划分也作调整,随后可对图9所示的处理时序和具体实施步骤做出相应变化。又如本发明的像素滤波计算器-1、像素滤波计算器-2以及滤波强度系数计算器可以采用其它方式来实现。缓存201和缓存202的大小设计又可以根据所处理视频图像的像素深度做出相应调整等。
Claims (15)
1.视频编解码系统中去块滤波方法,其特征在于,包括下列步骤:
a.将第一个宏块的宏块参数、前半部分宏块像素数据依次由片外存储器读入片内缓存器,宏块参数存储在第一指定缓存单元;
b.依次对当前像素数据进行滤波处理,滤波后的像素数据覆盖读入的像素数据;同时,将后半部分宏块像素数据、上紧邻像素数据依次由片外存储器读入片内缓存器;
c.依次对当前像素数据进行滤波处理,滤波后的像素数据覆盖读入的像素数据;当前宏块的滤波处理完成后,将参与后一宏块去块滤波处理的部分宏块参数转存到第二指定缓存单元,并从片外存储器读入后一宏块的宏块参数到第一指定缓存单元,再依次从片外存储器读入后一宏块的前部分宏块像素数据到片内缓存器;
d.若当前宏块为最后一个滤波宏块,则进入步骤f;否则进入步骤e;
e.依次对当前像素数据进行滤波处理,滤波后的像素数据覆盖读入的像素数据;同时,依次将前一宏块滤波后的宏块像素数据和前一宏块的上紧邻像素数据由片内缓存器写出到片外存储器,以及当前宏块的后部分宏块像素数据和上紧邻像素数据由片外存储器读入片内缓存器;然后返回步骤c;
f.依次对当前像素数据进行去块滤波处理,滤波后的像素数据覆盖读入的像素数据;同时,依次将前一宏块滤波后的宏块像素数据和前一宏块的上紧邻像素数据由片内缓存器写出到片外存储器,以及当前宏块的后部分宏块像素数据读入片内缓存器;
g.对当前像素数据进行滤波处理,滤波后的像素数据依次覆盖读入的像素数据;当前宏块的滤波处理完成后,依次将滤波后的像素数据由片内缓存器写出到片外存储器,滤波处理结束。
2.如权利要求1所述的视频编解码系统中去块滤波方法,其特征在于,所述片内缓存器包括缓存器a和缓存器b,所述当前宏块的宏块参数存放在缓存器a的指定单元,当前宏块的前半部分像素数据、前一宏块滤波后的宏块像素数据存放在缓存器a内;所述前一宏块的部分宏块参数、前一宏块和当前宏块的上紧邻像素数据存放在缓存器b。
3.如权利要求2所述的视频编解码系统中去块滤波方法,其特征在于,所述像素数据包括亮度像素数据、色度像素数据,其读入/写出操作的批次划分分别为:
亮度像素数据的读入/写出操作批次包括,宏块的每列为一个批次,宏块的上紧邻行为一个批次;
色度像素数据的读入/写出操作批次为:宏块的列存在色度像素,则该列为一个批次,宏块的上紧邻行为一个批次;
读入/写出操作时,按照从左至右,再到上紧邻的顺序依次读入/写出各批次的亮度像素数据、色度像素数据。
4.如权利要求3所述的视频编解码系统中去块滤波方法,其特征在于,图像色度格式为YUV 4∶4∶4的宏块,色度像素数据的读入/写出操作包括10个批次:色度像素分量U、V数据的读入/写出操作各包括5个批次,宏块的每列为一个批次,宏块的上紧邻行为一个批次;
图像色度格式为YUV 4∶2∶2的宏块,色度像素数据的读入/写出操作包括5个批次:宏块的每列为一个批次,宏块的上紧邻行为一个批次;
图像色度格式为YUV 4∶2∶0的宏块,色度像素数据的读入/写出操作包括3个批次:按照从左至右的顺序,宏块的第一列和第二列合并为一个批次,宏块的第三列和第四列合并为一个批次,宏块的上紧邻行为一个批次。
5.如权利要求3或4所述的视频编解码系统中去块滤波方法,其特征在于,滤波处理时,各宏块的滤波强度系数运算逻辑组以及各宏块滤波运算的亮度像素滤波运算逻辑组的划分均为:垂直方向,除宏块的右边界外,宏块的每条列边缘的四个位置为一个运算逻辑组;水平方向,除宏块的下边界外,宏块的每条行边缘的四个位置为一个运算逻辑组;
色度像素滤波运算逻辑组包括色度像素分量U、V的滤波运算逻辑组:垂直方向,除宏块的右边界外,宏块的列边缘的两边的子块存在色度像素分量,则该列边缘的四个位置为一个运算逻辑组;水平方向,除宏块的下边界外,宏块的行边缘的两边的子块存在色度像素分量,则该行边缘的四个位置为一个运算逻辑组;
按照先垂直,后水平,从左至右,从上到下的顺序依次对滤波强度系数运算逻辑组、亮度像素滤波运算逻辑组、色度像素滤波运算逻辑组进行运算,且亮度像素滤波运算逻辑组和色度像素滤波运算逻辑组并行运算。
6.如权利要求5所述的视频编解码系统中去块滤波方法,其特征在于,图像色度格式为YUV 4∶4∶4的宏块,色度像素分量U、V的滤波运算逻辑组各包括8个运算逻辑组,依次为:垂直方向,除宏块的右边界外,宏块的每条列边缘的四个位置为一个运算逻辑;水平方向,除宏块的下边界外,宏块的每条行边缘的四个位置为一个运算逻辑组;
图像色度格式为YUV 4∶2∶2的宏块,色度像素分量U、V的滤波运算逻辑组各包括6个运算逻辑组,依次为:垂直方向,除宏块的右边界外,按照从左至右的顺序,宏块的第一条列边缘、第三条列边缘上的四个位置各为一个运算逻辑;水平方向,除宏块的下边界外,宏块的每条行边缘的四个位置为一个运算逻辑组;
图像色度格式为YUV 4∶2∶0的宏块,色度像素分量U、V的滤波运算逻辑组各包括4个运算逻辑组,依次为:垂直方向,除宏块的右边界外,按照从左至右的顺序,宏块的第一条列边缘、第三条列边缘上的四个位置各为一个运算逻辑;水平方向,除宏块的下边界外,按照从上至下的顺序,宏块的第一条行边缘、第三条行边缘上的四个位置各为一个运算逻辑组
7.视频编解码系统中去块滤波装置,其特征在于,包括并行控制器、片外存储器、片内缓存器、滤波强度系数计算器、像素滤波计算器,所述并行控制器控制片外存储器与片内缓存器的数据传输,向滤波强度系数计算器发出系数计算指令,以及向像素滤波计算器发出滤波控制指令;所述片内缓存器用于将宏块参数传输到滤波强度系数计算器,所述像素滤波计算器根据滤波强度系数计算器传输的滤波强度系数和片内缓存器传输的待滤波像素数据进行去块滤波处理,像素滤波计算器再将滤波后的像素数据传输给片内缓存器。
8.如权利要求7所述的视频编解码系统中去块滤波装置,其特征在于,所述片内缓存器包括缓存器a和缓存器b,所述缓存器a向缓存器b传输数据,缓存器a将宏块参数传输到滤波强度系数计算器;像素滤波计算器根据滤波强度系数对缓存器a、缓存器b的像素数据滤波后,再将滤波后的像素数据传输给缓存器a、缓存器b。
9.如权利要求8所述的视频编解码系统中去块滤波装置,其特征在于,若图像色度格式为YUV 4∶4∶4,则所述缓存器a包括19个64byte缓存单元和一个n byte缓存单元,n表示宏块参数所占字节数;所述缓存器b包括3个64byte缓存单元;
若图像色度格式为YUV 4∶2∶2,所述缓存器a包括13个64byte缓存单元和一个n byte缓存单元,n表示宏块参数所占字节数;所述缓存器b包括2个64byte缓存单元;
若图像色度格式为YUV 4∶2∶0,所述缓存器a包括10个64byte缓存单元和一个n byte缓存单元,n表示宏块参数所占字节数;所述缓存器b包括1个64byte和1个32byte缓存单元。
10.如权利要求8所述的视频编解码系统中去块滤波装置,其特征在于,还包括缓存器c,所述滤波强度系数计算器将滤波强度系数存储到缓存器c,缓存器a、缓存器b、缓存器c向像素滤波器计算器传输数据,像素滤波计算器再将滤波后的数据传输给缓存器a、缓存器b。
11.如权利要求7所述的视频编解码系统中去块滤波装置,其特征在于,所述滤波强度系数计算器由4个边缘滤波系数计算器组成,每条滤波边缘四个位置的滤波强度系数计算并行执行。
12.如权利要求7所述的视频编解码系统中去块滤波装置,其特征在于,所述滤波强度系数计算器由2个边缘滤波系数计算器组成,每条滤波边缘四个位置的滤波强度系数计算分两次并行执行。
13.如权利要求7所述的视频编解码系统中去块滤波装置,其特征在于,所述滤波强度系数计算器由1个边缘滤波系数计算器组成,每条滤波边缘四个位置的滤波强度系数计算串行执行。
14.如权利要求7、8、9、10、11、12或13所述的视频编解码系统中去块滤波装置,其特征在于,所述像素滤波计算器包括第一像素滤波计算器、第二所述像素滤波计算器,所述第一像素滤波计算器由4个位置滤波计算器组成,每条边缘四个位置的像素滤波计算并行执行;所述第二像素滤波计算器由2个位置滤波计算器组成,每条边缘两个位置的像素滤波计算并行执行;
对图像色度格式为YUV 4∶4∶4,所述像素滤波计算器包括2个第一像素滤波计算器;
对图像色度格式为YUV 4∶2∶2,所述像素滤波计算器包括2个第一像素滤波计算器,1个第二像素滤波计算器;
对图像色度格式为YUV 4∶2∶0,所述像素滤波计算器包括1个第一像素滤波计算器,1个第二像素滤波计算器。
15.如权利要求7、8、9、10、11、12或13所述的视频编解码系统中去块滤波装置,其特征在于,所述像素滤波计算器包括第一像素滤波计算器、第二所述像素滤波计算器,所述第一像素滤波计算器由4个位置滤波计算器组成,每条边缘四个位置的像素滤波计算并行执行;所述第二像素滤波计算器由2个位置滤波计算器组成,每条边缘两个位置的像素滤波计算并行执行;
对图像色度格式为YUV 4∶4∶4,所述像素滤波计算器包括3个第一像素滤波计算器;
对图像色度格式为YUV 4∶2∶0,所述像素滤波计算器包括1个第一像素滤波计算器,2个第二像素滤波计算器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200710202579 CN101170701B (zh) | 2007-11-16 | 2007-11-16 | 视频编解码系统中去块滤波方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200710202579 CN101170701B (zh) | 2007-11-16 | 2007-11-16 | 视频编解码系统中去块滤波方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101170701A true CN101170701A (zh) | 2008-04-30 |
CN101170701B CN101170701B (zh) | 2010-10-27 |
Family
ID=39391136
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200710202579 Expired - Fee Related CN101170701B (zh) | 2007-11-16 | 2007-11-16 | 视频编解码系统中去块滤波方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101170701B (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102131098A (zh) * | 2011-04-02 | 2011-07-20 | 中兴通讯股份有限公司 | 视频图像的去块滤波方法及装置 |
CN102685480A (zh) * | 2011-03-16 | 2012-09-19 | 中兴通讯股份有限公司 | 一种视频滤波方法及装置 |
CN102801973A (zh) * | 2012-07-09 | 2012-11-28 | 珠海全志科技股份有限公司 | 视频图像去块滤波方法及装置 |
CN103583046A (zh) * | 2011-06-13 | 2014-02-12 | 日本电信电话株式会社 | 视频编码装置、视频解码装置、视频编码方法、视频解码方法、视频编码程序以及视频解码程序 |
CN103595513A (zh) * | 2012-08-15 | 2014-02-19 | 重庆重邮信科通信技术有限公司 | 一种harq数据存取方法及装置 |
CN104601994A (zh) * | 2009-08-26 | 2015-05-06 | 索尼公司 | 图像处理装置和方法 |
CN105245905A (zh) * | 2015-11-02 | 2016-01-13 | 西安邮电大学 | 一种用于并行结构的多视点视频编码强滤波实现方法 |
CN105812811A (zh) * | 2011-01-18 | 2016-07-27 | 索尼公司 | 图像处理装置和图像处理方法 |
CN107018418A (zh) * | 2015-12-23 | 2017-08-04 | 联发科技股份有限公司 | 参考数据重用方法、带宽估计方法及相关视频解码器 |
CN108366264A (zh) * | 2010-06-04 | 2018-08-03 | 索尼公司 | 图像处理设备和方法 |
CN110115038A (zh) * | 2016-12-22 | 2019-08-09 | 佳能株式会社 | 编码设备、编码方法和程序、解码设备、解码方法和程序 |
WO2020151768A1 (en) * | 2019-01-25 | 2020-07-30 | Huawei Technologies Co., Ltd. | An encoder, a decoder and corresponding methods of deblocking filter adaptation |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100843196B1 (ko) * | 2004-12-17 | 2008-07-02 | 삼성전자주식회사 | H.264/avc 비디오 디코더의 디블록킹 필터 |
CN100446573C (zh) * | 2006-06-22 | 2008-12-24 | 上海交通大学 | 基于avs的去块效应滤波器vlsi实现装置 |
-
2007
- 2007-11-16 CN CN 200710202579 patent/CN101170701B/zh not_active Expired - Fee Related
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104601994A (zh) * | 2009-08-26 | 2015-05-06 | 索尼公司 | 图像处理装置和方法 |
CN104601994B (zh) * | 2009-08-26 | 2018-04-27 | 索尼公司 | 图像处理装置和方法 |
CN108366264B (zh) * | 2010-06-04 | 2022-08-26 | 索尼公司 | 图像处理设备和方法 |
CN108366264A (zh) * | 2010-06-04 | 2018-08-03 | 索尼公司 | 图像处理设备和方法 |
CN105812811B (zh) * | 2011-01-18 | 2019-06-18 | 索尼公司 | 图像处理装置和图像处理方法 |
CN105812811A (zh) * | 2011-01-18 | 2016-07-27 | 索尼公司 | 图像处理装置和图像处理方法 |
CN102685480B (zh) * | 2011-03-16 | 2015-09-16 | 中兴通讯股份有限公司 | 一种视频滤波方法及装置 |
CN102685480A (zh) * | 2011-03-16 | 2012-09-19 | 中兴通讯股份有限公司 | 一种视频滤波方法及装置 |
CN102131098B (zh) * | 2011-04-02 | 2016-03-30 | 深圳市中兴微电子技术有限公司 | 视频图像的去块滤波方法及装置 |
CN102131098A (zh) * | 2011-04-02 | 2011-07-20 | 中兴通讯股份有限公司 | 视频图像的去块滤波方法及装置 |
CN103583046A (zh) * | 2011-06-13 | 2014-02-12 | 日本电信电话株式会社 | 视频编码装置、视频解码装置、视频编码方法、视频解码方法、视频编码程序以及视频解码程序 |
CN102801973B (zh) * | 2012-07-09 | 2015-03-25 | 珠海全志科技股份有限公司 | 视频图像去块滤波方法及装置 |
CN102801973A (zh) * | 2012-07-09 | 2012-11-28 | 珠海全志科技股份有限公司 | 视频图像去块滤波方法及装置 |
CN103595513A (zh) * | 2012-08-15 | 2014-02-19 | 重庆重邮信科通信技术有限公司 | 一种harq数据存取方法及装置 |
CN105245905B (zh) * | 2015-11-02 | 2018-11-16 | 西安邮电大学 | 一种用于并行结构的多视点视频编码强滤波实现方法 |
CN105245905A (zh) * | 2015-11-02 | 2016-01-13 | 西安邮电大学 | 一种用于并行结构的多视点视频编码强滤波实现方法 |
CN107018418A (zh) * | 2015-12-23 | 2017-08-04 | 联发科技股份有限公司 | 参考数据重用方法、带宽估计方法及相关视频解码器 |
CN110115038A (zh) * | 2016-12-22 | 2019-08-09 | 佳能株式会社 | 编码设备、编码方法和程序、解码设备、解码方法和程序 |
WO2020151768A1 (en) * | 2019-01-25 | 2020-07-30 | Huawei Technologies Co., Ltd. | An encoder, a decoder and corresponding methods of deblocking filter adaptation |
US11843806B2 (en) | 2019-01-25 | 2023-12-12 | Huawei Technologies Co., Ltd. | Encoder, a decoder and corresponding methods of deblocking filter adaptation |
Also Published As
Publication number | Publication date |
---|---|
CN101170701B (zh) | 2010-10-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101170701B (zh) | 视频编解码系统中去块滤波方法及装置 | |
CN100446573C (zh) | 基于avs的去块效应滤波器vlsi实现装置 | |
EP0397180A2 (en) | Multiprocessor type time varying image encoding system and image processor | |
CN101309405A (zh) | 参考数据载入的方法及装置 | |
CN101409833B (zh) | 去块效应滤波装置及方法 | |
CN102497550A (zh) | H.264编码中运动补偿插值的并行加速方法及装置 | |
CN102547296A (zh) | 移动估计加速电路、移动估计方法及环路滤波加速电路 | |
CN101115207B (zh) | 基于预测点间相关性的帧内预测实现的方法及装置 | |
CN1589028B (zh) | 基于像素流水的帧内预测装置及预测方法 | |
US7007031B2 (en) | Memory system for video decoding system | |
CN101909212B (zh) | 可重构多媒体SoC的多标准宏块预测系统 | |
CN102143361A (zh) | 一种视频编码方法和装置 | |
CN101888554B (zh) | 并行流水运动补偿滤波器vlsi结构设计方法 | |
CN101304528B (zh) | 视频处理器视频数据与存储器存储空间的映射方法 | |
Li et al. | Memory cache based motion compensation architecture for HDTV H. 264/AVC decoder | |
CN101902643B (zh) | 并行阵列式帧内预测解码器vlsi结构设计方法 | |
CN101605263B (zh) | 帧内预测的方法和装置 | |
US7777751B2 (en) | Tiled memory array for full search motion estimation | |
CN102055971B (zh) | 视频压缩的去区块效应滤波装置与方法 | |
CN102111615A (zh) | 直接存储器存取搬移实现视频滤波的方法及系统 | |
CN101459839A (zh) | 去块效应滤波方法及实现该方法的装置 | |
Fang et al. | A hardware-efficient deblocking filter design for HEVC | |
Jiang et al. | Highly paralleled low-cost embedded HEVC video encoder on TI KeyStone multicore DSP | |
CN102801973B (zh) | 视频图像去块滤波方法及装置 | |
CN104754363A (zh) | 用于hevc的环路滤波方法及装置、编码器及解码器 |
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: 20101027 Termination date: 20161116 |