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