interpolation techniques; simulation & analysis
DESCRIPTION
CS 584 Multimedia Communication. Interpolation Techniques; Simulation & Analysis. Asmar Azar Khan 2005-06-0003. Objective. Study and analyze different interpolation techniques Performance analysis of these techniques on different performance metrics - PowerPoint PPT PresentationTRANSCRIPT
Interpolation Techniques; Simulation & Analysis
Asmar Azar Khan 2005-06-0003
CS 584 Multimedia Communication
Objective◘ Study and analyze different interpolation
techniques
◘ Performance analysis of these techniques on different performance metrics
◘ To propose a hardware based approach for Interpolation
Agenda ◘ Introduction
◘ Transcoding◘ Image Scaling
◘ Literature Review◘ Interpolation Techniques
◘ Linear◘ Nearest◘ Cubic◘ Spline
◘ Proposed Algorithm ◘ Filtering
◘ Design Implementation ◘ Memory Requirement◘ Delay Requirement
◘ Future Proposals ◘ Questions
Introduction◘ Interoperability of multimedia devices
◘ Each device has different encoder and hence decoding schemes ◘ Broadband TV and Video on demand ◘ PDA and Mobile◘ Online Gaming ◘ Internet Telephony
◘ Role of Transcoders and Image Scaling
Transcoding ◘ A steer demand of multimedia on network have
given rise to challenges ◘ Heterogonous Encoders and Decoders◘ Bit Rate ( video) ◘ Delay ( voice and video) ◘ Quality ( multimedia)
◘ A technique where we change the encoded bit stream on the fly according to receiver compatibility◘ Encoded scheme ◘ Error Correction Techniques ◘ Spatial and Temporal Resolution
Image Scaling ◘ Spatial Resolution of Image and Video
◘ HDTV ( 1620 x 1200) etc… ◘ PC Monitors ( 1280 x 800) XVGA◘ PDA (640 x 480) VGA◘ Mobile (176 x 144) QCIF
Literature Review ◘ Software based approaches
◘ Interpolation Techniques ◘ Nearest Neighbor ◘ Linear ◘ Cubic Spline ◘ Bicubic Spline
◘ Hardware based Nearest Neighbor ◘ Simulations results for Advanced Techniques◘ Recently DCT domain Interpolation has been
presented
Interpolation◘ Whenever an image is desired to be re-
sampled ◘ It is first interpolated to continuous image◘ Then the image is sampled
Interpolator Original Image
Sampler Scaled Image
Interpolation Methods◘ Nearest Neighbor ◘ Linear ◘ Quadratic◘ Cubic B Spline◘ Normal
Nearest Neighbor ◘ Nearest Pixel Value
◘ Less Complex ◘ Low Quality◘ Edge handling
h(x) = 1 ,
0 ,
0 < | x | < 0.5
else
Courtesy: Thomas M. Lehmann , Survey: Interpolation Methods in Medical Image Processing IEEE TRANSACTIONS ON MEDICAL IMAGING, VOL. 18, NO. 11, NOVEMBER 1999
Linear Interpolation:
h(x) = 1 - | x | ,
0 ,
0 < | x | < 1
else
Courtesy: Thomas M. Lehmann , Survey: Interpolation Methods in Medical Image Processing IEEE TRANSACTIONS ON MEDICAL IMAGING, VOL. 18, NO. 11, NOVEMBER 1999
Quadratic Interpolation
h(x) = A1|x|2 + B1|x| + C1 , 0 < |x| <0.5A2|x|2 + B2|x| + C2 , 0.5 < |x| <1.50 , else
Courtesy: Thomas M. Lehmann , Survey: Interpolation Methods in Medical Image Processing IEEE TRANSACTIONS ON MEDICAL IMAGING, VOL. 18, NO. 11, NOVEMBER 1999
B-Spline Interpolation
h(x) = 1/2|x|3 -|x|2 + 2/3 , 0< |x| <1-(1/6)|x|3 + | x|2 -2|x| +4/3, 1< |x| <2
0 , else
Courtesy: Thomas M. Lehmann , Survey: Interpolation Methods in Medical Image Processing IEEE TRANSACTIONS ON MEDICAL IMAGING, VOL. 18, NO. 11, NOVEMBER 1999
Simulation • An image of 512 x 512 was taken
• It was reduced to 256 x 256
• Then interpolated using different techniques
512 x 512 256 x 256 512 x 512Down sampling Interpolation
Preprocessing; Low Pass Filter◘ A 7-tap filter used for CCIR-601 to SIF conversion
[ -29 0 88 138 88 0 -29] * 1/256
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 10
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
2
Simulation; Test Image
SNR Calculation
Interpolation SNR (dbs)Linear 13.0467
Nearest 12.9016
Bi-Cubic 13.0013
Spline 12.9886
Histogram Analysis
0 100 200 300 400 500 6000
10
20
30
40
50
60
70Histogram of Original Filtered Image
Nearest Neighbor
0 100 200 300 400 500 6000
10
20
30
40
50
60Histogram of Nearest Interpolation twice scaling
Linear Interpolation
0 100 200 300 400 500 6000
10
20
30
40
50
60
70Histogram of Linear Interpolation twice scaling
Bicubic Interpolation
0 100 200 300 400 500 6000
10
20
30
40
50
60Histogram of Cubic Interpolation twice scaling
Spline Interpolation
0 100 200 300 400 500 6000
10
20
30
40
50
60 Histogram of Spline Interpolation twice scaling
Nearest Neighbor Nearest Interpolation twice scaling
Linear Interpolation Linear Interpolation twice scaling
Bicubic Interpolation Cubic Interpolation twice scaling
Spline Interpolation Spline Interpolation twice scaling
Fourier Transform of Original Image
0 100 200 300 400 500 600-5
0
5
10
15
20Fourier Transform of Original Filtered Image
Fourier Transform of Nearest Neighbor
0 100 200 300 400 500 6000
2
4
6
8
10
12
14
16Fourier Transform of Nearest Interpolation twice scaling
Fourier Transform of Linear
0 100 200 300 400 500 600-2
0
2
4
6
8
10
12
14
16Fourier Transform of Linear Interpolation twice scaling
Fourier Transform of Bicubic
0 100 200 300 400 500 600-2
0
2
4
6
8
10
12
14
16 Fourier Transform of Cubic Interpolation twice scaling
Fourier Transform of Spline
0 100 200 300 400 500 600-4
-2
0
2
4
6
8
10
12
14
16 Fourier Transform of Spline Interpolation twice scaling
Re sampling Algorithm◘ Low pass filter is applied to avoid aliasing
◘ Up sampling is done first in horizontal direction means column wise and then vertical direction i.e. row wise.
◘ 40/11 is non integer factor ◘ Up sample by 40 ◘ Down sample by 11
◘ Similarly 10/3 factor
Mapping onto scaled image
11
3
40
10
176
14 4
48 0
640
There will be 768 blocks/slices of original and scaled image
Post Processing◘ A 7-tap filter used to convert SIF to CCIR-
601
[-12 0 140 256 140 0 -12] * 1/256
◘ Removes the blocking effects from the interpolated image by introducing blurring
◘ As nearest neighbor techniques introduces sudden changes due to boundary value problems
Controller based approach◘ Distributed memory architecture
◘ State Machine based hardware
◘ Pre processing filtering
◘ Post processing filtering
◘ Memory Read and Write
Distributed Memory Architecture
Mem inMem out
Mem in
Mem in
Mem in
Mem out
Mem out
Mem out
Input Image Output Image
11 to 40 Mapping
a b c d e f g h i j k
a a a b b b b c c c d d d d e e e e f f f g g g g h h h h i i i j j j j k k k k
3 to 10 Mapping
a b c
a a a b b b b c c c
System Block Diagram
I/P RAM(176 x 8)
Hardware O/P RAM(640 x 8)
Data from Memory
8 bit data In
port A address
8 bit data out
Data to Memorystart
7-tap FIR
ROM
Statemachinecontroller
CLK B
Test bench
CLK
reset
CLK C
Future Proposals◘ Advanced Interpolation methods
◘ Cubic Spline◘ Normal Spline
◘ Generic Conversion ◘ Generic scaling ratio
Questions !
I thank you for your time..