· web viewdct - discrete cosine transform dst - discrete sine transform hevc - high efficiency...
TRANSCRIPT
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 content-adaptive 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 sizeTotal Intra Angular modes
HEVC/H.265(64x64) H.264/AVC(16x16)
64x64 5 NA32x32 34 NA16x16 34 48x8 34 94x4 17 9
Total Modes 64x(5+34+34+34+17)=7936 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
(kbps)
PSNR
(avg)
dB
ENCODING TIME
(sec)
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
(kbps)
PSNR
(avg)
dB
ENCODING TIME
(sec)
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
(kbps)
PSNR
(avg)
dB
ENCODING TIME
(sec)
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
(kbps)
PSNR
(avg)
dB
ENCODING TIME
(sec)
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 results test sequence KristenAndSara_1280x720_60 with number of frames 30.
Analysis of results for unmodified HM 13.0 method with number of frames 30:
QP BITRATE
(kbps)
PSNR
(avg)
dB
ENCODING TIME
(sec)
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
(kbps)
PSNR
(avg)
dB
ENCODING TIME
(sec)
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 results test sequence KristenAndSara_1280x720_60 with number of frames 10.
Analysis of results for unmodified HM 13.0 method with number of frames 10:
QP BITRATE
(kbps)
PSNR
(avg)
dB
ENCODING TIME
(sec)
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
(kbps)
PSNR
(avg)
dB
ENCODING TIME
(sec)
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
(kbps)
PSNR
(avg)
dB
ENCODING TIME
(sec)
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
(kbps)
PSNR
(avg)
dB
ENCODING TIME
(sec)
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
(kbps)
PSNR
(avg)
dB
ENCODING TIME
(sec)
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
(kbps)
PSNR
(avg)
dB
ENCODING TIME
(sec)
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
24 28 32 340.00
20.00
40.00
60.00
80.00
100.00
120.00
140.00
160.00
180.00
200.00
Encoding Tme(sec) for unmodifed methodEncoding Time (sec) for modified method
QP
Encoding Ti
me(sec)
Figure 7: RD plot for BQMall_832x480_60 with number of frames 10
For number of frames 30
24 28 32 340
100
200
300
400
500
600
Encoding Tme(sec) for unmodifed methodEncoding Time (sec) for modified method
QP
Encoding ti
me(sec)
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
24 28 32 340
50
100
150
200
250
300
350
Encoding Time for unmodified methodEncoding Time for modified method
QP
Encoding ti
me(sec)
Figure 9: RD plot for KristenAndSara_1280x720_60 with number of frames 10
For number of frames 30
24 28 32 340
200
400
600
800
1000
1200
1400
Encoding Time for unmodified methodEncoding Time for modified method
QP
Encoding Ti
me(sec)
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
24 28 32 340
10
20
30
40
50
60
70
Encoding time for unmodified methodEncoding time for modified method
QP
Encoding ti
me(sec)
Figure 11: RD plot for BQSquare_416x240_60 with number of frames 10
For number of frames 30
24 28 32 340
20
40
60
80
100
120
140
160
180
Encoding time for unmodified methodEncoding time for modified method
QP
Encoding ti
me(sec)
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
5000 10000 15000 20000 2500030
32
34
36
38
40
42
Chart Title
For unmodified methodFor modified method
Bitrate(kbps)
PSNR(avg)dB
Figure 13: RD plot for BQMall_832x480_60 with number of frames 10
For Number of Frames 30
5000 10000 15000 20000 25000 3000030
32
34
36
38
40
42
Chart Title
For unmodified methodFor modified method
Bitrate (kbps)
PSNR (avg)
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
40006000
8000
10000
12000
14000
16000
18000
2000036373839404142434445
Chart Title
PSNR(avg) for unmodified methodPSNR(avg) for unmodified method
Bitrate (kbps)
PSNR(avg)dB
Figure 15: RD plot for KristenAndSara_1280x720_60 with number of frames 10
For number of frames 30
40006000
8000
10000
12000
14000
16000
18000
2000036373839404142434445
Chart Title
PSNR(avg) for unmodified methodPSNR(avg) for modified method
BItrate(kbps)
PSNR(avg)dB
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
40005000
60007000
80009000
10000
11000
1200030
32
34
36
38
40
42
PSNR(avg) for unmodified methodPSNR(avg) for modified method
Bitrate(kbps)
PSNR(avg)dB
Figure 17: RD plot for BQSquare_416x240_60 with number of frames 10
For number of frames 30
40005000
60007000
80009000
10000
11000
1200030
32
34
36
38
40
42
Chart Title
PSNR(avg) for unmodified methodPSNR(avg) for modified method
Bitrate(kbps)
PSNR(avg)dB
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.
24 28 32 34
-0.35
-0.3
-0.25
-0.2
-0.15
-0.1
-0.05
0
BD-PSNR
BD-PSNR
QP
BD-PSNR(dB)
Figure 19: RD plot for BQMall_832x480_60 with number of frames 10
24 28 32 34
-0.275
-0.27
-0.265
-0.26
-0.255
-0.25
-0.245
-0.24
BD-PSNR
BD-PSNR
QP
BD-PSNR(dB)
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.
24 28 32 34
-0.5
-0.45
-0.4
-0.35
-0.3
-0.25
-0.2
-0.15
-0.1
-0.05
0
BD-PSNR
BD-PSNR
QP
BD-PSNR(dB)
Figure 21: RD plot for KristenAndSara_1280x720_60 with number of frames 10
24 28 32 34
-0.25
-0.2
-0.15
-0.1
-0.05
0
BD-PSNR
BD-PSNR
QP
BD-PSNR(dB)
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.
24 28 32 34
-0.7
-0.6
-0.5
-0.4
-0.3
-0.2
-0.1
0
BD-PSNR
BD-PSNR
QP
BD-PSSNR(dB)
Figure 23: RD plot for BQSquare_416x240_60 with number of frames 10
24 28 32 34
-0.7
-0.6
-0.5
-0.4
-0.3
-0.2
-0.1
0
BD-PSNR
BD-PSNR
QP
BD-PSNR(dB)
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.
24 28 32 3411.5
12
12.5
13
13.5
14
BD-BITRATE
BD-BITRATE
QP
BD-Bitrate(kbps)
Figure 25: RD plot for BQMall_832x480_60 with number of frames 10
24 28 32 3411.411.611.8
1212.212.412.612.8
1313.213.4
BD-BITRATE
BD-BITRATE
QP
BD-Bitrate(kbps)
Figure 26: RD plot for BQMall_832x480_60 with number of frames 30
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.
24 28 32 340
5
10
15
20
25
BD-BITRATE
BD-BITRATE
QP
BD-Bitrate(kbps)
Figure 27: RD plot for KristenAndSara_1280x720_60 with number of frames 10
24 28 32 340
1
2
3
4
5
6
7
8
BD-BITARTE
BD-BITARTE
QP
BD-Bitrate(kbps)
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.
24 28 32 340
2
4
6
8
10
12
14
16
18
BD-BITRATE
BD-BITRATE
QP
BD-Bitrate(kbps)
Figure 29: RD plot for BQSquare_416x240_60 with number of frames 10
24 28 32 340
2
4
6
8
10
12
14
16
BD-BITRATE
BD-BITRATE
QP
BD-Bitrate(kbps)
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, JCT-VC 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.221-224, 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/MPEG-4 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 (JCT-VC), 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.