I. Introduction
Due to video based applications like video conferencing, live telecast, video surveillance, and due to drastic increase in internet accessibility, there is ever increase in demand for the high efficiency video coders. In response, Joint Collaborative Team on Video Coding (JCT-VC) has developed H.265/High Efficiency Video Coding (HEVC) video encoder with the capability to provide 50% saving in bit rate at the same subjective and objective quality in contrast to the predecessor H.264/Advanced Video Coding (AVC) [1], [2]. This significant achievement in HEVC is accomplished by the introduction of new tools, techniques, and the optimizations of the existing one in the architecture of AVC. For example, HEVC is based on the same hybrid encoder block structure as AVC. But in order to enhance the coding efficiency, HEVC introduces the concept of different Blocks: Coding Tree block (CTB), Coding Block (CB), Prediction Block (PB), Transform Block (TB) along with the concept of Tiles and Slices [3], [4]. Apart from these concepts, to exploit the spatial correlation among the pixels of the same frame there is an introduction of large number of intra-prediction modes i.e. 35 while in previous standard AVC, this number was 9 [5], [6]. In HEVC, the residue (difference between the actual PB and its corresponding predicted block) is encoded (entropy encoding) into bit stream following the transform and quantization. It is interesting to note that, the residue majorly defines the bit rate of encoded stream: higher the residue higher the bit rate and vice-versa. As the low bit rate is desired, residue must be less, and hence, 35 intra-prediction modes helps in achieving the better prediction that resultantly reduce the residue. Although, these new features helps in improving the coding efficiency of HEVC, there is 2 to 4 times increase in computational complexity of HEVC as compared to H.264/AVC [7].