Advanced

Hardware Efficient Lossless Realtime Compression of Raw Image Data

Åhlander, Måns LU and Jonsson, Axel LU (2018) EITM01 20181
Department of Electrical and Information Technology
Abstract
When transmitting data it is often desired to lower the bitrate in the transmission.
In video capture devices, such as video cameras, with a high resolution and high
capturing rate the bitrate in the transmission is high and it is often desired to lower
this bitrate. Some of the constraints that were put on the compression techniques
was that no information could be lost in the compression, no significant amount of
delay may be introduced and that the compression techniques should have as small
hardware requirements as possible. Another limitation was that the compression
techniques were limited to store less than one frame of memory. One exception
of this was tested to see how the compression ratio would be improved when
... (More)
When transmitting data it is often desired to lower the bitrate in the transmission.
In video capture devices, such as video cameras, with a high resolution and high
capturing rate the bitrate in the transmission is high and it is often desired to lower
this bitrate. Some of the constraints that were put on the compression techniques
was that no information could be lost in the compression, no significant amount of
delay may be introduced and that the compression techniques should have as small
hardware requirements as possible. Another limitation was that the compression
techniques were limited to store less than one frame of memory. One exception
of this was tested to see how the compression ratio would be improved when
compressing using more than a frame of memory. How transmission in a single
directional transmission link with compressed data could be done has also been
investigated during this thesis.
The compression techniques in this paper are two-step based compression techniques
called linear prediction coding. The first step is to predict the pixel values
in the image and the second step is to encode the prediction error. In order to
recover the image, these codes need to be decoded to recover the prediction error
which can then be used to reconstruct the image. This is an efficient compression
technique due to that there is much redundant information in an image and instead
of encoding each pixel value it is more efficient to encode the differences between
pixels. The differences contains the same information but may be encoded using
shorter codewords.
The average compression ratios for the techniques presented in this paper
achieves a compression ratio close to 40% when compressing raw image data. If
noise reduction techniques are applied to the image to compress, the compression
techniques may improve their compression ratio with over 10%. Another way to
improve the compression, without losing any significant amount of information, is
presented in this paper and it is done by measuring the noise in the image and
then allowing some quantization based on this measurement.
A solution to the problem on how to transmit data in a safe way from the
encoder to the decoder have been suggested. The data is sent in packets where
each packet contains a header field and a data field. The prediction errors are
encoded in the data field and the number of symbols encoded in the data field
are represented in the header field. These two got a fixed number of bytes and by
using error correcting code, the data can be safely be transmitted (Less)
Popular Abstract
Modern video with high resolution puts high demands on the transmission
of data, which is specifically true for image data coming from
a camera sensor. For efficient transmission of data, compression techniques
can be used.

Data compression is a technique that allows one to reduce the amount of space,
in bits, the data needs, and it must be possible to decompress the compressed
data to retrieve the original data. The goal in this project is to find and evaluate
different compression techniques that operates on very limited hardware. This
limitation excludes many common techniques such as the MPEG standards. When
evaluating several primitive lossless compression techniques a compression around
40% was achieved in our tests. This... (More)
Modern video with high resolution puts high demands on the transmission
of data, which is specifically true for image data coming from
a camera sensor. For efficient transmission of data, compression techniques
can be used.

Data compression is a technique that allows one to reduce the amount of space,
in bits, the data needs, and it must be possible to decompress the compressed
data to retrieve the original data. The goal in this project is to find and evaluate
different compression techniques that operates on very limited hardware. This
limitation excludes many common techniques such as the MPEG standards. When
evaluating several primitive lossless compression techniques a compression around
40% was achieved in our tests. This can be compared with the well known Lossless
JPEG standard that provided results with compression around 30 to 40%.
During lossless compression no information may be lost, unlike with lossy
compression which is a more common technique in video and image compression.

This was a limitation because the raw images from the camera sensor must reach
a processing unit untouched so the processing unit can provide the best quality in
the image. To ensure that no information were lost in transmission a transmission
packet protocol was designed which was used to transmit the data in a safe way.
The lossless compression techniques developed and evaluated in this thesis are
all based on the same two steps. The first step was a prediction method, that uses
the fact that neighboring pixels in an image are usually very similar. Instead of
sending every pixel value, trying to estimate a pixel value with already sent pixels
and then the difference between the actual pixel value and its estimation was sent.
Before transmission, the difference was encoded in a smart way, which was the
second step of the compression. The most common values were sent with short
codewords while uncommon values were sent with longer codewords. The first step
provides data for the encoder whose probability distribution is very skewed, which
helps the encoder to send less long codewords. This means that combination of
these two steps is what compresses the data.

Because the data is raw sensor data, an image that was compressed was not
preprocessed in any way, meaning that the image contained noise, which was extra
unwanted information in the image. The noise appears with a random value in
every pixel, which lowers the quality of the image. This random noise in every
pixel affects the compression ratio, and without the noise the compression could be
improved by over 10%. Due to this noise which makes the pixel values inaccurate,
the pixel values may be near-lossless quantized. Meaning that every pixel value
may be quantized based on the noise level in the pixel. This introduces error
in the pixel value but since this introduced error is much lower than the present
noise level of the pixel, it does not significantly reduce the quality of the image.
Introducing this near lossless quantization improves the compression ratio.
The thesis is written by Måns Åhlander and Axel Jonsson and can be found at
https://www.overleaf.com/14590377fqvfdfngjrrx#/57088500/ under the title "Hardware
Efficient Lossless Realtime Compression of Raw Image Data". (Less)
Please use this url to cite or link to this publication:
author
Åhlander, Måns LU and Jonsson, Axel LU
supervisor
organization
course
EITM01 20181
year
type
H2 - Master's Degree (Two Years)
subject
keywords
Compression, Realtime, Video, Encoding, Bitrate
report number
LU/LTH-EIT 2018-633
language
English
id
8943527
date added to LUP
2018-06-05 16:14:33
date last changed
2018-06-05 16:14:33
@misc{8943527,
  abstract     = {When transmitting data it is often desired to lower the bitrate in the transmission.
In video capture devices, such as video cameras, with a high resolution and high
capturing rate the bitrate in the transmission is high and it is often desired to lower
this bitrate. Some of the constraints that were put on the compression techniques
was that no information could be lost in the compression, no significant amount of
delay may be introduced and that the compression techniques should have as small
hardware requirements as possible. Another limitation was that the compression
techniques were limited to store less than one frame of memory. One exception
of this was tested to see how the compression ratio would be improved when
compressing using more than a frame of memory. How transmission in a single
directional transmission link with compressed data could be done has also been
investigated during this thesis.
The compression techniques in this paper are two-step based compression techniques
called linear prediction coding. The first step is to predict the pixel values
in the image and the second step is to encode the prediction error. In order to
recover the image, these codes need to be decoded to recover the prediction error
which can then be used to reconstruct the image. This is an efficient compression
technique due to that there is much redundant information in an image and instead
of encoding each pixel value it is more efficient to encode the differences between
pixels. The differences contains the same information but may be encoded using
shorter codewords.
The average compression ratios for the techniques presented in this paper
achieves a compression ratio close to 40% when compressing raw image data. If
noise reduction techniques are applied to the image to compress, the compression
techniques may improve their compression ratio with over 10%. Another way to
improve the compression, without losing any significant amount of information, is
presented in this paper and it is done by measuring the noise in the image and
then allowing some quantization based on this measurement.
A solution to the problem on how to transmit data in a safe way from the
encoder to the decoder have been suggested. The data is sent in packets where
each packet contains a header field and a data field. The prediction errors are
encoded in the data field and the number of symbols encoded in the data field
are represented in the header field. These two got a fixed number of bytes and by
using error correcting code, the data can be safely be transmitted},
  author       = {Åhlander, Måns and Jonsson, Axel},
  keyword      = {Compression,Realtime,Video,Encoding,Bitrate},
  language     = {eng},
  note         = {Student Paper},
  title        = {Hardware Efficient Lossless Realtime Compression of Raw Image Data},
  year         = {2018},
}