org.jmol.util
Class DCT

java.lang.Object
  extended by org.jmol.util.DCT

 class DCT
extends Object


Field Summary
private static double[] AANscaleFactor
           
(package private)  double[][] divisors
           
private  double[] DivisorsChrominance
           
private  double[] DivisorsLuminance
           
private static int N
          DCT Block Size - default 8
private static int NN
           
(package private)  int[][] quantum
          Image Quality (0-100) - default 80 (good image / good compression)
private  int[] quantum_chrominance
          Quantitization Matrix for chrominance.
private  int[] quantum_luminance
          Quantitization Matrix for luminace.
 
Constructor Summary
DCT(int quality)
          Constructs a new DCT object.
 
Method Summary
private static void AANscale(double[] divisors, int[] values, int quality)
           
(package private) static double[][] forwardDCT(float[][] input)
           
private  void initMatrix(int quality)
           
(package private) static int[] quantizeBlock(double[][] inputData, double[] divisorsCode)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

N

private static final int N
DCT Block Size - default 8

See Also:
Constant Field Values

NN

private static final int NN
See Also:
Constant Field Values

quantum

int[][] quantum
Image Quality (0-100) - default 80 (good image / good compression)


divisors

double[][] divisors

quantum_luminance

private int[] quantum_luminance
Quantitization Matrix for luminace.


DivisorsLuminance

private double[] DivisorsLuminance

quantum_chrominance

private int[] quantum_chrominance
Quantitization Matrix for chrominance.


DivisorsChrominance

private double[] DivisorsChrominance

AANscaleFactor

private static final double[] AANscaleFactor
Constructor Detail

DCT

DCT(int quality)
Constructs a new DCT object. Initializes the cosine transform matrix these are used when computing the DCT and it's inverse. This also initializes the run length counters and the ZigZag sequence. Note that the image quality can be worse than 25 however the image will be extemely pixelated, usually to a block size of N.

Parameters:
quality - The quality of the image (0 worst - 100 best)
Method Detail

initMatrix

private void initMatrix(int quality)

AANscale

private static void AANscale(double[] divisors,
                             int[] values,
                             int quality)

forwardDCT

static double[][] forwardDCT(float[][] input)

quantizeBlock

static int[] quantizeBlock(double[][] inputData,
                           double[] divisorsCode)