Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
ICER (file format)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{short description|Image compression file format}}{{More citations needed|date=December 2024}} '''ICER''' is a [[wavelet]]-based [[image compression]] file format used by the [[NASA]] [[Mars rover]]s. ICER has both [[Lossy compression|lossy]] and [[lossless compression]] modes. The [[Mars Exploration Rover]]s ''Spirit'' and ''Opportunity'' both used ICER. Onboard image compression is used extensively to make best use of the [[downlink]] resources. The [[Curiosity (rover)|''Curiosity'' rover]] supports the use of ICER for its [[Navcam|navigation cameras]] (but all other cameras use other file formats). Most of the MER images are compressed with the ICER image compression software. The remaining MER images that are compressed make use of modified Low Complexity Lossless Compression ('''LOCO''') software, a lossless submode of ICER. ICER is a wavelet-based image compressor that allows for a graceful trade-off between the amount of compression (expressed in terms of compressed data volume in [[bit]]s/[[pixel]]) and the resulting degradation in image quality (distortion). ICER has some similarities to [[JPEG2000]], with respect to select wavelet operations. The development of ICER was driven by the desire to achieve high compression performance while meeting the specialized needs of [[outer space|deep space]] applications. == Practical considerations == To control the image quality and amount of compression in ICER, the user specifies a byte quota (the nominal number of bytes to be used to store the compressed image) and a quality level parameter (which is essentially a quality goal). ICER attempts to produce a compressed image that meets the quality level using as few compressed bytes as possible. It stops producing compressed bytes once the quality level or byte quota is met, whichever comes first. This arrangement provides added flexibility compared to compressors (like the JPEG compressor used on Mars Pathfinder) that provide only a single parameter to control image quality. Using ICER, when the primary concern is the bandwidth available to transmit the compressed image, one can set the quality goal to lossless and the given byte quota will determine the amount of compression obtained. At the other extreme—when the only important consideration is a minimum acceptable image quality—it is possible to specify sufficiently large byte quota and the amount of compression will be determined by the quality level specified. To achieve error containment, ICER produces the compressed bitstream in separate pieces or segments that can be decoded independently. These segments represent rectangular regions of the original image, but are defined in the transform domain. If, instead, the image were partitioned directly and the wavelet transform separately applied to each segment, under lossy compression the boundaries between segments would tend to be noticeable in the reconstructed image even when no compressed data is lost. Since ICER provides a facility for automated flexibility in choosing the number of segments, compression effectiveness can be traded against packet loss protection, thereby accommodating different channel error rates. More segments are not always bad for compression effectiveness: many images are most effectively compressed using 4 to 6 segments (for megapixel images) because disparate regions of the image end up in different segments. == Design commonalities with the JPEG2000 compressor == [[JPEG 2000]] has some design commonalities with the ICER image compression format that is used to send images back from the [[Mars]] rovers. ICER (like JPEG 2000) is wavelet-based and provides * progressive compression. * lossless compression (using the LOCO compressor). * lossy compression. * image context error correction to limit the effects of data loss on the deep-space channel. ICER overall provides lossy compression performance competitive with the JPEG2000 image compression standard. ICER-JPEG 2000 Common Features * Both offer a variable number of image tiles to increase compression effectiveness over the deep space channel. Image tiles reduce demands on memory and processing time. * Both offer a 'byte' quota. * Both offer a 'quality' quota. == ICER-JPEG 2000 differences == JPEG2000 and ICER have many important internal differences * JPEG 2000 uses floating point math, where ICER uses only integer math. Thus ICER will have good performance on integer only CPUs like the T414 [[Transputer]], whereas JPEG 2000 will not perform as well as it is forced into [[floating point emulation]]. * ICER reverts to a separate internal LOCO (Low Complexity Lossless Compression) compressor for lossless image compression. * JPEG 2000 implements a low complexity symmetrical wavelet lossless compressor, but ICER uses an integer only non-wavelet lossless compressor. * ICER and JPEG 2000 encode color spaces differently. * ICER in its current form does compress monochrome images better than colour images due to its origins as an internal NASA [[Deep Space Network]] file format. * ICER is subject to less than 1% overshoot when byte and quality quotas are in effect. On the other hand, JPEG2000 codecs are typically designed never to overshoot their byte quotas. == When should one use ICER or ICER-3D == ICER was created for low end 32 bit [[CPU]]s (essentially [[embedded computer]]s) on spacecraft. It was finally used for the Mars Exploration Rovers. It has never been used for any real time application, only near real time. JPEG2000 has been used by many image processing applications in near real time and real-time (Digital Cinema, Broadcast). Main advantages of the codec is that it is License free (JPEG2000 PART1). The JPEG committee has stated: “It has always been a strong goal of the JPEG committee that its standards should be implementable in their baseline form without payment of royalty and license fees.[...] Agreements have been reached with over 20 large organizations holding many patents in this area to allow use of their intellectual property in connection with the standard without payment of license fees or royalties”. [[Hewlett-Packard]]'s [[Remote Graphics Software]] uses a video codec called [[HP3 (codec)]] which claims to derive from Mars rover compression - this could be a real-time implementation of ICER. <ref> [https://web.archive.org/web/20081025110414/http://www.augi.com/publications/hotnews.asp?page=1751 Autodesk User Group International: "April 2008"] "HP Remote Graphics Software (RGS) ... [uses] ... an HP patented compression algorithm developed for the NASA Mars rover program that compresses and encrypts graphics data" </ref> ICER offers a new mode called '''Spectral+ICER''' that makes possible lower rate distortion levels (aka grey level errors) with ICER images. This mode is only so far being used with the Mars Pathfinders, but may see wider implementation in the ICER standard [https://web.archive.org/web/20090706080635/http://web99.arc.nasa.gov/~vgulick/GSOM/LPSC2000/SPEC_Path.pdf]. == ICER-3D == ICER-3D is a compressor for hyperspectral images. Error-containment segments in ICER-3D are defined spatially (in the wavelet transform domain), similarly to JPEG 2000. The wavelet-transformed data are partitioned in much the same way as in ICER, except that in ICER-3D the segments extend through all spectral bands. Error-containment segments in ICER and ICER-3D are defined using an unmodified form of the ICER rectangle partitioning algorithm. In ICER-3D, contexts are defined based on two neighboring coefficients in the spectral dimension and no neighboring coefficients in the same spatial plane. This contrasts with the context modeling scheme used by ICER, which makes use of previously encoded information from spatially neighboring coefficients. ICER-3D exploits 3D data dependencies in part by using a 3-D wavelet decomposition. The particular decomposition used by ICER-3D includes additional spatial decomposition steps compared to a 3-D Mallat decomposition. This modified decomposition provides benefits in the form of quantitatively improved rate-distortion performance and in the elimination of spectral [[ringing artifacts]]. ICER-3D takes advantage of the correlation properties of wavelet-transformed hyperspectral data by using a context modeling procedure that emphasizes spectral (rather than spatial) dependencies in the wavelet-transformed data. This provides a significant gain over the alternative spatial context modeler considered. ICER-3D also inherits most of the important features of ICER, including progressive compression, the ability to perform lossless and lossy compression, and an effective error-containment scheme to limit the effects of data loss on the deep-space channel. == References == {{Reflist}} == External links == * [http://ipnpr.jpl.nasa.gov/progress_report/42-155/155J.pdf The ICER Progressive Wavelet Image Compressor] * [http://tmo.jpl.nasa.gov/progress_report/42-168/168D.pdf Lossy Image Compression from Mars Rovers] * [http://tmo.jpl.nasa.gov/progress_report/42-164/164A.pdf ICER 3D] {{CCSDS}} {{Compression formats}} {{Graphics file formats}} [[Category:Graphics file formats]] [[Category:Spaceflight technology]] [[Category:ISO standards]] [[Category:Wavelets]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:CCSDS
(
edit
)
Template:Compression formats
(
edit
)
Template:Graphics file formats
(
edit
)
Template:More citations needed
(
edit
)
Template:Reflist
(
edit
)
Template:Short description
(
edit
)