删除或更新信息,请邮件至freekaoyan#163.com(#换成@)

一种用于图像翘曲变换的高速缓冲存储器设计*

本站小编 Free考研考试/2021-12-25

图像翘曲变换是一种常见的图像处理方法,其将几何变换关系应用于图像中的每个像素,使原始平面图像经扭曲形变后变换为目的曲面图像。图像翘曲变换应用广泛,如镜头失真校正[1-2]、立体视觉图像校正[3-4]、生成全景图像的翘曲拼接[5]等。本文主要研究用于车载平视显示(Head-Up Display, HUD)系统的图像翘曲变换,它是将仪表、路况等平面信息显示在汽车的前挡风玻璃曲面上,减少驾驶员因低头查看信息而造成的安全隐患问题。
在已有的实现图像翘曲变换的方案中,使用图形处理器(Graphic Processing Unit,GPU)内置的数千个内核并行处理数据[6-7]时速度快、实时性好,但数据传输过程复杂,开销大。行缓冲器及其改进方案[8-10]不需使用外存储器时,对于高分辨率的图像,片上压力过大;使用外存储器加行缓冲器时,存储资源较为紧张。考虑到实现复杂程度及高分辨率图像可拓展性,本文将原始图像像素存储在双倍速率同步动态随机存储器(Double Data Rate Synchronous Dynamic Random Access Memory,DDR SDRAM)中。
在图像翘曲变换过程中,通过逐点计算已知目的像素坐标获得原始像素坐标,读取原始像素,但读取顺序是非线性的,即读取不是从左到右逐点、从上到下逐行按顺序进行。由于DDR最高效的访问方式是对连续地址的突发式(burst)读写,非线性读取原始像素会极大增加访问次数、降低访问效率。通常使用高速缓冲存储器(Cache)解决以上问题,通用图像Cache[11]功能结构复杂,实现难度大。专门用于图像翘曲变换的Cache[12]效果较好,但更适用于预先确定像素访问顺序而不是逐点计算目的像素坐标,且Cache存储资源使用量较大。
为实现HUD系统中的图像翘曲变换,并解决非线性读取原始像素造成的存储器访问效率下降问题,本文设计实现了一种高效率Cache,研究创新性体现在以下3个方面。①考虑到在小规模应用场景下的灵活配置优势,将原始图像像素存储在分布式随机存储器(Random Access Memory,RAM)中[13]。在Cache存储结构确定的情况下,存储不同图像位深度的像素数据会造成存储资源的浪费,本文提出存储空间分离管理技术来节省存储资源。②Cache地址命中判断过程中进行多位地址比较时,逻辑资源使用量大,本文提出地址分级比较技术来节省逻辑资源。③Cache容量不足会影响命中率,容量过大会增加面积和功耗[14-15],本文提出一种Cache容量动态调整的方法,在保证命中率的前提下减小Cache容量,降低动态功耗及静态功耗。
1 图像翘曲变换模型分析 图像翘曲变换过程包括坐标映射和插值运算2个步骤。贝塞尔曲面具有良好的自由特性,仅通过改变控制点的位置及权重就可以改变曲面的形状。HUD系统采用贝塞尔曲面模拟汽车的前挡风玻璃。原始图像与目的图像像素坐标映射关系为
(1)

式中:P(x, y)为原始图像像素点;Q(u, v)为目的图像像素点;H为两者之间映射关系。在实际应用中,由已知的目的像素坐标求得原始像素坐标:
(2)

(x, y)整数部分为像素坐标,小数部分为像素权重。用于双线性插值的4个像素点坐标为 表示对数据向下取整。图像翘曲变换中像素坐标映射关系如图 1所示。
图 1 图像翘曲变换像素坐标映射关系 Fig. 1 Coordinate mapping of pixels in image warping
图选项




输入一个目的像素坐标,得到4个原始像素坐标,插值运算模块依次读取位于原始图像两行内的4个像素点。DDR的实际访问效率与突发式读、写数据的个数N有关,每次从DDR中读取一个像素数据时,实际访问效率变为突发式读取访问效率与突发式读取数据个数N的比值。此外,不同的目的像素可能对应相同的原始像素,对于同一原始像素的反复读取会增加DDR访问次数。
2 存储空间分离管理技术 图像位深度代表色彩等级,即一个像素包含的位数信息M(单位:bit),常见的图像位深度有16、20、24、32 bit等。Cache内的Cache块数为L,给每个Cache块编号0~(L-1)。Cache块深度为一次突发式读取的像素个数N,宽度为图像位深度M,则每个Cache块存储NM bit的原始像素数据。
分布式RAM基于查找表(Look Up Table,LUT)进行配置,在逻辑密集型应用及小规模应用场景中具有灵活配置优势。而RAM块更适合于大规模应用场景且存储配置较为固定,难以满足Cache块深度配置要求。因此本文采用分布式RAM存储原始像素数据,每个Cache块由M个深度为N的分布式RAM块构成,结构如图 2所示。
图 2 Cache块存储结构 Fig. 2 Storage structure of Cache block
图选项




图 2所示的存储结构下,存储图像位深度小于M的图像时,每个Cache块内会有一部分存储单元被浪费。针对常见的图像位深度,本文提出存储空间分离管理技术:
1) Cache块宽度设置为可存储图像的最大位深度M
2) Cache块深度设置为一次突发式读取的像素个数N
3) 当图像位深度小于M/2时,一个Cache块内存储两次突发式读取的像素。
4) 当图像位深度处于M/2~3M/4之间时,将每个Cache块内的存储单元按照图像位深度分为两组:被使用存储单元3M/4和空闲存储单元M/4。图 2所示地址线直接连接每个分布式RAM块内部的N个存储单元,地址不需要重新分配,每个Cache块连接一个地址比较器对其余像素地址进行比较。Cache块内每个分布式RAM块上带有一个使能信号,被使用存储单元连接原有的地址比较器,空闲存储单元内分布式RAM块上的使能信号置位后,每3个Cache块的空闲存储单元额外连接一个地址比较器,等同于增加一个Cache块。实际上增加的是比较器以及Cache块编号,数据存取方式不变。对于整个Cache,多连接了个比较器,等同于增加个Cache块。如图 3所示。
图 3 存储空间分离管理技术示意图 Fig. 3 Schematic diagram of storage separation management technology
图选项




5) 当图像位深度处于3M/4~M之间时,像素数据正常存储。
3 地址分级比较技术 访问Cache内存储的数据需进行地址命中判断,通常数据的低若干位地址会直接连到Cache内部,用于确定被访问数据处于Cache中的具体位置,其余地址用于命中比较。访问像素时比较的像素地址位数越多,逻辑资源使用量越大。为节省逻辑资源,对像素地址细化分级。
3.1 地址分级 图像分辨率为A(列数)×B(行数),则像素地址位数为表示对数据向上取整,共将像素地址分为3级。
1) 高位地址
像素地址的高位为高位地址,用于确定被访问像素位于原始图像中的哪一行,高位地址存储在行表中,每行带一个地址比较器对其进行比较。
2) 中位地址
除去高位地址和低位地址,剩余的位为中位地址,用于确定被访问数据位于哪一Cache块,每个Cache块带一个地址比较器对其进行比较。
3) 低位地址
像素地址的低位为低位地址,直接与Cache块内的分布式RAM块连接,用于确定被访问像素处于Cache块内的具体位置。
3.2 地址命中比较过程 1) 比较行表中的高位地址与图像翘曲变换模块生成的高位地址,生成是否命中的信息。
2) 将命中行信息转换为命中行编码,简化行表到Cache块之间的命中信息传递关系。
3) 比较命中行编码与Cache块原本所属行编码,相等则选通相应Cache块上的中位地址比较器。
4) 比较Cache块对应的中位地址与图像翘曲变换模块生成的中位地址,命中后选通相应的Cache块,根据图像翘曲变换模块生成的低位地址读取像素数据。
5) 任一级未命中都会生成未命中(miss)信息,DDR更新Cache内数据,并将更新信息传回行表,及时更新行表内高位地址。
地址命中判断过程如图 4所示。
图 4 Cache地址分级比较过程 Fig. 4 Multi-level comparison process of Cache addresses
图选项




3.3 替换算法 为保证Cache命中率,需采用替换算法[16-17]更新Cache内数据。最近最少使用(Least Recently Used,LRU)替换算法根据数据的历史访问记录进行数据替换,Cache中每个Cache块带有一个计数器记录最近被访问的情况,实现方案如下。
对Cache块进行命中排队,每次命中的Cache块直接放到队头,命中Cache块之前的Cache块全部后移一个位置,Cache块都未命中时替换队尾的Cache块。实际设计中不能移动Cache块,所以对Cache块的计数值进行加减操作来等同于排队。Cache块的编号为0~(L-1),初始计数值与编号相同。对于当前Cache块,计数值变化情况如下:
1) 若当前Cache块之前有Cache块命中,则其计数值保持不变,如图 5(a)所示。
图 5 LRU替换算法示意图 Fig. 5 Schematic diagram of LRU replacement algorithm
图选项




2) 若当前Cache块命中,则其计数值取最大值为L-1,如图 5(b)所示。
3) 若当前Cache块之后有Cache块命中,则其计数值减1,如图 5(c)所示。
每次访问之后,同步调整每个Cache块的计数值,有未命中情况时将队尾计数值为0的Cache块替换掉。通过比较当前Cache块与命中Cache块的计数值确定两者的前后位置关系。
4 动态调整技术 4.1 Cache容量 Cache容量不足会导致部分像素点的误替换现象,Cache容量过大会增加面积和功耗。像素访问过程中,对命中Cache块未改变之前的计数值进行统计,记录最小命中计数值Lmin。每个Cache块带一个控制自身是否关断的使能信号,将所有计数值小于Lmin的Cache块上的使能信号置位,对时钟信号进行关断。具体做法为:将相应Cache块上的使能信号与Xilinx Virtex 7环境内部BUFGCE上的使能端CE进行连接,控制相应Cache块进行关断,进而动态调整使用Cache的容量。
4.2 行表行数 一定时间内像素访问具有集中性,不会出现相邻访问的像素跨多行的现象。在确定的图像尺寸A(列数)×B(行数)下,存储高位地址的行表行数与Cache块数L及Cache块深度N相对应,最多行。命中情况下对行表内高位地址差值进行统计,确定合理行数,以保证命中率并减少资源使用。
5 结果与分析 本文设计的应用于图像翘曲变换的Cache及其改进方案为在专用集成电路(Application Specific Integrated Circuit,ASIC)环境中实现车载HUD系统的预研工作,当前研究内容均基于现场可编程逻辑门阵列(Field Programmable Gata Array,FPGA)开发环境实现,并对像素访问过程进行软件模拟。测试图像的分辨率为1 920×1 080,Cache可存储最大图像位深度为32 bit。未经改进的Cache包含64个Cache块,每块最多存储64个32 bit的像素数据,Cache容量为128 Kbit。此情况下系统使用5 182个可配置逻辑查找表(Configurable Logic Block LUTs, CLB LUTs),3 743个可配置逻辑寄存器(CLB Registers)和2 048个存储资源(LUTRAM),Cache的命中率为98.786%。
5.1 Cache的使用对实验结果的影响 不使用Cache时从DDR中读取像素数据。使用Cache后,命中时从Cache中读取,未命中时从DDR中读取。Cache的命中率即为DDR访问次数减少的比例,则使用Cache时DDR访问次数减少了98%以上,数据访问效率得到保证。
5.2 Cache容量动态调整技术对实验结果的影响 本实验测试加入Cache容量动态调整技术确定可对部分Cache块进行关断后,Cache块数为64、32、16,Cache块宽度为32 bit,深度为64时,命中率及功耗对比情况,如表 1所示。Cache块数由64块减少至16块后,Cache容量减少75%,命中率不会明显降低,且动态功耗减少67.578%,静态功耗减少14.060%。
表 1 Cache容量动态调整技术对实验结果的影响 Table 1 Effect of Cache capacity dynamic adjustment technology on experimental results
Cache块数 命中率/% 动态功耗/W 静态功耗/W
64 98.786 20.076 3.293
32 98.736 11.610 2.988
16 98.716 6.509 2.830
变化量/% -0.071 -67.578 -14.060


表选项






5.3 存储空间分离管理技术对实验结果的影响 本实验测试Cache块数分别为64、32、16,Cache块宽度为32 bit,深度为64,存储图像位深度为16~24 bit的像素数据时,使用存储空间分离管理技术前后资源变化情况,如表 2所示。当Cache块数为32和16时,逻辑资源(CLB LUTs和CLB Registers)增减基本持平,Cache块数为64时,逻辑资源增加较为严重。在不同Cache块数下,存储资源(LUTRAM)可节省25%,此技术在节省存储资源方面更有优势。
表 2 存储空间分离管理技术对资源使用情况的影响 Table 2 Effect of storage separation management technology on resource usage
资源 Cache块数 改进前 改进后 变化量/%
CLB LUTs 64 5182 6594 27.248
32 2628 2951 12.291
16 1209 1387 14.723
LUTRAM 64 2048 1536 -25.000
32 1024 768 -25.000
16 512 384 -25.000
CLB Registers 64 3743 3242 -13.385
32 1855 1604 -13.531
16 927 807 -12.945


表选项






5.4 地址分级比较技术对实验结果的影响 本实验测试Cache块数分别为64、32、16,Cache块宽度为32 bit,深度为64时,使用地址分级比较技术前后资源变化情况,如表 3所示。在不同的Cache块数情况下,可有效节省近10%的逻辑资源(CLB LUTs和CLB Registers)。
表 3 地址分级比较技术对资源使用情况的影响 Table 3 Effect of address multi-level comparison technology on resource usage
资源 Cache块数 改进前 改进后 变化量/%
CLB LUTs 64 5182 5252 1.351
32 2628 2559 -2.626
16 1209 1217 0.662
CLB Registers 64 3743 3374 -9.858
32 1855 1710 -7.817
16 927 842 -9.169


表选项






6 结论 在HUD系统中图像翘曲变换部分加入Cache可以有效解决像素数据访问连续性问题,极大地降低DDR访问次数,节省图像访问时间。
1) 通过Cache容量动态调整的手段,在保证Cache命中率的前提下,确定合理且尽可能小的Cache容量,降低功耗。
2) 针对常见的图像位深度,存储空间分离管理技术可有效节省25%存储资源,Cache块数较少的情况下效果更好。
3) 地址分级比较技术可有效节省近10%逻辑资源。
本文提出的应用于图像翘曲变换的Cache及其改进方案同样适用于图像旋转、缩放等图像处理应用。

参考文献
[1] LEE M, KIM H, PAIK J. Correction of barrel distortion in fisheye lens images using image-based estimation of distortion parameters[J]. IEEE Access, 2019, 7: 45723-45733. DOI:10.1109/ACCESS.2019.2908451
[2] YUAN X, HU C, CHEN J, et al.Correction of capsule endoscope image distortion based on two-dimensional look-up table[C]//Proceeding of the 11th World Congress on Intelligent Control and Automation.Piscataway, NJ: IEEE Press, 2014: 553-557.
[3] SHETE P P, MADHUKAR S D, BOSE S K.A real-time stereo rectification of high definition image stream using GPU[C]//2014 International Conference on Advances in Computing, Communications and Informatics (ICACCI).Piscataway, NJ: IEEE Press, 2014: 158-162.
[4] MENG G, XIANG S, PAN C, et al. Active rectification of curved document images using structured beams[J]. International Journal of Computer Vision, 2017, 122(1): 34-60.
[5] TAN Z, ZHANG S, WANG R. Stable stitching method for stereoscopic panoramic video[J]. CAAI Transactions on Intelligence Technology, 2018, 3(1): 1-7.
[6] LIN C, TSAI Y M, WANG W, et al.GPU-accelerated high-resolution image stitching with better initial guess[C]//2018 IEEE International Conference on Consumer Electronics(ICCE).Piscataway, NJ: IEEE Press, 2018: 1-3.
[7] MELO R, FALCAO G, BARRETO J P. Real-time HD image distortion correction in heterogeneous parallel computing systems using efficient memory access patterns[J]. Journal of Real-Time Image Processing, 2016, 11(1): 83-91. DOI:10.1007/s11554-012-0304-3
[8] RYOO J R, LEE E S, PARK H K.Real-time implementation of an LUT-based image warping system[C]//IEEE Intelligence and Safty for Robotics 2013.Piscataway, NJ: IEEE Press, 2013: 1-4.
[9] RYOO J R, LEE E S, DOH T Y. An implementation of real-time image warping using FPGA[J]. Journal of Embedded Systems & Applications, 2014, 9(6): 335-344.
[10] LU Y, LUO X, WANG Y, et al.Line buffer reduction for LUT-based real-time image inverse warping[C]//2016 14th IEEE International New Circuits and Systems Conference(NEWCAS).Piscataway, NJ: IEEE Press, 2016: 1-4.
[11] GREISEN P, HEINZLE S, GROSS M, et al. An FPGA-based processing pipeline for high-definition stereo video[J]. EURASIP Journal on Image & Video Processing, 2011, 2011: 18.
[12] JOON C Y, RAE R J. Image Cache for FPGA-based real-time image warping[J]. Journal of the Institute of Electronics and Information Engineers, 2016, 53(6): 91-100. DOI:10.5573/ieie.2016.53.6.091
[13] HAN X, CHEN S L, WU L, et al.Design and verification of distributed RAM using look-up tables in an SOI-based FPGA[C]//2010 10th IEEE International Conference on Solid-State and Integrated Circuit Technology.Piscataway, NJ: IEEE Press, 2010: 306-308.
[14] PENG M, LIU X.Adaptive rapid reconfigurable algorithm for low power Cache[C]//International Conference on Computational & Information Sciences.Piscataway, NJ: IEEE Press, 2013: 203-206.
[15] UPADHYAY B R, SUDARSHAN T S B.Low power predictive placement Cache scheme for embedded system[C]//2014 International Conference on Embedded Systems(ICES).Piscataway, NJ: IEEE Press, 2014: 250-254.
[16] KUMAR S, SINGH P K.An overview of modern Cache memory and performance analysis of replacement policies[C]//2016 IEEE International Conference on Engineering and Technology(ICETECH).Piscataway, NJ: IEEE Press, 2016: 210-214.
[17] 杜建海, 吕江花, 高世伟, 等. 面向航天器综合测试系统的Web缓存替换策略[J]. 北京航空航天大学学报, 2018, 44(8): 1609-1619.
DU J H, LYU J H, GAO S W, et al. A Web Cache replacement strategy for spacecraft comprehensive testing system[J]. Journal of Beijing University of Aeronautics and Astronautics, 2018, 44(8): 1609-1619. (in Chinese)


相关话题/图像 数据 资源 技术 逻辑

  • 领限时大额优惠券,享本站正版考研考试资料!
    大额优惠券
    优惠券领取后72小时内有效,10万种最新考研考试考证类电子打印资料任你选。涵盖全国500余所院校考研专业课、200多种职业资格考试、1100多种经典教材,产品类型包含电子书、题库、全套资料以及视频,无论您是考研复习、考证刷题,还是考前冲刺等,不同类型的产品可满足您学习上的不同需求。 ...
    本站小编 Free壹佰分学习网 2022-09-19
  • 同步式GPS欺骗干扰信号生成技术研究与设计*
    目前,无人机技术日趋成熟,应用迅速增多,飞行频次和飞行范围急剧增加,在提供方便的同时对于飞行安全提出了巨大的挑战[1]。民用无人机价格低廉、购买途径众多、操作门槛低、对起飞环境要求低,当前出现了大量黑飞无人机,一些未经审核的黑飞事件造成了严重的恶性影响,因此有必要对无人机实施监测,必要时进行强制管控 ...
    本站小编 Free考研考试 2021-12-25
  • 基于QAR数据的碳当量值适航符合性验证方法*
    当下各国政府和民众对航空运输碳排放造成的气候变化问题重视程度日益提升,飞机碳排放水平除了和气候变化紧密相关之外,也作为表征飞机燃油经济性的一项性能指标,受到了飞机制造商和运营人的关注。国际民用航空组织(ICAO)历经多次讨论与方案修订[1],于2017年3月审议通过了关于飞机碳排放的新国际标准——附 ...
    本站小编 Free考研考试 2021-12-25
  • 矩阵带宽缩减技术在隐式间断有限元中的应用*
    作为一种数值求解偏微分方程的方法,间断有限元具有可以在非结构网格上达到高阶精度、适应于解不连续问题、可并行性强、与网格自适应技术兼容性好等优点,是近年来求解包括流动问题在内的各种双曲型问题的流行方法之一[1]。传统的间断有限元方法是一种空间离散方法,为了求解控制方程经空间离散后得到的常微分方程组,需 ...
    本站小编 Free考研考试 2021-12-25
  • 基于三维点云模型的空间目标光学图像生成技术*
    随着空间探测技术的快速发展,世界各主要航天强国均开展了大量的空间探测活动,美国政府更是发布了重返月球并最终前往火星的太空政策指令。对于空间探测活动中执行交会对接、空间碎片清理、空间目标跟踪、行星软着陆等任务的空间飞行器而言,其通常需要利用自身携带的光学摄像机获取目标的光学图像,并利用计算机视觉、人工 ...
    本站小编 Free考研考试 2021-12-25
  • 基于DCNN和全连接CRF的舌图像分割算法*
    舌诊在中医中占有重要地位,是了解人体状态的重要手段之一。在舌诊中,医生通过观察舌质和舌苔的颜色、形状等特征,为诊断患者的健康状况提供重要依据。在传统的舌诊望诊过程中,医生通常通过自己的眼睛来观察舌头,从而进行判断。然而视觉感知和临床经验的变化往往会导致诊断结果的差异,即诊断结果是主观的。此外,环境因 ...
    本站小编 Free考研考试 2021-12-25
  • 基于自适应注入模型的遥感图像融合方法*
    遥感的目的是通过获取卫星的光谱测量,提取有关地球表面结构和内容的信息[1]。由于传感器技术的限制,同时在空间域和光谱域上获取高分辨率难以实现,因此通常利用图像处理技术融合现有的2类遥感图像,即高空间分辨率、低光谱分辨率的全色(Panchromatic,PAN)图像和低空间分辨率、高光谱分辨率的多光谱 ...
    本站小编 Free考研考试 2021-12-25
  • 基于生成对抗网络的零样本图像分类*
    随着人工智能的不断发展,深度学习已经广泛应用在图像分类领域,对于图像分类的研究也趋于成熟,并且有许多相关的研究成果也被成功应用在日常生活的各个方面。对图像进行分类需要图像拥有类标签,然而在进行人工标注时会出现有些图像样本没有标签的极端情况,对于这些没有标签的类别,传统的分类方法无法对其进行分类。这一 ...
    本站小编 Free考研考试 2021-12-25
  • 基于多源图像弱监督学习的3D人体姿态估计*
    基于图像的人体姿态估计是指获得给定图像中人体各部位相对位置信息的过程,可广泛用于视频监控、行为识别及人机交互等多方面领域[1-3]。目前,使用单一的彩色图像或深度图像进行人体姿态估计均已取得了一定的成果[4-8]。相对来说,由于彩色图像更易获得,所以针对单一彩色图像的人体姿态估计的研究更为广泛[9- ...
    本站小编 Free考研考试 2021-12-25
  • 基于图像纹理的自适应水印算法*
    数字媒体内容的使用和传播在给人们带来方便的同时,也引发了严重的网络版权问题。图像水印技术为数字图像版权的查证提供了技术支撑。它将一个代表版权的数字标记不可察觉地嵌入到图像中(该标记被称为水印),当发生版权纠纷时,可以通过提取水印来确定图像的所有权。一个好的水印算法必须使嵌入的水印兼备良好的不可见性和 ...
    本站小编 Free考研考试 2021-12-25
  • 基于美学评判的文本生成图像优化*
    基于给定文本生成对应图像是计算机视觉领域一项经典且富有挑战性的任务,顾名思义,即给出一句描述确定内容的文本(可描述某件物体或某个场景环境),通过一定架构的模型生成与文本内容相对应的图像,使其尽可能做到逼近现实,能够迷惑人眼的识别或一些模型的判断。该任务需要在理解文本含义的基础上,根据文本的内容构建出 ...
    本站小编 Free考研考试 2021-12-25