Java Doc for StdQuantizer.java in  » 6.0-JDK-Modules » Java-Advanced-Imaging » jj2000 » j2k » quantization » quantizer » Java Source Code / Java DocumentationJava Source Code and Java Documentation

Java Source Code / Java Documentation
1. 6.0 JDK Core
2. 6.0 JDK Modules
3. 6.0 JDK Modules com.sun
4. 6.0 JDK Modules com.sun.java
5. 6.0 JDK Modules sun
6. 6.0 JDK Platform
7. Ajax
8. Apache Harmony Java SE
9. Aspect oriented
10. Authentication Authorization
11. Blogger System
12. Build
13. Byte Code
14. Cache
15. Chart
16. Chat
17. Code Analyzer
18. Collaboration
19. Content Management System
20. Database Client
21. Database DBMS
22. Database JDBC Connection Pool
23. Database ORM
24. Development
25. EJB Server geronimo
26. EJB Server GlassFish
27. EJB Server JBoss 4.2.1
28. EJB Server resin 3.1.5
29. ERP CRM Financial
30. ESB
31. Forum
32. GIS
33. Graphic Library
34. Groupware
35. HTML Parser
36. IDE
37. IDE Eclipse
38. IDE Netbeans
39. Installer
40. Internationalization Localization
41. Inversion of Control
42. Issue Tracking
43. J2EE
44. JBoss
45. JMS
46. JMX
47. Library
48. Mail Clients
49. Net
50. Parser
51. PDF
52. Portal
53. Profiler
54. Project Management
55. Report
56. RSS RDF
57. Rule Engine
58. Science
59. Scripting
60. Search Engine
61. Security
62. Sevlet Container
63. Source Control
64. Swing Library
65. Template Engine
66. Test Coverage
67. Testing
68. UML
69. Web Crawler
70. Web Framework
71. Web Mail
72. Web Server
73. Web Services
74. Web Services apache cxf 2.0.1
75. Web Services AXIS2
76. Wiki Engine
77. Workflow Engines
78. XML
79. XML UI
Java
Java Tutorial
Java Open Source
Jar File Download
Java Articles
Java Products
Java by API
Photoshop Tutorials
Maya Tutorials
Flash Tutorials
3ds-Max Tutorials
Illustrator Tutorials
GIMP Tutorials
C# / C Sharp
C# / CSharp Tutorial
C# / CSharp Open Source
ASP.Net
ASP.NET Tutorial
JavaScript DHTML
JavaScript Tutorial
JavaScript Reference
HTML / CSS
HTML CSS Reference
C / ANSI-C
C Tutorial
C++
C++ Tutorial
Ruby
PHP
Python
Python Tutorial
Python Open Source
SQL Server / T-SQL
SQL Server / T-SQL Tutorial
Oracle PL / SQL
Oracle PL/SQL Tutorial
PostgreSQL
SQL / MySQL
MySQL Tutorial
VB.Net
VB.Net Tutorial
Flash / Flex / ActionScript
VBA / Excel / Access / Word
XML
XML Tutorial
Microsoft Office PowerPoint 2007 Tutorial
Microsoft Office Excel 2007 Tutorial
Microsoft Office Word 2007 Tutorial
Java Source Code / Java Documentation » 6.0 JDK Modules » Java Advanced Imaging » jj2000.j2k.quantization.quantizer 
Source Cross Reference  Class Diagram Java Document (Java Doc) 


java.lang.Object
   jj2000.j2k.image.ImgDataAdapter
      jj2000.j2k.quantization.quantizer.Quantizer
         jj2000.j2k.quantization.quantizer.StdQuantizer

StdQuantizer
public class StdQuantizer extends Quantizer (Code)
This class implements scalar quantization of integer or floating-point valued source data. The source data is the wavelet transformed image data and the output is the quantized wavelet coefficients represented in sign-magnitude (see below).

Sign magnitude representation is used (instead of two's complement) for the output data. The most significant bit is used for the sign (0 if positive, 1 if negative). Then the magnitude of the quantized coefficient is stored in the next M most significat bits. The rest of the bits (least significant bits) can contain a fractional value of the quantized coefficient. This fractional value is not to be coded by the entropy coder. However, it can be used to compute rate-distortion measures with greater precision.

The value of M is determined for each subband as the sum of the number of guard bits G and the nominal range of quantized wavelet coefficients in the corresponding subband (Rq), minus 1:

M = G + Rq -1

The value of G should be the same for all subbands. The value of Rq depends on the quantization step size, the nominal range of the component before the wavelet transform and the analysis gain of the subband (see Subband).

The blocks of data that are requested should not cross subband boundaries.
See Also:   Subband
See Also:   Quantizer



Field Summary
final public static  intQSTEP_EXPONENT_BITS
    
final public static  intQSTEP_MANTISSA_BITS
    
final public static  intQSTEP_MAX_EXPONENT
    
final public static  intQSTEP_MAX_MANTISSA
    

Constructor Summary
public  StdQuantizer(CBlkWTDataSrc src, J2KImageWriteParamJava wp)
     Initializes the source of wavelet transform coefficients.

Method Summary
protected  voidcalcSbParams(SubbandAn sb, int c)
     Calculates the parameters of the SubbandAn objects that depend on the Quantizer.
public static  intconvertToExpMantissa(float step)
     Converts the floating point value to its exponent-mantissa representation.
public  intgetMaxMagBits(int c)
     Returns the maximum number of magnitude bits in any subband of the current tile.
public  CBlkWTDatagetNextCodeBlock(int c, CBlkWTData cblk)
     Returns the next code-block in the current tile for the specified component, as a copy (see below).
final public  CBlkWTDatagetNextInternCodeBlock(int c, CBlkWTData cblk)
     Returns the next code-block in the current tile for the specified component.
public  intgetNumGuardBits(int t, int c)
     Returns the number of guard bits used by this quantizer in the given tile-component.
public  QuantTypeSpecgetQuantTypeSpec()
     Returns the quantization type spec object associated to the quantizer.
public  booleanisDerived(int t, int c)
     Returns true if given tile-component uses derived quantization step sizes.
public  booleanisReversible(int t, int c)
     Returns true if the quantized data is reversible, for the specified tile-component.

Field Detail
QSTEP_EXPONENT_BITS
final public static int QSTEP_EXPONENT_BITS(Code)
The number of exponent bits for the quantization steps



QSTEP_MANTISSA_BITS
final public static int QSTEP_MANTISSA_BITS(Code)
The number of mantissa bits for the quantization steps



QSTEP_MAX_EXPONENT
final public static int QSTEP_MAX_EXPONENT(Code)
The maximum value of the exponent for the quantization steps



QSTEP_MAX_MANTISSA
final public static int QSTEP_MAX_MANTISSA(Code)
The maximum value of the mantissa for the quantization steps




Constructor Detail
StdQuantizer
public StdQuantizer(CBlkWTDataSrc src, J2KImageWriteParamJava wp)(Code)
Initializes the source of wavelet transform coefficients. The constructor takes information on whether the quantizer is in reversible, derived or expounded mode. If the quantizer is reversible the value of 'derived' is ignored. If the source data is not integer (int) then the quantizer can not be reversible.

After initializing member attributes, getAnSubbandTree is called for all components setting the 'stepWMSE' for all subbands in the current tile.
Parameters:
  src - The source of wavelet transform coefficients.
Parameters:
  encSpec - The encoder specifications





Method Detail
calcSbParams
protected void calcSbParams(SubbandAn sb, int c)(Code)
Calculates the parameters of the SubbandAn objects that depend on the Quantizer. The 'stepWMSE' field is calculated for each subband which is a leaf in the tree rooted at 'sb', for the specified component. The subband tree 'sb' must be the one for the component 'n'.
Parameters:
  sb - The root of the subband tree.
Parameters:
  c - The component index
See Also:   SubbandAn.stepWMSE



convertToExpMantissa
public static int convertToExpMantissa(float step)(Code)
Converts the floating point value to its exponent-mantissa representation. The mantissa occupies the 11 least significant bits (bits 10-0), and the exponent the previous 5 bits (bits 15-11).
Parameters:
  step - The quantization step, normalized to a dynamic range of 1. The exponent mantissa representation of the step.



getMaxMagBits
public int getMaxMagBits(int c)(Code)
Returns the maximum number of magnitude bits in any subband of the current tile.
Parameters:
  c - the component number The maximum number of magnitude bits in all subbands of thecurrent tile.



getNextCodeBlock
public CBlkWTData getNextCodeBlock(int c, CBlkWTData cblk)(Code)
Returns the next 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 data. Therfore it can be modified "in place" without any problems after being returned. The 'offset' of the returned data is 0, and the 'scanw' is the same as the code-block width. See the 'CBlkWTData' class.

The 'ulx' and 'uly' members of the returned 'CBlkWTData' object contain the coordinates of the top-left corner of the block, with respect to the tile, not the subband.
Parameters:
  c - The component for which to return the next code-block.
Parameters:
  cblk - If non-null this object will be used to return the newcode-block. If null a new one will be allocated and returned. If the"data" array of the object is non-null it will be reused, if possible,to return the data. The next code-block in the current tile for component 'n', ornull if all code-blocks for the current tile have been returned.
See Also:   CBlkWTData




getNextInternCodeBlock
final public CBlkWTData getNextInternCodeBlock(int c, CBlkWTData cblk)(Code)
Returns the next code-block in the current tile for the specified component. 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 can be the data in the internal buffer of this object, if any, and thus can not be modified by the caller. The 'offset' and 'scanw' of the returned data can be arbitrary. See the 'CBlkWTData' class.

The 'ulx' and 'uly' members of the returned 'CBlkWTData' object contain the coordinates of the top-left corner of the block, with respect to the tile, not the subband.
Parameters:
  c - The component for which to return the next code-block.
Parameters:
  cblk - If non-null this object will be used to return the newcode-block. If null a new one will be allocated and returned. If the"data" array of the object is non-null it will be reused, if possible,to return the data. The next code-block in the current tile for component 'n', ornull if all code-blocks for the current tile have been returned.
See Also:   CBlkWTData




getNumGuardBits
public int getNumGuardBits(int t, int c)(Code)
Returns the number of guard bits used by this quantizer in the given tile-component.
Parameters:
  t - Tile index
Parameters:
  c - Component index The number of guard bits



getQuantTypeSpec
public QuantTypeSpec getQuantTypeSpec()(Code)
Returns the quantization type spec object associated to the quantizer. The quantization type spec



isDerived
public boolean isDerived(int t, int c)(Code)
Returns true if given tile-component uses derived quantization step sizes.
Parameters:
  t - Tile index
Parameters:
  c - Component index True if derived



isReversible
public boolean isReversible(int t, int c)(Code)
Returns true if the quantized data is reversible, for the specified tile-component. For the quantized data to be reversible it is necessary and sufficient that the quantization is reversible.
Parameters:
  t - The tile to test for reversibility
Parameters:
  c - The component to test for reversibility True if the quantized data is reversible, false if not.



Fields inherited from jj2000.j2k.quantization.quantizer.Quantizer
final public static char OPT_PREFIX(Code)(Java Doc)
protected CBlkWTDataSrc src(Code)(Java Doc)

Methods inherited from jj2000.j2k.quantization.quantizer.Quantizer
abstract protected void calcSbParams(SubbandAn sb, int n)(Code)(Java Doc)
public static Quantizer createInstance(CBlkWTDataSrc src, J2KImageWriteParamJava wp)(Code)(Java Doc)
public SubbandAn getAnSubbandTree(int t, int c)(Code)(Java Doc)
public int getCbULX()(Code)(Java Doc)
public int getCbULY()(Code)(Java Doc)
abstract public int getMaxMagBits(int c)(Code)(Java Doc)
abstract public int getNumGuardBits(int t, int c)(Code)(Java Doc)
public static String[][] getParameterInfo()(Code)(Java Doc)
abstract public boolean isDerived(int t, int c)(Code)(Java Doc)

Fields inherited from jj2000.j2k.image.ImgDataAdapter
protected ImgData imgdatasrc(Code)(Java Doc)
protected int tIdx(Code)(Java Doc)

Methods inherited from jj2000.j2k.image.ImgDataAdapter
public int getCompImgHeight(int c)(Code)(Java Doc)
public int getCompImgWidth(int c)(Code)(Java Doc)
public int getCompSubsX(int c)(Code)(Java Doc)
public int getCompSubsY(int c)(Code)(Java Doc)
public int getCompULX(int c)(Code)(Java Doc)
public int getCompULY(int c)(Code)(Java Doc)
public int getImgHeight()(Code)(Java Doc)
public int getImgULX()(Code)(Java Doc)
public int getImgULY()(Code)(Java Doc)
public int getImgWidth()(Code)(Java Doc)
public int getNomRangeBits(int c)(Code)(Java Doc)
public int getNomTileHeight()(Code)(Java Doc)
public int getNomTileWidth()(Code)(Java Doc)
public int getNumComps()(Code)(Java Doc)
public Point getNumTiles(Point co)(Code)(Java Doc)
public int getNumTiles()(Code)(Java Doc)
public Point getTile(Point co)(Code)(Java Doc)
public int getTileCompHeight(int t, int c)(Code)(Java Doc)
public int getTileCompWidth(int t, int c)(Code)(Java Doc)
public int getTileHeight()(Code)(Java Doc)
public int getTileIdx()(Code)(Java Doc)
public int getTilePartULX()(Code)(Java Doc)
public int getTilePartULY()(Code)(Java Doc)
public int getTileWidth()(Code)(Java Doc)
public void nextTile()(Code)(Java Doc)
public void setTile(int x, int y)(Code)(Java Doc)

Methods inherited from java.lang.Object
native protected Object clone() throws CloneNotSupportedException(Code)(Java Doc)
public boolean equals(Object obj)(Code)(Java Doc)
protected void finalize() throws Throwable(Code)(Java Doc)
final native public Class getClass()(Code)(Java Doc)
native public int hashCode()(Code)(Java Doc)
final native public void notify()(Code)(Java Doc)
final native public void notifyAll()(Code)(Java Doc)
public String toString()(Code)(Java Doc)
final native public void wait(long timeout) throws InterruptedException(Code)(Java Doc)
final public void wait(long timeout, int nanos) throws InterruptedException(Code)(Java Doc)
final public void wait() throws InterruptedException(Code)(Java Doc)

www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.