Optimizing Baseline Profile in H.264/AVC Video Coding by Parallel ...

shrewdnessfreedomSoftware and s/w Development

Dec 2, 2013 (3 years and 11 months ago)

743 views





BY

VINOOTHNA GAJULA

ID 1000803103

MS
in
Electrical Engineer
ing

University of Texas at Arlington

Under the Guidance of
Dr. K. R. Rao

Optimizing Baseline Profile in H.264/AVC Video Coding by Parallel Programming
and Fast
Intra and Inter prediction
s


TABLE OF ACRONYMS

ASO Arbitrary slice ordering

AVC

Advanced video coding

CABAC Context adaptive binary arithmetic coding

CAVLC

Context adaptive variable length coding

CBP

Coded block pattern

CIF Common intermediate format

DCT



Discrete cosine transform

FMO


Flexible macro block ordering

IEC

International electro technical
commission

I
-
frame

Intra frame

ITU
-
T

International telecommunication union

ISO

International organiz
ation for standardization

JM

Joint model

JVT

Joint video team

MB


Micro block

MPEG

Moving picture experts group

MSE

Mean square error

NAL

Network abstraction layer

PSNR

Peak signal to noise ratio

QCIF

Quarter common intermediate format

QP

Quantization parameter

RDO

Rate distortion optimization

RS

Redundant slices

SATD

Sum of absolute transformed differences

SSIM

Structural similarity index metric

VCEG

Video coding experts group

VLC

Variable length coding










Optimizing
Baseline Profile in H.264/AVC Video Coding

by Parallel
Programming and Fast Intra and Inter prediction
s

OBJECTIVE
:

In this project
,

the

computational complexity and encoding time of
b
aseline profile of H.264 are reduced
by using parallel programming


in

encoding video frames

[1], [7]
,

ins
tead of sequentially

encoding

and
then

by

using
f
ast adaptive termination

(FAT) algorithm
in i
ntra
a
nd inter prediction
s

[2]

[15]
.

FAT algorithm in
intra

prediction is executed

by using simple directional masks and neighboring modes

[2]
,

[8]
, [15]

and i
n inter prediction

mode decision and motion estimation
by
adapting minimum
rate
distortion (
RD
)

cost of
both
skip and non
-
skip modes and an early
-
skip mode detection test is
proposed
for skip mode and a three
-
stage scheme is proposed to speed up the mode decision process for non
-
skip
mode

[
3
]
,

[9]
, [15]
, [20]
.

INTRODUCTION
:

H.264 also known as MPEG

(
Moving picture experts group
)

Part10/

AVC



(MPEG
-
4’s a
dvanced
v
ideo
c
oding)

was

jointly published in 2003 by
I
nternational standards bodies

-

International
Telecommunication Union (ITU
-
T)

[17]
,
International Organization for Standardization

and

International
Electro
-
T
echnical Commission (ISO / IEC) called as Joint Video Team (J
VT) [4].

It has many advantages over previous coding st
andards MPEG
-
2
[13]
and MPEG
-
4

[1
4
]
,

like significant
rate distortion efficiency
,
achieving higher bit rate reduction, error resilience and most
networks

friendly
compared to other standards.

H.264

-

PROFILES
:

H.264

has three major profiles which are t
he
b
aseline,
m
ain and
e
xtended

and

in
addition

to the

four high
profiles namely High, High

10

[11]
, High 4:2:2

[11]
, and High 4:4:4 [5]

[11]

as

given in the figure
1
[5]

[11]
.

-
Baseline profile is

applicable in

real
-
time conversational services such as video conferencing and video

phone.

[5] [11]

-
Main profile is designed for digital storage m
edia and television broadcastin
g
[5] [11]
.

-
Extended profile targets multim
edia services over the internet

[5] [11]
.

-
High, High 10, High 4:2:2, and High 4:4:4
[11]
are used in the fidelity range extensions for applications
such as content
-
contribution, content
-
distribution, and studio editing and post
-
processing respectively

[5]
[11]
.


Fig
.
1
:
Various
p
rofiles

of H.264 [5]

Encoder and Decoder of H.264:

A H.264 is a codec i.e
.,

a combination of e
ncoder and decoder complimenting each other to achi
e
ve
the
required compression and bett
er picture quality. H.264 encoder converts the video into a compressed
format (.2
64
formats
) and a decoder converts the
compressed
video back into an uncompressed format
with very few losses.

A H.264 video encoder carries out prediction, transform and encoding processes to produce a c
ompressed
video form
as in the figure

2 [6].


Fig
.

2 H.264 encoder block diagram [6]

After encoding
,

the coded video data is organized into network abstraction l
ayer (NAL) containing NAL
units
, each of which is effectively a packet that contains an integer number of bytes.
Each NAL unit is a
collection of

SLICES which is a
group

of

m
acro block
s

(MB) representing
MB type,
p
rediction
information
,

coded block p
attern
(
CBP
)
, residual coefficients and

q
uantization
p
aramet
er

(
QP
) as
explained in figure 3 [4].



Fig. 3
: NAL unit interface between encoder and
decoder [4]

A H.264 video decoder
function is
to
re
-
produce

video sequence by
carrying out

the complementary
function
s

of the
encoder i.e
., decoding, inverse transform
ation
and reconstruction
as

explained

in the
figure

3a

[6].


Fig.
3a

H.264 decoder block diagram [6]


Prediction

Modes
:

The

prediction modes

in H.264 can be
categorized

as
i
ntra prediction (I),
i
nter prediction (P) and
their
combination.

INTRA PREDICTION MODE
:

An intra (I
) macro

block

is

a

coded
reference to

the data

only in the current slice. I
macro block
s may
occur in any slice type. In an intra MB the luma component can be selected in 3
ways, namely

16
×
16,

8
×
8 or 4
×
4. A single prediction block is generated for each
chroma

component

as shown in table 1
[4]
.

The modes of prediction for 16
×
16 MB are given
in
table 2 and figure 4 [4][5].


Table 1: Various intra prediction block sizes and
properties
.
[4]



Table 2: 16x16 l
uma prediction modes and properties
.
[4]


Fig 4: 16x16 l
uma prediction modes
, all predicted fron pixels
H and

V
.

[4]



8x8 (for Chroma)




Mode 0 (DC): mean of upper and left
-
hand samples (H+V).

[5]



Mode 1 (horizontal): extrapolation from left samples (V).

[5]



Mode 2 vertical): extrapolation from upper samples (H).

[5]



Mode 3
(Plane): a linear “plane” function is fitted to the upper and left
-
hand samples H and V.
This works well in areas of smoothly
-
varying luminance.

[5]The properties of the modes of
prediction are given in table 3[4] and the pictorial representation in figur
e

5 [4
Table 3: 4x4 l
uma
pr
ediction modes and properties[4]








Table 3: 4x4 l
uma prediction modes and properties [4]



Fig.5
: 4x4 l
uma prediction (intra
-
prediction) modes in H.264[1]

(
Pixels A through M which have been coded and reconstructed
to
form
the prediction for the 4 x

4 block.
)



INTER PREDICTION MODE:

Inter prediction is the process of predicting a block of luma and chroma samples in a current frane from
samples already coded and transmitted from another frame or a reference frame.
Initially

a prediction
region is selected, generating a prediction block and this is removed/subtracted from the original block of
samples to form a residual that is then transformed, coded and transmitted along with the
sample

number
or the reference sample

[4].

T
he MB’s are split into four types [4]

as shown in the figures 6 and 7.

(a)

One 16x16 MB Partition.

(b)

Two 8x16 MB Partitions.

(c)

Two 16x8 MB Partitions.

(d)

Four 8x8 Partitions

and

(e)

Combination of any of b, c and
d.


Fig.6 Macro block partitions
: 16x16
, 8x16, 16x8, 8x8

[
4
]


Fig.

7

Macro
block

sub partitions: 8x8, 4x8, 8x4, 4x4 [4]

Rate Distortion Optimization

(RDO)

[6]
,

[8]
,

[9]
,

[20]
:

Once the prediction is obtained and residual is calculated
for all the modes,
the best mode among
these modes is
one which has

least
residual
. T
he H.264/AVC encoder performs the rate
-
distortion
optimization (RDO) technique for each macro block to obtain

the best mode
.
[2
]



Set macro block parameters :
Quantization parameter
(
QP
) and Lagrangian multiplier
λ



Calculate :
0.85 x 2
(QP
-
12)/3
[2
]
………………………………..(1)


Then calculate

the
cost, which determines the best mode

Cost = D +
λ

MODE x

R
[2
]
,………………………………………(2)

Where
D


Distortion

and R

-

Bit rate with given QP

Distortion (D)

is obtained by SSD (sum of squared differences) between the original macro block
and its reconstructed block.

Bit rate

(R)

includes the number of bits for the mode information and transforms coefficients for
macro block.

Considering the RDO procedure for

intra mode selection in H.264/AVC, the number of mode
combinations in one macro block is

N
8
x (16x

N
4

+
N
16
)

=

8x(16+16)=592

N
8


number of modes of an 8x8 chroma block

N
4



number of modes of a

4x4 luma block

N
16



nu
mber of modes of a

16x16 luma

block

The H.264/AVC encoder carries out 592 RDO calculations

to choose the best matching MB
. As a
result, the complexity of the encoder increases extremely

[16]
.

INPUT
FORMATS
:


H.264 can compress
planar and interleaved/packed raw image data (viz., yuv,
rgb)

and depending upon
the video
,

it converts them
in
to intermediate
formats

like

CIF (common intermediate f
ormat), QCIF
(
q
uarter

common intermediate f
ormat), Sub
-
QCIF

and
4

C
IF.

But mostly CIF and QCIF are used here.

The resolutions of the different form
ats are shown in the table 4 [4]. The

resolutions of CIF and QCIF for
4:2:0

sampling are shown in figure 8

[18]
.


Table
4: Different
i
ntermediate
f
ormats[4]

Fig. 8 CIF and QCIF resolutions(Y, C
b
, C
r
)
, (4:2:0)
[8][9]

QUALITY MEASUREMENT:

The major
challenge is determining the quality of the image/video obtained as m
easuring visual quality
using ob
jective criteria gives accurate and
repeatable results but as yet there are no objective
measurement systems that completely reprod
uce the human visual sys
tem

[
11
].

PSNR

Peak signal to noise ratio (PSNR) is measured on a logarithmic scale and depends on

the mean squared
error (MSE)

bet
ween an original and
a

decoded/lossy

image
or video frame, relative to
the square of the
highest
-
possible signal value in th
e image, where n is the number of bits per image sampl
e

[11]
.

PSNR
dB

= 10 log
10

((2
n

− 1)
2
/ MSE)

This

is easy to calculate and is widely used

and

the

most popular measure of quality.


SSIM

The structural similarity index

(SSIM) is a method to measure

the similarity between two images.
But
,

while calculating SSIM
,

the reference image used is assumed
as a

perfect

one

i.e
.,

the original image
without any
artifacts
. Hence,

SSIM

is measured by

provid
ing

the original image or image

which is
the

most

close to original
one

[4]
.

OPTIMIZ
ATION PROCESS

OF BASELINE PROFILE
:

H.264 provides the best compression but is computationally much more complex than any of the previous
codec
s

and also
time con
suming for real time applications. So to make H.264
more
adaptable for practical
application
,

the encoding time is to be reduced. In this project
, encoding time reduction

is ach
iev
ed by
app
lying
following

methods simultaneously
.

1. Parallel programming in b
aseline

profile

[7]
,

2. Fast algorithm for intra mode s
e
lection

[8]

and

3. Fast algorithm for inter
m
ode s
election

[9]

[20]
.

Baseline profile is selected because of
the ease of implementation and t
he important f
eatures of
b
aseline
profile are
:

a)

I and P slice coding
.

b)

Enhanced

error resilience such as flexible macro block ordering (FMO) and a
rbitrary slice
ordering(ASO) and redundant slices (RS)
.

c)

Context adaptive variable length coding (CAVLC)

Baseline profile is primarily used for low
-
cost applications, for data loss robustne
ss like video
conferencing and
videophone. The

joint model (JM 18.0) implementation of the H.264 encoder is used in
this project [10]
.

1. Parallel P
rogramming in Baseline

Profile [7]:

This parallel programming is done by considering several frames together for encoding. This can be
achieved by

The strategy adopted for encoding the frames

to be

parallel is
as follows:

Step
1
.
Separate the

total number of frames to encode into 2 equal set
s.


Ex:
If the total number of frames to
be
encode
d

is 30, then

part ion is done as
the

frame numbers from 1
to 15

into

set 1

and frame numbers from 16 to 30

into

set 2
.

Step
2
.

Perform
the parallel
intra
coding on two

frames in both partitions.

Ex:

F
rame 1 and frame
16 together
. Frame 1 can be used as a reference frame for frame 2 and frame 16
can be used as a reference frame for frame 17 and so on.

Step
3
.

Perform inter coding on frame 2 and frame 17 by incorporating changes in the encoding algorithm
using Open

MP. Repeat for frame 3 and frame 18 and so on till all the frames are encoded
,

a
s given in the
figure 9.

FRAME
1
FRAME
30
FRAME
18
FRAME
17
FRAME
16
FRAME
15
FRAME
3
FRAME
2
PARALLEL
ENCODING
PARALLEL
ENCODING
PARALLEL
ENCODING
PARALLEL
ENCODING
INTRA
INTRA
INTER
INTER
INTER
INTER
INTER
INTER

Fig.9
: Parallel processing of frames to reduce encoding time
[
7
]

2. Fast A
lgorithm for Intra Mode Selection[8]
:

Proposed intra mode selection al
gorithm for a 4x4 luma block [12
]
,
[8]
:

In f
igure 10
, black dots indicate positions of the pixels to be computed for investing d
irectional
correlation in the 4x
4 luma block, and arrows represent the directions of correlation

associated with the
corresponding mask. Since directions of the H.264/AVC intra
-
prediction are limited to 8 directions except
D
C mode,
8 directional masks
are proposed
instead of a precise edge det
ector such as
S
obel operator

[16]
.
O
ne c
andidate mode
with the minimum d
iff
erence

is selected

[8]
.


Fig.10
: The proposed directional masks for a 4.4 luma block. (a)
Vertical, (b) H
orizontal, (c)

D
iagonal down left, (d) Diagonal down right, (e) V
ertical
right, (f) Horizontal down, (g) V
ertical

left, (h) H
oriz
ontal up mask

[8]
.


Fig
.
11: Pixel indices and modes of adjacent blocks used in the proposed intra mode selection algorithm.
(a)
I
ndices used in (3) to (10) for a 4
x
4 luma block, (b) M
odes of upper and left blocks for additional
candidate modes

[8]
.

Diff = |a


m| + |b


n| + |c


o| + |d


p|,


for vertical direction, (3)

Diff = |a


d| + |e


h| + |i


l| + |m


p|,


for horizontal direction, (4)

Diff = |c


i| + 2∙|d


m| + |h


n|,


for diagonal down left direction, (5)

Diff = |b


l| + 2∙|a


p| + |e


o|,



for diagonal down right direction, (6)

Diff = |a


n| + 2∙|b


o| + |c


p|,


for vertical right direction, (7)

Diff = |a


h| + 2∙|e


l| + |i


p|,



for horizontal down direction, (8)

Diff = |b


m| + 2∙|c


n| + |d


o|,


for
vertical left direction, (9)

Diff = |e


d| + 2∙|i


h| + |m


l|,


for horizontal up direction, (10)

W
here a to p denote the pixels for investing directional correlation associated with the corresponding
mask of the indices for pixel positions used in (3
) to (10)

as shown in figure
10.

Diff is used as a criterion
for correlation, i.e., the direction with smaller
D
iff is
the
more correlated one
. From the second
observation,
additional candidate modes

are obtained
by using

mode information of adjacent block
s,
where one is the upper block with the corresponding mode of mode

A and the other is the left block with
the corresponding mode of mode

B, as shown in figure
11

[8]
.


The
additional modes

are included namely

mode

A and mode

B,
to the

candidate modes for RDO
procedure
. S
ince the directions in the H.264/AVC intraprediction are defined with the directional relation
between current block and boundary pixels of adjacent blocks, instead of direction within the current
block only. In this ca
se, one mode when mode

A and mode

B are
the
same, or two modes when mode

A
and mode

B are different from each other,
is

included in RDO procedure.

[8]


To determine whether DC mode is included in RDO procedure or not,
the

sum
(S)

of

dif
ference

between an
average of curr
ent block

to each pixel (p
i
) is considered
(11)
.



Where the condition is
, and
p
i

is each pixel of current block.
…….(
1
1)


Condition 1:
If S is smaller than a threshold, T1, RDO

is carried out

for at most 4 candidate modes, i.e.,
one mode from the proposed masks, at most two modes fr
om adjacent blocks, and DC mode

[8]
.

Condition 2:
If S is larger than a threshold, T1, RDO

is performed

for at most 4 candidate modes, i.e.,
two modes from the proposed masks (with minimum and second minimum Diff) and at most two modes
from adjacent blocks
[8]
.


The proposed intra m
ode selection algorithm for a 4x
4 luma

block is summarized as follows:


Step

1

-

For a 4x
4 lum
a block, obtain avg and S by (1
).

[8]

Step 2a

-

If S is larger than a threshold, T1, carry out RDO procedure for at most 4

candidate modes: two
modes with minimum and second minimum Diff by (3) to

(10), and at most two modes from adjacent

blocks. In this case, DC mode of adjacentblocks is excluded from RDO procedure

[8]
.

Step 2b

-

If S is smaller than a threshold, T1, carry out RDO procedure for at most 4

candidate modes:
one mode with minimum Diff by (3) to (10), at most two

modes from ad
jacent blocks, and DC mode

[8]
.



Proposed intra mode selection algo
rithm for a 16x16 luma block [
12
]
,

[8]
:


Step 1

-

Examine sizes of adjacent blocks: if both blocks (upper block and left block) are 16x16, go to
Step 2, otherwise go to Step 4

[8]
.

Step 2

-

Examine modes of adjacent blocks: if both modes are same, go to Step 3, otherwise select the
best mode for a 16x16 luma block, which results in the minimum SATD (sum of absolute transformed
differences) between two adjacent modes of mode

A and mode

B

[8]
.

Step 3

-

If both adjacent modes are DC mode, go to Step 4, and otherwise select the best mode for a
16x16 luma block, which results in the minimum SATD between the adjacent mode and DC mode

[8]
.

Step 4

-

Let ΔV be a vertical difference between upper
boundary pixels of the current block and boundary
pixels of the upper block, and ΔH be a horizontal difference between left boundary pixels of the current
block and boundary pixels of the left block as follows

[8]
.

Where,
ΔV = Σ |u(i)
-
q(i)| for i =0 to 1
5.

ΔH = Σ |l(i)
-
r(i)| for i =0 to 15.

u(i)

-
> upper block boundary pixels
,

q(i)
-
> upper boundary pixels of current block
,


l(i)
-
> boundary pixels of the left block
,

and

r
(i)
-
> left boundary pixels of the current block
.


Fig. 12
: Calculation for ΔV
and ΔH in 16x16 luma block [2
]

[8]
.

Obtain candidate modes by using two difference values, ΔV and ΔH: if |ΔV − ΔH | is smaller than 2xT2,
candidate modes are DC mode and plane mode

as shown in the figure 12
; if (ΔV − ΔH) is larger than T2,

candidate modes

are DC mode and horizontal mode;
if (ΔV − ΔH) is smaller than
T2, candidate modes
are DC and vertical mode, where T2 is a positive value. The threshold T2 is set equal to 32. Finally,
select the best mode between each candidate mode by choosing the mode
with minimum SATD.

3. Fast algorithm for Inter Mode Selection [9]
,
[20]
:

FAT for mode decision exploits statistical similarity between current macro block and predicted
macro
block
. Predicted mode is obtained from the spatial and temporal
macro block
s.

For accuracy, the rate distortion cost is checked against
adaptive Threshold I and a
daptive Threshold II

Adaptive Threshold I: RD
thres

= RD
pred

x (1
-
8xβ)

Adaptive Threshold II: RD
thres

= RD
pred

x (1+10xβ)

Such that


……….

(4)


W
here, β is the
modulator
, N is the rows of the image and M is

number of columns of N

X
M MB.

If the
predicted mode is less than P

8

x
8, it is checked if the current
macro block

is homogeneous or not.
Further partitioning is done into 8x4, 4x8 and 4x4 blocks, if the curr
ent
macro block

is not homogenous.


A mode histogram from spatial and temporal neighboring
macro block
s is obtained; then the best mode as
the index corresponding to the maximum value in the mode histogram is selected.

The average rate
-
distortion cost of each neighboring
macro block

corresponding to the best mode is then selected as the
prediction cost for the current
macro block

[9]
,
[20]
.


FAT
Algorithm [
9]
[20]
:
The algorithm is given i
n figure 13 and
is
explained
below:



Step 1
:

If current macro block belongs to I slice, check for intra prediction using I4x4 or I16x16, go to
step 10 else go to step 2.



Step 2
: If a current macro block belongs to the first macro block in P slice check inter and intra
prediction modes, go to step 10 else go to step 2.



Step 3
: Compute mode histogram from neighboring spatial and temporal macro blocks, go to step 4.



Step 4
: Select prediction mode as the index corresponding to maximum in the mode
histogram and
obtain values of adaptive Threshold I and a
daptive Threshold II, go to step 5.



Step 5
: Always check over P16x16 mode and check the conditions in the skip mode, if the conditions
of skip mode are satisfied go to s
tep 10, otherwise go to step 6.



Step 6
: If all left, up , up
-
left and up
-
right have

skip modes, then check the skip mode against, th
en
check the skip mode against a
daptive Threshold I if th
e rate distortion is less than a
daptive
Threshold I , the current macro block is labeled as skip mode and go to step 10, otherwise, go to
step 7.



Step

7
: First round check over the predicted mode; if the predicted mode is P8x8, go to step 8;
otherwise, check the rate distortion cost of the predicted mode against Adaptive Threshold I. If the
RD cost is less than Adaptive Threshold I, go to step 10; other
wise go to step 9.



Step 8
: If a current P

8x8 is homogeneous, no further partition is required. Otherwise, further
partitioning into smaller blocks 8x4, 4x8, 4x4 is performed. If the RD of P

8x8 is less than Adaptive
Threshold I, go to step 10; otherwise
go to step 9.



Step 9
: Second round check over the remaining modes against Adaptive Threshold II : If the rate
distortion is less than Adaptive Threshold II; go to step 10; otherwise continue check all the
remaining modes, go to step 10.



Step 10
: Save the best mode and rate distor
tion cost.


Fig 13: Flow chart for
i
nter prediction [9]

[20]

CONCLUSION:

As proposed by implementing parallel programming in

b
aseline profile

along
with FATalgorithm
in
intra
and inter
prediction modes
on

numerous

test subjects
,

and by
obtaining various quality measurements
like PS
NR and SSIM
,

the optimized baseline profile will be obtained.

T
he

performance of the optimi
z
ed

H.264
baseline p
rofile
is compared with the H.264 baseline
profile
using the
quality measurements, and thus the
faster computation speed, video quality and bit rate
s

can be calculated

based on various test sequences.

REFERENCES:

[1
]

H. Kalva, “Parallel programming for multimedia

applications”, Springer Science and Business
Media, Florida Atlantic University, Florida, USA, Dec
.

2010.

[2]

J. Kim, D. Kim, and J. Jeong, “Complexity reduction algorithm for intra mode selection in
H.264/AVC video coding” J. Blanc
-
Talon et al. (Eds.):

ACIVS 2006, LNCS 4179, pp. 454


465,
Springer
-
Verlag Berlin Heidelberg, 2006.

[3]

J. Ren, et al, “Computationally efficient mode selection in H.264/AVC video coding”, IEEE
Trans. on Consumer Electronics, vol.

54, pp.

877


886, May
2008.

[4]

I. Richardso
n, “The H.264 advanced video compression standar
d”

second edition, Wiley,
2010.

[5]

I. E. G.
Richardson
,

“H.264 and MPEG
-
4 video compression: video coding for next generation
m
ultimedia”, Wiley 2
nd

edition, Aug.

2010.

[6]

D. Marpe, T. Wiegand and G. J. Sullivan, “The H.264/MPEG
-
4 AVC standard and its
applications”, IEEE Communications Maga
zine,
vol. 44, pp. 134
-
143, Aug.

2006.

[7]


T. Saxena
,


Reduc
ing the encoding time of H.264 b
aseline profile using parallel programming
techniques
”,
M.S
., Thesis EE, UTA, expected Dec.

2012.

[8]


S.K Muniyappa
,


Imple
mentation of c
omplexity

algorithm for intra
mode selection in H.264/AVC
video c
oding”,

M.S., Thesis EE, UTA
,
Dec.

2011.

[9
]
A. Kulkarni
,

Implementation of fast inter
-
prediction mode decision algor
ithm in H.264/AVC
video encoder”,


M.S., Thesis EE, UTA
,

May

2012.

[10]

JM reference software, Fraunhofer Institute for Telecommunications Heinrich Hertz Institute.
http://iphome.hhi.de/suehring/tml/
.

[
11]


G. Sullivan, P.
Topiwala, and A. Luthra, “T
he H.264/AVC advanced video

coding standard:
overview and introduction to the fidelity range extensions
”,
SPIE Conference on Applications of Digital
Image Processing XXV
II, vol. 5558, pp. 53
-
74, 2004
.

[12]

F. Pan et al, “Fast intra mode decision algorithm for H.264/AVC video
coding”, in Proc.IEEE Int.
Conf. Image Process
., pp. 781

784, Singapore, Oct.

2004.

[13]

I. E.G. Richardson, “H.264 and MPEG
-
4 video compression: video coding for next
-
generation
multimedia”, Wiley, 2003.

[14]

ISO/IEC 11172
-
5. Information technology
-

Coding of moving pictures and associ
ated audio for
digital storage media a
t up to about 1.5

Mbps. Nov.

1998.

[15]

M. Jafari a
nd S. Kasaei, “Fast intra
-

and inter
-
prediction mode decision in H.264 advanced video
c
oding”, International Journal of Computer Science and Network Security
, VOL.8
No.5, pp. 1
-
6, May

2008.

[
16
]

T. Stockhammer, D. Kontopodis, and T. Wiegand, “Rate
-
distortion optimization for H.26L video
coding in packet loss environment,”

in Proc. Packet Vid
eo Works
hop 2002, Pittsburgh, PA, April

2002.


[17]

Draft ITU
-
T Recommendatio
n and final draft international standard of joint video specification
(ITU
-
T Rec. H.2
64/ISO/IEC 14 496
-
10 AVC), Mar.

2003.


[18]

YUV test video sequences :
http://trace.eas.asu.edu/yuv/
.


[19]

T.Wiegand, et
al, “Overview of the H.264/AVC Video Coding Standard.” IEEE Trans.
Circuits and Syst. for Video Technol., Vol. 13, pp. 560
-
576, July

2003.

[20]

D. Han, A. Kulkarni and K.R. Rao, “Fast inter
-
prediction mode decision algorithm for H.264
video encoder”,
ECTICON 2012, Cha Am, Thailand, May

2012.