I. Introduction
The current display system requires a large amount of frame buffer memory for image
processing [1] such as frame doubling to improve LCD overdrive, frame rate control, motion blur,
and various image enhancements. Also, recently, the resolution and color depth have
increased, and the size of image memory will dramatically increase accordingly. Such
increases in memory amount need a higher cost, which requires image memory data compression.
In addition, as the Low-Temperature Poly-Si (LTPS) TFT technology develops rapidly,
many functions are integrated with SOP [2], and SOP memory is desirable not only for data rate reduction through the interface
but also for power consumption. [3]
However, there is a yield problem in integrating a large frame buffer memory with
the LTPS process, which makes image memory data compression essential to reduce the
amount of the actual memory. The conventional compression algorithm consists mostly
of lossy compression, and PSNR is approximately 25 dB in case of quantization, 30
- 50 dB for BTC [4], 40 dB for YCbCr422, and 40 dB [5,6] for the compression algorithm with DCT. Such degradation of image quality is problematic
against the recent trend that focuses on emotional image quality, and the complexity
of the algorithm is also high, which is not appropriate in cost and SOP integrations.
Also, the lossless compression algorithm such as FAX or RLE [7] has a very low compression rate except in some cases, and the algorithm such as LZW
[8] or JPEG-LS lossless [9] has a problem of high complexity.
As the final evaluation of image qualities is by humans, the pixel values perceived
by humans need to be considered based on Human Visual System (HVS). However, since
previously discussed methods such as FAX, RLE, LZW, JPEG-LS, and others do not consider
HVS, image qualities, and compression rate are not fully optimized.
In this work, memory compression algorithms are proposed with a high compression rate
based on image qualities based on HVS minimizing hardware complexity. The algorithms
are introduced in Chapter 2, the high-level architecture of the compression and decompression
unit in Chapter 3, and the implementation methods of the compression unit at the gate
level are described in Chapter 4. In Chapter 5, the proposed hardware is verified
through the logic level simulation, and in Chapter 6, performance evaluations of compression
rate, image quality, and hardware complexities are discussed.
II. Proposed Image Compression Algorithms
1. Partial Pixel Compression
A pixel of an image consists of R, G, and B, and the image data is stored as 8-bit,
representing 256 levels. Most of images consist of low frequencies, and the ratio
of the high-frequency element such as the edge is relatively low. Therefore, there
are many identical upper bits since the difference between neighboring pixels is not
much.
If the number of consecutive pixels to be compared is defined as Pixel Comparison
Range (PCR), and Partial Pixel is defined as the partial bit of a pixel to be compared,
Fig. 2 represents the probability of pixels being identical according to PCR and the size
of the partial pixel of sample images with the size of the partial pixel of Fig. 1.
Fig. 1. Sample images: (a) Baboon; (b) Camera; (c) Citrus; (d) Coin; (e) F 16; (f)
Fishing boat; (g) Lena; (h) Word.
Fig. 2. The probability of an adjacent pixel being identical according to the size
of the partial pixel and PCR.
Although the probability of a pixel being identical with the neighboring pixel is
no more than 16.5%, 66.9% of the pixels are identical when only the upper 4 bits are
compared. Since there are many cases where the upper bits of neighboring pixels are
identical while only the sub-bits are different, compression can be realized by storing
only the sub-bits, excluding overlapping upper bits. During decompression, they can
be recovered through the upper bit of the previous pixel and sub-bits that are stored
as compressed data.
In the compression process, if the nth pixel of the original image consists of the
upper-bit partial pixel ``B'' and sub-bit partial pixel ``b,'' the upper bit of the
nth pixel is different from the (n-1)th pixel, so the nth pixel is saved as the mth
compressed data, and this is marked on flag to 0 as uncompressed data.
However, the upper-bit of the (n + 1)th and (n + 2)th pixels are identical ``B'' with
that of the nth pixel, the previous pixel, so the sub-bit ``c'' and ``d'' can be saved
excluding the identical upper-bit, and this is marked with the flag to 1 as compressed
data and saved as the (m + 1)th compressed data. For decompression, first, the compression/
uncompression of the corresponding data is distinguished through the flag. Since the
mth compressed data is uncompressed, the remaining except the flag is generated as
the nth pixel. Since the (m + 1)th data is compressed, the (n + 1)th pixel can be
generated through ``B,'' the upper bit of the previous pixel, and ``c,'' the upper
bit of the compressed data. And the (n + 2)th pixel can be generated through ``B''
and ``d.'' According to Fig. 2, the probability of pixels being identical increases as the size of the upper bit
increases and PCR to be compared gets smaller. However, to have a high compression
rate, the upper bit and PCR have to be large. Therefore, the size of the partial pixel
to be compared with PCR for achieving the maximum compression rate is represented
by (1).
In Table 1, the higher the values of PCR and the upper bit width, the higher the expected compression
rate, and even though distribution may vary according to the characteristics of the
image, normally, the compression rate is the highest when the partial pixels of the
upper 4 bits are compared given PCR of 2. ``-'' sign represents the case when the
size increased after the compression, and the case where PCR is 1 and the case of
full pixels compared are not included since compression is not done due to the absence
of upper-bit to be reduced.
Table 1. Expected compression rate (%) according to the size of partial pixel and PCR
|
Pixel Comparison Range
|
2
|
3
|
4
|
5
|
6
|
Size of Partial Pixel
|
Upper 1 Bit
|
-4.2
|
-18.6
|
-38.7
|
-62.9
|
-90.5
|
Upper 2 Bit
|
2.7
|
-19.5
|
-48.4
|
-82.1
|
-119.5
|
Upper 3 Bit
|
9.7
|
-18.1
|
-52.1
|
-90.1
|
-131.1
|
Upper 4 Bit
|
17.3
|
-14.0
|
-49.7
|
-88.1
|
-128.4
|
Upper 5 Bit
|
8.1
|
-0.8
|
-32.9
|
-66.3
|
-100.7
|
Upper 6 Bit
|
0.4
|
0.0
|
-1.3
|
-25.5
|
-49.9
|
Upper 7 Bit
|
-4.9
|
-5.6
|
-6.7
|
-7.6
|
-8.3
|
As in Fig. 3, the compression method which compares the partial pixel and excludes the overlapping
upper-bit shall be called Partial Pixel Compression (PPC), and the compression rate
is sufficient as described in Table 1.
Fig. 3. Concepts of compression/decompression.
2. Truncated Partial Pixel Compression
However, due to the flag overhead in PPC, compressed pixels need 1 additional bit
compared to original pixels.
This increases the amount of data when there are many adjacent pixels in an image
with different upper bits, which cannot be compressed by PPC. The amount of data is
determined by the worst compression rates. Another compression algorithm is proposed
to share the same computational method as PPC while achieving high image quality with
a compression rate guard to maintain the worst compression rate.
When 2 bits are truncated as shown in Fig. 4(c), in areas where adjacent pixels have similar values like the sky area, image quality
degradation such as the pseudo edges can be observed. However, in areas where adjacent
pixels have significant differences, such as in textured surfaces, the quality degradation
is less noticeable. However, when 1 bit is truncated as shown in Fig. 4(b), it may be difficult to perceive quality degradation not only in textured surfaces
but also in the sky.
Fig. 4. Lower bit truncated images: (a) Original; (b) LSB 1 bit truncated; (c) LSB
2-bit truncated; (d) 1 or 2-bit mixed (proposed).
Applying these characteristics to PPC, in cases there is a significant difference
between adjacent pixels, such as on the ground, 2 bits are truncated as uncompressed
type, and in cases there is less difference between adjacent pixels, such as in the
sky, 1 bit is truncated from each pixel as a partial type. Uncompressed type is to
store data without compression, partial type is to compress only important parts of
the data, leaving the rest uncompressed. Further discussion on these concepts will
be described later in Table 2.
Table 2. Data format
Compression Mode
|
Store Type
|
Data Format
|
Partial Pixel Compression
(PPC)
|
-
|
data (8 bits)
|
flag
|
Partial
|
First Pixel Lower
4 bit
|
Second Pixel Lower
4 bit
|
1
|
Uncompressed
|
Full Pixel (8 bits)
|
0
|
TPPC
|
-
|
data (6 bits)
|
Flag
|
Partial
|
First Pixel Lower
3 bit
(LSB truncated)
|
Second Pixel Lower
3 bit
(LSB truncated)
|
1
|
Uncompressed
|
Truncated Pixel (6 bits)
|
0
|
Partial Pixel & Fixed Run Length Compression
(PFC)
|
-
|
data (8 bits)
|
data/code
|
flag
|
Partial
|
First Pixel Lower
4 bit
|
Second Pixel Lower
5 bit
|
1
|
Fixed Run Length
|
Full Pixel (8 bits)
|
1
|
0
|
Uncompressed
|
Full Pixel (8 bits)
|
0
|
0
|
Run Length Encoding (RLE)
|
-
|
data (8 bits)
|
run length
|
ROLE
|
Full Pixel (8 bits)
|
run length
|
The proposed compression approach, named Truncated Partial Pixel Compression (TPPC),
truncates 1 or 2 bits as shown in Fig. 4(d). By eye test, there is no perceptual image quality degradation, and even mathematically,
it also shows a very high image quality with a PSNR of 45.2~dB. TPPC fundamentally
shares the same compression and decompression process as PPC, with the key difference
in the truncation of lower bits, as described in Fig. 3. In case the nth original pixel in Fig. 5 has different upper bits compared to the previous pixel, 2 bits from the lower portion
are truncated, and like in PPC, the flag is set to 0, indicating uncompressed type.
Fig. 5. Concepts of TPPC.
In case the (n + 1) and (n + 2) pixels have the same upper bit group as the previous
pixel as shown Fig. 5, the least significant bit (LSB) of both bit groups c and d are truncated by 1 bit
each, and like in normal PPC, the flag is set to 1, indicating it is a partial type.
The decompression process is the same as PPC, with the only difference being that
during decompression, as shown in Fig. 5, the truncated bits are padded using the most significant bits (MSB)
TPPC is applied in cases where PPC yields low compression rates. Because the extent
of TPPC determines the trade-off between overall image quality and compression rates,
the modes can be set based on the requirements of a certain application or target
system with the flexibility in choosing a frame or a block level. Two algorithms (PPC
or TPPC) can be chosen considering the compression results or predicting the algorithm
according to the image characteristic. For the first approach, when the algorithm
is selected after the compression, PPC packets can be converted to TPPC packets if
the compression rate exceeds the compression rate guard. As they use the same compression
processes, as explained in Fig. 5 and only the difference is whether LSBs (Least Significant Bits) of the lower bit
groups are truncated or not. The alternative approach is predicting the algorithm
according to the image characteristics before the compression. Because the compression
rate of PPC varies depending on the similarity in adjacent pixels, a metric, image
slope is used in this work for the criterion to use TPPC. If the number of pixels
in the image is denoted as ‘n’ and the value of the x-th pixel is denoted as 'Px,'
the image slope is defined by Eq. (2).
The image slope is the average difference between adjacent pixels, as shown in Eq.
(2). A higher image slope value indicates a lower probability of similarity between adjacent
pixels in the upper bit group, resulting in lower compression rates. Therefore, as
image slope and compression rate are highly correlated, it makes image slope a suitable
criterion for the application of TPPC.
The compression rates of PPC and TPPC for 152 selected images with various features
are sorted according to the image slope as in Fig. 6. Both PPC and TPPC show a decreasing trend in compression rate as the image slope
increases. PPC shows a compression rate from 41.7% to -9.1%, with an average of 23.4%,
while TPPC shows a compression rate ranging from 54.7% to 15.2%, with an average of
40.4%. In terms of image quality, TPPC maintains a very high image quality, as PSNR
ranges from 42.3 dB to 54.4 dB with an average of 46.0 dB, and visually perceived
emotional loss is minimal as in Fig. 4(d). As the image slope exhibits a high correlation with compression rates as shown in
Fig. 6, the algorithm selection can be made based on the image slope. The image slope for
the criterion for algorithm selection is defined as the image slope corner. When the
image slope is less than the image slope corner, PPC is used, and when it is greater,
TPPC is used. Fig. 6 illustrates the cases where the image slope corner is set to 9. When the image slope
is 9 or lower, PPC is used, resulting in lossless compression. When the image slope
is 9 or higher, TPPC is used, providing a high image quality of PSNR 45 dB approximately
while achieving high compression rates.
Fig. 6. Image slope and compression rate.
3. Full Pixel Compression
In the method such as RLE which compares the full pixel of the entire image, since
the probability of the pixels being identical decreases significantly as PCR increases
as shown in Fig. 2, the compression rate is low except in some particular cases. However, if the method
used in comparing and compressing full pixels is used along with the method which
compares and compresses partial pixels, limited to the part where there are many continuous
identical pixels, the compression rate can be improved so that it would be more suitable
for more various images.
The process of comparing and compressing full pixels will be called full pixel compression.
1-bit code has been extended to use partial pixel compression and full pixel compression
in combination. In the same way, the case of partial pixel compression when the flag
is 1, the case of full pixel compression through the code when the flag is 0, and
the case where compression is not done are distinguished. In case three pixels are
consecutive in full pixel compression, they are stored with code of 1 and flag of
0 as in Fig. 7. Here, the probability of two pixels being consecutively identical is 52.9% according
to the result of Fig. 2, where the previous pixel and the upper bit are identical, allowing partial pixel
compression. In addition, as PCR increases, the probability of the pixels being identical
reduces, which allows for full pixel compression when three pixels are identical,
to get a high compression rate. Since the pixels from the nth and (n + 2) are identical
to "A'' in Fig. 7, they are compressed and stored with "A" as code = 1 and flag = 0. Since the (n +
3)th pixel is not identical with the consecutive pixel, it is stored with code and
flag = 0. During the decompression procedure, the compression of data is identified
through code and flag; code = 1 and flag = 0, as the mth data, indicates completion
of compression, outputting "A" three times for decompression.
Thus, the method that compares and compresses the partial and full pixels shall be
called Partial Pixel and Fixed Run Length Compression (PFC). In addition, RLE is the
method that compresses after storing the pixel value and the number of consecutions
when there are continuous identical pixels, and the compression rate cannot be expected
from ordinary images. Still, the compression rate for the images with continuous identical
pixels is very high compared to other algorithms. In conclusion, if the proposed algorithms,
PFC and PPC are compared since the method by which compression is done after eliminating
overlapping elements is quite similar to RLE, much hardware can be shared for three
algorithms, which makes hardware complexity low.
If the algorithm with a high compression rate among PFC, PPC, and RLE is designed
to be programmable as per image characteristics, on average, a high compression rate
can be achieved. Furthermore, by selectively applying TPPC to images with low compression
rates, it is possible to maintain the compression rate above a certain level.
A method is selected for the best compression algorithm according to the image characteristic
analysis results. But, in this case, high hardware complexity is required due to the
demand for very large buffer memory for the characteristic analysis with delay. However,
the moment of scene change of images is a very short time among the entire time of
displaying image, and the characteristics of the image, while one scene is maintained,
tend to be identical or like the previous frame. Therefore, a method is proposed that
applies the algorithm with the highest compression rate in the previous frame to the
compression of the current frame. Specifically, the method is used which selects compression
algorithm adaptively with prediction based on frame characteristic history. The way
the algorithm is selected in such a way will be called compression mode.
Table 2 shows the format of compression data according to each compression mode. Compression
mode can be divided largely into PPC, TPPC, PFC, and RLE. PPC can be divided again
into partial and uncompressed types, and these are distinguished by flag. Partial
type is the case where compression is done without the repetitive upper bit, as shown
in Fig. 3, and Table 1, PCR is 2 when the compression rate is the highest, and compression is done when
the upper 4 bits of the pixel are compared. Uncompressed type is the case where compression
is not done because one pixel is saved when the previously compressed pixel is not
identical to the upper bit. TPPC has the same data format as PPC, with the only difference
being the truncation of the LSB as shown in Fig. 5. Next, the storage format of PFC is divided into partial type, fixed run length,
and uncompressed type, and these are distinguished by flag and code.
Although the partial type is like that of PPC, they are not identical since the adjacent
first pixel is compared with the upper 4 bits since PFC has one more bit compared
to PPC, and the second, the upper 3 bits are compared and compressed considering the
large pixel distance. Fixed run length is the case where a pixel and the number of
the consecution of the pixels are saved with code and flag when the input pixels are
consecutively identical, and they can be stored only when three pixels are consecutive.
Compressed data is saved as a fixed run length when three pixels are consecutive to
be stored as one pixel and code = 1 and flag = 0. Likewise, an uncompressed type of
PFC can save only one pixel in case compression is not available with a partial type
or fixed run length. RLE has the ordinary format which stores one pixel data and run
length.
4. HVS-based Compression Algorithms
In the previously described cases of PPC, TPPC, and PFC, compression is carried out
based on the actual pixel values of the image. Commonly, compression rates increase
when adjacent pixels share the same value.
In the human processes of image evaluation, humans exhibit a non-linear characteristic
in perceiving brightness, as illustrated in Fig. 8 [10]. Humans are particularly insensitive to significant changes in high brightness.
Fig. 8. Brightness sensitivity curve.
As shown in Fig. 9, Look Up Table(LUT) is presented to have a lower slope considering the non-linear
insensitivity of human perception for the high-brightness regions of the brightness
sensitivity curve as shown in Fig. 8. It increases the occurrences of the same adjacent pixels to increase the compression
rate. The encoding LUT is presented in the encoder before performing the compressions.
It transforms the pixel values to have the same value as perceived by humans.
Fig. 9. Block diagram of providing encoding LUT and decoding LUT.
Considering the brightness sensitivity as depicted in Fig. 8, the LUT curve becomes almost flat in the high pixel region, resulting in a decrease
in image quality as the flatness increases, which is a trade-off between the compression
rate and the image quality. Therefore, to improve both compression rate and image
quality, as shown in Fig. 10, after the decompression, the original image quality is restored, using the decoding
LUT.
Fig. 10. Data compression/decompression with HVS-based LUT.
As shown in Fig. 10, compared to the case the LUT shown in Fig. 8 is not used, more MSBs of the same value are generated by the LUT, and thus the compression
rate can be improved. Additionally, the curve used for the decoding LUT, as shown
in Fig. 11, results in an overall decrease in brightness due to the brightness sensitivity curve.
According to brightness sensitivity, humans are more sensitive to changes in low brightness
ranges. Therefore, in this region, a higher slope is used to compensate for the decreasing
portion as shown in Fig. 8. On the contrary, the high pixel region is used with a lower slope, as depicted on
the right side of Fig. 11. However, as mentioned in Fig. 8, due to the brightness perception theory, humans do not perceive distortion in the
high brightness range sensitively, so it does not affect the image quality perceived
by humans.
Fig. 11. Relationship between encoding LUT curve and decoding LUT curve.
III. Hardware Implementation
The block that computes the proposed compression algorithm is in the input/output
section of the image memory as shown in Fig. 12. When writing image data, it is saved after the compression, and when it is read,
it is decompressed. All the presented compression algorithms can share the same hardware,
which requires low-complexity hardware.
Fig. 12. Overall architecture.
The compression unit is divided into two main parts: the comparator which compares
pixel data, and the encoder which generates compressed pixels. All three compression
algorithms compare the identity of the pixel, thus sharing the comparator, also, the
same encoder is used for PPC, and TPPC is encoded by the PFC encoder. Likewise, the
same decoder can be used since the full type of PFC in the decoder of the decompression
unit has the same structure as RLE which is one of the conventional approaches. Since
the partial types of PPC, TPPC, and PFC are identical, the size of the partial pixel
can be adjusted so that the same decoder can carry out the decompressions. The adaptive
compression mode prediction unit receives the data of the encoder in the compression
unit to find the algorithm with a high compression rate in the current frame, and
it selects the compression algorithm adaptively according to the characteristics of
the image. To maintain the compression rate guard, either the TPPC conversion unit
or the image slope calculator can be used.
In the TPPC conversion unit, when the compression rate is low, it converts the PPC
packets into TPPC packets to maintain the compression rate. On the other hand, the
image slope calculator can select the algorithm for the compression by prediction,
by calculating the image slope of the pixel data input fed into the compression unit.
When the image slope is greater than the pre-determined image slope corner, the adaptive
compression mode prediction unit chooses TPPC to maintain the compression rate. Moreover,
with the LUT, the pixel transformation by encoding LUT should take place before comparing
the pixel similarity with the Comparator, so the encoding LUT can be applied just
before the Comparator stage as depicted in Fig. 11. As described in Fig. 10, for image quality restoration after the decompression, the pixels by the decoding
LUT are stored in the circular buffer.
The PFC encoder gate is 16, and the gate count of the comparator which is shared by
PFC and RLE is 30. In addition, the size of the RLE encoder changes according to PCR;
as PCR increases by 1, 26 of each of the gates for position value shifter and comparator
are required, thus if the size of run length is N bit, 26 * 2$^{\mathrm{N}}$ of gates
are needed, and 14N of gates are needed in subtractor and latch. Therefore, the gate
count of the RLE encoder and comparator is 26 * 2$^{\mathrm{N}}$ + 14N - 30, and the
gate counts for each part of the compression unit are shown in Table 3.
Table 3. Gate counts
Compression methods
|
Gate Count
|
PFC Encoder
|
16
|
Shared Comparator
|
30
|
RLE Encoder
With Comparator
|
N=2 (PCR = 4)
|
102
|
N=3 (PCR = 8)
|
220
|
N=4 (PCR = 16)
|
442
|
N=5 (PCR = 32)
|
872
|
N=6 (PCR = 49)
|
1328
|
As a result, the overall gate count is 148 - 1374 while PCR ranges from 4 to 49, which
is a very small number compared to the compression unit of other lossless image compression
algorithms. In Table 4, the gate counts of the compression unit of LZW, JPEG-LS lossless, and motion JPEG,
which are the representative conventional lossless image compression algorithms, are
compared.
The gate count of LZW [8] is evaluated with FPGA synthesis, and the gate count of JPEG-LS lossless [9] is evaluated for both the main encoder and variable length coding (VLC) encoder [11] for entropy coding.
Motion JPEG needs a typical JPEG encoder/decoder (requires approximately 40,000 gates),
DRAM for the input/output of images and external storage, system bus interfaces, and
display block (approximately requires 30,000 gates), for frame-wise JPEG compression
and decompression for videos [12]. For the logic gate count comparisons, in the case of the proposed algorithm, even
with a PCR of 49, it is no more than 1374. This accounts for 17% of the gate count
of LZW, and 3% of JPEG-LS lossless. When the PCR of the proposed algorithm is 4, it
takes up 2% of LZW and 0.3% of JPEG-LS lossless. Moreover, since the proposed algorithm
does not require an extra buffer memory, the amount of the hardware is independent
of image resolution or compressions.
IV. Logic and Circuit Simulation
The overall procedures from compression to decompression are verified with the proposed
algorithm based on Verilog code, using the model as shown in Fig. 13.
Fig. 13. Verilog simulation block diagram.
The pixel data of the original image file, source. raw, is compressed by a compression
unit and written on image memory. At this point, the number of write requests, which
shows the readiness of the data that will be written on image memory, is counted to
get the size of the compressed image. The encoding LUT block is positioned just before
the PFC and RLE encoder, processing pixel values. Furthermore, after compression,
the decoding LUT is positioned after the decompression block. And, image memory is
implemented through a circular buffer that uses the dual port RAM for the convenience
of simulation. The decompression unit sends a read request to image memory to receive
compressed pixels and saves the data as a file after decompression. Throughout this
series of processes, the size of a compressed image and any loss that occurred during
compression/decompression processes can be analyzed.
Fig. 14. Logic simulation results.
Fig. 14 shows the major ports and signals. C-mod allows the use of the PFC algorithm by providing
the value ‘01b’ as a signal of compression mode, and the simulation is done so that
compression and decompression would be finished within one clock cycle. First of all,
the compression unit compares the four-pixel values that are arrayed in the compr/pixels
port and then produces code and flag.
The compressed pixel combined accordingly is fed to image memory through the c\_out
port. The decompression unit also uses the PFC algorithm by c\_mod signal, and for
the compressed pixel that is transferred through the comp\_data port, a decoder is
selected according to the lowest bit that is flagged, and it is outputted as pixel
data after being passed through pre-data that is the latch that saved the previous
pixel data in the last stage of the decompression unit.
Furthermore, the synthesis results using the ZYNQ-7000 platform are described in the
case of PPC and TPPC in Fig. 15. The synthesis result shows that the proposed algorithms can be implemented with
752 LUTs, achieving a throughput of 533 Mpel/s (1.6 Gb/s) with a clock frequency of
200 MHz, consuming 252 mW.
Fig. 15. Synthesis results for PPC and TPPC.
V. Performance Evaluation
The compression rate of the proposed algorithm is verified using the Verilog simulation
of Fig. 13 based on Eq. (3). Fig. 16 shows the compression rate according to each image as shown in Fig. 1.
Fig. 16. Compression Rate of Different Images.
Among the lossless compression algorithms, the overall compression rate of PPC is
high, and when the compression is done using the RLE algorithm, the compression rate
is low, or in some cases, the image data size rather increases. But the RLE compression
rate is very high only when there are many subsequent identical pixels such as ``coin''
and ``word''. In addition, PFC has both the characteristics of PPC and RLE. Overall,
the compression rate of TPPC is high, but PPC is used in general and TPPC can be used
conditionally based on the compression rate guard according to the image slope corner.
Through the adaptive compression mode proposed in this paper, the algorithm can be
used in a programmable manner to obtain a high compression rate; PPC and PFC are used
for regular images, and RLE can be used for images such as GUI or text screens which
have many consecutive identical pixels.
The compression rate for the same images may differ according to the image processing
involved. If there has been any loss caused by JPEG or scaling, the compression rate
increases by the increasing probability of the pixel being identical to the adjacent
one according to the size of the partial pixel. When there is any loss caused by JPEG,
the compression rate of PPC increases by 0.4%, that of TPPC by 0.4%, PFC by 1.6%,
and RLE by 2.1% and 3.3% depending on the run length. When the image is scaled, the
compression rate increased by 6.3%, 5.0%, 8.5%, 6.3%, and 8.9% respectively. That
is, this is a more suitable compression algorithm for mobile display that uses many
images affected by compression or that are scaled due to the specific characteristic
of LCD, a fixed resolution.
Fig. 18 shows the results after comparing the compression rate of the proposed algorithm,
PPC and PFC, and the conventional lossless compression algorithm, LZW and JPEG-LS
Lossless, with Lena, peppers, and the baboon image. The average compression rates
of the three images on each algorithm are as follows: 14.0% for PPC, 33.1% for TPPC,
11.6% for PFC, 12.0% for LZW, and 38.5% for JPEG-LS lossless. The compression rate
of JPEG-LS lossless is higher than other algorithms, but the hardware complexity is
37 times larger than that of the proposed methods as mentioned in Table 4. It makes the processing speed lower, and not adequate for SOP. However, the compression
unit of PPC, TPPC, and PFC, the proposed algorithm, can have a similar or even a higher
compression rate with the hardware of 2% the size of LZW. TPPC shown in Fig. 6, has little deterioration in image qualities with an average 46 dB PSNR with low
hardware complexities, and the same high compression rate as JPEG-LS lossless.
Table 4. Comparison of gate count with other algorithms
|
Logic Circuit
|
Buffer Memory(bits)
|
This Work
(PCR=49)
|
1374
|
0
|
LZW [7]
|
7800
|
7840
|
JPEG-LS Lossless [8]
|
51215
(27681 + 23534)
|
23887
|
Motion JPEG [9]
|
70000
|
17000
|
Fig. 17. Compression Rate by Different Conditions of the Image.
Fig. 18. Comparisons of compression rate with other algorithms.
Fig. 19. Image sequence: (a) 0th frame; (b) 12th frame; (c) 28th frame; (d) 51st frame; (e) 81st frame.
Fig. 20. Change in Compression Rate of Image Sequence.
The simulation which uses adaptive compression mode prediction unit in Fig. 12 is performed by compressing the video of Fig. 19 frame by frame. The separate images in Fig. 19 are those at the start point of different scenes, and Fig. 20 shows the result of the simulation. TPPC is selectively applied based on the image
slope corner which is excluded from this simulation.
The result of the simulation shows that the algorithm of high compression rate changes
at the 12$^{\mathrm{th}}$, 28$^{\mathrm{th}}$, and 51$^{\mathrm{st}}$ frames, where
scene changes occur, and the algorithm that shows high compression rate before the
next scene change is maintained. After the 51$^{\mathrm{st}}$ frame, the zoom-in image
comes out, and the algorithm that shows a high compression rate at the 73$^{\mathrm{rd}}$
frame changes, but the algorithm that shows a high compression rate is maintained
within the frames. A scene change occurred at the 81$^{\mathrm{st}}$ frame, but the
distribution of the compression rate of the algorithm did not change due to the similarity
with the previous scene.
The average compression rate of each algorithm is as follows; 30.6% for PPC, 30.5%
for PFC, 11.5% for RLE that uses a 2-bit size run length, and 11.6% for RLE that uses
a 1-bit size run length.
If the prediction method that was introduced earlier is applied here, the compression
rate of 31.2% can be obtained, which proves that the selection of adaptive compression
mode through prediction based on the history of the previous frame can increase the
overall compression rate.
Fig. 21 shows the original image, compressed image, and decompressed for Fig. 18. Fig. 21(b) shows that there is no loss in the processes of PPC and PFC compression and decompression.
In Fig. 21(c), it can be observed that TPPC also incurs no loss in emotional image qualites. As
shown in Fig. 16, PPC and TPPC executions simultaneously according to the image slope corner is referred
to as PPC/TPPC. Table 5 shows the compression rates for the proposed PPC/TPPC and PFC, along with the LUT
encoding and decoding described in Fig. 13, for 24 color images in the Kodak dataset [13].
Fig. 21. Image quality comparison: (a) Source; (b) PPC or PFC; (c) TPPC.
Fig. 22. Image quality comparison: (a) Source; (b) PPC/TPPC with LUT.
It also compares the compression rates with existing compression algorithms such as
RLE with 1-bit and 2-bit run length, LZW, JPEG Lossless [14], and JPEG-LS Lossless. As observed in Table 5, the compression rates of the presented algorithms, PFC and PPC/TPPC, are notably
higher compared to LZW and RLE.
Table 5. Compression rate of compression algorithms on Kodak dataset
Furthermore, when applying LUT encoding and decoding to PFC and PPC/TPPC, the compression
rates increase by an average of 7.08% and 3.08%, respectively, resulting in compression
rates of 25.14% and 34.08%, respectively. The compression rates of JPEG Lossless and
JPEG-LS Lossless are high, averaging 35.9% and 38.92%, respectively. However, they
require relatively larger hardware as mentioned in Table 4, and JPEG Lossless typically shows higher hardware complexity compared to JPEG-LS
Lossless [9]. On the other hand, as described in Table 4, the proposed compression algorithm can be implemented with less hardware compared
to both JPEG Lossless and JPEG-LS Lossless for the same compression rates.
Fig. 22 represents the original and PPC/TPPC with LUT compressed/decompressed images of the
13th Kodak image in Table 5. The average SSIM for the Kodak dataset with PPC/TPPC with LUT is 0.9912, with a
high level of image quality. As demonstrated in Fig. 21(b), there is completely no loss in perceptual image qualities.
VI. Conclusions
A lossless compression algorithms are proposed to minimize image frame buffer memory
requirements by eliminating the most significant bit position group in the pixel that
is identical across neighboring pixels. A compression algorithm that achieves a high
image quality of PSNR 46 dB or higher is discussed. Furthermore, an approach is proposed
that maximizes the compression rate by considering the differences in human perception
according to the brightness levels based on the human visual system. The method is
proposed to select among multiple algorithms, including the conventional RLE, to find
the most efficient algorithm for each frame in a programmable way adaptively. Hardware
design methodologies with very low hardware complexity is also proposed and verified.
It ensures a minimum compression rate improvement of at least 12.5%, and when using
LUT, it ensures an additional improvement of a minimum of 3% or more compression rate.
It is suitable for embedded image frame memory because the computation complexity
is very low, and it requires no more than 2% of the LZW.
ACKNOWLEDGMENTS
This work was supported by project for ‘Customized technology partner’ funded
Korea Ministry of SMEs and Startups in 2023 (project No. RS-2023-00282321). This work
was supported by 2024 Hongik University Innovation Support Program. Fund. Furthermore,
I express our gratitude to Jeong-Hun Lee, who participated in the experiment result
analysis.
References
H. S. Nam, J. H. Oh, B. H. Shin, “Novel Impulsive Driving Schemes for 120Hz LCD Panels,”
IMID ’07 Digest, pp. 818-821, 2007.
T. Nishibe, H. Nakamura, “Value-Added Circuit and Function Integration for SOG (System-on
Glass) Based on LTPS Technology,” IMID Digest, pp. 1091-1094, 2006.
S. Y. Lee, J. H. You, “Design Considerations on Partition of SOP, CMOS and PCB technologies
for Mobile Display System Implementation,” IMID Digest, Feb. 2007.
J. Someya, N. Okuda, H. Yshii, M. Yamakawa, “A New LCD-Controller for Improvement
of Response Time by Compression FFD,” SID Digest, pp. 1346-1349, 2003.
J. Y. Choi, A. S. Jeong, J. G. Back, “A Hybrid Hardware Architecture for LCD Overdrive
Frame Buffer Reduction,” IMID Digest, pp. 814-817, 2007.
R. J. Vleuten, R. P. Kleihorst, C. Hentschel, “Low-complexity scalable DCT image compression,”
ICIP 2000, vol. III, (Vancouver, Canada), pp. 837-840, Sep. 2000.
Fiergolla, Sven, and Petra Wolf. "Improving run length encoding by preprocessing."
arXiv preprint arXiv:2101.05329, Mar. 2021
Jack Venbrux, P. S. Yeh, M. N. Liu, “A VLSI Chip Set for High-Speed Lossless Data
Compression,” IEEE Transaction on Circuits and Systems, pp. 381-391, 1992.
Ying Chen, Pengwei Hao, “Integer Reversible Transformation to Make JPEG Lossless,”
ISC ’04 Proceedings, pp. 835-838, 2004.
Bartleson, C. James, and Edwin J. Breneman. "Brightness perception in complex fields."
Josa 57.7 (1967): 953-957.
P. Y. Chen, Y. M. Lin, “A Low-Cost VLC Implementation for MPEG-4”, IEEE Transactions
on Circuit and Systems, pp. 507-511, Jun. 2007.
S. Okada, Y. Matsuda, T. Watanabe, and K. Kondo, "A single chip motion JPEG codec
LSI," Proceedings of CICC 97 - Custom Integrated Circuits Conference, Santa Clara,
CA, USA, 1997.
Kodak PhotoCD dataset. http://r0k.us/graphics/kodak/, 2022.6
G. K. Wallace, "The JPEG still picture compression standard," in IEEE Transactions
on Consumer Electronics, vol. 38, no. 1, pp. xviii-xxxiv, Feb. 1992, doi: 10.1109/30.125072
Sun Myung Kim received B.S., and M.S. degrees in the Department of Electronic
and Electrical Engineering from Hongik University, Seoul, Korea, in 2007, and 2009,
respectively. In 2010, he joined at Samsung Display inc., where he has been working
in the area of display electronics development. His current interests include a touch
sensor, stylus driving technologies, sensor structure, and high dynamic range image
processing.
Dong Hun Cho was born in Seoul, Korea in 1994. He received the B.S. and M.S. degree
in electronic and electrical engineering from Hongik University, Seoul, Korea in 2020
and 2023 respectively. He is currently pursuing an Ph.D. degree in electronic and
electrical engineering from Hongik University, Seoul, Korea since 2023. His research
interest includes image signal processing, integrated display system design.
Jaehee You received his B.S. degree in Electronics Engineering from Seoul National
University, Seoul, Korea, in 1985. He received his M.S. and Ph.D. degrees in Electrical
Engineering from Cornell University, Ithaca, NY, in 1987 and 1990, respectively. In
1990, he joined Texas Instruments, Dallas, TX, as a Member of Technical Staff. In
1991, he joined the faculty of the School of Electrical Engineering, Hongik University
in Seoul, Korea, where he is now supervising the Semiconductor Integrated System Laboratory.
He is currently Vice President of the Institute of Semiconductor Engineers and has
served as an Executive Director of the Drive technology and System research group
of the Korean Information Display Society. He was a recipient of the Korean Ministry
of Strategy and Finance, KEIT Chairman Award for Excellence, in 2011. He has worked
as a technical consultant for many companies, such as Samsung Semiconductor, SK Hynix,
Global Communication Technologies, P&K, Penta Micro, Nexia device, and Primenet. His
current research interests include integrated system design for display image signal
processing, and perceptual image quality enhancements.