Brad Allen
Well-known member
- Joined
- Jul 31, 2009
- Messages
- 757
- Reaction score
- 0
- Points
- 0
- Location
- NSW, Australia
- Website
- www.ntertained.com.au
Thanks again for all of your input Axel. I absolutely love learning new things. Really appreciate the time you have taken to clarify some of these points for me (and highlight where we don't have enough info to be clear either way)Hi Brad,
warning, you are mixing apples and pies here!
While RED R3D are based on JPEG2000 as far as we know, requesting a lower resolution from a RED RAW R3D file within REDCINE-X, such as 1/8 will potentially cause the following:
The quadrants per color channel are restored at a lower resolution. Then those quadrants will be combined into a RGB image, maybe using some small pixel shifting to compensate for the small offset those color channels have (due to the Bayer pattern they represent). But only RED knows the answer, so we are speculating here. I doubt that they even try do a deBayer process from a lower resolution color channel. IMHO that would be total nonsense, as the pixel shift is completely different, because it scales as well. It would entirely new algorithms to do something "good" here.
However, when looking at a DCP we are talking about smaller resolutions of a true full pixel RGB image (or X'Y'Z' image). So there is a BIG difference between the two things.
RAW is a completely different beast than an RGB image, even when the compression method used may be partially the same.
Regarding how does JPEG2000 wavelet compression work, its actually a bit more complex than I described, because the filters in action already filter the image in diverse sub bands of information, from which some can be discarded to gain compression efficiency.
Here is a good link to this:
http://faculty.gvsu.edu/aboufade/web/wavelets/student_work/EF/how-works.html
or very detailed here:
http://www.google.de/imgres?hl=de&s...y=78&page=1&tbnh=145&tbnw=281&start=0&ndsp=56
1. The image is being wavelet transformed at 12 bits per pixel depth. Thats the steps I explained before. You get kind of a reorganized framebuffer.
2. Quantization is applied. This means important informations is being kept, unimportant information is being dropped (lost).
3. The resulting data package will be compressed using a method quite similar to e.g. ZIP files, but using an advanced compression scheme called Ebcot (entropy coding).
4. The final compressed package is written to a file, including a header with some basic metadata.
The description I gave is the basic prinicple behind wavelets. The algorithms in use are a bit more advanced, but still follow these principles.
Cheers,
Axel