프로퍼티 | 타입 | 설명 | |
---|---|---|---|
bms | CSJ2K.j2k.StringSpec | ||
css | CSJ2K.j2k.StringSpec | ||
lcs | CSJ2K.j2k.StringSpec | ||
mqrs | CSJ2K.j2k.StringSpec | ||
rts | CSJ2K.j2k.StringSpec | ||
sss | CSJ2K.j2k.StringSpec | ||
tts | CSJ2K.j2k.StringSpec |
메소드 | 설명 | |
---|---|---|
StdEntropyCoder ( CBlkQuantDataSrcEnc src, |
Instantiates a new entropy coder engine, with the specified source of data, nominal block width and height. If the 'OPT_PRED_TERM' option is given then the MQ termination must be 'TERM_PRED_ER' or an exception is thrown.
|
|
getCBlkHeight ( int t, int c ) : int |
Returns the code-block height for the specified tile and component.
|
|
getCBlkWidth ( int t, int c ) : int |
Returns the code-block width for the specified tile and component.
|
|
getNextCodeBlock ( int c, CSJ2K.j2k.entropy.encoder.CBlkRateDistStats ccb ) : CSJ2K.j2k.entropy.encoder.CBlkRateDistStats |
Returns the next coded code-block in the current tile for the specified component, as a copy (see below). The order in which code-blocks are returned is not specified. However each code-block is returned only once and all code-blocks will be returned if the method is called 'N' times, where 'N' is the number of code-blocks in the tile. After all the code-blocks have been returned for the current tile calls to this method will return 'null'. When changing the current tile (through 'setTile()' or 'nextTile()') this method will always return the first code-block, as if this method was never called before for the new current tile. The data returned by this method is always a copy of the internal data of this object, if any, and it can be modified "in place" without any problems after being returned.
|
|
getPPX ( int t, int c, int rl ) : int |
Returns the precinct partition width for the specified component, tile and resolution level.
|
|
getPPY ( int t, int c, int rl ) : int |
Returns the precinct partition height for the specified component, tile and resolution level.
|
|
initTileComp ( int nt, int nc ) : void |
Load options, length calculation type and termination type for each tile-component.
|
|
nextTile ( ) : void |
Advances to the next tile, in standard scan-line order (by rows then columns). An NoNextElementException is thrown if the current tile is the last one (i.e. there is no next tile). This default implementation just advances to the next tile in the source.
|
|
precinctPartitionUsed ( int c, int t ) : bool |
Returns true if precinct partition is used for the specified component and tile, returns false otherwise.
|
|
setTile ( int x, int y ) : void |
Changes the current tile, given the new indexes. An IllegalArgumentException is thrown if the indexes do not correspond to a valid tile. This default implementation just changes the tile in the source.
|
메소드 | 설명 | |
---|---|---|
StdEntropyCoder ( ) : CSJ2K.j2k.quantization.quantizer |
Static initializer: initializes all the lookup tables.
|
|
calcSkipMSBP ( CSJ2K.j2k.wavelet.analysis.CBlkWTData cblk, int lmb ) : int |
Calculates the number of magnitude bit-planes that are to be skipped, because they are non-significant. The algorithm looks for the largest magnitude and calculates the most significant bit-plane of it.
|
|
checkEndOfPassFF ( byte data, int rates, bool isterm, int n ) : void |
Ensures that at the end of a non-terminated coding pass there is not a 0xFF byte, modifying the stored rates if necessary. Due to error resiliance reasons, a coding pass should never have its last byte be a 0xFF, since that can lead to the emulation of a resync marker. This method checks if that is the case, and reduces the rate for a given pass if necessary. The ommitted 0xFF will be synthetized by the decoder if necessary, as required by JPEG 2000. This method should only be called once that the entire code-block is coded. Passes that are terminated are not checked for the 0xFF byte, since it is assumed that the termination procedure does not output any trailing 0xFF. Checking the terminated segments would involve much more than just modifying the stored rates. NOTE: It is assumed by this method that the coded data does not contain consecutive 0xFF bytes, as is the case with the MQ and 'arithemetic coding bypass' bit stuffing policy. However, the termination policies used should also respect this requirement.
|
|
cleanuppass ( CSJ2K.j2k.wavelet.analysis.CBlkWTData srcblk, |
Performs the cleanup pass on the specified data and bit-plane. It codes all insignificant samples which have its "visited" state bit off, using the ZC, SC, and RLC primitives. It toggles the "visited" state bit to 0 (off) for all samples in the code-block.
|
|
compressCodeBlock ( int c, CSJ2K.j2k.entropy.encoder.CBlkRateDistStats ccb, CSJ2K.j2k.wavelet.analysis.CBlkWTData srcblk, |
Compresses the code-block in 'srcblk' and puts the results in 'ccb', using the specified options and temporary storage.
|
|
magRefPass ( CSJ2K.j2k.wavelet.analysis.CBlkWTData srcblk, |
Performs the magnitude refinement pass on the specified data and bit-plane. It codes the samples which are significant and which do not have the "visited" state bit turned on, using the MR primitive. The "visited" state bit is not mofified for any samples.
|
|
rawMagRefPass ( CSJ2K.j2k.wavelet.analysis.CBlkWTData srcblk, CSJ2K.j2k.entropy.encoder.BitToByteOutput bout, bool doterm, int bp, int state, int fm, int ratebuf, int pidx, int ltpidx, int options ) : int |
Performs the magnitude refinement pass on the specified data and bit-plane, without using the arithmetic coder. It codes the samples which are significant and which do not have the "visited" state bit turned on, using the MR primitive. The "visited" state bit is not mofified for any samples. In this method, the arithmetic coder is bypassed, and raw bits are directly written in the bit stream (useful when distribution are close to uniform, for intance, at high bit-rates and at lossless compression). The 'STATE_PREV_MR_R1' and 'STATE_PREV_MR_R2' bits are not set because they are used only when the arithmetic coder is not bypassed.
|
|
rawSigProgPass ( CSJ2K.j2k.wavelet.analysis.CBlkWTData srcblk, CSJ2K.j2k.entropy.encoder.BitToByteOutput bout, bool doterm, int bp, int state, int fs, int ratebuf, int pidx, int ltpidx, int options ) : int |
Performs the significance propagation pass on the specified data and bit-plane, without using the arithmetic coder. It codes all insignificant samples which have, at least, one of its immediate eight neighbors already significant, using the ZC and SC primitives as needed. It toggles the "visited" state bit to 1 for all those samples. In this method, the arithmetic coder is bypassed, and raw bits are directly written in the bit stream (useful when distribution are close to uniform, for intance, at high bit-rates and at lossless compression).
|
|
sigProgPass ( CSJ2K.j2k.wavelet.analysis.CBlkWTData srcblk, |
Performs the significance propagation pass on the specified data and bit-plane. It codes all insignificant samples which have, at least, one of its immediate eight neighbors already significant, using the ZC and SC primitives as needed. It toggles the "visited" state bit to 1 for all those samples.
|
public StdEntropyCoder ( CBlkQuantDataSrcEnc src, |
||
src | CBlkQuantDataSrcEnc | The source of data /// /// |
cblks | ||
pss | Precinct partition specifications /// /// | |
bms | CSJ2K.j2k.StringSpec | By-pass mode specifications /// /// |
mqrs | CSJ2K.j2k.StringSpec | MQ-reset specifications /// /// |
rts | CSJ2K.j2k.StringSpec | Regular termination specifications /// /// |
css | CSJ2K.j2k.StringSpec | Causal stripes specifications /// /// |
sss | CSJ2K.j2k.StringSpec | Error resolution segment symbol use specifications /// /// |
lcs | CSJ2K.j2k.StringSpec | Length computation specifications /// /// |
tts | CSJ2K.j2k.StringSpec | Termination type specifications /// /// |
리턴 | CSJ2K.j2k.quantization.quantizer |
public getCBlkHeight ( int t, int c ) : int | ||
t | int | The tile index /// /// |
c | int | The component index /// /// |
리턴 | int |
public getCBlkWidth ( int t, int c ) : int | ||
t | int | The tile index /// /// |
c | int | the component index /// /// |
리턴 | int |
public getNextCodeBlock ( int c, CSJ2K.j2k.entropy.encoder.CBlkRateDistStats ccb ) : CSJ2K.j2k.entropy.encoder.CBlkRateDistStats | ||
c | int | The component for which to return the next code-block. /// /// |
ccb | CSJ2K.j2k.entropy.encoder.CBlkRateDistStats | If non-null this object might be used in returning the coded /// code-block in this or any subsequent call to this method. If null a new /// one is created and returned. If the 'data' array of 'cbb' is not null /// it may be reused to return the compressed data. /// /// |
리턴 | CSJ2K.j2k.entropy.encoder.CBlkRateDistStats |
public getPPX ( int t, int c, int rl ) : int | ||
t | int | the tile index /// /// |
c | int | the component /// /// |
rl | int | the resolution level /// /// |
리턴 | int |
public getPPY ( int t, int c, int rl ) : int | ||
t | int | the tile index /// /// |
c | int | the component /// /// |
rl | int | the resolution level /// /// |
리턴 | int |
public initTileComp ( int nt, int nc ) : void | ||
nt | int | The number of tiles /// /// |
nc | int | The number of components /// /// |
리턴 | void |
public precinctPartitionUsed ( int c, int t ) : bool | ||
c | int | The component /// /// |
t | int | The tile /// /// |
리턴 | bool |
public setTile ( int x, int y ) : void | ||
x | int | The horizontal index of the tile. /// /// |
y | int | The vertical index of the new tile. /// /// |
리턴 | void |