Proposal

advertisement

MULTIMEDIA PROCESSING

SPRING 2015

A HIGH PERFORMANCE DEBLOCKING FILTER IMPLEMENTAION FOR

HEVC

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.

References:

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

Download