CN101729919B - 基于fpga的全自动平面视频转立体视频系统 - Google Patents
基于fpga的全自动平面视频转立体视频系统 Download PDFInfo
- Publication number
- CN101729919B CN101729919B CN 200910212827 CN200910212827A CN101729919B CN 101729919 B CN101729919 B CN 101729919B CN 200910212827 CN200910212827 CN 200910212827 CN 200910212827 A CN200910212827 A CN 200910212827A CN 101729919 B CN101729919 B CN 101729919B
- Authority
- CN
- China
- Prior art keywords
- module
- output
- video
- memory
- data
- 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
Links
Images
Landscapes
- Processing Or Creating Images (AREA)
- Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
Abstract
本发明设计了一种基于FPGA的全自动平面视频转立体视频系统,该系统主要包括:输入模块、控制模块、采样模块、计算模块、输出模块。所述计算模块根据存储模块中所存储的采样图像信息和当前的图像信息来得到当前图像的深度信息,从而获得深度图,然后从深度图和平面图利用DIBR算法得到八个不同视角的图像,最后按照显示器规格把八个视角图像融合形成一张立体图像。本发明在将平面视频转换为立体视频的过程中,使用了FPGA硬件,而不需要计算机的参与,大大地减小了成本,FPGA芯片的高集成性也使得系统具有便携灵巧的特点。本系统可在无人工参与的参与下自动完成视频的转化,节约了大量人力和时间,提高了平面视频转立体视频的效率。
Description
技术领域
本发明涉及平面视频转立体视频的领域,尤其是一种基于FPGA硬件的全自动平面视频转立体视频系统。
背景技术
三维图像和显示是未来信息系统的一种重要表现形式,三维图像和显示层次分明色彩鲜艳,具有很强的视觉冲击力,能给人留下深刻的印象,正因为三维图象具有这些平面图像和视频所不具备的特点,所以在诸如电视、斟察、医疗、传媒、电子游戏等领域具有广阔的应用前景。目前,立体显示正以惊人的速度迅速运用到人们生活中的各个领域。
我们将利用计算机视觉等技术把平面媒体资源转化为包含三维信息的媒体资源的这一过程,称为平面转立体技术。平面视频转立体视频技术能够实现大规模的立体视频片源制作,摆脱立体显示片源不足的困境。能够满足各个行业对立体视频的需求,加速立体视频市场推广的速度。
目前的视频转化产品均采用计算机软件实现。在处理大数据量的视频时,处理速度慢,要达到实时性很困难。利用专用的硬件来处理图像就有可能加快处理速度。近年来,可编程逻辑的发展非常快,尤其是容量大、速度快的FPGA芯片,使用FPGA可以充分利用硬件上的并行性,改善图像处理的速度,使对大数据量的图像处理达到实时性,可以在无人工参与、无计算机的情况下实现自动转化。
发明内容
本发明的目的是克服现有技术中存在的不足,提供一种基于FPGA的全自动平面视频转立体视频系统,充分利用FPGA芯片容量大、速度快的优点进行平面视频转立体视频。
按照本发明提供的技术方案,所述基于FPGA的全自动平面视频转立体视频系统包括以下部分:
输入模块,对输入的平面模拟视频信号进行模数转化,生成可计算的平面数字视频信号;
采样模块,对平面数字视频信号的每一帧进行降采样,然后把采样点RGB信息转化为亮度信息,利用乒乓存储的机制存储在存储模块中;
计算模块,根据存储模块中所存储的采样图像信息和当前的图像信息来得到当前图像的深度信息,从而获得深度图,然后从深度图和平面图利用DIBR算法得到八个不同视角的图像,最后按照显示器规格把八个视角图像融合形成一张立体图像;
输出模块,对生成的立体图像进行数模转化输出给立体显示器的模拟信号端口或者不经过模数转化而使用DVI接口输出给立体显示器的数字端口;
存储模块,包括两个功能:使用乒乓存储机制来存储采样模块采样得到的图像,并提供给计算模块进行计算;为输出模块提供输出的缓存;
控制模块,负责判断一帧的开始和结束,判断一帧图像数据哪些部分是有效像素数据,在有效像素数据内对每个像素点进行计数,在每一个有效像素数据到达时,控制模块要给出这个像素点处于当前帧图像的第几行、第几列的信息;
所述输入模块的输出连接采样模块,采样模块的输出连接计算模块和存储模块,计算模块的输出连接存储模块,存储模块的输出分别连接计算模块和输出模块,所述控制模块分别与输入模块、采样模块、计算模块、输出模块连接,输出控制信号给所述输入模块、采样模块、计算模块、输出模块。
所述计算模块得到深度图的方法如下:
计算模块从存储模块中获得前一帧的采样图像,并且与当前帧的采样点的数据做差,统计出做差的结果大于阈值T的像素点的亮度的平均值,根据此平均值得到前景运动物体的亮度范围T±D,D是预估的标准差,由此区分出前景物体和背景,最后得到深度图。
所述采样模块把采样点RGB信息转化为亮度信息的过程中使用移位相加的方法代替浮点乘法,并且采用流水运算的方法,使计算在一个像素周期内完成。
所述存储模块对于数据的存储都使用乒乓读写机制,即对每一个存储数据都采用两个存储器;在读写周期内,一个存储器读取数据,另一个存储器写入数据;每过一个周期,两个存储器的“读”、“写”进行交换。
本发明的优点是:本发明基于FPGA的硬件系统具有体积小、易便携、全自动和不需要计算机参与的优点。
附图说明
图1是本发明系统结构框图。
图2是RGB分量转化为亮度信号的流水线实现图。
图3是采用乒乓读写机制存储采样信号的工作时序图。
具体实施方式
下面结合附图和实施例对本发明作进一步说明。本发明所述系统全自动对平面视频进行立体的转化,如图1所示,主要包括输入模块、采样模块,计算模块、存储模块和输出模块构成。
系统的基本运行流程是:输入的模拟VGA视频信号首先经过AD9883芯片进行模数转化,得到数字化的RGB信号流,采样模块对RGB信号流进行采样,并把每一帧的采样数据转化为亮度信息采用乒乓存储机制存储到存储模块(帧缓存片上RAM)中,而计算模块通过对比存储模块中的前一帧采样数据和当前帧的数据进行计算,得到平面图像的深度信息,再根据当前帧的平面图像和平面图像的深度信息利用DIBR算法得到八个视角的视图,再由八个视图按照一定的排列顺序组合生成最终的立体图像,最后把立体图像输出到输出缓存中,而输出模块(数模转化芯片ADV7123)不断读取输出缓存中的内容,把数字视频信号转化为模拟的VGA信号,输出给立体显示器。
以下对各个模块具体的结构和工作原理做比较详细的介绍。
输入模块:
输入模块的任务是接收模拟的VGA信号,然后转化为数字的RGB信号,因此需要对模数转化芯片进行合理的配置,最终可以得到8位的数字RGB信号,一帧图像按照从左至右,从上而下的顺序依次传送每一个像素点数据,此外,一帧图像数据不仅仅包含有效的像素数据,在像素数据之外还有一段时间传送的是消隐信息,后面要提到的计算模块会利用这一段消隐时间来进行必要的计算已得到深度信息。
控制模块:
控制模块需要精确地检测出输入视频信号中的每一帧的开始和结束信号,从而能够准确地判断出一帧的开始和结束,可以通过检测输入的VGA信号的消隐信号VSYNC脉冲来实现。同时控制模块也要判断一帧图像数据哪些部分是有效像素数据,而在有效数据内也要对每个像素点进行计数,在每一个有效像素数据到达时,控制模块要给出这个像素点处于当前帧图像的第几行、第几列的信息,这些信息可以通过设置行计数器和列计数器来实现。这些像素位置的信息对于采样模块判断是否采样,计算模块进行计算,输出模块进行输出都是至关重要的。
采样模块:
采样模块需要按照32∶1的行采样率和32∶1的列采样率对图像进行采样,并且把采样之后的值传送给存储器进行存储,因此,这个模块需要产生每个采样数据的存储器写地址。
在一帧的图像数据中,只有一部分是有效图像信息,采样过程中我们只需要对有效的图像信息进行采样存储,一个像素点满足以下两个条件时将会被采样存储:
1、这个像素点处于一帧的有效图像区域,像素点是否处于有效图像区域由控制模块提供。
2、这个像素点的行序号和列序号都是32的倍数,像素位置信息由控制模块提供。
当判断出一个像素点满足采样条件时就需要把该像素点进行RGB向亮度的转化,并把亮度信息采用乒乓读写机制写入存储模块中。
RGB向亮度转化这个过程在计算模块中会再次使用,所以这一过程将会在后文的计算模块中详述。
至于如何使用乒乓读写机制来把采样的亮度数据写入存储模块这些内容在将在后文的存储模块中详述。
计算模块:
1、RGB分量向亮度信息转化。
从前端芯片处得来的是RGB分量值,因此需要进行颜色空间的转换,利用亮度与RGB分量之间转化公式:
Y=0.257R+0.504G+0.098B
由于RGB转Y(亮度)这一过程是要对每一个像素点进行的,要求计算时间必须小于一个像素点的周期,而这一设计的难点在于,FPGA不能直接实现浮点数乘法,对于a=0.5*b之类的语句,综合工具一般是认为不能被综合的,本发明采用的方法是:将小数乘法通过乘一个系数转换为整数乘法,然后,再将算法所得的结果除以这个系数。整体的算法可以采用如下的等式表示,以系数取1024为例:
Y=(1/1024)*[(512+4)G+(256+8)R+(64+32)B)]
这样做使得乘法和除法都可以用移位运算然后相加减的方法来实现,使得运算速度大大加快,保证了每一个像素点都能够得到正确无误的结果。
可以把这一过程拆分为三步:移位,相加,再次移位,如图2所示,第一个流水线周期对各个分量进行向左移位(相当于做乘法),第二个流水周期进行相加操作,第三个周期向右移位(相当于做除法),通过利用流水线的思想,每一个像素周期内只完成一步操作,这样就能保证在延时三个周期后能得到正确的亮度信息,而且处理速度能够达到每个像素点只需一周期。
2、计算前景物体亮度范围
计算模块通过对比存储模块中存储的前一帧采样数据和当前帧的数据,计算前景物体的亮度平均值,为此我们需要设定一个亮度累加器来存储运动点的亮度值,一个运动点计数器来记录运动物体像素点的个数。
当一帧的图像到达时,判断前后两帧中对应采样点的亮度差是否大于阈值T(T一般可以取25),如果大于,则说明该点是运动点,把本点的亮度值累加到亮度累加器中,同时运动点计数器加一,一帧结束时,使用亮度累加器除以亮度计数器的方法求得亮度平均值Y,得到亮度平均值Y后,我们认定亮度处于Y±D(D是预估的标准差,可以取20左右)这一范围内像素点是运动物体的,这个亮度范围就作为下一帧图像深度信息的判定依据。在下一帧的每一个像素点到来时,我们就可以根据这一亮度范围,判断每个点是前景还是背景,我们定义一个前景背景区分变量FB,若像素属于此亮度范围,则属于运动的前景,FB=1,否则FB=0,对于FB=1的点我们把它的深度值赋为0,FB=0的点深度值赋为200。
3、生成8个视角的视图和立体图像
利用DIBR的算法,根据平面图像和深度图生成其它视角图像实际上就是对像素点的搬移,在这里,计算模块需要利用行缓冲技术,每判断一个像素点的FB就把像素点数据连同FB一起按照一行像素点的顺序存入行缓冲存储器,直至一行结束,于此同时,在判断当前行的像素点FB的同时,并行地读取前一行(已经计算出FB的那一行)的每一个像素点的FB,并对这一行的像素点进行搬移并最终输出为立体图像。
存储模块:
本发明的存储模块主要工作有两项:
一,采用乒乓读写机制存储采样信号,它的工作时序如图3所示。其中,F0~F6表示第0帧到第6帧的图像数据。
采用乒乓读写机制的时候,对于每一个存储量都需要两个存储器,一个存储器写的同时另一个读,这样保证数据的读写不发生冲突,可以持续不断地给计算模块提供前一帧的采样数据。
二,采用乒乓存储机制来存储计算模块所需的行缓冲数据,这个原理跟存储采样信号同理,在存储本行像素点的同时,可以读取上一行的像素数据,并对它进行处理。
输出模块:
输出模块使用DA转化芯片,能够将数字的RGB分量信号转化为模拟的VGA信号输出给立体显示器。
Claims (3)
1.基于FPGA的全自动平面视频转立体视频系统,其特征是包括以下部分:
输入模块,对输入的平面模拟视频信号进行模数转化,生成可计算的平面数字视频信号;
采样模块,对平面数字视频信号的每一帧进行降采样,然后把采样点RGB信息转化为亮度信息,利用乒乓存储的机制存储在存储模块中;
计算模块,根据存储模块中所存储的采样图像信息和当前的图像信息来得到当前图像的深度信息,从而获得深度图,然后从深度图和平面图利用DIBR算法得到八个不同视角的图像,最后按照显示器规格把八个视角图像融合形成一张立体图像;
输出模块,对生成的立体图像进行数模转化输出给立体显示器的模拟信号端口或者不经过模数转化而使用DVI接口输出给立体显示器的数字端口;
存储模块,包括两个功能:使用乒乓存储机制来存储采样模块采样得到的图像,并提供给计算模块进行计算;为输出模块提供输出的缓存;
控制模块,负责判断一帧的开始和结束,判断一帧图像数据哪些部分是有效像素数据,在有效像素数据内对每个像素点进行计数,在每一个有效像素数据到达时,控制模块要给出这个像素点处于当前帧图像的第几行、第几列的信息;
所述输入模块的输出连接采样模块,采样模块的输出连接计算模块和存储模块,计算模块的输出连接存储模块,存储模块的输出分别连接计算模块和输出模块,所述控制模块分别与输入模块、采样模块、计算模块、输出模块连接,输出控制信号给所述输入模块、采样模块、计算模块、输出模块;
所述计算模块得到深度图的方法如下:
计算模块从存储模块中获得前一帧的采样图像,并且跟本帧的采样点的数据做差,统计出做差结果大于阈值T的像素点的亮度的平均值Y,根据此平均值Y得到前景运动物体的亮度范围Y±D,D是预估的标准差,由此区分出前景物体和背景,最后得到深度图。
2.如权利要求1所述的基于FPGA的全自动平面视频转立体视频系统,其特征是所述采样模块把采样点RGB信息转化为亮度信息的过程中使用移位相加的方法代替浮点乘法,并且采用流水运算的方法,使计算在一个像素周期内完成。
3.如权利要求1所述的基于FPGA的全自动平面视频转立体视频系统,其特征是所述存储模块对于数据的存储都使用乒乓读写机制,即对每一个存储数据都采用两个存储器;在读写周期内,一个存储器读取数据,另一个存储器写入数据;每过一个周期,两个存储器的“读”、“写”进行交换。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910212827 CN101729919B (zh) | 2009-10-30 | 2009-10-30 | 基于fpga的全自动平面视频转立体视频系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910212827 CN101729919B (zh) | 2009-10-30 | 2009-10-30 | 基于fpga的全自动平面视频转立体视频系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101729919A CN101729919A (zh) | 2010-06-09 |
CN101729919B true CN101729919B (zh) | 2011-09-07 |
Family
ID=42449980
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200910212827 Expired - Fee Related CN101729919B (zh) | 2009-10-30 | 2009-10-30 | 基于fpga的全自动平面视频转立体视频系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101729919B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102354392A (zh) * | 2011-06-08 | 2012-02-15 | 无锡引速得信息科技有限公司 | 一种用于工业ct图像重建的并行加速装置 |
CN102271271B (zh) * | 2011-08-17 | 2013-04-03 | 清华大学 | 生成多视点视频的装置及方法 |
CN102724528B (zh) * | 2012-05-18 | 2015-01-14 | 清华大学 | 一种深度图生成装置 |
CN102930501B (zh) * | 2012-10-12 | 2014-12-10 | 四川虹微技术有限公司 | 一种控制dibr系统中图像存储的多口内存控制器 |
US9665973B2 (en) * | 2012-11-20 | 2017-05-30 | Intel Corporation | Depth buffering |
CN103106395A (zh) * | 2012-12-15 | 2013-05-15 | 长春理工大学 | 车牌字符实时识别系统的几何归一化内核装置 |
CN105611271A (zh) * | 2015-12-18 | 2016-05-25 | 华中科技大学 | 一种实时立体图像生成系统 |
CN107155101A (zh) * | 2017-06-20 | 2017-09-12 | 万维云视(上海)数码科技有限公司 | 一种3d播放器使用的3d视频的生成方法及装置 |
CN108566550A (zh) * | 2018-07-03 | 2018-09-21 | 广州视源电子科技股份有限公司 | 老化测试方法、装置及电子设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101271578A (zh) * | 2008-04-10 | 2008-09-24 | 清华大学 | 一种平面视频转立体视频技术中的深度序列生成方法 |
CN101378483A (zh) * | 2007-08-30 | 2009-03-04 | 深圳市九洲光电子有限公司 | 数字高清显示控制装置及方法 |
CN101483788A (zh) * | 2009-01-20 | 2009-07-15 | 清华大学 | 一种平面视频转立体视频的方法和装置 |
-
2009
- 2009-10-30 CN CN 200910212827 patent/CN101729919B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101378483A (zh) * | 2007-08-30 | 2009-03-04 | 深圳市九洲光电子有限公司 | 数字高清显示控制装置及方法 |
CN101271578A (zh) * | 2008-04-10 | 2008-09-24 | 清华大学 | 一种平面视频转立体视频技术中的深度序列生成方法 |
CN101483788A (zh) * | 2009-01-20 | 2009-07-15 | 清华大学 | 一种平面视频转立体视频的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN101729919A (zh) | 2010-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101729919B (zh) | 基于fpga的全自动平面视频转立体视频系统 | |
CN106934758B (zh) | 一种基于fpga的立体图像视频实时融合方法及系统 | |
US11100899B2 (en) | Systems and methods for foveated rendering | |
CN103139509B (zh) | 一种基于axi总线协议的osd控制显示方法及装置 | |
CN107516296A (zh) | 一种基于fpga的运动目标检测跟踪系统及方法 | |
CN102622979B (zh) | 一种lcd控制器及其显示控制方法 | |
CN102681945B (zh) | 一种嵌入式指针式虚拟仪表实现方法 | |
CN110933333A (zh) | 一种基于fpga的图像采集、存储与显示系统 | |
CN102427543B (zh) | 一种帧同步3d实时视频信息处理平台和处理方法 | |
CN105611256B (zh) | 一种基于梯度的Bayer格式插值方法及基于FPGA的显示装置 | |
CN108171734A (zh) | 一种orb特征提取与匹配的方法及装置 | |
CN105208275A (zh) | 一种支持流数据片内实时处理的系统及设计方法 | |
CN101772962A (zh) | 用于像素数据转换的图像处理装置和方法 | |
CN108833877A (zh) | 图像处理方法及装置、计算机装置及可读存储介质 | |
CN105516669B (zh) | 一种机载显示装置及方法 | |
CN114638863A (zh) | 基于fpga的差分动态显微图像处理方法、装置及系统 | |
CN1337033B (zh) | 使用三维流水线伸拉位闪的方法和装置 | |
CN103533327B (zh) | 一种基于硬件实现的dibr系统 | |
CN105513016A (zh) | 一种彩色图像的fpga实时增强系统 | |
CN1246628A (zh) | 场分立体视觉显示方法 | |
CN103955178A (zh) | 一种立体式动态场景展示系统的升降机构阵列控制方法 | |
CN103108162A (zh) | 高清高帧率实时视频增透仪 | |
CN204926190U (zh) | 一种计算机图像处理设备 | |
CN103745681A (zh) | 一种基于综合可编程器件的图形发生器 | |
CN113962842B (zh) | 一种基于大规模集成电路高层次综合的动态无极消旋系统及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20110907 Termination date: 20131030 |