发布时间:2010-12-27 阅读量:1751 来源: 发布人:
【中心议题】
【解决方案】
0 引 言
IPTV作为数字新媒体日益被用户所看重,是“三网融合”的最大切入点,已成为不可阻挡的大趋势。同时, IPTV以其丰富的互动业务和良好的用户体验,可充分满足用户个性化、便捷化、交互式的业务需求,如今在很多国家获得了巨大发展。鉴于越来越多的用户家中配备了IPTV终端的设备,如果能将视频监控作为附加增值功能添入其中,既可以丰富运营商的业务内容,也可实现对家庭安全的发现和预防,体现对客户家庭的关爱,提升用户的满意度,节省用户的开支。
利用低功耗的IPTV终端设备,通过笔记本或PC机随时随地的、方便快捷地通过网络查看家中的情况,相比传统的家庭视频监控系统来说,优势非常明显,具有良好的市场潜力和应用前景。
1 系统的总体框架
本系统使用的IPTV终端硬件平台是基于TI公司推出的TMS320DM6446的图像压缩系统。整个平台由ARM与DSP双核处理结构,视频处理子系统和其他外围电路组成,它不仅吸收了DSP和RISC技术的优点,而且拥有强大的MontaVista Linux操作系统的支持,丰富的用户接口和较高的信号处理能力。ARM侧重保证操作系统的运行,管理外围接口并协调DSP工作。DSP利用其强大的高速实时信号处理功能,完成复杂的视频压缩算法。同时,该平台还拥有丰富的外设和硬件接口,如视频和图像加速器,用于声音编解码器界面和通信的串口, IDE硬盘接口,USB2. 0接口以及10/100Mb/s以太网接口等。
本系统使用Linux操作系统中的V4L2库来采集原始视频数据,在本地屏显的同时,调用IPTV终端TMS320DM6446平台中的DSP核编码MPEG-4视频帧;在数据传输过程中,采用Librtp库控制数据流的收发;在客户端,本系统使用开源的xvidcore库,进行MPEG-4视频帧的解码;同时调用跨平台的SDL显示库,用于视频数据显示。系统的整体构架图如图1所示。
2 系统的具体实现
基于IPTV终端的家庭视频监控系统主要包括3个模块:视频采集编码模块、网络传输模块和客户端模块。
2. 1 视频采集编码模块
IPTV终端的硬件开发平台DM6446的视频输入驱动器服从V4L2驱动的标准。在IPTV终端创建4个线程来完成视频采集编码工作,如图2所示, 4个线程分别为:Capture线程、Video线程、LocalDisplay线程和SendPacket线程。
4个线程的交互过程为:Capture线程使用ioctl函数发送一个VIDIOC _DQBUF命令给设备驱动,从VPSS前端设备驱动获取raw captured buffer(原始捕获数据缓冲)队列,其中VPSS是达芬奇数字平台的一个执行多相滤波的硬件,用于实现视频缩放。为了在编码的同时显示视频帧的预览,我们调用达芬奇数字平台开发包的API函数FifoUtil_put()给LocalDisplay线程传递一个指向captured buffer的指针,然后Capture线程从video线程取得一个空的raw buffer。用已经移除重叠部分后的数据填充它,这个buffer随后被发送到Video线程用于编码。Video线程使用FifoUtil_get()从SendPacket线程取得I/O buffer,并将编码后的视频数据写回I/O buffer。当LocalDisplay线程使用VPSS resizer模块和Rszcopy_execute()函数拷贝captured raw buffer到FBDev帧缓冲设备中显示时,Video线程正使用VIDENC_process()调用DSP core对相同的captured buffer进行编码。当DSP的video编码器完成编码, captured buffer随后被写入I/O buffer, I/O buffer被FifoUtil_put()发送到SendPacket线程。SendPakcet线程将I/O buffer打包成RTP数据包通过网络发送出去。
2. 2 网络传输模块的设计和实现
本系统采用开源的Librtp库来实现基于RTP协议的实时数据传输。Librtp提供了实现RTP协议的大部分接口函数,我们只需要将其编译成静态库放置IPTV终端的文件系统中,便可以像调用C的标准函数库一样,轻松实现设置读取RTP和RTCP数据包的信息,发送接收RTCP包的统计信息。使用RTP协议实现数据传输时的工作流程如图3所示。
IPTV终端按照RTP协议的标准,调用rtp_packet_send()函数将数据打包成RTP数据包,进行发送后调用rtcp_compound_add_sr()函数构造发送方报告包SR,统计自己的发送情况以通知客户端。客户端调用rtp_packet_read()函数进行接收,计算RTP数据包的接收量,同时根据接收的IPTV端的SR统计包,统计接收的丢包率、时延、抖动等信息以构造发送方统计包RR,向IPTV终端反馈网络的情况,使其根据反馈信息调整发送RTP包的速率,以免发生网络拥塞。
本系统采用类似TCP的基于丢包率的拥塞控制方法,根据网络的拥塞情况,进行流量控制。丢包率p=丢失的包数/实际发送的包数;实际发送的包数可以通过RTP包头的序列号字段进行计算,丢失的包数为实际发送的包数减去实际接收的包数。实际接收的包数可以在接收端设置计数器进行统计。设置丢包率p的阀值,根据阀值将网络状态分为轻载、满载、拥塞。
设定阀值T1、T2,并且0
2. 3 客户端模块的设计和实现
客户端模块创建2个线程,一个线程负责读取RTP包中的MPEG-4视频帧。为了消除网络延迟等原因造成的视频图像抖动,先将一定数量的MPEG-4视频帧先拷贝到预定义大小的缓存中,待填满后,调用xvidcore库函数xvid_decore()解码MPEG-4帧, xvid_decore()循环取出缓存中存放的每一帧数据,对收到的MPEG-4视频帧进行解码。xvidcore库中的所有解码工作都是由xvid_decore实现的, xvid_decore函数声明如下:
int xvid_decore(void* handle, int op,t void *param1, void* param2);
其中opt为解码所要做的操作, opt有以下3种操作:
1) XVID_DEC_CREATE:创建一个新的解码器,则param1为XVID_DEC_PARAM, handle为新编码器的句柄;
2) XVID_DEC_DECODE:解码一帧数据,则param1为XVID_ENC_FRAME;
3) XVID_DEC_DESTROY:关掉解码器,不返回任何句柄。
对于另一个线程SDLDisplay,从xvid_decore中提取出MPEG-4视频帧解码后图像的参数,获取图像的宽度XDIM和高度YDIM,调用SDL库中的函数
SDL_CreateYUVOverlay( intwidth, intheigh,t Uint32 forma,tSDL_Surface* display),同时设置图像的编码格式,使用XviD库中定义的SDL_YV12_OVERLAY宏,该宏表示图像采取的是YV12的编码格式。我们使用out_buffer指向解码后的缓存。为了在显示界面上绘制出该图像,需要获取图像的YUV参量的位置,如式(1)~式(3)所示:
outy = out_buffer; (1)
outu = out_buffer+XDIM*YDIM; (2)
outv = out_buffer+XDIM*YDIM* 5/4; (3)
其中: outy、outu、outv分别指向YV12图像中Y、U、V参量的读取位置。提取出图像的YUV数据后,就可以在屏幕上按照像素点逐点描绘出来。这样便完成单视频帧的显示。循环做解码MPEG-4帧和图像绘制显示就可以流畅的播放接收到的实时视频监控数据流。
3 系统测试
为了测试基于IPTV终端的家庭视频监控系统的实际性能,我们使用了2 Mb/s的ADSL宽带接入业务,使得IPTV终端能够接入互联网,测试人员在外地下载监控客户端进行连接,相应的监控页面如图4所示。
从实际的运行效果来看,本系统具有良好的图像显示质量,播放流畅,测试时略有抖动,延迟时间基本控制在0. 3 s以内,能够满足家庭用户的需求。
4 结束语
本文提出一种在IPTV终端上实现家庭视频监控功能的方法,使用V4L2库采集视频数据,采用IPTV终端TMS320DM6446平台中的DSP核编码MPEG-4视频帧;为了保证网络传输的质量,采用Librtp库控制数据流的收发;在客户端,本系统使用开源的xvidcore库,进行MPEG-4视频帧的解码;同时调用跨平台的SDL库,用于视频数据显示。经过测试,监控系统运行良好,能够满足家庭视频监控的要求,同时还具有高度可靠稳定性,以及功耗低、投资小等优点,具有广阔的市场应用前景。
Teledyne e2v最新推出的三款航天级工业CMOS传感器(Ruby 1.3M USVEmerald Gen2 12M USVEmerald 67M USV),分辨率覆盖130万至6700万像素,均通过Delta空间认证及辐射测试。这些传感器在法国格勒诺布尔和西班牙塞维利亚设计制造,专为极端太空环境优化,适用于地球观测卫星恒星敏感器宇航服摄像机及深空探测设备。产品提供U1(类欧空局ESCC9020标准)和U3(NASA Class 3)两种航天级筛选流程,并附辐射测试报告与批次认证。
英特尔下一代桌面处理器Nova Lake-S(代号)的完整规格于2025年6月密集曝光,其颠覆性的核心设计接口变革及平台升级,标志着x86桌面平台进入超多核时代。本文将结合最新泄露的SKU清单与技术细节,系统性解析该架构的革新意义。
根据最新行业信息及供应链消息,高通2024年芯片战略路线图逐渐清晰。除下半年旗舰平台Snapdragon 8 Gen 2 Elite(代号SM8850)外,公司还将布局定位精准的次旗舰产品线——Snapdragon 8s Gen 5(代号SM8845),通过架构复用策略实现性能与成本的动态平衡,进一步完善中高端安卓终端市场布局。
据供应链最新消息,三星电子原定于2025年下半年启动的430层堆叠V10 NAND闪存大规模量产计划面临延期。行业内部评估显示,该项目预计推迟至2026年上半年方能落地,技术实现难度市场需求波动及设备投资压力构成核心制约因素。
Littelfuse推出的KSC PF系列密封轻触开关专为严苛环境设计,采用表面贴装技术(SMT),尺寸紧凑(6.2×6.2×5.2 mm),具备IP67级防护(完全防尘、1米水深浸泡30分钟不进水),并通过延伸式防护框设计优化灌封工艺。灌封是将PCB元件封装在树脂中以抵御腐蚀、振动和热冲击的关键工艺。传统开关因扁平防护框限制树脂覆盖深度,而KSC PF的延伸结构允许更深的灌封层,提升对PCB整体元件的保护,同时支持鸥翼式或J形弯脚端子选项,适用于工业自动化、医疗设备、新能源汽车等高可靠性领域。