Implementation of Microsoft HD Photo Codec (JPEG XR) on Nokia’s Series 60 Platform
2008 Nokia University Relations Forum
June 12, 2008
Derek Pang, Dr. Jie Liang
Simon Fraser University School of Engineering Science
Outline
Introduction • What is HD Photo? • Why HD Photo? HD Photo on Nokia Phones Summary
Slide 2
Implementation of Microsoft HD Photo Codec on Nokia’s Series 60 Platform
Presented by Jie Liang
Introduction
This project is about the comparison of different image compression standards Digital images are ubiquitous:
Image compression is necessary for the storage and transmission of images JPEG is the most popular standard for image compression:
Slide 3
Internet Digital cameras Cell phones
Started in 1986, finalized in 1992.
Presented by Jie Liang
Implementation of Microsoft HD Photo Codec on Nokia’s Series 60 Platform
JPEG
Key features of JPEG:
8x8-block Discrete Cosine Transform (DCT) Huffman coding
Pros:
Low complexity
Hardware friendly
Cons:
Unsatisfactory compression efficiency
Blocking artifact at low bit rates
Slide 4
Implementation of Microsoft HD Photo Codec on Nokia’s Series 60 Platform
Presented by Jie Liang
JPEG2000
Designed to address the issues of the JPEG:
Finalized in 2000 Wavelet transform Adaptive arithmetic coding Improved efficiency Various scalabilities
http://en.wikipedia.org/wiki/JPEG_2000
Key features:
Pros:
Cons:
Slide 5
Current status:
Much higher complexity (3-4 times) http://www.jpeg.org/public/wg1n1816.pdf
Limited industrial adoption, especially in hardware
Presented by Jie Liang
Implementation of Microsoft HD Photo Codec on Nokia’s Series 60 Platform
HD Photo
The latest image codec developed by Microsoft's Windows Media Group:
Originally known as Windows Media Photo Used by Windows Vista Photo Gallery, thumbnail preview, … Based on Lapped Transform instead of DCT or wavelet Similar performance to JPEG 2000, but with much lower complexity An attractive alternative to JPEG 2000, especially for hardware Expected to become an international standard, JPEG-XR, by 2009
Slide 6 Implementation of Microsoft HD Photo Codec on Nokia’s Series 60 Platform
Presented by Jie Liang
Lapped Transform
The original lapped transform:
Developed by Malvar et al. in around 1985 DCT with post-processing Developed by Tran, Liang and Tu in 2001. DCT with pre-processing More flexible than the original lapped transform Adopted in HD Photo
Time domain lapped transform:
Lapped transform vs. Wavelet:
Slide 7
Similar coding performance Lapped transform has lower complexity
Presented by Jie Liang
Implementation of Microsoft HD Photo Codec on Nokia’s Series 60 Platform
Our Project
The original goals of this project:
To implement HD Photo on Nokia platform, in particular, the N82 phone To compare the complexities and performances of HD Photo and JPEG on Nokia phones
Thanks to Derek’s hard work, we have been able to implement the JPEG 2000 on the Nokia platform as well
This allows a fair comparison between HD Photo and JPEG 2000.
Presented by Jie Liang
Slide 8
Implementation of Microsoft HD Photo Codec on Nokia’s Series 60 Platform
Outline
Introduction • What is HD Photo? • Why HD Photo? HD Photo on Nokia Phones (by Derek) Summary
Slide 9
Implementation of Microsoft HD Photo Codec on Nokia’s Series 60 Platform
Presented by Jie Liang
Reference Codec
HD Photo :
HD Photo Device Porting Kit 1.0 from Microsoft Not Optimized for Symbian platform Written in C
JPEG 2000:
OpenJPEG 1.3 from http://www.openjpeg.org
A more appropriate benchmark to compare the performance with HD Photo Codec Written in C
Slide 10
Implementation of Microsoft HD Photo Codec on Nokia’s Series 60 Platform
Presented by Derek Pang
What we have implemented ?
Environment
Thanks to Nokia Open C initiative
S60 3rd Edition Feature Pack 2, Nokia N82 With modifications, we managed to port both codec to Nokia Series 60 Platform
Intermixing Open C with Symbian C++, a simple GUI application is written
to demonstrate the encoding and decoding of JPEG XR to measure and compare the performance against JPEG and JPEG2000
Slide 11 Implementation of Microsoft HD Photo Codec on Nokia’s Series 60 Platform
Presented by Derek Pang
Screenshots
Slide 12
Implementation of Microsoft HD Photo Codec on Nokia’s Series 60 Platform
Presented by Derek Pang
Result: Quality Comparison
640x480 image, encoded at the same compression rate (3%) with a compressed file size of 27kB.
JPEG, PSNR 32.8dB
J2K, PSNR 35.4dB
JPEGXR, PSNR 36.4dB
Slide 13
Implementation of Microsoft HD Photo Codec on Nokia’s Series 60 Platform
Presented by Derek Pang
Result: Compression Comparison
640x480 image, encoded at same quality.
JPEG
File Size
JPEG XR / JPEG2000
File size
40% smaller compared to JPEG!!
Slide 14
Implementation of Microsoft HD Photo Codec on Nokia’s Series 60 Platform
Presented by Derek Pang
Result : Quality Comparison
Compression Ratio Vs. PSNR
Image Size: 1024 x 768 Platform: Series 60 3rd Edition Target: Nokia N82
50 45 40 35
PSNR (dB)
30 25 20
15
10 5 0 0 2 4 6 8 10 12 14 16 18 20
Compression ratio (%)
JPEGXR
Slide 15
JPEG2000
Presented by Derek Pang
Implementation of Microsoft HD Photo Codec on Nokia’s Series 60 Platform
Result : Performance Comparison
Encoding Time vs. Number of Pixels
Platform: Series 60 3rd Edition Target: Nokia N82
40 35
30
Encoding Time(s)
25
20
15
10
5
0 0 100 200 300 400 Number of KP ('000 pixels) 500 600 700 800
JPEG
Slide 16
JPEG XR
JPEG2000
Presented by Derek Pang
Implementation of Microsoft HD Photo Codec on Nokia’s Series 60 Platform
Result: Performance Comparison
Decoding Time vs. Number of Pixels
Platform: Series 60 3rd Edition Target: Nokia N82
30 25
20
Decoding time (s)
15
10
5
0 0 100 200 300 400 Number of KP('000 pixels) 500 600 700 800
JPEG
Slide 17
JPEG XR
JPEG2000
Presented by Derek Pang
Implementation of Microsoft HD Photo Codec on Nokia’s Series 60 Platform
Outline
Introduction • What is HD Photo? • Why HD Photo? HD Photo on Nokia Phones Summary
Slide 18
Implementation of Microsoft HD Photo Codec on Nokia’s Series 60 Platform
Presented by Derek Pang
Summary
We have implemented HD Photo and JPEG 2000 on Nokia phones
We have verified the advantages of JPEG XR: Better compression efficiency than JPEG Faster encoding/decoding than J2K Possible future work
Integration with Camera and Multimedia API Demonstration of progressive scaling and regional decoding Optimization of the codec
Slide 19
Implementation of Microsoft HD Photo Codec on Nokia’s Series 60 Platform
Presented by Derek Pang
ADDITIONAL SLIDES
Slide 20
Implementation of Microsoft HD Photo Codec on Nokia’s Series 60 Platform
Presented by Derek Pang
Settings UI
Slide 21
Implementation of Microsoft HD Photo Codec on Nokia’s Series 60 Platform
Presented by Derek Pang
Result : JPEG XR vs JPEG
Encoding Time vs. Number of Pixels
Platform: Series 60 3rd Edition Target: Nokia N82
50 45 40 35
Encoding Time (s)
30 25 20 15 10 5 0 0 1 2 3 4 Number of MP 5 6 7 8
JPEG
Slide 22
JPEG XR
Presented by Derek Pang
Implementation of Microsoft HD Photo Codec on Nokia’s Series 60 Platform
Result : JPEG XR vs. JPEG
Decoding Time vs. Number of Pixels
Platform: Series 60 3rd Edition Target: Nokia N82
180 160
140
120
Decoding time (s)
100 80 60
40
20 0 0 1000 2000 3000 4000 Number of KP 5000 6000 7000 8000
JPEG
Slide 23
JPEG XR
Presented by Derek Pang
Implementation of Microsoft HD Photo Codec on Nokia’s Series 60 Platform