Videoconferencing Compression and Multipoint Basics

It’s called Encoding
To fit into a network, video has to be compressed, way down, using a video codec.  The video conferencing industry uses H.264, and is talking about releasing H.265.   Google is shaking things up with a royalty free version called VP8, which works with WebRTC via Chrome and Firefox. Next up: VP9.

H.264 allows the video to use half the old H.263 bit rates while still looking good.  H.264 “AVC” or baseline profile came along in 2003, then improved in 2007, when Scalable Video Coding (H.264 Annex G) was added.

What’s the big deal about SVC?

SVC is big news!  Why?   SVC gives you a bunch of layers or optional streams to choose from.  There is a base layer, called AVC, then others with different screen sizes, frame rates and image qualitis.   Gotta give credit to Vidyo here:  they were the company that forced everyone’s hand, by being among the first to offer SVC-enabled endpoints and infrastructure.

Everyone uses all kinds of video transcoding and bridging devices, and still have trouble if they have different kinds of end points on the same call.   Here is an example:

Lots of endpoints on a call, some very high res room systems, some medium laptops, but your end point is your mobile phone, with it’s little screen.  It doesn’t need the same amount of info as the rest, and with SVC it won’t draw all of the SVC layers the system could deliver.  Normally,  a crappy connection or low res endpoint might disrupt or stop the videoconference.   Not anymore.  Is that better than owning a transcoding video bridge?  Heck, yeah.

Here are a couple of pix from Ofer Shapiro at ISC West in 2009 to illustrate:

H.264 SVC Video Layers

If your network has packet loss problems,  or low bandwidth this works out great.  SVC only sends the layers that can make it through that particular situation.

Going forward, H.265 and VP9 will probably cut the bandwidth we are using in half again.

Downsides:

“But, Dave”, you say, “is there any downside to all this happy talk?”.  Well, SVC sometimes uses a bit more bandwidth, not less, like you’d think.  But only somewhere on the order of 10 – 15% more.  Also, these new codecs will continue to save bandwidth with computational power, which means more CPU processing required than, say, H.263.  New codec deployment?  Maybe beef up the processors.

Next,  encoders are still somewhat proprietary,  so theoretically all encoders should at least conversate at the base layer.   BUT base may not interoperate, and SVC certainly won’t, even for the same codec (H.264, for example) because of signaling differences.

Look at this table for some examples:

 


* Note that Lync 2013 does not support H.263. Lync 2010 does support H.264.Also see http://social.technet.microsoft.com/Forums/en-US/ocscapacityplanning/thread/8bb71480-64d8-47f3-b639-0f4b7d3320ff for more on the Microsoft codecs.

** The Vidyo endpoints do not support H.263 nor H.264 AVC natively. A gateway is required to connect with these endpoints. Vidyo asked that H.263 and H.264 be placed in this list so that readers would not be misled into thinking that Vidyo does not support these older codecs at all.

What is Multipoint VC?

One person on Skype talking to another person on Skype is a point-to-point video call.  As soon as you want to bring a third end point onto your screen and into your conversation, you need another piece of hardware of service:  a Multipoint Control Unit (MCU) or a video media relay server.

Hardware MCU


An MCU will take all endpoints and combine their video and audio.  It then feeds the combined signal to each end point so that everyone can see the traditional tiled display we are used to on these calls.

The whole mixing thing works like this:


Media Relay Server
If you use a newer codec with SVC, then you can use what is called a media relay server, which does much the same thing as an MCU.   Note that Vidyo’s version uses the media server in all calls, including point to point.

Which is better?

Well, SVC media relay servers do not encode or decode the video, the video quality and latency tend to be better than when you use an MCU.

Here’s what an SVC Video Call looks like:

What’s Next?

New compression standards are just being adopted by the industry at this time: H.265 and VP9.  What are they?  More on that in another post, but here is a skinny version:

H.265

H.265 is the successor of H.264. It is led by the same group of companies who will be collecting royalties for its use, and is said to be twice as efficient in the bitrate it requires to get to the same video quality (but requires 3 times the CPU resources).

VP9

VP9 is Google’s successor to VP8.  Its decoder can already be found in the Chrome browser.

Dave Fahrbach