1. Description
As a personal research project I've designed and implemented a new video compression method. The decoder has the special property that it has extremly low CPU demands on the player side, it can implemented in hardware if necessary.
The compression method is asynmetric which means the encoding takes much more time as decoding. Although much of this complexity can be removed if the resulting filesize is not very important. Many settings can be changed in the encoder to change the required compression time, quality and resulting filesize. Ofcourse better quality means bigger filesize of slower compression or both.
Depending on the settings this compressor achives between compression ratios of 1:25 to 1:150.
2. Introduction to video compression
Video is a sequence of images, so video compression has a lot in common with compression of static images.
Although the basic principles are the same, video can be compressed at a much higher ratio as static images, because in a sequence of video frames (single pictures from a sequence) little changes between frames. Little change means a lot of redundant information which can be compressed quite well.
There are many techniques in use for compressing video and most of the time techniques can be combined to reduce the required bandwidth even more.
3. Lossy pattern matching
To archive high compression ratios it is impossible to use a lossless compression scheme. Lossless compression will reach about 1:5 in the most optium case and 1:3 in the general case. So to furture compress the video stream we must switch to a lossy scheme, but some information loss will occure. The trick with good compression algoritms is selecting the correct amount of quality loss so the overall video quality looks good for the casual viewer.
4. Implementation
Will release source-code after my move to new house. If you want it NOW, send me an email with the request and I will send you a snapshot... You will need VisualC++ version 6.0 and some bitmaps or a AVI file to play with.
5. Results
6. Pending ideas