fast mode decision algorithm for intra prediction in hevc final report

FAST MODE DECISION ALGORITHM FOR INTRA
PREDICTION IN HEVC
FINAL REPORT
LANKA NAGA VENKATA SAI SURYA TEJA
STUDENT ID: 1000916473
MAIL ID [email protected]
DATE : 05/03/2014
UNDER THE GUIDANCE OF
DR. K. R. RAO
EE 5359 MULTIMEDIA PROCESSING
UNIVERSITY OF TEXAS AT ARLINGTON
LIST OF ACRONYMS AND ABBREVIATIONS:
AMVP - Advanced motion vector prediction
BD- Bitrate - Bjøntegaard Delta Bitrate
BD- PSNR
-
Bjøntegaard Delta Peak Signal-to-Noise Ratio
CABAC- Context adaptive binary arithmetic coding
CU
- Coding Unit
DCT - Discrete Cosine Transform
DST
- Discrete Sine Transform
HEVC - High Efficiency Video Coding
JCT- VC- Joint Collaborative Team on Video Coding
LCU - Largest Coding Unit
MPM - Most Probable Mode
PSNR - Peak Signal-to-Noise Ratio
PU
- Prediction Unit
QP
- Quantization Parameter
RDOQ - Rate Distortion Optimization Quantization
RDO - Rate- Distortion Optimization
RMD - Rough Mode Decision
SAO - Sample adaptive offset
SSIM
- Structural Similarity Index
TU
- Transform Unit
PROPOSAL: To improve the coding efficiency of intra frame coding, up to 34 intra prediction
modes are defined in High Efficiency Video Coding (HEVC) [1]. The best mode among these
pre-defined intra prediction modes is selected by rate-distortion optimization (RDO) for each
block. This project describes a new method to reduce the candidates in RDO process, as it will
be time-consuming if all directions are tested in the RDO process. Also in this project, it
provides 20% and 28% time savings in intra high efficiency and low complexity cases on
average compared to the default encoding scheme in HM 13.0 [5] with almost the same coding
efficiency. Also based on PSNR, BD- PSNR and BD- Bitrate analysis of fast mode decision
algorithm for intra prediction [7] in HEVC can be done by comparing with the default encoding
scheme in HM 13.0 [5].
Index Terms: video coding, HEVC, intra prediction
INTRODUCTION: HEVC standard [2] provides a highly flexible hierarchy of unit
representation which consists of three block concepts: coding unit (CU), prediction unit (PU),
and transform unit (TU). This separation of the block structure is helpful for each unit of
optimization. CU is a macroblock-like unit of region splitting which is always square and its size
can be from 8x8 luma samples up to the largest coding units (LCUs). This concept allows
recursive splitting into four equal sized blocks, starting from LCU. This process gives a contentadaptive coding tree structure comprised of CU blocks. Figure 4 shows coding tree structure [3].
The PU is used only for the CU which is the leaf node in the quadtree structure and the size of
two PUs are 2Nx2N and NxN. The third block concept transform unit size cannot exceed that of
the CU. Figure 1 shows the block diagram of H.264 encoder [20].
Figure 1: Block Diagram of H.264 Encoder [20]
Figure 2- Block diagram of HEVC encoder [15]
Figure 2 shows block diagram of HEVC encoder [15] in which each picture is partitioned into
blocks of different sizes and the same is conveyed to the decoder. Figure 3 shows block diagram
of HEVC decoder [15].
Figure 3- Block diagram of HEVC decoder [15]
In the following, the various features involved in hybrid video coding using HEVC are
highlighted.
1) Coding tree units and coding tree block (CTB) structure: The core of the coding layer in
previous standards was the macroblock, containing a 16×16 block of luma samples and, in the
usual case of 4:2:0 color sampling, two corresponding 8×8 blocks of chroma samples; whereas
the analogous structure in HEVC is the coding tree unit (CTU), which has a size selected by the
encoder and can be larger than a traditional macroblock. The CTU consists of a luma CTB and
the corresponding chroma CTBs and syntax elements. The size L×L of a luma CTB can be
chosen as L = 16, 32, or 64 samples, with the larger sizes typically enabling better compression.
HEVC then supports a partitioning of the CTBs into smaller blocks using a tree structure and
quadtree-like signaling [26]. Figure 4 shows the coding tree structure and its components.
(c)
(d)
Figure 4- Coding tree structure [3]
2) Coding units (CUs) and coding blocks (CBs): The quadtree syntax of the CTU specifies the
size and positions of its luma and chroma CBs. The root of the quadtree is associated with the
CTU. Hence, the size of the luma CTB is the largest supported size for a luma CB. The splitting
of a CTU into luma and chroma CBs is signaled jointly. One luma CB and ordinarily two chroma
CBs, together with associated syntax, form a coding unit (CU). A CTB may contain only one CU
or may be split to form multiple CUs, and each CU has an associated partitioning into prediction
units (PUs) and a tree of transform units (TUs).
3) Prediction units and prediction blocks (PBs): The decision whether to code a picture area
using interpicture or intrapicture prediction is made at the CU level. A PU partitioning structure
has its root at the CU level. Depending on the basic prediction-type decision, the luma and
chroma CBs can then be further split in size and predicted from luma and chroma prediction
blocks (PBs). HEVC supports variable PB sizes from 64×64 down to 4×4 samples.
4) TUs and transform blocks: The prediction residual is coded using block transforms. A TU
tree structure has its root at the CU level. The luma CB residual may be identical to the luma
transform block (TB) or may be further split into smaller luma TBs. The same applies to the
Chroma TBs. Integer basis functions similar to those of a discrete cosine transform (DCT) are
defined for the square TB sizes 4×4, 8×8, 16×16, and 32×32. For the 4×4 transform of luma
intrapicture prediction residuals, an integer transform derived from a form of discrete sine
transform (DST) is alternatively specified.
5) Motion vector signaling: Advanced motion vector prediction (AMVP) is used, including
derivation of several most probable candidates based on data from adjacent PBs and the
reference picture. A merge mode for MV coding can also be used, allowing the inheritance of
MVs from temporally or spatially neighboring PBs. Moreover, compared to H.264/MPEG-4
AVC, improved skipped and direct motion inference is also specified.
6) Motion compensation: Quarter-sample precision is used for the MVs, and 7-tap or 8-tap
filters are used for interpolation of fractional-sample positions (compared to six-tap filtering of
half-sample positions followed by linear interpolation for quarter-sample positions in
H.264/MPEG-4 AVC). Similar to H.264/MPEG-4 AVC, multiple reference pictures are used.
For each PB, either one or two motion vectors can be transmitted, resulting either in
unipredictive or bipredictive coding, respectively. As in H.264/MPEG-4 AVC, a scaling and
offset operation may be applied to the prediction signal(s) in a manner known as weighted
prediction.
7) Intrapicture prediction: The decoded boundary samples of adjacent blocks are used as
reference data for spatial prediction in regions where interpicture prediction is not performed.
Intrapicture prediction supports 33 directional modes (compared to eight such modes in
H.264/MPEG-4 AVC), plus planar (surface fitting) and DC (flat) prediction modes. The selected
intrapicture prediction modes are encoded by deriving most probable modes (e.g., prediction
directions) based on those of previously decoded neighboring PBs.
8) Quantization control: As in H.264/MPEG-4 AVC, uniform reconstruction quantization
(URQ) is used in HEVC, with quantization scaling matrices supported for the various transform
block sizes.
9) Entropy coding: Context adaptive binary arithmetic coding (CABAC) is used for entropy
coding. This is similar to the CABAC scheme in H.264/MPEG-4 AVC, but has undergone
several improvements to improve its throughput speed (especially for parallel-processing
architectures) and its compression performance, and to reduce its context memory requirements.
10) In-loop deblocking filtering: A deblocking filter similar to the one used in H.264/MPEG-4
AVC is operated within the interpicture prediction loop. However, the design is simplified in
regard to its decision-making and filtering processes, and is made more friendly to parallel
processing.
11) Sample adaptive offset (SAO): A nonlinear amplitude mapping is introduced within the
interpicture prediction loop after the deblocking filter. Its goal is to better reconstruct the original
signal amplitudes by using a look-up table that is described by a few additional parameters that
can be determined by histogram analysis at the encoder side.
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. Since encoder needs to exhaust all the combinations of CU, PU and TU to find
the optimal solutions, it is very time-consuming. The encoder will not tolerate it if all the
directions are employed in the rate-distortion optimization process. To reduce the computational
complexity of the encoder, a fast intra mode decision [7] was adopted in HM 13.0 [5].
OVERVIEW OF INTRA PREDICTION IN HEVC: In H.264, intra prediction [6][7][8][9] is
based on spatial extrapolation of samples from previously decoded image blocks, followed by
integer discrete cosine transform (DCT) [10] based coding. HEVC utilizes the same principle,
but further extends it to efficiently represent wider range of textural and structural information in
images. HEVC contains several elements improving the efficiency of intra prediction over earlier
solutions. The introduced methods can model accurately different structures as well as smooth
regions with gradually changing sample values. Figure 5 shows the intra prediction modes of
HEVC [7] and figure 6 shows the intra prediction modes of H.264 [21].
Figure 5- HEVC intra prediction modes [7]
Figure 6: H.264 intra prediction modes [21]
Prediction size
64x64
32x32
16x16
8x8
4x4
Total Modes
Total Intra Angular modes
HEVC/H.265(64x64)
H.264/AVC(16x16)
5
34
34
34
17
64x(5+34+34+34+17)=7936
NA
NA
4
9
9
16x(16x9+4x9+4)=2944
Table 1: Comparing HEVC Intra luma prediction modes for 64x64 LCU with H.264/AVC Intra
modes for a 64x64 image region [11]
METHOD FOR FAST MODE DECISON ALGORITHM FOR INTRA PREDICTION:
The fast intra prediction consists of three steps.
1 - Hadamard Transformed Coefficients Of Residual Signal [13]
2 - Progressive Mode Search [13]
3 - Early RDOQ Termination [13]
By combining these three steps, fast mode decision algorithm can be performed. The unified
intra in HM13.0 first determines the first N best candidate modes selected by a rough mode
decision (RMD) process where all modes are tested by minimum absolute sum of Hadamard
transformed coefficients of residual signal and the mode bits in the rough mode decision. Instead
of the total intra prediction modes decision, the RD optimization is only applied to the N best
candidate modes selected by the rough mode decision where all modes are compared in this
decision. However, computation load of the encoder is still very high. On the other side, the intra
prediction modes are always correlated among the neighbors which are not considered in HM
13.0. Therefore, there is still some room for further reducing the encoder complexity.
To further relieve the computation load of the encoder, it is important to reduce the candidates
for RDO process and make full use of the information of its neighboring blocks. In this project,
check for less number of best RMD modes for RDO, and the most probable mode (MPM) is
always included in the candidates for RDO.
TEST SEQUENCES USED:
[1] BQSquare_416x240_60 [16]
[2] BQMall_ 832x480_60 [16]
[3] KristenAndSara_1280x720_60 [16]
EXPERIMENTAL RESULTS:
BQMall_832x480_60:
Tables 2 and 3 demonstrate the implementation results test sequence BQMall_832x480_60 with
number of frames 30.
Analysis of results for unmodified HM 13.0 method with number of frames 30:
QP
BITRATE
PSNR
ENCODING TIME
(kbps)
(avg)
(sec)
dB
24
23836.5280
41.1352
519.561
28
16075.4080
38.6716
515.1675
32
10704.5280
36.2715
426.831
34
8506.4960
34.9803
407.187
Table 2 : Implementation results for unmodified HM 13.0 method with number of frames 30 for
BQMALL__832x480_60
Analysis of results for fast mode decision algorithm[13] with number of frames 30 :
QP
BITRATE
PSNR
ENCODING TIME
(kbps)
(avg)
(sec)
dB
24
24074.8932
40.9944
396.944
28
16236.1620
38.5300
383.799
32
10811.5732
36.1225
312.44
34
8591.5609
34.8425
297.246
Table 3: Implementation results for fast mode decision algorithm[13] with number of frames 30
for BQMALL__832x480_60
Tables 4 and 5 demonstrate the implementation results test sequence BQMall_832x480_60 with
number of frames 10.
Analysis of results for unmodified HM 13.0 method with number of frames 10 :
QP
BITRATE
PSNR
ENCODING TIME
(kbps)
(avg)
(sec)
dB
24
23754.8160
41.137
176.624
28
16010.5920
38.6744
161.116
32
10612.8000
36.2830
151.866
34
8447.7600
34.9856
134.619
Table 4: Implementation results for unmodified HM 13.0 method with number of frames 10 for
BQMALL__832x480_60
Analysis of results for fast mode decision algorithm[13] with number of frames 10
QP
BITRATE
PSNR
ENCODING TIME
(kbps)
(avg)
(sec)
dB
24
24046.1849
40.9975
134.234
28
16227.4525
38.5344
120.837
32
10718.928
36.1320
112.380
34
8532.2376
34.8473
98.271
Table 5: Implementation results for fast mode decision algorithm[13] with number of frames 10
for BQMALL__832x480_60
KristenAndSara_1280x720_60:
Tables
6
and
7
demonstrate
the
implementation
KristenAndSara_1280x720_60 with number of frames 30.
results
test
sequence
Analysis of results for unmodified HM 13.0 method with number of frames 30:
QP
BITRATE
PSNR
ENCODING TIME
(kbps)
(avg)
(sec)
dB
24
17937.0720
44.5023
910.946
28
11845.0240
42.6064
885.948
32
7935.3600
40.6329
1090.753
34
6466.5440
39.5419
1148.507
Table 6 : Implementation results for unmodified HM 13.0 method with number of frames 30 for
KristenAndSara_1280x720_60
Analysis of results for fast mode decision algorithm[13] with number of frames 30 :
QP
BITRATE
PSNR
ENCODING TIME
(kbps)
(avg)
(sec)
dB
24
17996.8211
44.4241
696.873
28
11992.2640
42.5682
668.890
32
7989.0680
40.5349
812.610
34
6496.2360
39.4498
844.152
Table 7: Implementation results for fast mode decision algorithm[13] with number of frames 30
for KristenAndSara_1280x720_60
Tables
8
and
9
demonstrate
the
implementation
KristenAndSara_1280x720_60 with number of frames 10.
results
test
sequence
Analysis of results for unmodified HM 13.0 method with number of frames 10:
QP
BITRATE
PSNR
ENCODING TIME
(kbps)
(avg)
(sec)
dB
24
17865.5520
44.5196
301.597
28
11800.8960
42.6232
272.229
32
7907.9040
40.6527
277.846
34
6449.6160
39.5625
262.815
Table 8 : Implementation results for unmodified HM 13.0 method with number of frames 10 for
KristenAndSara_1280x720_60
Analysis of results for fast mode decision algorithm[13] with number of frames 10 :
QP
BITRATE
PSNR
ENCODING TIME
(kbps)
(avg)
(sec)
dB
24
17976.8240
41.1352
232.229
28
11939.9056
38.6716
204.993
32
7984.6425
36.2715
202.827
34
6498.8848
34.9803
190.540
Table 9: Implementation results for fast mode decision algorithm[13] with number of frames 10
for KristenAndSara_1280x720_60
BQSquare__416x240_60:
Tables 10 and 11 demonstrate the implementation results test sequence BQSquare__416x240_60
with number of frames 30.
Analysis of results for unmodified HM 13.0 method with number of frames 30:
QP
BITRATE
PSNR
ENCODING TIME
(kbps)
(avg)
(sec)
dB
24
10971.0880
40.5244
152.385
28
7672.0320
37.3928
133.030
32
5376.3360
34.8391
123.324
34
4475.0880
33.5497
115.036
Table 10 : Implementation results for unmodified HM 13.0 method with number of frames 30 for
BQSquare__416x240_60
Analysis of results for fast mode decision algorithm[13] with number of frames 30 :
QP
BITRATE
PSNR
ENCODING TIME
(kbps)
(avg)
(sec)
dB
24
11387.5214
40.3846
115.8126
28
7891.2577
37.3270
99.7725
32
5461.5360
34.6825
91.259
34
4529.6200
33.4047
82.825
Table 11: Implementation results for fast mode decision algorithm[13] with number of frames 30
for BQSquare__416x240_60
Tables 12 and 13 demonstrate the implementation results test sequence BQSquare__416x240_60
with number of frames 10.
Analysis of results for unmodified HM 13.0 method with number of frames 10:
QP
BITRATE
PSNR
ENCODING TIME
(kbps)
(avg)
(sec)
dB
24
10885.8720
40.5471
59.774
28
7597.5840
37.4125
44.527
32
5324.4000
34.8710
40.159
34
4432.9920
33.5965
38.316
Table 12 : Implementation results for unmodified HM 13.0 method with number of frames 10 for
BQSquare__416x240_60
Analysis of results for fast mode decision algorithm[13] with number of frames 10 :
QP
BITRATE
PSNR
ENCODING TIME
(kbps)
(avg)
(sec)
dB
24
11305.3246
40.3870
45.428
28
7814.7329
37.2947
33.395
32
5379.6111
34.7557
29.717
34
4488.8632
33.4589
27.587
Table 13: Implementation results for fast mode decision algorithm[13] with number of frames 10
for BQSquare__416x240_60
Encoding Time Vs QP Graphs: Unmodified method is HM 13.0 with no changes and modified
method is fast mode decision algorithm[13].
BQMall_832x480_60: Figures 7 and 8 illustrate the Encoding time and QP plot for test sequence
BQMall_832x480_60 for number of frames 10 and 30 respectively.
For number of frames 10
200.00
180.00
T
i
m
e
(
s
e
c
)
E
n
c
o
d
i
n
g
160.00
140.00
120.00
Encoding Tme(sec) for
unmodifed method
100.00
80.00
Encoding Time (sec) for modified
method
60.00
40.00
20.00
0.00
24
28
32
34
QP
Figure 7: RD plot for BQMall_832x480_60 with number of frames 10
For number of frames 30
600
500
t
i
400
m
e 300
Encoding Tme(sec) for unmodifed
method
(
s
e 200
c
100
Encoding Time (sec) for modified
method
)
E
n
c
o
d
i
n
g
0
24
28
32
34
QP
Figure 8: RD plot for BQMall_832x480_60 with number of frames 30
KristenAndSara_1280x720_60: Figures 9 and 10 illustrate the Encoding time and QP plot for
test sequence KristenAndSara_1280x720_60 for number of frames 10 and 30 respectively.
For number of frames 10
350
t 300
i
m 250
e 200
s
150
e
c 100
(
Encoding Time for
unmodified method
Encoding Time for
modified method
)
E
n
c
o
d
i
n
g
50
0
24
28
32
34
QP
Figure 9: RD plot for KristenAndSara_1280x720_60 with number of frames 10
For number of frames 30
1400
1200
T
i 1000
m 800
e
s 600
Encoding Time for
unmodified method
(
e
c
400
)
E
n
c
o
d
i
n
g
200
Encoding Time for
modified method
0
24
28
32
34
QP
Figure 10: RD plot for KristenAndSara_1280x720_60 with number of frames 30
BQSquare_416x240_60: Figures 11 and 12 illustrate the Encoding time and QP plot for test
sequence BQSquare_416x240_60 for number of frames 10 and 30 respectively.
For number of frames 10
70
60
t
i 50
m 40
e
s 30
Encoding time for
unmodified method
(
Encoding time for
modified method
e 20
c
10
)
E
n
c
o
d
i
n
g
0
24
28
32
34
QP
Figure 11: RD plot for BQSquare_416x240_60 with number of frames 10
For number of frames 30
180
160
t 140
i 120
m
100
e
80
s
e 60
c 40
Encoding time for
unmodified method
(
Encoding time for
modified method
)
E
n
c
o
d
i
n
g
20
0
24
28
32
34
QP
Figure 12: RD plot for BQSquare_416x240_60 with number of frames 30
Graph Between PSNR (avg) vs Bitrate: Unmodified method is HM 13.0 with no changes and
modified method is HM 13.0 with fast mode decision algorithm.
BQMall_832x480_60: Figures 13 and 14 illustrate the Bitrate-PSNR plot for test sequence
BQMall_832x480_60 for number of frames 10 and 30 respectively.
For Number of Frames 10
Chart Title
(
42
P 41
S
40
N
39
R
38
a
37
v
g 36
35
d
B 34
For unmodified method
For modified method
)
0
5000
10000
15000
20000
25000
30000
Bitrate(kbps)
Figure 13: RD plot for BQMall_832x480_60 with number of frames 10
For Number of Frames 30
Chart Title
42
P 41
S 40
N
39
R
38
For unmodified method
(
For modified method
)
37
a
v 36
g 35
34
0
5000
10000 15000 20000
Bitrate (kbps)
25000
30000
Figure 14: RD plot for BQMall_832x480_60 with number of frames 30
KristenAndSara_1280x720_60: Figures 15 and 16 illustrate the Bitrate-PSNR plot for test
sequence KristenAndSara_1280x720_60 for number of frames 10 and 30 respectively.
For number of frames 10
Chart Title
45
P
44
S
N 43
R
42
a
41
v
g 40
(
PSNR(avg) for unmodified
method
PSNR(avg) for unmodified
method
)
d 39
B
0
5000
10000
15000
20000
Bitrate (kbps)
Figure 15: RD plot for KristenAndSara_1280x720_60 with number of frames 10
For number of frames 30
Chart Title
PSNR(avg) for unmodified
method
(
45
P
S 44
N 43
R
42
a
v 41
g
40
d
B 39
)
PSNR(avg) for modified
method
0
5000
10000
15000
20000
BItrate(kbps)
Figure 16: RD plot for KristenAndSara_1280x720_60 with number of frames 30
BQSquare_416x240_60: Figures 17 and 18 illustrate the Bitrate-PSNR plot for test sequence for
BQSquare_416x240_60 number of frames 10 and 30 respectively.
For number of frames 10
42
P
40
S
N 38
R
(
PSNR(avg) for unmodified
method
a 36
v
g 34
)
PSNR(avg) for modified
method
d
32
B
30
0
2000
4000
6000
8000
10000
12000
Bitrate(kbps)
Figure 17: RD plot for BQSquare_416x240_60 with number of frames 10
For number of frames 30
Chart Title
42
P
S 40
N 38
R
a 36
(
PSNR(avg) for unmodified
method
v 34
g
32
d
B 30
)
PSNR(avg) for modified
method
0
2000
4000
6000
8000
10000
12000
Bitrate(kbps)
Figure 18: RD plot for BQSquare_416x240_60 with number of frames 30
BD-PSNR and BD-BITRATE:
BQMall_832x480_60: Figures 19 and 20 illustrate the BD-PSNR and QP plot for test sequence
BQMall_832x480_60 for number of frames 10 and 30 respectively.
BD-PSNR
0
24
28
32
34
B -0.05
D
-0.1
P -0.15
S
N -0.2
R
-0.25
d
B -0.3
BD-PSNR
(
)
-0.35
QP
Figure 19: RD plot for BQMall_832x480_60 with number of frames 10
BD-PSNR
-0.24
24
28
32
B -0.245
D
-0.25
P -0.255
S
N -0.26
R
-0.265
d
B -0.27
BD-PSNR
(
)
-0.275
34
QP
Figure 20: RD plot for BQMall_832x480_60 with number of frames 30
KristenAndSara_1280x720_60: Figures 21 and 22 illustrate the BD-PSNR and QP plot for test
sequence KristenAndSara_1280x720_60 for number of frames 10 and 30 respectively.
BD-PSNR
0
B
D -0.1
P -0.2
S
N -0.3
R
24
28
32
34
BD-PSNR
(
)
d -0.4
B
-0.5
QP
Figure 21: RD plot for KristenAndSara_1280x720_60 with number of frames 10
BD-PSNR
0
24
28
32
34
B -0.05
D
P -0.1
S
N
-0.15
R
BD-PSNR
(
d
B
)
-0.2
-0.25
QP
Figure 22: RD plot for KristenAndSara_1280x720_60 with number of frames 30
BQSquare_416x240_60: Figures 23 and 24 illustrate the BD-PSNR and QP plot for test
sequence BQSquare_416x240_60 for number of frames 10 and 30 respectively.
BD-PSNR
0
B
D
P
S
S
N
R
24
28
32
34
-0.1
-0.2
-0.3
BD-PSNR
-0.4
(
-0.5
d
-0.6
B
)
-0.7
QP
Figure 23: RD plot for BQSquare_416x240_60 with number of frames 10
BD-PSNR
0
24
28
32
-0.1
B
D -0.2
P -0.3
S
N -0.4
R
BD-PSNR
(
)
d -0.5
B
-0.6
-0.7
34
QP
Figure 24: RD plot for BQSquare_416x240_60 with number of frames 30
BQMall_832x480_60: Figures 25 and 26 illustrate the BD-BITRATE and QP plot for test
sequence BQMall_832x480_60 for number of frames 10 and 30 respectively.
BD-BITRATE
(
B
i
t
r
a
B
D t
- e
k
b
p
s
)
13.6
13.4
13.2
13
12.8
12.6
12.4
12.2
12
11.8
11.6
11.4
BD-BITRATE
24
28
32
34
QP
Figure 25: RD plot for BQMall_832x480_60 with number of frames 10
BD-BITRATE
13.4
13.2
)
11.4
(
B
i
t
r
a
B
D t
- e
k
b
p
s
13
12.8
12.6
12.4
12.2
BD-BITRATE
12
11.8
11.6
24
28
32
QP
Figure 26: RD plot for BQMall_832x480_60 with number of frames 30
34
KristenAndSara_1280x720_60: Figures 27 and 28 illustrate the BD-BITRATE and QP plot for
test sequence KristenAndSara_1280x720_60 for number of frames 10 and 30 respectively.
BD-BITRATE
BD-BITRATE
(
25
B
i 20
t
r
15
a
B
D t 10
- e
k 5
b
p
0
s
)
24
28
32
34
QP
Figure 27: RD plot for KristenAndSara_1280x720_60 with number of frames 10
BD-BITARTE
8
(
B
i
t
r
B a
D t
- e
k
b
p
s
7
6
5
4
BD-BITARTE
3
2
1
)
0
24
28
32
34
QP
Figure 28: RD plot for KristenAndSara_1280x720_60 with number of frames 30
BQSquare_416x240_60: Figures 29 and 30 illustrate the BD-BITRATE and QP plot for test
sequence BQSquare_416x240_60 for number of frames 10 and 30 respectively.
BD-BITRATE
18
(
B
i
t
r
a
B
D t
- e
k
b
p
s
16
14
12
10
8
BD-BITRATE
6
4
2
)
0
24
28
32
34
QP
Figure 29: RD plot for BQSquare_416x240_60 with number of frames 10
BD-BITRATE
16
B
14
i
t 12
r
10
B a
D t 8
- e
6
k
b 4
(
BD-BITRATE
p
s
2
)
0
24
28
32
34
QP
Figure 30: RD plot for BQSquare_416x240_60 with number of frames 30
CONCLUSIONs:
For the fast mode decision algorithm[13] compared to unmodified HM 13.0,
•
0.1-0.6 dB loss in the PSNR
•
11-15 kbps increase in the bit-rate
•
20-28 % reduction in encoding time
WQVGA – SD sequences of 10 frames and 30 frames each were tested for QPs 24, 28, 32,34.
Also visual quality of the images was maintained.
REFERENCES:
[1] G.J. Sullivan et al, Overview of the high efficiency video coding (HEVC) standard, IEEE
Trans. circuits and systems for video technology, vol. 22, no.12, pp. 1649 – 1668, Dec. 2012.
[2] JCT-VC, “WD1: Working Draft 1 of High-Efficiency Video Coding”, JCTVC-C403, JCTVC Meeting, Guangzhou, October 2010.
[3] Coding tree structure - https://www.google.com/search?q=coding+tree+structure+in+hevc
[4] Y. Piao et al, “Encoder improvement of unified intra prediction,” JCTVC-C207, Guangzhou,
October 2010.
[5] Software for HEVC : https://hevc.hhi.fraunhofer.de/svn/svn_HEVCSoftware .
[6] T.L. Silva et al, ”HEVC intra coding acceleration based on tree inter-level mode correlation”,
SPA 2013, Poznan, Poland, Sep. 2013.
[7] H. Zhang and Z. Ma, ”Fast intra prediction for high efficiency video coding ”, Pacific Rim
Conf. on Multimedia, PCM 2012, Singapore, Dec. 2012.
[8] M. Zhang et al, ”An adaptive fast intra mode decision in HEVC ”, IEEE ICIP 2012, pp.221224, Orlando, FL, Sept.- Oct. 2012.
[9] Y. Kim et al, “A fast intra-prediction method in HEVC using rate-distortion estimation based
on Hadamard transform”, ETRI Journal, vol.35, #2, pp.270-280, Apr. 2013.
[10] A. Saxena and F. Fernanades, “Mode dependent DCT/DST for intra prediction in block
based image/video coding”, IEEE ICIP, pp. 1685-1688, Sept. 2011.
[11] M. Khan et al, “An adaptive complexity reduction scheme with fast prediction unit decision
for HEVC Intra encoding”, IEEE ICIP, pp. 1578-1582, Sept. 2013.
[12] P. Mehta, “Complexity reduction for intra mode selection in HEVC using OpenMP”, course
website: http://www-ee.uta.edu/Dip/Courses/EE5359/ Section: previous projects, Sub section:
Projects (Spring 2014).
[13] S. Vasudevan, “Fast intra prediction and fast residual quadtree encoding implementation in
HEVC”, course website: http://www-ee.uta.edu/Dip/Courses/EE5359/ Section: previous projects,
Sub section: Projects (Spring 2014).
[14] K.R.Rao , D. N. Kim and J.J. Hwang ,” Video coding standards: AVS China, H.264/MPEG4 Part10, HEVC, VP6, DIRAC and VC-1"´, Springer, 2014.
[15] G.Sullivan et al, “Standardized Extensions of the High Efficiency Video Coding (HEVC)
Standard”, IEEE Journal of Selected Topics in Signal Processing, vol.7, No. 6, pp. 1001-1016,
Dec 2013.
[16] Test Sequences: ftp://ftp.kw.bbc.co.uk/hevc/hm-11.0-anchors/testsequences/
[17] F. Bossen et al, "HM Software Manual", JCT-VC of ITU-T SG16 WP3 and ISO/IEC
JTC1/SC29/WG11, AHG chairs, January 2014.
[18] B. Bross et al, “High Efficiency Video Coding (HEVC) Text Specification Draft 10”,
Document JCTVC- L1003, ITU-T/ISO/IEC Joint Collaborative Team on Video Coding (JCTVC), Mar. 2013 available on
http://phenix.it-sudparis.eu/jct/doc_end_user/current_document.php?id=7243
[19] JVT Draft ITU-T recommendation and final draft international standard of joint video
specification (ITU-T Rec. H.264-ISO/IEC 14496-10 AVC), March 2003, JVT-G050 available on
http://ip.hhi.de/imagecom_G1/assets/pdfs/JVT-G050.pdf
[20] I.E.G. Richardson, “The H.264 advanced video compression standard”, 2nd Edition,
Hoboken, NJ, Wiley, 2010.
[21] Intra Prediction Modes of H.264 https://www.google.com/search?q=intra+prediction+modes+h.264
[22] Special issue on emerging research and standards in next generation video coding, IEEE
Transactions on Circuits and Systems for Video Technology (CSVT), vol.22, pp. 1646-1909,
Dec. 2012.
[23] Special issue on emerging research and standards in next generation video coding, IEEE
Transactions on Circuits and Systems for Video Technology (CSVT), vol.23, pp. 2009-2142,
Dec. 2013.
[24] Introduction to the issue on video coding HEVC and beyond.
[25] IEEE Journal of Selected Topics in Signal Processing, Vol. 7, pp. 931 -1151, Dec. 2013.
[26] H. Samet, “The quadtree and related hierarchical data structures,” Comput. Survey, vol. 16,
no. 2, pp. 187–260, Jun. 1984.
[27] H. Zhang and Z. Ma, "Fast intra node decision for high efficiency video coding (HEVC)",
IEEE Trans. on CSVT, vol. 24, pp.660-668, April 2014.