public static class HuffmanTablesDirectory.HuffmanTable extends Object
Modifier and Type | Class and Description |
---|---|
static class |
HuffmanTablesDirectory.HuffmanTable.HuffmanTableClass |
Constructor and Description |
---|
HuffmanTable(HuffmanTablesDirectory.HuffmanTable.HuffmanTableClass tableClass,
int tableDestinationId,
byte[] lengthBytes,
byte[] valueBytes) |
Modifier and Type | Method and Description |
---|---|
byte[] |
getLengthBytes() |
HuffmanTablesDirectory.HuffmanTable.HuffmanTableClass |
getTableClass() |
int |
getTableDestinationId() |
int |
getTableLength() |
byte[] |
getValueBytes() |
boolean |
isOptimized()
The opposite of
isTypical() . |
boolean |
isTypical()
Evaluates whether this table is a "typical" Huffman table.
|
public HuffmanTable(HuffmanTablesDirectory.HuffmanTable.HuffmanTableClass tableClass, int tableDestinationId, byte[] lengthBytes, byte[] valueBytes)
public int getTableLength()
public HuffmanTablesDirectory.HuffmanTable.HuffmanTableClass getTableClass()
HuffmanTablesDirectory.HuffmanTable.HuffmanTableClass
of this table.public int getTableDestinationId()
public byte[] getLengthBytes()
public byte[] getValueBytes()
public boolean isTypical()
"Typical" has a special meaning in this context as the JPEG standard (ISO/IEC 10918 or ITU-T T.81) defines 4 Huffman tables that has been developed from the average statistics of a large set of images with 8-bit precision. Using these instead of calculating the optimal Huffman tables for a given image is faster, and is preferred by many hardware encoders and some hardware decoders.
Even though the JPEG standard doesn't define these as "standard tables" and requires a decoder to be able to read any valid Huffman tables, some are in reality limited decoding images using these "typical" tables. Standards like DCF (Design rule for Camera File system) and DLNA (Digital Living Network Alliance) actually requires any compliant JPEG to use only the "typical" Huffman tables.
This is also related to the term "optimized" JPEG. An "optimized" JPEG is a JPEG that doesn't use the "typical" Huffman tables.
public boolean isOptimized()
isTypical()
.Copyright © 2010 - 2020 Adobe. All Rights Reserved