![Page 1: Interpolation Techniques; Simulation & Analysis](https://reader038.vdocuments.net/reader038/viewer/2022103023/56812aad550346895d8e73ce/html5/thumbnails/1.jpg)
Interpolation Techniques; Simulation & Analysis
Asmar Azar Khan 2005-06-0003
CS 584 Multimedia Communication
![Page 2: Interpolation Techniques; Simulation & Analysis](https://reader038.vdocuments.net/reader038/viewer/2022103023/56812aad550346895d8e73ce/html5/thumbnails/2.jpg)
Objective◘ Study and analyze different interpolation
techniques
◘ Performance analysis of these techniques on different performance metrics
◘ To propose a hardware based approach for Interpolation
![Page 3: Interpolation Techniques; Simulation & Analysis](https://reader038.vdocuments.net/reader038/viewer/2022103023/56812aad550346895d8e73ce/html5/thumbnails/3.jpg)
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
![Page 4: Interpolation Techniques; Simulation & Analysis](https://reader038.vdocuments.net/reader038/viewer/2022103023/56812aad550346895d8e73ce/html5/thumbnails/4.jpg)
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
![Page 5: Interpolation Techniques; Simulation & Analysis](https://reader038.vdocuments.net/reader038/viewer/2022103023/56812aad550346895d8e73ce/html5/thumbnails/5.jpg)
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
![Page 6: Interpolation Techniques; Simulation & Analysis](https://reader038.vdocuments.net/reader038/viewer/2022103023/56812aad550346895d8e73ce/html5/thumbnails/6.jpg)
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
![Page 7: Interpolation Techniques; Simulation & Analysis](https://reader038.vdocuments.net/reader038/viewer/2022103023/56812aad550346895d8e73ce/html5/thumbnails/7.jpg)
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
![Page 8: Interpolation Techniques; Simulation & Analysis](https://reader038.vdocuments.net/reader038/viewer/2022103023/56812aad550346895d8e73ce/html5/thumbnails/8.jpg)
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
![Page 9: Interpolation Techniques; Simulation & Analysis](https://reader038.vdocuments.net/reader038/viewer/2022103023/56812aad550346895d8e73ce/html5/thumbnails/9.jpg)
Interpolation Methods◘ Nearest Neighbor ◘ Linear ◘ Quadratic◘ Cubic B Spline◘ Normal
![Page 10: Interpolation Techniques; Simulation & Analysis](https://reader038.vdocuments.net/reader038/viewer/2022103023/56812aad550346895d8e73ce/html5/thumbnails/10.jpg)
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
![Page 11: Interpolation Techniques; Simulation & Analysis](https://reader038.vdocuments.net/reader038/viewer/2022103023/56812aad550346895d8e73ce/html5/thumbnails/11.jpg)
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
![Page 12: Interpolation Techniques; Simulation & Analysis](https://reader038.vdocuments.net/reader038/viewer/2022103023/56812aad550346895d8e73ce/html5/thumbnails/12.jpg)
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
![Page 13: Interpolation Techniques; Simulation & Analysis](https://reader038.vdocuments.net/reader038/viewer/2022103023/56812aad550346895d8e73ce/html5/thumbnails/13.jpg)
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
![Page 14: Interpolation Techniques; Simulation & Analysis](https://reader038.vdocuments.net/reader038/viewer/2022103023/56812aad550346895d8e73ce/html5/thumbnails/14.jpg)
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
![Page 15: Interpolation Techniques; Simulation & Analysis](https://reader038.vdocuments.net/reader038/viewer/2022103023/56812aad550346895d8e73ce/html5/thumbnails/15.jpg)
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
![Page 16: Interpolation Techniques; Simulation & Analysis](https://reader038.vdocuments.net/reader038/viewer/2022103023/56812aad550346895d8e73ce/html5/thumbnails/16.jpg)
Simulation; Test Image
![Page 17: Interpolation Techniques; Simulation & Analysis](https://reader038.vdocuments.net/reader038/viewer/2022103023/56812aad550346895d8e73ce/html5/thumbnails/17.jpg)
SNR Calculation
Interpolation SNR (dbs)Linear 13.0467
Nearest 12.9016
Bi-Cubic 13.0013
Spline 12.9886
![Page 18: Interpolation Techniques; Simulation & Analysis](https://reader038.vdocuments.net/reader038/viewer/2022103023/56812aad550346895d8e73ce/html5/thumbnails/18.jpg)
Histogram Analysis
0 100 200 300 400 500 6000
10
20
30
40
50
60
70Histogram of Original Filtered Image
![Page 19: Interpolation Techniques; Simulation & Analysis](https://reader038.vdocuments.net/reader038/viewer/2022103023/56812aad550346895d8e73ce/html5/thumbnails/19.jpg)
Nearest Neighbor
0 100 200 300 400 500 6000
10
20
30
40
50
60Histogram of Nearest Interpolation twice scaling
![Page 20: Interpolation Techniques; Simulation & Analysis](https://reader038.vdocuments.net/reader038/viewer/2022103023/56812aad550346895d8e73ce/html5/thumbnails/20.jpg)
Linear Interpolation
0 100 200 300 400 500 6000
10
20
30
40
50
60
70Histogram of Linear Interpolation twice scaling
![Page 21: Interpolation Techniques; Simulation & Analysis](https://reader038.vdocuments.net/reader038/viewer/2022103023/56812aad550346895d8e73ce/html5/thumbnails/21.jpg)
Bicubic Interpolation
0 100 200 300 400 500 6000
10
20
30
40
50
60Histogram of Cubic Interpolation twice scaling
![Page 22: Interpolation Techniques; Simulation & Analysis](https://reader038.vdocuments.net/reader038/viewer/2022103023/56812aad550346895d8e73ce/html5/thumbnails/22.jpg)
Spline Interpolation
0 100 200 300 400 500 6000
10
20
30
40
50
60 Histogram of Spline Interpolation twice scaling
![Page 23: Interpolation Techniques; Simulation & Analysis](https://reader038.vdocuments.net/reader038/viewer/2022103023/56812aad550346895d8e73ce/html5/thumbnails/23.jpg)
Nearest Neighbor Nearest Interpolation twice scaling
![Page 24: Interpolation Techniques; Simulation & Analysis](https://reader038.vdocuments.net/reader038/viewer/2022103023/56812aad550346895d8e73ce/html5/thumbnails/24.jpg)
Linear Interpolation Linear Interpolation twice scaling
![Page 25: Interpolation Techniques; Simulation & Analysis](https://reader038.vdocuments.net/reader038/viewer/2022103023/56812aad550346895d8e73ce/html5/thumbnails/25.jpg)
Bicubic Interpolation Cubic Interpolation twice scaling
![Page 26: Interpolation Techniques; Simulation & Analysis](https://reader038.vdocuments.net/reader038/viewer/2022103023/56812aad550346895d8e73ce/html5/thumbnails/26.jpg)
Spline Interpolation Spline Interpolation twice scaling
![Page 27: Interpolation Techniques; Simulation & Analysis](https://reader038.vdocuments.net/reader038/viewer/2022103023/56812aad550346895d8e73ce/html5/thumbnails/27.jpg)
Fourier Transform of Original Image
0 100 200 300 400 500 600-5
0
5
10
15
20Fourier Transform of Original Filtered Image
![Page 28: Interpolation Techniques; Simulation & Analysis](https://reader038.vdocuments.net/reader038/viewer/2022103023/56812aad550346895d8e73ce/html5/thumbnails/28.jpg)
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
![Page 29: Interpolation Techniques; Simulation & Analysis](https://reader038.vdocuments.net/reader038/viewer/2022103023/56812aad550346895d8e73ce/html5/thumbnails/29.jpg)
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
![Page 30: Interpolation Techniques; Simulation & Analysis](https://reader038.vdocuments.net/reader038/viewer/2022103023/56812aad550346895d8e73ce/html5/thumbnails/30.jpg)
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
![Page 31: Interpolation Techniques; Simulation & Analysis](https://reader038.vdocuments.net/reader038/viewer/2022103023/56812aad550346895d8e73ce/html5/thumbnails/31.jpg)
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
![Page 32: Interpolation Techniques; Simulation & Analysis](https://reader038.vdocuments.net/reader038/viewer/2022103023/56812aad550346895d8e73ce/html5/thumbnails/32.jpg)
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
![Page 33: Interpolation Techniques; Simulation & Analysis](https://reader038.vdocuments.net/reader038/viewer/2022103023/56812aad550346895d8e73ce/html5/thumbnails/33.jpg)
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
![Page 34: Interpolation Techniques; Simulation & Analysis](https://reader038.vdocuments.net/reader038/viewer/2022103023/56812aad550346895d8e73ce/html5/thumbnails/34.jpg)
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
![Page 35: Interpolation Techniques; Simulation & Analysis](https://reader038.vdocuments.net/reader038/viewer/2022103023/56812aad550346895d8e73ce/html5/thumbnails/35.jpg)
Controller based approach◘ Distributed memory architecture
◘ State Machine based hardware
◘ Pre processing filtering
◘ Post processing filtering
◘ Memory Read and Write
![Page 36: Interpolation Techniques; Simulation & Analysis](https://reader038.vdocuments.net/reader038/viewer/2022103023/56812aad550346895d8e73ce/html5/thumbnails/36.jpg)
Distributed Memory Architecture
Mem inMem out
Mem in
Mem in
Mem in
Mem out
Mem out
Mem out
Input Image Output Image
![Page 37: Interpolation Techniques; Simulation & Analysis](https://reader038.vdocuments.net/reader038/viewer/2022103023/56812aad550346895d8e73ce/html5/thumbnails/37.jpg)
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
![Page 38: Interpolation Techniques; Simulation & Analysis](https://reader038.vdocuments.net/reader038/viewer/2022103023/56812aad550346895d8e73ce/html5/thumbnails/38.jpg)
3 to 10 Mapping
a b c
a a a b b b b c c c
![Page 39: Interpolation Techniques; Simulation & Analysis](https://reader038.vdocuments.net/reader038/viewer/2022103023/56812aad550346895d8e73ce/html5/thumbnails/39.jpg)
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
![Page 40: Interpolation Techniques; Simulation & Analysis](https://reader038.vdocuments.net/reader038/viewer/2022103023/56812aad550346895d8e73ce/html5/thumbnails/40.jpg)
Future Proposals◘ Advanced Interpolation methods
◘ Cubic Spline◘ Normal Spline
◘ Generic Conversion ◘ Generic scaling ratio
![Page 41: Interpolation Techniques; Simulation & Analysis](https://reader038.vdocuments.net/reader038/viewer/2022103023/56812aad550346895d8e73ce/html5/thumbnails/41.jpg)
Questions !
![Page 42: Interpolation Techniques; Simulation & Analysis](https://reader038.vdocuments.net/reader038/viewer/2022103023/56812aad550346895d8e73ce/html5/thumbnails/42.jpg)
I thank you for your time..