CN105847810B - 一种高效视频编码加法树并行实现方法 - Google Patents

一种高效视频编码加法树并行实现方法 Download PDF

Info

Publication number
CN105847810B
CN105847810B CN201610062397.6A CN201610062397A CN105847810B CN 105847810 B CN105847810 B CN 105847810B CN 201610062397 A CN201610062397 A CN 201610062397A CN 105847810 B CN105847810 B CN 105847810B
Authority
CN
China
Prior art keywords
macroblock
value
sad value
mode
block
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.)
Active
Application number
CN201610062397.6A
Other languages
English (en)
Other versions
CN105847810A (zh
Inventor
崔继兴
谢晓燕
张阿宁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xian University of Posts and Telecommunications
Original Assignee
Xian University of Posts and Telecommunications
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Xian University of Posts and Telecommunications filed Critical Xian University of Posts and Telecommunications
Priority to CN201610062397.6A priority Critical patent/CN105847810B/zh
Publication of CN105847810A publication Critical patent/CN105847810A/zh
Application granted granted Critical
Publication of CN105847810B publication Critical patent/CN105847810B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

一种高效视频编码加法树并行实现方法涉及数字视频编解码技术领域。本发明采用二维处理元阵列结构,对亮度块分割模式的SAD值计算并行处理,有效的提升了运动估计运算效率。通过采用根据分块模式的类型选取存储该SAD值的处理元的方法,加快加法树的计算速度,提高计算效率。通过采用单PE存储4*4像素块的方式,相对于传统的像素块的存储方式(单PE存储单像素),处理单元使用的数量缩减至原来的1/16。相对于加法树串行结构的实现方法,该并行结构速度提高了近100 倍。十二种分块模式SAD值的计算均通过4*4分块模式的SAD值合并得到的,可以减少过多的计算过程,提高计算效率。

Description

一种高效视频编码加法树并行实现方法
技术领域
本发明涉及数字视频编解码技术领域,特别是高效视频编码(High EfficiencyVideo Coding,简称HEVC)中的整像素运动估计方法。
背景技术
运动估计是视频编码和视频处理中广泛使用的技术。运动估计的基本思想是由于活动图像邻近帧中的景物存在一定的相关性,因此可以将图形中的每一帧分成互不重叠的块,并且认为块中所有像素的位移量都相同。然后设法搜出每一个块在邻近帧中的位置,并且得出两者在空间位置的相对偏移量,得到的相对偏移量就是通常所说的运动矢量,得到运动矢量的过程就被称为运动估计。
随着视频质量不断提高H.264已经不能满足压缩要求,因此2013年1月26号HEVC正式成为国际上最新的视频压缩标准。但是运动估计传统的SAD运算体系结构通常会采用和最大编码块像素相同的运算阵列来进行运算,例如针对H.264的运动估计架构,宏块大小为16×16像素,因此进行运动估计的SAD运算单元阵列为256个运算单元。而对于HEVC而言,最大编码块尺寸为64×64像素,如若采用相同或者类似的设计架构,则需要4096个运算单元,仅在SAD运算这一部分,其面积是H.264的架构的16倍,从而硬件面积大大增加。
因此研究并设计能够支持HEVC视频编码标准的整数运动估计的SAD加法树结构,并不是套用原有的架构,而是要重新设计其架构。该架构可以满足64×64块的SAD计算,并且没有增加硬件面积。
发明内容
本发明所要解决的技术问题是提供一种高效视频编码加法树并行实现方法,以提升SAD值的计算效率;
为实现上述目的,本发明所采用的技术方法如下:
一种高效视频编码加法树并行实现方法,根据像素块之间的数据相关性,在邻接互连的二维处理元阵列上,通过使用18*17个处理元(Processing Element,PE)完成64×64亮度块十三种分块模式的SAD值计算的并行处理。包括:
步骤1加法树模块经由缓存区1和缓存区2从外存加载64×64亮度块(图3),并且以4×4大小的像素块按照图5的存储方式(自上到下、从左到右)存放到PE阵列中,每个处理元(PE)存放一个4×4大小的亮度块,该方法具体包括:
首先将64×64的亮度块,分成大小为32×64的两部分(图7),分别通过缓存区1和缓存区2加载到处理元阵列中。
步骤2加法树模块经由缓存区1和缓存区2从外存中读取64×64参考块(图4),并且以4×4大小的像素块按照图6的存储方式(自上到下、从左到右),存放到PE阵列中,每个处理元(PE)存放一个4×4大小的参考块,该方法具体包括:
首先将64×64的参考块,分成大小为32×64的两部分(图7),分别通过缓存区1和缓存区2加载到处理元阵列中。
步骤3处理元阵列(图2)中的各个PE,在获取的亮度块和参考块的基础上,根据公式(1)同时计算4×4分块模式SAD值(SAD4×4),计算完成后存放到亮度块和参考块对应的PE中,一共256个SAD4×4值,该方法具体包括:
其中fk(m,n)为当前帧中当前块的亮度值,fk-1(m+i,n+j)为参考帧中偏移位置为(i,j)参块的亮度值。
a大小为4×4的亮度块和4×4的参考块,按照图9存储到PE中,c0-c15表示亮度块,d0-d15表示参考块。
b c0与d0做差值并取绝对值、c1与d1做差值并取绝对值,依次类推直到c15与d15做差值并取绝对值。
c将步骤b得到的16个值求和,得到4×4分块模式的SAD值SAD4×4。
d 256个处理元同时执行上述操作,得到256个SAD4×4的值,并且存储到亮度块和参考块对应的PE中。
步骤4在步骤3计算得到的SAD4×4的基础上进行剩下的十二种分块模式的SAD值的计算,并且选择存储该SAD值的处理元的位置。采用根据该分块模式的类型选取存储该SAD值的处理元的方法选择分块模式的SAD值的存储位置,具体的,如果分块模式是2N×N则选取上方的处理元存储该值,如果分块模式是N×2N则选取下方的处理元存储该值,如果分块模式是2N×2N则选取右下方的处理元存储该值。
a图10中每个字符代表一个存储SAD4×4值的处理元,4×4个处理元表示一个簇,处理元阵列可以被划分成16个簇(图11),每个数字代表一个簇。
b每个簇计算得到六种分块模式的SAD值,它们分别是8×4、4×8、8×8、16×8、8×16、16×16,计算完成后分别存储到簇内的对应处理元(PE)中,PE的选取规则如图8所示,即根据分块模式的类型选取SAD值的存储位置,上述SAD值均通过4×4分块模式的SAD值合并得到。
c 16个簇同时执行b操作。
d将16个簇(图11)以2×2大小,划分成4个组,第一组(00、01、04、05),第二组(02、03、06、07),第三组(08、09、12、13),第四组(10、11、14、15)。
e每个组可以计算得到三种分块模式的SAD值。如图12所示以第一组00、01、04、05为例,通过数据交互,可以得到的SAD值分别是32×16、16×32、32×32,计算完成后分别存储到组内对应的PE中,PE的选取规则如图8所示,即根据分块模式的类型选取SAD值的存储位置。上述SAD值均通过16×16分块模式的SAD值合并得到。
f四个组同时执行上述操作。
g将16个簇看做一个类(图13)。
h该类可以计算得到三种SAD值,它们分别是64×32、32×64、64×64,计算完成后分别存储到类内对应的PE中,PE的选取规则如图8所示,即根据分块模式的类型选取SAD值的存储位置,上述SAD值均通过32×32分块模式的SAD值合并得到。
本发明的有益效果如下:
采用二维处理元阵列结构,对亮度块分割模式的SAD值计算并行处理,有效的提升了运动估计运算效率。通过采用根据该SAD值后续是否被使用选取存储该SAD值的PE的方法,加快加法树的计算速度,提高计算效率。
通过采用单PE存储4×4像素块的方式,相对于传统的像素块的存储方式(单PE存储单像素),处理单元使用的数量缩减至原来的1/16。
相对于加法树串行结构的实现方法,该并行结构速度提高了近100倍。
步骤4所述的十二种分块模式SAD值的计算均通过4×4分块模式的SAD值合并得到的,可以减少过多的计算过程,提高计算效率。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,用来解释本发明,并不构成对本发明的限制。
在附图中:
图1为本发明提供的PE邻接互连示意图;
图2为本发明提供的加法树阵列和缓存区分布示意图;
图3为本发明提供的亮度块像素分布图;
图4为本发明提供的参考块像素分布图;
图5为本发明提供的亮度块在PE阵列中的存储分布图;
图6为本发明提供的参考块在PE阵列中的存储分布图;
图7为本发明提供的利用双缓存区将图像数据从外存读入PE阵列的示意图;
图8为本发明提供的SAD值数据流向图;
图9为本发明提供的亮度块和参考块在单个PE中的存储分布图;
图10为本发明提供的SAD4×4在单个簇中的存储分布图;
图11为本发明提供的PE组在PE阵列中的分布图;
图12为本发明提供的单个PE组在PE阵列具体分布图;
图13为本发明提供的PE类在PE阵列中的分布图。
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
以下实施例提供了一种基于二维阵列处理器的全新高效的加法树实现方法。
图1是PE邻接互连示意图,加法树是在该二维邻接互连PE阵列上实现的。
图2是加法树阵列和缓存区分布示意图,灰色部分是缓存区模块(最左边一列是缓存区1,最右边一列是缓存区2,最下边一行是缓存区3),中间16×16个PE是加法树模块。一共采用了18×17个PE。
步骤一 将64×64亮度块通过缓存区1和缓存区2读入加法树模块,具体实施方式如下:
图3是亮度块像素分布图,将亮度块数据划分成两个32×64的像素块,如图7所示,缓存区1根据地址读取左侧的像素块,缓存区2根据地址读取右侧的像素块,两个缓存区并行执行,从而提高了传递效率。
通过缓存区传递数据,像素块按照图5所示的方式存储到PE阵列,每个PE存储4×4大小的像素块,按照从左到右、从上到下的顺序依次存储。
步骤二 将64×64参考块通过缓存区1和缓存区2读入加法树模块,具体实施方式如下:
图4是参考块像素分布图,将参考块数据划分成两个32×64的像素块,如图7所示,缓存区1根据地址读取左侧的像素块,缓存区2根据地址读取右侧的像素块,两个缓存区并行执行,从而很大的提高传递效率。
通过缓存区传递数据,像素块按照图6所示的方式存储到PE阵列,每个PE存储4×4大小的像素块,按照从左到右、从上到下的顺序依次存储。
步骤三 处理元阵列(图2)中的各个PE,在获取的亮度块和参考块的基础上,根据公式(1)同时计算4×4分块模式SAD值(SAD4×4),计算完成后存放到亮度块和参考块对应的PE中,一共256个SAD4×4值。
如第2页第7段公式(1)所示:
其中fk(m,n)为当前帧中当前块的亮度值,fk-1(m+i,n+j)为参考帧中偏移位置为(i,j)参块的亮度值。
a.图9为亮度块和色度块在单个PE中的存储分布图,每个PE中存储一个4×4大小的亮度块和4×4大小的参考块,c0-c15表示亮度块,d0-d15表示参考块。
b.c0与d0做差值并取绝对值、c1与d1做差值并取绝对值,依次类推直到c15与d15做差值并取绝对值。
c.将步骤b得到的16个绝对值求和,得到4×4分块模式的SAD值SAD4×4,然后存储到当前PE中。
d.256个处理元同时执行上述操作,得到256个SAD4×4的值,并且存储到4×4亮度块和4×4参考块对应的同一个PE中。
步骤四 在步骤三得到的SAD4×4的基础上进行剩下的十二种分块模式的SAD值计算,然后为得到的SAD值选择存储该值的PE。
根据该分块模式的类型如图8所示选取存储该SAD值的处理元的方法选择分块模式的SAD值的存储位置,具体的,如果分块模式是2N×N则选取上方的处理元存储该值,如果分块模式是N×2N则选取下方的处理元存储该值,如果分块模式是2N×2N则选取右下方的处理元存储该值。
图10为4×4分块模式SAD4×4在单个簇中的存储分布图,图10中每个字符代表一个存储SAD4×4值的处理元,4×4个处理元表示一个簇,处理元阵列一共256个PE,可以被划分成16个簇,具体为00、01、02、03、04、05、06、07、08、09、10、11、12、13、14、15,每个数字代表一个簇。具体划分方式如图11所示。
第一步 每个簇计算得到六种分块模式的SAD值,它们分别是8×4、4×8、8×8、16×8、8×16、16×16,计算完成后分别存储到簇内的对应PE中,PE的选取规则如图8所示,即根据该分块模式的类型选取存储SAD值的PE,上述SAD值均通过4×4分块模式的SAD值得到,具体过程如下:
图10表示SAD4×4在一个簇内的存储分布图,字母A、B、C、D、E、F、G、H、I、J、K、L、M、N、O、P分别代表一个PE,每个PE里面存储一个SAD4×4值。
a.分块模式4×8的SAD值SAD4×8和分块模式8×4的SAD值SAD8×4,在同一时刻计算;
b.计算分块模式4×8的SAD值SAD4×8,一共8个块,分别是AE、BF、CG、DH、IM、JN、KO、LP,具体执行操作以AE为例,首先判断该值是N×2N分块模式,故应该选取下边的PE作为存储的位置,然后开始数据传递,A中的SAD4×4通过A->E传递到E中,两个SAD4×4相加得到SAD4×8,最后将SAD4×8存储到E中。依次类推其余七个块在同一时刻执行同样操作,单个簇的4×8分块模式的值SAD4×8计算完成。
c.计算分块模式8×4的SAD值SAD8×4,一共8个块,分别是AB、CD、EF、GH、IJ、KL、MN、OP,具体执行操作以AB、EF为例,首先判断该值是2N×N分块模式,故应该选取上方的PE作为存储的位置。然后开始数据传递,A中的SAD4×4通过A->B传递到B中,两个SAD4×4相加得到AB的SAD值SAD8×4,最后将SAD8×4存储到B中;E中的SAD4×4通过E->A传递到A中,F中的SAD4×4通过F->E->A传递到A中,两个SAD4×4相加得到EF的SAD值SAD8×4,最后将SAD8×4存储到A中,依次类推其余六个块在同一时刻执行同样操作,单个簇的8×4分块模式的值SAD8×4计算完成。
d.计算分块模式SAD8×8的值,一共4个块,分别是ABEF、CDGH、IJMN、KLOP,具体执行操作以ABEF为例,首先判断该值是2N×2N分块模式,故应该选取右下方的PE作为存储的位置。然后开始数据传递,E中的SAD4×8通过E->F传递到F中,两个SAD4×8相加得到SAD8×8,最后将SAD8×8存储到F中。依次类推其余三个块在同一时刻执行同样操作,单个簇的8×8分块模式的值SAD8×8计算完成。
e.分块模式16×8的SAD值SAD16×8和分块模式8×16的SAD值SAD8×16,在同一时刻计算;
f.计算分块模式SAD8×16的值,一共2个块,分别是ABEFIJMN、CDGHKLOP,具体执行操作以ABEFIJMN为例,首先判断该值是N×2N分块模式,故应该选取下边的PE作为存储的位置。然后开始数据传递,F中的SAD8×8通过F->J->N传递到N中,两个SAD8×8相加得到ABEFIJMN的SAD值SAD8×16,最后将SAD8×16存储到N中。依次类推其余一个块在同一时刻执行同样操作,单个簇的8×16分块模式的值SAD8×16计算完成。
g.计算分块模式SAD16×8的值,一共2个块,分别是ABEFCDGH、IJMNKLOP,首先判断该值是2N×N分块模式,故应该选取上边的PE作为存储的位置。然后开始数据传递,F中的SAD8×8通过F->G->H传递到H中,两个SAD8×8相加得到ABEFCDGH的SAD值SAD16×8,最后将SAD16×8存储到H中。P中的SAD8×8通过P->O->N->J->F传递F中,N中的SAD值SAD8×8通过N->J->F传递到F中,两个SAD8×8相加得到IJMNKLOP的SAD值SAD16×8,最后将SAD16×8存储到F中,单个簇的16×8分块模式的值SAD16×8计算完成。
h.计算分块模式SAD16×16的值,一共1个块,即ABCDEFGHIJKLMNOP,具体执行操作为首先判断该值是2N×2N分块模式,故应该选取右下方的PE作为存储的位置。然后开始数据传递,N中的SAD8×16通过N->O->P传递到P中,两个SAD8×16相加得到SAD16×16,最后将SAD16×16存储到P中,单个簇的16×16分块模式的值SAD16×16计算完成。
i.图11中的16个簇同时执行上述过程,计算完成六种分块模式的SAD值的运算。
按照图11所示把2×2个簇划分成一个组,一共四个组。00、01、04、05是第一组,02、03、06、07是第二组,08、09、12、13是第三组,10、11、14、15是第四组。
第二步 每个组计算得到三种分块模式的SAD值,它们分别是32×16、16×32、、32×32,计算完成后分别存储到组内的对应PE中(PE的选取规则如图8所示,即根据分块模式的类型选取的),组与组之间可以通过路由器交互数据,上述SAD值均通过第一步计算得到的分块模式16×16的SAD值合并得到。
图12表示第一个组内各个PE的分布,字母00A-00P指的是00簇内的各个位置上的PE,字母01A-01P指的是01簇内的各个位置上的PE,字母04A-04P指的是04簇内的各个位置上的PE,字母05A-05P指的是05簇内的各个位置上的PE。簇内的各个PE存储了第一步执行完成后分块模式4×4-16×16的SAD值。
a.分块模式32×16的SAD值SAD32×16和分块模式16×32的SAD值SAD16×32,在同一时刻计算。
b.计算分块模式SAD16×32的值,一共2个块,分别是00A00B……00P(00)04A04B……04P(04)、01A01B……01P05A05B……05P,具体执行操作以00A00B……00P04A04B……04P为例,首先判断该分块模式是N×2N,故应该选取下边的PE作为存储的位置。然后开始数据传递,00P(00簇)中的SAD16×16通过路由器传递到04P(04簇)中,两个SAD16×16相加得到SAD16×32,最后将SAD16×32存储到04P中。依次类推剩下一个块在同一时刻执行同样操作,单个组的16×32分块模式的值SAD16×32计算完成。
c.计算分块模式SAD32×16的值,一共2个块,分别是00A00B……00P(00)01A01B……01P(01)、04A04B……04P05A05B……05P,具体执行操作,首先判断分块模式是2N×N,故应该选取上方的PE作为存储的位置。分块模式00A00B……00P01A01B……01P的SAD值,00P(00簇)中的SAD16×16通过路由器传递到01P(01簇)中,两个SAD16×16相加得到00A00B……00P01A01B……01P的SAD值SAD32×16,最后将SAD32×16存储到01P中;04A04B……04P05A05B……05P的SAD值,05P(05簇)中的SAD16×16通过路由器传递到00P(00簇)中,04P(04簇)中的SAD16×16通过路由器传递到00P(00簇)中,两个SAD16×16相加得到04A04B……04P05A05B……05P的SAD值SAD32×16,最后将SAD32×16存储到00P中,单个组的32×16分块模式的值SAD32×16计算完成。
d.计算分块模式32×32的SAD值SAD32×32,一共1个块,分别是00A00B……00P(00)04A04B……04P(04)01A01B……01P05A05B……05P,具体执行操作:首先判断分块模式是2N×2N,故应该选取右下方的PE作为存储的位置。然后开始数据传递,04P(04)中的SAD16×32通过路由器传递到05P(05簇)中,两个SAD16×32相加得到SAD32×32,最后将SAD32×32存储到05P中。
图11中的4个组同时执行上述过程,计算完成3种分块模式的SAD值的运算。
按照图13所示把4×4个簇看做一个类,图中的00、01……15分别代表一个簇,每个簇中的00p、01p……15p代表簇内的最后一个PE。簇与簇之间的数据交互可以通过路由器(路由器和簇内的最后一个PE相连)实现(如图1所示)。
第三步 该类可以计算得到三种分块模式的SAD值,它们分别是64×32、32×64、64×64,计算完成后分别存储到类内对应的PE中(PE的选取规则如图8所示,即根据分块模式的类型选取的),上述SAD值均通过第二步计算得到的分块模式32×32的SAD值合并得到。
a.分块模式32×64的SAD值和分块模式64×32的SAD值同时计算。
b.计算分块模式SAD32×64的值,一共2个块,分别是0001040508091213、0203060710111415,以0001040508091213为例,首先判断该分块模式是N×2N,故应该选取下边的PE作为存储的位置。然后开始数据传递,05P中的SAD32×32通过路由器传递给13P,在13P中两个SAD32×32相加得到32×64分块模式的值SAD32×64,将SAD32×64存储到13P中,依次类推剩下一个块在同一时刻执行同样操作,类中的32×64分块模式的值SAD32×64计算完成。
c.计算分块模式SAD64×32的值,一共2个块,分别是0001020304050607、0809101112131415,首先判断该分块模式是2N×N,故应该选取下边的PE作为存储的位置。分块模式0001020304050607,05P中的SAD32×32通过路由器传递给07P,在07P中两个SAD32×32相加得到0001020304050607的SAD值SAD64×32,将SAD64×32存储到07P中,分块模式0809101112131415,13P中的SAD32×32通过路由器传递给05P,15P中的SAD32×32通过路由器传递给05P,在05P中两个SAD32×32相加得到0809101112131415的SAD值SAD64×32,将SAD64×32存储到05P中,类中的64×32分块模式的值SAD64×32计算完成。
d.计算分块模式SAD64×64的值,即00010405080912130203060710111415块,首先判断该分块模式是2N×2N,故应该选取右下方的PE作为存储的位置。开始数据传递,13P中的SAD32×64通过路由器传递给15P,在15P中两个SAD32×64相加得到64×64分块模式的值SAD64×64,将SAD64×64存储到15P中。
e.加法树过程执行结束一共得到十三种分块模式的SAD值,一共681个SAD值。

Claims (1)

1.一种高效视频编码加法树并行实现方法,其特征在于,基于邻接互连的二维处理元阵列,通过使用18*17个处理元完成64×64亮度块的4×4、8×4、4×8、8×8、16×8、8×16、16×16、32×16、16×32、32×32、64×32、32×64、64×64十三种分块模式的SAD值计算的并行处理,包括以下步骤:
步骤1加法树模块经由缓存区1和缓存区2从外存加载64×64亮度块,并且以4×4大小的像素块按照自上到下、从左到右的存储方式存放到处理元阵列中;
步骤2加法树模块经由缓存区1和缓存区2从外存读取64×64参考块,并且以4×4大小的像素块按照自上到下、从左到右的存储方式,存放到处理元阵列中;
步骤3处理元阵列中的各个处理元,在获取的亮度块和参考块的基础上,同时计算4×4分块模式的SAD值SAD4×4,计算完成后存放到亮度块和参考块对应的处理元中,一共256个SAD值SAD4×4;
步骤4在步骤3计算得到的SAD4×4的基础上进行剩下的十二种分块模式的SAD值的计算,并且为计算得到的分块模式的SAD值选择存储位置;
采用根据该分块模式的类型选取存储该SAD值的处理元的方法选择分块模式的SAD值的存储位置,具体的,如果分块模式是2N×N则选取上方的处理元存储该值,如果分块模式是N×2N则选取下方的处理元存储该值,如果分块模式是2N×2N则选取右下方的处理元存储该值。
CN201610062397.6A 2016-01-29 2016-01-29 一种高效视频编码加法树并行实现方法 Active CN105847810B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610062397.6A CN105847810B (zh) 2016-01-29 2016-01-29 一种高效视频编码加法树并行实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610062397.6A CN105847810B (zh) 2016-01-29 2016-01-29 一种高效视频编码加法树并行实现方法

Publications (2)

Publication Number Publication Date
CN105847810A CN105847810A (zh) 2016-08-10
CN105847810B true CN105847810B (zh) 2018-08-21

Family

ID=56580660

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610062397.6A Active CN105847810B (zh) 2016-01-29 2016-01-29 一种高效视频编码加法树并行实现方法

Country Status (1)

Country Link
CN (1) CN105847810B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110913231B (zh) * 2019-12-12 2023-05-30 西安邮电大学 一种纹理图整数运动估计并行实现方法
CN110933441B (zh) * 2019-12-12 2023-05-30 西安邮电大学 一种深度图轮廓预测的并行实现方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102932643A (zh) * 2012-11-14 2013-02-13 上海交通大学 一种适用于hevc标准的扩展可变块运动估计电路
CN103873874A (zh) * 2014-02-19 2014-06-18 同观科技(深圳)有限公司 一种基于可编程并行处理器的全搜索运动估计方法
CN104601993A (zh) * 2014-12-31 2015-05-06 乐视网信息技术(北京)股份有限公司 一种视频编码方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140123196A (ko) * 2013-04-11 2014-10-22 한국전자통신연구원 가변 블록 크기를 위한 움직임 추정 장치 및 움직임 추정 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102932643A (zh) * 2012-11-14 2013-02-13 上海交通大学 一种适用于hevc标准的扩展可变块运动估计电路
CN103873874A (zh) * 2014-02-19 2014-06-18 同观科技(深圳)有限公司 一种基于可编程并行处理器的全搜索运动估计方法
CN104601993A (zh) * 2014-12-31 2015-05-06 乐视网信息技术(北京)股份有限公司 一种视频编码方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
一种改进的HEVC编码单元划分方法;谢晓燕;《西北大学学报》;20150630;第45卷(第3期);全文 *
一种面向HEVC运动估计的高性能VLSI架构;陈伟伟;《微电子学与计算机》;20130630;第30卷(第6期);全文 *

Also Published As

Publication number Publication date
CN105847810A (zh) 2016-08-10

Similar Documents

Publication Publication Date Title
US10394929B2 (en) Adaptive execution engine for convolution computing systems
JP7208356B2 (ja) 任意の世界ビューの生成
WO2022166412A1 (zh) 基于协同分割与数据增强的自监督三维重建方法及***
US8669979B2 (en) Multi-core processor supporting real-time 3D image rendering on an autostereoscopic display
US9477999B2 (en) Low power programmable image processor
KR102106360B1 (ko) 2-차원의 상호관련된 데이터 세트들의 효율적인 고-처리량 프로세싱을 위한 프로세서, 시스템 및 방법
US20090207169A1 (en) Processing device
CN110300989A (zh) 可配置并且可编程的图像处理器单元
WO2018005036A1 (en) Block operations for an image processor having a two- dimensional execution lane array and a two-dimensional shift register
KR20100017645A (ko) 동적 움직임 벡터 분석방법
EP3479341A1 (en) Core processes for block operations on an image processor having a two-dimensional execution lane array and a two-dimensional shift register
CN105847810B (zh) 一种高效视频编码加法树并行实现方法
KR20120099075A (ko) 픽셀 레이트에서의 이미지 처리를 위한 방법 및 장치
CN107563951A (zh) 在二维图像处理器上的统计操作
US9438927B2 (en) Apparatus and method for motion estimation for variable block sizes
CN105578189B (zh) 基于不对称划分模式的高效视频编码加法树并行实现方法
CN114219699A (zh) 匹配代价处理方法及电路和代价聚合处理方法
CN109089048A (zh) 多镜头全景联动装置及方法
Ranft et al. Parallel matching-based estimation-a case study on three different hardware architectures
CN105160622B (zh) 基于fpga的图像超分辨率的实现方法
WO2023184754A1 (zh) 可配置实时视差点云计算装置及方法
CN101399978B (zh) 硬件解码器中参考帧数据的读取方法及其装置
Chen et al. A parallel reconfigurable architecture for real-time stereo vision
Jin et al. Implementation of a volume rendering on coarse-grained reconfigurable multiprocessor
JPH11328381A (ja) 相関計算を実行するコンピュ―タ

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant