2 遥感图像实时滚动显示系统的设计要求
遥感图像实时滚动显示系统具有以下特点:
(1)图像尺寸大,行像素点数多;
(2)图像滚动显示,速度快,每秒刷新行数较多;
(3)显示信息丰富,除显示动态图像外,还要能够在图像上叠加显示文字信息和网格信息;
(4)有良好的视觉效果,图像滚动显示不能有跳跃的感觉;
(5)基于可满足特殊环境要求的嵌入式平台运行。
基于上述设计限制,对动态图像实时显示系统显示速度的要求是比较高的。具体的技术指标如下:
输入数据率: ≤2.5Mb/s
输入每行像素数: 8192点/线
输入数据格式: 遥感图像+辅助数据
显示字长: 8bit
显示图像灰度级: 256
屏幕显示方式: 滚动显示
网状标尺叠加显示: 热键选择
辅助信息字符显示: 热键选择
图像显示模式: A.高分辨率局部显示,行显示起始可选
B.抽样全局显示,行向8抽1,列向8抽1
要求实时显示系统在1024×768的显示模式下滚动显示图像的同时,在固定位置叠加显示的辅助数据字符和网格标尺。由于需要在全屏范围内叠加滚动的和静止的两种图像,在嵌入式平台的实现难度较大。
3 几种软件实现方案的对比
根据嵌入式计算机的显示卡性能和可利用的编程软件库,可以采用以下3种方式实现实时图像显示软件:
(1)基于帧切换
基于帧切换的滚动图像与静止图像叠加显示是通过类似电影放映的方式实现的,即由全屏图像构成一帧,许多这样的帧一起构成帧序列,通过在屏幕上顺序显示这些帧序列,就形成在图像滚动显示的同时叠加静止网格和文字。
按照实时显示的要求,基于帧切换的方法构成一帧时,首先要在后台显存中重建整个一帧的图像数据,然后将网格和文字写到显存的相应地址。这种方法的数据搬移量非常大,所需的显示内存容量很大,对显存的存取速度要求高。
(2)基于帧切换,并利用硬件二维加速功能
利用硬件二维加速功能实现帧切换,这种方法与上述方法类似,不同的是它利用了硬件的优势,即滚动显示的图像与静止的网格和文字分别存储于显示存储器的不同区域,在显示时由显示卡的硬件进行叠加,这样,对每帧图像的操作基本只集中在图像数据的存储区内。
此时,构成一帧的主要工作是重建整个一帧的图像数据,由于网格和文字存储于显存中的另一地址空间,一般情况下,仅需对个别文字进行操作。然而,这种方法的数据搬移量还是非常大,对系统内存寻址能力要求高,所需的显示内存容量更大。
(3)基于更改显示窗口在显存中的起始地址
在显示存储器中,屏幕上显示的仅是显存的一小部分。当设定显示模式后,可以把整个显示存储器看作是一幅纵向很长的画面,显示器作为一个窗口只显示了其中的一部分。我们可以通过更改显示窗口在内存中的起始地址的方法来改变屏幕上的内容,如果这种改变是顺序、连续的,在屏幕上就会形成滚动的图像。
每次输入的图像数据依次存储于显存中,再进行所需的处理(如添加纵向的网格线),当需要屏幕滚动时,首先更改显示窗口在内存中的起始地址,然后处理横向的网格线和文字,使它们在屏幕上处于正确的位置。这种方法的数据搬移量比较小,所需的系统内存和显示内存容量也很小,但这种方法的数据处理较复杂,在编程过程中需要考虑多种边界的影响。同时,当用户不需要显示网格线和文字时,恢复已被显示网格线和文字破坏的原图像数据的处理量是非常大的,是否能够实现取决于目标系统的系统内存和显示内存的存取速度以及编程语言的效率。