CN110213592B - 适用于hevc标准中运动估计的电路及其工作方法 - Google Patents

适用于hevc标准中运动估计的电路及其工作方法 Download PDF

Info

Publication number
CN110213592B
CN110213592B CN201910542671.3A CN201910542671A CN110213592B CN 110213592 B CN110213592 B CN 110213592B CN 201910542671 A CN201910542671 A CN 201910542671A CN 110213592 B CN110213592 B CN 110213592B
Authority
CN
China
Prior art keywords
bar
value
crossbar
cross
result
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.)
Expired - Fee Related
Application number
CN201910542671.3A
Other languages
English (en)
Other versions
CN110213592A (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.)
Shandong University
Original Assignee
Shandong University
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 Shandong University filed Critical Shandong University
Priority to CN201910542671.3A priority Critical patent/CN110213592B/zh
Publication of CN110213592A publication Critical patent/CN110213592A/zh
Application granted granted Critical
Publication of CN110213592B publication Critical patent/CN110213592B/zh
Expired - Fee Related 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/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
    • 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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation

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

本公开公开了适用于HEVC标准中运动估计的电路及其工作方法,用于对系统内存中的图像进行压缩,电路包括:输入模块、行译码器、符号选择器、纵横式交换矩阵Cross‑Bar和输出模块,输入模块从系统内存图像数据端口载入当前图像与参考图像,并输出给行译码器,行译码器将参考图像送入纵横式交换矩阵Cross‑Bar的上半部分,行译码器将当前图像送入纵横式交换矩阵Cross‑Bar的下半部分;纵横式交换矩阵Cross‑Bar对接收到的图像的像素进行运动估计计算,并将计算得到的结果通过输出模块输出。

Description

适用于HEVC标准中运动估计的电路及其工作方法
技术领域
本公开涉及高效视频编码技术领域,特别是涉及适用于HEVC标准中运动估计的电路及其工作方法。
背景技术
本部分的陈述仅仅是提到了与本公开相关的背景技术,并不必然构成现有技术。
在实现本公开的过程中,发明人发现现有技术中存在以下技术问题:
随着流媒体技术和多媒体技术的飞速发展,视频通信和存储应用越来越向高清晰度、实时化、高压缩率的方向发展,对于视频压缩的要求越来越高,H.264/AVC标准已不能满足部分视频压缩应用。高效视频编码(High Efficiency Video Coding,HEVC)是继H.264/AVC之后的新一代国际视频压缩编码技术标准,主要针对高清视频、超高清视频、3D视频等应用。HEVC的目标是在H.264/AVC的基础上,视频压缩编码效率提高一倍,即在保证相同视频压缩编码质量的前提下,视频编码码率下降为原来的50%。然而,HEVC视频编码的高性能是以更高的复杂度为代价的,这也是HEVC编码标准走向实时视频应用的关键与瓶颈,因此如何在保证编码性能的基础上,降低编码复杂度,减少编码时间,提高编码速度成为了HEVC视频编码标准的研究热点。
帧间预测是HEVC视频编码标准的重要组成部分,直接关系到压缩后的视频编码质量和编码码率。帧间预测是利用视频时域的相关性,使用邻近已编码图像像素预测当前图像的像素,以达到有效去除视频时域冗余的目的。由于视频序列通常包括较强的时域相关性,因此将残差信号作为后续模块的输入进行变换、量化、扫描及熵编码,可实现对视频信号的高效压缩。
帧间预测的运行时间和能量消耗主要在运动估计部分。运动估计是为当前图像的每个像素块在之前已编码图像中寻找一个最佳匹配块。其中,用于预测的图像称为参考图像(Reference Frame,RF),参考图像中的某一参考块到当前像素块的位移称为运动向量(Motion Vector,MV),当前像素块与参考块的差值称为预测残差(Prediction Residual,PR)。
在实际场景中,由于物体运动的距离并不一定是像素的整数倍,因此需要将运动估计的精度提升至亚像素级别。在帧间预测中,运动估计过程包括整像素运动估计和亚像素运动估计。对于整像素运动估计,H.265/HEVC官方测试编码器给出了两种搜索算法:一种是全搜索(full search)算法;另一种是TZSearch算法。全搜索算法是最简单暴力的一种搜索算法,对搜索范围内的所有像素点都进行匹配对比,选出最合适的像素点,所得的最小匹配误差对应的MV为全局最优的MV。然而,在整像素运动估计中,全搜索算法耗时较多,计算量大,无法满足实时编码。TZSearch算法是一种混合搜索模型快速搜索算法,大大减少了全搜索的计算,从而加快了整像素运动估计的过程。
对于亚像素运动估计,H.265/HEVC沿用了上一代标准使用的1/4像素精度(即包含1/2像素精度点和1/4像素精度点)运动估计,并进一步改进了亚像素插值算法。相比于H.264/AVC中的6抽头滤波器(用于1/2像素精度)以及两点内插值(用于1/4像素精度)方法,H.265/HEVC使用了更多的邻近像素点进行亚像素精度插值。
在亚像素运动估计中,主要分为两个步骤:
1.对整像素所在的行或列进行插值。
2.对剩余亚像素位置进行插值。
在TZSearch算法以及全搜索算法中,绝对误差和(Sum of absolute difference,SAD)为运动估计的匹配准则;同时,在亚像素运动估计中使用了Hadamard变换后再绝对值求和(Sum of Absolute Transformed Difference,SATD)作为运动估计的匹配准则。通过HEVC官方参考编码软件HM16.20实验得出,SAD和HATD两个匹配准则的能耗占运动估计总能耗的70%以上。直接导致运动估计耗时较多,使得帧间预测在整个编码过程中的耗时达到65%左右。因此,本发明将对运动估计过程中的SAD和HATD两个匹配准则进行加速设计,以减少帧间预测的运行时间,加快HEVC的视频编码速度。
在运用传统处理器(如CPU、GPU等)进行运动估计中的SAD、HATD计算时,所产生的过渡的中间计算结果将导致内存与传统处理器之间出现大量的数据移动消耗,增加计算延迟的同时也增加了能量消耗。
发明内容
为了解决现有技术的不足,本公开提供了适用于HEVC标准中运动估计的电路及其工作方法;
第一方面,本公开提供了适用于HEVC标准中运动估计的电路;
适用于HEVC标准中运动估计的电路,用于对系统内存中的图像进行压缩,所述电路包括:输入模块、行译码器、符号选择器、纵横式交换矩阵Cross-Bar和输出模块,所述纵横式交换矩阵Cross-Bar,包括:若干根字线,每根字线与若干个位线连接,每根字线的一端均与行译码器连接,每根字线通过符号选择器与若干个电阻单元连接,每个电阻单元与对应的位线连接;每根位线与字线垂直,每根位线的输入端与符号选择器连接;
所述输入模块从系统内存图像数据端口载入当前图像与参考图像,并输出给行译码器,将纵横式交换矩阵Cross-Bar分为上半部分和下半部分;行译码器将参考图像送入纵横式交换矩阵Cross-Bar的上半部分,行译码器将当前图像送入纵横式交换矩阵Cross-Bar的下半部分;
纵横式交换矩阵Cross-Bar对接收到的图像的像素进行运动估计计算,并将计算得到的结果通过输出模块输出。
第二方面,本公开还提供了适用于HEVC标准中运动估计的电路的工作方法;
适用于HEVC标准中运动估计的电路的工作方法,包括:
从系统内存图像数据端口载入当前图像与参考图像,并输出给行译码器,纵横式交换矩阵Cross-Bar分为上半部分和下半部分;行译码器将参考图像送入上半部分,行译码器将当前图像送入下半部分;
纵横式交换矩阵Cross-Bar对接收到的图像的像素进行运动估计计算,并将计算得到的结果通过输出模块输出。
与现有技术相比,本公开的有益效果是:
以采用存储介质ReRAM的存-内一体化结构为基础,面向高效视频编码中帧间预测加速计算背景提出了适用于HEVC标准中运动估计(Motion Estimate)的电路及其工作方法过程的方法,以良好的并行计算结构以及极低的数据移动消耗有效解决了帧间预测中运动估计过程的时间及其能耗占比过大的问题。
利用ReRAM的特性,针对HEVC中的运动估计过程提出了一种PIM(Processing-in-memory)的存-算一体架构,减少了CPU与内存之间的数据移动开销,大大降低了运动估计过程的计算时延。
利用ReRAM的多Cell的交叉阵列结构,设计了针对运动估计中整像素搜索算法中SAD的混合运算模型,大大节省了运动估计中整像素搜索过程的运行时间,提升了帧间预测的效率。
利用ReRAM的多Cell的交叉阵列结构,设计了针对运动估计中亚像素差值算法中SATD的混合运算模型,大大提高了亚像素运动估计过程的并行度,降低了亚像素运动估计过程的运行时间,提升了整体视频编码性能。
附图说明
构成本申请的一部分的说明书附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。
图1为图像计算与存储架构图。
具体实施方式
应该指出,以下详细说明都是示例性的,旨在对本申请提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本申请所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
基于阻值存储数据的ReRAM是一种现今较为新颖的解决方案,它拥有媲美DRAM的读写速度及非易失的存储特性。同时,ReRAM具有的Cross-Bar结构让其拥有了运行简单矩阵乘法、加法、减法等一系列运算的能力,而ReRAM结构中数量众多的Cells让其拥有着强大的并行计算能力。与CPU相比,其具有并行度高、重复计算能力较好的优势;而较GPU相比,其具有功耗相对较低的优势。最重要的是,在ReRAM介质的内存中直接进行计算可以大大减少内存与CPU之间的数据移动消耗,最大限度地利用有限的内存带宽实现更高的吞吐量及更低的数据延迟。
基于以上背景,我们提出了一种基于ReRAM的加速运动估计中SAD和SATD计算过程的方法,用ReRAM存储数据的同时,利用其强大的并行能力进行近数据计算(Near-data-computing),实现存内计算(Processing-in-memory,PIM)架构。此架构与现存的利用CPU、GPU的解决方案相比,拥有更少的数据移动开销,以及更高的乘加运算并行度等优势,可以加速矩阵间的计算速度,减少计算复杂度及计算延时,进而增加整个高效视频编码的编码效率。
在HEVC的运动估计中,整像素运动估计主要由TZSearch算法和全搜索算法实现。帧间预测中整像素运动估计需要从参考帧预设的搜索范围中逐个位置比较与当前像素块最匹配的块,在TZSearch算法和全搜索中,通常以计算当前块与参考块的SAD值作为判断准则,以SAD值最小为当前最佳匹配块。
SAD计算公式为:
Figure BDA0002103054660000061
在上式(1)中,i,j为搜索范围中像素值的坐标,其每次搜索的距离值与搜索算法有关,如果为全局搜索算法则每次搜索的距离为1。M,N为当前预测单元的尺寸大小,为M*N矩阵,R(x,y)表示搜索参考帧的搜索范围中进行当前比对块的一个像素值,同样的C(x,j)表示当前预测单元中的一个像素值。
由于自然界物体运动具有连续性,相邻两像素之间物体的运动不一定是以整像素为基本单位的,而很有可能以半像素、1/4像素甚至1/8像素为单位,而在HEVC标准中,使用的亚像素精度运动估计是1/2和1/4像素精度运动估计。
亚像素精度运动估计意味着需要对参考像素进行插值,而好的插值方法可以大幅改善运动补偿的性能,并且应用更多的邻近像素点进行插值能够明显提高运动补偿精度。运动补偿是通过先前的局部图像来预测、补偿当前的局部图像,它是减少帧序列冗余信息的有效方法。与整像素运动估计相比,亚像素运动估计各个搜索点匹配误差相差不会太大,此时需要考虑各个点对应残差在变换区域的特征,而SATD恰好能够满足要求。因而,在亚像素精度运动估计中,采用SATD作为预测误差衡量准则能够使编码性能获得一定的提高。SATD运算是指将残差信号进行Hadamard变换后再求各元素绝对值之和。
SATD计算公式为:
SATD=∑MM|HXH| (2)
其中,X为残差信号方阵,M为方阵的大小,而H为归一化的M*M Hadamard矩阵。
在ReRAM中并行完成减法运算、绝对值运算及求和运算是一个挑战。我们结合运动估计的多个运算需求将结构进行改进,使得改进后的结构仍然可以兼容以往的应用。
实施例一,本实施例提供了适用于HEVC标准中运动估计的电路;
适用于HEVC标准中运动估计的电路,用于对系统内存中的图像进行压缩,所述电路包括:输入模块、行译码器、符号选择器、纵横式交换矩阵Cross-Bar和输出模块,所述纵横式交换矩阵Cross-Bar,包括:若干根字线,每根字线与若干个位线连接,每根字线的一端均与行译码器连接,每根字线通过符号选择器与若干个电阻单元连接,每个电阻单元与对应的位线连接;每根位线与字线垂直,每根位线的输入端与符号选择器连接;
所述输入模块从系统内存图像数据端口载入当前图像与参考图像,并输出给行译码器,将纵横式交换矩阵Cross-Bar分为上半部分和下半部分;行译码器将参考图像送入纵横式交换矩阵Cross-Bar的上半部分,行译码器将当前图像送入纵横式交换矩阵Cross-Bar的下半部分;
纵横式交换矩阵Cross-Bar对接收到的图像的像素进行运动估计计算,并将计算得到的结果通过输出模块输出。
作为一个或多个实施例,纵横式交换矩阵Cross-Bar的上半部分,是指:假设一共有N个字线,从上到下依次编号为1到N,其中N为偶数;则上半部分是编号为0到
Figure BDA0002103054660000081
的字线;下半部分是编号从
Figure BDA0002103054660000082
到N的字线。
作为一个或多个实施例,纵横式交换矩阵Cross-Bar中用八个电阻单元来存储一个像素值;每个电阻单元的高组态代表逻辑0,每个电阻单元的低组态代表逻辑1;Cross-Bar采用双电源供电。双电源是指正负电源,分别输出正负两组或多组电源,供给不同电路的需要,用作实现减法操作。
作为一个或多个实施例,进行运动估计计算,包括:SAD运算和SATD运算;
作为一个或多个实施例,字线接通电压后的状态为低组态;未接通电压的状态为高组态。
应理解的,所述行译码器(Row Decoder)用来导通字线word line写入数据;
应理解的,所述符号选择器用来存放正负标识位0或1;
应理解的,所述纵横式交换矩阵Cross-Bar是ReRAM的交叉开关阵列;
应理解的,所述符号选择器,是指由两个互补的场效应管构成,场效应管有N沟道和P沟道之分,用两者组成互补对称的电路简称CMOS互补输出电路。
作为一个实施例,根据符号选择器的值控制纵横式交换矩阵Cross-Bar中符号选择器Si,j的输入状态;
当数据为正数时,符号选择器Si,j为1,将符号选择器Si,j上端的NMOS管导通,字节1与正电压源连通;
当数据为负数时,符号选择器Si,j为0,符号选择器Si,j下端的PMOS管导通,字节0与负电压源连通。
作为一个或多个实施例,利用符号选择器以及双电源供电机制,实现纵横式交换矩阵Cross-Bar间的正负数混合加减法同步运算;双电源供电,即正负电压供电;在做减法的时候,被减数为正电压,减数为负电压,然后两数相加,得到减法的结果;在做加法的时候,被加数为正电压,加数为正电压,然后两数相加,得到加法的结果。
作为一个或多个实施例,取绝对值运算:通过符号选择器来设立数的正负标识符;在符号选择器对应的字线word line通入相应的电压,符号位为1即通入正电压,否则通入负电压;将取绝对值运算转换为减法运算:比较两个数大小,对较小的值通入负电压,较大的值通入正电压,即转化为减法运算,两个数的差值即为绝对值运算结果的值。
实施例二,本实施例还提供了适用于HEVC标准中运动估计的电路的工作方法;
适用于HEVC标准中运动估计的电路的工作方法,包括:
从系统内存图像数据端口载入当前图像与参考图像,并输出给行译码器,纵横式交换矩阵Cross-Bar分为上半部分和下半部分;行译码器将参考图像送入上半部分,行译码器将当前图像送入下半部分;
纵横式交换矩阵Cross-Bar对接收到的图像的像素进行运动估计计算,并将计算得到的结果通过输出模块输出。
作为一个或多个实施例,纵横式交换矩阵Cross-Bar对接收到的图像的像素进行运动估计计算的具体步骤,包括:
S11:首先,将绝对误差和SAD计算公式
Figure BDA0002103054660000101
中的参考图像R的像素值写入ReRAM的纵横式交换矩阵Cross-Bar的上半部分;
将当前图像C中的像素值写入ReRAM的纵横式交换矩阵Cross-Bar的下半部分;
其中,D(i,j)表示绝对误差和SAD;R(i+s-1,j+t-1)表示参考图像像素值;C(s,t)表示当前图像像素值;i表示运动向量MV的水平分量,j表示运动向量MV的垂直分量;
S12:利用符号选择器以及双电源供电机制,实现纵横式交换矩阵Cross-Bar间的正负数混合加减法同步运算;双电源供电,即正负电压供电;
在做减法的时候,被减数为正电压,减数为负电压,然后两数相加,得到减法的结果;
在做加法的时候,被加数为正电压,加数为正电压,然后两数相加,得到加法的结果;
S13:取绝对值运算:通过符号选择器来设立数的正负标识符;在符号选择器对应的字线word line通入相应的电压,符号位为1即通入正电压,否则通入负电压;将取绝对值运算转换为减法运算:比较R(i+s-1,j+t-1)与C(s,t)的大小,对较小的值通入负电压,较大的值通入正电压,即转化为减法运算,R(i+s-1,j+t-1)与C(s,t)的差值即为绝对值运算结果的值;
S14:求和运算:将S13取绝对值运算后得到的结果写入Cross-Bar,然后对写入的Cross-Bar中的存放绝对值结果的字线通入对应数值为1的对应电压;
利用Cross-Bar的乘加特性,将乘数设定为输入值1,即单个乘法的结果仍是Cross-Bar中的元素值,对位线进行通电,通电后最终输出的结果即是对应位线上的字线数值累加求和的结果。
作为一个或多个实施例,纵横式交换矩阵Cross-Bar对接收到的图像的像素进行运动估计计算的具体步骤,还包括:
S21:首先,将SATD计算公式
SATD=∑MM|H(H*Cp-H*Rp)T|;
中的参考像素矩阵Cp和当前像素矩阵Rp分别写入Cross-Bar,通入Hadamard矩阵H对应元素值的电压,分别得到H*Cp和H*Rp的结果;
S22:利用符号寄存器以及双电源供电机制,实现矩阵间的正负数混合加减法同步运算,在做减法的时候,被减数为正电压,减数为负电压,然后两数相加,得到H*Cp-H*Rp的结果;
S23:将存放H*Cp-H*Rp的Cross-Bar翻转,即WL与BL交换位置,实现矩阵的就地转置,得到(H*Cp-H*Rp)T;交换位置是重新写入数据,即将原来的矩阵行数据按列写入,矩阵中的列转换为行写入;
S24:将H矩阵中元素值的电压对应通入存放(H*Cp-H*Rp)T的Cross-Bar,得到H(H*Cp-H*Rp)T的结果;
S25:求和运算:将保存S24结果的Cross-Bar通入对应数值为1的对应电压;利用Cross-Bar的乘加特性,通电后最终输出的结果即是全部元素的求和结果。
为了降低静态能耗,我们将参考像素和当前预测单元中的像素值存储到ReRAM阵列中。我们以8位深度的像素为例,考虑到ReRAM电阻的精度、工艺等因素,我们保守的采用一位电阻精度,即一个ReRAM电阻单元的高、低两个阻态分别代表逻辑0、1,来存储1位数据。如图1所示,Cross-Bar中用8个电阻单元来存储一个像素值(1个字节)。当前图像预测单元像素块矩阵Cp存储在Cross-Bar的上半部分,参考像素块矩阵Rp存储在下半部分,对于32*32的预测单元进行SAD运算需要的Cross-Bar大小为64*256。
字线(Word-Line,WL)选通状态为低阻态,即接通电压后的状态,非选通状态为高阻态,即未接通电压的状态。在图1中,Cross-Bar中的位线表示为Bit-Line(BL),与行译码器(Row Decoder)相连的横线为Word-Line(WL),Si,j为由两个互补的场效应管构成的符号选择器,Symbol Control Unit(SCU)为正负数符号寄存器。
由于(2)式中的Hadamard矩阵中包含正负1,因此SATD的结果中也包含正负数。因此,在ReRAM中进行计算时,会出现正负数相加的情况。为了实现正负数的混合存储与加减法同步混合运算,本发明设计了一组符号选择器(Symbol Control Unit),Cross-Bar采用双电源供电。根据寄存器的值控制Cross-Bar中符号控制端Si,j的输入状态。数据为正数时,Si,j为1,将上端的NMOS管导通,该字节的字线与WL连通(WL电压为正电压);数据为负数时,Si,j为0,下端的PMOS管导通,该字节的字线与负电压源连通。
为了实现减法与求和同步计算,本发明将被减数经过WL接通正电压,减数接通负电压。每一个BL即可同时完成两组32个bit的加减混合运算。后续通过对BL产生的电流进行sample hold S/H,模数转换器ADC,移位,累加等操作,即可完成常规算法中的1024个减法、1024个绝对值运算以及1023个求和运算。
由于在ReRAM中每个电阻单元表示一位,于是在对两个8bit位表示的数进行运算时需要通过移位操作来区分电阻表示的高bit位与低bit位。下面以两个数A、B的减法操作为例,A、B表示为A(a7,a6,…,a0)、B(b7,b6,…,b0),求A和B的差A-B的运算过程可以表示为:
(a7-b7)<<7+(a6-b6)<<6+(a5-b5)<<5+(a4-b4)<<4+(a3-b3)<<3+(a2-b2)<<2+(a1-b1)<<1+(a0-b0)。
即用来表示数A、B的对应位置的bit数放在同一BL中,进行减法操作,然后根据这个bit位的所在位进行移位操作。比如a7-b7需要左移7位来表示最高位。
取绝对值运算:首先通过比较器,判断出两个数的大小关系,将较小的数作为减数(将符号位置为0),较大的数作为被减数。首先将需要比较的两行WL分别接通正、负电压,即分别将同一行各字节的符号控制寄存器位置为1(正电压)、置为0(负电压)。根据SA读出的值的正负确定两个WL上对应的值的符号(若读出结果为负数则符号寄存器值取反)。
传统处理器在计算帧间预测的运动估计过程中,在内存与CPU之间产生了大量的数据移动,而ReRAM的自身结构特性使其实现了较好的存-算一体化功能。实现了缓存级别基于特定计算的并行操作,减轻了处理器的计算负载。由于运动估计的计算中存在大量乘法、加法,减法及移位操作,迎合了ReRAM内部计算结构属性,因此提高了整体运算速度,实现了对运动估计的整体加速。通过采用的并行策略,大大减少了SAD,SATD的运算时间,从而加快了运动估计的过程,降低了HEVC的能耗,为高效视频编码提供了结合ReRAM的新的可行性方案。
一、运动估计中SAD运算的计算策略
本发明提出的基于ReRAM计算单元的并行化策略和功能化划分有效减小了计算的时间复杂度,降低了处理器计算负载,加快了运动估计中整像素精度的SAD计算过程。
将公式(1)拆解并映射至ReRAM的具体策略如下:
1、首先,将矩阵R、C中的像素值分别写入ReRAM的对应位置。
2、然后,利用上述的符号寄存器以及双电源供电机制,实现矩阵间的正负数混合加减法同步运算。
3、接下来是取绝对值运算。通过设立符号位以及对应通入正、负电压,将取绝对值运算转换为普通的减法运算。为了保证准确性,将SA读出的负值结果取反。
4、最后为求和运算。将第3步得到的结果写入Cross-Bar,然后通入对应数值为1的对应电压。利用Cross-Bar的乘加特性,将乘数设定为输入值1,即单个乘法的结果仍是Cross-Bar中的元素值,通电后最终输出的结果即是全部元素的求和结果。
二、运动估计中SATD运算的计算策略
本发明提出的基于ReRAM计算单元的并行化策略和功能化划分有效减小了计算的时间复杂度,同时也加快了运动估计中亚像素精度的SATD计算过程。下面给出详细的计算步骤。
根据公式(2),由Hadamard矩阵的特性可知,H矩阵为对称矩阵,H矩阵的转置矩阵等于H矩阵本身,即H=HT。X矩阵为残差信号方阵,可以表示为当前帧预测单元像素块与参考帧中对应像素块的差,即X=Cp-Rp。
因此,公式(2)中取绝对值的部分HXH可以转换为:
HXH=(H(HX)T)T=(H(H(Cp-Rp))T)T=(H(HCp-HRp)T)T (3)
由于最终SATD的计算结果是HXH计算结果的绝对值的和,因此(3)式可以转化为:
SATD=∑MM|H(HCp-HRp)T| (4)
将公式(4)拆解并映射至ReRAM的具体策略如下:
1、首先,将矩阵Cp,Rp分别写入Cross-Bar,通入H矩阵对应元素值的电压,分别得到HCp和HRp的结果。
2、利用上述的符号寄存器以及双电源供电机制,实现矩阵间的正负数混合加减法同步运算。得到HCp-HRp的结果。
3、将存放步骤2中(HCp-HRp)结果的Cross-Bar翻转,即WL与BL交换位置,实现矩阵的就地转置,得到(HCp-HRp)T
4、将H矩阵中元素值的电压对应通入步骤3中存放(HCp-HRp)T结果的Cross-Bar,得到H(HCp-HRp)T的结果。
5、最后为求和运算。将保存第4步结果的Cross-Bar通入对应数值为1的对应电压。利用Cross-Bar的乘加特性,通电后最终输出的结果即是全部元素的求和结果。
在上述SAD和SATD的运算过程中,巧妙的运用了利用ReRAM中Cross-Bar计算的并行特性。在一次通电后,即可得到两个矩阵的运算结果,大大提高了运动估计的并行性,加快了HEVC的编码速率。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (9)

1.适用于HEVC标准中运动估计的电路,其特征是,用于对系统内存中的图像进行压缩,所述电路包括:输入模块、行译码器、符号选择器、纵横式交换矩阵Cross-Bar和输出模块,所述纵横式交换矩阵Cross-Bar是ReRAM的交叉开关阵列,包括:若干根字线,每根字线与若干个位线连接,每根字线的一端均与行译码器连接,每根字线通过符号选择器与若干个电阻单元连接,每个电阻单元与对应的位线连接;每根位线与字线垂直,每根位线的输入端与符号选择器连接;
所述输入模块从系统内存图像数据端口载入当前图像与参考图像,并输出给行译码器,将纵横式交换矩阵Cross-Bar分为上半部分和下半部分;行译码器将参考图像送入纵横式交换矩阵Cross-Bar的上半部分,行译码器将当前图像送入纵横式交换矩阵Cross-Bar的下半部分;
纵横式交换矩阵Cross-Bar对接收到的图像的像素进行运动估计计算,并将计算得到的结果通过输出模块输出。
2.如权利要求1所述的电路,其特征是,纵横式交换矩阵Cross-Bar的上半部分,是指:假设一共有N个字线,从上到下依次编号为1到N,其中N为偶数;则上半部分是编号为0到
Figure FDA0002946592230000011
的字线;下半部分是编号从
Figure FDA0002946592230000012
到N的字线。
3.如权利要求1所述的电路,其特征是,纵横式交换矩阵Cross-Bar中用八个电阻单元来存储一个像素值;每个电阻单元的高组态代表逻辑0,每个电阻单元的低组态代表逻辑1;Cross-Bar采用双电源供电。
4.如权利要求1所述的电路,其特征是,根据符号选择器的值控制纵横式交换矩阵Cross-Bar中符号选择器Si,j的输入状态;
当数据为正数时,符号选择器Si,j为1,将符号选择器Si,j上端的NMOS管导通,字节1与正电压源连通;
当数据为负数时,符号选择器Si,j为0,符号选择器Si,j下端的PMOS管导通,字节0与负电压源连通。
5.如权利要求1所述的电路,其特征是,利用符号选择器以及双电源供电机制,实现纵横式交换矩阵Cross-Bar间的正负数混合加减法同步运算;双电源供电,即正负电压供电;在做减法的时候,被减数为正电压,减数为负电压,然后两数相加,得到减法的结果;在做加法的时候,被加数为正电压,加数为正电压,然后两数相加,得到加法的结果。
6.如权利要求1所述的电路,其特征是,取绝对值运算:通过符号选择器来设立数的正负标识符;在符号选择器对应的字线word line通入相应的电压,符号位为1即通入正电压,否则通入负电压;将取绝对值运算转换为减法运算:比较两个数大小,对较小的值通入负电压,较大的值通入正电压,即转化为减法运算,两个数的差值即为绝对值运算结果的值。
7.如权利要求1所述的适用于HEVC标准中运动估计的电路的工作方法,其特征是,包括:
从系统内存图像数据端口载入当前图像与参考图像,并输出给行译码器,所述纵横式交换矩阵Cross-Bar是ReRAM的交叉开关阵列,纵横式交换矩阵Cross-Bar分为上半部分和下半部分;行译码器将参考图像送入上半部分,行译码器将当前图像送入下半部分;
纵横式交换矩阵Cross-Bar对接收到的图像的像素进行运动估计计算,并将计算得到的结果通过输出模块输出。
8.如权利要求7所述的方法,其特征是,纵横式交换矩阵Cross-Bar对接收到的图像的像素进行运动估计计算的具体步骤,包括:
S11:首先,将绝对误差和SAD计算公式
Figure FDA0002946592230000031
中的参考图像R的像素值写入ReRAM的纵横式交换矩阵Cross-Bar的上半部分;
将当前图像C中的像素值写入ReRAM的纵横式交换矩阵Cross-Bar的下半部分;
其中,D(i,j)表示绝对误差和SAD;R(i+s-1,j+t-1)表示参考图像像素值;C(s,t)表示当前图像像素值;i表示运动向量MV的水平分量,j表示运动向量MV的垂直分量;
S12:利用符号选择器以及双电源供电机制,实现纵横式交换矩阵Cross-Bar间的正负数混合加减法同步运算;双电源供电,即正负电压供电;
在做减法的时候,被减数为正电压,减数为负电压,然后两数相加,得到减法的结果;
在做加法的时候,被加数为正电压,加数为正电压,然后两数相加,得到加法的结果;
S13:取绝对值运算:通过符号选择器来设立数的正负标识符;在符号选择器对应的字线word line通入相应的电压,符号位为1即通入正电压,否则通入负电压;将取绝对值运算转换为减法运算:比较R(i+s-1,j+t-1)与C(s,t)的大小,对较小的值通入负电压,较大的值通入正电压,即转化为减法运算,R(i+s-1,j+t-1)与C(s,t)的差值即为绝对值运算结果的值;
S14:求和运算:将S13取绝对值运算后得到的结果写入Cross-Bar,然后对写入的Cross-Bar中的存放绝对值结果的字线通入对应数值为1的对应电压;
利用Cross-Bar的乘加特性,将乘数设定为输入值1,即单个乘法的结果仍是Cross-Bar中的元素值,对位线进行通电,通电后最终输出的结果即是对应位线上的字线数值累加求和的结果。
9.如权利要求7所述的方法,其特征是,纵横式交换矩阵Cross-Bar对接收到的图像的像素进行运动估计计算的具体步骤,还包括:
S21:首先,将SATD计算公式
SATD=∑MM|H(H*Cp-H*Rp)T|;
中的参考像素矩阵Cp和当前像素矩阵Rp分别写入Cross-Bar,通入Hadamard矩阵H对应元素值的电压,分别得到H*Cp和H*Rp的结果;
S22:利用符号寄存器以及双电源供电机制,实现矩阵间的正负数混合加减法同步运算,在做减法的时候,被减数为正电压,减数为负电压,然后两数相加,得到H*Cp-H*Rp的结果;
S23:将存放H*Cp-H*Rp的Cross-Bar翻转,即WL与BL交换位置,实现矩阵的就地转置,得到(H*Cp-H*Rp)T;交换位置是重新写入数据,即将原来的矩阵行数据按列写入,矩阵中的列转换为行写入;
S24:将H矩阵中元素值的电压对应通入存放(H*Cp-H*Rp)T的Cross-Bar,得到H(H*Cp-H*Rp)T的结果;
S25:求和运算:将保存S24结果的Cross-Bar通入对应数值为1的对应电压;利用Cross-Bar的乘加特性,通电后最终输出的结果即是全部元素的求和结果。
CN201910542671.3A 2019-06-21 2019-06-21 适用于hevc标准中运动估计的电路及其工作方法 Expired - Fee Related CN110213592B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910542671.3A CN110213592B (zh) 2019-06-21 2019-06-21 适用于hevc标准中运动估计的电路及其工作方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910542671.3A CN110213592B (zh) 2019-06-21 2019-06-21 适用于hevc标准中运动估计的电路及其工作方法

Publications (2)

Publication Number Publication Date
CN110213592A CN110213592A (zh) 2019-09-06
CN110213592B true CN110213592B (zh) 2021-04-09

Family

ID=67793881

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910542671.3A Expired - Fee Related CN110213592B (zh) 2019-06-21 2019-06-21 适用于hevc标准中运动估计的电路及其工作方法

Country Status (1)

Country Link
CN (1) CN110213592B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111131779A (zh) * 2019-12-26 2020-05-08 武汉宏数信息技术有限责任公司 一种工程勘察设计中基于窄带高清视频的专家远程诊断方法
CN111709872B (zh) * 2020-05-19 2022-09-23 北京航空航天大学 一种图三角形计数算法的自旋存内计算架构

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标准的扩展可变块运动估计电路
CN105721870A (zh) * 2014-12-03 2016-06-29 北京君正集成电路股份有限公司 Hevc中编码单元分割方式的判定方法及装置
CN109040756A (zh) * 2018-07-02 2018-12-18 广东工业大学 一种基于hevc图像内容复杂度的快速运动估计方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8766234B1 (en) * 2012-12-27 2014-07-01 Intermolecular, Inc. Current selector for non-volatile memory in a cross bar array based on defect and band engineering metal-dielectric-metal stacks

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标准的扩展可变块运动估计电路
CN105721870A (zh) * 2014-12-03 2016-06-29 北京君正集成电路股份有限公司 Hevc中编码单元分割方式的判定方法及装置
CN109040756A (zh) * 2018-07-02 2018-12-18 广东工业大学 一种基于hevc图像内容复杂度的快速运动估计方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
《Design Exploration for Multiple Level Cell Based Non-Volatile FPGAs》;Ke Liu;《2017 IEEE 35th International Conference on Computer Design》;20171123;第257-264页 *
《基于可重构系统的HEVC 运动估计算法实现》;韩佳;《信息技术》;20161130(第11期);第12-17页 *

Also Published As

Publication number Publication date
CN110213592A (zh) 2019-09-06

Similar Documents

Publication Publication Date Title
CN101547354B (zh) 实现运动估计的视频编码器与其运动估计方法
TW423258B (en) Method and apparatus for encoding and decoding video signals by using storage and retrieval of motion vectors
US8073058B2 (en) Memory device and device and method for detecting motion vector
CN110213592B (zh) 适用于hevc标准中运动估计的电路及其工作方法
US10785498B2 (en) System and method of mapping multiple reference frame motion estimation on multi-core DSP architecture
CN100579225C (zh) 图像数据的存取和解码方法及解码装置
JP2005530422A (ja) ビデオをエンコーディングする技法とデコーディングする技法
TW502535B (en) Methods and apparatus for motion estimation in compressed domain
Yang et al. High performance VLSI architecture of fractional motion estimation in H. 264 for HDTV
CN1652605B (zh) 视频编解码器、数据处理系统以及用于上述系统的方法
WO2023000695A1 (zh) 视频编码参考块的压缩方法、编码方法和装置
CN101783958B (zh) Avs视频标准中时域直接模式运动矢量的计算方法和装置
Chatterjee et al. Power efficient motion estimation algorithm and architecture based on pixel truncation
WO2007028323A1 (en) Device and method for loading motion compensation data
CN100456832C (zh) 用于手持装置的视频编码方法及编码器
CN101443808B (zh) 用于图像和视频处理的存储器组织方案和控制器结构
CN101778280B (zh) 一种基于avs运动补偿亮度插值运算的电路及方法
Miyama et al. A sub-mW MPEG-4 motion estimation processor core for mobile video application
US7777751B2 (en) Tiled memory array for full search motion estimation
TW202038628A (zh) 透過階層式搜尋執行移動估算的電子電路以及電子裝置
CN104363455A (zh) 一种适用于hevc标准中帧内预测的参考像素的硬件片上存储方法
Lai et al. An efficient array architecture with data-rings for 3-step hierarchical search block matching algorithm
KR102105644B1 (ko) Mlc stt-mram에 영상을 저장하는 메모리 제어 장치 및 방법
KR20040022697A (ko) 영상 데이터 압축을 위한 움직임 추정 장치
US20100232511A1 (en) Motion compensator, motion compensating method, and motion-compensated video decoder implementing the same

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20210409

CF01 Termination of patent right due to non-payment of annual fee