MS Project Final Presentation

Download Report

Transcript MS Project Final Presentation

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
◘ 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 resampled
◘ It is first interpolated to continuous image
◘ Then the image is sampled
Original
Image
Interpolator
Sampler
Scaled
Image
Interpolation Methods
◘ Nearest Neighbor
◘ Linear
◘ Quadratic
◘ Cubic B Spline
◘ Normal
Nearest Neighbor
◘ Nearest Pixel Value
◘ Less Complex
◘ Low Quality
◘ Edge handling
Courtesy: Thomas M. Lehmann , Survey: Interpolation Methods in Medical Image Processing IEEE TRANSACTIONS ON MEDICAL IMAGING, VOL. 18, NO.
11, NOVEMBER 1999
h(x)
=
1 , 0 < | x | < 0.5
0 , else
Linear Interpolation:
Courtesy: Thomas M. Lehmann , Survey: Interpolation Methods in Medical Image Processing IEEE TRANSACTIONS ON MEDICAL IMAGING, VOL. 18, NO. 11, NOVEMBER 1999
h(x)
=
1-|x|,
0,
0<|x|<1
else
Quadratic Interpolation
Courtesy: Thomas M. Lehmann , Survey: Interpolation Methods in Medical Image Processing IEEE TRANSACTIONS ON MEDICAL IMAGING, VOL. 18, NO. 11, NOVEMBER 1999
h(x) =
A1|x|2 + B1|x| + C1 , 0 < |x| <0.5
A2|x|2 + B2|x| + C2 , 0.5 < |x| <1.5
0,
else
B-Spline Interpolation
Courtesy: Thomas M. Lehmann , Survey: Interpolation Methods in Medical Image Processing IEEE TRANSACTIONS ON MEDICAL IMAGING, VOL. 18, NO.
11, NOVEMBER 1999
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
Simulation
• An image of 512 x 512 was taken
• It was reduced to 256 x 256
• Then interpolated using different techniques
Down sampling
512 x 512
Interpolation
256 x 256
512 x 512
Preprocessing; Low Pass Filter
◘ A 7-tap filter used for CCIR-601 to SIF conversion
[ -29 0 88 138 88 0 -29] * 1/256
2
1.8
1.6
1.4
1.2
1
0.8
0.6
0.4
0.2
0
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
Simulation; Test Image
SNR Calculation
Interpolation
SNR (dbs)
Linear
13.0467
Nearest
12.9016
Bi-Cubic
13.0013
Spline
12.9886
Histogram Analysis
Histogram of Original Filtered Image
70
60
50
40
30
20
10
0
0
100
200
300
400
500
600
Nearest Neighbor
Histogram of Nearest Interpolation twice scaling
60
50
40
30
20
10
0
0
100
200
300
400
500
600
Linear Interpolation
Histogram of Linear Interpolation twice scaling
70
60
50
40
30
20
10
0
0
100
200
300
400
500
600
Bicubic Interpolation
Histogram of Cubic Interpolation twice scaling
60
50
40
30
20
10
0
0
100
200
300
400
500
600
Spline Interpolation
Histogram of Spline Interpolation twice scaling
60
50
40
30
20
10
0
0
100
200
300
400
500
600
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
Fourier Transform of Original Filtered Image
20
15
10
5
0
-5
0
100
200
300
400
500
600
Fourier Transform of Nearest
Neighbor
Fourier Transform of Nearest Interpolation twice scaling
16
14
12
10
8
6
4
2
0
0
100
200
300
400
500
600
Fourier Transform of Linear
Fourier Transform of Linear Interpolation twice scaling
16
14
12
10
8
6
4
2
0
-2
0
100
200
300
400
500
600
Fourier Transform of Bicubic
Fourier Transform of Cubic Interpolation twice scaling
16
14
12
10
8
6
4
2
0
-2
0
100
200
300
400
500
600
Fourier Transform of Spline
Fourier Transform of Spline Interpolation twice scaling
16
14
12
10
8
6
4
2
0
-2
-4
0
100
200
300
400
500
600
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
640
480
144
176
40
10
3
11
There will be 768 blocks/slices of original and scaled image
Post Processing
◘ A 7-tap filter used to convert SIF to CCIR601
[-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 in
Input Image
Mem
out
Mem in
Mem
out
Mem in
Mem
out
Mem in
Mem
out
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
Data from Memory
CLK
State
machine
controller
8 bit data In
I/P RAM
(176 x 8)
Data to Memory
start
Hardware
8 bit data out
ROM
O/P RAM
(640 x 8)
port A address
7-tap FIR
CLK C
CLK B
Test bench
reset
Future Proposals
◘ Advanced Interpolation methods
◘ Cubic Spline
◘ Normal Spline
◘ Generic Conversion
◘ Generic scaling ratio
Questions !
I thank you for your
time..