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.
© Copyright 2026 Paperzz