CN110769256B - 一种基于可重构阵列处理器的分数像素插值方法 - Google Patents

一种基于可重构阵列处理器的分数像素插值方法 Download PDF

Info

Publication number
CN110769256B
CN110769256B CN201911061185.6A CN201911061185A CN110769256B CN 110769256 B CN110769256 B CN 110769256B CN 201911061185 A CN201911061185 A CN 201911061185A CN 110769256 B CN110769256 B CN 110769256B
Authority
CN
China
Prior art keywords
pixel
information
interpolation
processing
pixels
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
CN201911061185.6A
Other languages
English (en)
Other versions
CN110769256A (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 CN201911061185.6A priority Critical patent/CN110769256B/zh
Publication of CN110769256A publication Critical patent/CN110769256A/zh
Application granted granted Critical
Publication of CN110769256B publication Critical patent/CN110769256B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/182Methods 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 a pixel
    • 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/43Hardware specially adapted for motion estimation or compensation
    • 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/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Image Processing (AREA)

Abstract

本发明属于图像处理技术领域,具体涉及一种基于可重构阵列处理器的分数像素插值方法,旨在为了解决现有方法中分数像素插值计算的硬件控制难度大,硬件实现效率低,采用超大规模集成电路对视频编码时缺少灵活性的问题。本发明方法针对分数像素运动估计中待处理的视频图像像素信息,获取当前像素的关联像素;根据当前像素的信息和关联像素的信息,确定当前像素的分数像素的插值信息;其中,采用深度优先贪婪搜索算法对插值信息的处理过程进行任务划分,并映射在可重构阵列处理器中实现并行处理。本发明方法降低了分数像素插值计算的硬件控制难度,提高了硬件运行处理效率和硬件资源利用率,从而提高了分数像素插值计算的速度。

Description

一种基于可重构阵列处理器的分数像素插值方法
技术领域
本发明属于图像处理技术领域,具体涉及一种基于可重构阵列处理器的分数像素插值方法。
背景技术
分数运动估计(Fractional Motion Estimation,FME)是视频编解码器中计算密集度最高的任务之一,而亚像素精度运动估计是其中最复杂的部分,因此提高亚像素精度运动估计的运算时间,减小运算的复杂度尤为重要。国内外学者已有很多针对各种分辨率下的FME软、硬件实现方案,目前已经开发了许多FME插值设计。现有的一种基于双线性四分之一像素近似BQA(Bilinear Quarter pixel Approximation)方案的新FME搜索模式,以降低计算复杂度。结果表明,FME搜索候选对象从25个减少到12个,并且BD_PSNR降低了0.03dB,一种新颖的FME深流水线插值架构,用于H.265/HEVC全超高清视频编码器的实时实现,可以并行处理不同的搜索位置,而不会造成流水线停顿和数据冲突,通过优化插值滤波器的系数以降低硬件成本。现有方法中还有采用了单迭代搜索方式,有效减少了算法搜素点数,提高了数据吞吐率,但是对于多个块分割处理具有较大的延迟。
现有的这些方法中虽然减少了数据的计算量,但是分数像素插值计算的硬件控制难度大,硬件实现效率低,采用超大规模集成电路对视频编码时缺少灵活性,难以满足对视频质量的多标准的要求。
发明内容
(一)要解决的技术问题
为了解决现有技术中的分数像素插值计算的硬件控制难度大,硬件实现效率低,采用超大规模集成电路对视频编码时缺少灵活性的问题,本发明提出了一种基于可重构阵列处理器的分数像素插值方法。
(二)技术方案
为了达到上述目的,本发明采用的主要技术方案包括:
一种基于可重构阵列处理器的分数像素插值方法,该方法包括:
针对分数像素运动估计中待处理的视频图像像素信息,获取当前像素的关联像素,根据当前像素的信息和关联像素的信息,确定当前像素的分数像素的插值信息;
其中,采用深度优先贪婪搜索算法对所述确定当前像素的分数像素的插值信息的处理过程进行任务划分,并映射在可重构阵列处理器中实现并行处理。
作为本发明方法的一种改进,“采用深度优先贪婪搜索算法对所述确定当前像素的分数像素的插值信息的处理过程进行任务划分”,其步骤包括:
步骤S1、获取插值计算公式,制作数据处理流程图,作为待划分插值计算任务表示;所述数据处理流程图中包括输入数据、输出数据、处理节点,所述处理节点用于对输入数据进行相应的加工处理,得到相应的输出数据;
步骤S2、基于所述待划分插值计算任务表示,分别从各处理节点出发,建立子任务序列,进行节点搜索,将满足预设条件的节点加入到当前子任务中,直至没有新的节点加入;得到与处理节点对应的多个子任务;所述预设条件为当前节点的输入数据是像素信息或当前节点的输入数据已经由其他节点处理完成作为输出数据输出。
作为本发明方法的一种改进,所述插值计算公式基于预设的系数和预设位置的像素信息构建。
作为本发明方法的一种改进,预设位置的像素信息为像素亮度信息或像素色度信息。
作为本发明方法的一种改进,所述分数像素为1/2像素、1/4像素、3/4像素中的一种。
作为本发明方法的一种改进,可重构阵列处理器的包括:n*n个处理元簇,每一个处理元簇中包括:m*m个处理元PE;DIM存储器、DOM存储器;
所述处理元簇用于根据当前像素的信息和关联像素的信息,确定当前像素的分数像素的插值信息;
所述DIM存储器为输入存储器,用于存储待处理视频图像当前帧的像素信息;
所述DOM存储器为输出存储器,用于存储待处理视频图像前一帧的像素信息。
作为本发明方法的一种改进,若处理元簇包括:4*4个处理元PE;则,PE00、PE01、PE02、PE03、PE13用于水平像素点插值计算,PE10、PE11、PE12、PE20、PE21用于斜像素点插值计算,PE30、PE31、PE32、PE33、PE22用于垂直像素点插值计算;其中,每个处理元分别用于处理一个子任务;PE23用于计算SAD值并比较得到最优像素点输出。
作为本发明方法的一种改进,用于处理1/2像素插值的处理元簇通过计算1/2像素插值的参数信息,获取最优的1/2像素的像素信息输出;用于处理1/4像素、3/4像素的处理元簇通过邻接互联寄存器获取最优的1/2像素的像素信息,通过计算1/4像素、3/4像素插值的参数信息,获取最优的1/4像素或3/4像素的像素信息。
本发明第二方面提出了一种可重构阵列处理器,其特征在于,包括多个处理元簇和DIM存储器、DOM存储器;
其中,所述可重构阵列处理器执行上述的方法。
(三)有益效果
本发明的有益效果是:本发明方法对HEVC中的分数像素插值计算进行分析,建立数据流图;按深度优先贪婪搜索算法进行任务划分,将划分后的分像素插值算法在可重构阵列中并行映射实现;该方法降低了硬件控制难度,提高了硬件运行处理效率和硬件资源利用率,从而提高了分数像素插值计算的速度。
附图说明
本发明借助于以下附图进行描述:
图1为分数像素插值中的亮度插值示意图;
图2为本发明具体实施方式中1/2像素插值计算数据流图;
图3为本发明具体实施方式中1/4像素插值计算数据流图;
图4为本发明具体实施方式中任务划分后的1/2像素插值计算数据流图;
图5为本发明具体实施方式中任务划分后的1/4像素插值计算数据流图;
图6本发明具体实施方式中的可重构阵列处理器系统结构示意图;
图7为本发明具体实施方式中的基于可重构阵列处理器分数像素插值计算的并行映射示意图;
图8为本发明具体实施方式中PE进行数据交换示意图。
具体实施方式
为了更好的解释本发明,以便于理解,下面结合附图,通过具体实施方式,对本发明作详细描述。
本发明针对运动估计中通过插值计算分数像素位置的像素信息,提出了一种基于可重构阵列处理器的分数像素插值方法,该方法包括:
针对分数像素运动估计中待处理的视频图像像素信息,获取当前像素的关联像素,根据当前像素的信息和关联像素的信息,确定当前像素的分数像素的插值信息;
其中,采用深度优先贪婪搜索算法对确定当前像素的分数像素的插值信息的处理过程进行任务划分,并映射在可重构阵列处理器中实现并行处理。
本实施方式中,数据流程图采用的是数据流图。以下针对数据流图对本发明方法进行展开描述。
“采用深度优先贪婪搜索算法对所述确定当前像素的分数像素的插值信息的处理过程进行任务划分”,其步骤包括:
步骤S10、获取插值计算公式,制作数据流图,作为待划分插值计算任务表示。
HEVC沿用了1/2,1/4像素精度运动估计,并使用了更多的邻近像素点进行亚像素精度插值。1/2和1/4的像素模板如图1所示,其中A-1,1,A0,-1……A2,2为整数像素点,b0,0,h0,0等为1/2像素点,a0,0、d0,0等为1/4像素点,c0,0、n0,0等为3/4像素点,亮度分量1/2像素的位置的值由离散余弦变化的8抽头滤波器生成,亮度分量1/4,3/4像素的位置的值由离散余弦变化的7抽头滤波器生成,抽头系数如表1所示。
表1
亚像素位置 抽头系数
1/2 {-1,4,-11,40,40,-11,4,-1}
1/4 {-1,4,-10,58,17,-5,1}
3/4 {1,-5,17,58,-10,4,-1}
分数像素插值过程主要分为两步:
(1)对整数像素所在行或列进行插值。以A0,0点附近的亚像素点为例,a0,0、b0,0、c0,0可以用水平方向的整像素点计算得出,d0,0、h0,0、n0,0可以用垂直方向上的整像素点计算得出。
垂直1/2像素点通过公式(1)计算得到。
h0,0=(-A0,-3+4A0,-2-11A0,-1+40A0,0+40A0,1-11A0,2+4A0,3-A0,4)>>6 (1)
水平1/4像素点通过公式(2)计算得到。
a0,0=(-A-3,0+4A-2,0-10A-1,0+58A0,0+17A1,0-5A2,0+A3,0)>>6 (2)
(2)对剩余亚像素位置进行插值,使用步骤(1)中已计算得到的亚像素位置计算。
将1/2像素点公式(1)中A0,-3、A0,-2、A0,-1、A0,0、A0,1、A0,2、A0,3、A0,4分别记作A、B、C、D、E、F、G、H,进行公式变化,得到式(3)的结果。
h0,0={(-A+4B-11C+40D+40E-11F+4G-H)}>>6
={[-A+H)+4(B+G)-8(C+F)-4(C+F)+(C+F)+32(D+E)+8(D+E)]}>>6
={[-(A+H)+4(B+G)-(8(C+F)+4(C+F))+(C+F)+32(D+E)+8(D+E)]}>>6
={[(B+G)<<2-(A+H)-((C+F)<<3+(C+F)<<2)+(C+F)+(D+E)<<5+(D+E)<<5+(D+E)<<3]}>>6 (3)
根据对1/2像素点公式进行分析变化,根据数据流向画出图2的数据流图。其中“+”表示对输入数值进行加法运算,“-1”表示对输入数值取相反数,“<<n”表示对输入数值进行左移位操作,即对输入数值乘以2的n次幂;“>>n”表示对输入数值进行右移位操作,即对输入数值除以2的n次幂。
将1/4像素点公式(1)中A-3,0、A-2,0、A-1,0、A0,0、A1,0、A2,0、A3,0分别记作A、B、C、D、E、F、G,进行公式变化,得到式(4)的结果。
a0,0=(-A+4B-10C+58D+17E-5F+4G)>>6
={[10(D-C)-5F+4B+(48D+16E)+E+G-A]}>>6
={[8(D-C)-4F+4B+2(D-C)-F+16(3D+E)+E+G-A]}>>6
={[2(D-C)-F+B]<<2+(D-C)<<1-F+[(D<<1+D)+E]<<4+E+G-A}>>6 (4)
根据对1/4像素点公式进行分析变化,可根据数据流向画出图3的数据流图。
3/4像素插值计算与1/4像素插值计算是对称的,可以仅通过反转输入的参考像素的顺序而用相同的数据流图来实现,因此不再展开描述。
步骤S20、基于待划分插值计算任务表示,分别从各就绪节点出发,建立子任务序列,沿数据流图中的数据流向搜索,将满足预设条件的节点加入到当前子任务中,直至没有新的节点加入;得到与每个就绪节点对应的多个子任务;预设条件为当前节点的输入数据是像素信息或当前节点的输入数据已经由其他节点处理完成作为输出数据输出。
首先,从待调度的就绪队列中取出队首任务,在某一硬件面积约束下,按深度优先搜索方式扫描数据流图,逐个划入满足要求的节点,每个节点需要满足的条件为:1.本节点的输入数据已经由其他节点处理完并送至该节点输入端口;2.新节点加入后划分块的输出边数不在原输出边数基础上增加。两者同时符合时,执行该节点的计算。若有其中之一不符合条件时,停止该计算流程,从其它的就绪节点按照深度优先的方式继续扫描数据流图,并将之前停止流程后的后驱节点划为就绪节点,直至找到没有新的节点加入。
该算法按深度优先搜索的思想进行划分,遇到不满足要求的点时跳过,继续搜索该节点之后处于就绪状态的节点,当搜索到满足条件的节点时,若符合限制条件,则可加入当前块。限制条件为:首先计算当前块的块间边数,在保证当前块的块间边数不变的情况下,尽可能地把满足要求的节点放入当前的划分块,如果新的运算节点加入后的块间边数小于等于当前块边数则加入;否则不加入。
1/2像素点具体任务划分步骤如下:
第一步:从就绪v1节点开始出发,v1节点的后驱节点为v5,当v5节点计算完毕,因为v9节点需要等待v6节点计算结束,因为按照深度优先贪婪划分算法规则,停止v5→v9的进程,因此v1→v5可划为p1任务。
第二步:再从剩余就绪节点中的v2出发,v2的后驱节点为v6,v6的后驱节点为v9,v9需要v5与v6节点计算后的值,p1任务执行计算出v5节点的值,v9节点可以继续执行,v9节点的后驱节点为v14,v14需要等待v13节点计算结束,此时v2→v6→v9流程停止,可将v2→v6→v9流程划为任务p2。
第三步:再从剩余就绪节点中的v3出发,v3节点的后驱节点为v7,当v7节点计算完毕,v7的后驱节点v10需要等待v6节点计算结束,此刻停止v3→v7的进程,因为v3→v7可划为p3任务。
第四步:从剩余就绪节点的v4出发,v4的后驱节点为v8,v8的后驱节点为v10,v10需要等待v7计算结果,p3任务执行计算v7的值,v10节点可以继续执行;v10的后驱节点为v11与v12,v12执行需要等待v11结果,此时v4→v8→v10流程停止,可将v4→v8→v10流程划分为任务p4。
第五步:最初就绪节点v1、v2、v3、v4已经全部执行完毕,此刻的就绪节点为v11与v12、v14。从就绪节点v11开始出发,v11的后驱节点为v12,v12的前驱结点为v10与v11,任务p4已经执行计算出v10节点的值,因此v12节点可以继续向后寻找后驱节点;v13的后驱节点为v14,v14的前驱节点为v9与v13,任务p2已经执行计算出v9的值,因为v14可以继续向后寻找后驱节点;v14的后驱节点为v15,v15的前驱节点为v7与v14,任务p3已经执行计算出v7节点的值,因此v15节点可以继续向后寻找后驱节点;v15的后续节点为v16,v16之后无后驱节点,此时v11→v12→v13→v14→v15→v16结束,可将v11→v12→v13→v14→v15→v16流程划分为任务p5。
最初就绪节点为v1、v2、v3、v4,且v1、v2、v3、v4四个节点无数据依赖关系,因此不涉及执行顺序的先后,任务p1、p2、p3、p4可以并行执行后,再与任务p5串行执行。
1/4像素点插值计算具体划分步骤如下:
第一步:从就绪v1节点开始出发,v1节点的后驱节点为v6,v6节点的后驱节点为v9,当v9节点计算完毕,v9的后驱节点为v12,因为v9节点需要等待v2节点计算结束,因为按照深度优先贪婪划分算法规则,此时v1→v6→v9流程停止,可将V1→v6→v9可划为p1任务。
第二步:再从剩余就绪节点中的v2出发,v2的后驱节点为v12,v12的后驱节点为v14与v17,此时v12→v17流程停止,可将v2→v12划分为任务p2。
第三步:再从剩余就绪节点中的v3、v4出发,v3、v4节点的后驱节点均为v7,v7的后驱节点为v15,v15需等待v13节点计算完毕,因此v3→v7、v4→v7流程结束,可将3→v7、v4→v7划分为任务p3。
第四步:从剩余就绪节点的v5出发,v5节点的后驱节点为v8,v8的后驱节点为v10,v10的后驱节点为v13,v13节点的后驱节点为v15,v15节点的前驱结点为v7与v13,在任务p3中已经将v7节点的值计算完毕,因此继续寻找v15的后驱节点;v15节点的后驱节点为v18,v18的前驱节点为v17与v15,因此v5→v8→v10→v13→v15流程结束,可将v5→v8→v10→v13→v15划分为任务p4。
第五步:最初就绪节点v1、v2、v3、v4、v5已经全部执行完毕,此刻的就绪节点为v14与v17、v15、v18。从就绪节点v14开始出发,v14的后驱节点为v16,v16的后驱节点为v17,v17的前驱节点为v16与v12,任务p2已经计算出节点v12的值,因此v17可以继续向后寻找后驱节点;v17的后驱节点为v18,v18的前驱节点为v15与v17,任务p4已经将v15节点计算完毕,因此v18可以继续向后寻找后驱节点,v18的后驱节点为v19,v19之后无后驱节点,因此v14→v16→v17→v18→v19流程结束,可将v14→v16→v17→v18→v19划分为任务p5。
最初就绪节点为v1、v2、v3、v4,且v1、v2、v3、v4四个节点无数据依赖关系,因此不涉及执行顺序的先后,任务p1、p2、p3、p4可以并行执行后,再与任务p5串行执行。
针对1/2和1/4像素插值的数据流图2和图3进行划分,得到的图4为任务划分后的1/2像素插值计算数据流图,图5为任务划分后的1/4像素插值计算数据流图。图中p1、p2、p3、p4、p5分别表示5个子任务。
将步骤S20中得到的多个任务模块分别作为子任务表示,映射到可重构阵列处理器中实现并行处理。
可重构阵列处理器系统如图6所示,包括全局指令存储器、全局控制器、输入存储器(DIM)、输出存储器(DOM)、阵列处理器;通过主机接口与主机互联。DIM存储器为输入存储器,用于原始参考像素的存取;DOM为输出存储器,可将计算出的参考像素存入DOM存储器中。DIM、DOM存储器均可用于读数,写数操作。处理元簇主要用于进行独立的计算操作,包含简单的算术运算、逻辑运算、分支运算,加载/存储等操作。
划分后的分像素插值算法在可重构阵列中的并行映射实现,在如图7所示,其中LD表示读取地址中的数据,ADD表示加法操作,SLL表示逻辑左移。可重构的阵列处理器是由32×32个处理元(PE)组成,4×4个PE划分成一个处理元簇(PEG)。二分之一像素点插值算法并行化映射在PEG00簇内实现,四分之一像素点、四分之三像素点插值算法并行化映射在PEG01簇内实现。用于处理1/2像素插值的处理元簇在处理完1/2像素差值的SAD值计算后,比较得出最优的1/2像素的像素输出点,通过邻接互联寄存器将所选1/2插值的最优像素点传递给用于处理1/4像素、3/4像素的处理元簇,1/4像素插值与3/4像素插值开始计算。
PEG00簇中,PE00、PE01、PE02、PE03、PE13用于水平1/2像素点插值计算,PE10、PE11、PE12、PE20、PE21用于斜1/2像素点插值计算,PE30、PE31、PE32、PE33、PE22用于垂直1/2像素点插值计算。1/2像素点的p1任务,分别在PE00、PE10、PE30实现加法和-1操作,1/2像素点的p2任务,分别在PE01、PE11、PE31实现加法和移位操作,1/2像素点的p3任务,分别在PE02、PE20、PE32实现加法和-1操作,1/2像素点的p4任务,分别在PE03、PE21、PE33实现加法和移位操作,1/2像素点的p5任务,分别在PE12、PE13、PE22实现加法和移位操作,PE23用于计算SAD值并比较得到最优像素点输出给PEG01簇中的PE00、PE10、PE30。1/4像素点、3/4像素点插值算法并行化映射在PEG01簇内实现,处理元的功能划分与PEG00簇相同,不再展开描述。
PEG在设计上采用了邻接互连的设计结构,PE之间可以通过共享寄存器和周围四个方向的PE进行相互访问,如图8所示。处理元簇包括16个处理元PE,每个处理元PE中有16个寄存器,为R0~R15寄存器;其中12个寄存器为本地寄存器,4个寄存器(RE、RW、RS和RN)为共享寄存器,本地寄存器3、4、5、6用于PE内部读、写数据的存取,共享寄存器RE、RW、RS和RN用于与相邻的PE通过邻接互连进行数据交换。
以下对水平1/2像素点插值计算PE00、PE01、PE02、PE03、PE13执行过程进行说明。
将原始数据存储在DIM中后,通过DIM取数,取对应的原始像素值。PE00执行垂直像素1/2点的任务p1,即执行p1操作中的加法和-1操作,并按照任务p1所对应的整数的像素值对应的地址进行操作。PE00计算的结果存在PE01中,PE01进行操作,在最后计算的时候用到PE00的计算结果。将PE01的计算结果存在PE13中,将PE02计算的结果存在PE03中,PE03进行操作,在最后计算的时候用到PE02的计算结果。将PE03的计算结果存在PE13中,PE13进行操作,一个水平的1/2像素点计算完毕。并行执行完所有8*8的整数点,算出所有的水平1/2像素点。
通过可重构阵列处理器的并行计算,任务p1,p2,p3,p4可以并行执行后,再与任务p5串行执行,将1/2垂直像素,1/2水平像素以及其余像素点并行执行,同一时间段内共有15个PE并行执行,在计算1/4、3/4像素点时同时可以有15个PE进行计算,极大程度的提高了并行度,在时间和空间复杂度上有显著提高。
水平和斜1/2的点均用如上述的方法,此处不再展开说明。
需要理解的是,以上对本发明的具体实施例进行的描述只是为了说明本发明的技术路线和特点,其目的在于让本领域内的技术人员能够了解本发明的内容并据以实施,但本发明并不限于上述特定实施方式。凡是在本发明权利要求的范围内做出的各种变化或修饰,都应涵盖在本发明的保护范围内。

Claims (7)

1.一种基于可重构阵列处理器的分数像素插值方法,其特征在于,该方法包括:
针对分数像素运动估计中待处理的视频图像像素信息,获取当前像素的关联像素,根据当前像素的信息和关联像素的信息,确定当前像素的分数像素的插值信息;
其中,1/2像素的位置的值由离散余弦变化的8抽头滤波器生成,1/4,3/4像素的位置的值由离散余弦变化的7抽头滤波器生成;采用深度优先贪婪搜索算法对所述确定当前像素的分数像素的插值信息的处理过程进行任务划分,并映射在可重构阵列处理器中实现并行处理;
所述可重构阵列处理器由32×32个处理元PE组成,每一个处理元簇中包括:4*4个处理元PE;DIM存储器、DOM存储器;
所述处理元簇用于根据当前像素的信息和关联像素的信息,确定当前像素的分数像素的插值信息,每个处理元分别用于处理一个子任务;其中,二分之一像素点插值算法并行化映射在PEG00处理元簇内实现,四分之一像素点、四分之三像素点插值算法并行化映射在PEG01处理元簇内实现;
所述DIM存储器为输入存储器,用于存储待处理视频图像当前帧的像素信息;
所述DOM存储器为输出存储器,用于存储待处理视频图像前一帧的像素信息;
所述PEG00处理元簇中,PE00、PE01、PE02、PE03、PE13用于水平像素点插值计算,PE10、PE11、PE12、PE20、PE21用于斜像素点插值计算,PE30、PE31、PE32、PE33、PE22用于垂直像素点插值计算;PE23用于计算SAD值并比较得到最优像素点输出给PEG01簇中的PE00、PE10、PE30;分别在PE00、PE10、PE30实现p1任务的加法和-1操作,分别在PE01、PE11、PE31实现p2任务的加法和移位操作,分别在PE02、PE20、PE32实现p3任务的加法和-1操作,分别在PE03、PE21、PE33实现p4任务的加法和移位操作,分别在PE12、PE13、PE22实现p5任务的加法和移位操作。
2.根据权利要求1所述的基于可重构阵列处理器的分数像素插值方法,其特征在于,“采用深度优先贪婪搜索算法对所述确定当前像素的分数像素的插值信息的处理过程进行任务划分”,其步骤包括:
步骤S1、获取插值计算公式,制作数据处理流程图,作为待划分插值计算任务表示;所述数据处理流程图中包括输入数据、输出数据、处理节点,所述处理节点用于对输入数据进行相应的加工处理,得到相应的输出数据;
步骤S2、基于所述待划分插值计算任务表示,分别从各处理节点出发,建立子任务序列,进行节点搜索,将满足预设条件的节点加入到当前子任务中,直至没有新的节点加入;得到与处理节点对应的多个子任务;所述预设条件为当前节点的输入数据是像素信息或当前节点的输入数据已经由其他节点处理完成作为输出数据输出。
3.根据权利要求2所述的基于可重构阵列处理器的分数像素插值方法,其特征在于,所述插值计算公式基于预设的系数和预设位置的像素信息构建。
4.根据权利要求3所述的基于可重构阵列处理器的分数像素插值方法,其特征在于,预设位置的像素信息为像素亮度信息或像素色度信息。
5.根据权利要求4所述的基于可重构阵列处理器的分数像素插值方法,其特征在于,所述分数像素为1/2像素、1/4像素、3/4像素中的一种。
6.根据权利要求1所述的基于可重构阵列处理器的分数像素插值方法,其特征在于,用于处理1/2像素插值的处理元簇通过计算1/2像素插值的参数信息,获取最优的1/2像素的像素信息输出;用于处理1/4像素、3/4像素的处理元簇通过邻接互联寄存器获取最优的1/2像素的像素信息,通过计算1/4像素、3/4像素插值的参数信息,获取最优的1/4像素或3/4像素的像素信息。
7.一种可重构阵列处理器,其特征在于,包括多个处理元簇和DIM存储器、DOM存储器;
其中,所述可重构阵列处理器执行上述权利要求1至6任一所述的方法。
CN201911061185.6A 2019-11-01 2019-11-01 一种基于可重构阵列处理器的分数像素插值方法 Active CN110769256B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911061185.6A CN110769256B (zh) 2019-11-01 2019-11-01 一种基于可重构阵列处理器的分数像素插值方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911061185.6A CN110769256B (zh) 2019-11-01 2019-11-01 一种基于可重构阵列处理器的分数像素插值方法

Publications (2)

Publication Number Publication Date
CN110769256A CN110769256A (zh) 2020-02-07
CN110769256B true CN110769256B (zh) 2021-10-01

Family

ID=69335376

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911061185.6A Active CN110769256B (zh) 2019-11-01 2019-11-01 一种基于可重构阵列处理器的分数像素插值方法

Country Status (1)

Country Link
CN (1) CN110769256B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0987882A2 (en) * 1998-09-18 2000-03-22 Techno Link Co., Ltd. Interlace noise filter
CN101389028A (zh) * 2008-10-15 2009-03-18 北京航空航天大学 一种基于空域分解的视频帧内编码方法
CN102340668A (zh) * 2011-09-30 2012-02-01 上海交通大学 一种基于可重构技术的mpeg2亮度插值的实现方法
CN103327330A (zh) * 2013-06-14 2013-09-25 中国计量学院 基于系列算法参数取值选择的视频编码算法优化方法
CN104378642A (zh) * 2014-10-29 2015-02-25 南昌大学 一种基于cuda的h.264分数像素快速插值方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1578137A2 (en) * 2004-03-17 2005-09-21 Matsushita Electric Industrial Co., Ltd. Moving picture coding apparatus with multistep interpolation process

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0987882A2 (en) * 1998-09-18 2000-03-22 Techno Link Co., Ltd. Interlace noise filter
CN101389028A (zh) * 2008-10-15 2009-03-18 北京航空航天大学 一种基于空域分解的视频帧内编码方法
CN102340668A (zh) * 2011-09-30 2012-02-01 上海交通大学 一种基于可重构技术的mpeg2亮度插值的实现方法
CN103327330A (zh) * 2013-06-14 2013-09-25 中国计量学院 基于系列算法参数取值选择的视频编码算法优化方法
CN104378642A (zh) * 2014-10-29 2015-02-25 南昌大学 一种基于cuda的h.264分数像素快速插值方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
基于深度优先贪婪搜索的可重构硬件任务划分算法;陈乃金;《计算机应用》;20120420;第3节 *
数据驱动可重构阵列处理器体系结构研究;中国博士学位论文全文数据库;《中国博士学位论文全文数据库》;20190215;第1.1、4.5.3-5.4.2节 *

Also Published As

Publication number Publication date
CN110769256A (zh) 2020-02-07

Similar Documents

Publication Publication Date Title
US7813570B2 (en) Accelerated video encoding using a graphics processing unit
US7778494B2 (en) FIR-based interpolation in advanced video codecs on VLIW processor
US10412409B2 (en) Encoding system using motion estimation and encoding method using motion estimation
CN109495743B (zh) 一种基于异构多处理平台的并行化视频编码方法
KR20100017645A (ko) 동적 움직임 벡터 분석방법
GB2539198B (en) Motion estimation using collocated blocks
JPH06334980A (ja) 動画像の動きベクトル検出装置
US8135224B2 (en) Generating image data
Pastuszak et al. Adaptive computationally scalable motion estimation for the hardware H. 264/AVC encoder
US9940689B2 (en) Latency-resistant sparse simulation technique, system and method
CN113994692A (zh) 用于利用光流的预测细化的方法和装置
CN112911313A (zh) 一种分像素运动估计方法及其电路装置
US10523961B2 (en) Motion estimation method and apparatus for plurality of frames
US20110255596A1 (en) Frame rate up conversion system and method
CN110769256B (zh) 一种基于可重构阵列处理器的分数像素插值方法
US20050047502A1 (en) Method and apparatus for the efficient representation of interpolated video frames for motion-compensated coding
Jing et al. Implementation of parallel full search algorithm for motion estimation on multi-core processors
CN115829820A (zh) 插值方法、图像处理方法、gpu及芯片
Momcilovic et al. Development and evaluation of scalable video motion estimators on GPU
JP4409526B2 (ja) オプティカルフロープロセッサ
JPH05300497A (ja) 画像処理装置及びディジタル信号処理プロセッサ
CN117440168B (zh) 一种实现并行螺旋搜索算法的硬件架构
Pohl et al. Real-time 3DRS motion estimation for frame-rate conversion
KR101652264B1 (ko) 에지 방향 적응적인 인트라 필드 디인터레이싱 기법을 실행하는 그래픽 프로세싱 유닛의 병렬 구현 방법
Agha et al. Efficient motion estimation and discrete cosine transform implementation using the graphics processing units

Legal Events

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