Re: FPGA encode stages flow diagram
digital design <[email protected]> Sat, 26 Mar 2011 18:11:50 +0300
| Newsgroups | gmane.comp.multimedia.ogg.theora.devel |
|---|---|
| Message-ID | <[email protected]> |
Thank you Benjamin! I understand. hm... I use in my camera 10-bit resolution CMOS matrix. Now for simplify i use only 8 high bits of words from matrix (equalence of devision by 4), very bad. After i create first iteration of encoder i plan do this: 1) take all 10-bits wide words from CMOS matrix 2) use them as input for DCT module, output of DCT became 20-bits wide 3) aditionaly after modified DCT add division by 16, and after all the same compress stages (quant, RLE, token.... e.t.c.) On 26 March 2011 17:50, Benjamin M. Schwartz <[email protected]>wrote: > On 03/26/2011 10:31 AM, digital design wrote: > > How i understand we use only 8 bit values in coder (for quantized > coefficient of block), but in table 7.38 is (for example token value = 22) i > see tokenization of values more than 255? > > The values being tokenized are the values after DCT and quantization. The > DCT is not normalized. Its output values are often much larger than its > input values, which is why its output values are stored in 16 bits. If a > quantizer is also very small (i.e. high quality), this can lead to a very > large value being tokenized. > > > How it's possible? Extrabits for token value=22 is 10 bits. This mean we > can present -512..+512 magnitude values for coeffs..... > > No. As the specification says, you can represent 69..580 magnitude values > with this token. > > > How it's possible? May be this is why when DCTed our 8-bits values we at > result have 16-bits > value out. > > We are tokenizing large values because the DCT (and subsequent > quantization) can result in large values. > > > Ok this is understand, but why realy thear are tokens fo 10-bits value? > (Is it because we use quantization ?) > > Values larger than 8 bits after quantization can occur, especially in the > DC coefficient at very high quality (i.e. small quantizer). DC prediction > can make the values even larger if the predictor is inaccurate. Storing > more than 8 bits of precision is necessary for maximum quality because > rounding in the DCT domain is not the same as rounding in the pixel domain. > > --Ben > > _______________________________________________ theora-dev mailing list [email protected] http://lists.xiph.org/mailman/listinfo/theora-dev