equal
deleted
inserted
replaced
1 The Smoke Codec |
|
2 --------------- |
|
3 |
|
4 This is a very simple compression algorithm I was toying with when doing a |
|
5 Java based player. Decoding a JPEG in Java has acceptable speed so this codec |
|
6 tries to exploit that feature. The algorithm first compares the last and the |
|
7 new image and finds all 16x16 blocks that have a squared difference bigger than |
|
8 a configurable threshold. Then all these blocks are compressed into an NxM JPEG. |
|
9 The quality of the JPEG is inversely proportional to the number of blocks, this |
|
10 way, the picture quality degrades with heavy motion scenes but the bitrate stays |
|
11 more or less constant. |
|
12 Decoding decompresses the JPEG and then updates the old picture with the new |
|
13 blocks. |
|
14 |
|
15 |
|
16 TODO: |
|
17 ---- |
|
18 - make format extensible |
|
19 - motion vectors |
|
20 - do some real bitrate control |
|