NEW CAVLC ENCODING ALGORITHM FOR LOSSLESS INTRA CODING IN H.264/AVC. Jin Heo, Seung-Hwan Kim, and Yo-Sung Ho

Similar documents
Signal Processing: Image Communication

THE latest video coding standard, H.264/advanced

Adaptive Entropy Coder Design Based on the Statistics of Lossless Video Signal

An Efficient Table Prediction Scheme for CAVLC

H.264/AVC BASED NEAR LOSSLESS INTRA CODEC USING LINE-BASED PREDICTION AND MODIFIED CABAC. Jung-Ah Choi, Jin Heo, and Yo-Sung Ho

Deblocking Filter Algorithm with Low Complexity for H.264 Video Coding

Fast Decision of Block size, Prediction Mode and Intra Block for H.264 Intra Prediction EE Gaurav Hansda

FPGA based High Performance CAVLC Implementation for H.264 Video Coding

A 4-way parallel CAVLC design for H.264/AVC 4 Kx2 K 60 fps encoder

Optimum Quantization Parameters for Mode Decision in Scalable Extension of H.264/AVC Video Codec

Title Adaptive Lagrange Multiplier for Low Bit Rates in H.264.

Reduced Frame Quantization in Video Coding

Video compression with 1-D directional transforms in H.264/AVC

EE 5359 Low Complexity H.264 encoder for mobile applications. Thejaswini Purushotham Student I.D.: Date: February 18,2010

International Journal of Emerging Technology and Advanced Engineering Website: (ISSN , Volume 2, Issue 4, April 2012)

EE 5359 MULTIMEDIA PROCESSING SPRING Final Report IMPLEMENTATION AND ANALYSIS OF DIRECTIONAL DISCRETE COSINE TRANSFORM IN H.

H.264/AVC Baseline Profile to MPEG-4 Visual Simple Profile Transcoding to Reduce the Spatial Resolution

A NOVEL SCANNING SCHEME FOR DIRECTIONAL SPATIAL PREDICTION OF AVS INTRA CODING

An Efficient Mode Selection Algorithm for H.264

EE Low Complexity H.264 encoder for mobile applications

Implementation and analysis of Directional DCT in H.264

A Novel Deblocking Filter Algorithm In H.264 for Real Time Implementation

Video Codecs. National Chiao Tung University Chun-Jen Tsai 1/5/2015

Transcoding from H.264/AVC to High Efficiency Video Coding (HEVC)

Reduced 4x4 Block Intra Prediction Modes using Directional Similarity in H.264/AVC

LIST OF TABLES. Table 5.1 Specification of mapping of idx to cij for zig-zag scan 46. Table 5.2 Macroblock types 46

Interframe coding A video scene captured as a sequence of frames can be efficiently coded by estimating and compensating for motion between frames pri

RECOMMENDATION ITU-R BT

Complexity Reduced Mode Selection of H.264/AVC Intra Coding

Comparative and performance analysis of HEVC and H.264 Intra frame coding and JPEG2000

Block-based Watermarking Using Random Position Key

VHDL Implementation of H.264 Video Coding Standard

WITH the growth of the transmission of multimedia content

H.264 to MPEG-4 Transcoding Using Block Type Information

H.264 / AVC (Advanced Video Coding)

Performance Comparison between DWT-based and DCT-based Encoders

Adaptation of Scalable Video Coding to Packet Loss and its Performance Analysis

High Efficiency Video Coding (HEVC) test model HM vs. HM- 16.6: objective and subjective performance analysis

Comparative and performance analysis of HEVC and H.264 Intra frame coding and JPEG2000

ERROR-ROBUST INTER/INTRA MACROBLOCK MODE SELECTION USING ISOLATED REGIONS

Design of a High Speed CAVLC Encoder and Decoder with Parallel Data Path

Categorization for Fast Intra Prediction Mode Decision in H.264/AVC

1924 IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, VOL. 21, NO. 12, DECEMBER 2011

Transcoding from H.264/AVC to High Efficiency Video Coding (HEVC)

Pattern based Residual Coding for H.264 Encoder *

A COMPARISON OF CABAC THROUGHPUT FOR HEVC/H.265 VS. AVC/H.264. Massachusetts Institute of Technology Texas Instruments

Wireless Communication

Xin-Fu Wang et al.: Performance Comparison of AVS and H.264/AVC 311 prediction mode and four directional prediction modes are shown in Fig.1. Intra ch

Advanced Video Coding: The new H.264 video compression standard

Low power context adaptive variable length encoder in H.264

STUDY AND IMPLEMENTATION OF VIDEO COMPRESSION STANDARDS (H.264/AVC, DIRAC)

IBM Research Report. Inter Mode Selection for H.264/AVC Using Time-Efficient Learning-Theoretic Algorithms

An Efficient Intra Prediction Algorithm for H.264/AVC High Profile

Efficient MPEG-2 to H.264/AVC Intra Transcoding in Transform-domain

OVERVIEW OF IEEE 1857 VIDEO CODING STANDARD

Objective: Introduction: To: Dr. K. R. Rao. From: Kaustubh V. Dhonsale (UTA id: ) Date: 04/24/2012

Fast Intra Prediction Algorithm for H.264/AVC Based on Quadratic and Gradient Model

THE H.264 ADVANCED VIDEO COMPRESSION STANDARD

A LOW-COMPLEXITY AND LOSSLESS REFERENCE FRAME ENCODER ALGORITHM FOR VIDEO CODING

Fast Mode Decision for H.264/AVC Using Mode Prediction

Overview of H.264 and Audio Video coding Standards (AVS) of China

HEVC The Next Generation Video Coding. 1 ELEG5502 Video Coding Technology

White paper: Video Coding A Timeline

A comparison of CABAC throughput for HEVC/H.265 VS. AVC/H.264

Performance Analysis of DIRAC PRO with H.264 Intra frame coding

COMPARISON OF HIGH EFFICIENCY VIDEO CODING (HEVC) PERFORMANCE WITH H.264 ADVANCED VIDEO CODING (AVC)

CMPT 365 Multimedia Systems. Media Compression - Image

Overview, implementation and comparison of Audio Video Standard (AVS) China and H.264/MPEG -4 part 10 or Advanced Video Coding Standard

A COST-EFFICIENT RESIDUAL PREDICTION VLSI ARCHITECTURE FOR H.264/AVC SCALABLE EXTENSION

Improved lossless coding algorithm in H.264/AVC based on hierarchical intraprediction and coding-mode selection. Li-Li Wang Wan-Chi Siu

2014 Summer School on MPEG/VCEG Video. Video Coding Concept

Homogeneous Transcoding of HEVC for bit rate reduction

Smoooth Streaming over wireless Networks Sreya Chakraborty Final Report EE-5359 under the guidance of Dr. K.R.Rao

Combined Copyright Protection and Error Detection Scheme for H.264/AVC

Digital Video Processing

FAST MOTION ESTIMATION DISCARDING LOW-IMPACT FRACTIONAL BLOCKS. Saverio G. Blasi, Ivan Zupancic and Ebroul Izquierdo

STUDY AND PERFORMANCE COMPARISON OF HEVC AND H.264 VIDEO CODECS

Updates in MPEG-4 AVC (H.264) Standard to Improve Picture Quality and Usability

H.264 STANDARD BASED SIDE INFORMATION GENERATION IN WYNER-ZIV CODING

Mark Kogan CTO Video Delivery Technologies Bluebird TV

Architecture of High-throughput Context Adaptive Variable Length Coding Decoder in AVC/H.264

Spectral Coding of Three-Dimensional Mesh Geometry Information Using Dual Graph

H.264 STREAM REPLACEMENT WATERMARKING WITH CABAC ENCODING

Stereo Image Compression

H.264/AVC und MPEG-4 SVC - die nächsten Generationen der Videokompression

Reducing/eliminating visual artifacts in HEVC by the deblocking filter.

THE H.264, the newest hybrid video compression standard

[30] Dong J., Lou j. and Yu L. (2003), Improved entropy coding method, Doc. AVS Working Group (M1214), Beijing, Chaina. CHAPTER 4

IMPROVED CONTEXT-ADAPTIVE ARITHMETIC CODING IN H.264/AVC

Rate Distortion Optimization in Video Compression

Laboratoire d'informatique, de Robotique et de Microélectronique de Montpellier Montpellier Cedex 5 France

SINGLE PASS DEPENDENT BIT ALLOCATION FOR SPATIAL SCALABILITY CODING OF H.264/SVC

Advanced Encoding Features of the Sencore TXS Transcoder

Video Compression An Introduction

H.264 Based Video Compression

Bit Allocation for Spatial Scalability in H.264/SVC

AN ENHANCED CONTEXT-ADAPTIVE VARIABLE LENGTH CODING FOR H.264.

Editorial Manager(tm) for Journal of Real-Time Image Processing Manuscript Draft

ARTICLE IN PRESS. Signal Processing: Image Communication

Fast frame memory access method for H.264/AVC

Transcription:

NEW CAVLC ENCODING ALGORITHM FOR LOSSLESS INTRA CODING IN H.264/AVC Jin Heo, Seung-Hwan Kim, and Yo-Sung Ho Gwangju Institute of Science and Technology (GIST) 261 Cheomdan-gwagiro, Buk-gu, Gwangju, 500-712, Korea {jinheo, kshkim, hoyo}@gist.ac.kr ABSTRACT Context-based adaptive variable length coding (CAVLC) of H.264/AVC was originally designed for quantized transform coefficients in lossy video coding, and as such does not yield adequate performance in lossless video coding. In this paper, we propose an improved CAVLC for lossless intra coding. Considering statistical differences of residual data in lossy and lossless coding, we design a new CAVLC encoding algorithm. Experimental results show that the proposed method provides approximately 7.6% bit savings, compared to the current H.264/AVC FRExt high profile. Index Terms H.264/AVC, CAVLC, lossless video coding 1. INTRODUCTION The latest video coding standard H.264/AVC was developed by the Joint Video Team (JVT) of the ITU-T Video Coding Experts Group (VCEG) and the ISO/IEC Moving Picture Experts Group (MPEG). Due to its high coding performance, H.264/AVC has become a popular video compression scheme for a wide range of applications, including video conferencing and multimedia streaming [1]. However, the H.264/AVC standard has been developed by focusing mainly on lossy video coding; lossless video coding is also important in many application areas, such as source distribution, digital cinema, and medical imaging. Hence, in order to provide improved functionality for lossless video coding, the H.264/AVC standard included a so-called pulse-code modulation (PCM) macroblock coding mode, where the values of the original image samples are transmitted directly without prediction, transformation, and quantization [2]. After finalizing the first version of H.264/AVC, JVT developed several extensions to the original standard, which are known as the Fidelity Range Extensions (FRExt) [3]. During development of the FRExt amendment, they decided that a more effective means of lossless coding was desirable for most demanding applications. Therefore, FRExt also includes a transform-bypass [4] lossless mode that employs two main processes, prediction and entropy coding, which were not previously used in the PCM macroblock mode. To further enhance the coding performance of lossless coding, we still need to develop more efficient coding techniques for prediction and entropy coding. In the meantime, instead of developing a block-based intra prediction, a new intra prediction method, called as sample-wise differential pulse-code modulation (DPCM) [3], was introduced for lossless intra prediction. Since samplewise DPCM provided better compression performance, it was adopted as a part of a new draft amendment of the H.264/AVC standard [5]. For lossless intra coding in FRExt, the original sample values are coded by two main operations, intra prediction and entropy coding; but transformation and quantization are not used. Therefore, we can expect a significant statistical difference between lossy and lossless coding. In order to design an appropriate entropy coding method for lossless coding, we need to modify the conventional entropy coder in H.264/AVC. Previously, CAVLC was unable to provide optimum coding performance for lossless video coding because it was designed primarily for lossy video coding. In this paper, we design an improved CAVLC [6] for lossless intra coding. 2. CONTEXT-BASED ADAPTIVE VLC IN H.264 CAVLC is employed to encode residual data, zigzag scanned quantized transform coefficients, for a 4 4 subblock. CAVLC was designed to take advantage of several characteristics of residual data in lossy coding: (1) after transformation and quantization, sub-blocks typically contain mostly zeros, especially in high frequency regions; (2) the level of the highest non-zero coefficients tends to be as small as one, and (3) the level of non-zero coefficients tend to be larger toward the low frequency regions. Then, taking into consideration the above characteristics, CAVLC employs five coding steps. Step 1: A trailing one is one of up to three consecutive nonzero coefficients having an absolute value equal to 1

at the end of a scan of non-zero coefficients. Both the total number of non-zero coefficients (numcoeff) and the number of trailing ones (numtrailingones) are encoded using a combined codeword. Step 2: The sign information of each trailing one is simply encoded by a one bit codeword in reverse order. Step 3: The absolute value of level of each remaining nonzero coefficient is encoded in reverse order. Step 4: The number of all zeros before the last non-zero coefficient are encoded. Step 5: The number of consecutive zeros preceding each non-zero coefficient are encoded in reverse order. At the first step, the four VLC tables used for encoding numcoeff and numtrailingones are comprised of three variable-length code (Num-VLC0, Num-VLC1, and Num- VLC2) tables and one fixed-length code (FLC) table. The choice of VLC table depends on numcoeff in the previously coded upper and left sub-blocks. Thus, based on the predicted numcoeff (N), an appropriate VLC table for the current sub-block is selected from Table 1. Table 1. Choice of VLC table N VLC Table 0, 1 Num-VLC0 2, 3 Num-VLC1 4, 5, 6, 7 Num-VLC2 8 or above FLC 3. CAVLC FOR LOSSLESS INTRA CODING 3.1. Statistical Characteristics of Residual Data In lossless coding, residual data does not represent quantized and transformed coefficients, but rather the differential pixel values between the original and the predicted pixel values. Therefore, the statistical characteristics of the residual data in lossless coding are as follows: (1) the probability distribution of the existence of a non-zero coefficient is independent to scanning position and numcoeff is generally large compared to those in lossy coding; (2) the occurrence probability of a trailing one is not so high because the absolute value of a non-zero coefficient does not decrease as scanning position increase. Therefore, the trailing one does not need to be treated as a special case of encoding; they are coded as normal coefficients. Figure 1 shows that the probability distribution of the existence of non-zero coefficients according to scanning position. As expected, a significant difference can be seen in the statistics between the residual data of lossy and lossless coding. Typically measured probability density function (PDF) of residual data can be modeled by exponential distributions or geometric distributions in lossy coding. In lossless coding, the occurrence probability of trailing ones turns out to be relatively lower than that of lossy coding as shown in Table 2. Therefore, in order to more accurately reflect the above mentioned statistical characteristics of residual data, we propose a more efficient CAVLC for lossless intra coding by modifying the corresponding encoding parts of CAVLC. Probability 0.25 0.2 0.15 0.1 0.05 0 Lossless QP=24 QP=12 QP=36 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Scanning Position Fig. 1. Probability distribution of the existence of non-zero coefficients according to scanning position ( Paris, CIF) Table 2. Occurrence probability distribution of trailing ones QP Lossless Sequence (0) 12 24 36 Foreman 0.258 0.760 0.903 0.958 Silent 0.232 0.817 0.923 0.955 Mobile 0.222 0.636 0.837 0.929 Paris 0.275 0.747 0.866 0.936 3.2. Coding the Number of Non-zero Coefficients At the first step, we encode numcoeff but do not consider numtrailingones. The corresponding VLC table is selected based on the predicted numcoeff. If the predicted numcoeff is larger than seven, the fixed length code (FLC) table is selected, as described in Table 1. In lossless coding, the FLC table is most often selected because numcoeff is generally larger than seven, as shown in Table 3. From extensive experiments on various test sequences in lossless intra coding we observed that the FLC table was selected about 95 % of the time. Hence, we could remove three VLC tables (Num-VLC0 to Num-VLC2) in the first step. Since only the FLC table is used, we do not need to consider the process for the predicting numcoeff. Table 3. Average number of non-zero coefficients in a sub-block QP Lossless Sequence (0) 12 24 36 Foreman 13.92 8.10 3.49 1.09 Silent 14.07 8.22 3.32 0.91 Mobile 14.19 10.28 6.31 2.53 Paris 13.79 7.98 4.11 1.69 The FLC table consists of 4 bits for numcoeff and 2 bits for numtrailingones except for chroma DC, respectively; since numtrailingones does not need to be considered; only 4 bits for numcoeff remain. However, instead of using the FLC table, which uniformly assigns 4 bits for all numcoeff, we designed a simple but effective VLC table for considering the statistics of numcoeff in lossless coding.

Since trailing ones are treated as normal coefficients they are coded in level coding step. Therefore, step 2, which is a coding stage of the sign information of each trailing one, is removed in the proposed method. In our proposed VLC table, numcoeff from 1 to 12 and 13 to 16 have 4 bit and 2 bit codewords, respectively. In order to avoid ambiguity at the decoder, we insert a check bit into the prefix of each codeword. In the case of chroma DC, CAVLC employs a special VLC table to encode chroma DC residual data depending on the normal color format, such as 4:2:0, 4:2:2, and 4:4:4. In our research, we also designed a new VLC table for chroma DC data that considers the statistics of residual data. Chroma DC data has up to four coefficients in a 4:2:0 color format. In the proposed VLC table, we insert a check bit into the prefix of the codeword to assign a unique codeword distinguishing between numcoeff>0 and numcoeff =0. Table 4. Codeword table for numcoeff numcoeff Codeword Except for Chroma DC Chroma DC Check bit Bits Check bit Bits 0 1 1111 1 1 1 0000 0 00 2 1 0001 0 01 3 1 0010 0 10 4 1 0011 0 11 5 1 0100 - - 6 1 0101 - - 7 1 0110 - - 8 1 0111 - - 9 1 1000 - - 10 1 1001 - - 11 1 1010 - - 12 1 1011 - - 13 0 00 - - 14 0 01 - - 15 0 10 - - 16 0 11 - - 3.3. Level Coding In level coding, the absolute level value (abs_level) of each non-zero coefficient is adaptively encoded by a selected VLC table from among the seven predefined VLC tables (Lev-VLC0 to Lev-VLC6) in reverse scanning order. Each VLC table is designed to efficiently encode in a specified range of abs_level. The selection of a VLC table for level coding in CAVLC is based on the expectation that abs_level is likely to increase toward the low frequency regions. Hence, the selection of a VLC table is monotonically increased according to the previously encoded abs_level. However, the abs_level in lossless coding is independent to scanning position, as shown in Fig. 2. As such, we designed an adaptive VLC table selection method that can decrease or increase according to the previously encoded abs_level. Average Level Value 14 12 10 8 6 4 2 0 Lossless QP=24 QP=12 QP=36 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Scanning Position Fig. 2. Distribution of average absolute level value according to scanning position ( Paris, CIF) In lossy coding, CAVLC typically determines the smallest VLC table in a range of possible VLC tables based on the assumption that the next abs_level to be coded is going to be larger. However, in lossless coding, the next abs_level does not necessarily increase at lower frequencies we cannot assume that the next abs_level to be coded is larger than the current abs_level. Theoretically, the design of the optimal threshold for each abs_level should select the average threshold in lossless coding because we cannot predict whether or not the next abs_level will increase. In Table 5, we represent new thresholds obtained from the result of the best coding range for abs_level and average threshold. Table 5. New Threshold for determining for VLC table VLC table Best coding range Average New for abs_level Threshold Threshold Lev-VLC0 1 1 1 Lev-VLC1 1, 2 1.5 2 Lev-VLC2 1-5 3 3 Lev-VLC3 2-11 6.5 7 Lev-VLC4 4-23 13.5 14 Lev-VLC5 8-47 27.5 28 Lev-VLC6 > 15 - - In Fig. 2, we can see that the last scanned abs_level is quite different between lossy coding and lossless coding. In level coding, encoding starts with either Lev-VLC0 or Lev- VLC1 because the last scanned abs_level represents the highest frequency coefficient in lossy coding, and it is likely to be small. However, in lossless coding the last scanned abs_level is not small enough to use either Lev-VLC0 or Lev-VLC1. From extensive experiments on various test sequences in lossless intra coding we observed that the average value of the last scanned abs_level in the chroma DC sub-block and other sub-blocks are approximately 6.79 and 10.70, respectively. Therefore, we initialize the VLC tables as Lev- VLC3 and Lev_VLC4, respectively for both cases.

Table 7. Comparison of the compression ratio for H.264 intra lossless coding Test Sequence Original Image Size (bits) Method Total Bits (bits) Compression Ratio Saving Bits (%) Original 21119320 2.1601 0 Foreman 45619200 Method I 20502040 2.2251 2.923 (QCIF) Method II 19897784 2.2927 5.784 Silent (QCIF) Mobile (CIF) Paris (CIF) Average 45619200 182476800 182476800 Original 22109864 2.0633 0 Method I 21452552 2.1265 2.973 Method II 20561096 2.2187 7.005 Original 110168736 1.6563 0 Method I 107455736 1.6982 2.463 Method II 98218696 1.8579 10.847 Original 89998496 2.0276 0 Method I 87570424 2.0838 2.698 Method II 83759728 2.1786 6.932 Original 1.9768 0 Method I 2.0334 2.764 Method II 2.1370 7.642 4. EXPERIMENTAL RESULTS To verify the efficiency of the proposed method, experiments were performed on several YUV 4:2:0 format test sequences with QCIF and CIF resolutions. All the tested sequences have 150 frames and 30 fps. We implemented our proposed method in the H.264 reference software version JM 13.2 [7]. Table 6 shows the encoding parameters for the reference software. Table 6. Encoding parameters ProfileIDC 244 (High 4: 4: 4) IntraPeriod 1 (only intra coding) QPISlice 0 (lossless) SymbolMode 0 (CAVLC) QPPrimeYZeroTransformBypassFlag 1 The proposed method consists of two parts: 1) Method I: Modify numcoeff coding + remove the sign information of trailing one. 2) Method II: Method I + modify level coding. Note that our proposed method was applied to H.264/AVC lossless intra coding by modifying the semantics and decoding processes, without requiring any syntax element be added to the H.264/AVC standard. In our experiments, we compared the coding performance of original CAVLC and our proposed method. Comparisons were made in terms of percentage rate differences and compression ratio. The changes are calculated using Bitrateoriginal Bitrateproposed ΔSaving Bits(%) = 100 (1) Bitrate original Original image size Compressio n Ratio = (2) Bitrate proposed In Table 7, we confirm that the proposed method provides better coding performance compared with original CAVLC by approximately 7.64% in lossless intra coding. 5. CONCLUSIONS In this paper, we propose an improved context-based adaptive variable length coding (CAVLC) for lossless intra coding. By considering residual data statistics in lossless coding, we designed a new CAVLC encoding algorithm. From experimental results, we found that the proposed method provides approximately 7.6% bit saving when compared with the current H.264/AVC FRExt high profile. ACKNOWLEDGMENT This work was supported in part by ITRC through RBRC at GIST (IITA-2009-C1090-0902-0017). REFERENCES [1] T. Wiegand, G.J. Sullivan, G. Bjøntegaard, and A. Luthra, Overview of the H.264/AVC video coding standard, IEEE Transactions on Circuits and System for Video Technology, vol. 13, no. 7, pp. 560 576, July 2003. [2] Y.L. Lee, K.H. Han, and G.J. Sullivan, Improved lossless intra coding for H.264/MPEG-4 AVC, IEEE Transactions on Image Processing, vol. 15, no. 9, pp. 2610 2615, Sept. 2006. [3] G.J. Sullivan, T. McMahon, T. Wiegand, and A. Luthra (Eds.), Draft Text of H.264/AVC Fidelity Range Extensions Amendment to ITU-T Rec. H.264 ISO/IEC 14496-10 AVC, Team Document JVT-L047, July 2004. [4] S. Sun, Intra Lossless Coding and QP Range Selection, Team Document JVT-C023, May 2002. [5] H. Yu (Ed.), Draft Text of H.264/AVC Advanced 4:4:4 Profile Amendment to ITU-T Rec. H.264 ISO/IEC 14496-10 AVC, Team document JVT-Q209, Oct. 2005. [6] I.E.G. Richardson, H.264 and MPEG-4 Video Compression. Wiley, 2003. [7] http://iphome/hhi.de/shehring/tml/download/old_jm/jm13.2.zip, Joint Video Team, Reference Software Version 13.2.