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
Technology for streaming video on the Internet is now twelve years old. Video compression has been around longer, of course, but 1995 was the year that launched companies like Vivo, VDO.net, and VXtreme. Though long forgotten, these companies pioneered streaming technology with low bit-rate codecs that streamed postage-stamp sized video over a 28.8Kbps modem connection at a whopping 10 frames per second.

Fast forward to 2007. What has changed? Well, what hasn't? Video quality has improved dramatically and broadband is nearly ubiquitous, but basic streaming video concepts have improved little since 1995. Streaming technology still has some inherent limitations that have kept it from reaching the potential of becoming a truly mainstream vehicle for delivery of video to consumers worldwide.

Streaming limitations
Many of the problems with streaming video have to do with the methods that are available for encoding: Constant Bit Rate (CBR) and Variable Bit Rate (VBR). Each method has its advantages, but neither is ideal. CBR works well for the delivery of streaming video over a network and can produce acceptable quality. VBR, on the other hand, produces higher-quality video, but does not stream as well over a network, because the bit rate is, well, variable. VBR encodes complex scenes better than CBR, but it requires more bandwidth to stream -- sometimes a lot more. VBR-encoded video is much more likely to contribute to network congestion, especially when streamed over bandwidth-constricted networks, like those used in ADSL and cable systems. Another problem is that encoding video requires a lot of computer processing power, regardless of whether you use a lightweight or heavyweight video codec (a lightweight codec being one that takes less processing power to encode, a heavyweight codec is one that takes more processing power). Any computer can encode on-demand video from a file, because processing does not occur in real time; a heavyweight codec simply takes longer to encode than a lightweight codec. However, if you need to encode a live stream, in which video is ingested from a capture card, processed, and immediately streamed to the network, a lightweight codec is your only choice.

Encoding problems
Kula Media Group has solved these problems with KulaByte: an encoding process that uses the best of both CBR and VBR to encode video in real time, using almost any codec. To understand how the KulaByte process works, we need to look at the problem in a little more detail.

Video, by its very nature, is dynamic. Video codecs reduce bit rate by reducing redundant information within a frame, and from one frame to the next. If there is a lot of redundancy between frames (low motion), the video can be encoded without requiring excessive bandwidth. For example, it would be fairly easy to encode a scene with two young lovers calmly walking in a park. They sit on a park bench, with water slowly lapping in a pond behind them, and maybe a bird passing by as the only motion. However, if an out-of-control car careens past them in a fiery explosion of flames and flying metal, the video would suddenly become a great deal more difficult to encode. Because of the high amount of motion, there would be a lot of change and little redundancy from frame to frame, resulting in a much higher bit rate.


Figure 1: Shows how the bit rate increases during the scene.

Next: VBR and CBR encoding techniques, Two-pass CBR (Go to page 4 to skip tutorial and see how KulaByte works)

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





 :