Title: Andrew C. Gallagher1
1 Detection of Linear and Cubic Interpolation in
JPEG Compressed Images
- Andrew C. Gallagher
- Eastman Kodak Company
- andrew.gallagher_at_kodak.com
2The Problem
- An image consists of a number of discrete
samples. - Interpolation can be used to modify the number of
and locations of the samples. - Given an image, can interpolation be detected? If
so, can the interpolation rate be determined?
3The Concept
i(x0)
y(n0)
y(n1)
y(n2)
- A interpolated sample is a linear combination of
neighboring original samples y(n0). - The weights depend on the relative positions of
the original and interpolated samples. - Thus, the distribution (calculated from many
lines) of interpolated samples depends on
position.
x0
n0
n1
n2
Original samples and an interpolated sample
4The Periodic Signal v(x)
i(x0 -D)
i(x0 -D)
i(x0)
y(n0)
y(n1)
y(n2)
- The second derivative of interpolated samples is
computed. - The distribution of the resulting signal is
periodic with period equal to the period of the
original signal. - The expected periodic signal can be calculated
explicitly for specific interpolators, assuming
the sample value distribution is known.
d
x0
x0-D
x0D
n0
n1
n2
Original samples and an interpolated sample
1 period
v(x)
n0
n1
n2
Distribution (standard deviation) of interpolated
samples
5The Periodic Signal v(x)
This property can be exploited by an algorithm
designed to detect linear interpolation.
6The Algorithm
p(i,j)
- In Matlab, the first three boxes can be executed
as - bdd diff(diff(double(b)))
- bm mean(abs(bdd),2)
- bf fft(bm)
- A peak in the DFT signal corresponds to
interpolation with rate -
compute second derivativeof each row
average across rows
compute Discrete Fourier Transform
estimate interpolation rate N
(assuming no aliasing)
7Resolving Aliasing
- The algorithm produces samples of the periodic
signal v(x). - Aliasing occurs when sampled below the Nyquist
rate (2 samples per period). - All interpolation rateswill alias to N.
- Only two possible solutions for rates Ngt1
(upsampling). An infinite number of solutions for
Nlt1. - The correct rate can often be determined through
prior knowledge of the system.
(Q a positive integer)
8Example Signals N 2
After summing across rows v(x)
9Example DFT Signals
10Effect of JPEG Compression
- Heavy JPEG compression appears similar to an
interpolation by 8. - Therefore, the peaks in the DFT signal associated
with JPEG compression must be ignored.
interpolation N 2.8JPEG compression
no interpolationJPEG compression
o(i,j)
digital zoom by N
After computing DFT
JPEG compression
p(i,j)
11Experiment
- A Kodak CX7300 (3MP) captured 114 images
- 13 images were non-interpolated. The remainder
were interpolated with rate between 1.1 and 3.0.
N
12Results
- Algorithm correctly classified between
interpolated (101) and non-interpolated (13)
images. - Interpolation rate was correctly estimated for 85
images. - For the remaining 16 images, the algorithm
identified the interpolation rate as either 1.5
or 3.0. This is correct but ambiguous.
13Conclusions
- Linear interpolation in images can be robustly
detected. - The interpolation detection algorithm performs
well even when the interpolated image has
undergone JPEG compression. - The algorithm is computationally efficient.
- The algorithm has commercial applications in
printing, image metrology and authentication.