Mobile QR Code QR CODE

  1. (Samsung Display, 1, Samsung-ro, Kiheung-gu, Yongin-si, Kyunggi-do, Korea )
  2. (School of Electronic and Electrical Engineering, Hong Ik University, 72-1, Sangsu-Dong, Mapo-gu, Seoul, 121-791, Korea)



Image compression, frame buffer memory, image quality, memory compression

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.

../../Resources/ieie/JSTS.2024.24.5.459/fig1.png

Fig. 2. The probability of an adjacent pixel being identical according to the size of the partial pixel and PCR.

../../Resources/ieie/JSTS.2024.24.5.459/fig2.png

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).

(1)
../../Resources/ieie/JSTS.2024.24.5.459/eq1.png

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.

../../Resources/ieie/JSTS.2024.24.5.459/fig3.png

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).

../../Resources/ieie/JSTS.2024.24.5.459/fig4.png

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.

../../Resources/ieie/JSTS.2024.24.5.459/fig5.png

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).

(2)
$ Image\;slope=\frac{\sum _{i=1}^{n/2}\left(\left| P_{2i}-P_{2i-1}\right| \right)}{n/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.

../../Resources/ieie/JSTS.2024.24.5.459/fig6.png

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.

Fig. 7. Concepts of FPC.

../../Resources/ieie/JSTS.2024.24.5.459/fig7.png

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.

../../Resources/ieie/JSTS.2024.24.5.459/fig8.png

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.

../../Resources/ieie/JSTS.2024.24.5.459/fig9.png

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.

../../Resources/ieie/JSTS.2024.24.5.459/fig10.png

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.

../../Resources/ieie/JSTS.2024.24.5.459/fig11.png

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.

../../Resources/ieie/JSTS.2024.24.5.459/fig12.png

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.

../../Resources/ieie/JSTS.2024.24.5.459/fig13.png

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.

../../Resources/ieie/JSTS.2024.24.5.459/fig14.png

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.

../../Resources/ieie/JSTS.2024.24.5.459/fig15.png

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.

../../Resources/ieie/JSTS.2024.24.5.459/fig16.png
(3)
../../Resources/ieie/JSTS.2024.24.5.459/eq3.png

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.

../../Resources/ieie/JSTS.2024.24.5.459/fig17.png

Fig. 18. Comparisons of compression rate with other algorithms.

../../Resources/ieie/JSTS.2024.24.5.459/fig18.png

Fig. 19. Image sequence: (a) 0th frame; (b) 12th frame; (c) 28th frame; (d) 51st frame; (e) 81st frame.

../../Resources/ieie/JSTS.2024.24.5.459/fig19.png

Fig. 20. Change in Compression Rate of Image Sequence.

../../Resources/ieie/JSTS.2024.24.5.459/fig20.png

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.

../../Resources/ieie/JSTS.2024.24.5.459/fig21.png

Fig. 22. Image quality comparison: (a) Source; (b) PPC/TPPC with LUT.

../../Resources/ieie/JSTS.2024.24.5.459/fig22.png

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
../../Resources/ieie/JSTS.2024.24.5.459/tb5.png

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

1 
H. S. Nam, J. H. Oh, B. H. Shin, “Novel Impulsive Driving Schemes for 120Hz LCD Panels,” IMID ’07 Digest, pp. 818-821, 2007.DOI
2 
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.URL
3 
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.URL
4 
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.DOI
5 
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.URL
6 
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.DOI
7 
Fiergolla, Sven, and Petra Wolf. "Improving run length encoding by preprocessing." arXiv preprint arXiv:2101.05329, Mar. 2021DOI
8 
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.DOI
9 
Ying Chen, Pengwei Hao, “Integer Reversible Transformation to Make JPEG Lossless,” ISC ’04 Proceedings, pp. 835-838, 2004.DOI
10 
Bartleson, C. James, and Edwin J. Breneman. "Brightness perception in complex fields." Josa 57.7 (1967): 953-957.DOI
11 
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.DOI
12 
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.DOI
13 
Kodak PhotoCD dataset. http://r0k.us/graphics/kodak/, 2022.6URL
14 
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.125072DOI
Sun Myung Kim
../../Resources/ieie/JSTS.2024.24.5.459/au1.png

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
../../Resources/ieie/JSTS.2024.24.5.459/au2.png

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
../../Resources/ieie/JSTS.2024.24.5.459/au3.png

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.