基于改进型二步索引算法OSD电路的FPGA

发布者:江上HZ最新更新时间:2010-06-11 来源: 中电网关键字:OSD  FPGA  二步索引算法  视频处理 手机看文章 扫描二维码
随时随地手机看文章

  引 言

  OSD(on screen display),即在屏显示系统,是实现人机界面交互的基础,在视频处理SOC中作为重要功能模块有着广泛的应用。

  基于SOC技术的模块化设计要求各功能模块尽可能小地占用电路资源,以满足芯片系统对资源使用和面积的控制。对于OSD功能模块而言,存储器资源为主要开销。因此,减少存储器资源的使用对降低OSD模块电路资源需求有着重要的意义。

  OSD电路中,字符索引算法的选取直接决定了存储器资源的使用情况,因此采用更优化的字符索引算法可以达到降低存储器资源需求量的目的。作者在逐字符索引法的基础上,针对该算法的缺点,提出了二步索引法。在保证OSD功能完整的同时,大大地降低了系统对存储器资源的需求。

  1 二步索引算法的原理及特点

  1.1 字符索引算法原理

  字符索引算法是将OSD菜单中所显示的字符按菜单显示顺序进行编码,并存储于存储器中,在读取字符点阵信息以显示菜单时通过读取编码信息来索引所需字符信息。设菜单中字符尺寸为C1×Ch(bit),菜单共显示m行字符,每行显示n个字符,字符编码Ni×j,并且存储器中一个地址所存储的数据(bit)大于C1。则读取菜单中第i行第j个字符时,首先通过索引得到存储器中相应字符的字符编码Ni×j,索引地址可通过公式(1)得出:

add_mi×j=addr_n0×0+(i-1)n+n-1 (1)

  将读取出的字符编码Ni×j转换成相应字符点阵信息在存储器中存储空间的首地址。地址的转换可通过公式(2)计算得到:

addr_di×j=addr_d0×0+Ch×(Ni×j-1) (2)

  式中:addr_u0×0和addr_d0×0分别是字符编码存储器和字符点阵信息存储器中首地址指针。根据Ch控制从字符点阵信息存储器中读出地址范围为addr_di×j到addr_di×j+Ch的数据即完成了对菜单中第i行第j个字符的点阵数据信息的读取。

  逐字符索引算法下,将空格按字符看待并进行编码,菜单每行固定显示n个字符,字符长度小于n的菜单行由空格来补齐。由于采用定长的存储结构,所以字符索引电路原理简单且易于实现,只需要根据菜单字行符长数n就可以计算出相应行字符的首地址指针。但这种存储结构的缺点也很明显,就是对存储器的使用量较大。在该算法下,可以计算出在OSD所需要的使用的存储器量为:m×n×Ch,如图1(a)所示。存人其中的“空格”(图中编码为“28”)会占用相当一部分的存储器资源。在一些情况中,用于补充空缺而存储的“空格”所占用的存储空间甚至会比字符点阵信息的存储空间还要多,这是对存储器资源极大的浪费。

两种算法下数据的存储结构[page]

  1.2 二步索引算法原理

  如果只存储字符点阵信息而不存储‘空格’,显然对节省存储器资源将有着很大的帮助。为达到这样的设计目标,在逐字索引法的基础上,通过改进提出了二步索引算法。

  设第k幅菜单中显示nk行字符,菜单第i行中显示li个字符。其中,nk存储于寄存器中,li存储在一段地址长度为nk的字符数信息存储器中。在二步索引算法下,通过读取字符数信息存储器中的数据以及根据nk限制读出的li数据个数,可以确定菜单中各行所显示的字符的个数。第k幅菜单中第i行第j个字符的编码信息在存储器中的地址指针可以根据公式(3)确定:

公式

  读出字符编码数据Ni×j,仍然通过公式(2)得到相应字符在点阵信息存储器中存储地址段的首地址指针,从而读出全部的字符点阵信息。完整的数据读取操作过程如图2所示。

完整的数据读取操作过程

  在二步索引算法中,引入了行显示字符数li和菜单显示字符行数nk2个参数,通过nk首先索引菜单中第i行的显示字符数li,根据li控制索引该行第j个字符编号Ni×j。根据li可以知道每行显示的字符数,所以字符编码信息可以按行顺序紧密的存储,即每行存储的数据采用非定长的方式,如图1(b)所示。与图1(a)所示的逐字索引法存储器结构相比,二步索引法在对存储器资源的节省方面效果是显著的。

  2 二步索引法OSD电路结构实现

  2.1 字符索引电路实现

  如图3所示,相比于逐字索引法的电路实现结构,二步索引法的电路实现结构中增加了字符行寄存器和用于存放行字符数信息的存储器。字符行寄存器中存人nk,根据字符行计数器所计数据与nk比较来控制从行字符数存储器中读出的数据数。读出的行字符数信息li再用以控制显示第i行菜单字符所需从字符编码存储器中读出的字符编码数据数。读出的字符编码Ni×j通过地址生成电路转换成相应字符的点阵信息在字符点阵ROM中存储地址段的首地址,从而在字符点阵ROM中索引出相应字符的点阵数据,如此反复,可实现对全部字符点阵数据的索引。

  2.2 数据输出控制与层混合叠加电路实现

  从字符点阵ROM中读取出的字符点阵信息经过点阵重组电路的处理后将按字符Cl×Ch顺序的点阵信息转换成按菜单行顺序的格式存入到输出缓存中。输出缓存中数据的存储顺序如图3所示。

输出缓存中数据的存储顺序

  输出缓存能够存储整幅菜单的显示信息,以使菜单生成和菜单输出显示2个过程相互独立,从而使得在显示菜单的同时,可进行新菜单内容的读入,保证菜单显示的连贯胜。输出缓存容量大小由包含显示信息最多的一幅菜单决定。

  从输出缓存中读出的数据用于控制生成菜单字符层,在层选择电路中与菜单背景层和属性条层进行叠加处理后输出一幅完整的菜单。字符层、菜单背景层和属性条层相互独立,由层混合控制电路控制进行混合叠加处理,再将菜单与屏幕背景层进行叠加输出混合视频信号。层混合叠加电路的实现结构如图4所示。

层混合叠加电路的实现结构[page]

  3 OSD电路的FPGA实现及功能验证

  设计在Xilinx公司的ISE6.3软件环境下,使用Verilog HDL硬件描述语言对其电路逻辑进行描述,并以Xilinx公司xc2v1500bg575-4型为核心芯片的FPGA仿真验证平台对其进行硬件实现及功能验证。FPGA验证平台架构如图5所示。

FPGA验证平台架构

  验证平台输入模拟视频信号,经SAA7111A芯片电路A/D采样转变为数字视频信号接入FPGA验证平台。经过视频处理电路去隔行、尺寸缩放等处理的视频信号在图象混合电路中与OSD菜单混合后输出经DS90C38芯片电路转为LVDS(低压差分信号)信号并驱动液晶屏显示结果。

  对2种字符索引算法下实现的OSD电路进行验证比较。OSD字符索引电路部分使用到的存储器资源可以分为字符编码存储器、行字符数存储器、字符行寄存器3种。以生成图6中所示菜单为例分析2种算法下OSD字符索引电路对存储器资源的使用情况,将结果列于表1中。

2种OSD字符索引结构资源统计

  从表中可以看出,以二步索引算法实现的字符索引电路使用了8个bytes的行字符数存储器和1个byte的字符行寄存器,而以逐字索引算法实现的字符索引电路在这2类存储器上的使用量均为0。但是,后者在字符编码存储器的使用上却达到了96 bytes,远远多于前者50 bytes的使用量。从表1中可以看到,前者对存储器资源的总使用量比起后者减少了很大一部分。随着菜单尺寸的增加和显示的字符信息的增加,二次索引算法对存储器资源的节省效果也会更加的显著。

  4 结束语

  采用模块化设计方法实现的OSD电路,作为视频格式处理芯片的子电路模块,对硬件资源的使用将影响到整块芯片的电路性能。本文针对OSD电路中以存储器为硬件资源的主要开销这个特点,提出了采用二步索引算法实现的一种改进型字符索引结构的OSD电路。引入字符行寄存器和行字符数存储器,通过对行字符数和字符编码的二步索引,从而得到了菜单的显示信息,同时大大地降低了对存储器资源的使用。该算法的硬件结构简单,易于实现,在实现了同样的电路功能的前提下,大大节省了硬件资源的开销。

  本文所介绍的基于二步索引算法实现的改进字符索引结构的OSD电路,将作为子模块电路集成于一款视频格式转换多媒体芯片的系统中,为其提供人机交互功能。该系统可应用于汽车电子、视频显示等多媒体处理场合。

关键字:OSD  FPGA  二步索引算法  视频处理 引用地址:基于改进型二步索引算法OSD电路的FPGA

上一篇:专家点拨:如何发挥FPGA设计的无限潜力
下一篇:一种基于FPGA和单片机的频率监测系统设计

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

基于FPGA的ARM并行总线和端口设计
通过EP2C20Q240器件和LPC2478处理器,研究ARM应用系统外部并行总线的工作原理和时序特性,以及在FPGA中进行双向总线设计的原则,设计并实现了FPGA并行总线.借助Quartus II仿真工具,对FPGA并行总线进行了时序仿真,并用SignalTap II逻辑分析仪进行在线测试,验证设计的正确性. 0 引言 在数字系统的设计中,FPGA+ARM 的系统架构得到了越来越广泛的应用,FPGA主要实现高速数据的处理;ARM 主要实现系统的流程控制.人机交互.外部通信以及FPGA 控制等功能.I2C.SPI 等串行总线接口只能实现FPGA 和ARM 之间的低速通信 ;当传输的数据量较大.要求高速传输时,就需要用并行总线来
[单片机]
基于<font color='red'>FPGA</font>的ARM并行总线和端口设计
FPGA构成液晶显示控制器
摘要:在DSP和FPGA为核心的无线扩频通信平台上增加液晶显示和触摸屏控制,从而能实现文字和图形信息的编辑和无线传送。用FPGA构造逻辑作为液晶显示控制器,不需要额外硬件资源。该产品集成化后体积小、便于携带、用途广泛。 关键词:液晶显示 无线通信 FPGA DSP 由DSP(数字信号处理)芯片和FPGA(现场可编程逻辑门阵列)为核心组成的无线数字扩频通信平台是无线扩频通信的一个开放式平台,能用于无线接入、无线图象和音频传送、移动INTERNET、精确区域定位LPS、智能遥控探测等高科技领域。在此基础上增加液晶显示和触摸屏控制,从而能实现文字和图形信息的编辑和无线传送。 表1 液晶模块引脚安排 引脚名称 功能
[嵌入式]
揭秘FPGA电机测速系统经典电路
现场可编程门阵列即FPGA,是从EPLD、PAL、GAL等这些可编程器件的基础上进一步发展起来的。作为专业集成电路领域中的半定制电路而出现的FPGA,不但解决了定制电路的不足,而且克服了原有 可编程器件 因门电路数有限的而产生的缺点。FPGA 的使用十分的灵活,同一片FPGA 只要使用不同的程序就能够达到不同的电路功能。现在FPGA 在通信、仪器、网络、数据处理、工业控制、军事和航空航天等众多领域有着广泛的应用。随着成本和功耗的进一步降低,将在更多的领域运用FPGA。基于FPGA 的电机测速系统设计,以Quartus II 为设计平台,采用硬件描述语言VHDL和模块化设计的方式,并通过数码管驱动电路动态显示测量的结果。本设计具有外围
[测试测量]
揭秘<font color='red'>FPGA</font>电机测速系统经典电路
满足FPGA电源设计需求的DC/DC转换器
  需要大量数字处理的电子系统常常利用 FPGA 或 CPLD 等现场可编程器件实现,而不是利用定制专用集成电路( ASIC )。虽然定制ASIC可能比现场可编程器件具有成本优势,但现场可编程器件具有即时制造周转、低启动成本以及设计速度和方便性等优点。这些优点已使FPGA和CPLD成为实现以太网交换机和路由器、存储局域网设备和多媒体内容传输系统等复杂数字系统的首选器件。   利用FPGA或CPLD进行电路设计的流程由以下几个普通步骤组成:设计入口、设计确认、设计汇编和器件编程。设计入口阶段由捕获设计组成,不是通过利用电脑辅助设计工具创建图形化原理图,就是通过利用Verilog或VHDL等硬件描述语言来描述电路。在捕获设
[电源管理]
满足<font color='red'>FPGA</font>电源设计需求的DC/DC转换器
技术文章—使用高速NOR闪存配置FPGA
NOR闪存已作为FPGA(现场可编程门列阵)的配置器件被广泛部署。其为FPGA带来的低延迟和高数据吞吐量特性使得FPGA在工业、通信和汽车ADAS(高级驾驶辅助系统)等应用中得到广泛采用。汽车场景中摄像头系统的快速启动时间要求就是很好的一个例子——车辆启动后后视图像在仪表板显示屏上的显示速度是最为突出的设计挑战。 上电后,FPGA立即加载存储于NOR器件中的配置比特流。传输完成后,FPGA转换为活动(已配置)状态。FPGA包括许多配置接口选项,通常包括并行NOR总线和串行外设接口(SPI)总线。支持这些总线的存储器在不同厂商的产品之间总是存在微小的不兼容性,增添了采购多款存储器件的困难程度。 全新发布的JEDEC xSPI
[汽车电子]
技术文章—使用高速NOR闪存配置<font color='red'>FPGA</font>
基于VHDL语言的FPGA简易数字钟设计
作为一个菜鸟我很愿意分享下我做的一些小东西,记得一年前好像少几天吧,看记录是2009年5月19日 我用51单片机做数字钟的情景,那个时候用汇编,焦头烂额,做了三天,还请教了老师。 哎,现在都已经用C了,而且重心已经放在了AVR上, 不过想想,这一年我还是学了很多东西,至少不是虚度了这一年。 FPGA是挺好玩的,不过没有时间搞,忙着比赛。 不过凭借着学期前两个礼拜实习天天晚上去图书馆自学VHDL的基础,加上单片机的基础,一直活到现在。呵呵呵 臭屁一下,今天老师说我可以做他的助教,确实把我兴奋了一把, 其实我一直很心虚,因为都没有时间搞,哪天出个难题答不上来就糗了。 今天中午和下午花了6个小时左右的时间做了一个数字
[单片机]
基于VHDL语言的<font color='red'>FPGA</font>简易数字钟设计
加速开发下一代汽车应用
随着混合动力汽车和电动汽车(EV)的普及,汽车应用开发的需求显着增长,这些应用包括可以最大限度地延长电池使用时间的电源管理、高级驾驶辅助系统(ADAS)以及支持语音控制和手势识别功能等技术的信息娱乐系统人机界面(HMI)等。 汽车制造商正尝试将车载视觉系统和人工智能用于各种使用场景。包括: • 监测驾驶员的疲劳、注意力涣散或损伤 • 监控乘客(例如,确保儿童和/或宠物不会被无意中锁在车内)和物体(例如确保包、手机和钱包等物品不会无意中遗忘在车内) • 用于支持ADAS和自动驾驶功能的人工智能外部视觉系统 与此同时,车辆的互连程度日益加深,如今的许多汽车都支持车联网(V2X)或5G,制造商需要遵守当地的
[嵌入式]
加速开发下一代汽车应用
ASIC、DSP、FPGA大比拼
ASIC DSP FPGA 概念 ASIC ( Application Specific Integrated Circuits )即专用集成电路,是指应特定用户要求和特定电子系统的需要而设计、制造的集成电路。按用户需求而设计制作的集成电路 (ASIC) 应运而生。 数字信号处理器是在模拟信号变换成数字信号以后进行高速实时处理的专用处理器 FPGA 是英文 Field Programmable Gate Array (现场可编程门阵列)的缩写,它是在 PAL 、 GAL 、 PLD 等可编程器件
[新品]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

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

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