How to develop non uniform quantizer
9 views (last 30 days)
Show older comments
Dear all, how to write a matlab code to produce non uniform quantizer on an image with smaller interval at high occurrence pixel, while larger interval at lower occurrence pixel. Thank you all.
0 Comments
Answers (1)
Walter Roberson
on 7 Jan 2016
You could use the concept of quantile to divide the range into bins of equal probability. After that the quantization itself can use either the quantization routines from the Signal Processing toolkit, or could be easily written in terms of histc()
2 Comments
Walter Roberson
on 9 Jan 2016
Y = quantile(X,N) returns quantiles for N evenly spaced cumulative probabilities (1/(N + 1), 2/(N + 1), ..., N/(N + 1)) for integer N>1
Your input X would be a sampling from the probability distribution; the more samples you use the better the accuracy of the bin boundaries.
You would not do this on an actual data array, not unless perhaps the data array had been normalized to a finite range by way of external information about the valid range of the data. If you do not know the data range ahead of time then the receiver would not know how to dequantize properly.
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!