当前位置:首页 > 物联网 > 《物联网技术》杂志
[导读]摘 要:由于多媒体在物联网技术浪潮下增加了对无线传输的应用需求,针对其中数据量大的HDMI视频流,研究设计了一种支持HDMI视频流的无线传输系统。该系统采用S5PV210处理器,以ADV7611进行视频前端接收,在Linux操作系统上调用多格式硬件编码模块,实现编码后数据的打包封装及无线传输。实验结果表明,所提设计方案能有效实现高清晰度HDMI视频流的无线传输。

引 言

在当前物联网技术浪潮的推动下,物与物相连的需求快速增长,而多媒体信息特别是视频信息因其数据量大的特点, 一直是通信领域的研究热点。在应用方面,智能家居、智能会议室、智能教学等系统得到了不断推广,而音视频的局域网内传输技术始终扮演着智能系统的重要角色。虽然传统的有线传输方式能提供高质量的音视频传输效果,但在实际应用中人们常常囿于布线困难,因而提出无线传输的需求。目前,市场上的音频无线传输方案已经相对成熟,其媒介选择有 U 段无线、WiFi、蓝牙等。相比而言,无线视频的发展相对缓慢, 因为其开发难度和开发成本都相对较大。尽管如此,无线视频的需求依然是市场的热点。比如安防专用的摄像头无线监控系统,拍摄专用的无人机拍摄无线传输系统,教学或会议专用的无线视频投影应用等。

无线视频传输应用中的视频源和接收端在不同场景中各有不同。例如教学或会议中的无线投影,其视频源可来自个人电脑的HDMI 输出或VGA 输出,接收端则一般是投影仪的HDMI 端口或VGA 端口。由于HDMI 标准对高清视频的支持较好,因此在高质量视频传输中,研究 HDMI 视频流的无线传输方案具有很好的应用价值。

对于视频数据,未经压缩的原始视频数据量是无线传输难以承受的,尤其对于高清晰度视频,大数据量的无线传输将导致系统传输方案的成本大大增加[1]。因此对HDMI视频流的无线传输必须引入合适的编码方案,平衡编码效果和无线通信容量之间的矛盾,达到低延时的播放效果 [2]。为解决上述问题,本文采用S5PV210 处理器,以 ADV7611 接收HDMI 视频流,然后通过硬件编码器进行视频编码,再由处理器打包无线发送 ;接收端接收到视频数据后解码视频,并由HDMI 接口输出。

1 系统整体硬件方案设计

图 1所示为高清视频无线传输的系统原理及实现结构图。系统分为发送端和接收端两部分,这两部分是独立的系统, 可以使用一个发送端和一个接收端进行一对一工作,也可以使用一个发送端和多个接收端同时工作,或者多个发送端和一个接收端分时连接工作,这些都可以在软件应用层实现。底层的编解码和无线通信架构相同,为了描述方便,在此以一个发送端对一个接收端作为描述实例。

HDMI视频流无线传输系统的设计与实现

由图 1 可知,发送端包括视频接收前端模块和编码发送模块。视频接收前端主要由ADV7611 实现HDMI 视频流的输入,并将视频数据转为YCbCr 信号,通过板上总线传输到编码发送模块。编码发送模块主要是S5PV210 处理器,通过处理器内部的多格式编解码器(Multi Format Codec,MFC)对视频进行压缩。压缩后的视频由RTP 协议发送,通过物理层WiFi 实时传输到接收端[3]。解码端将视频流解码,获取LCD 设备的缓存区视频流数据,将HDMI 流以 HDMI 流媒体的形式输出。

在应用方面,上述系统的发送端通过HDMI 接口接收电脑或视频播放器等视频源的输出,而接收端也通过HDMI 接口连接投影仪或显示器等设备,实现 HDMI 视频流的无线传输。

2 系统软件设计

2.1 系统配置

系统配置包含 Linux 系统内核配置与对ADV7611 的配置。根据系统需求,ADV7611 与S5PV210 之间以 ITU601 的格式传输视频数据,因此在Linux 内核中需要修改视频输入驱动为ITU601 格式,并设置好 YCbCr 数据的顺序格式,例如 CbYCrY 等。这两个参数在内核中的结构体 s2c_platform_ camera 定义。对ADV7611 的寄存器配置则是在应用程序中通过I2C 驱动实现,具体参数可根据需求按芯片文档说明设定。

2.2 视频编码

为了实现大数据量高清视频的无线传输,平衡视频效果和无线通信容量之间的矛盾,系统对 HDMI 接收器得到的视频流进行实时压缩,通过减少和去除冗余视频数据的方式, 达到可靠发送的目的[4]。为了达到低延时的播放效果,可以充分利用S5PV210 中集成的MFC 硬件编码模块,以减轻处理器的计算量。MFC 是ARM 微处理器内部一种支持多种硬件编码方式的硬件电路,视频编码支持 MPEG-4、H.263 以及H.264,分辨率可达到 1 080P@30fps。本文选用H.264 的编码方式。

图 2 所示为MFC 硬件编码流程图。MFC 硬件编码在程序实现中定义了三个函数,分别为初始化函数,执行函数和句柄释放函数,利用这三个函数即可实现整套编码操作。初始化函数的作用是对整个MFC 的参数进行设置。打开设备节点, 进行内存到应用的内存映射,初始化关于 MFC 设备的结构体, 并提供相应的参数,把 _MFCLIB_H264_ENC 参数传入MFC 跟深层次的结构体当中,通过 ioctl 函数把参数传入内核。

初始化 MFC 之后读取视频流,得到输入图像的地址缓冲指针,等待缓冲区成像数据。成像后读取一帧视频数据,并将这一帧数据放入MFC 编码,第一次的编码需要传入配置参数。编码完成后得到H.264 编码格式的网络提取层(Network Abstraction Layer,NAL)数据。因为系统采用RTP 协议进行网络数据传输,对于一帧图像的NAL 数据需要根据 RTP 网络数据的帧长度进行分片,分片后的视频数据添加载荷头FU-A 打包,添加RTP 包头并向客户端发送一帧视频数据。之后系统重新读取一帧视频数据再进行MFC 编码。

为了方便描述没有显示编码过程的退出机制,实际程序中根据具体需求以合适的方式退出编码,释放句柄,解除映射。

2.3 无线传输

编码后的视频以 RTP 协议在局域网传输。为了实现点对点或点对多点的视频传输,发送端利用WiFi 网卡实现软接入点的功能。因此多个接收端可以同时连接到发送端的接入点,从而访问RTP 服务获得视频数据。对于多个发送端对一个接收端的情况,可以设定接收端为WiFi 接入点,发送端连接到接收端再进行数据传输,但是在应用中各发送端只能以时分复用的形式将数据发送到接收端。

HDMI视频流无线传输系统的设计与实现

2.4 视频解码

解码器对发送来的H.264 等压缩格式的视频数据包进行实时解码,通过采用相应的解压缩算法还原视频的高清晰度, 转化为可播放的非压缩视频流格式。FFMPEG 是一个集音视频编解码在内的多种功能为一体的开源解决方案,支持H.264 在内的 40 多种编码和 70 多种解码[5]。解码端利用FFMPEG 库解码,主要涉及libavcodec 库、libswscale 库和libavformat 库[6]。视频数据流解码流程 :由 ByteIOContext 表示的广义输入文件,在 AVStream 提供的特定文件容器流信息的指引下, 用AVInputFormat 接口的 read_packet() 函数读取完整的一帧数据,分别放到音频或视频 PacketQueue 队列中,这部分功能由独立的解码线程完成。对于视频数据,视频处理线程不停从视频 PacketQueue 队列中取出视频帧,调用AVCodec 接口的decode() 函数解码视频帧,在适当延时后做颜色空间转化并调用显示输出函数库显示出来。

3 功能测试

为了验证系统的功能和效果,本节搭建一发一收的演示系统,其实物图如图 3 所示。

发送端由ADV7611 的视频前端测试板接收笔记本电脑输出的HDMI 视频流,然后通过ITU-R.BT601 标准接口将转码得到的YCbCr 数据传输到S5PV210 开发板进行硬件编码。发送端 S5PV210 开发板配置了 WiFi 的软接入点,并与接收端建立无线连接,同时开启视频 RTP 传输服务,支持编码后的视频数据发送服务。

接收端硬件只需提供WiFi网卡和HDMI 视频输出接口。接收端处理器通过网卡连接到发送端接入点,然后由RTP 客户端软件获取发送端的视频数据,将视频数据解码后由HDMI接口输出。

由图 3 可知,笔记本电脑直接复制屏幕并输出到HDMI 接口;HDMI 接口的视频流输入发送端 S5PV210 开发板; S5PV210 开发板将视频压缩编码后通过无线连接发送给接收端;接收端将视频解码输出到 HDMI 接口,并最终输出到显示器显示。

HDMI视频流无线传输系统的设计与实现

图 3 无线视频传输系统

4结 语

本文针对HDMI 视频流给出了一种无线视频传输系统的设计方案。该方案将传输系统分为发送端和接收端两个独立模块,可以灵活配置为一发一收、一发多收、多发一收等应用场景。系统采用硬件编码的方式实现了在无线传输条件下的视频清晰度和视频传输延时的优化。针对该方案,可以从进一步提高视频清晰度着手,因为S5PV210 的硬件编码模块在1 080P 的输入分辨率时最高支持的帧率为 30 fps,而很多高清视频源可达 50/60 fps。因此可以在帧率提高方面进行研究, 或对更高分辨率如 2 160 P 的视频处理进行研究。

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

特朗普集团近日取消了其新推出的T1智能手机“将在美国制造”的宣传标语,此举源于外界对这款手机能否以当前定价在美国本土生产的质疑。

关键字: 特朗普 苹果 AI

美国总统特朗普在公开场合表示,他已要求苹果公司CEO蒂姆·库克停止在印度建厂,矛头直指该公司生产多元化的计划。

关键字: 特朗普 苹果 AI

4月10日消息,据媒体报道,美国总统特朗普宣布,美国对部分贸易伙伴暂停90天执行新关税政策,同时对中国的关税提高到125%,该消息公布后苹果股价飙升了15%。这次反弹使苹果市值增加了4000多亿美元,目前苹果市值接近3万...

关键字: 特朗普 AI 人工智能 特斯拉

3月25日消息,据报道,当地时间3月20日,美国总统特朗普在社交媒体平台“真实社交”上发文写道:“那些被抓到破坏特斯拉的人,将有很大可能被判入狱长达20年,这包括资助(破坏特斯拉汽车)者,我们正在寻找你。”

关键字: 特朗普 AI 人工智能 特斯拉

1月22日消息,刚刚,新任美国总统特朗普放出重磅消息,将全力支持美国AI发展。

关键字: 特朗普 AI 人工智能

特朗普先生有两件事一定会载入史册,一个是筑墙,一个是挖坑。在美墨边境筑墙的口号确保边境安全,降低因非法移民引起的犯罪率过高问题;在中美科技产业之间挖坑的口号也是安全,美国企业不得使用对美国国家安全构成威胁的电信设备,总统...

关键字: 特朗普 孤立主义 科技产业

据路透社1月17日消息显示,知情人士透露,特朗普已通知英特尔、铠侠在内的几家华为供应商,将要撤销其对华为的出货的部分许可证,同时将拒绝其他数十个向华为供货的申请。据透露,共有4家公司的8份许可被撤销。另外,相关公司收到撤...

关键字: 华为 芯片 特朗普

曾在2018年时被美国总统特朗普称作“世界第八奇迹”的富士康集团在美国威斯康星州投资建设的LCD显示屏工厂项目,如今却因为富士康将项目大幅缩水并拒绝签订新的合同而陷入了僵局。这也导致富士康无法从当地政府那里获得约40亿美...

关键字: 特朗普 富士康

今年5月,因自己发布的推文被贴上“无确凿依据”标签而与推特发生激烈争执后,美国总统特朗普签署了一项行政令,下令要求重审《通信规范法》第230条。

关键字: 谷歌 facebook 特朗普

众所周知,寄往白宫的所有邮件在到达白宫之前都会在他地进行分类和筛选。9月19日,根据美国相关执法官员的通报,本周早些时候,执法人员截获了一个寄给特朗普总统的包裹,该包裹内包含蓖麻毒蛋白。

关键字: 美国 白宫 特朗普
关闭