一种基于FPGA的裸眼3D图像处理驱动电路及其算法的制作方法

文档序号:21818783发布日期:2020-08-11 21:33阅读:614来源:国知局
一种基于FPGA的裸眼3D图像处理驱动电路及其算法的制作方法

本发明属于集成电路与图像处理技术领域,特别涉及一种基于fpga的裸眼3d图像处理驱动电路及其算法。



背景技术:

裸眼3d显示技术可使观看者摆脱3d眼镜等的束缚,符合人们对3d显示技术的最终要求,是虚拟现实和增强现实技术的关键图像显示技术,目前已在视频及图像显示领域获得重要应用,具有广阔的市场前景。继裸眼3d光学机理和效果评定等关键瓶颈问题得到解决后,需进一步研究3d视频图像的逻辑处理方法。

与二维显示技术不同,裸眼3d显示技术需要特别的视频图像数据处理方法。裸眼3d显示的像素重配是产业化应用的关键技术。然而,目前还没有成熟的mcu、图形芯片满足裸眼3d的图像处理要求,大大的限制了裸眼3d技术的应用领域。因此,设计一种将3d图像和视频数据进行精确的处理和控制,把左右格式的图像数据精确配置到左、右眼亚屏幕像素上的裸眼3d图像处理驱动电路,是目前亟待解决的问题。



技术实现要素:

本发明是为了解决上述问题而进行的,目的在于提供一种基于fpga的裸眼3d图像处理驱动电路及其算法。

为了达到上述目的,本发明采用如下技术方案:

本发明提供一种基于fpga的裸眼3d图像处理驱动电路,其特征在于,包括:fpga数据处理模块、sd卡图像存储模块、sdram缓存模块以及裸眼3d显示屏模块,裸眼3d显示屏模块,其中,sd卡图像存储模块用于存储左右格式的立体对3d视图;sd卡图像存储模块与fpga数据处理模块相连接,fpga数据处理模块获取立体对3d视图中的rgb视图;sdram缓存模块与fpga数据处理模块相连接,用于缓存立体对rgb视图;fpga数据处理模块还读取缓存的立体对rgb视图数据进行分割得到左眼视图、右眼视图;裸眼3d显示屏模块与fpga数据处理模块相连接,fpga数据处理模块将左眼视图、右眼视图进行像素重配后按显示驱动时序输出到裸眼3d显示屏模块上显示。

在本发明提供的基于fpga的裸眼3d图像处理驱动电路中,还具有这样的特征:其中,fpga数据处理模块包括:时钟与复位模块、sd卡操作模块、fifo控制模块、sdram控制器模块以及显示驱动模块,时钟与复位模块用于控制sd卡操作模块、fifo控制模块、sdram控制器模块、显示驱动模块的运行时序;sd卡操作模块用于对sd卡图像存储模块进行操作;sdram控制器模块与fifo控制模块通信连接,用于将立体对rgb视图写入sdram缓存模块中,根据sdram读地址生成逻辑分时交错产生读取立体对rgb视图的左眼视图和右眼视图的状态;fifo控制模块用于完成跨时钟域操作,获取立体对3d视图中的rgb视图以及对立体对rgb视图进行左、右眼视图进行分割;显示驱动模块用于进行像素重配及驱动裸眼3d显示屏模块进行显示。

在本发明提供的基于fpga的裸眼3d图像处理驱动电路中,还具有这样的特征:其中,fifo控制模块包含wrfifo模块、rdfifo_l模块以及rdfifo_r模块,wrfifo模块与sd卡操作模块和sdram控制器模块通信连接,用于获取立体对3d视图中的rgb视图进行缓存;rdfifo_l模块与sdram控制器模块、显示驱动模块通信连接,用于获取左眼视图进行缓存;rdfifo_r模块与sdram控制器模块、显示驱动模块通信连接,用于获取右眼视图进行缓存。

在本发明提供的基于fpga的裸眼3d图像处理驱动电路中,还具有这样的特征:其中,sd卡操作模块包含sd卡控制模块以及spi总线控制模块。

在本发明提供的基于fpga的裸眼3d图像处理驱动电路中,还具有这样的特征:其中,像素重配为列插值融合处理。

在本发明提供的基于fpga的裸眼3d图像处理驱动电路中,还具有这样的特征:其中,fpga数据处理模块还与外部的3d视图输入设备相连接,从中获取立体对3d视图。

在本发明提供的基于fpga的裸眼3d图像处理驱动电路中,还具有这样的特征:其中,立体对3d视图为24位bmp格式,图像分辨率为800×600,裸眼3d显示屏模块为ttl接口的裸眼3d液晶显示屏。

本发明提供上述基于fpga的裸眼3d图像处理驱动电路的算法,其特征在于,包括如下步骤:步骤1:获取立体对3d视图;步骤2:将立体对3d视图中的rgb视图进行缓存;步骤3:对立体对rgb视图进行左、右眼视图进行分割,并将左眼视图、右眼视图进行缓存;步骤4:将左眼视图、右眼视图进行像素重配;步骤5:根据显示驱动时序输出到裸眼3d显示屏模块上,实现裸眼3d显示。

在本发明提供的基于fpga的裸眼3d图像处理驱动电路的算法中,还具有这样的特征:其中,步骤1为从3d视图输入设备获取立体对3d视图或从sd卡图像存储模块获取3d视图。

在本发明提供的基于fpga的裸眼3d图像处理驱动电路的算法中,还具有这样的特征:其中,当对sd卡图像存储模块进行读写操作时,预先进行如下初始化操作:a)上电延时,发送至少74个spi时钟周期;b)发送cmd0指令,当相应为01时进入步骤c),否则继续发送cmd0指令;c)发送cmd55指令,当相应为01时进入步骤d),否则继续发送cmd55指令;d)发送acmd41指令,当相应为00时进入步骤e),否则继续发送acmd41指令;e)发送cmd16指令,当相应为00时,初始化完成;否则继续发送cmd16指令。

本发明的作用与效果:

本发明的基于fpga的裸眼3d图像处理驱动电路填补了目前缺乏满足裸眼3d的图像处理要求的mcu、图形芯片的空白。本发明采用模块化的设计,将fpga内部的硬件逻辑划分为时钟与复位模块、sd卡操作模块、fifo控制模块、sdram控制器模块以及显示驱动模块,通过该电路运行逻辑算法,实现了从sd卡中读取左右格式立体对图像数据、像素重配及裸眼3dlcd显示驱动,通过左、右眼视图数据分割,并在裸眼3dlcd亚屏幕上进行像素重配,最终实现了裸眼3d显示效果。

附图说明

图1是本发明的实施例中基于fpga的裸眼3d图像处理驱动电路的框图;

图2是本发明的实施例中基于fpga的裸眼3d图像处理驱动电路的的逻辑功能图;

图3是本发明的实施例中sd卡初始化过程示意图;

图4是本发明的实施例中左、右眼视图分割示意图;

图5是本发明的实施例中左、右眼视图的像素重配示意图。

具体实施方式

为了使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,以下实施例结合附图对本发明基于fpga的裸眼3d图像处理驱动电路及其算法作具体阐述。

<实施例>

如图1所示,本实施例的基于fpga的裸眼3d图像处理驱动电路包括:fpga数据处理模块1、sd卡图像存储模块2、sdram缓存模块3、裸眼3d显示屏模块4、3d视图输入设备5、as模块6、jtag模块7、独立按键8以及电源9。

sd卡图像存储模块用于存储左右格式的立体对3d视图。3d视图输入设备具有3d视图输入接口,用于传输3d视频图像。sd卡图像存储模块、3d视图输入设备分别与fpga数据处理模块相连接,fpga数据处理模块从sd卡图像存储模块或3d视图输入设备中获取3d视频图像数据,fpga数据处理模块负责完成跨时钟域操作和像素重配。sdram缓存模块与fpga数据处理模块相连接,用于缓存图像数据。裸眼3d显示屏模块与fpga数据处理模块相连接,用于实现裸眼3d显示。as模块用于执行as配置模式。jtag模块用于执行jtag配置模式。独立按键用于供操作者进行人工操作。

在本实施例中,立体对3d视图为24位bmp格式,图像分辨率为800×600,裸眼3d显示屏模块为基于视差障壁技术的裸眼3d液晶显示屏,且裸眼3d显示屏为ttl接口屏,这样的设置实现了分辨率相匹配,使得显示效果佳。

如图2所示,fpga数据处理模块内部的硬件逻辑划分为五个模块:时钟与复位模块、sd卡操作模块、fifo控制模块、sdram控制器模块以及显示驱动模块。

时钟与复位模块用于控制sd卡操作模块、fifo控制模块、sdram控制器模块、显示驱动模块的运行时序。

sd卡操作模块用于对sd卡图像存储模块进行操作。sd卡操作模块包含sd卡控制模块以及spi总线控制模块。sd卡控制模块用于完成sd卡的一些基本操作,如sd卡的上电初始化及读写操作等。spi总线控制模块用于模拟生成spi协议,控制fpga与sd卡之间命令或数据的传输。sd卡操作模块在进行读写操作前,必须先对sd卡进行初始化,当sd卡初始化完成进入到idle状态后,就可读取sd卡中存储的立体对图像数据,可对sd卡进行读写操作。

sdram控制器模块与fifo控制模块通信连接,用于将经由wrfifo缓存的立体对rgb视图写入sdram缓存模块中,如图4所示,根据sdram读地址生成逻辑分时交错产生读取立体对rgb视图的左眼视图和右眼视图的状态,根据读状态的切换,从而把左、右眼视图数据分别对应经过rdfifo_l模块与rdfifo_r模块缓存,完成左、右眼视图的分割,为后续像素重配做好必要的数据准备;

fifo控制模块用于完成跨时钟域操作。fifo控制模块包含wrfifo模块、rdfifo_l模块以及rdfifo_r模块。wrfifo模块与sd卡操作模块和sdram控制器模块通信连接,用于获取立体对3d视图中的rgb视图进行缓存;rdfifo_l模块与sdram控制器模块、显示驱动模块通信连接,用于获取左眼视图进行缓存;rdfifo_r模块与sdram控制器模块、显示驱动模块通信连接,用于获取右眼视图进行缓存。

显示驱动模块用于进行像素重配及驱动裸眼3d显示屏模块进行显示。如图5所示,l1、l2和l3为左眼视图的部分列像素,r1、r2和r3为右眼视图的部分列像素,通过列插值融合处理,配合精确的时序控制,将立体对图像中的左眼视图以像素点为单位显示在裸眼3d的左视图亚屏幕上,同时将右眼视图以像素点为单位显示在裸眼3d屏的右视图亚屏幕上。

本实施例中的基于fpga的裸眼3d图像处理驱动电路的算法按照如下步骤运行:

步骤1:从3d视图输入设备获取立体对3d视图或从sd卡图像存储模块获取3d视图;

步骤2:将立体对3d视图中的rgb视图进行缓存;

步骤3:对立体对rgb视图进行左、右眼视图进行分割,并将左眼视图、右眼视图进行缓存;

步骤4:将左眼视图、右眼视图进行像素重配;

步骤5:根据显示驱动时序将左眼视图以像素点为单位显示在裸眼3d的左视图亚屏幕上,同时将右眼视图以像素点为单位显示在裸眼3d屏的右视图亚屏幕上,实现裸眼3d显示。

如图3所示,在上述算法运行过程中,当对sd卡图像存储模块进行读写操作时,需先进行如下初始化操作:a)上电延时,发送至少74个spi时钟周期;b)发送cmd0指令,当相应为01时进入步骤c),否则继续发送cmd0指令;c)发送cmd55指令,当相应为01时进入步骤d),否则继续发送cmd55指令;d)发送acmd41指令,当相应为00时进入步骤e),否则继续发送acmd41指令;e)发送cmd16指令,当相应为00时,初始化完成;否则继续发送cmd16指令。

在本实施例中,基于fpga的裸眼3d图像处理驱动电路根据裸眼3d亚屏幕分区特点,使用硬件描述语言设计从sd卡中读取左右格式立体对图像数据、像素重配及裸眼3dlcd显示驱动等逻辑代码,完成左、右眼视图数据分割,并在裸眼3dlcd亚屏幕上进行像素重配,实现了裸眼3d显示。本发明为裸眼3d视频及图像数据处理的集成电路设计提供了有益的参考方法。

上述实施方式为本发明的具体案例,并不用来限制本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1