|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.brownsoft.codec.HuffmanMultiplexerBitStream
Title: Proyecto Codificacion de Imagenes y Video
Description:
Esta clase implementa un bitstream codificado por huffman Se definen 'canales' cada uno de los cuales puede tener su propia tabla de Huffman. Las tablas de Huffman se van creando a medida que se escriben datos por el canal y la codificación se realiza cuando se pide el bytearray de los datos. Existe un canal especial 'UNENCODED' para el cual no se aplica la codificación de huffman (ni se calcula su tabla)Copyright: Copyright (c) 2004
Company:
Nested Class Summary | |
(package private) class |
HuffmanMultiplexerBitStream.StreamData
|
Field Summary | |
private int[] |
channelWrites
|
private byte |
curByte
|
private byte |
curPos
|
private HuffmanEncoder[] |
encoders
|
private static double |
LOG_2
|
static int |
MAX_CHANNELS
|
private java.io.ByteArrayOutputStream |
stream
|
private java.util.Vector |
streamData
|
static int |
UNENCODED
|
Constructor Summary | |
HuffmanMultiplexerBitStream()
|
Method Summary | |
void |
encodeIntoByteArray(java.io.ByteArrayOutputStream stream)
Codifica el stream |
private void |
finishStream()
Finaliza la escritura del stream |
private int |
getCantBitsNeeded(int size)
|
int |
getCantObjectsWritten()
Obtiene la cantidad de objetos escritos en esta instancia |
void |
printStatics()
Imprime estadisticas sobre esta instancia en pantalla |
void |
setDictionaries()
setea los diccionarios a partir de los datos de cada canal |
void |
write(int channel,
int data)
Escribe size bits del parametro data en el bitStream |
private void |
writeBitStream(long[] data,
int size)
Escribe size bits del parametro data[] en el bitStream |
private void |
writeBitStream(long data,
int size)
Escribe size bits del parametro data en el bitStream |
private void |
writeDictionaries()
Escribe todos los diccionarios asociados |
private void |
writeDictionary(HuffmanEncoder encoder)
Escribe el diccionario asociado al encoder en el bitStream |
void |
writeUnencodedBitStream(int data,
int size)
Escribe size bits del parametro data en el bitStream |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
private int[] channelWrites
private byte curByte
private byte curPos
private HuffmanEncoder[] encoders
private static final double LOG_2
public static final int MAX_CHANNELS
private java.io.ByteArrayOutputStream stream
private java.util.Vector streamData
public static final int UNENCODED
Constructor Detail |
public HuffmanMultiplexerBitStream()
Method Detail |
public void encodeIntoByteArray(java.io.ByteArrayOutputStream stream)
stream
- el ByteArrayOutputStream donde codificar el streamprivate void finishStream()
private int getCantBitsNeeded(int size)
public int getCantObjectsWritten()
public void printStatics()
public void setDictionaries()
public void write(int channel, int data)
channel
- El canal sobre el cual escribir el datodata
- El dato a escribirprivate void writeBitStream(long[] data, int size)
data
- El dato a escribir (los size bits menos significativos)size
- Cantidad de bits a escribirprivate void writeBitStream(long data, int size)
data
- El dato a escribir (los size bits menos significativos)size
- Cantidad de bits a escribirprivate void writeDictionaries()
private void writeDictionary(HuffmanEncoder encoder)
encoder
- El encoder cuyo diccionario se desea escribirpublic void writeUnencodedBitStream(int data, int size)
data
- El dato a escribir (los size bits menos significativos)size
- Cantidad de bits a escribir
|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |