[theora-dev] FPGA encode stages flow diagram

digital design developer.fpga at gmail.com
Sat Mar 26 08:11:50 PDT 2011


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 <bmschwar at fas.harvard.edu>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
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.xiph.org/pipermail/theora-dev/attachments/20110326/fa7b0d71/attachment.htm 


More information about the theora-dev mailing list