250 likes | 359 Views
Redundant Slice Optimal Allocation for H.264 Multiple Description Coding. Tammam Tillo, Macro Grangetto, and Gabriella Olmo. CSVT, Jan 2008. Outline. Introduction Multiple description coding Redundant slice Proposed Algorithm Optimal Allocation Problem Algorithm Implementation
E N D
Redundant Slice Optimal Allocation for H.264 Multiple Description Coding Tammam Tillo, Macro Grangetto, and Gabriella Olmo CSVT, Jan 2008
Outline • Introduction • Multiple description coding • Redundant slice • Proposed Algorithm • Optimal Allocation Problem • Algorithm Implementation • Experimental Results
Introduction (1/2) • Multiple Description Coding (MDC) • Single source Multiple Descriptions • D0 < D1, D2 • Rsingle_description = R1 + R2 – Rredundancy Example D1 2i Side decoder 1 S’1 R1 Encoder 1 I 2i+1 I Channel I D0 Central decoder S S’2 R2 Encoder 2 Channel 2 D2 Side decoder 2 S’3 Introduced by MD coding
Introduction (2/2) • Redundant slice in H.264 • A slice can be encoded and transmitted twice • Called primary slice and redundant slice • QPp < QPr • The redundant slice is used at the decoder side if the primary slice is lost QPp Primary slice QPr redundant slice Encoder Decoder
Proposed Algorithm (1/2) • MDC with redundant slices • Simple post and pre-processing + H.264 decoder Primary Slice Description 1 I P P I Source I P P I Description 2 Redundant Slice
Proposed Algorithm (2/2) • Redundant slice • QPr > QPp • Not for reference • Interlaced with primary slices • Drift problem • QPr drift redundancy • QPr drift (under loss rate p) • Dtotal = (1-p)dprimary_slice + p(1-p)(dredundant_slice+dpropagation) + p2dall_loss • Rtotal = Rprimary_slice(QPp) + Rredundant_slice(QPr)
Optimal Allocation Problem (1/9) • Impact of loss of a primary slice k on the total distortion of the current GOP with size N Distortion caused by loss of primary slice k Propagated distortion cause by redundant slice k after frame i Distortion of redundant slice k at frame i k ... i i+1 N Loss occurs
Optimal Allocation Problem (2/9) • Decay of propagated distortion [22] • dm,k = dr,k -dp,k dr,kwhen p,k << r,k • f[n]: Power transfer function • Representation of distortion attenuation • Reasons • Spatial filter such as de-blocking filter • Spatial interpolation such as fractional pel ME • Intra blocks such as random intra replacement ... i i+1 [22] N. Farber, K. Stuhlmuller, and B. Girod, “Analysis of error propagation in hybrid video coding with application to error resilience,” in ICIP, 1999.
Optimal Allocation Problem (3/9) • Evaluation of dm,k • Aligned quantizer e: Difference between the primary and redundant reconstruction (drift) f(e): pdf of e Primary reconstruction Source x p e Source x r Redundant reconstruction f(e) e = 0,p,2p,… f(e) = p/r at p|e e p : Delta function
Optimal Allocation Problem (4/9) • Evaluation of dm,k • p,k << r,k dm,k dr,k Assumption: r,k/p,k = 2n+1 dr,k = r,k2/12
Optimal Allocation Problem (5/9) • Evaluation of dm,k • Not aligned quantizer Reconstructed level Source x p e Source x r Reconstructed level f(e) e can be any number f(e) = 1/r e r
Optimal Allocation Problem (6/9) • Accuracy of evaluated dm,k Real distortion – evaluated dm,k Real distortion
Optimal Allocation Problem (7/9) • Total GOP distortion dt,k • Expected GOP distortion caused by loss of slice k at loss rate p • Expected GOP distortion caused by random loss of a slice f[0] = 1 Loss of primary slice Loss of primary and redundant slice Using primary slice low loss rate Expected frame distortion
Optimal Allocation Problem (8/9) • Optimization problem • Lagrangian approach: min J = D + R Since Dp,i/ Rp,i is independent of i
Optimal Allocation Problem (9/9) • Optimal conditions • Redundant data < primary data • i > i+1
Algorithm Implementation (1/2) • Encoder • Decoder Channel 1 Post processing QPp QPr,i Channel 2 Channel 1 Preprocessing H.264 Standard decoding Merge Redundant slice Channel 2
Algorithm Implementation (2/2) • Determination of RD parameters • H.264 reference software: QPp = QPr,1 + 3log(p1) QPr,i = QPr,1 + 3log(1/i) • In [22], assuming , deducing • Taking - Linear system (decoder) Power spectral density of u[x, y]= v[x,y,0] Variance of drift v[x,y,t] • Small for serious packet loss
Experimental Results (1/8) • (QPi) = QPr,i – QPp • i QPr,i • p QPr,i • QPr,i
Experimental Results (2/8) • Parameters • H.264 reference software JM9.4 • P-slice with 5 reference pictures • 5 slices for a CIF picture and 3 slices for a QCIF picture • Bernoulli model for PLR = p • foreman and coastguard at CIF and QCIF format are used
Experimental Results (3/8) • Selection of • Not sensitive to
Experimental Results (4/8) • RD comparisons under different p and N (=0.4) • Shorter GOP size for larger PLR p=0.01 p=0.05 N=45 N=21 N=11 p=0.1
Experimental Results (5/8) • Redundancy (=0.4)
Experimental Results (6/8) • Comparisons with other MDC • Four descriptions by subsampling CIF to QCIF • Two descriptions by separating odd and even rows • Other MDC schemes: • N = 21 with P and B pictures • Extra computation is needed at the decoder side
Experimental Results (7/8) • Central decoder versus side decoder • p redundancy (central decoder) and (side decoder) No loss
Experimental Results (8/8) • Central decoder versus side decoder (p=0.05)