Lecture07_HI Compres..

advertisement
Lecture #9
High Compression
Gal Leonard Keret
This lecture
•
•
•
•
•
•
Introduction.
Why compression.
Type of compression.
Known Image algorithms.
SPIHT algorithm for 2d images.
SPIHT algorithm for hyper-spectral images.
Introduction
• Why hyperspectral Imaging?
• How does the process work?
Why Hyper-spectral Imaging?
– Detection and identification of the surface
and atmospheric constituents.
– Analysis of soil present.
– Monitoring agriculture and forest status.
– Environmental studies.
– Military surveillance.
How does the process work?
1. Images collecting hundreds of narrow bands
of data.
2. Each substance has its own spectrum
characteristics or diagnostic absorption
features.
3. Comparing its resulting spectrum features with
known substances, reveals the information
about the composition of the area.
Collecting the information
• Gain high resolution spectrum information is
generate massively large image data sets.
• Access and transport of these data sets will
stress processing, storage and transmission
capabilities.
How big?
• AVIRIS - A typical hyperspectral imaging
system, has 224 sensors. Each sensor has a
wavelength sensitive range of approximately
10 nanometers. Covering range between 380 2500 nm.
• If each band is 615 X 512 scans (pixels), with
one byte per pixel, the whole data set will be
over 70 Mbytes.
• AVIRIS can yield 16 Gigabytes of data per day!
The Solution
Compression
Types of Compression
• Lossless – reduces the redundancy of data sets
without losing any information. This is a
reversible process. Compression ratio is about
(2-3):1.
• Lossy – reduces the redundancy of data sets
by losing information. Not a reversible
process.
Examples
• Lossless:
• Lossy:
Lossless
• There are algorithms based on pixel
predictions.
• Hyper spectral images have two main forms of
correlations:
– Near-allocated bands have very high correlation.
– adjacent pixels are likely to have similar spectral
signatures
Bands Correlation
• Each band is considered as an individual 2D
image.
• Pixels from the current band and from the
previously coded bands are involved in
prediction of the current pixel.
• We use the previous band pixel value 𝑋𝑎 , 𝑋𝑏 ,
𝑋𝑐 , 𝑋 and the current band value 𝑌𝑎 , 𝑌𝑏 , 𝑌𝑐 , to
predict the value 𝑌𝑝 .
Bands Correlation
• We use 𝑋𝑎 , 𝑋𝑏 , 𝑋𝑐 , 𝑋 and 𝑌𝑎 , 𝑌𝑏 , 𝑌𝑐 , to get
horizontal, vertical and spectrum gradients.
• Horizontal - ( 𝑋𝑏 − 𝑋𝑐 , 𝑋 − 𝑋𝑎 , 𝑌𝑏 − 𝑌𝑐 )
• Vertical - ( 𝑋𝑎 − 𝑋𝑐 , 𝑋 − 𝑋𝑏 , 𝑌𝑎 − 𝑌𝑐 )
• spectrum - ( 𝑋𝑏 − 𝑋𝑐 , 𝑋 − 𝑋𝑎 , 𝑌𝑏 − 𝑌𝑐 )
Pixels Correlation
• The value of pixel X can be predicted by the other
three pixels.
• 𝑋 = (𝐴 + 𝐵)/2
• 𝑋 =𝐴+𝐵−𝐶
• 𝑋 = 𝐴 + (𝐵 − 𝐶)/2
• results show that the first prediction function
obtains the best performance.
Coding
• Coding is the final phase of the algorithm.
• We use entropy coding, like:
– Huffman coding.
– Arithmetic coding.
– Rice coding.
– Golumb coding.
Lossy
• Significantly higher compression ratio then of
lossless compression.
• The goal is to achieve as high as possible
compression ratio without losing important
information.
Algorithms:
•
•
•
•
•
BMP - uncompressed
GIF - lossless compression
JPEG – lossy compression
2D-SPECK – similar to 2D-SPIHT
2D-SPIHT
SPIHT
• Set Partitioning In Hierarchical Trees.
• Encoder and decoder.
• Based on Discrete Wavelet Transform, and
sorting coefficients before transmission.
• Low complexity.
• Fast in encoding and decoding.
• “State of the art”.
Wavelet Transform
• Conversion of periodic signal (repeats its values in
regular intervals or periods) into the sum of a infinite
set of simple oscillating functions, based on sines
and cosines.
• Captures both frequency and location information
(location in time).
based on Fourier Transform
𝐹 𝑥 =
1
2𝜋
∞
𝑓(𝑡)(cos 𝑤𝑡 − 𝑖𝑠𝑖𝑛 𝑤𝑡)𝑑𝑡
-∞
𝑢0 , 𝑢1 , 𝑢2 , 𝑢3 , … , 𝑢𝑛
From Time domain to Frequency domain
Wavelet Transform to Discrete Wavelet
Transform
Wavelet Transform
• “Applying a 2-D DWT to an image results in a
sparse representation.”
An example of the 2D discrete wavelet
transform that is used in JPEG2000
• The original image is
transformed from low
frequencies to higher
frequencies.
• Each image describing
local changes in brightness
(details) in the original
image.
Example
Low
magnitude
High magnitude
SPIHT2D vs JPEG
• images compressed with JPEG (using xv) and
with SPIHT to exactly the same file size.
SPIHT
• Encoder and decoder are built on the same
sorting algorithm.
• No need to save or transmit additional
information.
• We do not need to collect all coefficients.
• Find which DWT Coefficients are more
relevant.
Spectral information
• High frequency = small details (sharpness).
• most of an images small details is
concentrated in the high frequency
components.
• High magnitude = image information.
• Large low activity areas are expected to be
identified in the lowest frequencies.
Sorting
• SPIHT sorts coefficients and sends them in
decreasing magnitude.
• Starting with the coefficients with the highest
magnitude at the lowest pyramid levels.
• A transformed coefficient with larger
magnitude has larger information content.
and therefore should be transmitted first.
Sorting process
The SPIHT multistage encoding process employs
three lists and sets:
1. LIP – List of insignificant pixels contains
individual coefficients that have magnitudes
smaller than the threshold.
Encoding process
2. LIS – list of insignificant sets contains sets of
wavelet coefficients that are defined by tree
structures and are found to have magnitudes
smaller than the threshold (insignificant).
• The sets exclude the coefficients
corresponding to the tree and all sub tree
roots.
Encoding process
3. LSP – List of significant pixels is a list of pixels
found to have magnitudes larger than the
threshold (significant).
4. Set of offspring (direct descendants) of a tree
node, 𝑂 𝑖, 𝑗 , in the tree structures is defined by
pixel location 𝑖, 𝑗 .
𝑂 𝑖, 𝑗 =
2𝑖, 2𝑗 , 2𝑖, 2𝑗 + 1 , 2𝑖 + 1,2𝑗 , 2𝑖 + 1,2𝑗 + 1
3. Set of descendants, 𝐷(𝑖, 𝑗), of a node is defined
by pixel location 𝑖, 𝑗 .
4. 𝐿 𝑖, 𝑗 is defined as 𝐿 𝑖, 𝑗 = 𝐷 𝑖, 𝑗 − 𝑂 𝑖, 𝑗 .
Encoding process
• For each pixel in LIP, one bit is used to
describe its significant, the pixel remains in
the LIP and no more bits are generated.
Otherwise the pixel is moved to LSP.
• Similarly, each set in the LIS requires one bit
for the significance information. The
insignificant sets remain in the LIS.
Encoding process
• The significant sets are partitioned into
subsets, which are processed in the same
manner and at the same resolution until each
significant subset has exactly one coefficient.
• Finally, each pixel in the LSP is refined with
one bit describe its significance.
• This procedure is then repeated each stage
resolution.
Set the Threshold
• The initial threshold is defined by:
𝑛 = 𝑙𝑜𝑔2 (max 𝑐(𝑖,𝑗) )
(𝑖,𝑗)
• Each stage, 𝑛 is reduced by one.
• Test: is 2𝑛 ≤ 𝑐𝑖,𝑗 ≤ 2𝑛+1 ?
Sorting Algorithm
1. Initialization:
– Set 𝑛 = 𝑙𝑜𝑔2 (max{|𝑐𝑖,𝑗 |}) .
(𝑖,𝑗)
– Set LSP as an empty list.
– Add all 𝑖, 𝑗 ∈ 𝐻 to the LIP.
– Add only 𝑖, 𝑗 ∈ 𝐻 that has descendants also to
LIS as type D.
Significant function
1,
• 𝑆𝑛 𝑇 =
0,
𝑖𝑓 2𝑛 ≤ 𝑐𝑖,𝑗 < 2𝑛+1
𝑒𝑙𝑠𝑒
2. Sorting pass:
– For each element (i,j) in LIP:
• If 𝑆𝑛 𝑖, 𝑗 = 1 then
– Move (i,j) to LSP.
– For each element (i,j) in LIS:
• If element is of type D then:
– If 𝑆𝑛 𝐷 𝑖, 𝑗 = 1 then
» For each 𝑘, 𝑙 ∈ 𝑂 𝑖, 𝑗 :
• If 𝑆𝑛 𝑘, 𝑙 = 1 then add 𝑘, 𝑙 to LSP.
• If 𝑆𝑛 𝑘, 𝑙 = 0 then add 𝑘, 𝑙 to LIP.
» If 𝐿(𝑖, 𝑗) ≠ ∅ then move (i,j) to LIS as type L.
» Else remove (i,j) from the LIS.
• If element is of type L then:
– If 𝑆𝑛 𝐿 𝑖, 𝑗 = 1 then
» Add each 𝑘, 𝑙 ∈ 𝑂 𝑖, 𝑗 to LIS as type D.
» Remove (i,j) from LIS.
3. Quantization step:
– decrement n by 1 and go to Step 2.
• If a pixel is not
significant, it remains
in the LIP and no
more information is
generated.
One of them compressed with
SPIHT2D, the other is real.
Compression rate 1:2
Compression Algorithms
Average decompression
times for image
compression methods
with respect to file size.
Compression ratios and
compression speed for
some methods
Little problem: 2D-SPIHT is suited for 2D
images not 3D.
From 2D to 3D
• Each band will be (discrete fourier)
transformed separately.
• Sorting coefficients should apply for 3D tree
(pyramid) instead of 2D.
• One pixel corresponds to eight direct
descendant pixels. Instead of four (2D tree).
3D SPIHT Algorithm
• Set S is significant if:
𝑐𝑖,𝑗,𝑘 ≥ 2𝑛 .
Where 𝑐𝑖,𝑗,𝑘 denote the transformed coefficients at
coordinate (𝑖, 𝑗, 𝑘).
• And the same for:
𝑛 = 𝑙𝑜𝑔2 ( max 𝑐(𝑖,𝑗,𝑘) )
(𝑖,𝑗,𝑘)
Significant function:
1,
𝑆𝑛 𝑇 =
0,
𝑖𝑓 2𝑛 ≤ 𝑐𝑖,𝑗,𝑘 < 2𝑛+1
𝑒𝑙𝑠𝑒
3D-SPIHT (Same - same, different
name)
Thank U.
Lecture #9
High Compression
Bibliography
•
•
•
SPIHT algorithm: http://140.118.16.82/www/index.php/JCIE/article/view/667/281
SPIHT algorithm: http://www.cipr.rpi.edu/research/SPIHT/EW_Code/csvt96_sp.pdf
SPIHT compare with JPEG:
http://www.cipr.rpi.edu/research/SPIHT/spiht5.html
•
•
•
•
•
•
Wikipedia: wavelet transform: http://en.wikipedia.org/wiki/Wavelet_transform
Wikipedia: discrete wavelet transform:
http://en.wikipedia.org/wiki/Discrete_wavelet_transform
Hyperspectral Image Compression Using Three-Dimensional Wavelet Coding - Xaoli
Tang, William A. Pearlman and James W. Modestino.
Lecture #8 (wavelet transform).
Compare: http://www.sciencedirect.com/science/article/pii/S0895611198000421
Lossless Compression of Hyperspectral Images Based on 3D Context Prediction Lin BAI, Mingyi HE, Yuchao DAI School of Electronics and Information,
Northwestern Polytechnical University Shaanxi Key Laboratory of Information
Acquisition and Processing Xi’an, 710072, P.R. China.
Download