微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > MCU和DSP > 基于H.323 高性能MCU的设计与实现

基于H.323 高性能MCU的设计与实现

时间:07-01 来源:3721RD 点击:
\

图 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 通过哈希函数映射到这个缓冲区上。
图 4 为 MC 的 RTP 管理系统框图。MC 的软交换模式如图 5 所示。

\
图 4 MC 的RTP 管理系统框图
\
图 5 基于软交换的 MCU

2. 2 MP 部分总体设计思想

基于软交换的 MP, 通过帧缓冲映射算法查找终端 对应的缓冲区, 然后把接收到的音、视频流存放到该缓冲 区里面, 通过 M C 的控制, 把音、视频数据流转发到终端。 由于 MCU 需要处理大量的实时 RTP 包, 效率成为了最 主要的问题。因此如何从缓冲区里面快速搜索相应的数 据包是 M P 能否快速处理数据的关键。考虑到 M P 要处 理不同的终端, 不同的终端对应不同的缓冲区, 所以采用 哈希函数映射法, 它将任意长度的二进制值映射为固定 长度的较小二进制值, 并把这个哈希表存放到相应的内 存区, 以便多次的查找, 这样通过这个较小的二进制值就 可以以非常快的速度找到比较大的数值。因此把视频缓 冲区的首地址存放到一个哈希表里面, 并通过这个哈希 表把终端的Token 映射于这个缓冲区, 这样通过终端的 惟一Token 便可以迅速找到其对应的缓冲区。
实现 MP 部分帧缓冲映射算法的具体设计步骤是: 首先 MCU 把登陆的在线终端 Token ( 终端的惟一标识) 与会议 ID 默认为 room101, 通过哈希函数, 映射到一个 缓冲区, 通过终端的 Tok en 和会议 ID, 就可以直接找到 本终端 的缓冲区, 当 MP 收到 终端的 RTP 包后, 通 过 RTP 包的边界分析, 把多个 RTP 合成一个数据帧, 然后 把数据帧放到相应的终端缓冲区里面。帧缓冲映射的查 找如图 6 所示。假设当终端 A 要求转发终端 B 的音、视 频数据流时, M P 通过哈希函数找到相应终端 B 的缓冲区域, 然后把该缓冲区的数据读出到数据帧里面, 最后通 过 RTP 包进行发送到终端 A , 而终端 A 在接收到 MCU 发送的终端 B 的音视频数据压缩包后, 再对其进行音视 频进行解码。

\
图 6 帧缓冲映射查找图

2. 3 MCU 系统实现

根据以上的设计思想, 得出如图 7 所示的 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 。由于

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top