MHDC-123_WhiteBook

advertisement
Draft Recommendation for
Space Data System Standards
LOSSLESS
MULTISPECTRAL &
HYPERSPECTRAL IMAGE
COMPRESSION
DRAFT RECOMMENDED STANDARD
CCSDS 123.0-R-0
DRAFT RED BOOK
February 23, 2011
DRAFT CCSDS RECOMMENDED STANDARD FOR LOSSLESS MULTISPECTRAL &
HYPERSPECTRAL IMAGE COMPRESSION
AUTHORITY
Issue:
Red Book, Issue 0
Date:
(tba)
Location:
Not Applicable
(WHEN THIS RECOMMENDED STANDARD IS FINALIZED, IT WILL CONTAIN
THE FOLLOWING STATEMENT OF AUTHORITY:)
This document has been approved for publication by the Management Council of the
Consultative Committee for Space Data Systems (CCSDS) and represents the consensus
technical agreement of the participating CCSDS Member Agencies. The procedure for
review and authorization of CCSDS documents is detailed in the Procedures Manual for the
Consultative Committee for Space Data Systems, and the record of Agency participation in
the authorization of this document can be obtained from the CCSDS Secretariat at the
address below.
This document is published and maintained by:
CCSDS Secretariat
Space Communications and Navigation Office, 7L70
Space Operations Mission Directorate
NASA Headquarters
Washington, DC 20546-0001, USA
CCSDS 123.0-R-0
Page i
February 2011
DRAFT CCSDS RECOMMENDED STANDARD FOR LOSSLESS MULTISPECTRAL &
HYPERSPECTRAL IMAGE COMPRESSION
FOREWORD
This Recommendation specifies a method for lossless compression of multispectral and
hyperspectral image data and a format for storing the compressed data.
Through the process of normal evolution, it is expected that expansion, deletion, or
modification of this document may occur. This Recommended Standard is therefore subject
to CCSDS document management and change control procedures, which are defined in the
Procedures Manual for the Consultative Committee for Space Data Systems. Current
versions of CCSDS documents are maintained at the CCSDS Web site:
http://www.ccsds.org/
Questions relating to the contents or status of this document should be addressed to the
CCSDS Secretariat at the address indicated on page i.
CCSDS 123.0-R-0
Page ii
February 2011
DRAFT CCSDS RECOMMENDED STANDARD FOR LOSSLESS MULTISPECTRAL &
HYPERSPECTRAL IMAGE COMPRESSION
At time of publication, the active Member and Observer Agencies of the CCSDS were:
Member Agencies
–
–
–
–
–
–
–
–
–
–
–
Agenzia Spaziale Italiana (ASI)/Italy.
British National Space Centre (BNSC)/United Kingdom.
Canadian Space Agency (CSA)/Canada.
Centre National d’Etudes Spatiales (CNES)/France.
China National Space Administration (CNSA)/People’s Republic of China.
Deutsches Zentrum für Luft- und Raumfahrt e.V. (DLR)/Germany.
European Space Agency (ESA)/Europe.
Federal Space Agency (FSA)/Russian Federation.
Instituto Nacional de Pesquisas Espaciais (INPE)/Brazil.
Japan Aerospace Exploration Agency (JAXA)/Japan.
National Aeronautics and Space Administration (NASA)/USA.
Observer Agencies
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
Austrian Space Agency (ASA)/Austria.
Belgian Federal Science Policy Office (BFSPO)/Belgium.
Central Research Institute of Machine Building (TsNIIMash)/Russian Federation.
Centro Tecnico Aeroespacial (CTA)/Brazil.
Chinese Academy of Sciences (CAS)/China.
Chinese Academy of Space Technology (CAST)/China.
Commonwealth Scientific and Industrial Research Organization (CSIRO)/Australia.
Danish National Space Center (DNSC)/Denmark.
European Organization for the Exploitation of Meteorological Satellites
(EUMETSAT)/Europe.
European Telecommunications Satellite Organization (EUTELSAT)/Europe.
Hellenic National Space Committee (HNSC)/Greece.
Indian Space Research Organization (ISRO)/India.
Institute of Space Research (IKI)/Russian Federation.
KFKI Research Institute for Particle & Nuclear Physics (KFKI)/Hungary.
Korea Aerospace Research Institute (KARI)/Korea.
MIKOMTEK: CSIR (CSIR)/Republic of South Africa.
Ministry of Communications (MOC)/Israel.
National Institute of Information and Communications Technology (NICT)/Japan.
National Oceanic and Atmospheric Administration (NOAA)/USA.
National Space Organization (NSPO)/Chinese Taipei.
Naval Center for Space Technology (NCST)/USA.
Space and Upper Atmosphere Research Commission (SUPARCO)/Pakistan.
Swedish Space Corporation (SSC)/Sweden.
United States Geological Survey (USGS)/USA.
CCSDS 123.0-R-0
Page iii
February 2011
DRAFT CCSDS RECOMMENDED STANDARD FOR LOSSLESS MULTISPECTRAL &
HYPERSPECTRAL IMAGE COMPRESSION
PREFACE
This document is a draft CCSDS Recommended Standard. Its ‘Red Book’ status indicates that
the CCSDS believes the document to be technically mature and has released it for formal
review by appropriate technical organizations. As such, its technical contents are not stable,
and several iterations of it may occur in response to comments received during the review
process.
Implementers are cautioned not to fabricate any final equipment in accordance with this
document’s technical content.
CCSDS 123.0-R-0
Page iv
February 2011
DRAFT CCSDS RECOMMENDED STANDARD FOR LOSSLESS MULTISPECTRAL &
HYPERSPECTRAL IMAGE COMPRESSION
DOCUMENT CONTROL
Document
Title and Issue
Date
Status
CCSDS
123.0-R-0
Lossless Multispectral &
Hyperspectral Image Compression,
Draft Recommended Standard, Issue
0
February
23, 2011
Current draft
CCSDS 123.0-R-0
Page v
February 2011
DRAFT CCSDS RECOMMENDED STANDARD FOR LOSSLESS MULTISPECTRAL &
HYPERSPECTRAL IMAGE COMPRESSION
CONTENTS
Section
CCSDS 123.0-R-0
Page
Page vi
February 2011
DRAFT CCSDS RECOMMENDED STANDARD FOR LOSSLESS MULTISPECTRAL &
HYPERSPECTRAL IMAGE COMPRESSION
1
1.1
INTRODUCTION
PURPOSE
The purpose of this document is to establish a Recommended Standard for a data
compression algorithm applied to digital three-dimensional image data from payload
instruments, such as multispectral and hyperspectral imagers, and to specify how this
compressed data shall be formatted to enable decompression.
Data compression is used to reduce the volume of digital data to achieve benefits in areas
including, but not limited to,
a) reduction of transmission channel bandwidth;
b) reduction of the buffering and storage requirement;
c) reduction of data-transmission time at a given rate.
1.2
SCOPE
The characteristics of instrument data are specified only to the extent necessary to ensure
multi-mission support capabilities. The specification does not attempt to quantify the relative
bandwidth reduction, the merits of the approaches discussed, or the design requirements for
encoders and associated decoders. Some performance information is included in reference
[A1].
This Recommended Standard addresses only lossless compression of three-dimensional data,
where the requirement is for a data-rate reduction constrained to allow no distortion to be
added in the data compression/decompression process. See reference [A1] for an outline of
an implementation.
1.3
APPLICABILITY
This Recommended Standard applies to data compression applications of space missions
anticipating packetized telemetry cross support. In addition, it serves as a guideline for the
development of compatible CCSDS Agency standards in this field, based on good
engineering practice.
1.4
RATIONALE
The concept and rationale for the Image Data Compression algorithm described herein may
be found in reference [A1].
CCSDS 123.0-R-0
Page 1-1
February 2011
DRAFT CCSDS RECOMMENDED STANDARD FOR LOSSLESS MULTISPECTRAL &
HYPERSPECTRAL IMAGE COMPRESSION
1.5
DOCUMENT STRUCTURE
This document is organized as follows:
a) Section 1 provides the purpose, scope, applicability, and rationale of this
Recommended Standard and identifies the conventions and references used
throughout the document. This section also describes how this document is organized.
A brief description is provided for each section and annex so that the reader will have
an idea of where information can be found in the document. It also identifies
terminology that is used in this document but is defined elsewhere.
b) Section 2 provides an overview of the lossless data compressor.
c) Section 3 defines parameters and notation pertaining to an input image to be
compressed.
d) Section 4 specifies the predictor stage of the compressor.
e) Section 5 specifies the entropy coding stage of the compressor and the format of a
compressed image.
f) ANNEX A lists informative references.
g) ANNEX B provides tables of symbols used in this document.
h) ANNEX C discusses security.
1.6
DEFINITIONS
1.6.1 MATHEMATICAL NOTATION AND DEFINITIONS
In this document, for any real number x, the largest integer n such that n<x is denoted by
n = ë x û,
and correspondingly, the smallest integer n such that n>x by
n = é x ù.
The modulus m of a number M with respect to a divisor n is denoted by
m = M mod n.
When it is stated that a value M is encoded modulo n, this means the number
m = M mod n
CCSDS 123.0-R-0
Page 1-2
February 2011
DRAFT CCSDS RECOMMENDED STANDARD FOR LOSSLESS MULTISPECTRAL &
HYPERSPECTRAL IMAGE COMPRESSION
is encoded instead of M.
For any integer x and positive integer R, the function mod𝑅∗ [π‘₯] is defined as
mod𝑅∗ [π‘₯] = ((π‘₯ + 2𝑅−1 ) mod 2𝑅 ) − 2𝑅−1 .
(
)
The notation clip x,{ x min , x max } denotes the clipping of the real number x to the range
[ x min , x max ], that is,
ì x min , x < x min
ï
clip( x, { x min , x max }) = í x,
x min £ x £ x max .
ïx , x > x
î max
max
For any real number x , the function sgn + (x) is defined as
ì 1,
sgn + (x) = í
î-1,
x³0
x<0
1.6.2 NOMENCLATURE
The following conventions apply throughout this Recommended Standard:
a) the words ‘shall’ and ‘must’ imply a binding and verifiable specification;
b) the word ‘should’ implies an optional, but desirable, specification;
c) the word ‘may’ implies an optional specification;
d) the words ‘is’, ‘are’, and ‘will’ imply statements of fact.
In the normative sections of this document (sections 3, 4, and 5), informative (i.e., nonnormative) text is differentiated from normative text through the following convention:
a) notes introduce brief informative statements;
b) the following headings introduce one or more paragraphs of informative text:
ο‚·
Overview
ο‚·
Rationale
1.6.3 CONVENTION
In this document, the following convention is used to identify each bit in an N-bit word. The
first bit in the word to be transmitted (i.e., the most left justified when drawing a figure) is
defined to be ‘Bit 0'; the following bit is defined to be ‘Bit 1’ and so on up to ‘Bit N-1’.
CCSDS 123.0-R-0
Page 1-3
February 2011
DRAFT CCSDS RECOMMENDED STANDARD FOR LOSSLESS MULTISPECTRAL &
HYPERSPECTRAL IMAGE COMPRESSION
When the word is used to express an unsigned binary value (such as a counter), the Most
Significant Bit (MSB) shall correspond to the highest power of two, i.e. 2N-1.
bit 0 bit 1
bit N-1
first transmitted bit = MSB
In accordance with modern data communications practice, spacecraft data words are often
grouped into 8-bit ‘words’ which conform to the above convention. Throughout this
recommendation, the following nomenclature is used to describe this grouping:
8-Bit Word = ‘Byte’
1.7
REFERENCE
The following document contains provisions which, through reference in this text, constitute
provisions of this Recommended Standard. At the time of publication, the edition indicated
was valid. The document is subject to revision, and users of this Recommended Standard are
encouraged to investigate the possibility of applying the most recent edition of the document
indicated below. The CCSDS Secretariat maintains a register of currently valid CCSDS
documents.
[1]
Lossless Data Compression. Recommendation for Space Data System Standards,
CCSDS 121.0-B-1. Blue Book. Issue 1. Washington, D.C.: CCSDS, May 1997.
CCSDS 123.0-R-0
Page 1-4
February 2011
DRAFT CCSDS RECOMMENDED STANDARD FOR LOSSLESS MULTISPECTRAL &
HYPERSPECTRAL IMAGE COMPRESSION
2
2.1
OVERVIEW
GENERAL
This Recommended Standard defines a payload lossless data compressor that has
applicability to multispectral and hyperspectral imagers and sounders. This Recommended
Standard does not attempt to explain the theory underlying the compression algorithm, which
is partially addressed in [A1].
The input to the compressor is an image, which is a three-dimensional array of integer
sample values, as specified in section 3. The compressed image output from the compressor
is an encoded bitstream from which the input image can be recovered exactly. Because of
variations in image content, the length of compressed images will vary from image-to-image.
That is, the compressed image is variable-length.
A user may choose to partition the output of an imaging instrument into smaller images that
are separately compressed, e.g., to limit the impact of data loss or corruption on the
communications channel. This Recommended Standard does not address the tradeoffs
associated with selecting the size of images produced under such partitioning. Reference
[A1] presents some examples.
The compressor consists of two functional parts, depicted in figure 2-1: a predictor and an
entropy coder.
Figure 2-1: Compressor Schematic
The predictor, specified in section 4, uses an adaptive linear prediction method to predict the
value of each image sample based on the values of nearby samples in a small threedimensional neighborhood. Prediction is performed sequentially in a single pass. The
prediction residual, i.e., the difference between the predicted and actual sample values, is
then mapped to an unsigned integer that can be represented using the same number of bits as
the input data sample. These mapped prediction residuals comprise the predictor output.
The entropy coder, specified in section 5, produces a compressed image by losslessly
encoding the mapped prediction residuals produced by the predictor. Entropy coder
parameters are adaptively adjusted during this process to adapt to changes in the statistics of
the mapped prediction residuals. The compressed image consists of a header that specifies
image and compression parameters followed by the encoded mapped prediction residuals.
CCSDS 123.0-R-0
Page 2-1
February 2011
DRAFT CCSDS RECOMMENDED STANDARD FOR LOSSLESS MULTISPECTRAL &
HYPERSPECTRAL IMAGE COMPRESSION
2.2
DATA TRANSMISSION
The effects of a single bit error can propagate to corrupt reconstructed data to the end of a
compressed image (see reference [A1]). Therefore, measures should be taken to minimize the
number of potential bit errors on the transmission link.
This recommended standard does not incorporate sync markers or other mechanisms to flag
the header of an image; it is assumed that the transport mechanism used for the delivery of
the encoded bitstream will provide the ability to locate the header of the next image in the
event of a bit error.
In case the encoded bitstream is to be transmitted over a CCSDS space link, several protocols
can be used to transfer a compressed image, including:
-
Space Packet Protocol [A2];
-
CCSDS File Delivery Protocol (CFDP) [A3];
-
packet service or bitstream service as provided by the AOS Space Data Link Protocol
[A4].
CCSDS 123.0-R-0
Page 2-2
February 2011
DRAFT CCSDS RECOMMENDED STANDARD FOR LOSSLESS MULTISPECTRAL &
HYPERSPECTRAL IMAGE COMPRESSION
3
3.1
IMAGE
OVERVIEW
This section defines parameters and notation pertaining to an image. Quantities defined in
this section are summarized in Table B-1 of ANNEX B.
3.2
DIMENSIONS
3.2.1 An image is a three-dimensional array of signed or unsigned integer sample values
sz,y,x , where x and y are indices in the spatial dimensions, and the index z indicates the
spectral band.
NOTES
1
When spatially adjacent data samples are produced by different instrument detector
elements, changing values of the x index should correspond to changing detector
elements. Thus, for a typical push-broom imager the x and y dimensions would
correspond to cross-track and along-track directions respectively.
2
The spectral bands of the image need not be arranged in order of increasing or
decreasing wavelength. Re-arranging the order of spectral bands can affect
compression performance. This Recommended Standard does not address the
tradeoffs associated with such a band reordering. Reference [A1] presents some
examples.
3.2.2 Indices x, y, and z take on integer values in the ranges 0 £ x £ N X -1, 0 £ y £ NY -1,
0 £ z £ N Z -1, where each image dimension N X , NY , and N Z shall have a value of at least 1
and at most 216.
3.3
DYNAMIC RANGE
3.3.1 Data samples shall have a fixed-size dynamic range of D bits, where D shall be an
integer in the range 2 ≤ 𝐷 ≤ 16 bits.
3.3.2 The lower and upper sample value limits are denoted smin and smax respectively.
When samples are unsigned integers, the values of smin and smax are defined as
𝑠min = 0, 𝑠max = 2𝐷 − 1
and when samples are signed integers, the values of smin and smax are defined as
𝑠min = −2𝐷−1 , 𝑠max = 2𝐷−1 − 1.
CCSDS 123.0-R-0
Page 3-1
February 2011
DRAFT CCSDS RECOMMENDED STANDARD FOR LOSSLESS MULTISPECTRAL &
HYPERSPECTRAL IMAGE COMPRESSION
3.4
SAMPLE COORDINATE INDICES
For notational simplicity, data samples and associated quantities may be identified either by
reference to the three indices x, y, z, (e.g., 𝑠𝑧,𝑦,π‘₯ , 𝛿𝑧,𝑦,π‘₯ , etc.), or by the pair of indices t, z,
(e.g., 𝑠𝑧 (𝑑), 𝛿𝑧 (𝑑), etc.). That is,
𝑠𝑧 (𝑑) ≡ 𝑠𝑧,𝑦,π‘₯
𝛿𝑧 (𝑑) ≡ 𝛿𝑧,𝑦,π‘₯
etc., where
t = y × NX + x .
NOTES
1
The value of t corresponds to the index of a sample within its spectral band when
samples in the band are arranged in raster-scan order starting with index t=0.
2
Given t, the values of x and y can be computed as
π‘₯ = 𝑑 mod 𝑁𝑋
𝑦 = ⌊𝑑/𝑁𝑋 ⌋.
CCSDS 123.0-R-0
Page 3-2
February 2011
DRAFT CCSDS RECOMMENDED STANDARD FOR LOSSLESS MULTISPECTRAL &
HYPERSPECTRAL IMAGE COMPRESSION
4
PREDICTOR
4.1
OVERVIEW
This section specifies the calculation of the set of predicted sample values {sˆz,y,x } and mapped
prediction residuals {d z,y,x } from the input image samples {sz,y,x }. Quantities defined in this
section are summarized in Table B-2 of ANNEX B.
Prediction can be performed causally in a single pass through the image. Prediction at
sample sz,y,x, that is, the calculation of sˆz,y,x and d z,y,x , generally depends on the values of
nearby samples in the current spectral band and P preceding (i.e., lower-indexed) spectral
bands, where P is a user-specified parameter (see 4.2). Figure 4-1 illustrates the typical
neighborhood of samples used for prediction; this neighborhood is suitably truncated when
y = 0, x = 0, x = N X -1, or z < P.
x
!
sz² P,y² 1,x² 1 sz² P,y²1,x sz² P,y²1,x+1
s
s
! z² P,y,x²1 ! z² P,y,x
!
z
!
!
y
!
!
sz²1,y,x²1 sz²1,y,x
!
!
!
!
!
sz²1,y²1,x²1 sz²1,y²1,x sz²1,y²1,x+1
!
P previous
bands
sz,y²1,x²1
!
sz,y²1,x
s
! z,y,x²1
sz,y,x
!
!
sz,y²1,x+1
current
band
current
sample
Figure 4-1: Typical Prediction Neighborhood
Within each spectral band, the predictor computes a local sum of neighboring sample values
(see 4.4). The local sum is used to compute one or more local differences within the spectral
band (see 4.5). The predicted sample value is calculated using a weighted sum of these local
difference values from the current and previous spectral bands (see 4.7). The weights (see
4.6) used in this calculation are adaptively updated (see 4.8) following the calculation of each
predicted sample value. The prediction residual, that is the difference between the sample
CCSDS 123.0-R-0
Page 4-1
February 2011
DRAFT CCSDS RECOMMENDED STANDARD FOR LOSSLESS MULTISPECTRAL &
HYPERSPECTRAL IMAGE COMPRESSION
value sz,y,x and the predicted sample value sˆz,y,x, is mapped to an unsigned integer d z,y,x (see
4.9) to produce the predictor output.
The local sum s z,y,x (see 4.4) is a weighted sum of samples in spectral band z that are
adjacent to sample sz,y,x. Figure 4-2 illustrates the samples used to calculate the local sum. A
user may choose to perform prediction using neighbor-oriented or column-oriented local
sums for an image. When neighbor-oriented local sums are used, the local sum is equal to
the sum of four neighboring sample values in the spectral band (except when y = 0, x = 0, or
x = N X -1, in which case these four samples are not all available and the local sum
calculation is suitably modified as detailed in 4.4). When column-oriented local sums are
used, the local sum is equal to four times the neighboring sample value in the previous row
(except when y = 0, in which case this sample is not available and the local sum calculation is
suitably modified as detailed in 4.4).
1!
1!
sz,y² 1,x
sz,y² 1,x² 1
1!
!
!
s
! z,y,x² 1
!
1!
sz,y² 1,x+1
sz,y,x
s
! z,y,x² 1
!
neighbor-oriented
!
4!
sz,y² 1,x
sz,y² 1,x² 1
!
sz,y² 1,x+1
sz,y,x
column-oriented
!
!
Figure 4-2: Samples Used to Calculate Local Sums
The local sums are used to calculate local difference values. In each spectral band, the
central local difference, d z,y,x, is equal to the difference between the local sum s z,y,x and four
N
times the current sample value sz,y,x (see 4.5.1). The three directional local differences, d z,y,x
,
W
NW
d z,y,x, d z,y,x, are each equal to the difference between s z,y,x and four times a sample value
labeled as “N”, “W”, or “NW” in figure 4-3, (except when this sample value is not available,
i.e., at image edges, as detailed in 4.5.2).
NW
!
N
sz,y² 1,x² 1
sz,y² 1,x
W
central
s
! z,y,x
s
! z,y,x² 1
sz,y² 1,x+1
Figure 4-3: Computing Local Differences in a Spectral Band
!
!
A user may choose to perform prediction for an image in full or reduced mode (see 4.3).
Under reduced mode, prediction depends on a weighted sum of the central local differences
CCSDS 123.0-R-0
Page 4-2
February 2011
DRAFT CCSDS RECOMMENDED STANDARD FOR LOSSLESS MULTISPECTRAL &
HYPERSPECTRAL IMAGE COMPRESSION
computed in preceding bands; the directional local differences are not used, and thus need
not be calculated, under reduced mode. Under full mode, prediction depends on a weighted
sum of the central local differences computed in preceding bands and the three directional
local differences computed in the current band.
As described in reference [A1], the use of reduced mode in combination with columnoriented local sums tends to yield smaller compressed image data volumes for raw
(uncalibrated) input images from pushbroom imagers that exhibit significant along-track
streaking artifacts. The use of full mode in combination with neighbor-oriented local sums
tends to yield smaller compressed image data volumes for whiskbroom imagers, frame
imagers, and calibrated imagery.
The prediction residual, the difference between the sample value sz,y,x and the predicted
sample value sˆz,y,x, is mapped to an unsigned integer d z,y,x (see 4.9). This mapping is
invertible, so that the decompressor can exactly reconstruct the sample value sz,y,x , and has
the property that d z,y,x can be represented as a D-bit unsigned integer.
4.2
NUMBER OF BANDS FOR PREDICTION
The user specified parameter P, which shall be an integer in the range 0 £ P £15, determines
the number of spectral bands used for prediction. Specifically, prediction in spectral band z
depends on central local differences, defined in 4.5.1, computed in bands z -1, z -2, …,
z - Pz*, where
Pz* = min{z,P}.
4.3
FULL AND REDUCED PREDICTION MODES
4.3.1 A user may choose to perform prediction using full or reduced mode for an image,
except when the image has width 1 (i.e., N X =1), in which case reduced mode shall be used.
4.3.2 Under reduced mode, prediction in spectral band z makes use of central local
differences from the preceding Pz* spectral bands. Under full prediction mode, prediction in
spectral band z also makes use of three directional local differences, defined in 4.5.2,
computed in the current spectral band z. Thus, the number of local difference values used for
prediction at each sample in band z, denoted 𝐢𝑧 , is
ì P* ,
reduced prediction mode
Cz = í z*
î Pz + 3, full prediction mode.
4.4
LOCAL SUM
4.4.1 The local sum s z,y,x is an integer equal to a weighted sum of previous sample values
in band z that are neighbors of sample sz,y,x. A user may choose to perform prediction using
CCSDS 123.0-R-0
Page 4-3
February 2011
DRAFT CCSDS RECOMMENDED STANDARD FOR LOSSLESS MULTISPECTRAL &
HYPERSPECTRAL IMAGE COMPRESSION
column-oriented or neighbor-oriented local sums for an image, except when the image has
width 1 (i.e., N X =1), in which case column-oriented local sums shall be used.
NOTE –
Column-oriented local sums are not recommended under full prediction mode.
4.4.2 When neighbor-oriented local sums are used, s z,y,x is defined as
s z,y,x
ìsz,y,x-1 + sz,y-1,x-1 + sz,y-1,x + sz,y-1,x+1 ,
ï
ï4sz,y,x-1,
=í
ï2( sz,y-1,x + sz,y-1,x+1 ),
ïîsz,y,x-1 + sz,y-1,x-1 + 2sz,y-1,x ,
y > 0,0 < x < N X -1
y = 0, x > 0
y > 0, x = 0
y > 0, x = N X -1
and when column-oriented local sums are used, s z,y,x is defined as
ì4sz,y-1,x , y > 0
s z,y,x = í
î4sz,y,x-1, y = 0, x > 0
NOTE –
4.5
.
The value of s z,0,0 is not defined, as it is not needed.
LOCAL DIFFERENCES
4.5.1 CENTRAL LOCAL DIFFERENCE
When x and y are not both zero (i.e., when t > 0), the central local difference d z,y,x is defined
as
dz,y,x = 4sz,y,x - s z,y,x .
4.5.2 DIRECTIONAL LOCAL DIFFERENCES
When x and y are not both zero (i.e., when t > 0), the three directional local differences are
defined as
ì4s
- s z,y,x ,
N
d z,y,x
= í z,y-1,x
î0,
W
d z,y,x
NW
d z,y,x
CCSDS 123.0-R-0
y>0
y=0
ì4sz,y,x-1 - s z,y,x , x > 0, y > 0
ï
= í4sz,y-1,x - s z,y,x , x = 0, y > 0
ï0,
y=0
î
ì4sz,y-1,x-1 - s z,y,x , x > 0, y > 0
ï
= í4sz,y-1,x - s z,y,x ,
x = 0, y > 0
ï0,
y=0
î
Page 4-4
February 2011
DRAFT CCSDS RECOMMENDED STANDARD FOR LOSSLESS MULTISPECTRAL &
HYPERSPECTRAL IMAGE COMPRESSION
NOTE –
Directional local differences are not used under reduced prediction mode.
4.5.3 LOCAL DIFFERENCE VECTOR
For t > 0, the local difference vector U z (t) is a vector of the Cz local difference values used to
calculate the predicted sample value sz (t) . Under full prediction mode, U z (t) is defined as
é d N (t) ù
ê zW
ú
ê d z (t) ú
ê d zNW (t) ú
ê
ú
U z (t) = ê d z -1(t) ú
ê d z -2 (t) ú
ê
ú
ê
ú
êëd z -Pz* (t)úû
and under reduced prediction mode, for z > 0, U z (t) is defined as
é d z -1 (t) ù
ê
ú
d z -2 (t) ú
ê
U z (t) =
.
ê
ú
ê
ú
êëd z -Pz* (t)úû
NOTE –
4.6
Under reduced mode, U0 (𝑑) is not defined as it is not needed.
WEIGHTS
4.6.1 WEIGHT VALUES AND WEIGHT RESOLUTION
In the prediction calculation (see 4.7), for t > 0 each component of the local difference vector
U z (t) is multiplied by a corresponding integer weight value.
The resolution of the weight values is controlled by the user-specified parameter , which
shall be an integer in the range
. Each weight value is a signed integer quantity
that can be represented using
bits. Thus, each weight value has minimum and
maximum possible values πœ”min and πœ”max respectively, where
,
NOTE –
.
Increasing the number of bits used to represent weight values (i.e., using a larger
value of ) provides increased resolution in the prediction calculation. This
Recommended Standard does not address the tradeoffs associated with selecting
the value of . Reference [A1] presents some examples.
CCSDS 123.0-R-0
Page 4-5
February 2011
DRAFT CCSDS RECOMMENDED STANDARD FOR LOSSLESS MULTISPECTRAL &
HYPERSPECTRAL IMAGE COMPRESSION
4.6.2 WEIGHT VECTOR
The weight vector Wz (t) is a vector of the Cz weight values used in prediction. Under full
prediction mode,
é w N (t) ù
ê zW ú
ê wz (t) ú
êw NW (t) ú
z
ê
ú
Wz (t) = ê wz(1) (t) ú
ê w (2) (t) ú
ê z
ú
ê * ú
êëwz(Pz ) (t)úû
and under reduced prediction mode, for z > 0
é w (1) (t) ù
z
ê (2)
ú
w
ê
z (t) ú
Wz (t) =
.
ê
ú
ê (Pz* ) ú
ëwz (t)û
NOTE –
Under reduced mode, for z = 0, Wz (t) is not defined as it is not needed.
4.6.3 INITIALIZATION
A user may choose to use either default or custom weight initialization methods, defined
below, to select the initial weight vector Wz (1) for each spectral band z. The same weight
initialization method shall be used for all spectral bands.
4.6.3.1 Default Weight Initialization. When default weight initialization is used, for each
*
spectral band z, initial weight vector components wz(1) (1), wz(2) (1), … wz(Pz ) (1), shall be assigned
values
.
With this option, under full prediction mode the remaining components of Wz (1) shall be
assigned values
wzN (1) = wzW (1) = wzNW (1) = 0.
4.6.3.2 Custom Weight Initialization. When custom weight initialization is used, for
each spectral band z, the initial weight vector Wz (1) shall be assigned using a user-specified
weight initialization vector L z , consisting of Cz signed Q-bit integer components. The
CCSDS 123.0-R-0
Page 4-6
February 2011
DRAFT CCSDS RECOMMENDED STANDARD FOR LOSSLESS MULTISPECTRAL &
HYPERSPECTRAL IMAGE COMPRESSION
weight initialization resolution Q shall be a user-specified integer in the range
bits. The initial weight vector Wz (1) shall be calculated from L z by
where 1 denotes a vector of all ones. The weight initialization vector L z may be encoded in
the header as described in 5.3.
NOTES
1
Under this option, the first Q bits of each component of Wz (1) are equal to the binary
representation of the corresponding component of L z .
2
A weight initialization vector L z might be selected based on instrument
characteristics, training data, or chosen based on a weight vector from a previous
compressed image.
4.7
PREDICTION CALCULATION
4.7.1 The scaled predicted sample value s˜z (t) is an integer defined as
mod𝑅∗ [𝑑̂𝑧 (𝑑) + 2Ω πœŽπ‘§ (𝑑)]
clip (⌊
⌋ + 1, {2𝑠min , 2𝑠max + 1}) ,
2Ω+1
𝑠̃𝑧 (𝑑) =
2𝑠𝑧−1 (𝑑),
0,
{
𝑑>0
𝑑 = 0, 𝑧 > 0
𝑑 = 0, 𝑧 = 0
In this calculation:
a) For t > 0 the predicted central local difference dˆz (t) is equal to the inner product of
vectors Wz (t) and Uz (t) :
dˆz (t) = WzT (t)U z (t)
except for z = 0 under reduced mode, in which case dˆz (t) = 0.
b) The user-selected register size parameter R shall be an integer in the range 32 ≤ 𝑅 ≤
64.
NOTE – Increasing the register size 𝑅 reduces the chance of an overflow occurring in the
calculation of a scaled predicted sample value. This Recommended Standard
does not address the tradeoffs associated with selecting the value of 𝑅.
Reference [A1] provides some discussion.
4.7.2 The predicted sample value sˆz (t) is defined as
CCSDS 123.0-R-0
Page 4-7
February 2011
DRAFT CCSDS RECOMMENDED STANDARD FOR LOSSLESS MULTISPECTRAL &
HYPERSPECTRAL IMAGE COMPRESSION
ê s˜ (t) ú
sˆz (t) = ê z ú.
ë 2 û
4.8
WEIGHT UPDATE
4.8.1 The scaled prediction error 𝑒𝑧 (𝑑) is an integer defined as
𝑒𝑧 (𝑑) = 2𝑠𝑧 (𝑑) − 𝑠̃𝑧 (𝑑).
4.8.2 The weight update scaling exponent 𝜌(𝑑) is an integer defined as
𝜌(𝑑) = clip (𝜈min + ⌊
𝑑 − 𝑁𝑋
⌋ , {𝜈min , 𝜈max }) + 𝐷 − Ω
𝑑inc
where user-specified integer parameters n min, n max, and tinc are constrained as follows. The
values of n min and n max shall be integers in the range -6 £ n min £ n max £ 9. The weight update
factor change interval 𝑑inc shall be an integer power of 2 in the range 2 4 £ tinc £ 211.
NOTE –
These parameters control the rate at which weights adapt to image data statistics.
Initially 𝜌(0) = 𝜈min + 𝐷 − Ω, and at regular intervals determined by the value
of 𝑑inc , 𝜌(𝑑) is incremented by one until reaching a final value 𝜈max + 𝐷 − Ω.
Smaller values of 𝜌(𝑑) produce larger weight increments, yielding faster
adaptation to source statistics but worse steady-state compression performance.
4.8.3 For t > 0, following the calculation of s˜z (t) , the next weight vector in the spectral
band, W𝑧 (𝑑 + 1), is defined as
æ
ö
ê1
ú
Wz (t +1) = clip ç Wz (t) + ê (sgn+ [ ez (t)] × U z (t)× 2- r (t ) +1)ú,{w min , w max }÷
ë2
û
è
ø
where the floor and clip operations are applied to each component of the vector.
NOTE –
ê1
êë 2
ê1
êë 2
4.9
ê1
ú
+
- r (t )
+1)ú
êë 2 (sgn [ ez (t)] × U z (t)× 2
û
êësgn+ [ ez (t)] × U z (t)× 2- r (t ) úû +1 úú but is not in
û
ú
sgn+ [ ez (t)] × êëU z (t)× 2- r (t ) úû +1 ú .
û
The
quantity
(
)
(
)
is
general
equivalent
equivalent
to
to
MAPPED PREDICTION RESIDUAL
The mapped prediction residual 𝛿𝑧 (𝑑) shall be equal to
CCSDS 123.0-R-0
Page 4-8
February 2011
DRAFT CCSDS RECOMMENDED STANDARD FOR LOSSLESS MULTISPECTRAL &
HYPERSPECTRAL IMAGE COMPRESSION
where the prediction residual
values,
is the difference between the predicted and actual sample
and q z (t) is defined as
q z (t) = min{sˆz (t) - smin ,smax - sˆz (t)}.
NOTE –
Each mapped prediction residual 𝛿𝑧 (𝑑) can be represented as a D-bit unsigned
integer.
CCSDS 123.0-R-0
Page 4-9
February 2011
DRAFT CCSDS RECOMMENDED STANDARD FOR LOSSLESS MULTISPECTRAL &
HYPERSPECTRAL IMAGE COMPRESSION
5
5.1
ENTROPY CODER
OVERVIEW
This section specifies the entropy coding stage of the compressor and the format of a
compressed image. Quantities defined in this section are summarized in Table B-3 of
ANNEX B.
A compressed image consists of a header followed by a body.
The variable length header, defined in 5.3, encodes image and compression parameters.
The body, defined in 5.4, losslessly encodes mapped prediction residuals {d z,y,x } from the
predictor. The mapped prediction residuals are sequentially encoded in the order selected by
the user (see 5.4.1) and indicated in the header. The order in which the mapped prediction
residuals are encoded in the compressed image need not correspond to the order in which
samples are output from the imaging instrument or processed by the predictor.
To encode the mapped prediction residuals for an image, a user may choose to use the
sample-adaptive encoding approach specified in 5.4.2.1 or the block-adaptive approach
specified in 5.4.2.2; this latter approach relies on the lossless data compressor defined in
reference [1]. The sample-adaptive encoder typically yields smaller compressed images than
the block-adaptive encoder. Further examples and comparisons can be found in reference
[A1].
Under the sample-adaptive encoding approach, each mapped prediction residual is encoded
using a variable length binary codeword. The variable length codes used are adaptively
selected based on statistics that are updated after each sample is encoded; separate statistics
are maintained for each spectral band and the compressed image size does not depend on the
order in which mapped prediction residuals are encoded.
Under the block-adaptive encoding approach, the sequence of mapped prediction residuals is
partitioned into short blocks and the encoding method used is independently and adaptively
selected for each block. Depending on the encoding order, the mapped prediction residuals
in a block may be from the same or different spectral bands, and thus the compressed image
size depends on the encoding order when this method is used.
5.2
GENERAL
5.2.1 A compressed image shall consist of variable-length header, defined in 5.3, followed
by a variable-length body, defined in 5.4. Figure 5-1 depicts the structure of a compressed
image.
header
body
Figure 5-1: Compressed Image Structure
CCSDS 123.0-R-0
Page 5-1
February 2011
DRAFT CCSDS RECOMMENDED STANDARD FOR LOSSLESS MULTISPECTRAL &
HYPERSPECTRAL IMAGE COMPRESSION
5.2.2 The user-selected output word size, measured in bytes, shall be an integer B in the
range 1 ≤ 𝐡 ≤ 8. Fill bits shall be included in the body (as specified in 5.4.2.1.3.5 and
5.4.2.2.3.2) when needed to ensure that the size of the compressed image is a multiple of the
output word size.
5.3
HEADER
5.3.1 GENERAL
5.3.1.1 The header of a compressed image shall consist of the following parts in the
following order, as depicted in figure 5-2:
a) Image Metadata (12 bytes, mandatory – see 5.3.2)
b) Predictor Metadata (variable length, optional – see 5.3.3)
c) Entropy Coder Metadata (variable length, optional – see 5.3.4)
Predictor Metadata
Image Metadata
Entropy Coder Metadata
Figure 5-2: Overview of Header Structure when All Header Parts are Included
The length of Predictor Metadata and Entropy Coder Metadata header parts can vary
depending on prediction and encoding options selected by the user. Each header part is an
integer number of bytes.
NOTE –
The header length is not necessarily a multiple of the output word size.
5.3.1.2 Optional header parts may be omitted when the parameters described in a part can
be determined without that part, e.g., when those parameters are set to known fixed values
for an entire mission.
5.3.1.3
By CCSDS convention, all reserved bits in each header part shall be set to ‘zero’.
Entropy Coder Type
Predictor Metadata Flag
Entropy Coder Metadata Flag
Output Word Size
Sub-Frame
Interleaving Depth
Reserved
Sample Encoding Order
Dynamic Range
Reserved
Sample Type
5.3.2 IMAGE METADATA
User-Defined Data
X Size
Y Size
Z Size
…
…
…
…
…
Reserved
…
8
16
16
16
16
8
Figure 5-3: Overview of Image Metadata Structure
CCSDS 123.0-R-0
Page 5-2
February 2011
DRAFT CCSDS RECOMMENDED STANDARD FOR LOSSLESS MULTISPECTRAL &
HYPERSPECTRAL IMAGE COMPRESSION
The Image Metadata header part, depicted in figure 5-3, shall consist of the fields specified in
table 5-1, arranged in the order listed.
Table 5-1: Image Metadata
Field
User-Defined
Data
Width
(bits)
8
X Size
16
Y Size
16
Z Size
16
Sample Type
1
Reserved
Dynamic
Range
Sample
Encoding
Order
Sub-Frame
Interleaving
Depth
2
4
Reserved
Output Word
Size
Entropy Coder
Type
Predictor
Metadata Flag
Entropy Coder
Metadata Flag
Reserved
2
3
1
16
1
1
1
8
CCSDS 123.0-R-0
Description
The user may assign the value of this field arbitrarily, e.g.,
to indicate the value of a user-defined index of the image
within a sequence of images.
The value 𝑁𝑋 encoded mod 216 as a 16-bit unsigned binary
integer
The value π‘π‘Œ encoded mod 216 as a 16-bit unsigned binary
integer
The value 𝑁𝑍 encoded mod 216 as a 16-bit unsigned binary
integer
‘0’: image sample values are unsigned integers
‘1’: image sample values are signed integers
This field shall have value ‘00’
The value 𝐷 encoded mod 24 as a 4-bit unsigned binary
integer
‘0’: samples are encoded in BI order
‘1’: samples are encoded in BSQ order
When BI encoding order is used, this field shall contain the
value 𝑀 encoded mod 216 as a 16-bit unsigned binary
integer.
When BSQ encoding order is used, this field shall be all
zeros.
This field shall have value ‘00’
The value 𝐡 encoded mod 23 as a 3-bit unsigned binary
integer.
‘0’: sample-adaptive encoder is used
‘1’: block-adaptive encoder is used
‘0’: Predictor Metadata is not included in the header
‘1’: Predictor Metadata is included in the header
‘0’: Entropy Coder Metadata is not included in the header
‘1’: Entropy Coder Metadata is included in the header
This field shall contain all zeros
Page 5-3
Reference
3.2
3.2
3.2
3.2.1
3.3
5.4.1
5.4.1.1
5.2.2
5.4.2
5.3.3
5.3.4
February 2011
DRAFT CCSDS RECOMMENDED STANDARD FOR LOSSLESS MULTISPECTRAL &
HYPERSPECTRAL IMAGE COMPRESSION
5.3.3 PREDICTOR METADATA
Weight Initialization Resolution
Reserved
Weight Initialization Method
Weight Initialization Table Flag
Weight Update Scaling
Exponent Final Parameter
Weight Update Scaling
Exponent Initial Parameter
Weight Update Scaling
Exponent Change Interval
Weight Component
Resolution
Register Size
Prediction Mode
Reserved
Local Sum Mode
Reserved
Number of
Prediction Bands
Reserved
5.3.3.1 General
Weight Initialization
Table (Optional)
…
(variable)
Figure 5-4: Overview of Predictor Metadata Structure
When the Predictor Metadata Flag field in the Image Metadata is set to ‘1’, Predictor
Metadata, depicted in figure 5-4, shall be included in the header and shall consist of the fields
specified in table 5-2, arranged in the order listed.
Table 5-2: Predictor Metadata
Width
(bits)
Field
Reserved
Number of
Prediction Bands
Prediction Mode
2
4
Reserved
Local Sum Mode
1
1
Reserved
Register Size
1
6
Weight
Component
Resolution
Weight Update
Scaling Exponent
Change Interval
Weight Update
Scaling Exponent
Initial Parameter
Weight Update
Scaling Exponent
4
CCSDS 123.0-R-0
1
Description
Reference
This field shall have value ‘00’
The value 𝑃 encoded as a 4-bit unsigned binary
integer
‘0’: full prediction mode is used
‘1’: reduced prediction mode is used
This field shall have value ‘0’
‘0’: neighbor-oriented local sums are used
‘1’: column-oriented local sums are used
This field shall have value ‘0’
The value 𝑅 encoded mod 26 as a 6-bit unsigned
binary integer
The value (Ω − 4) encoded as a 4-bit unsigned binary
integer
4.2
4.3
4.4
0
4.6.1
4
The value (log 2 (𝑑inc ) − 4)
unsigned binary integer
a 4-bit
4.8.2
4
The value (𝜈min + 6) encoded as a 4-bit unsigned
binary integer
4.8.2
4
The value (𝜈max + 6) encoded as a 4-bit unsigned
binary integer
4.8.2
Page 5-4
encoded
as
February 2011
DRAFT CCSDS RECOMMENDED STANDARD FOR LOSSLESS MULTISPECTRAL &
HYPERSPECTRAL IMAGE COMPRESSION
Final Parameter
Reserved
Weight
Initialization
Method
Weight
Initialization Table
Flag
1
1
This field shall have value ‘0’
‘0’: default weight initialization is used
‘1’: custom weight initialization is used
1
‘0’: Weight Initialization Table is not included in
Predictor Metadata
‘1’: Weight Initialization Table is included in Predictor
Metadata
When the default weight initialization is used, this field
shall have value ‘00000’.
Otherwise, this field shall contain the value 𝑄
encoded as a 5-bit unsigned binary integer.
See 5.3.3.2 below
Weight
Initialization
Resolution
5
Weight
Initialization Table
(Optional)
(variable)
4.6.3
4.6.3
4.6.3
4.6.3
5.3.3.2 Weight Initialization Table
5.3.3.2.1 The optional Weight Initialization Table may be included in the Predictor
Metadata only when the custom weight initialization method is selected. The presence of the
Weight Initialization Table shall be indicated by setting the Weight Initialization Table Flag
field to ‘1’.
NOTE –
Even when the custom weight initialization option is used, the Weight
Initialization Table may be omitted from the Predictor Metadata. For example, a
mission might design a fixed set of custom weight initialization vectors for an
instrument to be used throughout a mission, and elect to not encode these vectors
with each image.
5.3.3.2.2 When the Weight Initialization Table is included in the Predictor Metadata, the
𝑁𝑧 −1
custom weight initialization vectors {Λ π‘§ }𝑧=0
shall be encoded, component-by-component,
with each component encoded as a Q-bit signed two’s complement binary integer, in the
order defined by the nesting of loops as follows:
for z = 0 to N Z -1
for 𝑗 = 0 to 𝐢𝑧 − 1
encode jth component of Λ π‘§ .
5.3.3.2.3 Fill bits shall be appended to the Weight Initialization Table as needed to reach
the next byte boundary.
5.3.4 ENTROPY CODER METADATA
When the Entropy Coder Metadata Flag field of the Image Metadata header part is set to ‘1’,
Entropy Coder Metadata shall be included in the header. Entropy Coder Metadata shall
CCSDS 123.0-R-0
Page 5-5
February 2011
DRAFT CCSDS RECOMMENDED STANDARD FOR LOSSLESS MULTISPECTRAL &
HYPERSPECTRAL IMAGE COMPRESSION
follow the structure defined in 5.3.4.1 if the sample-adaptive encoder is used, and the
structure defined in 5.3.4.2 if the block-adaptive encoder is used.
5.3.4.1 Sample-Adaptive Encoder
Accumulator Initialization Constant
Accumulator Initialization Table Flag
Initial Count Exponent
Unary Length
Limit
Rescaling Counter Size
5.3.4.1.1 General
Accumulator
Initialization
Table (Optional)
…
(variable)
Figure 5-5: Overview of Entropy Coder Metadata Structure when Sample-Adaptive
Encoder is Used
When the sample-adaptive encoder is used, the Entropy Coder Metadata, depicted in figure
5-5, shall consist of the fields specified in table 5-3, arranged in the order listed.
Table 5-3: Entropy Coder Metadata When Sample Adaptive Encoder is Used
Width
(bits)
Field
Unary Length
Limit
Rescaling
Counter Size
Initial Count
Exponent
Accumulator
Initialization
Table Flag
5
Accumulator
Initialization
Constant
4
3
3
1
CCSDS 123.0-R-0
Description
Reference
The value π‘ˆmax encoded mod 25 as a 5-bit unsigned
binary integer
The value 𝛾 ∗ encoded mod 23 as a 3-bit unsigned binary
integer
The value 𝛾0 encoded mod 23 as a 3-bit unsigned binary
integer
‘0’: Accumulator Initialization Table is not included in
Entropy Coder Metadata
‘1’: Accumulator Initialization Table is included in Entropy
Coder Metadata
When the accumulator initialization constant 𝐾 is defined,
this field encodes the value of 𝐾 as a 4-bit unsigned
binary integer. Otherwise, this field shall be all zeros.
Page 5-6
5.4.2.1.3
5.4.2.1.2.4
5.4.2.1.2.2
5.4.2.1.2.3
5.4.2.1.2.3
February 2011
DRAFT CCSDS RECOMMENDED STANDARD FOR LOSSLESS MULTISPECTRAL &
HYPERSPECTRAL IMAGE COMPRESSION
Accumulator
Initialization
Table
(Optional)
(variable)
See 5.3.4.1.2 below
5.4.2.1.2.3
5.3.4.1.2 Accumulator Initialization Table
5.3.4.1.2.1 The optional Accumulator Initialization Table shall be included in the Entropy
Coder Metadata when the sample-adaptive encoder is used and the Accumulator
Initialization Table Flag field is set to ‘1’.
NOTE –
Even when an accumulator initialization constant is not used, the Accumulator
Initialization Table may be omitted from the Entropy Coder Metadata. For
example, a mission might design a fixed set accumulator initialization values to
be used throughout a mission, and elect to not encode these values with each
image.
5.3.4.1.2.2 The Accumulator Initialization Table shall consist of the concatenated sequence
of π‘˜π‘§′ values, π‘˜0′ , π‘˜1′ , … , π‘˜π‘′ 𝑧−1 , (defined in 5.4.2.1.2.3) each encoded as a 4-bit binary unsigned
integer.
5.3.4.1.2.3 Fill bits shall be appended to the Accumulator Initialization Table as needed to
reach the next byte boundary.
Reserved
Block Size
Reserved
5.3.4.2 Block-Adaptive Encoder
Reference
Sample Interval
…
12
Figure 5-6: Overview of Entropy Coder Metadata Structure When Block-Adaptive
Encoder is Used
When the block-adaptive encoder is used the Entropy Coder Metadata, depicted in figure 5-6,
shall consist of the fields specified in table 5-4, arranged in the order listed.
Table 5-4: Entropy Coder Metadata When Block Adaptive Encoder is Used
Field
Reserved
Width
(bits)
1
CCSDS 123.0-R-0
Description
Reference
This field shall have value ‘0’
Page 5-7
February 2011
DRAFT CCSDS RECOMMENDED STANDARD FOR LOSSLESS MULTISPECTRAL &
HYPERSPECTRAL IMAGE COMPRESSION
Block Size1
2
Reserved
Reference
Sample
Interval
1
12
5.4
‘00’: Block size 𝐽 = 8
‘01’: Block size 𝐽 = 16
This field shall have value ‘0’
Value of π‘Ÿ encoded mod 212 as a 12-bit unsigned binary
integer
5.4.2.2.2.4
5.4.2.2.2.5
BODY
The compressed image body shall consist of the sequence of losslessly encoded mapped
prediction residuals. Subsection 5.4.1 specifies the order in which mapped prediction
residuals may be encoded. Subsection 5.4.2 specifies the two alternative methods of
encoding the sequence of mapped prediction residuals.
5.4.1 ENCODING ORDER
Mapped prediction residuals shall be encoded in band-interleaved (BI) order, as defined in
5.4.1.1, or band sequential (BSQ) order, as defined in 5.4.1.2.
NOTES
1.
The commonly used band-interleaved-by-pixel (BIP) and band-interleaved-by-line
(BIL) orders are each special cases of the more general BI encoding order.
2.
The encoding order specifies the order in which the encoded samples are arranged
in the compressed image. The encoding order does not necessarily correspond to
the order in which samples are produced by an imaging instrument or processed
by a predictor or entropy coder implementation.
5.4.1.1 Band-Interleaved (BI) Order
5.4.1.1.1 A frame Fy is defined as the set of all sample values with the same y coordinate
value, that is,
𝐹𝑦 = {𝑠𝑧,𝑦,π‘₯ : 0 ≤ π‘₯ ≤ 𝑁𝑋 − 1,0 ≤ 𝑧 ≤ 𝑁𝑍 − 1}.
Under the Band Interleaving encoding order, each frame is partitioned along the z axis into
one or more sub-frames, each including M consecutive spectral bands, except possibly the
last sub-frame in each frame, which will have fewer than M spectral bands when 𝑁𝑧 is not a
Note for Tom Gannett: in the Block Size field, we’d eventually like for ‘10’ and ‘11’ to
indicate block sizes J=32 and J=64 respectively. But at the moment, these values of J are not
allowed by the current edition of [1]. I’m bringing this to your attention in case there is a
“right” and “wrong” way to write a standard that anticipates the change of another standard.
1
CCSDS 123.0-R-0
Page 5-8
February 2011
DRAFT CCSDS RECOMMENDED STANDARD FOR LOSSLESS MULTISPECTRAL &
HYPERSPECTRAL IMAGE COMPRESSION
multiple of M. Specifically, for a given y and for i = 0,1,...,é N Z / M ù -1, the ith sub-frame f y,i
is defined as
fy,i = {sz,y,x : 0 £ x £ N X -1,i × M £ z £ min{(i +1)M -1, N Z -1}}.
5.4.1.1.2 The sub-frame interleaving depth M shall be an integer in the range 1£ M £ N Z.
5.4.1.1.3 Under BI encoding order, samples in an image shall be encoded in the order
defined by the nesting of sample index loops as follows:
for y = 0 to N Y -1
for i = 0 to é N Z / M ù -1
for x = 0 to N X -1
for z = i × M to min{(i +1)M -1, N Z -1}
encode d z,y,x
NOTES
1.
Under BI encoding order, when M =1, the encoding order corresponds to bandinterleaved-by-line (BIL), and when M = N Z the encoding order corresponds to bandinterleaved-by-pixel (BIP).
2.
Within each sub-frame, samples are encoded in BIP order.
5.4.1.2 Band-Sequential (BSQ) Order
Under BSQ order, samples shall be encoded in the order defined by the nesting of sample
index loops as follows:
for z = 0 to N Z -1
for y = 0 to N Y -1
for x = 0 to N X -1
encode d z,y,x
5.4.2 ENCODING METHOD
Mapped prediction residuals shall be encoded using either the sample-adaptive encoding
approach specified in 5.4.2.1 or the block-adaptive encoding approach specified in 5.4.2.2.
5.4.2.1 Sample-Adaptive Encoder
5.4.2.1.1 General
Under the sample-adaptive encoding option, each mapped prediction residual 𝛿𝑧 (𝑑) is
encoded using a variable length binary codeword. The selection of the code used to encode
d z (t) is specified in 5.4.2.1.3. This selection is based on the values of the adaptive code
selection statistics specified in 5.4.2.1.2.
CCSDS 123.0-R-0
Page 5-9
February 2011
DRAFT CCSDS RECOMMENDED STANDARD FOR LOSSLESS MULTISPECTRAL &
HYPERSPECTRAL IMAGE COMPRESSION
5.4.2.1.2 Adaptive Code Selection Statistics
5.4.2.1.2.1 The adaptive code selection statistics consist of an accumulator Sz (t) and a
counter G(t) that are adaptively updated during the encoding process.
NOTE –
5.4.2.1.2.2
The ratio Sz (t)/G(t) provides an estimate of the mean mapped prediction residual
value in the spectral band. This ratio effectively determines the variable length
code used to encode d z (t).
For each spectral band z, the initial counter value G(0) shall be equal to
Γ(0) = 2𝛾0
where the user-supplied value of the initial count exponent 𝛾0 shall be an integer in the range
1 ≤ 𝛾0 ≤ 8.
5.4.2.1.2.3
For each spectral band z, the initial accumulator value Sz (0) shall be equal to
ê1
ú
¢
Sz (0) = ê 7 3× 2 k z +6 - 49 G(0)ú
ë2
û
(
)
where the user-selected value of π‘˜π‘§′ shall be an integer in the range 0 ≤ π‘˜ ′ 𝑧 ≤ 𝐷 − 2. If
π‘˜π‘§′ = 𝐾 for all z, then K is referred to as the accumulator initialization constant.
NOTE –
This equation ensures that initial value of encoding parameter k z (t) computed for
spectral band z (see 5.4.2.1.3.3) will be equal to k z¢.
5.4.2.1.2.4 For t =1, G(1) = G(0) and Sz (1) = Sz (0). For t >1, the value of the accumulator
for spectral band z is defined as
∗
Σ𝑧 (𝑑 − 1) + 𝛿𝑧 (𝑑 − 1),
Γ(t − 1) < 2𝛾 − 1
Σ𝑧 (𝑑) = { Σ𝑧 (𝑑 − 1) + 𝛿𝑧 (𝑑 − 1) + 1
∗
⌊
⌋ , Γ(t − 1) = 2𝛾 − 1
2
and the value of the counter is defined as
Γ(t − 1) + 1,
Γ(t) = { Γ(t − 1) + 1
⌊
⌋,
2
∗
Γ(t − 1) < 2𝛾 − 1
∗
Γ(t − 1) = 2𝛾 − 1
The interval at which the counter Γ(𝑑) and the accumulator Σ𝑧 (𝑑) are rescaled is controlled
by the user-defined rescaling counter size parameter 𝛾 ∗ , which shall be an integer in the
range 4 ≤ 𝛾 ∗ ≤ 9.
CCSDS 123.0-R-0
Page 5-10
February 2011
DRAFT CCSDS RECOMMENDED STANDARD FOR LOSSLESS MULTISPECTRAL &
HYPERSPECTRAL IMAGE COMPRESSION
5.4.2.1.3 Encoding
5.4.2.1.3.1 The user-supplied unary length limit U max shall be an integer in the range
8 £U max £ 32.
NOTE –
The sample-adaptive encoding procedure ensures that the codeword for d z (t) is
not longer than U max + D bits.
5.4.2.1.3.2 The first mapped prediction residual in the image shall be uncoded, i.e., the
codeword for d0 (0) is simply the D-bit unsigned binary integer representation of d0 (0).
5.4.2.1.3.3 When z and t are not both zero, the codeword for the mapped prediction
residual d z (t) depends on the values of kz (t) and uz (t), where kz (t) is the largest
nonnegative integer kz (t) £ D - 2 such that
Γ(𝑑)2π‘˜π‘§ (𝑑) ≤ Σ𝑧 (𝑑) + ⌊
49
Γ(𝑑)⌋
27
and uz (t) is computed as
uz (t) = ëd z (t) /2kz (t )û.
5.4.2.1.3.4
The codeword for d z (t) shall be determined as follows:
a) If uz (t) < Umax then the codeword for d z (t) shall consist of uz (t) zeros, followed by a
one, followed by the kz (t) least significant bits of the binary representation of d z (t).
b) Otherwise, the codeword for d z (t) shall consist of U max zeros, followed by the D-bit
binary representation of d z (t).
5.4.2.1.3.5 Following the last codeword in the compressed image, fill bits shall be
appended as needed to reach the next output word boundary. Fill bits shall be all zeros.
5.4.2.2 Block-Adaptive Encoder
5.4.2.2.1 General
When the block-adaptive encoding method is used, mapped prediction residuals shall be
encoded using the adaptive entropy coder specified in reference [1].
5.4.2.2.2 Parameters and Options
When the block-adaptive encoding method is used, the following options and parameters
shall apply.
5.4.2.2.2.1 The preprocessor function defined in section 4 of reference [1] shall not be
used. The option to bypass the preprocessor shall be used.
CCSDS 123.0-R-0
Page 5-11
February 2011
DRAFT CCSDS RECOMMENDED STANDARD FOR LOSSLESS MULTISPECTRAL &
HYPERSPECTRAL IMAGE COMPRESSION
5.4.2.2.2.2 The input to the block-adaptive encoder shall be the sequence of mapped
prediction residuals {𝛿𝑧,𝑦,π‘₯ } arranged in the encoding order indicated in the Image Metadata
header part and specified in 5.4.1.
5.4.2.2.2.3 The resolution parameter, n, defined in subsection 3.1 of reference [1], shall be
equal to the image dynamic range D.
5.4.2.2.2.4 The block size parameter, J, defined in subsection 3.1 of reference [1], shall be
equal to 8 or 16.2
5.4.2.2.2.5 The reference sample interval parameter, r, defined in subsection 4.3 of
reference [1], shall be a positive integer not larger than 256.3
NOTE –
Because the preprocessor is bypassed, reference samples are not included in the
compressed image body. The reference sample interval only serves to define an
interval of input data sample blocks that will be further segmented in the ‘zeroblock’ encoding option defined in reference [1].
5.4.2.2.3 Body
5.4.2.2.3.1 The compressed image body shall consist of the concatenation of l Coded Data
Sets (CDSs), defined in subsection 5.1.4 of reference [1], where
𝑙=⌈
𝑁𝑋 π‘π‘Œ 𝑁𝑍
𝐽
⌉.
5.4.2.2.3.2 Fill bits shall be appended after the last CDS as needed to reach the next output
word boundary. Fill bits shall be all zeros. Fill bits shall not be inserted between CDSs.
2
Note for Tom Gannett: ultimately we want to allow J to be 8, 16, 32, or 64, but this assumes
a revision of [1] to allow it. (Currently only J=8 and J=16 are allowed.)
3
Note for Tom Gannett: ultimately we want to allow r to be as large as 4096, but this
assumes a revision of [1] to allow it. (Currently the maximum is 256.)
CCSDS 123.0-R-0
Page 5-12
February 2011
DRAFT CCSDS RECOMMENDED STANDARD FOR LOSSLESS MULTISPECTRAL &
HYPERSPECTRAL IMAGE COMPRESSION
ANNEX A
REFERENCES
(Informative)
[A1] Lossless Multispectral & Hyperspectral Image Compression, Report concerning Space
Data Systems Standards, CCSDS ###.#-G-1, Green Book. [At time of publication, this
document was under development.]
[A2] Space Packet Protocol. Recommendation for Space Data Systems Standards. CCSDS
133.0-B-1. Blue Book. Issue 1. Washington, D.C.: CCSDS, September 2003.
[A3] CCSDS File Delivery Protocol (CFDP). Recommendation for Space Data System
Standards, CCSDS 727.0-B-3. Blue Book. Issue 3. Washington, D.C.: CCSDS, June 2005.
[A4] AOS Space Data Link Protocol. Recommendation for Space Data System Standards,
CCSDS 732.0-B-1. Blue Book. Issue 1. Washington, D.C.: CCSDS, September 2003.
CCSDS 123.0-R-0
Page A-1
February 2011
DRAFT CCSDS RECOMMENDED STANDARD FOR LOSSLESS MULTISPECTRAL &
HYPERSPECTRAL IMAGE COMPRESSION
ANNEX B
TABLES OF SYMBOLS USED
(Informative)
This annex tabulates symbols used in this Recommended Standard.
Table B-1: Coordinate Indices & Image Quantities
Symbol
π‘₯, 𝑦, 𝑧
t
𝑠𝑧,𝑦,π‘₯ , 𝑠𝑧 (𝑑)
𝐷
𝑠min , 𝑠max
N X , NY , N Z
Meaning
image coordinate indices
alternate image coordinate index
image data sample
image dynamic range in bits (user-specified)
sample value limits
image dimensions (user-specified)
Reference
3.2.1
3.4
3.2.1
3.3.1
3.3.2
3.2.2
Table B-2: Predictor Quantities
Symbol
P
Pz*
Cz
s z,y,x
d z,y,x
𝑁
π‘Š
π‘π‘Š
𝑑𝑧,𝑦,𝑧 , 𝑑𝑧,𝑦,𝑧
, 𝑑𝑧,𝑦,𝑧
𝑁
π‘Š
π‘π‘Š
𝑑𝑧 (𝑑), 𝑑𝑧 (𝑑), 𝑑𝑧 (𝑑)
Uz (t)
wmin , wmax
Wz (t)
N
w z (t), w zW (t),
w zNW (t), w (i)
z (t)
Lz
Q
s˜z (t)
dˆz (t)
𝑅
𝑠̂𝑧 (𝑑), 𝑠̂𝑧,𝑦,π‘₯
ez (t)
CCSDS 123.0-R-0
Meaning
number of spectral bands used for prediction (user-specified)
number of previous spectral bands used for prediction in band
Reference
4.2
4.2
z
number of local difference values used for prediction in band z
local sum
4.3.2
4.4
central local difference
4.5.1
directional local differences
4.5.2
local difference vector
weight resolution (user-specified)
minimum and maximum weight values
4.5.3
4.6.1
4.6.1
weight vector
weight values
4.6.2
4.6.2
weight initialization vector (optional, user-specified)
initial weight value resolution (optional, user-specified)
scaled predicted sample value
predicted central local difference
4.6.3.2
4.6.3.2
4.7.1
4.7.1
register size, in bits, used in prediction calculation
predicted sample value
scaled prediction error
0
b)
4.8.1
Page B-1
February 2011
DRAFT CCSDS RECOMMENDED STANDARD FOR LOSSLESS MULTISPECTRAL &
HYPERSPECTRAL IMAGE COMPRESSION
𝜌(𝑑)
n min, n max
tinc
δ𝑧 (𝑑), δ𝑧,𝑦,π‘₯
Δ𝑧 (𝑑)
θ𝑧 (𝑑)
weight update scaling exponent
initial and final weight update scaling exponent parameters
(user-specified)
weight update scaling exponent change interval (userspecified)
mapped prediction residual
prediction residual
difference between 𝑠̂𝑧 (𝑑) and nearest endpoint 𝑠min , 𝑠max
4.8.2
4.8.2
4.8.2
4.9
4.9
4.9
Table B-3: Entropy Coder Quantities
Symbol
𝐡
𝐹𝑦
𝑓𝑦,𝑖
𝑀
S z (t)
G(t)
𝛾0
π‘˜π‘§′
𝐾
𝛾∗
U max
kz (t)
uz (t)
𝑛
J
π‘Ÿ
𝑙
Meaning
output word size in bytes
frame
sub-frame
sub-frame interleaving depth
Sample-Adaptive Entropy Coder
accumulator
counter
initial count exponent (user-specified)
accumulator initialization parameters (user-specified)
accumulator initialization constant (optional, user-specified)
rescaling counter size (user-specified)
unary length limit (user-specified parameter)
variable length code parameter
unary codeword length
Block-Adaptive Entropy Coder
resolution
block size
reference sample interval
number of coded data sets in compressed image body
CCSDS 123.0-R-0
Page B-2
Reference
5.2.2
5.4.1.1.1
5.4.1.1.1
5.4.1.1.2
5.4.2.1.2
5.4.2.1.2
5.4.2.1.2.2
5.4.2.1.2.3
5.4.2.1.2.3
5.4.2.1.2.4
5.4.2.1.3.1
5.4.2.1.3.3
5.4.2.1.3.3
5.4.2.2.2.3
5.4.2.2.2.4
5.4.2.2.2.5
5.4.2.2.3.1
February 2011
DRAFT CCSDS RECOMMENDED STANDARD FOR LOSSLESS MULTISPECTRAL &
HYPERSPECTRAL IMAGE COMPRESSION
ANNEX C
SECURITY
(Informative)
C1
SECURITY BACKGROUND
It is assumed that security is provided by encryption, authentication methods, and access
control to be performed at the application and/or transport layers. Mission and service
providers are expected to select from recommended security methods suitable to the specific
application profile. Specification of these security methods and other security provisions is
outside the scope of this Recommended Standard.
C2
SECURITY CONCERNS
Security concerns in the areas of data privacy, integrity, authentication, access control,
availability of resources, and auditing are to be addressed in the appropriate layers and are
not related to this Recommended Standard. The use of lossless data compression does not
affect the proper functioning of methods used to achieve such protection.
The use of lossless data compression slightly improves data integrity because the alteration
of even a single bit of compressed data is likely to cause conspicuous and easily detectible
corruption of the reconstructed data, thus making it more likely that malicious data alteration
will be detected.
C3
POTENTIAL THREATS AND ATTACK SCENARIOS
An eavesdropper will not be able to decompress compressed data if proper encryption is
performed at a lower layer.
C4
CONSEQUENCES OF NOT APPLYING SECURITY
There are no specific security measures prescribed for compressed data. Therefore,
consequences of not applying security are only imputable to the lack of proper security
measures in other layers.
CCSDS 123.0-R-0
Page C-1
February 2011
Download