MULTIMEDIA PROCESSING
SPRING 2015
Under the guidance of Dr.K.R.Rao
Submitted by:
Madhurkiran Harikrishnan
1001103524 madhurkiran.harikrishnan@mavs.uta.edu
Acronyms
API: Application Programming Interface
AVC: Advanced Video Coding
CABAC: Context Adaptive Binary Arithmetic Coding
CB: Coding Block
CPU: Central Processing Unit
CSVT: Circuits and Systems for Video Technology
CTB: Coding Tree Block
CTU: Coding Tree Unit
CU: Coding Unit
DCT: Discrete Cosine Transform
DST: Discrete Sine Transform
FPGA: Field Programmable Gate Array
GOP: Group Of Pictures
HEVC: High Efficiency Video Coding
ICIP: International Conference on Image Processing
ISO: International Organization for Standardization
ITU-T: International Telecommunication Union – Telecommunication Standardization Sector
JCT-VC: Joint Collaborative Team on Video Coding
MC: Motion Compensation
MCP: Motion Compensated Predication
PB: Prediction Block
PU: Prediction Unit
SAO: Sample Adaptive Offset
TB: Transform Block
1.
INTRODUCTION
Joint collaborative team on video coding (JCT-VC) recently developed a new international video compression standard called High Efficiency Video Coding (HEVC) [1, 2, 3]. HEVC has 36% better compression efficiency than H.264 which is the current state-of-the-art video compression standard [9].
HEVC standard achieves this video compression efficiency by using a number of new encoding tools. As it can be seen from the HEVC encoder block diagram shown in Fig. 1, one of these tools is the new deblocking filter algorithm. HEVC, same as the previous video compression standards, divides video frames into blocks and performs transform and quantization for each block separately. This causes correlation loss between blocks and discontinuities on the edges of blocks. Therefore, reconstructed frames suffer from blocking artifacts. Deblocking filter (DBF) improves the visual quality of decoded frames by reducing the visually disturbing blocking artifacts and discontinuities in a frame due to coarse quantization. Since the filtered frame is used as a reference frame for motion-compensated prediction of future frames, DBF also increases coding efficiency resulting in bit rate savings [4, 5, 6].
HEVC DBF algorithm is applied to each edge of all luma and chroma blocks in a Largest Coding Unit
(LCU), a 64x64 pixel array, after inverse quantization and inverse transform [1, 6]. In order to decide whether DBF will be applied to an edge or not, the related pixels in the current and neighboring 16x16
Coding Units (CU) must be read from memory and processed. H.264 DBF algorithm has high computational complexity. H.264 DBF algorithm accounts for one-third of the computational complexity of an H.264 video decoder [4]. HEVC DBF algorithm also has high computational complexity. HEVC has higher computational complexity than H.264, and HEVC DBF algorithm accounts for one-fifth of the computational complexity of an HEVC video decoder [7].
Figure 1: Encoder block diagram of HEVC [8]
Figure 1 shows the block diagram of HEVC encoder in which each picture is partitioned into blocks of different sizes and the same is conveyed to the decoder. In the given sequence intra prediction is applied to the very first picture which uses spatial redundancy of the picture while for rest of the frames temporal redundancy is exploited using inter prediction [8].
Figure 2: Decoder block diagram of HEVC [8]
Deblocking Filter in HEVC:
The residual signal of intra/inter prediction which is the difference between original and predicted block is further transformed by a linear spatial transform which is scaled, quantized, entropy coded and transmitted along with prediction information. This residual signal is also inverse transformed, inverse quantized and filtered to duplicate the decoder processing loop and added with predicted signal to produce decoded picture which is stored in buffer for further predictions. As shown in Figure 2 in the block diagram of HEVC decoder, the residual signal is added to the prediction, and the result is fed to the deblocking filter to reduce the artifacts and finally stored in decoded picture buffer which can be used for further decoding of remaining pictures.
The deblocking filter in HEVC has been designed to improve the subjective quality while reducing the complexity. The latter consideration is important since the deblocking filter of the H.264/AVC standard.
Deblocking filter has been designed in a way to prevent spatial dependences across the picture, which, together with other design features, enables easy parallelization on multiple cores.[10]
Fig 3.1 Hardware Architecture of deblocking filter[9]
The figure 3.1 is the hardware design of deblocking filter by Ozcan [9]. The design is a logical implementation of the algorithm proposed for deblocking filter in H.265. This figure shows that as the number of datapaths increases the number of gates required would increase, resulting in more power consumption but the time required to process the data would be reduced.
Conclusion
Deblocking filter in HEVC plays a major in the decoder side contributing 20% to the decoder complexity
[9]. But HEVC has opened gate for parallelization as compared to H.264 ,also the algorithm for the H.265 is made less complex as compared to H.264. The project proposal aims at implementation of this improvised algorithm on hardware platform and optimizing the gate count thereby limiting the power and have a detailed study of hard filtering and soft filtering.
[1] B. Bross, W.J. Han, J.R. Ohm, G.J. Sullivan, T. Wiegand, “High Efficiency Video Coding (HEVC) Text
Specification Draft 6”, JCTVCH1003, Nov. 2011.
[2] G. Correa, P. Assuncao, L. Agostini, and L. A. Silva Cruz, “Complexity Control of High Efficiency Video
Encoders for Power Constrained Devices”, IEEE Trans. on Consumer Electronics, vol.57, no. 4, pp. 1866-
1874,Nov.2011.
[3] E. Kalali, Y. Adibelli, and I. Hamzaoglu, “A High Performance and Low Energy Intra Prediction
Hardware for High Efficiency Video Coding”, Int. Conf. on Field Programmable Logic and Applications, pp. 719-722,Aug. 2012.
[4] P. List, A. Joch, J. Lainema, G. Bjøntegaard, M. Karczewicz, “Adaptive Deblocking Filter”, IEEE Trans. on CAS for Video Technology, vol. 13, pp. 614-619, July 2003.
[5] Y. Adibelli, M. Parlak, I. Hamzaoglu, “Energy Reduction Techniques for H.264 Deblocking Filter
Hardware”, IEEE Trans. on Consumer Electronics, vol. 57, pp.1399-1407 Aug. 2011.
[6] A. Norkin et al., “HEVC Deblocking Filter”, IEEE Trans. on CAS for Video Technology, vol. 22, no. 12, pp.1746-1754,Dec. 2012.
[7]J. Vanne, M. Viitanen, T. D. Hamalainen, and A. Hallapuro, “Comparative Rate-Distortion-Complexity
Analysis of HEVC and AVC Video Codecs”, IEEE Trans. on CAS for Video Technology, vol. 22, no. 12, pp.
1885-1898,Dec. 2012.
[8] G.J. Sullivan et al, “Overview of the high efficiency video coding (HEVC) standard”, IEEE Trans. CSVT, vol. 22, pp.1649-1668, Dec 2012.
[9] Ozcan, Adibelli, and Hamzaoglu,” A High Performance Deblocking Filter Hardware for High Efficiency
Video Coding “IEEE Transactions on Consumer Electronics, Vol. 59, No. 3,pp.714-720, August 2013.
[10] Wei, Wei-Yi. "Deblocking Algorithms in Video and Image Compression Coding." Graduate Institute of Communication Engineering National Taiwan University, Taipei, Taiwan, ROC
[11] V. Sze, M. Budagavi and G. J. Sullivan, “High Efficiency Video Coding (HEVC): Algorithms and
Architectures”, Springer, 2014.
[12] Joint Collaborative Team on Video Coding Information web: http://www.itu.int/en/ITU-
T/studygroups/2013-2016/16/Pages/video/jctvc.aspx
[13]Link to download software manual for HEVC: https://hevc.hhi.fraunhofer.de/svn/svn_HEVCSoftware/
[14] K.R. Rao, D. N. Kim and J. J. Hwang, “Video Coding standards: AVS China, H.264/MPEG-4 Part 10,
HEVC, VP6, DIRAC and VC-1”, Springer, 2014.