CMP EMBEDDED.COM

Login | Register     Welcome Guest  
HOME DESIGN PRODUCTS COLUMNS E-LEARNING CONFERENCES CODE FORUMS/BLOGS NEWSLETTERS CONTACT FEATURES RSS RSS

Streaming video with "TimeSlice" multicore-friendly processing eliminates dropped frames
The process creates a CBR-like stream, but with encoding based on VBR, video quality is better. There are no dropped frames, PSNR is higher, and less bandwidth is needed for a given quality.



Video Imaging DesignLine

Live streaming with KulaByte
As you can see, a real-time video encoder is easily implemented with KulaByte by using a computer with two or more processors, or even a single dual-core system. But how does multi-processing and the TimeSlice process affect stream latency and channel-switch time?

Because encoding is based on 2PVBR, the stream itself does not use an encoder buffer. Therefore, an end-user can switch from one live stream to another without any increase in channel-switch time. This is very important to most end-users.

However, even though channel-switch latency is very low, the actual latency of the stream does increase with each additional processor. Figure 9 shows how live video is encoded with a four-processor computer.


Figure 9: Live video encoded with four processors.

As you can see, each processor adds the length of one TimeSlice to the overall stream latency, which is defined as the time beginning when a live video frame enters a capture card and ending when the frame displays on a clients' monitor. For example, assuming a TimeSlice of 5 seconds, a streaming broadcast of a TV show would be ten seconds behind true "live" with a dual-processor or dual core encoder and 20 seconds behind with a quad-processor encoder. Typically, latency is not an issue in streaming applications and as mentioned above, once the stream has commenced, channel-switch time is the same as with CBR encoding.

Live video applications using static file-like environment
The KulaByte encoding model opens up a whole new world of possibilities when handling live video. Because KulaByte treats a live stream as individual TimeSlices, anything that you could possibly do to a static movie file, you can now put towards a live stream.

So virtually any effect, preprocessor or codec can now be spread across multiple processors and encoded live when the KulaByte process is used. What this means for Live Encoding is more efficient streaming and network utilization, along with better processor utilization.

High speed encoding
Because KulaByte was engineered to take full advantage of multiple processors, multi-core processors and multiple DSP's, drastic reductions in encoding times are seen for static video files. For instance, a 120 min. 720p video can be encoded in 370 minutes, instead of 500 minutes on a 4 core server. That's an improvement of 26 percent in encoding speed, plus the improved PSNR, when using KulaByte. The ratio increases with every core added. Any HD-DVD or Blu-Ray authoring station equipped with KulaByte receives clear gains.

About the author
David Workman is the Chief Technology Consultant at Kulabyte. He was a Product Manager at Thompson Grass Valley for 10 yea. Most recently, David was the QA Manager for Video Codecs at Microsoft Corp., working on Windows Media Technologies for 8 years. He holds an associates degree in science and electronics from Sierra College in Auburn, California, and is now semi-retired and living in Ecuador. He can be reached at David@ecuadorhomesonline.com .

1 | 2 | 3 | 4 | 5 | 6

Rate this article: Low High
Current rating
  • .
Embedded.com Career Center
Looking for a new job?
SEARCH JOBS

Browse all jobs

SPONSOR
RECENT JOB POSTINGS





 :