基于H.323 高性能MCU的设计与实现
![]() 图 3 MC 会议管理系统框图 ( 2) 会议 RTP 流转发管理。MCU 对登陆终端进 行注册后, MC 建立一个 H. 245 控制信令线程, 并与该终 端进行连接控制, 通过 H.245 控制信令与 MC 进行呼叫、 信令处理与能力协商、主从决定; 然后建立音、视频的接 收逻辑通道, 通过 RTP 接收类开始接收终端发送的 RTP 帧, 把 RT P 帧保存到分配给该终端缓存区里。MC 为已 经进行了呼叫连接的终端分配了一一对应的视频缓冲接 收区, 该缓冲区是一个分配在堆里面的数据结构, 例如: 在终端 A 的在线人员列表上, 可以看到登陆注册到 MCU 的人员名单; 通过对终端的人员名单的选择, 例如选择 B, 那么终端 A 可以要求 MC 转发终端 B 的音、视频, 当MC 收到终端 A 提交的要求转发终端 B 的信 息后, 在MC 的 A 终端缓冲池里面, 为终端 B 新建一个缓冲区, 通 过 MP 对终端 B 的 Token 的帧缓冲映射查找到终端 B 的 音视频缓冲池, 并在终端 A 与终端 B 之间建立一条逻辑 通道, 用于向终端 A 传输终端 B 的 RTP 包, 当 MC 的终 端 A 缓冲类接收到终端 B 的 RTP 包后, 把 RTP 包拷贝 到原来的接收缓冲区里; 然后同样把终端 B 的惟一 Token 通过哈希函数映射到这个缓冲区上。
2. 2 MP 部分总体设计思想 基于软交换的 MP, 通过帧缓冲映射算法查找终端 对应的缓冲区, 然后把接收到的音、视频流存放到该缓冲 区里面, 通过 M C 的控制, 把音、视频数据流转发到终端。 由于 MCU 需要处理大量的实时 RTP 包, 效率成为了最 主要的问题。因此如何从缓冲区里面快速搜索相应的数 据包是 M P 能否快速处理数据的关键。考虑到 M P 要处 理不同的终端, 不同的终端对应不同的缓冲区, 所以采用 哈希函数映射法, 它将任意长度的二进制值映射为固定 长度的较小二进制值, 并把这个哈希表存放到相应的内 存区, 以便多次的查找, 这样通过这个较小的二进制值就 可以以非常快的速度找到比较大的数值。因此把视频缓 冲区的首地址存放到一个哈希表里面, 并通过这个哈希 表把终端的Token 映射于这个缓冲区, 这样通过终端的 惟一Token 便可以迅速找到其对应的缓冲区。
2. 3 MCU 系统实现 根据以上的设计思想, 得出如图 7 所示的 MCU 系统流程图。
2. 4 测试结果与结论 通过重新设计 MCU 的 MC 和 MP 后, MCU 的性 能有了较大的提高。从性能方面进行测试, 由于传统的 MCU 在 MC 上进 行编解码, 只能容 纳4 路音、视频终 端, 而通过修改的 MCU , MC 没有进行编解码, 只对音、 视频进行存储转发, 因此在 9 路音、视频的情况下, 系统 的 CPU 只占有 5% 。从效率、质量方面进行比较, 由于 传统的 MCU 进行了 4 路编解码, 返回到终端的数据包 延迟比较大, 而修改过的 M CU 没有进行到编解码, 因 此数据包的延时很校传统的 MCU 在 MC 里面进行 图像的混合, 图像的分辨率变为原来的 1/ 4, 因此图像 质量有较大的下降, 而基于软交换的 MCU 保持了原来 图像的分辨率, 因此图像质量较好。从视频的帧数来比 较, 传统的 M CU 架构不能达到15 f/ s, 而基于软交换的 MCU 能达到 30 f / s 。由于 |
H 323 OpenH323 MCU 帧缓冲映射 软交换 相关文章:
- 车载MP3中Flash文件系统的设计与应用(11-11)
- F1aSh存储器在TMS320C3X系统中的应用(11-11)
- 基于Wishbone片上总线的PCI Bridge核的研究和应(01-26)
- DSP与单片机通信的多种方案设计(03-08)
- ARM硬件设计一:电源和时钟 (02-27)
- 使用 PlanAhead Design 工具提高设计性能(04-28)