留言板

尊敬的读者、作者、审稿人, 关于本刊的投稿、审稿、编辑和出版的任何问题, 您可以本页添加留言。我们将尽快给您答复。谢谢您的支持!

姓名
邮箱
手机号码
标题
留言内容
验证码

大视场视频图像采集及SDI显示设计

张永康 陈萍 孟祥笙 田雁

张永康, 陈萍, 孟祥笙, 田雁. 大视场视频图像采集及SDI显示设计[J]. 红外与激光工程, 2021, 50(S2): 20200211. doi: 10.3788/IRLA20200211
引用本文: 张永康, 陈萍, 孟祥笙, 田雁. 大视场视频图像采集及SDI显示设计[J]. 红外与激光工程, 2021, 50(S2): 20200211. doi: 10.3788/IRLA20200211
Zhang Yongkang, Chen Ping, Meng Xiangsheng, Tian Yan. Design of video image acquisition and SDI display in large field of view[J]. Infrared and Laser Engineering, 2021, 50(S2): 20200211. doi: 10.3788/IRLA20200211
Citation: Zhang Yongkang, Chen Ping, Meng Xiangsheng, Tian Yan. Design of video image acquisition and SDI display in large field of view[J]. Infrared and Laser Engineering, 2021, 50(S2): 20200211. doi: 10.3788/IRLA20200211

大视场视频图像采集及SDI显示设计

doi: 10.3788/IRLA20200211
详细信息
    作者简介:

    张永康,男,工程师,硕士,主要从事嵌入式视频图像处理方面的研究工作。

  • 中图分类号: TN941.1

Design of video image acquisition and SDI display in large field of view

  • 摘要: 针对Camera Link接口的大视场高速相机的图像实时存储显示及实时跟踪显示的实际需求,设计了一种基于FPGA的大视场视频图像采集及SDI显示系统。采用了Altera公司的FPGA EP2S90F1020为核心处理器件,外接两片SDRAM MT48LC4M32的硬件系统。提出了基于FPGA的图像实时缩放、Bayer格式彩色图像实时转换为SDI显示的方法,实现了将Camera Link接口的大视场彩色视频图像在SDI视频图像上的实时显示。实验结果表明,该设计方法能将Camera Link接口$2\;048 \times 2\;048$、100 Hz的视频图像实时转换为$1\;920 \times1\;080$、25 Hz,$1\;280 \times 720$、25 Hz或$720 \times 576$、50 Hz三种SDI制式显示。在FPGA环境下,采用该设计方法,整幅图像处理时间为$8.7$ ms,满足系统的实时性要求,为大视场视频图像在嵌入式系统的实时显示提供了一种有效的实现方法。
  • 图  1  系统组成

    Figure  1.  Block diagram of the system

    图  2  读取RAM的示意图

    Figure  2.  Sketch map of reading RAM

    图  3  Bayer格式数据

    Figure  3.  Bayer filter pattern

    图  4  实验系统

    Figure  4.  Experimental system

    图  5  HD-SDI视频图像

    Figure  5.  HD-SDI video

    表  1  相机主要参数

    Table  1.   Summary of camera characteristics

    CharacteristicsValue
    Sensor resolution2 048×2 048
    Optical size/cm2.54
    Pixel size/μm25.5×5.5
    Max frame rate/fps180
    Mono/colorColor
    Camera link clock speed/MHz65
    下载: 导出CSV

    表  2  各种算法所消耗的时间(单位:ms)

    Table  2.   Consuming time for some kind of algorithms(Unit:ms)

    AlgorithmConsuming time
    Nearest neighbor interpolation in MATLAB296.4
    Bilinear interpolation in MATLAB355.7
    Cubic interpolation in MATALAB 30 736.7
    Bilinear interpolation in FPGA 8.7
    下载: 导出CSV
  • [1] Shu Shuangbao, Liu Chao, Chen Meiwen, et al. A large field of view visible cameras image acquisition and processing technology in EAST device[J]. Fusion Engineering and Design, 2019, 147: 111253.
    [2] 王国忠. 基于CMOS传感器的高速图像采集装置的研究和设计[D]. 太原: 中北大学, 2019.

    Wang Guozhong. Research and design of high speed image acquisition device based on CMOS sensor[D]. Taiyuan: North University of China, 2019. (in Chinese)
    [3] 田家才. 基于FPGA的CMOS视频图像处理算法研究与设计[D]. 桂林: 广西师范大学, 2018.

    Tian Jiacai. The research and design of CMOS video image processing algorithm based on FPGA[D]. Guilin: Guangxi Normal University, 2018. (in Chinese)
    [4] Li Guangchun, Su Peidong, Du Shitong, et al. Design of video acquisition and real-time display system based on FPGA [J]. Computer Measurement and Control, 2015, 23(11): 3810-3816. (in Chinese)
    [5] 吴以凯. 基于FPGA的视频缩放的设计与实现[D]. 镇江: 江苏大学, 2017.

    Wu Yikai. Design and implementation of video scaling based on FPGA[D]. Zhenjiang: Jiangsu University, 2017. (in Chinese)
    [6] 巴斯勒工业相机官网. User’s manual for camera link cameras[EB/OL]. (2015-03-24) [2020-07-04] http://www.baslerweb.com/cn/products/cameras/area-scan-cameras/ace2.
    [7] Huang Biao, Tian Yan, Yao Dawei, et al. A real-time image magnification technology based on edge prediction [J]. Infrared and Laser Engineering, 2013, 42(S1): 268-273. (in Chinese)
    [8] Xu Yu. A weighted algorithm of image zoom-out based on image sub-block and corner points [J]. Computer and Modernization, 2011, 4: 34-36, 44. (in Chinese)
    [9] 何蕾, 檀结庆, 张平. 一种线性与非线性相结合的图像缩小算法[J], 2007, 24(5): 303-307.

    He Lei, Tan Jieqing, Zhang Ping. Method for image zooming-out based on linear and nonlinear combinations[J]. Application Research of Computers, 2007, 24(5): 303-307. (in Chinese)
    [10] Li Jinwen, An Bowen. Image data conversion from Bayer to YCbCr based on FPGA [J]. Video Engineering, 2013, 37(23): 54-56, 84. (in Chinese)
    [11] Gonzalez R C, Woods R E, Eddins S L. 数字图像处理(MATLAB版)[M]. 北京: 电子工业出版社, 2005: 152-153.

    Gonzalez R C, Woods R E, Eddins S L. Digital Image Processing Using MATLAB[M]. 2nd ed. Translated by Ruan Qiuqi. Beijing: Publishing House of Electronics Industry, 2005: 152-153. (in Chinese)
  • [1] 张雷雷, 曹振松, 钟磬, 黄印博, 袁子豪, 黄俊, 齐刚, 潘文雪, 卢兴吉.  FPGA主控型数字锁相放大器设计及光谱测量 . 红外与激光工程, 2023, 52(10): 20230023-1-20230023-12. doi: 10.3788/IRLA20230023
    [2] 郑国宪, 焦建超, 俞越, 苏云, 唐义, 粘伟, 刘剑峰.  大视场大相对孔径日盲紫外告警光学系统设计 . 红外与激光工程, 2021, 50(2): 20200260-1-20200260-6. doi: 10.3788/IRLA20200260
    [3] 李娜, 邓家先, 崔亚妮, 陈褒丹.  基于暗通道先验的红外图像清晰化及FPGA实现 . 红外与激光工程, 2021, 50(3): 20200252-1-20200252-10. doi: 10.3788/IRLA20200252
    [4] 陈炳旭, 廖志远, 操超, 白瑜, 牟达.  大视场大相对孔径自由曲面成像系统设计 . 红外与激光工程, 2020, 49(8): 20200005-1-20200005-9. doi: 10.3788/IRLA20200005
    [5] 郭弘扬, 杜升平, 黄永梅, 付承毓.  液晶空间光调制器过驱动方法的FPGA实现 . 红外与激光工程, 2019, 48(7): 722002-0722002(7). doi: 10.3788/IRLA201948.0722002
    [6] 袁影, 王晓蕊, 吴雄雄, 穆江浩, 张艳.  多孔径压缩编码超分辨率大视场成像方法 . 红外与激光工程, 2017, 46(8): 824001-0824001(7). doi: 10.3788/IRLA201746.0824001
    [7] 殷世民, 高丽伟, 梁永波, 朱健铭, 梁晋涛, 陈真诚.  基于FPGA的干涉式红外成像光谱仪实时光谱复原研究 . 红外与激光工程, 2017, 46(7): 720001-0720001(6). doi: 10.3788/IRLA201746.0720001
    [8] 刘巍, 李肖, 马鑫, 贾振元, 陈玲, 刘惟肖.  采用复合式靶标的近景大视场相机标定方法 . 红外与激光工程, 2016, 45(7): 717005-0717005(7). doi: 10.3788/IRLA201645.0717005
    [9] 孟祥翔, 刘伟奇, 张大亮, 姜国华, 朱秀庆, 杨建明.  双自由曲面大视场头盔显示光学系统设计 . 红外与激光工程, 2016, 45(4): 418004-0418004(6). doi: 10.3788/IRLA201645.0418004
    [10] 王臣臣, 邹刚毅, 庞志海, 李瑞昌, 樊学武.  大视场可见红外一体化光学系统设计 . 红外与激光工程, 2016, 45(10): 1018003-1018003(6). doi: 10.3788/IRLA201645.1018003
    [11] 程少园, 张丽, 高卫军, 王劲强.  大视场空间相机侧摆成像时几何参数分析 . 红外与激光工程, 2015, 44(6): 1872-1877.
    [12] 郝贤鹏, 张然峰, 陶宏江.  基于FPGA的高速图像传输系统设计 . 红外与激光工程, 2015, 44(11): 3483-3487.
    [13] 杨磊, 任龙, 刘庆, 王华, 周祚峰, 曹剑中.  基于FPGA 的大视场图像实时拼接技术的研究与实现 . 红外与激光工程, 2015, 44(6): 1929-1935.
    [14] 邓永停, 李洪文, 王建立, 阴玉梅, 吴庆林.  基于DSP和FPGA的望远镜伺服控制系统设计 . 红外与激光工程, 2014, 43(3): 908-914.
    [15] 霍炬, 杨宁, 杨明, 董文博.  基于小靶标拼接的大视场摄像机标定方法 . 红外与激光工程, 2013, 42(6): 1474-1479.
    [16] 庞志海, 樊学武, 邹刚毅, 赵惠.  新型大视场无遮拦三反光学系统设计 . 红外与激光工程, 2013, 42(9): 2449-2452.
    [17] 马洪涛, 张晓辉, 韩冰.  宽光谱、大视场小畸变望远系统设计 . 红外与激光工程, 2013, 42(7): 1754-1757.
    [18] 母杰, 郑文佳, 李梅, 饶长辉.  基于FPGA和DSP技术的自适应光学系统在线大气湍流参数测量平台 . 红外与激光工程, 2013, 42(3): 703-708.
    [19] 任广辉, 王刚毅, 金炎胜.  利用FPGA的高性能向导滤波器设计 . 红外与激光工程, 2013, 42(2): 537-542.
    [20] 明名, 杨飞, 赵金宇, 张丽敏, 吴小霞.  折反式大口径、大视场、宽光谱光学系统 . 红外与激光工程, 2012, 41(1): 149-154.
  • 加载中
图(5) / 表(2)
计量
  • 文章访问数:  285
  • HTML全文浏览量:  105
  • PDF下载量:  26
  • 被引次数: 0
出版历程
  • 收稿日期:  2020-05-28
  • 修回日期:  2020-07-04
  • 刊出日期:  2021-11-02

大视场视频图像采集及SDI显示设计

doi: 10.3788/IRLA20200211
    作者简介:

    张永康,男,工程师,硕士,主要从事嵌入式视频图像处理方面的研究工作。

  • 中图分类号: TN941.1

摘要: 针对Camera Link接口的大视场高速相机的图像实时存储显示及实时跟踪显示的实际需求,设计了一种基于FPGA的大视场视频图像采集及SDI显示系统。采用了Altera公司的FPGA EP2S90F1020为核心处理器件,外接两片SDRAM MT48LC4M32的硬件系统。提出了基于FPGA的图像实时缩放、Bayer格式彩色图像实时转换为SDI显示的方法,实现了将Camera Link接口的大视场彩色视频图像在SDI视频图像上的实时显示。实验结果表明,该设计方法能将Camera Link接口$2\;048 \times 2\;048$、100 Hz的视频图像实时转换为$1\;920 \times1\;080$、25 Hz,$1\;280 \times 720$、25 Hz或$720 \times 576$、50 Hz三种SDI制式显示。在FPGA环境下,采用该设计方法,整幅图像处理时间为$8.7$ ms,满足系统的实时性要求,为大视场视频图像在嵌入式系统的实时显示提供了一种有效的实现方法。

English Abstract

    • 随着数字图像技术的快速发展,数字图像技术已应用于工业监视、航空航天、国防军工、遥测遥感等各个领域。工业成像相机也取得了快速的发展,出现了许多应用在大视场测量方面的相机。大视场相机具有靶面尺寸大、图像分辨率高的特点,广泛地应用在医学检测、国防军工测量等领域[1]。通常,针对大视场视频图像的采集及显示有两种方式:一种是将相机的视频图像通过计算机采集卡采集,应用相应的开发软件在计算机显示器上显示,这种方法的缺点是整个系统体积大、结构复杂、成本高;另一种是将相机的视频图像通过基于FPGA (Field Programmable Gate Array)的嵌入式模块或通过“ARM+FPGA”构架的嵌入式模块进行采集显示,这种方法因成本低、体积小、结构简单等优点被越来越多地应用在工业视频图像显示领域[2-4]

      由于大视场视频图像的分辨率大,通常图像靶面分辨率达到2 048×2 048个像元,而HD-SDI (High Definition Serial Digital Interface)视频图像的大小一种为1920×1080 (1 080p、1 080i格式),另一种为1280×720 (720p格式),SD-SDI (Standard Definition Serial Digital Interface)视频图像的大小为720×576 (576i格式)。这几种视频图像的分辨率大小、视频显示制式、帧频都不一样,大视场视频图像无法直接转换为HD-SDI/SD-SDI视频图像显示。因此,有必要设计一种基于FPGA的嵌入式模块,实现将大视场视频图像直接转换为HD-SDI/SD-SDI视频图像显示。目前,参考国内将HD-SDI/SD-SDI视频在FPGA内的缩放显示以及基于FPGA实现图像的实时采集和显示的方法[5],文中提出了一种基于FPGA的硬件电路,针对Camera Link接口的大视场和高帧频的相机,将Camera Link接口的视频图像通过FPGA硬件平台实现视频图像的实时缩放、采集以及转换为HD-SDI/SD-SDI接口视频在通用视频监视器上显示。

    • 基于FPGA的硬件系统由Camera Link接口视频解码芯片DS90CR288A、视频外同步控制芯片DS90LV019、与相机通讯芯片DS90LV031、FPGA芯片EP2S90F1020、外部SDRAM (Synchronous Dynamic Random Acess Memory)芯片MT48LC4M32、视频编码芯片LMH0040以及Camera Link接口相机组成,如图1所示。

      图  1  系统组成

      Figure 1.  Block diagram of the system

      Camera Link接口视频编码器模块将来自相机的差分视频数据转换为并行的视频数据、帧信号、行信号以及时钟信号。

      FPGA为系统控制和图像处理单元。系统采用FPGA作为处理器,一方面用于控制相机的外同步信号和相机通讯指令,另一方面用于将相机2 048×2 048、100帧/s的视频图像抽帧,RGB转换YCbCr格式,图像缩放转换为标准的HD-SDI/SD-SDI视频格式输出。

      外同步控制模块和通讯模块:FPGA产生外同步信号通过外同步控制模块控制相机的帧信号的外触发。FPGA产生通讯指令对相机模式设置、帧频等系列信号进行设置和接收来自相机的相关反馈数据。

      外部SDRAM模块用于乒乓缓存图像数据,使得FPGA能将缓存图像数据按照HD-SDI/SD-SDI视频格式输出。

      视频编码模块用于将从FPGA转换出的标准HD-SDI视频流输入至视频编码模块,转换为视频监视器可以接收的标准视频信号。

      Camera Link接口相机采用德国巴斯勒公司的acA2040-180kc。该相机具有大视场1 in (1 in=2.54 cm)、高分辨率2 048×2 048、高帧频180帧/s的优点,适合于工业方面的视频图像监视[6]。其主要参数见表1

      表 1  相机主要参数

      Table 1.  Summary of camera characteristics

      CharacteristicsValue
      Sensor resolution2 048×2 048
      Optical size/cm2.54
      Pixel size/μm25.5×5.5
      Max frame rate/fps180
      Mono/colorColor
      Camera link clock speed/MHz65

      文中主要对相机大视场(靶面尺寸为1 in)、高分辨率(图像大小为2 048×2 048)、高帧频(相机频率为100帧/s)的视频图像输入至FPGA,FPGA对视频图像进行处理,包括视频图像的实时缩放、RGB转换为YCbCr,经过SDRAM乒乓缓存,按照标准的HD-SDI/SD-SDI视频格式输出。

    • 数字图像的缩放方面有许多插值算法,如最近邻插值算法、双线性插值算法、双立方插值算法等。最近邻插值算法和双线性插值算法运算量较小,可以在图像实时处理方面得到应用。最近邻插值算法会造成图像轮廓边沿处产生锯齿现象;双立方插值算法运算量大,不能满足实时方面的要求;双线性插值算法不会造成轮廓边缘锯齿现象,容易造成图像边缘模糊,但实时性较好[7-9],考虑到图像缩放的实时性及清晰显示的需求,选用双线性插值算法。

      该系统中,相机接口为Camera Link接口,输出64位图像,帧频为100 Hz。每帧图像大小为2 048×2 048,相机输出Bayer格式彩色图像,每个像素的数据位长度为8位。

      由于图像帧频为100 Hz,需要将视频图像按每4帧抽取1帧的方式乒乓存入两片SDRAM中。另外,在FPGA中需要将相机分辨率2 048×2 048的视频图像转换为1024×1024、或720×720、或576×576的视频图像,以便在后续HD-SDI/SD-SDI视频图像中可以实时显示。

      相机输出模式为8×8,视频解码模块解码出数据为64位,在进行图像的缩小之前,将64位并行数据转换为8位串行数据,便于图像进行实时插值缩小。在FPGA中,使用四个双口RAM进行数据的并串转换。在第一个双口RAM1中依次写入第1、5、9、···行数据,在第二个双口RAM2中依次写入第2、6、10、···行数据,在第三个双口RAM3中依次写入第3、7、11、···行数据,在第四个双口RAM4中依次写入第4、8、12、···行数据。读取数据时分为四种情况:(a)当第4行开始写入数据时,读取RAM1、RAM2、RAM3的第1、2、3行数据;(b)当第5行开始写入数据时,读取RAM2、RAM3、RAM4的第2、3、4行数据;(c)当第6行开始写入数据时,读取RAM3、RAM4、RAM1的第3、4、5行数据;(d)当第7行开始写入数据时,读取RAM4、RAM1、RAM2的第4、5、6行数据。当后面的行读取数据时,依次按照(a)、(b)、(c)、(d)方式循环读取数据,其原理框图如图2所示,图中i的值为1、4、7、···。

      图  2  读取RAM的示意图

      Figure 2.  Sketch map of reading RAM

      相机输出为Bayer格式像素数据,其输出排序包含四种模式:分别为GB、BG、RG、GR (G代表绿色,B代表蓝色,R代表红色)模式。该相机的Bayer格式数据为GB模式排序,其示意图如图3所示。

      图  3  Bayer格式数据

      Figure 3.  Bayer filter pattern

      将Bayer格式数据转换为RGB数据时,需要将2 048×2 048图像转换为1024×1024、或720×720、或576×576的图像,根据双线性插值的思想,取每个像素点为中心的3×3模板进行图像插值并转换RGB图像[10]。同时,又要考虑图像要进行分辨率缩小,因此先对原始图像进行缩放变换,变换公式如下:

      $$\begin{split} L = k \times 2\; 048/M \end{split}$$ (1)

      式中:M值为1024、720、576三种情况;k值为从1~M的整数值;L为图像缩放后所选取对应的行数、列数,并对该行数、列数取整数。对公式(1)中所选取的行进行图像插值,对未选中的行进行取舍。在所选行进行RGB变换时,所选行的每个像素的插值信息会用到相邻行的像素信息,因此,在图像缩小时不会产生图像边缘锯齿现象。

      Bayer图像转换为RGB图像如公式(2)所示。式中各元素的的二维变量值表示该元素在3×3图像矩阵中的行与列(如$G(i,k)$表示为图像第$i$行、第$k$列的绿色分量值,依次类推);$g(i,k)$为转换的绿色分量值;$b(i,k)$为转换的蓝色分量值;$r(i,k)$为转换的红色分量值。

      $$ \left\{ \begin{array}{l} g(i,k) = G(i,k) \\ b(i,k) = [B(i - 1,k) + B(i + 1,k)]/2 \\ r(i,k) = [R(i,k - 1) + R(i,k + 1)]/2 \end{array} \right. $$ (2)

      $2 \;048 \times 2 \;048$ 的视频图像先按公式(1)的方法进行“行列缩放”转换为所需的缩放图像,根据M值的不同缩放为$1\;024 \times 1\;024$、或$720 \times 720$、或$576 \times 576$的图像。缩放后,在$3 \times 3$的图像数据流中按照公式(2)实现Bayer图像转换为RGB图像。

    • 一幅RGB图像就是彩色像素的一个三维数组,其中每一个彩色像素点都是在特定空间位置的彩色图像相对应的红、绿、蓝三分量。如果是8位的真彩色图像,则对应的RGB图像的深度就是24位。文中在获取RGB图像后,将RGB图像实时转换为YCbCr图像。在YCbCr彩色空间中,分量Y表示亮度信息,分量Cb表示蓝色分量和一个参考值的差,分量Cr表示红色分量和一个参考值的差[11]。公式(3)为RGB转换为YCbCr的转换公式。式中:R、G、B的取值范围分别为[0,1];Y、Cb、Cr分量的取值范围分别为[16,235]。

      $$ \left[ {\begin{array}{*{20}{c}} \rm Y \\ \rm {Cb} \\ \rm {Cr} \end{array}} \right] = \left[ {\begin{array}{*{20}{c}} {16} \\ {128} \\ {128} \end{array}} \right] + \left[ {\begin{array}{*{20}{c}} {65.481}&{128.553}&{24.966} \\ { - 37.797}&{ - 74.203}&{112} \\ {112}&{ - 93.786}&{ - 18.214} \end{array}} \right]\left[ {\begin{array}{*{20}{c}} \rm R \\ \rm G \\ \rm B \end{array}} \right] $$ (3)

      文中的RGB图像中,R、G、B分量分别为[0,255],因此在FPGA中,考虑系统处理实时性的要求,需要将浮点型数据转换为整数部分,便于FPGA快速处理,公式(3)的两边同时乘以256,得到方便FPGA处理的公式(4):

      $$ \left[ {\begin{array}{*{20}{c}} \rm {Y'} \\ \rm{Cb'} \\ \rm {Cr'} \end{array}} \right] = \left[ {\begin{array}{*{20}{c}} {4\;096} \\ {32\;768} \\ {32\;768} \end{array}} \right] + \left[ {\begin{array}{*{20}{c}} {65}&{129}&{25} \\ { - 38}&{ - 74}&{112} \\ {112}&{ - 94}&{ - 18} \end{array}} \right]\left[ {\begin{array}{*{20}{c}} \rm {R'} \\ \rm {G'} \\ \rm {B'} \end{array}} \right] $$ (4)

      式中:$\rm Y'$$\rm Cb'$$\rm Cr'$为在RGB范围为[0,255]时分别转换出来的值。此时,$\rm R'$$\rm G'$$\rm B'$的取值范围分别为[0,255]。

      公式(4)中用了三次乘法和三次累加完成运算,在FPGA中需要耗时18个时钟周期,为了提高系统的实时性,将式中的乘法运算转换为加法运算,两个时钟周期完成公式转换。改进后的公式如下:

      $$ \left\{ \begin{array}{l} \rm Y' = 4\;096 + R' \times 64 + R' + G' \times 128 + G' + B' \times 16 +\\ \;\;\;\;\;\;\;\;\rm B' \times 8 + B' \\ \rm Cb' = 32\;768 - R' \times 32 - R' \times 4 - R' \times 4 - G' \times 64 - \\ \;\;\;\;\;\;\;\;\;\;\;\;\rm G' \times 8 - G' \times 2 + B' \times 64 + B' \times 32 + B' \times16 \\ \rm Cr' = 32\;768 +R' \times 64 + R' \times 32 + R' \times 16 - G' \times \\ \;\;\;\;\;\;\;\;\;\;\;\;\;\; \rm 64 - G' \times 16 - G' \times 8 - G' \times 4 - G' \times 2 -\\ \;\;\;\;\;\;\;\;\;\;\;\;\;\;\rm B' \times 16 - B' \times 2 \end{array} \right. $$ (5)

      式中:$\rm Y'$等式右边的$ \times 64$$ \times 128$$ \times 16$$ \times 8$是将对应的$\rm R'$$\rm G'$$\rm B'$值左移6位、7位、4位、3位,在FPGA中,将相应的$\rm R'$$\rm G'$$\rm B'$值左移6位、7位、4位、3位来实现。同理,$\rm Cb'$$\rm Cr'$等式右边的乘法运算在FPGA中按照此种方式运算。最后,将$\rm Y'$$\rm Cb'$$\rm Cr'$分别除以256,在FPGA中,通过右移8位得到YCbCr彩色图像的YCbCr值。由于每一个像元都可以转换为YCbCr值,视频流格式为Cb1Y1Cr1Y2,每次转换为YCbCr值中,舍弃偶数列转换的Cb、Cr值。

    • 文中显示的一种HD-SDI视频格式为1 080p格式(1 920×1080,25 Hz),而转换的视频图像大小为1024×1024,即HD-SDI视频的每行要达到1 920 pixel,每帧图像有1080行。按照SMPTE 274M的标准,在每行1 920 pixel的中间部分填充大小为1024的图像数据,在每行的两边部分填充数据为16的黑边数据图像,在每帧图像1080行的中间部分填充为1024行的视频图像,每帧图像的上下两部分各28行填充数据为16的黑边数据图像。将此种转换方式的数据图像按YCbCr4:2:2输出至视频编码器芯片,转换成标准HD-SDI视频格式输出至后端视频监视器。

      另一种HD-SDI视频格式为720p ($1\;280 \times 720$,25 Hz),转换的视频图像大小为$720 \times 720$,即HD-SDI视频的每行1280 pixel,每帧720行。按照SMPTE296M的标准,在每行1280 pixel的中间部分填充大小为720的图像数据,在每行的两边部分填充为16的黑边数据图像,在每帧720行填充为720行的视频图像,无空余行填充黑边数据。将此种转换方式的数据图像按YCbCr4:2:2输出至编码器芯片,转换为标准HD-SDI视频格式输出至后端监视器。

      SD-SDI视频格式为576i ($720 \times 576$,50 Hz),转换的视频图像大小为$576 \times 576$,即SD-SDI视频的每行720 pixel,每帧576行。在每行720 pixel的中间部分填充大小为576的图像数据,在每行的两边部分填充为16的黑边数据,每帧576行填充576行的图像数据,无空余行填充黑边数据。将此图像数据按照PAL制式($720 \times 288$)图像数据,分奇场数据、偶场数据输出,将数据进行10位转换20位,并加扰码变换输出至编码器芯片,转换为标准SD-SDI视频格式输出。

    • 为了验证系统设计的正确性,搭建了系统的硬件设计平台,包括大视场相机、所设计的嵌入式模块、Camera Link接口电缆。在实验室对户外场景进行了成像显示实验。实验系统如图4所示。

      图  4  实验系统

      Figure 4.  Experimental system

      依据文中所设计的硬件系统及基于FPGA开发的软件系统,对大视场相机的视频图像进行了实时的抽帧、缩放变换,进行了HD-SDI/SD-SDI视频图像的实时显示。视频中间部分大视场相机缩放后的视频图像,对图像上下左右边界测试,大视场范围内图像没有缺失,连续移动相机未出现图像的卡滞现象。结果表明系统设计可行。该视频图像如图5所示。

      图  5  HD-SDI视频图像

      Figure 5.  HD-SDI video

    • 对在MATLAB环境下的最近邻插值法、双线性插值法、三次插值法与在FPGA环境下的双线性插值法的耗时进行了仿真实验。各算法处理一帧图像大小为2 048×2 048,缩放因子为0.5倍,此时在MATALAB和FPGA环境下仿真,所消耗的时间如下。表2为各种处理算法所消耗的时间。从表中得出,在MATLAB环境下,最近邻插值法耗时最短,双线性插值法次之,三次插值法耗时最长。在FPGA环境下,双线性插值法耗时为8.7 ms,比在MATLAB环境下的双线性插值法耗时更短,满足图像实时显示一帧图像40 ms的要求。说明在图像按模式8×8传输时,算法直接利用了FPGA并行处理的优势,极大地节约了算法的处理时间,具有良好的实时性,满足数字图像实时显示的需求。

      表 2  各种算法所消耗的时间(单位:ms)

      Table 2.  Consuming time for some kind of algorithms(Unit:ms)

      AlgorithmConsuming time
      Nearest neighbor interpolation in MATLAB296.4
      Bilinear interpolation in MATLAB355.7
      Cubic interpolation in MATALAB 30 736.7
      Bilinear interpolation in FPGA 8.7
    • 文中设计了一种针对高帧频100 Hz、高速数据传输(模式为FULL$8 \times 8$)、具有Camera Link接口的大视场相机的嵌入式成像采集显示系统,设计了其硬件系统、基于FPGA设计了彩色视频图像的实时缩放、Bayer格式视频转换为多种SDI制式视频的显示方法,并在室内进行了系统的硬件平台搭建及户外场景的实验测试。实验结果表明该大视场视频采集显示系统具有良好的实时性,可在不同的FPGA平台上移植,能转换为多种HD-SDI/SD-SDI视频格式实时显示。该系统已成功应用在嵌入式大视场视频图像存储显示及实时跟踪显示等领域,为嵌入式大视场视频成像视频显示提供了一种有效的参考方法。

参考文献 (11)

目录

    /

    返回文章
    返回