一种基于FPGA的立体视频转换系统研究设计

发布者:知识的海洋最新更新时间:2010-11-09 来源: 电子技术应用2010年第9期关键字:FPGA  立体视频转换  SDRAM  DVI 手机看文章 扫描二维码
随时随地手机看文章

  自由立体显示器是一种无需佩戴辅助装置就能观看三维立体效果的显示器。由于立体显示器能够真实还原三维信息,因此在军事、商业、医疗等领域有着广阔的发展前景[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)所示,左右图像的亚像素在水平方向间隔排列。

[page]

  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。

[page]

  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读取相应的数据送到数据总线。

  2.2 数据缓冲

  数据缓冲是整个设计的关键。数据的存储缓冲是信号处理中通常会遇到的问题。视频信号的缓冲,由于其数据量大,使得对存储器的容量和速度都提出了比较高的要求。当系统工作在1 600×1 200@60 Hz的最大分辨率时,存储一帧数据所需的容量是d0=1 600×1 200×3 B=5.49 MB,此时的数据率为d=d0×60=329.59 MB/s,这要求存储器具有大容量和足够快的速度。常用的数据缓冲方法有FIFO、双端口RAM和乒乓操作3种。

  FIFO的使用非常简单,缺点是只能顺序读写,并且容量较小。双端口RAM可以做随机存取,且速度很快,然而SRAM的价格昂贵,容量通常在几百Kbit到几Mbit大小,所以也不适合做大容量的存储。而SDRAM有容量大且速度较快的优点,所以采用SDRAM的乒乓操作既可以满足视频数据大容量的要求,又能满足速度上的要求,是一种较好的方案。

  综合以上方案,同时根据输入输出数据时序上的相似性特点,本文提出了一种时分复用单片SDRAM的方案。该方案用一组SDRAM实现类似“乒乓操作”的帧缓冲效果。

  整个存储缓冲的结构如图5所示。输入输出均采用两级缓存的方式。其中第一级缓存可以存储一行数据,采用FPGA片内双端口SRAM实现;二级缓存是可以存放完整两帧数据的DDR SDRAM,作为主存储器。

[page]

  当某一帧数据到来时,输入端的数据不停地从双端口RAM的一个端口写入SRAM_Rx。每当检测到DE的下降沿,说明已经有一行的数据写入完毕,则从另外一个端口将SRAM_Rx的数据写入DDR用于保存当前帧数据的存储区。写入一行结束时,输入端要等到下一个DE下降沿到来才会再次有读写SDRAM的需求。也就是说SDRAM此时处于空闲期,于是马上从之前保存好的上一帧数据中读出相应的一行数据写入SRAM_Tx,输出端则在写入SRAM_Tx一行完毕后从SRAM_Tx的另一个端口读出数据。这样一直到一帧结束。当下一帧数据到来时,交换读写所指向的帧存储区,这样保证了原视频信号的帧率不变。

  为了使设计简单,DDR控制器模块DDR_IF使DDR工作在BL(Burst Length)即数据突发长度等于2的状态[4],并且以行为单位完成一次读写流程。每次要写入或者读出一行数据时,主控制模块MAIN_CTL向DDR_IF发送读写请求,然后发送一行数据所需要传送的突发长度的数量BL_CNT,以及该行数据要存入DDR的bank地址、行起始地址、列起始地址。之后,MAIN_CTL和DDR_IF进入读写流程。一行数据读写操作的Modelsim时序仿真如图6所示,图中以一行数据有3个像素为例。

  根据以上分析,DDR在一行数据的时间内被复用,理论上只要满足写入一行加读出一行数据的时间小于一行数据的持续时间Th即可。在1 600×1 200@60 Hz的分辨率下,行周期Th=13.3,当DDR工作在165 MHz时,其读一行数据加写一行数据的时间为:Tl=1 600×2/165 M×2=9.7

  2.3 格式转换

  2.3.1 3D模式

  2.3.2 2D模式

  对于本文设计的系统,对程序稍作修改即可实现2D/3D兼容。只须在输入端,第k个像素到达时,各分量分别存入地址addr=k即可。

  本文介绍的立体视频转换系统能够在不影响帧率的情况下进行实时转换,并且满足2D/3D兼容的需要。该系统目前已应用于立体显示器格式转换。DVI接口的使用,使得该系统有着广泛的兼容性。此外,系统用一片SDRAM实现了帧缓冲的功能,在充分利用系统资源的同时,使得整个系统的设计更为简洁,有利于减小体积和降低成本。同时,该系统实际上构建了一个通用的视频处理架构,具有很好的扩展性,程序只需稍作修改即可用于其他尺寸、其他格式视频源(如上下格式、时分格式)、其他立体实现方式(如按行或者按列分割左右图像)的立体显示器。

  参考文献

  [1] 王元庆.自由立体显示器的应用与现状[J].现代显示,2003(1):38-41.

  [2] 周如辉.实时视频处理系统中乒乓缓存控制的设计[J]. 电子元器件应用,2006(4):66-68.

  [3] 朱炜.DDR SDRAM控制器的设计与实现[J].电子器件,2009(3):592-595.

  [4] 王元庆.基于LCD的自由立体显示技术[J].液晶与显示,2003,18(2):116-201.

  [5] 汪洋,王元庆.多用户自由立体显示技术[J].液晶与显示,2009(3):434-437.

关键字:FPGA  立体视频转换  SDRAM  DVI 引用地址:一种基于FPGA的立体视频转换系统研究设计

上一篇:英特尔获授权使用CEVA面向下一代4G无线产品的CEVA-XC DSP内核
下一篇:利用FPGA的新功能保证视频设计安全性

推荐阅读最新更新时间:2024-05-02 21:11

基于FPGA的高速数字隔离型串行ADC及应用
   1.引言   目前,逆变器在很多领域有着越来越广泛地应用。对逆变器的研究具有十分重要的意义和广阔的工程应用前景。常见逆变技术的控制方法大致分为开环控制的载波调制方法和闭环控制的跟踪控制方法。跟踪控制方法属于闭环控制,闭环反馈中的检测环节需要与高压主电路相互隔离,避免高压侧电磁噪声对控制电路的窜扰。高性能的跟踪型逆变器对反馈量的实时性要求很高,因此要求反馈环节具有高速隔离传输模拟信号的能力。   目前,最常用的隔离技术可以分为线性隔离和数字隔离。线性隔离器存在温度漂移、线性度差,鲁棒性弱的问题,很难满足宽频带高精度的隔离传输要求。在现代跟踪控制用逆变器领域中大多采用数字化控制,如果在高压侧将模拟量变成数字量,再通过高速隔
[嵌入式]
基于<font color='red'>FPGA</font>的高速数字隔离型串行ADC及应用
HDLC控制协议的FPGA设计与实现
摘要:设计了一种基于FPGA的HDLC协议控制系统该系统可有效利用FPGA片内硬件资源,无需外围电路,高度集成且操作简单。重点对协议的CRC校验及“0”比特插入模块进行了介绍,给出了相应的VHDL代码及功能仿真波形图。 关键词:高级数据链路控制; 现场可编程门阵列; 循环冗余码校验 1 引言 HDLC(High Level Data Link Control)协议是通信领域中应用最广泛的协议之一,它是面向比特的高级数据链路控制规程,具有差错检测功能强大、高效和同步传输的特点。目前市场上有很多专用的HDLC芯片,但这些芯片大多因追求功能的完备,而使芯片的控制变得复杂。实际上,对于某些特殊场合的特殊用途(如手持式设备),我们
[应用]
基于FPGA的身份认证智能卡设计
身份认证是保密通信和信息安全的基础。通过身份认证机制可以鉴别网络事务中涉及到的各种身份,防止身份欺诈,保证通信参与各方身份的真实性,从而确保网络活动的正常进行 。因此,身份认证一直是网络安全研究领域的前沿技术。   目前使用的身份认证技术可以分为三种类型:基于所知、所有以及基于个人生物特征的认证。认证方式包括口令认证、智能卡认证以及指纹、虹膜等生物认证方式。   口令认证是最为广泛的一种认证方式,从普通的计算机登录系统到网络邮件系统都采用这种方式。但是,口令认证的安全性比较低,容易被他人盗用。基于指纹、虹膜的生物身份认证方式是生物技术在信息安全领域的应用,具有普遍性和唯一性的特点,但基于生物识别设备成本和识别技术水平的考虑,
[嵌入式]
基于<font color='red'>FPGA</font>的身份认证智能卡设计
片上芯片SoC挑战传统测试方案
SoC厂商如何在提高复杂器件传输速度的同时降低 测试 成本?    随着先进的集成电路(IC)设计方法和高密度生产技术的使用,半导体厂商能够把不同的数字和 模拟 电路集成在极小芯片上,其尺寸之小、功能之全尚无先例,我们称之为系统芯片。尽管具有先进的设计和制造能力,可是IC厂商在对这些多元器件进行快速而又低成本地批量生产时,面对 空前的挑战。当把若干功能单元结合在一个单独器件上时,今天的SoC器件为减少批量生产时间和测试成本,向传统的测试方法发起挑战。结果是,厂商们将更广泛地研究新方法,这些新方法通过在设计和测试之间的有效平衡,提供了一个更有效地从事SoC设计、生产和测试的方案,并能够同时做到减少其生产时间和测试费用。
[测试测量]
片上芯片SoC挑战传统测试方案
Xilinx FPGA的Fast Startup
 在众多当代应用中,嵌入式系统必须满足极其苛刻的时序要求。其中之一就是启动时间——即上电后电子系统进入可操作状态所需要的时间。PCI Express®产品或汽车应用中基于CAN的电子控制单元(ECU)就是具有严格时序要求的电子系统的应用实例。     标准PCI Express®(PCIe)系统上电后仅100毫秒,系统的根组件就开始扫描总线以便弄清拓扑结构,并在这一过程中进行初始化配置。 如果PCIe设备没有准备好响应配置请求,根组件就找不到此PCIe设备,并认为它不存在。该设备将无法加入PCIe总线系统。     汽车应用中的情形与此大体相仿。在基于CAN的网络中,ECU进入睡眠模式,这时它们将停止运行并切断电源连接。只有很少部分
[嵌入式]
Xilinx <font color='red'>FPGA</font>的Fast Startup
FPGA与DSP的高速通信接口设计与实现
在雷达信号处理、数字图像处理等领域中,信号处理的实时性至关重要。由于FPGA芯片在大数据量的底层算法处理上的优势及DSP芯片在复杂算法处理上的优势,DSP+FPGA的实时信号处理系统的应用越来越广泛。ADI公司的TigerSHARC系列DSP芯片浮点处理性能优越,故基于这类。DSP的DSP+FPGA处理系统正广泛应用于复杂的信号处理领域。同时在这类实时处理系统中,FPGA与DSP芯片之间数据的实时通信至关重要。 TigerSHARC系列DSP芯片与外部进行数据通信主要有两种方式:总线方式和链路口方式。链路口方式更适合于FPGA与DSP之间的实时通信。随着实时信号处理运算量的日益增加,多DSP并行处理的方式被普遍采用,它们共享总线
[嵌入式]
基于FPGA的多种分频设计与实现
0 引言 分频器是FPGA设计中使用频率非常高的基本单元之一。尽管目前在大部分设计中还广泛使用集成锁相环(如altera的PLL,Xilinx的DLL)来进行时钟的分频、倍频以及相移设计,但是,对于时钟要求不太严格的设计,通过自主设计进行时钟分频的实现方法仍然非常流行。首先这种方法可以节省锁相环资源,再者,这种方式只消耗不多的逻辑单元就可以达到对时钟操作的目的。 1 整数分频器的设计 1.1 偶数倍分频 偶数分频器的实现非常简单,通过计数器计数就完全可以实现。如进行N倍偶数分频,就可以通过由待分频的时钟触发计数器计数,当计数器从0计数到N/2-1时,输出时钟进行翻转,并给计数器一个复位信号,以使下一个时钟从零开始计数。以此
[应用]
彰显对华承诺及产品领导地位 赛灵思公司荣获多项业界最具声望奖项
·业界首个65nm FPGA—赛灵思 Virtex-5 FPGA系列产品在《电子工程专辑》2007年电子成就奖(ACE Awards)评选中,被中国电子设计师评选为“年度最佳产品” ·赛灵思公司被《电子工程专辑》专家评委会授予2007年“年度最佳品牌入围奖”。 ·赛灵思公司蝉联《中国电子报》和赛迪顾问集团(CCID Consulting)评选的2006年度“中国市场十大最受欢迎半导体品牌”之一。 2007年3月12日,北京 - 全球领先的可编程逻辑解决方案供应商赛灵思公司 (Xilinx, Inc. (NASDAQ:XLNX) )今天宣布公司对中国市场的承诺及其产品领导地位被中国的电子设计师和本土的半导体行业专家通过投票等评选方
[焦点新闻]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved