Thank you Benjamin!<div>I understand.</div><div>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: </div>
<div>1) take all 10-bits wide words from CMOS matrix </div><div>2) use them as input for DCT module, output of DCT became 20-bits wide</div><div>3) aditionaly after modified DCT add division by 16, and after all the same compress stages (quant, RLE, token.... e.t.c.)<br>
<br><div class="gmail_quote">On 26 March 2011 17:50, Benjamin M. Schwartz <span dir="ltr"><<a href="mailto:bmschwar@fas.harvard.edu">bmschwar@fas.harvard.edu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div class="im">On 03/26/2011 10:31 AM, digital design wrote:<br>
> 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?<br>
<br>
</div>The values being tokenized are the values after DCT and quantization. The<br>
DCT is not normalized. Its output values are often much larger than its<br>
input values, which is why its output values are stored in 16 bits. If a<br>
quantizer is also very small (i.e. high quality), this can lead to a very<br>
large value being tokenized.<br>
<div class="im"><br>
> How it's possible? Extrabits for token value=22 is 10 bits. This mean we can present -512..+512 magnitude values for coeffs.....<br>
<br>
</div>No. As the specification says, you can represent 69..580 magnitude values<br>
with this token.<br>
<br>
> How it's possible? May be this is why when DCTed our 8-bits values we at result have 16-bits<br>
value out.<br>
<br>
We are tokenizing large values because the DCT (and subsequent<br>
quantization) can result in large values.<br>
<div class="im"><br>
> Ok this is understand, but why realy thear are tokens fo 10-bits value? (Is it because we use quantization ?)<br>
<br>
</div>Values larger than 8 bits after quantization can occur, especially in the<br>
DC coefficient at very high quality (i.e. small quantizer). DC prediction<br>
can make the values even larger if the predictor is inaccurate. Storing<br>
more than 8 bits of precision is necessary for maximum quality because<br>
rounding in the DCT domain is not the same as rounding in the pixel domain.<br>
<br>
--Ben<br>
<br>
</blockquote></div><br></div>