ptolemy.domains.sdf.lib.vq
Class VQDecode
java.lang.Object
ptolemy.kernel.util.NamedObj
ptolemy.kernel.InstantiableNamedObj
ptolemy.kernel.Entity
ptolemy.kernel.ComponentEntity
ptolemy.actor.AtomicActor
ptolemy.actor.TypedAtomicActor
ptolemy.actor.lib.Transformer
ptolemy.domains.sdf.lib.vq.VQDecode
- All Implemented Interfaces:
- java.io.Serializable, java.lang.Cloneable, Actor, Executable, FiringsRecordable, Initializable, TypedActor, Changeable, Debuggable, DebugListener, Derivable, Instantiable, ModelErrorHandler, MoMLExportable, Moveable, Nameable
public class VQDecode
- extends Transformer
This actor decompresses a vector quantized signal. This operation is simply
a table lookup into the codebook.
- Since:
- Ptolemy II 0.2
- Version:
- $Id: VQDecode.java 57040 2010-01-27 20:52:32Z cxh $
- Author:
- Steve Neuendorffer
- See Also:
HTVQEncode
,
Serialized Form
- Accepted Rating:
- Proposed Rating:
Fields inherited from class ptolemy.kernel.util.NamedObj |
_changeListeners, _changeLock, _changeRequests, _debugging, _debugListeners, _elementName, _isPersistent, _verbose, _workspace, ATTRIBUTES, CLASSNAME, COMPLETE, CONTENTS, DEEP, FULLNAME, LINKS |
Constructor Summary |
VQDecode(CompositeEntity container,
java.lang.String name)
Construct an actor in the specified container with the specified
name. |
Method Summary |
private int |
_fullRead(java.io.InputStream s,
byte[] b)
|
private int |
_stages(int length)
Given a vector of the given length, compute the codebook stage
appropriate. |
void |
fire()
Fire this actor. |
void |
initialize()
Initialize this actor. |
Methods inherited from class ptolemy.actor.AtomicActor |
_actorFiring, _actorFiring, addActorFiringListener, addInitializable, clone, connectionsChanged, createReceivers, declareDelayDependency, getCausalityInterface, getDirector, getExecutiveDirector, getManager, inputPortList, isFireFunctional, isStrict, iterate, newReceiver, outputPortList, postfire, prefire, preinitialize, pruneDependencies, recordFiring, removeActorFiringListener, removeDependency, removeInitializable, setContainer, stop, stopFire, terminate, wrapup |
Methods inherited from class ptolemy.kernel.ComponentEntity |
_adjustDeferrals, _checkContainer, _getContainedObject, _propagateExistence, getContainer, instantiate, isAtomic, isOpaque, moveDown, moveToFirst, moveToIndex, moveToLast, moveUp, propagateExistence, setName |
Methods inherited from class ptolemy.kernel.Entity |
_description, _exportMoMLContents, _removePort, _validateSettables, connectedPortList, connectedPorts, containedObjectsIterator, getAttribute, getPort, getPorts, linkedRelationList, linkedRelations, portList, removeAllPorts, setClassDefinition, uniqueName |
Methods inherited from class ptolemy.kernel.util.NamedObj |
_addAttribute, _adjustOverride, _attachText, _cloneFixAttributeFields, _debug, _debug, _debug, _debug, _debug, _getIndentPrefix, _isMoMLSuppressed, _markContentsDerived, _propagateValue, _recordDecoratedAttributes, _removeAttribute, _splitName, _stripNumericSuffix, addChangeListener, addDebugListener, attributeChanged, attributeList, attributeList, deepContains, depthInHierarchy, description, description, event, executeChangeRequests, exportMoML, exportMoML, exportMoML, exportMoML, exportMoMLPlain, getAttribute, getAttributes, getChangeListeners, getClassName, getDecoratorAttribute, getDecoratorAttributes, getDerivedLevel, getDerivedList, getDisplayName, getFullName, getModelErrorHandler, getName, getName, getSource, handleModelError, isDeferringChangeRequests, isOverridden, isPersistent, lazyContainedObjectsIterator, message, propagateValue, propagateValues, removeChangeListener, removeDebugListener, requestChange, setClassName, setDeferringChangeRequests, setDerivedLevel, setDisplayName, setModelErrorHandler, setPersistent, setSource, sortContainedObjects, toplevel, toString, validateSettables, workspace |
Methods inherited from class java.lang.Object |
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
codeBook
public Parameter codeBook
- A Parameter of type String, giving the location of the codebook data
file relative to the root classpath.
blockCount
public Parameter blockCount
- The number of blocks to be decoded during each firing.
The default value is one, which will always work, but using a higher
number (such as the number of blocks in a frame) will speed things up.
This should contain an integer.
blockWidth
public Parameter blockWidth
- The width, in integer pixels, of the block to decode.
blockHeight
public Parameter blockHeight
- The width, in integer pixels, of the block to decode.
input_tokenConsumptionRate
public Parameter input_tokenConsumptionRate
- The input rate.
output_tokenProductionRate
public Parameter output_tokenProductionRate
- The output rate.
_codebook
private int[][][][] _codebook
_codewords
private Token[] _codewords
_blocks
private IntMatrixToken[] _blocks
_blockCount
private int _blockCount
_blockWidth
private int _blockWidth
_blockHeight
private int _blockHeight
VQDecode
public VQDecode(CompositeEntity container,
java.lang.String name)
throws IllegalActionException,
NameDuplicationException
- Construct an actor in the specified container with the specified
name.
- Parameters:
container
- The container.name
- The name of this adder within the container.
- Throws:
IllegalActionException
- If the actor cannot be contained
by the proposed container.
NameDuplicationException
- If the name coincides with
an actor already in the container.
fire
public void fire()
throws IllegalActionException
- Fire this actor.
Consume a number of tokens on the input port, each representing a
VQ codeword. Index into the appropriate codebook given by the
blockWidth and blockHeight parameters to find the decoded vector for
each codeword. Output an IntMatrixToken representing each decoded
vector on the output port.
- Specified by:
fire
in interface Executable
- Overrides:
fire
in class AtomicActor
- Throws:
IllegalActionException
- If the input or output are not
connected
ArrayOutOfBoundsException
- If the input codewords are
not between 0 and 255.
initialize
public void initialize()
throws IllegalActionException
- Initialize this actor.
Load the codebooks and lookup tables from the file given by the
parameter "codeBook".
- Specified by:
initialize
in interface Initializable
- Overrides:
initialize
in class AtomicActor
- Throws:
IllegalActionException
- If the parameters do not have
legal values, or the codebook file cannot be read.
_fullRead
private int _fullRead(java.io.InputStream s,
byte[] b)
throws java.io.IOException
- Throws:
java.io.IOException
_stages
private int _stages(int length)
- Given a vector of the given length, compute the codebook stage
appropriate. Basically, compute log base 2 of length, assuming
length is a power of 2.