
 
organized as follows. Section 2 provides an 
overview of SAO operation and Sections 3 & 4 
describe the proposed method. Finally, conclusions 
and future work are given in section 5. 
2 OVERVIEW 
High efficiency Video Coding (HEVC) also known 
as H265 video codec is the latest video compression 
standard developed by Joint Collaborative Team on 
Video Coding (JCT-VC) group which was 
established by the ISO/IEC Moving Picture Experts 
Group (MPEG) and ITU-T Video Coding Experts 
Group (VCEG). HEVC is expected to achieve up to 
50% better compression when compared to the 
Advanced Video Coding (AVC/H.264) standard, 
while maintaining similar video quality levels 
(Sullivan et al., 2012). In HEVC, pictures are 
uniformly divided into square blocks called Coding 
Tree Units (CTU) which is similar to Macro blocks 
used in earlier standards. These CTUs are further 
divided in quad-tree basis to form Coding Units 
(CU) which forms the basic processing unit (Bross 
et al., 2013). 
 SAO is an in loop filter used in HEVC standard 
to improve the objective quality of the reconstructed 
pictures. SAO filtering is a non-linear operation 
which further reduces the reconstruction error which 
are not achieved by many of the linear filters and 
particularly used to enhance the edge sharpness. It is 
found that, SAO is efficient in suppressing banding 
artifacts (pseudo edges) and ringing artifacts caused 
by quantization errors of high frequency components 
in transform domain (Sullivan et al., 2012). 
SAO is applied post de-blocking process. Since 
the characteristics of a picture may vary with 
locations, SAO divides a picture into CTU-aligned 
regions to obtain local statistical information (Fu, 
Chen et al., 2011). Each CTU will contain its own 
SAO parameters. SAO class for a CTU can be 
invalid (meaning SAO is not applied on current 
CTU), Band Offset (BO) or Edge Offset (EO).  
In case of BO, pixel intensities are divided into 
32 fixed bands as show in Fig 1. For 8 bit samples, 
width of the band will be 8 samples. Offsets are sent 
for four consecutive bands from given band position, 
which are prominent in the current CTU (Fu, Chen 
et al., 2011). Four consecutive bands are used since 
flat areas with banding artifacts, with most sample 
intensity concentrated in only few bands. Offsets are 
nothing but the averaged difference between original 
samples and de-blocked samples. These offsets are 
added to all pixels which fall in that particular band. 
SAO offsets are limited between -7 to 7. In case of 
band offset, sign of each offset is sent in bit-stream 
separately (Sullivan et al., 2012).  
 
 
Figure 1: SAO Bands in Band Offset type. 
EO class uses neighbor pixels to compute index 
of the offset array. Based on neighbors being used, 
EO class is further divided into four types (a) EO-0 
(0 degree), (b) EO-1(90 degree), (c) EO-2(135 
degree), (b) EO-3(45 degree) as show in Fig 2. 0 
degree uses left and right pixels, 90 degree uses top 
and bottom pixels, 135 degree uses top left and 
bottom right pixels and 45 degree uses top right and 
bottom left pixels. In all SAO edge offsets types, 
each pixel inside the CTB is classified into one of 5 
categories i.e., Local minima, positive edge, flat 
area, negative edge and local maxima which are 
explained in Table 1. Each category will have its 
corresponding edge offset. In case of edge offset, in 
order to reduce bit overhead, SAO specifies positive 
offset for local minimum & negative edge, and 
negative offset for local maximum & positive edge 
(Sullivan et al., 2012). 
 
 
Figure 2: SAO Edge Offset types. 
Table 1: SAO Edge Offset categories. 
Category Condition 
Local minima  Current pixel less than both neighbors 
positive edge 
Current pixel greater than one neighbor 
and equal to the other 
flat area  Current pixel is equal to both neighbors 
negative edge 
Current pixel less than one neighbor and 
equal to the other 
local maxima  Current pixel greater than both neighbors 
SIGMAP2013-InternationalConferenceonSignalProcessingandMultimediaApplications
20