MCJ2K (Motion Compensated JPEG 2000)

Juan Francisco Rodríguez Herrera
Vicente González Ruiz

June 26, 2014

Contents

1 Why MCJ2K?
2 MCJ2K overview
3 MCTF in MCJ2K
4 MCTF implementation
5 The 1-level DWT temporal transform
6 Over-pixel Motion estimation
7 Sub-pixel Motion estimation
8 Prediction step
9 Update step
10 Motion coding
11 Texture coding
12 Temporal scalability
13 Quality scalability
14 Spatial scalability

1 Why MCJ2K?

2 MCJ2K overview

PIC

T = log(GOPxsize) + 1.
       2
(1)

3 MCTF in MCJ2K

PIC

PIC

4 MCTF implementation

PIC

5 The 1-level DWT temporal transform

PIC

6 Over-pixel Motion estimation

MCJ2K uses an hierarchical motion estimation algorithm that, alghought is sub-optimal, is fast enought for real-time coding:

  1. Compute the DWT of l = log 2(search_range)levels to the predicted frame P = Lit and the two reference frames R0 = L2it1 and R1 = L2i+1t1.
  2. LLl(Mit) 0 /* Or with other more suitable values */.
  3. While l > 0:
    1. Divide the subband LLl(P) in blocks of b-size and (±1)-search them into the subbands LLl(R0) and LLl(R1), calculating a low-resolution LLl(Mit) bi-directional motion vector field.
    2. l l 1.
    3. Synthesize LLl(Mit), LLl(P), LLl(R0) and LLl(R1) computing the inverse DWT one step (the HH-subbands are 0).
    4. LLl(Mit) LLl(Mit) 2.

7 Sub-pixel Motion estimation

Let s the sub-pixel accuracy. After the over-pixel ME stage, the refinement of Mit continues following the next algorithm:

  1. l 1.
  2. while l s:
    1. Synthesize LLl(P), LLl(R0) and LLl(R1) computing the inverse DWT one step (the HH-subbands are 0).
    2. Mit Mit 2 /* Multiply by 2 the vectors */.
    3. b b 2 /* Multiply by 2 the block size */.
    4. Divide the subband LLl(P) in blocks of b-size and (±1)-search them into the subbands LLl(R0) and LLl(R1), calculating a sub-pixel accuracy Mit bi-directional motion vector field.
    5. l l + 1.

8 Prediction step

PIC

9 Update step

PIC

10 Motion coding

11 Texture coding

12 Temporal scalability

PIC

13 Quality scalability

PIC

14 Spatial scalability

PIC

MCJ2K in the lab

svn checkout http://svn.hpca.ual.es/svn/QSVC/Kakadu  
cd Kakadu  
source ./compile Linux-x86-64 # Otras alternativas: "./complie"  
cd ..  
 
svn checkout http://svn.hpca.ual.es/svn/QSVC/MCTF/trunk MCTF  
cd MCTF  
source ./compile  
cd ..  
 
svn checkout http://svn.hpca.ual.es/svn/vruiz/progs/snr SNR  
cd DNR  
source ./compile  
cd ..  
 
svn checkout http://svn.hpca.ual.es/svn/QSVC/performance_tests  
cd performance_tests  
 
./mobile_352x288x30_vs_1QL  
 
./mobile_352x288x30_vs_QLs

References

[1]   S. Mallat. A Theory for Multiresolution Signal Decomposition. IEEE Trans. on Pattern Analysis and Machine Intelligence, 11:674–693, 1989.

[2]   Heiko Schwarz, Detlev Marpe, and Thomas Wiegand. Overview of the scalable video coding extension of the h.264/avc standard. IEEE Transactions on Circuits and Systems for Video Technology, 17(9):1103–1120, September 2007.

[3]   A. Secker and D. Taubman. Lifting-based invertible motion adaptive transform (limat) framework for highly scalable video compression. IEEE Transactions on Image Processing, 12(12):1530–1542, December 2003.

[4]   W. Sweldens. The Lifting Scheme: A new Philosophy in Biorthogonal Wavelet Constructions. In Proc. SPIE, volume 2569, pages 68–79, September 1995.

[5]   W. Sweldens and P. Schröder. Building Your Own Wavelets at Home.