|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.brownsoft.codec.HuffmanEncoder
Esta clase es en conjunto con HuffmanOutputStream quien codifica un stream mediante Huffman
Title: Proyecto Codificacion de Imagenes y Video
Description:
Copyright: Copyright (c) 2003
Company:
Field Summary | |
private int |
cantSymbols
|
protected static int |
MAX_SYMBOL_SIZE
|
private java.util.Hashtable |
nodes
|
(package private) HuffmanNode[] |
symbols
|
Constructor Summary | |
HuffmanEncoder(int[] sourceDictionary)
Crea una instancia de huffman con un diccionario dado El constructor recibe un array de int con el cual se determinan los simbolos de la fuente y la distribucion de probabilidades |
Method Summary | |
HuffmanNode |
encode(int symbol)
Obtiene el HuffmanNode asociado a un simbolo |
int |
getCantBitsMaxCodeword()
|
int |
getCantSymbols()
Obtiene la cantidad de simbolos del diccionario |
double |
getSourceEntropy()
Calcula la entropía de la fuente |
HuffmanNode[] |
getSymbols()
Retorna un array de HuffmanNode con el codeword del sìmbolo |
void |
HuffmanEncoder()
Crea una instancia de huffman |
boolean |
isValid()
|
void |
printDictionary()
Esta clase imprime el diccionario |
void |
setSourceDictionary(int[] sourceDictionary)
Crea el diccionario que va a utilizar el codificador |
private void |
sort(HuffmanNode[] nodes,
int size)
Ordena de mayor a menor |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
private int cantSymbols
protected static final int MAX_SYMBOL_SIZE
private java.util.Hashtable nodes
HuffmanNode[] symbols
Constructor Detail |
public HuffmanEncoder(int[] sourceDictionary)
sourceDictionary
- diccionario a utilizarMethod Detail |
public HuffmanNode encode(int symbol) throws java.lang.IllegalArgumentException
symbol
- simbolo
java.lang.IllegalArgumentException
public int getCantBitsMaxCodeword()
public int getCantSymbols()
public double getSourceEntropy()
public HuffmanNode[] getSymbols()
public void HuffmanEncoder()
public boolean isValid()
public void printDictionary()
public void setSourceDictionary(int[] sourceDictionary)
sourceDictionary
- array de int de donde sacar la distribucion de probabilidadesprivate void sort(HuffmanNode[] nodes, int size)
|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |