Documente Academic
Documente Profesional
Documente Cultură
ON
DESIGN AND ANALYSIS OF VESA DISPLAY STREAM COMPRESSION
BY
NAJMUS SAHAR
2013A3PS046U
AT
EEE
ON
BY
NAJMUS SAHAR
2013A3PS046U
AT
EEE
ABSTRACT
BITS, Pilani Dubai Campus
Dubai International Academic City (DIAC)
Dubai, UAE
Course Name: Design Project
Course No: EEE F367
Duration: 4 months
Date of Start: August 17, 2016
Date of Submission: October 19, 2016
Title of Report: Design and Analysis of VESA Display Stream Compression
Name: NAJMUS SAHAR
ID Number: 2013A3PS046U
Discipline: EEE
Name of Project Supervisor: Dr. Anand Kumar
Keywords: VESA, Display Stream Compression,
Project Area: Control Systems and Analog Electronics
Abstract: With advancements in the pixel technology for displays, televisions and
monitors with high definition and ultra-high definition resolutions are being
manufactured. But the display links connecting computers to monitors or set-top boxes
to televisions are not capable of handling such high bandwidths of information. This
results in loss of pixel data even if the display is capable of handling higher resolutions.
Display compression schemes are hence employed to address this issue. This project
deals with the study and analysis of one scheme in particular, the VESA Display
Compression Scheme. The objective is to implement all of part of the DSC using better
technologies or schemes.
Signature of Faculty
2
Date: 19.10.16
Date:
Acknowledgements
Firstly, I would like to express my heartfelt gratitude to the Director of BITS Pilani, Dubai
Campus, Prof. R.N. Saha, who has ushered a new light on our college.
Next, I would like to thank Dr. Anand Kumar, my Project Supervisor, for his faith in me
and for his motivation, support, guidance and encouragement throughout the course of
this project. He has been a great influence, urging me to learn and to be innovative,
pushing me to excel.
Lastly, I would like to thank Dr. Abdul Rajak, Instructor-in-Charge of Design Projects, for
taking his time to look into my work and for his support regarding my project.
Najmus Sahar
2013A3PS046U
Contents
ABSTRACT........................................................................................................................II
ACKNOWLEDGEMENTS.................................................................................................III
LIST OF FIGURES............................................................................................................V
LIST OF TABLES.............................................................................................................VI
OVERVIEW OF DISPLAY STREAM COMPRESSION.....................................................1
1.1 INTRODUCTION...............................................................................................................1
1.2 REQUIREMENTS FOR INDUSTRY STANDARD DISPLAY COMPRESSION................................1
1.3 EXISTING COMPRESSION TECHNIQUES...........................................................................2
DSC ALGORITHM.............................................................................................................3
2.1 OVERVIEW OF HARDWARE.............................................................................................3
2.2 ALGORITHM...................................................................................................................3
2.3 COMPONENTS OF THE ENCODER....................................................................................5
2.4 ADVANTAGES OF THE ALGORITHM...................................................................................6
2.5 PHYSICAL IMPLEMENTATION OF DSC ALGORITHM...........................................................7
FIELD PROGRAMMABLE GATE ARRAYS.......................................................................8
3.1 WHAT IS FPGA?...........................................................................................................8
3.2 HDL VERILOG............................................................................................................8
3.3 SOME BASIC VERILOG MODULES...................................................................................8
3.3.1 IMPLEMENTATION OF AND GATE............................................................8
3.3.2 IMPLEMENTATION OF FULL ADDER.......................................................10
3.3.3 IMPLEMENTATION OF 2 BIT COMPARATOR.............................................11
CONCLUSION.................................................................................................................13
REFERENCES................................................................................................................14
LIST OF FIGURE
FIGURE 1 HARDWARE IMPLEMENTATION OF DSC.....................................................3
FIGURE 2 DSC ALGORITHM OVERVIEW.......................................................................4
FIGURE 3 AND GATE SYMBOL AND TRUTH TABLE.....................................................9
FIGURE 4 AND GATE OUTPUT WAVEFORM...............................................................10
FIGURE 5 FULL ADDER LOGIC GATES AND TRUTH TABLE......................................10
FIGURE 6 FULL ADDER OUTPUT WAVEFORM...........................................................11
FIGURE 7 OUTPUT WAVEFORM FOR 2 BIT COMPARATOR......................................13
List of Tables
Table 1.Truth table for 2 bit comparator..12
CHAPTER 1
OVERVIEW OF DISPLAY STREAM COMPRESSION
1.1 Introduction
The advancement in pixel technology for displays has brought about a revolutionary
change in the standards of image quality in televisions and monitors. Ultra-high
definition and high definition resolution displays are common place. But such increased
quality of display also means that there is more bandwidth of pixel data to be
transmitted over display links. Most display links connecting monitors to computers and
set-top boxes to televisions are not able to handle such increased amount of
bandwidths.
This is where different display compression schemes come into picture. Compression
reduces the amount of pixel data sent over display links enabling higher resolutions to
be displayed in the available bandwidth But many of these techniques are either too
difficult to implement, expensive or visually lossy. It is also possible that the
compression schemes may not work on every device thus not being interoperable.
The Video Electronics Standards Association (VESA) addressed these issues by
implementing an industry standard for video compression called the Display Stream
Compression (DSC).
1.2 Requirements for Industry Standard Display Compression
When VESA decided to formulate an industry standard for compression which display
link standards could directly use, the following requirements were expected to be met by
the newly designed compression scheme:
1. The compression should be visually lossless, i.e., the user should not be able to
perceive any difference in the image quality before and after compression.
2. The compressed data rate should be constant as this ensures that the display
link does not run out of bandwidth while transmitting the image.
3. The specification should enable small regions or slices of the image to be altered
or updated.
4. A wide range of video formats should be supported for instance, RGB, YCbCr of
different ratios, (4:2:2, 4:4:4), etc.
5. Lastly, the scheme must be easy to implement, inexpensive and interoperable. It
should be developed using pre-existing technologies and conventional hardware.
Most of the existing compression techniques have many shortcomings. They are
visually lossless, too expensive and complex to implement or not operable on any given
display link or display device. As a result they fail to meet the requirements that VESA
charted out for a good compression specification standard.
MPEG-2 and H.264 are two compression schemes which are built on transform based
algorithm. Such schemes encode only the differences between successive frames.
JPEG-2000 and VC-2 uses a wavelet based algorithm. Wavelet based algorithm is
advantageous over transform based algorithm in the fact that encoding and decoding
can stop at a predetermined bit rate. The major disadvantage of all the above
mentioned schemes is that they require the storage of too many lines of pixel data. The
image quality is also compromised after compression.
CHAPTER 2
2
DSC ALGORITHM
2.1 Overview of Hardware
The DSC hardware is composed of and encoder and a decoder. The encoder is present
in the graphic source such as set top box or application processors. The decoder is
present in the display module such as television or monitor. The uncompressed pixel
data is sent to the DSC encoder which compresses it and sends it through the
transmission port, over the display link cable to the receiver port on the display module.
This compressed pixel data is then sent through the DSC decoder, which decoded the
data resulting in uncompressed pixel data. This visually lossless, uncompressed pixel
data is then finally displayed on the screen for the user.
This compression enables the display link to handle the lower bandwidth data and
prevents loss of image quality.
2.2 Algorithm
The DSC encoding scheme has been designed based on pulse code modulation
(PCM). This enables the analog signals to be converted to binary data thus reducing the
3
number of lines of storage for pixel data. DSC requires only a single line of pixel storage
as compared to MPEG-2 and other compression schemes that we saw earlier on.
Display stream compression is able handle streams of data, i.e., they can continuously
compress new data using older one kept in a memory buffer, hence the name stream
compression. This is different from block compression where they absolutely need to
work with blocks of data specific size.
The input image pixel data goes to the color space converter, where the image is
converted from RGB format to YCoCg if it is not already in that format. This pixel data is
then stored in a buffer from where it is sent to the predictor, quantization, reconstruction
block, the flatness determination block and also the Indexed Color History (ICH) block.
The outputs of all the above mentioned blocks are then sent to a Variable Length
Coding (VLC) entropy encoder from where the streams are multiplexed, put through a
rate buffer and the final compressed image is sent over the display link.
1. Color space converter: RGB image input data contains very high amount of
pixel data so it is converted to YCoCg-R format. This format contains Y
component which is the luminance component. Our eyes are more sensitive
to this data and hence it is retained. Co and Cg are the chrominance orange
and green components, to which our eyes are less sensitive. As a result these
components can be discarded. This conversion is a reversible transform that
is performed by some addition and shifts.
2. Buffer: It temporarily stores data when it is being moved from one place to
another. The buffer holds data right before it is used, making it more efficient.
This is especially done when there is a difference between the rate at which
data is received and the rate at which it is processed.
3. Predictor: The predictor scans bits of pixel data that it received from the
buffer, predicts a value based on different modes and gets approximate value.
This enables us to predict pixel values instead of actually scanning the entire
image and increasing bandwidth occupancy. There are three modes of
prediction, median adaptive prediction, block prediction and midpoint
prediction.
4. Quantization: This performs rounding or truncation of pixel values. Here, we
used power-of-2 quantizer.
5. Reconstruction: The inverse of the quantized value from the quantizer is
added to the predicted value to obtain the compressed pixel value. It is
ensured that the reconstructed value does not exceed the valid range of the
samples considered.
6. Flatness detection: It detects changes from complex (non-flat) to flat regions.
The rate controller selects a quantization parameter (QP) value for a current
block based on the bit rate of a previous block. Flat region basically means a
region of low frequency of pixel data and vice versa.
When the bit rate of the previous block is higher than the average bitrate of
the previously encoded blocks (due to high activity), the QP value of the
current block increases in order to maintain the bit-rate constraint and also to
prevent rate buffer overflow.
When a flat region follows right after a complex region, visual artifacts may be
noticeable if the flat region is encoded with a high QP. Therefore, it is useful
to identify this transition from a complex region to a flat region of video data
5
so that the encoding of the flat region can be performed using a low QP
value, thereby reducing quantization artifacts.
CHAPTER 3
FIELD PROGRAMMABLE GATE ARRAYS
3.1 What is FPGA?
FPGA stands for field programmable gate array. It is a semiconductor device on which
we can define different functions using Hardware Description Language (HDL) even
after it is manufactured.
7
Program:
module andgate
(
output out,
input in1,in2
);
assign out=in1&in2;
endmodule
Ouput Waveform:
Program:
module fulladder
(output sum,
output carry,
wire out1,
wire out2,
wire out3,
input a,b,c);
assign sum=a^b^c;
assign out1=a&b;
assign out2=b&c;
assign out3=a&c;
assign carry=out1|out2|out3;
endmodule
Output Waveform:
10
11
12
13
CHAPTER 4
CONCLUSION
The report started off with a detailed analysis of the VESA Display stream compression
scheme and its various advantages as compared to other existing video compression
schemes. We saw the algorithm for the encoder of DSC. The various blocks of the DSC
encoder and their functions were explored.
This gave an idea of what the methodology of the DSC is and how it can be
implemented using similar pre-existing techniques but with improved efficiency. It is
understood that FPGAs would serve the purpose of hardware implementation of the
DSC. For this, Verilog would be an ideal HDL to be used.
Hereafter, more complex Verilog programs involving control signals and pipelining must
be studied and designed. This is help in the achievement of partial implementation of
the display stream compression standard.
14
REFERENCES
[1] http://www.hardent.com/electronic-FPGA-design-consulting-services/a-quick-guideto-vesa-display-stream-compression/
[2] Malvar, H.G. Sullivan, and S Srinivasan. Liftingbased reversible color
transformations for image compression Proc.SPIE,Vol.7073.2008.
[3] VESA Display Stream Compression Written by Frederick Walls, Associate Technical
Director, and Sandy MacInnis, Senior Technical Director, Broadcom Corporation (VESA
member)
[4] DISPLAY STREAM COMPRESSION, United States
US 20140362098A1 Patent Application Publication
Pub. No.: US 2014/0362098 A1 Kerofsky Pub. Date: Dec. 11, 2014
15