How to develop non uniform quantizer

5 views (last 30 days)
Nik
Nik on 7 Jan 2016
Commented: Walter Roberson on 9 Jan 2016
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.

Answers (1)

Walter Roberson
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
Nik
Nik on 9 Jan 2016
how to apply quantile to an image? should we change it to matrix first?
Walter Roberson
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.

Sign in to comment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!