Top Description Inners Fields Constructors Methods
org.apache.pdfbox.jbig2.segments

public Class GenericRefinementRegion

extends Object
implements Region
Class Inheritance
All Implemented Interfaces
org.apache.pdfbox.jbig2.Region, org.apache.pdfbox.jbig2.SegmentData
Imports
java.io.IOException, org.apache.pdfbox.jbig2.Bitmap, .Region, .SegmentHeader, org.apache.pdfbox.jbig2.decoder.arithmetic.ArithmeticDecoder, .CX, org.apache.pdfbox.jbig2.err.IntegerMaxValueException, .InvalidHeaderValueException, org.apache.pdfbox.jbig2.io.SubInputStream

This class represents a generic refinement region and implements the procedure described in JBIG2 ISO standard, 6.3 and 7.4.7.

Nested and Inner Type Summary

Modifier and TypeClass and Description
public abstract static class
private static class
private static class

Field Summary

Modifier and TypeField and Description
private ArithmeticDecoder
private CX
private boolean[]
private short[]
grAtX

Generic refinement region segment AT flags, 7.4.7.3

private short[]
private boolean
isTPGROn

Generic refinement region segment flags, 7.4.7.2

private boolean
override

If true, AT pixels are not on their nominal location and have to be overridden.

private Bitmap
referenceBitmap

Variables for decoding

private int
private int
private Bitmap
regionBitmap

Decoded data as pixel values (use row stride/width to wrap line)

private RegionSegmentInformation
regionInfo

Region segment information flags, 7.4.1

private SegmentHeader
private SubInputStream
private static final GenericRefinementRegion.Template
private static final GenericRefinementRegion.Template
private GenericRefinementRegion.Template
private short

Constructor Summary

AccessConstructor and Description
public
public
public
GenericRefinementRegion(final SubInputStream subInputStream, final SegmentHeader segmentHeader)

Method Summary

Modifier and TypeMethod and Description
private void
decodeOptimized(final int lineNumber, final int width, final int rowStride, final int refRowStride, final int paddedWidth, final int deltaRefStride, final int lineOffset)

private int
private void
decodeTemplate(final int lineNumber, final int width, final int rowStride, final int refRowStride, final int paddedWidth, final int deltaRefStride, final int lineOffset, int byteIndex, final int currentLine, int refByteIndex, GenericRefinementRegion.Template templateFormation)

private void
decodeTypicalPredictedLine(final int lineNumber, final int width, final int rowStride, final int refRowStride, final int paddedWidth, final int deltaRefStride)

private void
decodeTypicalPredictedLineTemplate0(final int lineNumber, final int width, final int rowStride, final int refRowStride, final int paddedWidth, final int deltaRefStride, int byteIndex, final int currentLine, int refByteIndex)

private void
decodeTypicalPredictedLineTemplate1(final int lineNumber, final int width, final int rowStride, final int refRowStride, final int paddedWidth, final int deltaRefStride, int byteIndex, final int currentLine, int refByteIndex)

private Bitmap
private byte
getPixel(final Bitmap b, final int x, final int y)

public Bitmap
getRegionBitmap()

Implements org.apache.pdfbox.jbig2.Region.getRegionBitmap.

Decode using a template and arithmetic coding, as described in 6.3.5.6

public RegionSegmentInformation
public void
init(final SegmentHeader
- The segments' header (to make referred-to segments available in data part).
header
,
final SubInputStream
- Wrapped ImageInputStream into SubInputStream.
sis
)

Implements org.apache.pdfbox.jbig2.SegmentData.init.

Parse the stream and read information of header.

private int
overrideAtTemplate0(int context, final int x, final int y, final int result, final int minorX)

private void
parseHeader()

Parses the flags described in JBIG2 ISO standard:

  • 7.4.7.2 Generic refinement region segment flags
  • 7.4.7.3 Generic refinement refion segment AT flags
private void
protected void
setParameters(final CX cx, final ArithmeticDecoder arithmeticDecoder, final short grTemplate, final int regionWidth, final int regionHeight, final Bitmap grReference, final int grReferenceDX, final int grReferenceDY, final boolean isTPGRon, final short[] grAtX, final short[] grAtY)

private void
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

arithDecoderback to summary
private ArithmeticDecoder arithDecoder
cxback to summary
private CX cx
grAtOverrideback to summary
private boolean[] grAtOverride
grAtXback to summary
private short[] grAtX

Generic refinement region segment AT flags, 7.4.7.3

grAtYback to summary
private short[] grAtY
isTPGROnback to summary
private boolean isTPGROn

Generic refinement region segment flags, 7.4.7.2

overrideback to summary
private boolean override

If true, AT pixels are not on their nominal location and have to be overridden.

referenceBitmapback to summary
private Bitmap referenceBitmap

Variables for decoding

referenceDXback to summary
private int referenceDX
referenceDYback to summary
private int referenceDY
regionBitmapback to summary
private Bitmap regionBitmap

Decoded data as pixel values (use row stride/width to wrap line)

regionInfoback to summary
private RegionSegmentInformation regionInfo

Region segment information flags, 7.4.1

segmentHeaderback to summary
private SegmentHeader segmentHeader
subInputStreamback to summary
private SubInputStream subInputStream
T0back to summary
private static final GenericRefinementRegion.Template T0
T1back to summary
private static final GenericRefinementRegion.Template T1
templateback to summary
private GenericRefinementRegion.Template template
templateIDback to summary
private short templateID

Constructor Detail

GenericRefinementRegionback to summary
public GenericRefinementRegion()
GenericRefinementRegionback to summary
public GenericRefinementRegion(final SubInputStream subInputStream)
GenericRefinementRegionback to summary
public GenericRefinementRegion(final SubInputStream subInputStream, final SegmentHeader segmentHeader)

Method Detail

decodeOptimizedback to summary
private void decodeOptimized(final int lineNumber, final int width, final int rowStride, final int refRowStride, final int paddedWidth, final int deltaRefStride, final int lineOffset) throws IOException
decodeSLTPback to summary
private int decodeSLTP() throws IOException
decodeTemplateback to summary
private void decodeTemplate(final int lineNumber, final int width, final int rowStride, final int refRowStride, final int paddedWidth, final int deltaRefStride, final int lineOffset, int byteIndex, final int currentLine, int refByteIndex, GenericRefinementRegion.Template templateFormation) throws IOException
decodeTypicalPredictedLineback to summary
private void decodeTypicalPredictedLine(final int lineNumber, final int width, final int rowStride, final int refRowStride, final int paddedWidth, final int deltaRefStride) throws IOException
decodeTypicalPredictedLineTemplate0back to summary
private void decodeTypicalPredictedLineTemplate0(final int lineNumber, final int width, final int rowStride, final int refRowStride, final int paddedWidth, final int deltaRefStride, int byteIndex, final int currentLine, int refByteIndex) throws IOException
decodeTypicalPredictedLineTemplate1back to summary
private void decodeTypicalPredictedLineTemplate1(final int lineNumber, final int width, final int rowStride, final int refRowStride, final int paddedWidth, final int deltaRefStride, int byteIndex, final int currentLine, int refByteIndex) throws IOException
getGrReferenceback to summary
private Bitmap getGrReference() throws IntegerMaxValueException, InvalidHeaderValueException, IOException
getPixelback to summary
private byte getPixel(final Bitmap b, final int x, final int y) throws IOException
getRegionBitmapback to summary
public Bitmap getRegionBitmap() throws IOException, IntegerMaxValueException, InvalidHeaderValueException

Implements org.apache.pdfbox.jbig2.Region.getRegionBitmap.

Decode using a template and arithmetic coding, as described in 6.3.5.6

Returns:Bitmap

Doc from org.apache.pdfbox.jbig2.Region.getRegionBitmap.

The decoded region as Bitmap.

Exceptions
IOException:
if an underlying IO operation fails
IntegerMaxValueException:
if the maximum value limit of an integer is exceeded
InvalidHeaderValueException:
if a segment header value is invalid
getRegionInfoback to summary
public RegionSegmentInformation getRegionInfo()

Implements org.apache.pdfbox.jbig2.Region.getRegionInfo.

Doc from org.apache.pdfbox.jbig2.Region.getRegionInfo.

Simply returns the RegionSegmentInformation.

Returns:RegionSegmentInformation

The RegionSegmentInformation.

initback to summary
public void init(final SegmentHeader header, final SubInputStream sis) throws IOException

Implements org.apache.pdfbox.jbig2.SegmentData.init.

Doc from org.apache.pdfbox.jbig2.SegmentData.init.

Parse the stream and read information of header.

Parameters
header:SegmentHeader

- The segments' header (to make referred-to segments available in data part).

sis:SubInputStream

- Wrapped ImageInputStream into SubInputStream.

Exceptions
IOException:
if an underlying IO operation fails
overrideAtTemplate0back to summary
private int overrideAtTemplate0(int context, final int x, final int y, final int result, final int minorX) throws IOException
parseHeaderback to summary
private void parseHeader() throws IOException

Parses the flags described in JBIG2 ISO standard:

  • 7.4.7.2 Generic refinement region segment flags
  • 7.4.7.3 Generic refinement refion segment AT flags
readAtPixelsback to summary
private void readAtPixels() throws IOException
setParametersback to summary
protected void setParameters(final CX cx, final ArithmeticDecoder arithmeticDecoder, final short grTemplate, final int regionWidth, final int regionHeight, final Bitmap grReference, final int grReferenceDX, final int grReferenceDY, final boolean isTPGRon, final short[] grAtX, final short[] grAtY)
updateOverrideback to summary
private void updateOverride()
org.apache.pdfbox.jbig2.segments back to summary

public abstract Class GenericRefinementRegion.Template

extends Object
Class Inheritance
  • java.lang.Object
  • org.apache.pdfbox.jbig2.segments.GenericRefinementRegion.Template
Known Direct Subclasses
org.apache.pdfbox.jbig2.segments.GenericRefinementRegion.Template0, org.apache.pdfbox.jbig2.segments.GenericRefinementRegion.Template1

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
protected abstract short
form(short c1, short c2, short c3, short c4, short c5)

protected abstract void
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Constructor Detail

Templateback to summary
public Template()

Method Detail

formback to summary
protected abstract short form(short c1, short c2, short c3, short c4, short c5)
setIndexback to summary
protected abstract void setIndex(CX cx)
org.apache.pdfbox.jbig2.segments back to summary

private Class GenericRefinementRegion.Template0

extends Template
Class Inheritance

Constructor Summary

AccessConstructor and Description
private

Method Summary

Modifier and TypeMethod and Description
protected short
form(short c1, short c2, short c3, short c4, short c5)

Implements abstract org.apache.pdfbox.jbig2.segments.GenericRefinementRegion.Template.form.

protected void

Constructor Detail

Template0back to summary
private Template0()

Method Detail

formback to summary
protected short form(short c1, short c2, short c3, short c4, short c5)

Implements abstract org.apache.pdfbox.jbig2.segments.GenericRefinementRegion.Template.form.

Annotations
@Override
setIndexback to summary
protected void setIndex(CX cx)

Implements abstract org.apache.pdfbox.jbig2.segments.GenericRefinementRegion.Template.setIndex.

Annotations
@Override
org.apache.pdfbox.jbig2.segments back to summary

private Class GenericRefinementRegion.Template1

extends Template
Class Inheritance

Constructor Summary

AccessConstructor and Description
private

Method Summary

Modifier and TypeMethod and Description
protected short
form(short c1, short c2, short c3, short c4, short c5)

Implements abstract org.apache.pdfbox.jbig2.segments.GenericRefinementRegion.Template.form.

protected void

Constructor Detail

Template1back to summary
private Template1()

Method Detail

formback to summary
protected short form(short c1, short c2, short c3, short c4, short c5)

Implements abstract org.apache.pdfbox.jbig2.segments.GenericRefinementRegion.Template.form.

Annotations
@Override
setIndexback to summary
protected void setIndex(CX cx)

Implements abstract org.apache.pdfbox.jbig2.segments.GenericRefinementRegion.Template.setIndex.

Annotations
@Override