全新论坛MCU智学网上线,欢迎访问新论坛!稀缺资源、技术干货、参考设计、原厂资料尽在MCU智学网
更新自动建库工具PCB Footprint Expert 2023.13 Pro / Library Expert 破解版

基于FPGA的立体视频转换系统设计方案

[复制链接]
1011 0

本文包含原理图、PCB、源代码、封装库、中英文PDF等资源

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
  自由立体显示器是一种无需佩戴辅助装置就能观看三维立体效果的显示器。由于立体显示器能够真实还原三维信息,因此在军事、商业、医疗等领域有着广阔的发展前景[1]。
    随着立体显示器研究的不断发展,自由立体显示技术日趋成熟,不断涌现出各种新型的立体显示技术[1,2]。其中基于视差的立体图像显示技术以实现方便和技术成熟的优点被广泛应用[2]。传统的立体图像源通常不能直接用于新型立体显示器显示,为立体显示器提供合适的图像源成为立体显示研究的一个重要环节。本文介绍一种基于视差原理的立体显示器的视频转换系统,它能够将已有的立体视频格式转换成所需的视频格式。
    基于视差的立体显示器需要在屏幕上同时显示一对立体图像,因此显示器所需的图像格式也不同于平面显示器。本文将以输入左右格式(Side-by-Side)的视频信号为例,详细描述该信号格式转换为一种液晶立体显示器格式的设计与实现。该系统以FPGA为核心,采用全数字的数字视频口DVI(Digital Visual Interface)作为液晶显示器的视频接口,并且使用一片DDR SDRAM构建了高速的帧缓存系统,保证了数据的实时处理。系统可以工作在2D和3D模式下,实现显示器的平面/立体兼容,在1 280×1024@60 Hz的19寸立体显示器上工作稳定,满足系统要求,通用性很好。
    1 系统设计
    1.1 目标视频格式
    目前存在大量左右格式的立体图像和视频。所谓的左右格式,就是在一幅完整的图像上,将一对立体图像平行放置在图像的左半边和右半边,如图1(a)所示。观看者左眼只看到左边的图像,右眼只看到右边的图像时就能看到立体图像。一种基于液晶和视差原理的自由立体显示器,将左右图像分别放在亚像素列的偶数列和奇数列。以屏幕分辨率为1280×1024为例,原图第0~639列为左图,640~1279为右图,则第0列和第640列像素组成变换后图像的第0列和第1列;第1列和第641列组合为第2第3列……依次类推。组合的方式为交换对应像素的绿色分量。合成后的效果如图1(b)所示,左右图像的亚像素在水平方向间隔排列。
    1.2 硬件系统设计
    系统的硬件框图如图2所示。该系统采用DVI作为视频输入输出接口。DVI作为一种全数字的接口标准,已经成为液晶显示器必备的一种接口。与VGA相比,它的优点在于采用数字信号传输,没有A/D、D/A二次转换带来的信号损失。其中输入输出分别采用TI公司的TFP401和TFP410芯片,该芯片支持最高165 MHz的像素时钟,即对应1600×1200@60 Hz的分辨率。FPGA芯片采用Xilinx公司的Spartan3E系列的XC3S1600E,该芯片具有较为丰富的资源,并且成本较低。为了满足视频数据存储的需要,该系统还配备了一组位宽为32 bit、容量为64 MB的DDR SDRAM存储芯片。当系统工作在2D模式时,FPGA采集由DVI输入的视频数据,经SDRAM缓存后发送给DVI输出芯片;当系统工作在3D模式时,FPGA先对读入的数据实时进行格式转换后再写入SDRAM,然后从SDRAM读出转换好的数据发送给DVI输出芯片,立体显示器接收到的即是对应的立体格式的数据。该设计利用DVI输入输出时序上的特点,分时利用一组SDRAM实现了类似“乒乓操作”的帧缓存功能,充分利用了系统资源。
    2 FPGA逻辑设计
    系统设计的主要任务是完成FPGA对各个模块的控制,包括DVI数据的输入输出、SDRAM的读写控制、数据的缓存以及各模块之间的协调等。其中,数据的缓存是整个系统设计的关键。FPGA内部的模块划分如图3所示,虚线左边的模块采用视频的像素时钟作为工作时钟,频率取决于分辨率;右边的模块采用系统自身生成的时钟作为工作时钟,频率最高为166 MHz。
    2.1 DVI输入输出
    DVI输入输出控制,一方面根据同步信号采集视频数据;另一方面要根据输入信号生成输出信号,包括行同步(HSYNC)、场同步(VSYNC)、数据有效信号(DE)等。以输入视频信号1 280×1 024@60Hz为例,根据VESA(Video Electronics Standards Association)标准,此时像素时钟fp=108 MHz,每一行信号期间,当DE信号为高电平时,数据有效。于是可以在检测到DE信号的上升沿后开始采集数据,而在DE转为低电平后停止数据的采集。采集的数据写入SRAM,SRAM地址由同步信号解码产生。
    为了精确生成输出DVI的同步信号,需要在采集DVI输入数据的同时统计输入信号各个特征脉冲维持的时钟数。图4所示为以行为单位统计场同步信号的参数。输出端在根据统计参数生成DVI同步信号的同时,当输出信号的DE为高电平时,从输出SRAM读取相应的数据送到数据总线。

举报

回复
*滑块验证:
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

打开支付宝扫一扫,最高立得1212元红包
搜索

图文热点

更多

社区学堂

更多

客服中心

QQ:187196467 服务时间:周一至周日 8:30-20:30

关注我们

关于我们
关于我们
友情链接
联系我们
帮助中心
网友中心
购买须知
支付方式
服务支持
资源下载
售后服务
定制流程
关注我们
官方微博
官方空间
官方微信
快速回复 返回顶部 返回列表