CN109587500B - 一种基于fpga的动态可重配置视频缩放器 - Google Patents

一种基于fpga的动态可重配置视频缩放器 Download PDF

Info

Publication number
CN109587500B
CN109587500B CN201811419990.7A CN201811419990A CN109587500B CN 109587500 B CN109587500 B CN 109587500B CN 201811419990 A CN201811419990 A CN 201811419990A CN 109587500 B CN109587500 B CN 109587500B
Authority
CN
China
Prior art keywords
unit
video
calculation
scaling
input
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
CN201811419990.7A
Other languages
English (en)
Other versions
CN109587500A (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.)
Luoyang Institute of Electro Optical Equipment AVIC
Original Assignee
Luoyang Institute of Electro Optical Equipment AVIC
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 Luoyang Institute of Electro Optical Equipment AVIC filed Critical Luoyang Institute of Electro Optical Equipment AVIC
Priority to CN201811419990.7A priority Critical patent/CN109587500B/zh
Publication of CN109587500A publication Critical patent/CN109587500A/zh
Application granted granted Critical
Publication of CN109587500B publication Critical patent/CN109587500B/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/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/423Methods 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 characterised by memory arrangements
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Image Processing (AREA)
  • Studio Circuits (AREA)

Abstract

本发明提出一种基于FPGA的动态可重配置视频缩放器,包括输入视频检测、缩放地址遍历、缩放地址映射、帧缓存视频数据选择、计算输入缓存、帧缓存、计算视频数据选择、延时、抗锯齿计算、输出视频数据选择以及缩放模式识别单元。缩放模式识别单元根据给定的缩放参数生成缩放模式控制指令(数据流控制标志)和缩放计算参数,数据流控制标志通过控制三个视频数据选择单元实现对视频缩放系统的动态重构,从而实现视频缩放延时的大幅缩减以及视频缩放器对帧缓存读写带宽需求的有效减少。本发明的可配置视频缩放器具有参数可在线配置、结构可动态变化等灵活特性。

Description

一种基于FPGA的动态可重配置视频缩放器
技术领域
本发明涉及一种基于FPGA的动态可重配置视频缩放器,属于显示设备中字符视频图像处理技术领域。
背景技术
平视显示器把需要显示的符号与前视红外或者光电雷达采集到的视频叠加在一起之后投射到驾驶员的正前方视场中,而符号与视频叠加过程中由于视场的不同,需要对采集的视频进行缩放处理,缩放是视频叠加处理的第一步。缩放计算的灵活性、计算资源的需求决定了平视显示器系统实现的复杂度。同时缩放计算延时也直接影响了平视显示器叠加采集视频的延时。
目前的视频缩放器直接依赖GPU实现,其实现延时在33毫秒以上,已经无法满足新的指标要求。
发明内容
为解决现有技术存在的问题,本发明提出一种基于FPGA的动态可重配置视频缩放器,以减少视频缩放延时,同时降低视频缩放器对帧缓存的读写带宽需求。
本发明的技术方案为:
所述一种基于FPGA的动态可重配置视频缩放器,其特征在于:包括输入视频检测、缩放地址遍历、缩放地址映射、帧缓存视频数据选择、计算输入缓存、帧缓存、计算视频数据选择、延时、抗锯齿计算、输出视频数据选择以及缩放模式识别单元;
所述缩放模式识别单元的输出端通过指令信号线与缩放地址遍历单元、缩放地址映射单元、帧缓存视频数据选择单元、计算视频数据选择单元以及输出视频数据选择单元的控制输入端相连,所述的缩放模式识别单元解析计算外部给定的缩放指令生成缩放模式控制指令和缩放计算参数;
所述帧缓存视频数据选择单元的数据输入端与外部输入视频信号数据线以及抗锯齿计算单元的输出信号数据线相连,数据输出端与帧缓存单元的数据输入端相连,实现根据指令信号线状态选择不同的输入数据到帧缓存单元;
所述计算视频数据选择单元的数据输入端与计算输入缓存单元输出信号数据线以及帧缓存单元输出信号数据线相连,数据输出端与抗锯齿计算单元输入端相连,实现根据指令信号线状态选择不同的计算数据到抗锯齿计算单元;
所述输出视频数据选择单元的数据输入端与抗锯齿计算单元的输出信号数据线以及帧缓存单元的输出信号数据线相连,数据输出端直接输出缩放结果,实现根据指令信号线状态选择不同的输出数据;
所述输入视频检测单元输入端与外部输入视频信号数据线相连,实现对输入视频当前行列地址的检测;
所述缩放地址遍历单元的输入端与输入视频检测单元的输出端相连,输出端与缩放地址映射单元相连,生成缩放后视频行列地址;
所述缩放地址映射单元的输出端与计算输入缓存单元以及帧缓存单元的读取地址输入信号端口相连,并与延时单元的输入端相连,实现缩放后视频行列地址与缩放源视频行列地址的反向映射计算,并生成缩放插值计算系数;
所述计算输入缓存单元实现将输入视频按照奇偶行、奇偶列分开的形式存储;所述帧缓存单元用于存储一帧缩放源视频或者缩放后视频;
所述延时单元输出端与抗锯齿计算单元相连,实现抗锯齿计算输入视频数据与计算系数的计算时钟对齐;
所述抗锯齿计算单元用于减轻缩放计算过程中画面的锯齿效应。
进一步的优选方案,所述一种基于FPGA的动态可重配置视频缩放器,其特征在于:所述抗锯齿计算单元采用双线性插值算法。
进一步的优选方案,所述一种基于FPGA的动态可重配置视频缩放器,其特征在于:所述视频缩放器逻辑架构基于FPGA或者CPLD实现。
进一步的优选方案,所述一种基于FPGA的动态可重配置视频缩放器,其特征在于:所述计算输入缓存单元由四片相同大小、相同类型的双口缓存区组成,所述帧缓存单元由外置存储实现。
有益效果
本发明的有益效果是:本发明通过FPGA或CPLD构架视频缩放器,该视频缩放器采用参数可配置、计算全并行、流水线计算等技术和可复用模块化的设计方法,主要包括输入视频检测、缩放地址遍历、缩放地址映射、帧缓存视频数据选择、计算输入缓存、帧缓存、计算视频数据选择、延时、抗锯齿计算、输出视频数据选择以及缩放模式识别单元。缩放模式识别单元根据给定的缩放参数生成缩放模式控制指令(数据流控制标志)和缩放计算参数,数据流控制标志通过控制三个视频数据选择单元实现对视频缩放系统的动态重构,从而实现视频缩放延时的大幅缩减以及视频缩放器对帧缓存读写带宽需求的有效减少。本发明的可配置视频缩放器具有参数可在线配置、结构可动态变化等灵活特性。
本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1是本发明基于FPGA的动态可重配置视频缩放器架构图;
图2是本发明2*2邻域说明图;
图3是本发明基于FPGA实现的缩放器在缩小模式下的架构图;
图4是本发明基于FPGA实现的缩放器在放大模式下的架构图。
具体实施方式
下面详细描述本发明的实施例,所述实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
该基于FPGA的动态可重配置视频缩放器,逻辑架构基于FPGA或者CPLD实现,由输入视频检测、缩放地址遍历、缩放地址映射、帧缓存视频数据选择、计算输入缓存、帧缓存、计算视频数据选择、延时、抗锯齿计算、输出视频数据选择以及缩放模式识别单元组成。
所述缩放模式识别单元的输出端通过指令信号线与缩放地址遍历单元、缩放地址映射单元、帧缓存视频数据选择单元、计算视频数据选择单元以及输出视频数据选择单元的控制输入端相连。所述的缩放模式识别单元解析计算外部给定的缩放指令生成缩放模式控制指令和缩放计算参数。
所述帧缓存视频数据选择单元的数据输入端与外部输入视频信号数据线以及抗锯齿计算单元的输出信号数据线相连,数据输出端与帧缓存单元的数据输入端相连,实现根据指令信号线状态选择不同的输入数据到帧缓存单元。
所述计算视频数据选择单元的数据输入端与计算输入缓存单元输出信号数据线以及帧缓存单元输出信号数据线相连,数据输出端与抗锯齿计算单元输入端相连,实现根据指令信号线状态选择不同的计算数据到抗锯齿计算单元。
所述输出视频数据选择单元的数据输入端与抗锯齿计算单元的输出信号数据线以及帧缓存单元的输出信号数据线相连,数据输出端直接输出缩放结果,实现根据指令信号线状态选择不同的输出数据。
所述输入视频检测单元输入端与外部输入视频信号数据线相连,实现对输入视频当前行列地址的检测。
所述缩放地址遍历单元的输入端与输入视频检测单元的输出端相连,输出端与缩放地址映射单元相连,生成缩放后视频行列地址。
所述缩放地址映射单元的输出端与计算输入缓存单元以及帧缓存单元的读取地址输入信号端口相连,并与延时单元的输入端相连,实现缩放后视频行列地址与缩放源视频行列地址的反向映射计算,并生成缩放插值计算系数。
所述计算输入缓存单元由四片相同大小、相同类型的双口缓存区组成,实现将输入视频按照奇偶行、奇偶列分开的形式存储;所述帧缓存单元由外置存储实现,用于存储一帧缩放源视频或者缩放后视频。
所述延时单元输出端与抗锯齿计算单元相连,实现抗锯齿计算输入视频数据与计算系数的计算时钟对齐。
所述抗锯齿计算单元采用双线性插值算法,用于减轻缩放计算过程中画面的锯齿效应。
下面给出具体实施例,如图1所示,图中细实线表示控制信号的传递过程,粗实线表示视频数据总线信号的传递过程,虚线表示模式配置参数信号的传递过程。
输入视频检测单元用于对外部输入视频的状态以及当前像素的位置(行列地址)进行检测,并将检测结果传递到缩放地址遍历单元用于参与计算决策。
缩放地址遍历单元根据接收到的缩放模式配置参数和输入视频检测数据产生缩放后视频画面的行列地址,该行列地址以输出画面的左上角为起始坐标(0,0)开始逐列逐行进行遍历扫描,扫描顺序为从左到右、从上到下。
缩放地址映射单元根据输入的缩放模式配置参数(f_x、f_y)和缩放后视频画面的行列地址值(x’,y’)计算生成缩放前映射行列地址值(x,y)与缩放插值计算系数(u、v)。
x=x’*f_x;
y=y’*f_y;
u=x–〈x’〉;
v=y–〈y’〉。
式中〈〉表示向下取整计算,x、x’表示缩放前后的列数,y、y’表示缩放前后的行数,f_x表示列数缩放比例,f_y表示行数缩放比例。
延时单元用于将缩放地址映射单元输出的缩放插值计算系数(u、v)延时17个时钟周期,实现抗锯齿计算输入视频数据与计算系数的计算时钟对齐。本实施例中延时单元通过FPGA内部移位寄存器资源实现。
计算输入缓存单元用于实现输入视频的分奇偶行、奇偶列缓存,本实施例中使用FPGA的内部BRAM实现。该单元包含四个完全相同的存储体,存储体编号为00、01、10、11,其中00存储体存储输入视频的偶行偶列、01存储体存储偶行奇列、10存储体存储奇行偶列、11存储体存储奇行奇列。
帧缓存单元用于实现一整帧视频的存储,本实施例汇总使用外置存储体DDR3实现。
抗锯齿计算单元用于实现减弱缩放画面锯齿感的双线性插值计算,计算方法为使用如图2所示的2*2邻域计算出目标点P(i+u,j+v)。
P(i+u,j+v)=P(i,j)*(1–u’)*(1–v’)+P(i,j+1)*u’*(1–v’)+P(i+1,j)*(1–u’)*v’+P(i+1,j+1)*u’*v’
式中P(i,j)、P(i,j+1)、P(i+1,j)、P(i+1,j+1)四个值表示图2中四个邻域点的像素值,u’、v’表示经过延时单元之后的缩放插值计算系数。
缩放模式识别单元用于实现缩放器结构的动态重配置功能,该单元首先根据给定的缩放参数进行计算和判断,并将计算生成的缩放模式配置参数输出到缩放地址遍历单元和缩放地址映射单元,将模式识别结果参数输出到帧缓存视频数据选择单元、计算视频数据选择单元以及输出视频数据选择单元。本实施例中,当给定缩放参数表示需将输入视频画幅缩小时,模式识别结果参数输出值为0,此时缩放器实现结构如图3所示,缩放器将缩放后画面存入帧缓存;当给定缩放参数表示需将输入视频画幅放大时,模式识别结果参数输出值为1,此时缩放器实现结构如图4所示,缩放器将缩放前画面存入帧缓存。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在不脱离本发明的原理和宗旨的情况下在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

Claims (4)

1.一种基于FPGA的动态可重配置视频缩放器,其特征在于:包括输入视频检测、缩放地址遍历、缩放地址映射、帧缓存视频数据选择、计算输入缓存、帧缓存、计算视频数据选择、延时、抗锯齿计算、输出视频数据选择以及缩放模式识别单元;
所述缩放模式识别单元的输出端通过指令信号线与缩放地址遍历单元、缩放地址映射单元、帧缓存视频数据选择单元、计算视频数据选择单元以及输出视频数据选择单元的控制输入端相连,所述的缩放模式识别单元解析计算外部给定的缩放指令生成缩放模式控制指令和缩放计算参数;
所述帧缓存视频数据选择单元的数据输入端与外部输入视频信号数据线以及抗锯齿计算单元的输出信号数据线相连,数据输出端与帧缓存单元的数据输入端相连,实现根据指令信号线状态选择不同的输入数据到帧缓存单元;
所述计算视频数据选择单元的数据输入端与计算输入缓存单元输出信号数据线以及帧缓存单元输出信号数据线相连,数据输出端与抗锯齿计算单元输入端相连,实现根据指令信号线状态选择不同的计算数据到抗锯齿计算单元;
所述输出视频数据选择单元的数据输入端与抗锯齿计算单元的输出信号数据线以及帧缓存单元的输出信号数据线相连,数据输出端直接输出缩放结果,实现根据指令信号线状态选择不同的输出数据;
所述输入视频检测单元输入端与外部输入视频信号数据线相连,实现对输入视频当前行列地址的检测;
所述缩放地址遍历单元的输入端与输入视频检测单元的输出端相连,输出端与缩放地址映射单元相连,生成缩放后视频行列地址;
所述缩放地址映射单元的输出端与计算输入缓存单元以及帧缓存单元的读取地址输入信号端口相连,并与延时单元的输入端相连;
所述缩放地址映射单元根据输入的缩放模式配置参数(f_x、f_y)和缩放后视频画面的行列地址值(x’,y’)计算生成缩放前映射行列地址值(x,y)与缩放插值计算系数(u、v):x=x’*f_x;y=y’*f_y;u=x–〈x’〉;v=y–〈y’〉;式中〈〉表示向下取整计算,x、x’表示缩放前后的列数,y、y’表示缩放前后的行数,f_x表示列数缩放比例,f_y表示行数缩放比例;
所述计算输入缓存单元实现将输入视频按照奇偶行、奇偶列分开的形式存储;所述帧缓存单元用于存储一帧缩放源视频或者缩放后视频;
所述延时单元输出端与抗锯齿计算单元相连,实现抗锯齿计算输入视频数据与计算系数的计算时钟对齐;
所述抗锯齿计算单元用于减轻缩放计算过程中画面的锯齿效应。
2.根据权利要求1所述一种基于FPGA的动态可重配置视频缩放器,其特征在于:所述抗锯齿计算单元采用双线性插值算法。
3.根据权利要求1所述一种基于FPGA的动态可重配置视频缩放器,其特征在于:所述视频缩放器逻辑架构基于FPGA或者CPLD实现。
4.根据权利要求1所述一种基于FPGA的动态可重配置视频缩放器,其特征在于:所述计算输入缓存单元由四片相同大小、相同类型的双口缓存区组成,所述帧缓存单元由外置存储实现。
CN201811419990.7A 2018-11-26 2018-11-26 一种基于fpga的动态可重配置视频缩放器 Active CN109587500B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811419990.7A CN109587500B (zh) 2018-11-26 2018-11-26 一种基于fpga的动态可重配置视频缩放器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811419990.7A CN109587500B (zh) 2018-11-26 2018-11-26 一种基于fpga的动态可重配置视频缩放器

Publications (2)

Publication Number Publication Date
CN109587500A CN109587500A (zh) 2019-04-05
CN109587500B true CN109587500B (zh) 2021-01-01

Family

ID=65924289

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811419990.7A Active CN109587500B (zh) 2018-11-26 2018-11-26 一种基于fpga的动态可重配置视频缩放器

Country Status (1)

Country Link
CN (1) CN109587500B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110855907B (zh) * 2019-10-19 2022-01-04 中国航空工业集团公司洛阳电光设备研究所 一种基于预测的低延时视频叠加帧缓存调度器
CN111131740B (zh) * 2019-12-03 2021-03-05 中国航空工业集团公司洛阳电光设备研究所 一种实现任意比例缩放的vesa时序实时转换方法
CN111770342B (zh) * 2020-06-19 2023-09-05 艾索信息股份有限公司 一种视频无级缩放方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6215916B1 (en) * 1998-02-04 2001-04-10 Intel Corporation Efficient algorithm and architecture for image scaling using discrete wavelet transforms
CN101183521A (zh) * 2007-11-16 2008-05-21 炬力集成电路设计有限公司 一种图像缩放装置、方法及图像显示设备
CN201075280Y (zh) * 2007-08-03 2008-06-18 深圳艾科创新微电子有限公司 一种显示器数字图像实时缩放集成电路
CN101276573A (zh) * 2007-03-30 2008-10-01 上海奇码数字信息有限公司 通用图像缩放装置及通用图像缩放方法
CN101950523A (zh) * 2010-09-21 2011-01-19 上海大学 可调矩形窗图像缩放方法及装置
CN104361555A (zh) * 2014-11-24 2015-02-18 中国航空工业集团公司洛阳电光设备研究所 一种基于fpga的红外图像缩放方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6215916B1 (en) * 1998-02-04 2001-04-10 Intel Corporation Efficient algorithm and architecture for image scaling using discrete wavelet transforms
CN101276573A (zh) * 2007-03-30 2008-10-01 上海奇码数字信息有限公司 通用图像缩放装置及通用图像缩放方法
CN201075280Y (zh) * 2007-08-03 2008-06-18 深圳艾科创新微电子有限公司 一种显示器数字图像实时缩放集成电路
CN101183521A (zh) * 2007-11-16 2008-05-21 炬力集成电路设计有限公司 一种图像缩放装置、方法及图像显示设备
CN101950523A (zh) * 2010-09-21 2011-01-19 上海大学 可调矩形窗图像缩放方法及装置
CN104361555A (zh) * 2014-11-24 2015-02-18 中国航空工业集团公司洛阳电光设备研究所 一种基于fpga的红外图像缩放方法

Also Published As

Publication number Publication date
CN109587500A (zh) 2019-04-05

Similar Documents

Publication Publication Date Title
CN109587500B (zh) 一种基于fpga的动态可重配置视频缩放器
RU2623806C1 (ru) Способ и устройство обработки стереоизображений
US9565414B2 (en) Efficient stereo to multiview rendering using interleaved rendering
WO2008013605A1 (en) Real-time gpu rendering of piecewise algebraic surfaces
Kowalczyk et al. Real-time implementation of contextual image processing operations for 4K video stream in Zynq ultrascale+ MPSoC
CN106780336B (zh) 一种图像缩小方法及装置
US5621866A (en) Image processing apparatus having improved frame buffer with Z buffer and SAM port
CN102186044A (zh) 一种边缘相关性图像无极缩放算法及其硬件实现装置
CN115471404A (zh) 图像缩放方法、处理设备及存储介质
CN110211039B (zh) 一种图像处理方法及其装置
CN103916612A (zh) 一种任意比例缩放系统及方法
CN111107295B (zh) 基于fpga和非线性插值的视频缩放方法
CN109685715B (zh) 一种显示系统中高精度图像无级旋转处理方法
Gour et al. Hardware accelerator for real-time image resizing
CN116312412A (zh) 一种基于fpga的双三次插值电路
WO2016197393A1 (zh) 并行多相位图像插值装置和方法
US20150213578A1 (en) Method for electronic zoom with sub-pixel offset
CN108769583A (zh) 一种基于fpga的超细电子内镜高清插值模块与方法
RU168781U1 (ru) Устройство обработки стереоизображений
CN109767380A (zh) 一种图形处理器图像缩放电路及方法
CN104915923A (zh) 不同分辨率图像自适应缩放方法
CN102129667B (zh) 一种图像缩放方法
US10853919B2 (en) Image processing apparatus, image processing method, and program
CN114741352B (zh) 一种基于fpga的双线性插值重采样实现方法及装置
CN115018713B (zh) 实现图形旋转的数据存储及访问方法、装置和存储介质

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