一种用于整数运动估计的参考块像素更新并行实现方法

文档序号:10492662阅读:237来源:国知局
一种用于整数运动估计的参考块像素更新并行实现方法
【专利摘要】一种用于整数运动估计的参考块像素更新并行实现方法涉及数字视频编解码技术领域。本发明采用二维处理元阵列结构,对参考块像素更新并行处理,有效的提升了运动估计运算效率。通过采用根据即将处理的参考块和当前处理完成的参考块的相对位置选取不同的缓存区更新数据的方法,加快了参考块像素的更新速度,提高了像素更新的灵活性。通过采用单处理元存储4×4像素块的方式,相对于传统的像素块的存储方式(单处理元存储单像素),处理单元使用的数量缩减至原来的1/16。
【专利说明】
一种用于整数运动估计的参考块像素更新并行实现方法
技术领域
[0001]本发明属于数字视频编解码技术领域,涉及视频压缩的整像素运动估计方法。
【背景技术】
[0002]运动估计是视频编码和视频处理中广泛使用的技术。运动估计的基本思想是由于活动图像邻近帧中的景物存在一定的相关性,因此可以将图形中的每一帧分成互不重叠的块,并且认为块中所有像素的位移量都相同。然后设法搜出每一个块在邻近帧中的位置,并且得出两者在空间位置的相对偏移量,得到的相对偏移量就是通常所说的运动矢量,得到运动矢量的过程就被称为运动估计。
[0003]随着视频质量不断提高H.264已经不能满足压缩要求,因此2013年I月26号HEVC正式成为国际上最新的视频压缩标准。但是运动估计传统的宏块大小是16*16,所以更新参考块的数据量相对较小;现在HEVC中LCU大小是64*64,更新参考块的数据量变大,对带宽提出更高的要求,旧的体系架构相对不太适合。
[0004]因此研究并设计能够支持HEVC视频编码标准的整数运动估计的参考块像素更新模块体系结构,并不是套用原有的架构,而是要重新设计其架构。该架构可以满足能够满足LCU参考块更新要求,并且没有增加带宽。

【发明内容】

[0005]本发明实例提供一种使用306个PE(Processing Element,处理元)构成的整数运动估计中参考块更新模块并行架构;
为实现上述目的,本发明所采用的技术方法如下:
一种用于整数运动估计的参考块像素更新并行实现方法,基于邻接互连的二维处理元阵列结构,其特征在于,包括以下步骤:
步骤I加法树模块利用缓存区I和缓存区2从外存加载64*64大小的参考块,该参考块位于搜索窗的左上角,并且以4*4大小的像素块按照自上到下、从左到右的存储方式,存放到PE阵列中,每个处理元存放一个4*4大小的参考块,加法树模块进行像素数据处理;
步骤二:加法树模块像素数据处理完成后,根据下一个将要处理的参考块和当前处理完成的参考块的数据相关性,选择缓存区加载搜索窗中的像素数据;
步骤三:在步骤二得到的像素数据的基础上,根据下一个将要处理的参考块和当前处理完成的参考块的数据相关性在加法树模块完成64*64大小的参考块的数据更新;
步骤四:重复步骤二和步骤三,直到搜索窗加载完成;
如权利要求1所述的方法,其特征在于,步骤二中根据即将处理参考块和当前处理完成的参考块的相对位置选取不同的缓存区更新数据,具体的:如果即将处理的参考块位于当前处理完成的参考块的左侧,则通过缓存区I从外存读取和当前处理完成的参考块相邻的左侧的一列像素数据,每个处理元存放4个像素,按照从上到下的顺序,依次存储;如果即将处理的参考块位于当前处理完成的参考块的右侧,则通过缓存区2从外存读取和当前处理完成的参考块相邻的右侧的一列数据,每个处理元存放4个像素,按照从上到下的顺序,依次存储;如果即将处理的参考块位于当前处理完成的参考块的下方,则通过缓存区3从外存读取和当前处理完成的参考块相邻的下方的一行数据,每个处理元存放4个像素,按照从左到右的顺序,依次存储;
步骤三的特征在于:加法树模块通过缓存区获取即将处理的参考块的像素数据,根据当前处理完成的参考块和即将处理的参考块的位置关系,重构参考块数据,具体的:
a.如果即将处理的参考块位于当前处理完成的参考块的左侧,即由缓存区I加载参考块像素到加法树模块;
a 1.缓存区I中的各个处理元把内存中的4个像素即Xl、x2、x3、x4,依次发送给右侧相邻的处理元;
a2.加法树模块中的各个处理元,把内存中的4*4像素块的最右侧一列,S卩d4、d8、d12、dl6,依次发送给右侧相邻的处理元,并且同时接收左侧处理元发送的4个像素值,把它们保存到内存中,即D1、D2、D3、D4;
a3.加法树模块中的各个处理元,重构4*4参考块,具体的,把各个处理元中当前4*4参考块的第3列像素,作为重构4*4参考块的第4列像素,把当前4*4参考块的第2列像素,作为重构4*4参考块的第3列像素,把当前4*4参考块的第I列像素,作为重构4*4参考块的第2列像素,把步骤a2接收的4个像素值作为重构4*4参考块的第I列的像素;a4.下一个参考块的重构完成;
b.如果即将处理的参考块位于当前处理完成的参考块的右侧,即由缓存区2加载参考块像素到加法树模块;
b1.缓存区2中的各个处理元把内存中的4个像素即Xl、x2、x3、x4,依次发送给左侧相邻的处理元;
b2.加法树模块中的各个处理元,把内存中的4*4像素块的最左侧一列,SPdl、d5、d9、dl3,依次发送给左侧相邻的处理元,并且同时接收右侧处理元发送的4个像素值,把它们保存到内存中,即D1、D2、D3、D4;
b3.加法树模块中的各个处理元,重构4*4参考块,具体的,把各个处理元中当前4*4参考块的第2列像素,作为重构4*4参考块的第I列像素,把当前4*4参考块的第3列像素,作为重构4*4参考块的第2列像素,把当前4*4参考块的第4列像素,作为重构4*4参考块的第3列像素,把步骤b2接收的4个像素值作为重构4*4参考块的第4列的像素;b4.下一个参考块的重构完成;
c.如果即将处理的参考块位于当前处理完成的参考块的下方,即由缓存区3加载参考块像素到加法树模块;
c 1.缓存区3中的各个处理元把内存中的4个像素即X1、x2、x3、x4,依次发送给上方相邻的处理元;
c2.加法树模块中的各个处理元,把内存中的4*4像素块的最上方一行,S卩d1、d2、d3、d4,依次发送给上方相邻的处理元,并且同时接收下方处理元发送的4个像素值,把它们保存到内存中,即D1、D2、D3、D4;
c3.加法树模块中的各个处理元,重构4*4参考块,具体的,把各个处理元中当前4*4参考块的第2行像素,作为重构4*4参考块的第I行像素,把当前4*4参考块的第3行像素,作为重构4*4参考块的第2行像素,把当前4*4参考块的第4行像素,作为重构4*4参考块的第3行像素,把步骤c2接收的4个像素值作为重构4*4参考块的第4行的像素;c4.下一个参考块的重构完成;
本发明的有益效果如下:
采用二维处理元阵列结构,通过使用3个缓存区,更新参考块像素数据,降低了带宽;通过采用单PE存储4*4像素块的方式,相对于传统的像素块的存储方式(单PE存储单像素),处理单元使用的数量缩减至原来的1/16。
[0006]通过使用参考块重构方法重构参考块,提高了数据复用率至98.4%。
【附图说明】
[0007]附图用来提供对本发明的进一步理解,并且构成说明书的一部分,用来解释本发明,并不构成对本发明的限制。
[0008]在附图中:
图1为本发明提供的参考块更新数据流程图;
图2为本发明提供的PE邻接互连示意图;
图3为本发明提供的加法树阵列和缓存区分布示意图;
图4为本发明提供的搜索窗示意图;
图5为本发明提供的搜索窗左上角参考块示意图;
图6为下一个参考块在当前参考块左侧的示意图;
图7为缓存区I加载参考块数据示意图;
图8为下一个参考块在当前参考块右侧的示意图;
图9为缓存区2加载参考块数据示意图;
图10为下一个参考块在当前参考块下方的示意图;
图11为缓存区3加载参考块数据示意图;
图12为缓存区I和加法树模块数据交互;
图13为缓存区I加载数据完成后加法树模块单个处理元重构参考块;
图14为缓存区2和加法树模块数据交互;
图15为缓存区2加载数据完成后加法树模块单个处理元重构参考块;
图16为缓存区3和加法树模块数据交互;
图17为缓存区3加载数据完成后加法树模块单个处理元重构参考块。
【具体实施方式】
[0009]以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
[0010]以下实施例一种用于整数运动估计的参考块像素更新并行实现方法,基于邻接互连的二维处理元阵列结构,其特征在于,包括以下步骤:
图2是PE邻接互连示意图,参考块像素更新是在该二维邻接互连PE阵列上实现的;
图3是加法树阵列和缓存区分布示意图,灰色部分是缓存区模块(最左边一列是缓存区I,最右边一列是缓存区2,最下边一行是缓存区3),中间16*16个PE是加法树模块。一共米用了18*17个PE;
图4是和当前块匹配的大小是[-8,8)的搜索窗;
图5是参考块存储不意图,大小为64*64的参考块,存储到加法树单兀;
步骤一:加法树模块利用缓存区I和缓存区2从外存加载64*64大小的参考块,该参考块位于搜索窗的左上角,并且以4*4大小的像素块,按照自上到下、从左到右的存储方式,存放到处理元阵列中,每个处理元存放一个4*4大小的参考块,加法树模块进行像素数据处理;步骤二:加法树模块像素数据处理完成后,根据下一个将要处理的参考块和当前处理完成的参考块的数据相关性,采用蛇形扫描的方式更新参考块数据,根据两个参考块的位置关系选择缓存区加载搜索窗中的像素数据;
步骤二的特征在于:采用蛇形扫描的方式更新参考块数据,即根据将要处理的参考块和当前处理完成的参考块之间的数据相关性,将要处理的参考块可以通过当前处理完成的参考块更新一行或者一列像素数据得到。具体的,根据这两个参考块的相对位置选取不同的缓存区更新数据:
图6所示,即将处理的参考块位于当前处理完成的参考块的左侧,当前处理完成的参考块更新一列像素值,可以重构成下一个参考块;
图7所示左侧的一列像素被读入缓存区1,并且按照从上到下的顺序存储;
如果即将处理的参考块位于当前处理完成的参考块的左侧,则通过缓存区I从外存读取和当前处理完成的参考块相邻的左侧的一列像素数据,每个处理元存放4个像素,按照从上到下的顺序,依次存储;
图8所示,即将处理的参考块位于当前处理完成的参考块右侧,当前处理完成的参考块更新一列像素值,可以重构成下一个参考块;
图9所示右侧的一列像素被读入缓存区2,并且按照从上到下的顺序存储;
如果即将处理的参考块位于当前处理完成的参考块的右侧,则通过缓存区2从外存读取和当前处理完成的参考块相邻的右侧的一列像素数据,每个处理元存放4个像素,按照从上到下的顺序,依次存储;
图1O所示,即将处理的参考块位于当前处理完成的参考块的下方,当前参考块更新一行像素值,可以重构成下一个参考块;
图11所示下方的一行像素被读入缓存区3,并且按照从左到右的顺序存储;
如果即将处理的参考块位于当前处理完成的参考块的下方,则通过缓存区3从外存读取和当前处理完成的参考块相邻的下方的一行数据,每个处理元存放4个像素,按照从左到右的顺序,依次存储;
步骤三:在步骤二得到的像素数据的基础上,当前处理完成的参考块和即将处理的参考块的位置关系在加法树模块完成64*64大小的参考块的数据更新;
步骤三的特征在于:加法树模块通过缓存区获取即将处理的参考块的像素数据,根据处理完成的参考块和即将处理的参考块的位置关系,重构参考块数据,具体的:
a.如果下一个参考块位于当前参考块的左侧,S卩由缓存区I加载参考块像素到加法树模块;
a 1.缓存区I中的各个处理元把内存中的4个像素即Xl、x2、x3、x4,依次发送给右侧相邻的处理元; 如图7所示最左侧是缓存区1,把数据xl、x2、x3、x4,依次发送给右边相邻的处理元;a2.加法树模块中的各个处理元,把内存中的4*4像素块的最右侧一列,S卩d4、d8、d12、dl6,依次发送给右侧相邻的处理元,并且同时接收左侧处理元发送的4个像素值,把它们保存到内存中,即D1、D2、D3、D4;
加法树模块中每一行处理元的执行操作如图12所示,最左边的处理元接收缓存区I中的处理元发送的4个像素值,并且把它们保存到内存中,即D1、D2、D3、D4,并且发送4*4像素块的最右侧一列((14、(18、(112、(116);其他的处理元把内存中的4*4像素块的最右侧一列((14、d8、dl2、dl6),依次发送给右侧相邻的处理元,并且接收左侧相邻处理元发送的像素值,最后把它们保存到内存中,_1、D2、D3、D4;
a3.加法树模块中的各个处理元,重构4*4参考块,具体的,把各个处理元中当前4*4参考块的第3列像素,作为重构4*4参考块的第4列像素,把当前4*4参考块的第2列像素,作为重构4*4参考块的第3列像素,把当前4*4参考块的第I列像素,作为重构4*4参考块的第2列像素,把步骤a2接收的4个像素值作为重构4*4参考块的第I列的像素;
如图13所示,4*4参考块重构,具体的,把当前4*4参考块的第4列删除,把处理元中当前4*4参考块的第3列像素〔(13、(17、(111、(115),作为重构4*4参考块的第4列像素((14、(18、(112、dl6),把处理元中当前4*4参考块的第2列像素(d2、d6、dl0、dl4),作为重构4*4参考块的第3列像素〔(13、(17、(111、(115),把当前4*4参考块的第1列像素((11、(15、(19、(113),作为重构4*4参考块的第2列像素((12、(16、(110、(114),把接收的四个像素(01、02、03、04)作为重构4*4参考块的第一列(dl、d5、d9、dl3);
a4.下一个参考块的重构完成;
b.如果即将处理的参考块位于当前处理完成的参考块的右侧,即由缓存区2加载参考块像素到加法树模块;
b1.缓存区2中的各个处理元把内存中的4个像素即Xl、x2、x3、x4,依次发送给左侧相邻的处理元;
如图9所示最右侧是缓存区2,把数据xl、x2、x3、x4,依次发送给左边相邻的处理元;b2.加法树模块中的各个处理元,把内存中的4*4像素块的最左侧一列,S卩d1、d5、d9、dl3,依次发送给左侧相邻的处理元,并且同时接收右侧处理元发送的4个像素值,把它们保存到内存中,即D1、D2、D3、D4;
加法树模块中每一行处理元的执行操作如图15所示,最右边的处理元接收缓存区2中的处理元发送的4个像素值,并且把它们保存到内存中即Dl、D2、D3、D4,,并且发送4*4像素块的最左侧一列((11、(15、(19、(113);其他的处理元把内存中的4*4像素块的最左侧一列((11、(15、(19、(113),依次发送给左侧相邻的处理元,并且接收右侧相邻处理元发送的像素值((11、d5、d9、d13),最后把它们保存到内存中,即D1、D2、D3、D4;
b3.加法树模块中的各个处理元,重构4*4参考块,具体的,把各个处理元中当前4*4参考块的第2列像素,作为重构4*4参考块的第I列像素,把当前4*4参考块的第3列像素,作为重构4*4参考块的第2列像素,把当前4*4参考块的第4列像素,作为重构4*4参考块的第3列像素,把步骤b2接收的4个像素值作为重构4*4参考块的第4列的像素;
如图15所示,4*4参考块重构,具体的,把当前4*4参考块的第I列删除,把处理元中当前4*4参考块的第2列像素〔(12、(16、(110、(114),作为重构4*4参考块的第1列像素((11、(15、(19、(113),把处理元中当前4*4参考块的第3列像素((13、(17、(111、(115),作为重构4*4参考块的第2列像素〔(12、(16、(110、(114),把当前4*4参考块的第4列像素((14、(18、(112、(116),作为重构4*4参考块的第3列像素((13、(17、(111、(115),把接收的四个像素(01、02、03、04)作为重构4*4参考块的第 4 列(d4、d8、dl2、dl6);
b4.下一个参考块的重构完成;
c.如果即将处理的参考块位于当前处理完成的参考块的下方,即由缓存区3加载参考块像素到加法树模块;
c 1.缓存区3中的各个处理元把内存中的4个像素即X1、x2、x3、x4,依次发送给上方相邻的处理元;
如图11所示最下方是缓存区3,把数据xl、x2、x3、x4,依次发送给上边相邻的处理元;c2.加法树模块中的各个处理元,把内存中的4*4像素块的最上方一行,S卩d1、d2、d3、d4,依次发送给上方相邻的处理元,并且同时接收下方处理元发送的4个像素值,把它们保存到内存中,即D1、D2、D3、D4;
加法树模块中每一列处理元的执行操作如图16所示,最下边的处理元接收缓存区3中的处理元发送的4个像素值,并且把它们保存到内存中,即D1、D2、D3、D4,并且发送4*4像素块的最上方一行((11、(12、(13、(14);其他的处理元把内存中的4*4像素块的最上方一行((11、(12、(13、(14),依次发送给上方相邻的处理元,并且接收下方相邻处理元发送的像素值((11、d2、d3、d4),最后把它们保存到内存中,即D1、D2、D3、D4;
c3.加法树模块中的各个处理元,重构4*4参考块,具体的,把各个处理元中当前4*4参考块的第2行像素,作为重构4*4参考块的第I行像素,把当前4*4参考块的第3行像素,作为重构4*4参考块的第2行像素,把当前4*4参考块的第4行像素,作为重构4*4参考块的第3行像素,把步骤c2接收的4个像素值作为重构4*4参考块的第4行的像素;
如图17所示,4*4参考块重构,具体的,把当前4*4参考块的第I行删除,把处理元中当前4*4参考块的第2行像素〔(15、(16、(17、(18),作为重构4*4参考块的第1行像素((11、(12、(13、(14),把处理元中当前4*4参考块的第3行像素((19、(110、(111、(112),作为重构4*4参考块的第2行像素((15、(16、(17、(18),把当前4*4参考块的第4行像素((113、(114、(115、(116),作为重构4*4参考块的第3行像素((19、(110、(111、(112),把接收的四个像素(01、02、03、04)作为重构4*4参考块的第4行((113、(114、(115、(116);
c4.下一个参考块的重构完成;
步骤四:重复步骤二和步骤三,直到搜索窗加载完成;
以搜索窗大小是[-8,8)为例说明具体步骤如下:
al当y=7,-8〈x〈8时,缓存区2读取搜索窗数据,并且传递给加法树模块更新参考块数据;
a2当y=6,x = 7时,缓存区3读取搜索窗数据,并且传递给加法树模块更新参考块数据;
a3当y=6,_8=〈X〈7时,缓存区I读取搜索窗数据,并且传递给加法树模块更新参考块数据;
a4当y=5,x = _8时,缓存区3读取搜索窗数据,并且传递给加法树模块更新参考块数据; a5当y=5,-8〈x〈8时,缓存区2读取搜索窗数据,并且传递给加法树模块更新参考块数据;
a6当y=4,x = 7时,缓存区3读取搜索窗数据,并且传递给加法树模块更新参考块数据;
a7当y=4,_8=〈X〈7时,缓存区I读取搜索窗数据,并且传递给加法树模块更新参考块数据;
a8当y=3,x = _8时,缓存区3读取搜索窗数据,并且传递给加法树模块更新参考块数据;
a9当y=3,-8〈x〈8时,缓存区2读取搜索窗数据,并且传递给加法树模块更新参考块数据;
alO当y=2,x=7时,缓存区3读取搜索窗数据,并且传递给加法树模块更新参考块数据;all当y=2,-8=〈x〈7时,缓存区I读取搜索窗数据,并且传递给加法树模块更新参考块数据;
al2当y=l,x = _8时,缓存区3读取搜索窗数据,并且传递给加法树模块更新参考块数据;
al3当y=l,-8〈x〈8时,缓存区2读取搜索窗数据,并且传递给加法树模块更新参考块数据;
al4当y=0,x=7时,缓存区3读取搜索窗数据,并且传递给加法树模块更新参考块数据;al5当y=0,_8=〈X〈7时,缓存区I读取搜索窗数据,并且传递给加法树模块更新参考块数据;
al6当y=_l,x = _8时,缓存区3读取搜索窗数据,并且传递给加法树模块更新参考块数据;
al7当y=-l,-8〈x〈8时,缓存区2读取搜索窗数据,并且传递给加法树模块更新参考块数据;
al8当y=_2,x=7时,缓存区3读取搜索窗数据,并且传递给加法树模块更新参考块数据;
al9当y=-2,-8=〈x〈7时,缓存区I读取搜索窗数据,并且传递给加法树模块更新参考块数据;
a20当y=_3,x = _8时,缓存区3读取搜索窗数据,并且传递给加法树模块更新参考块数据;
a21当y=-3,-8〈x〈8时,缓存区2读取搜索窗数据,并且传递给加法树模块更新参考块数据
a22当y=_4,x=7时,缓存区3读取搜索窗数据,并且传递给加法树模块更新参考块数据;
a23当y=-4,_8=〈χ〈7时,缓存区I读取搜索窗数据,并且传递给加法树模块更新参考块数据;
a24当y=_5,x = _8时,缓存区3读取搜索窗数据,并且传递给加法树模块更新参考块数据;
a25当y=-5,-8〈x〈8时,缓存区2读取搜索窗数据,并且传递给加法树模块更新参考块数据;
a26当y=_6,x=7时,缓存区3读取搜索窗数据,并且传递给加法树模块更新参考块数据;
a27当y=-6,-8=〈x〈7时,缓存区I读取搜索窗数据,并且传递给加法树模块更新参考块数据;
a28当y=_7,x = _8时,缓存区3读取搜索窗数据,并且传递给加法树模块更新参考块数据;
a29当y=-7,-8〈x〈8时,缓存区2读取搜索窗数据,并且传递给加法树模块更新参考块数据;
a30当y=_8,x=7时,缓存区3读取搜索窗数据,并且传递给加法树模块更新参考块数据;
a31当y=-8,-8=〈x〈7时,缓存区I读取搜索窗数据,并且传递给加法树模块更新参考块数据。
【主权项】
1.一种用于整数运动估计的参考块像素更新并行实现方法,基于邻接互连的二维处理元阵列结构,其特征在于,包括以下步骤: 步骤一:加法树模块利用缓存区I和缓存区2从外存加载64*64大小的参考块,该参考块位于搜索窗的左上角,并且以4*4大小的像素块,按照自上到下、从左到右的存储方式,存放到处理元阵列中,每个处理元存放一个4*4大小的参考块,加法树模块进行像素数据处理; 步骤二:加法树模块像素数据处理完成后,根据下一个将要处理的参考块和当前处理完成的参考块的数据相关性,采用蛇形扫描的方式更新参考块数据,根据两个参考块的位置关系选择缓存区加载搜索窗中的像素数据; 步骤三:在步骤二得到的像素数据的基础上,根据下一个将要处理的参考块和当前处理完成的参考块的数据相关性在加法树模块完成64*64大小的参考块的数据更新; 步骤四:重复步骤二和步骤三,直到搜索窗加载完成。2.如权利要求1所述的方法,其特征在于,步骤二中根据即将处理参考块和当前处理完成的参考块的相对位置选取不同的缓存区更新数据,具体的:如果即将处理的参考块位于当前处理完成的参考块的左侧,则通过缓存区I从外存读取和当前处理完成的参考块相邻的左侧的一列像素数据,每个处理元存放4个像素,按照从上到下的顺序,依次存储;如果即将处理的参考块位于当前处理完成的参考块的右侧,则通过缓存区2从外存读取和当前处理完成的参考块相邻的右侧的一列数据,每个处理元存放4个像素,按照从上到下的顺序,依次存储;如果即将处理的参考块位于当前处理完成的参考块的下方,则通过缓存区3从外存读取和当前处理完成的参考块相邻的下方的一行数据,每个处理元存放4个像素,按照从左到右的顺序,依次存储。3.如权利要求1所述的方法,其特征在于,步骤三中加法树模块通过缓存区获取即将处理的参考块的像素数据,根据当前处理完成的参考块和即将处理的参考块的位置关系,重构参考块数据,具体的: a.如果即将处理的参考块位于当前处理完成的参考块的左侧,即由缓存区I加载参考块像素到加法树模块; al.缓存区I中的各个处理元把内存中的4个像素即Xl、x2、x3、x4,依次发送给右侧相邻的处理元; a2.加法树模块中的各个处理元,把内存中的4*4像素块的最右侧一列,8卩d4、d8、dl2、dl6,依次发送给右侧相邻的处理元,并且同时接收左侧处理元发送的4个像素值,把它们保存到内存中,即D1、D2、D3、D4; a3.加法树模块中的各个处理元,重构4*4参考块,具体的,把各个处理元中当前4*4参考块的第3列像素,作为重构4*4参考块的第4列像素,把当前4*4参考块的第2列像素,作为重构4*4参考块的第3列像素,把当前4*4参考块的第I列像素,作为重构4*4参考块的第2列像素,把步骤a2接收的4个像素值作为重构4*4参考块的第I列的像素; a4.下一个参考块的重构完成; b.如果即将处理的参考块位于当前处理完成的参考块的右侧,即由缓存区2加载参考块像素到加法树模块; bl.缓存区2中的各个处理元把内存中的4个像素即xl、x2、x3、x4,依次发送给左侧相邻的处理元; b2.加法树模块中的各个处理元,把内存中的4*4像素块的最左侧一列,即dl、d5、d9、dl3,依次发送给左侧相邻的处理元,并且同时接收右侧处理元发送的4个像素值,把它们保存到内存中,即D1、D2、D3、D4; b3.加法树模块中的各个处理元,重构4*4参考块,具体的,把各个处理元中当前4*4参考块的第2列像素,作为重构4*4参考块的第I列像素,把当前4*4参考块的第3列像素,作为重构4*4参考块的第2列像素,把当前4*4参考块的第4列像素,作为重构4*4参考块的第3列像素,把步骤b2接收的4个像素值作为重构4*4参考块的第4列的像素;b4.下一个参考块的重构完成; c.如果即将处理的参考块位于当前处理完成的参考块的下方,即由缓存区3加载参考块像素到加法树模块; Cl.缓存区3中的各个处理元把内存中的4个像素即xl、x2、x3、x4,依次发送给上方相邻的处理元; c2.加法树模块中的各个处理元,把内存中的4*4像素块的最上方一行,SPdl、d2、d3、d4,依次发送给上方相邻的处理元,并且同时接收下方处理元发送的4个像素值,把它们保存到内存中,即D1、D2、D3、D4; c3.加法树模块中的各个处理元,重构4*4参考块,具体的,把各个处理元中当前4*4参考块的第2行像素,作为重构4*4参考块的第I行像素,把当前4*4参考块的第3行像素,作为重构4*4参考块的第2行像素,把当前4*4参考块的第4行像素,作为重构4*4参考块的第3行像素,把步骤c2接收的4个像素值作为重构4*4参考块的第4行的像素;c4.下一个参考块的重构完成。
【文档编号】H04N19/527GK105847828SQ201610062398
【公开日】2016年8月10日
【申请日】2016年1月29日
【发明人】邓军勇, 崔继兴, 谢晓燕, 张新, 芦守鹏
【申请人】西安邮电大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1