当前位置:首页 > 消费电子 > 消费电子
[导读]摘要:设计一套低帧速无线视频传输系统,将个人计算机屏幕上的图像通过无线的方式传输到投影仪上。系统中视频发送端采用普通个人计算机,视频接收端是基于ARM11的嵌入式系统。所传输图像使用JPEG标准进行压缩,传输数

摘要:设计一套低帧速无线视频传输系统,将个人计算机屏幕上的图像通过无线的方式传输到投影仪上。系统中视频发送端采用普通个人计算机,视频接收端是基于ARM11的嵌入式系统。所传输图像使用JPEG标准进行压缩,传输数据链路为Wi-Fi。该系统主要用于教学、会议等场合。本系统可以减少演示场合的线缆,并省去频繁插拔的麻烦。
关键词:无线视频传输;ARM;嵌入式系统;Linux

    个人计算机设备及其外设的无线化一直是行业趋势,随着科技进步,无线鼠标、无线键盘、无线路由等无线设备纷纷问世。但是目前几乎所有在使用的投影仪都使用线缆和计算机连接,在商务、科研的会议或展示场合,这往往会带来不便。
    视频传输数据量大、实时要求高,而完成无线视频传输,无线链路的数据吞吐量必须大于视频数据流量。近年来Wi-Fi标准不断演进,传输速度越来越高;另一方面,嵌入式处理器的处理能力越来越强,并且芯片厂商会在某些嵌入式处理器中集成DSP核心,使得嵌入式系统的视频解码能力有了一个大幅提高,完全能够完成高解析度的视频解码,这使得传送经过压缩的视频数据成为可能,从而间接地降低了视频数据流所占带宽的大小。这一切,使得无线视频传输成为可能。

1 系统硬件构成
1.1 系统整体框架
    该系统由视频发送端和视频接收端组成,它们之间以Wi-Fi作为通信链路。如图1所示,视频发送端是需要进行幻灯片播放的普通计算机,视频接收端是采用ARM11处理器的嵌入式系统,它负责接收、解码视频信号,并通过VGA接口将视频信号传送至大屏幕显示设备上(如投影仪,大屏幕平板电视等)。


1.2 视频接收端硬件构成
    图像接收端采用以三星公司S3C6410芯片为主控的嵌入式系统。S3C6410芯片采用65 nm制程,最高主频可达667MHz。其内部采用了ARM11核心作为主控部分,并集成了存储器控制器、USB控制器、LCD控制器等多种外部设备控制、接口;与此同时,S3C6410还集成了多媒体加速内核(Multimedia Acceleration)。S3C6410芯片如图2所示。


    该芯片中集成的多媒体处理核心包括了JPEG编译码器,可以实现对JPEG格式图片的硬件解码,从而大大提高了系统对JPEG图片的处理能力。它最大支持编解码65 535x65 535分辨率的JPEG图片。接收系统框图如图3所示。
    视频接收端配备了Marvell 8636为主控的Wi-Fi模块,其支持802.11b/g标准,通过SDIO接口与系统相连。
    视频数据经解压后输出到数模转换模块上,最终转换为VGA信号送至投影仪。

2 系统软件设计
2.1 系统软件框絮
    视频发送端软件的主要功能:采集当前屏幕显示图像,压缩图像,传送经压缩的图像。除此以外发送端软件还需要完成与接收端连接的建立、断开功能。与之对应的,接收端软件的主要功能是:接收经过压缩的图像数据,进行图像解码,显示图像。发送端和接收端之间通过Wi-Fi链路传输数据。系统软件构架框图如图4所示。


    在会议场合,典型的演示方式是播放幻灯片,在这种应用场合下,图像在大部分时间下都是准静态的,所以在这种情况下视频的刷新速度可以保持在一个较低的数值上,这里我们设定为8帧每秒。此时,若计算机的屏幕分辨率是1 280×800,色深是24 bit,则视频流的速率是197Mb/s。
    而目前普遍采用的802.11 g Wi-Fi标准,其标称速度只有54 Mbps,并不能满足以上所需的数据带宽。所以需要对数据经行压缩。在1 280x800的分辨率下,压缩率需要在5:1以上,可以考虑选用JPEG标准。JPEG压缩品质比较如图5所示。


    JPEG是很灵活的编码标准,其Q值可以在100以内任意取值。但如果图片质量过高,不但增加了图像编码时CPU的负担,而且增加了数据传输量;而图片质量过低又会影响演示质量。需要在图像质量和数据流量之间找到一个平衡点。
    图5是图片在不同的JPEG编码质量下的效果比较,当Q取50时,进过压缩的图片在肉眼观察下任然拥有较高的画质。而此时,压缩率是15:1,大于前面分析中提出的5:1压缩率要求,在这种情况下数据速率为13 Mb/s,能够在802.11 g提供的带宽下进行传输。可见,Q=50时,图像质量和数据流量之间可以取得一个较好的平衡。
2.2 视频发送端软件设计
    该系统的发送端软件基于windows设计。其实现的主要功能可以概括为:采集当前屏幕显示图像,压缩图像,传送经压缩的图像。发送端软件流程图如图6所示。


    在windows环境下捕捉当前屏幕的方法有:GDI,DirectX,以及Windows media API。其中采用GDI时效率不高,不适合应用在该系统中,这里选用DirectX。
    在DirectX中提供了g_pd3dDevice对象,这是一个IDixeet3DDevice9对象,可以调用IDirect3DSudace9::LockRect()方法来获得一个指针,这个指针指向当前显示缓存的首地址,再使用合适的算法计算出当前显示缓存区的大小,就可以很方便地复制显示缓存的内容至指定内存区域,并采用JEPG标准压缩所采集到的数据。具体原理和过程如下:每一个DirectX程序都包含了后台缓存,与此同时,每个程序在默认状态下都可以访问前台缓存,前台缓存即存储了当前的Windows桌面内容。访问这个前台缓存就可以捕捉当前桌面所显示的画面。以下是捕捉屏幕的关键代码。
    在以下的代码片中,g_pd3dDevice是一个IDirect3D Device9对象,这里假设它已经被初始化过了。这段代码捕获了所需的桌面图像,其后需要对所捕捉到的位图进行处理。此时可以调用IDirect3DSurface9::LockRect()方法,来获得一个指向所所捕获到的位图首字节的指针,然后根据屏幕的尺寸来确定位图的大小,最终将所需的位图数据复制到事先定义好的缓存中。

    需要注意的是,以上代码中所捕捉到的位图,它的宽度不一定就是屏幕的实际宽度,这是由于在存储位图时采用了内存对齐的方法,在位图中内存被按字(word)对齐,所以在每行的结尾处可能需要添加额外的字节来完成内存对其,从而使位图宽度大于实际屏幕宽度。此时可以使用lockedRect.Pitch来获得每行的实际宽度。
    捕捉图像和压缩图像时采用双缓冲模式:在0时隙内,捕捉线程将数据写入Buffer A中,压缩线程Buffer B中的图像,Buffer B中存储了在上个时隙中采集完毕的图像数据;在1时隙,捕捉线程将数据写入Buffer B,压缩线程处理Buffer A中的图像。
    图像捕捉线程和图像压缩线程构成了—个典型的“生产者-消费者”系统,在采用双缓冲的基础上再增加信号机制,可以很好地解决系统中同步与互斥问题。双缓冲示意图如图7所示。


    发送部分调用windows中所提供的相关Winsock(套接字)函数来完成网络传输功能,这里选用UDP协议,并采用丢包、错包不重传机制。(接收端的图像每1/8秒刷新一次,丢弃部分图像数据并不会明显降低用户的使用体验。)
    考虑到在该系统所应用的实际场合中,往往会遇到演示画面在较长一段时间内(数秒至数分钟)并不发生任何变换的情况,可以在图像发送端软件中加入前一帧数据与当前帧比较的功能,若数据未发生改变,则不压缩也不传送图像数据,而只是传送给接收端一个特殊的保持信号,这样可以大大降低处理器负荷以及无线网络的传输负荷,使得无线网络还有余力完成其他用户的其他任务。
2.3 视频接收端软件设计
    图像接收端采用嵌入式Linux操作系统。Linux具有内核可剪裁、开放源代码、开发周期短等优点,并且支持完整的TCP/IP协议栈。
    接收端软件主要功能为:接收经压缩的图像数据,控制处理器中多媒体处理核心解码JPEG图像,显示图像。这里也可以采用相似的双缓冲方法,在接收和解压线程之间设立双缓冲,各自拥有一个轮回跳动的指针来交替对两片缓冲区经行操作。
    图像解压模块负责将接收到的JPEG图像还原为位图。它将利用S3C6410芯片内部的硬件解码来加速系统的执行效率。解压后的数据将被直接写入显示缓存中。
    6410的JPEG解码过程如下:初始化用CresteFile打开“JPG1:”解码驱动,每次解码首先要获取Stream Buffer(IOCTL_JPG_STRBUF),将JPEG数据拷贝到Stream Buffer,接着调用解码(IOCTL_JPG_DECODE),最后通过获取Frame Buffer(IOCTL_JPG_GET_FRMBUF)得到解码后数据。
    在系统运行过程中若出现数据量超出处理能力的情况,则采用直接丢弃的处理方法。接收端软件流程图如图8所示。



3 结束语
    本系统基于三星公司的S3C6410处理器以及Wi-Fi技术,能够完成8帧/秒的无线视频传输,并提供了较好的图像质量(JPEG品质因数50)。图像接收端能够完成对JPEG图片的实时解码。适合应用在低帧速视频传输场合,如幻灯片播放,计算机操作演示、教学等。该系统中的视频接收端的硬件成本可以控制在600元以内。其在图像帧速、图像质量、对发送端处理能力要求、接收端系统成本等因素之间,找到了一个较好的平衡点。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭