Thursday, December 12, 2013

IBM Sametime 9 Video MCU: SVC, Bandwidth and Layouts

These last couple of months, I have published on this blog several articles on the new IBM Sametime 9 media framework. The purpose of this article is to discuss Sametime Video MCU. What you can do, resolution supported and different type of call involving clients (Rich, Mobile and Web).

Details on Video MCU

The Video MCU provides conferencing functionality in Sametime 9 environment. The main purposes of the Video MCU are to:
•    Handles media and media control from Sametime 9 clients
•    Routes H264 AVC (SVC base layer) and SVC video to video enabled clients
•    Routes Scalable Audio Codec (SAC) to Sametime 9 clients
•    Support audio transcoding and audio mix for clients which don’t support SAC

In a multipoint call handled by the Video MCU, each SVC EP (Sametime 9 client) encodes multiple simulcast resolutions of people video, and may request a number of media streams (at desired resolutions and frame rates) based on its capabilities and connected displays.

Regarding SVC implementation, IBM Sametime 9 supports Spatial and Temporal scalability.
The default operation point of IBM Sametime SVC are 720p, 360p, 180p in simulcast.
Each stream in the simulcast is scalable in the temporal domain – 7.5FPS, 15FPS, 30FPS.

Configuration of Video Conferences

In Sametime System Console, in Sametime Policies section, you can create Conference Template. Two conference modes can be selected:

•    SVC only – Mode to only support IBM Sametime 9 clients only, in SVC mode.
•    Mixed AVC/SVC mode – this is the default level.
•    AVC only - This conference mode is not supported


When you are in “Mixed AVC/SVC” mode, you can choose between 6 different configurations (presets) which derive different video levels:
•    Mobile optimized – 180p, 360p, 720p – very similar to the preset used today in SVC only mode, but allow AVC participants to join.
•    QVGA optimized-240p, 480p, 720p – aimed for AVC endpoints that are configured to prefer QVGA.
•    CIF optimized – 240p, 480p, 720p – aimed for AVC endpoints that are configured to prefer CIF.
•    VGA optimized – 360p, 720p
•    SD optimized 480p, 720p – aimed for AVC endpoints that are configured to prefer SD.
•    HD optimized – 720p only.

Performance & Bandwidth of the Video MCU

In the "Zero to Hero Sametime 9 deployment guide", you can find (slide 88) that table showing the number of concurrent calls at a certain resolution and codec supported with a specific hardware configuration.


IBM has written a wiki page with Video Resolution – Bandwidth requirement for multi-point call on the Video MCU: link

One important point you will see in the different configuration just below:
"To save bandwidth, the client sends a stream only if there is at least one remote client in the conference receiving it. So, for example, if no remote client is receiving 720p@15fps, then it is not sent. Only the streams 180p@30fps and 360p@15fps are sent."

Sametime Meeting with video Configuration

For all my tests, I have used a template with the maximum bit rate for the conference with a preset "Mobile optimized " and the Sametime Clients have an unlimited line rate (Full HD). So, I'm always using the maximum resolution/bandwidth.

1/ Config 1: Two participants

In that configuration, only two participants are connected in the video session. The two participants transmit and receive only one stream (720p@30fps)


Media Statistics (Outgoing and Incoming) of the right PC
2/ Config 2: Three participants with auto layout
In the previous call, a third person just joined. In that case, the video resolution, sent and transmitted by the Sametime clients, changes. All S9 clients sent a video stream (360p@30fps) and receive two video stream (360p@30fps). It decreases the upstream bandwidth, and you have a similar downstream bandwidth.



3/ Config 3: Three participants with one using the active speaker layout

One user change his video layout from Auto to Active Speaker in Full screen. So, the active speaker will have to send a new stream (720p@30fps).


Incoming stream. Only one 720p stream is received by the PC.
4/ Config 4: Four participants with one using active speaker layout, and one connected via an iPad

In that last configuration, we have a mix of configuration: Active speaker, auto layout and mobile client. In that case, all clients will have a different bandwidth utilisation.




The user is sending three different streams to cover all requests.
The user is receiving three different streams (two from rich clients, one from the mobile with a lower resolution).
That one is coming from the bottom user, who has set his layout “Active Speaker”
That's only four different use cases, but plenty of other configurations are possible. And, don't forget, you will be able to adjust the video resolution and bandwidth by playing with multiple parameter (client line rate, conference bit rate..)

References:

In addition to my tests, I have used these three interesting links.

  1. What's new in Sametime 9 audio & video: link 
  2.  Sametime Blog article from Julie Reed: link
  3. Sametime 9.0 Video Resolution Bandwidth Requirements: link
  4. IBM technote on Media Manager policy : link
Some terminology:
•   H264 AVC – Advanced Video Codec, the legacy form of H264, supported by most video room system and clients, including Sametime legacy clients before Sametime 9
•   H264 SVC – Scalable Video Codec, enable to transmit and receive different video levels in a single RTP stream
•   MCU – Multipoint control unit – handles conferencing in Sametime 9
•   VMGR – Video Manager – manage the cluster of MCUs in a Sametime 9 environment.
•   SAC – Scalable Audio Codec – enable high level audio quality mix with excellent error resiliency without transcoding at the MCU
•   Line Rate - The maximum bandwidth allocated to individual users joining the meeting.