- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
视频会议系统多画面软件设计与分析
0引言
视频会议的发展经历了一个从无到有、从不成熟到基本成熟的过程。在这个发展过程中,又相继出现了电视会议、桌面会议、多媒体会议等多种远程会议系统。视频会议系统发展的关键技术之一是视频编码。利用低比特率的视频编解码方案H.263建议,可将视频图像最少压缩到大约20 kbps,以使其能在普通电话线上通过28.8 kbps的V.34Modem传送音频信号。事实上,在音视频编码协议不断改进与发展的同时,视频会议本身的协议也实现了更新换代,目前已出现了基于分组交换网的H.323建议。视频会议向高性能、多功能、协同性、智能化和集成化方向发展的另一个关键技术是多画面合成技术。由于传统采用RGB格式存储数据流以用于多画面合成的方法十分浪费资源。因此,为了在有限的频带条件下最大限度地提高资源利用率,本文提出了一种在不影响画面质量的同时解决其资源利用问题的新方案。事实上。视频会议多画面软件已经应用到生活的诸多领域。而且将会有更广泛地使用。
1数据流的捕获
Windows下捕获数据包的结构如图l所示,其中NDIS的NDIS (Network Driver Interface Specification)是Microsoft和3Com公司联合制定的网络驱动规范,该规范提供有大量的操作函数。它可为上层的协议驱动提供服务,从而屏蔽了下层各种网卡的差别。NDIS向上可支持多种网络协议,例如TCP/IP、NWLink IPX/SPX、NETBEUI等,向下则可支持不同厂家生产的多种网卡。
利用winpcap进行网络数据包的捕获和过滤的设计步骤如下:
(1)打开网卡,设置网卡为混杂模式;
(2)回调函数Network Tap,得到监听命令后从网络设备驱动程序处收集数据包,并把监听到的数据包传送给过滤程序;
(3)当Packet filter监听到数据包到达时,NDIS中间驱动程序调用分组驱动程序,该程序可将数据传递给每一个参与进程的分组过滤程序;
(4)由Packet filter过滤程序决定丢弃或接收数据包,并将接收的数据拷贝到相应的程序;
(5)通过分组过滤器后,再将未过滤掉的数据包提交给核心缓冲区,当系统缓冲区满后,再将数据包拷贝到用户缓冲区。监听程序可以直接从用户缓冲区中读取捕获的数据包;
(6)关闭网卡。
2视频数据流的解码
捕获到的视频数据流。通常在网络传输中都采用H.263视频编码建议,其图像格式为CIF格式。H.263-CIF格式的数据流是一种压缩编码图像格式,这种格式在网络传输过程中可节省频带资源,可在有限的带宽下最大限度地提高资源利用率。但是,CIF格式必须经过处理才能应用于多画面合成。只有通过解码使捕获到的视频数据流变成YUV(RGB)格式后,此图像格式才可直接运用于多画面合成,而且此格式的图像合成也比较方便、快捷。为了使图像由H.263格式转变为YUV(RGB)格式,应运用H.263解码器进行解码。其编解码算法的概要图如图2所示。
3多画面合成
视频数据流经过解码之后,可将其变成YUV(RGB)格式。下一环节即是视频数据流的合成(多画面合成),这也是本文的关键技术。在视频会议系统中,参加会议的与会者或许不只两、三个,所有与会者可能分布全国乃至世界各地。为了使每个与会者都能进行面对面的直接交流,就需要在同一时间看到所有的与会者,因此,多画面合成技术必不可少。通过多画面合成能使N个不同的视频画面实时地在同一台显示器上显示,这样,每一位与会者就都可以运用该软件看到其他成员。
来源:电子元器件应用