Claims
- 1. A method performed by a computer for coding a signal comprising the steps of:defining a cubic-spline filter; correlating the filter with the signal to obtain a correlated signal; autocorrelating the filter to obtain autocorrelated filter coefficients; computing a transform of the correlated signal and the autocorrelated filter coefficients; dividing the transform of the correlated signal by the transform of the autocorrelated filter coefficient to obtain a transform of a compressed signal; and computing an inverse transform of the transform of the compressed signal to obtain the compressed signal.
- 2. The method of claim 1, wherein the signal, the filter, and the transforms are one dimensional.
- 3. The method of claim 1, wherein the signal, the filter, and the transforms are two dimensional.
- 4. The method of claim 1, further comprising the step of computing a convolution of the compressed signal and the filter to obtain a reconstructed signal.
- 5. The method of claim 1, wherein the step of computing a transform comprises computing a fast Fourier transform (FFT) and the step of computing an inverse transform comprises computing an inverse FFT.
- 6. The method of claim 1, wherein the step of computing a transform comprises computing a Winograd discrete Fourier transform (WDFT) with an overlap-save scheme and the step of computing an inverse transform comprises computing an inverse WDFT.
- 7. The method of claim 1, further comprising the step of defining a zonal filter to simplify the steps of correlating and autocorrelating.
- 8. A modified JPEG encoder for data compression comprising:a cubic-spline filter; means for correlating the filter with an input signal to obtain a correlated signal; means for autocorrelating the filter to obtain autocorrelated filter coefficients; means for computing a transform of the correlated signal and the autocorrelated filter coefficients; means for dividing the transform of the correlated signal by the transform of the autocorrelated filter coefficients to obtain a transform of a compressed signal; and means for computing an inverse transform of the transform of the compressed signal to obtain the compressed signal.
- 9. The encoder of claim 8, wherein the signal, the filter, and the transforms are one dimensional.
- 10. The encoder of claim 8, wherein the signal, the filter, and the transforms are two dimensional.
- 11. The encoder of claim 8, further comprising a decoder having means for computing a convolution of the compressed signal and the filter to obtain a reconstructed signal.
- 12. The encoder of claim 8, wherein the means for computing a transform comprises means for computing a fast Fourier transform (FFT) and the means for computing an inverse transform comprises means for computing an inverse FFT.
- 13. The encoder of claim 8, wherein the means for computing a transform comprises means for computing a Winograd discrete Fourier transform (WDFT) with an overlap-save scheme and the means for computing an inverse transform comprises means for computing an inverse WDFT.
- 14. The encoder of claim 8, further comprising means for defining a zonal filter to simplify the means for correlating and the means for autocorrelating.
- 15. A method performed by a computer for coding a 1-D signal comprising the steps of:defining a 1-D cubic-spline filter by R(t)={(3/2)&LeftBracketingBar;t&RightBracketingBar;3-(5/2)&LeftBracketingBar;t&RightBracketingBar;2+1,0≤&LeftBracketingBar;t&RightBracketingBar;<1-(1/2)&LeftBracketingBar;t&RightBracketingBar;3+(5/2)&LeftBracketingBar;t&RightBracketingBar;2-4&LeftBracketingBar;t&RightBracketingBar;+2,1≤&LeftBracketingBar;t&RightBracketingBar;<20,2≤&LeftBracketingBar;t&RightBracketingBar;;(1)applying the filter to an input signal Xm with Yj=∑m=-2 τ+12 τ-1X(m+j τ)R(m)(9)applying Aj,k=∑m=-2 τ+12 τ-1R(m+(j-k)τ)R(m)={∑m=-2 τ+12 τ-1(R(m))2=αif j-k≡0 mod n∑m=-2 τ+12 τ-1R(m+τ)R(m)=βif j-k≡±1 mod n∑m=-2 τ+12 τ-1R(m+2 τ)R(m)=γif j-k≡±2 mod n∑m=-2 τ+12 τ-1R(m+3 τ)R(m)=δif j-k≡±3 mod n0otherwise(10)where Aj,k can be expressed in circulant form by lettingAj,k=B(k−j)n , (11) and where (k−j)n denotes the residue (k−j) modulo n, andB0=α, B1=β, B2=γ, B3=δ, B4=0, . . . , Bn−4=0, Bn−3=δ, Bn−2=γ, (12) Bn−1=β, to compute Bj;computing the FFT of Yj and Bj to obtain {tilde over (Y)}m and {tilde over (B)}m, respectively; computing {tilde over (X)}m={tilde over (Y)}m/{tilde over (B)}m; and computing the inverse FFT of {tilde over (X)}m to obtain a compressed data Xk.
- 16. The method of claim 15 further comprising the step of:applying Xk in ∑k=0n-1Aj,kXk=Yj for 0≤j≤n-1,(5)to perform a convolution of Xk and R(t) given by R(t)={(3/2)&LeftBracketingBar;t&RightBracketingBar;3-(5/2)&LeftBracketingBar;t&RightBracketingBar;2+1,0≤&LeftBracketingBar;t&RightBracketingBar;<1-(1/2)&LeftBracketingBar;t&RightBracketingBar;3+(5/2)&LeftBracketingBar;t&RightBracketingBar;2-4&LeftBracketingBar;t&RightBracketingBar;+2,1≤&LeftBracketingBar;t&RightBracketingBar;<20,2≤&LeftBracketingBar;t&RightBracketingBar;(1)to obtain S(t) given by S(t)=∑k=0n-1XkΨk(t)=∑k=0n-1XkR(t-k τ).(3)
- 17. The method of claim 1, wherein τ=16.
- 18. The method of claim 1, wherein τ=17.
- 19. An encoder for data compression comprising:a 1-D cubic-spline filter defined by R(t)={(3/2)&LeftBracketingBar;t&RightBracketingBar;3-(5/2)&LeftBracketingBar;t&RightBracketingBar;2+1,0≤&LeftBracketingBar;t&RightBracketingBar;<1-(1/2)&LeftBracketingBar;t&RightBracketingBar;3+(5/2)&LeftBracketingBar;t&RightBracketingBar;2-4&LeftBracketingBar;t&RightBracketingBar;+2,1≤&LeftBracketingBar;t&RightBracketingBar;<20,2≤&LeftBracketingBar;t&RightBracketingBar;;(1)means for applying the filter to an input signal Xm with Yj=∑m=-2 τ+12 τ-1X(m+j τ)R(m)(9)to compute Yj; means for applying Aj,k=∑m=-2 τ+12 τ-1R(m+(j-k)τ)R(m)={∑m=-2 τ+12 τ-1(R(m))2=αif j-k≡0 mod n∑m=-2 τ+12 τ-1R(m+τ)R(m)=βif j-k≡±1 mod n∑m=-2 τ+12 τ-1R(m+2 τ)R(m)=γif j-k≡±2 mod n∑m=-2 τ+12 τ-1R(m+3 τ)R(m)=δif j-k≡±3 mod n0otherwise(10)where Aj,k can be expressed in circulant form by lettingAj,k=B(k−j)n ,(11) and where (k−j)n denotes the residue (k−j) modulo n, andB0=α, B1=β, B2=γ, B3=δ, B4=0, . . . , Bn−4=0, Bn−3=δ, Bn−2=γ, (12) Bn−1=β, to compute Bj;means for computing the FFT of Yj and Bj to obtain {tilde over (Y)}m and {tilde over (B)}m, respectively;means for computing {tilde over (X)}m={tilde over (Y)}m/{tilde over (B)}m; and means for computing the inverse FFT of {tilde over (X)}m to obtain a compressed data Xk.
- 20. The encoder of claim 19, further comprising a decoder having means for applying Xk in ∑k=0n-1Aj,kXk=Yj for 0≤j≤n-1,(5)to perform a convolution of Xk and R(t) given by R(t)={(3/2)&LeftBracketingBar;t&RightBracketingBar;3-(5/2)&LeftBracketingBar;t&RightBracketingBar;2+1,0≤&LeftBracketingBar;t&RightBracketingBar;<1-(1/2)&LeftBracketingBar;t&RightBracketingBar;3+(5/2)&LeftBracketingBar;t&RightBracketingBar;2-4&LeftBracketingBar;t&RightBracketingBar;+2,1≤&LeftBracketingBar;t&RightBracketingBar;<20,2≤&LeftBracketingBar;t&RightBracketingBar;(1)to obtain S(t) given by S(t)=∑k=0n-1XkΨk(t)=∑k=0n-1XkR(t-k τ).(3)
- 21. The encoder of claim 19, wherein τ=2.
- 22. The encoder of claim 19, wherein τ=3.
- 23. A method performed by a computer for coding a 2-D signal comprising the steps of:defining a 2-D cubic-spline filter by R(t1,t2)=R(t1)·R(t2), (17) where R(t1) and R(t2) are 1-D cubic-spline functions, respectively; applying the filter to an input signal X(t1, t2) with periods n1τ and n2τ, with Yj1,j2=∑m1=-2 τ+12 τ-1∑m2=-2 τ+12 τ-1X(m1+j1τ,m2+j2τ)R(m1,m2),(25)to compute Yj1,j2; Aj1j2,k1k2=∑m1=-2 τ+12 τ-1∑m2=-2 τ+12 τ-1R(m1+(j1-k1)τ,m2+(j2-k2)τ)R(m1,m2)={∑m1,m2=-2 τ+12 τ-1(R(m1,m2))2=αif j1-k1≡0 mod n1 and j2-k2≡0 mod n2∑m1,m2=-2 τ+12 τ-1R(m1±τ,m2)R(m1,m2)=βif j1-k1≡±1 mod n1 and j2-k2≡0 mod n2 or j1-k1≡0 mod n1 and j2-k2≡±1 mod n2∑m1,m2=-2 τ+12 τ-1R(m1±2 τ,m2)R(m1,m2)=γif j1-k1≡±2 mod n1 and j2-k2≡0 mod n2 or j1-k1≡0 mod n1 and j2-k2≡±2 mod n2∑m1,m2=-2 τ+12 τ-1R(m1±3 τ,m2)R(m1,m2)=δif j1-k1≡±3 mod n1 and j2-k2≡0 mod n2 or j1-k1≡0 mod n1 and j2-k2≡±3 mod n2∑m1,m2=-2 τ+12 τ-1R(m1±τ,m2±τ)R(m1,m2)=ηif j1-k1≡±1 mod n1 and j2-k2≡±1 mod n2∑m1,m2=-2 τ+12 τ-1R(m1±2 τ,m2±τ)R(m1,m2)=λif j1-k1≡±2 mod n1 and j2-k2≡±1 mod n2 or j1-k1≡±1 mod n1 and j2-k2≡±2 mod n2∑m1,m2=-2 τ+12 τ-1R(m1±3 τ,m2±τ)R(m1,m2)=μif j1-k1≡±3 mod n1 and j2-k2≡±1 mod n2 or j1-k1≡±1 mod n1 and j2-k2≡±3 mod n2∑m1,m2=-2 τ+12 τ-1R(m1±2 τ,m2±2 τ)R(m1,m2)=ρif j1-k1≡±2 mod n1 and j2-k2≡±2 mod n2∑m1,m2=-2 τ+12 τ-1R(m1±3 τ,m2±2 τ)R(m1,m2)=σif j1-k1≡±3 mod n1 and j2-k2≡±2 mod n2 or j1-k1≡±2 mod n1 and j2-k2≡±3 mod n20otherwisewhere, the array Aj1j2, k12 can be expressed in 2-D circulant form asAj1j2,k1k2=B(k1−j2)n2(k2−j2)n2 , (27) where (ki−ji)ni denotes the residue (ki−ji) modulo ni for i=1,2 and [Bs1,s2]=(B0,0B0,1B0,2B0,30…0B0,n2-3B0,n2-2B0,n2-1B1,0B1,1B1,2B1,30…0B1,n2-3B1,n2-2B1,n2-1B2,0B2,1B2,2B2,30…0B2,n2-3B2,n2-2B2,n2-1B3,0B3,1B3,200…00B3,n2-2B3,n2-100000…0000⋮⋮⋮⋮⋮⋰⋮⋮⋮⋮00000…0000Bn1-3,0Bn1-3,1Bn1-3,200…00Bn1-3,n2-2Bn1-3,n2-1Bn1-2,0Bn1-2,1Bn1-2,2Bn1-2,30…0Bn1-2,n2-3Bn1-2,n2-2Bn1-2,n2-1Bn1-1,0Bn1-1,1Bn1-1,2Bn1-1,30…0Bn1-1,n2-3Bn1-1,n2-2Bn1-1,n2-1)=(αβγδ0…0δγββηλμ0…0μληγλρσ0…0σρλδμσ00…00σμ00000…0000⋮⋮⋮⋮⋮⋰⋮⋮⋮⋮00000…0000δμσ00…00σμγλρσ0…0σρλβηλμ0…0μλη),(28)where 0≦si≦ni−1 for i=1,2, to compute Bs1,s2;computing the 2-D FFT of Yj1,j2 and Bs1,s2 to obtain {tilde over (Y)}m,n and {tilde over (B)}m,n, respectively; computing {tilde over (Y)}m,n={tilde over (Y)}m,n/{tilde over (B)}m,n; and computing the inverse FFT of {tilde over (X)}m,n to obtain a compressed image Xk1,k2.
- 24. The method of claim 23 further comprising the step of:Applying Xk1,k2 in ∑k1=0n1-1∑k2=0n2-1Xk1,k2Aj1j2,k1k2=Yj1,j2,0≤ji≤ni-1 and i=1,2.(21)to perform a 2-D convolution of Xk1,k2 and R(t1,t2)=R(t1)·R(t2) to obtain a 2-D reconstructed image S(t1,t2).
- 25. The method of claim 23, wherein σ=0.
- 26. The method of claim 23, wherein σ=μ=0.
- 27. The method of claim 23, wherein η=λ=ρ=μ=σ=0.
- 28. The method of claim 23, wherein τ=2.
- 29. The method of claim 23, wherein τ=3.
- 30. An encoder for data compression comprising:a 2-D cubic-spline filter defined by R(t1,t2)=R(t1)·R(t2), (17) where R(t1) and R(t2) are 1-D cubic-spline functions, respectively; means for applying the filter to an input signal x(t1,t2) with periods n1τ and n2τ, with Yj1,j2=∑m1=-2 τ+12 τ-1∑m2=-2 τ+12 τ-1X(m1+j1τ,m2+j2τ)R(m1,m2),(25)to obtain Yj1,j2;means for applying Aj1j2,k1k2=∑m1=-2 τ+12 τ-1∑m2=-2 τ+12 τ-1R(m1+(j1-k1)τ,m2+(j2-k2)τ)R(m1,m2)={∑m1,m2=-2 τ+12 τ-1(R(m1,m2))2=αif j1-k1≡0 mod n1 and j2-k2≡0 mod n2∑m1,m2=-2 τ+12 τ-1R(m1±τ,m2)R(m1,m2)=βif j1-k1≡±1 mod n1 and j2-k2≡0 mod n2 or j1-k1≡0 mod n1 and j2-k2≡±1 mod n2∑m1,m2=-2 τ+12 τ-1R(m1±2 τ,m2)R(m1,m2)=γif j1-k1≡±2 mod n1 and j2-k2≡0 mod n2 or j1-k1≡0 mod n1 and j2-k2≡±2 mod n2∑m1,m2=-2 τ+12 τ-1R(m1±3 τ,m2)R(m1,m2)=δif j1-k1≡±3 mod n1 and j2-k2≡0 mod n2 or j1-k1≡0 mod n1 and j2-k2≡±3 mod n2∑m1,m2=-2 τ+12 τ-1R(m1±τ,m2±τ)R(m1,m2)=ηif j1-k1≡±1 mod n1 and j2-k2≡±1 mod n2∑m1,m2=-2 τ+12 τ-1R(m1±2 τ,m2±τ)R(m1,m2)=λif j1-k1≡±2 mod n1 and j2-k2≡±1 mod n2 or j1-k1≡±1 mod n1 and j2-k2≡±2 mod n2∑m1,m2=-2 τ+12 τ-1R(m1±3 τ,m2±τ)R(m1,m2)=μif j1-k1≡±3 mod n1 and j2-k2≡±1 mod n2 or j1-k1≡±1 mod n1 and j2-k2≡±3 mod n2∑m1,m2=-2 τ+12 τ-1R(m1±2 τ,m2±2 τ)R(m1,m2)=ρif j1-k1≡±2 mod n1 and j2-k2≡±2 mod n2∑m1,m2=-2 τ+12 τ-1R(m1±3 τ,m2±2 τ)R(m1,m2)=σif j1-k1≡±3 mod n1 and j2-k2≡±2 mod n2 or j1-k1≡±2 mod n1 and j2-k2≡±3 mod n20otherwisewhere, the array Aj1j2,k1k2 can be expressed in 2-D circulant form asAj1j2,k1k2=B(k1−j1)n1(k2−j2)n2, , (27) and where (ki−ji)n, denotes the residue (ki−ji) modulo ni for i=1,2 and [Bs1,s2]=(B0,0B0,1B0,2B0,30…0B0,n2-3B0,n2-2B0,n2-1B1,0B1,1B1,2B1,30…0B1,n2-3B1,n2-2B1,n2-1B2,0B2,1B2,2B2,30…0B2,n2-3B2,n2-2B2,n2-1B3,0B3,1B3,200…00B3,n2-2B3,n2-100000…0000⋮⋮⋮⋮⋮⋰⋮⋮⋮⋮00000…0000Bn1-3,0Bn1-3,1Bn1-3,200…00Bn1-3,n2-2Bn1-3,n2-1Bn1-2,0Bn1-2,1Bn1-2,2Bn1-2,30…0Bn1-2,n2-3Bn1-2,n2-2Bn1-2,n2-1Bn1-1,0Bn1-1,1Bn1-1,2Bn1-1,30…0Bn1-1,n2-3Bn1-1,n2-2Bn1-1,n2-1)=(αβγδ0…0δγββηλμ0…0μληγλρσ0…0σρλδμσ00…00σμ00000…0000⋮⋮⋮⋮⋮⋰⋮⋮⋮⋮00000…0000δμσ00…00σμγλρσ0…0σρλβηλμ0…0μλη),(28)where 0≦si≦ni−1 for i=1,2, to obtain Bs1,s2;means for computing the 2-D FFT of Yj1,j2 and Bs1,s2 to obtain {tilde over (Y)}m,n and {tilde over (B)}m,n, respectively; means for computing {tilde over (X)}m,n={tilde over (Y)}m,n/{tilde over (B)}m,n; and means for computing the inverse FFT of {tilde over (Y)}m,n to obtain a compressed image Xk1,k2.
- 31. The encoder of claim 30 further comprising a decoder having means for applying Xk1,k2 in ∑k1=0n1-1∑k2=0n2-1Xk1,k2Aj1j2,k1k2=Yj1,j2,0≦ji≦ni−1 and i=1,2. (21) to perform a 2-D convolution of Xk1,k2 and R(t1,t2) given by R(t1,t2)=R(t1)·R(t2) to obtain a 2-D reconstructed image S(t1,t2).
- 32. The encoder of claim 30, wherein τ=2.
- 33. The encoder of claim 30, wherein τ=3.
- 34. The encoder of claim 30, wherein σ=0.
- 35. The encoder of claim 30, wherein σ=μ=0.
- 36. The encoder of claim 30, wherein η=λ=ρ=μ=σ=0.
- 37. A method performed by a computer for coding an image X(t1,t2) comprising the steps of:applying a zonal filter R(m1,m2) to the image X(t1,t2) where Yj1,j2=∑m1=-2 τ+1 2τ-1∑m2=-2 τ+12 τ-1X(m1+j1τ,m2+j2τ)R(m1,m2),(25)to compute Yj1,j2;applying Aj1j2,k1k2=∑m1=-2 τ+12 τ-1∑m2=-2 τ+12 τ-1R(m1+(j1-k1)τ,m2+(j2-k2)τ)R(m1,m2)={∑m1,m2=-2 τ+12 τ-1(R(m1,m2))2=αif j1-k1≡0 mod n1 and j2-k2≡0 mod n2∑m1,m2=-2 τ+12 τ-1R(m1±τ,m2)R(m1,m2)=βif j1-k1≡±1 mod n1 and j2-k2≡0 mod n2 or j1-k1≡0 mod n1 and j2-k2≡±1 mod n2∑m1,m2=-2 τ+12 τ-1R(m1±2 τ,m2)R(m1,m2)=γif j1-k1≡±2 mod n1 and j2-k2≡0 mod n2 or j1-k1≡0 mod n1 and j2-k2≡±2 mod n2∑m1,m2=-2 τ+12 τ-1R(m1±3 τ,m2)R(m1,m2)=δif j1-k1≡±3 mod n1 and j2-k2≡0 mod n2 or j1-k1≡0 mod n1 and j2-k2≡±3 mod n2∑m1,m2=-2 τ+12 τ-1R(m1±τ,m2±τ)R(m1,m2)=ηif j1-k1≡±1 mod n1 and j2-k2≡±1 mod n2∑m1,m2=-2 τ+12 τ-1R(m1±2 τ,m2±τ)R(m1,m2)=λif j1-k1≡±2 mod n1 and j2-k2≡±1 mod n2 or j1-k1≡±1 mod n1 and j2-k2≡±2 mod n2∑m1,m2=-2 τ+12 τ-1R(m1±3 τ,m2± τ)R(m1,m2)=μif j1-k1≡±3 mod n1 and j2-k2≡±1 mod n2 or j1-k1≡±1 mod n1 and j2-k2≡±3 mod n2∑m1,m2=-2 τ+12 τ-1R(m1±2 τ,m2±2 τ)R(m1,m2)=ρif j1-k1≡±2 mod n1 and j2-k2≡±2 mod n2∑m1,m2=-2 τ+12 τ-1R(m1±3 τ,m2±2 τ)R(m1,m2)=σif j1-k1≡±3 mod n1 and j2-k2≡±2 mod n2 or j1-k1≡±2 mod n1 and j2-k2≡±3 mod n20otherwisewhere, the array Aj1j2,k1k2 can be expressed in 2-D circulant form asAj1j2,k1k2=B(k1−j1)n1,(k2−j2)n2 , (27) and where (ki−ji)ni denotes the residue (ki−ji) modulo ni for i=1,2 and [Bs1,s2]=(B0,0B0,1B0,2B0,30…0B0,n2-3B0,n2-2B0,n2-1B1,0B1,1B1,2B1,30…0B1,n2-3B1,n2-2B1,n2-1B2,0B2,1B2,2B2,30…0B2,n2-3B2,n2-2B2,n2-1B3,0B3,1B3,200…00B3,n2-2B3,n2-100000…0000⋮⋮⋮⋮⋮⋰⋮⋮⋮⋮00000…0000Bn1-3,0Bn1-3,1Bn1-3,200…00Bn1-3,n2-2Bn1-3,n2-1Bn1-2,0Bn1-2,1Bn1-2,2Bn1-2,30…0Bn1-2,n2-3Bn1-2,n2-2Bn1-2,n2-1Bn1-1,0Bn1-1,1Bn1-1,2Bn1-1,30…0Bn1-1,n2-3Bn1-1,n2-2Bn1-1,n2-1)=(αβγδ0…0δγββηλμ0…0μληγλρσ0…0σρλδμσ00…00σμ00000…0000⋮⋮⋮⋮⋮⋰⋮⋮⋮⋮00000…0000δμσ00…00σμγλρσ0…0σρλβηλμ0…0μλη),(28)where 0≦si≦ni−1 for i=1,2, to compute Bs1,s2;where constants α,β,γ,δ, η,λ,ρ,μ, and σ are autocorrelation coefficients between zonal filter R(m1,m2); dividing all of the coefficients Bs1,s2 into respective overlapping sub-images of Bs1,s2 with a border of width 2; computing a Winograd discrete Fourier transform (WDFT) of all overlapping sub-images of Bs1,s2 to obtain coefficients, {tilde over (B)}m,n; dividing all of the coefficients Yj1,j2 into respective overlapping sub-images of Yj1,j2 with a border of width 2; computing a WDFT of all overlapping sub-images of Yj1,j2 to obtain transforms of respective sub-images of {tilde over (Y)}m,n; computing {tilde over (X)}m,n={tilde over (Y)}m,n/{tilde over (B)}m,n to obtain each sub-image of {tilde over (X)}m,n; computing an inverse WDFT of all of the sub-images of {tilde over (X)}m,n to obtain sub-images of Xk1,k2; removing duplicate pixels in an overlapping border of two adjacent sub-images of Xk1,k2; and combining each non-overlapping sub-image of Xk1,k2 to obtain the entire image of Xk1,k2.
- 38. The method of claim 37, wherein τ=2.
- 39. The method of claim 37, wherein τ=3.
- 40. The method of claim 37, wherein the autocorrelation coefficient between zonal filter σ=0.
- 41. The method of claim 37, wherein autocorrelation coefficients between zonal filter σ=μ=0.
- 42. The method of claim 37, wherein autocorrelation coefficients between zonal filter η=λ=ρ=μ=σ=0.
- 43. The method of claim 37, wherein the WDFT is a 9×9 WDFT given by X(k)=∑n=08x(n)Wnk, k=0,… ,8,(41)and the sub-images of Yj1,j2 are 9×9.
- 44. The method of claim 37, wherein the WDFT is a 5×WDFT given by, X(k)=∑n=04x(n)Wnk, k=0,… ,4,(42)and the sub-images of Yj1,j2 are 5×5.
- 45. The method of claim 27 further comprising the step of:applying Xk1,k2 in ∑k1=0n1-1∑k2=0n2-1Xk1,k2Aj1j2,k1k2=Yj1,j2,0≤ji≤ni-1 and i=1,2.(21)to perform a 2-D convolution of Xk1,k2 and R(t1,t2) to obtain a 2-D reconstructed image S(t1,t2).
- 46. A modified JPEG encoder for image compression comprising:means for applying a zonal filter R(m1,m2) to an image X(t1,t2) where Yj1,j2=∑m1=-2 τ+12 τ-1∑m2=-2 τ+12 τ-1X(m1+j1τ,m2+j2τ)R(m1,m2),(25)to compute Yj1,j2;means for applying Aj1,j2,k1k2=∑m1=-2 τ+12 τ-1∑m2=-2 τ+12 τ-1R(m1+(j1-k1)τ,m2+(j2-k2)τ)R(m1,m2)={∑m1,m2=-2 τ+12 τ-1(R(m1,m2))2=αif j1-k1≡0 mod n1 and j2-k2≡0 mod n2∑m1,m2=-2 τ+12 τ-1R(m1±τ,m2)R(m1,m2)=βif j1-k1≡±1 mod n1 and j2-k2≡0 mod n2 or j1-k1≡0 mod n1 and j2-k2≡±1mod n2∑m1,m2=-2 τ+12 τ-1R(m1±2 τ,m2)R(m1,m2)=γif j1-k1≡±2 mod n1 and j2-k2≡0 mod n2 or j1-k1≡0 mod n1 and j2-k2≡±2 mod n2∑m1,m2=-2 τ+12 τ-1R(m1±3 τ,m2)R(m1,m2)=δif j1-k1≡±3 mod n1 and j2-k2≡0 mod n2 or j1-k1≡0 modn1 and j2-k2≡±3 mod n2∑m1,m2=-2 τ+12 τ-1R(m1±τ,m2±τ)R(m1,m2)=ηif j1-k1≡±1modn1 and j2-k2≡±1mod n2∑m1,m2=-2 τ+12 τ-1R(m1±2 τ,m2±τ)R(m1,m2)=λif j1-k1≡±2modn1 and j2-k2≡±1modn2 or j1-k1≡±1 mod n1 and j2-k2≡±2 mod n2∑m1,m2=-2 τ+12 τ-1R(m1±3 τ,m2±τ)R(m1,m2)=μif j1-k1≡±3 mod n1 and j2-k2≡±1 mod n2 or j1-k1≡±1 mod n1 and j2-k2≡±3 mod n2∑m1,m2=-2 τ+12 τ-1R(m1±2 τ,m2±2 τ)R(m1,m2)=ρif j1-k1≡±2 mod n1 and j2-k2≡±2 mod n2∑m1,m2=-2 τ+12 τ-1R(m1±3 τ,m2±2 τ)R(m1,m2)=σif j1-k1≡±3 mod n1 and j2-k2≡±2mod n2 or j1-k1≡±2 mod n1 and j2-k2≡±3 mod n20otherwisewhere, the array Aj1j2,k1k2 can be expressed in 2-D circulant form asAj1j2,k1k2=B(k1−j1)n1, (k2−j2)n2 , (27) and where (ki−ji)ni denotes the residue (ki−ji) modulo ni for i=1,2 and [Bs1,s2]=(B0,0B0,1B0,2B0,30…0B0,n2-3B0,n2-2B0,n2-1B1,0B1,1B1,2B1,30…0B1,n2-3B1,n2-2B1,n2-1B2,0B2,1B2,2B2,30…0B2,n2-3B2,n2-2B2,n2-1B3,0B3,1B3,200…00B3,n2-2B3,n2-100000…0000⋮⋮⋮⋮⋮⋰⋮⋮⋮⋮00000…0000Bn1-3,0Bn1-3,1Bn1-3,200…00Bn1-3,n2-2Bn1-3,n2-1Bn1-2,0Bn1-2,1Bn1-2,2Bn1-2,30…0Bn1-2,n2-3Bn1-2,n2-2Bn1-2,n2-1Bn1-1,0Bn1-1,1Bn1-1,2Bn1-1,30…0Bn1-1,n2-3Bn1-1,n2-2Bn1-1,n2-1)=(αβγδ0…0δγββηλμ0…0μληγλρσ0…0σρλδμσ00…00σμ00000…0000⋮⋮⋮⋮⋮⋰⋮⋮⋮⋮00000…0000δμσ00…00σμγλρσ0…0σρλβηλμ0…0μλη),(28)where 0≦si≦ni−1 for i=1,2, to compute Bs1,s2;where constants α,β,λ,δ,η,γ,ρ,μ, and σ are autocorrelation coefficients between zonal filter R(m1,m2); means for dividing all of the coefficients Bs1,s2 into respective overlapping sub-images of Bs1,s2 with a border of width 2; means for computing a Winograd discrete Fourier transform (WDFT) of all overlapping sup-images of Bs1,s2 to obtain coefficients, {tilde over (B)}m,n; means for dividing all of the coefficients Yj1,j2 into respective overlapping sub-images of Yj1j2 with a border of width 2; means for computing a WDFT of all overlapping sub-images of Yj1j2 to obtain transforms of respective sub-images of {tilde over (Y)}m,n; means for computing {tilde over (X)}m,n={tilde over (Y)}m,n/{tilde over (B)}m,n to obtain each sub-image of {tilde over (X)}m,n; means for computing an inverse WDFT of all of the sub-images of {tilde over (X)}m,n to obtain sub-images of Xk1,k2; means for removing duplicate pixels in an overlapping border of two adjacent sub-images of Xk1,k2; and means for combining each non-overlapping sub-image of Xk1,k2 to obtain the entire image of Xk1,k2.
- 47. The encoder of claim 46, wherein τ=2.
- 48. The encoder of claim 46, wherein τ=3.
- 49. The encoder of claim 46, wherein the autocorrelation coefficient betwen zonal filter σ=0.
- 50. The encoder of claim 46, wherein autocorrelation coefficients between zonal filter σ=μ=0.
- 51. The encoder of claim 46, wherein autocorrelation coefficients between zonal filter η=λ=ρ=μ=σ=0.
- 52. The encoder of claim 46, wherein the WDFT is a 9×9 WDFT given by X(k)=∑n=08x(n)Wnk, k=0,… ,8,(41)and the sub-images of Yj1,j2 are 9×9.
- 53. The encoder of claim 46, wherein the WDFT is a 5×5 WDFT given by, X(k)=∑n=04x(n)Wnk, k=0,… ,4,(42)and the sub-images of Yj1,j2 are 5×5.
- 54. The encoder of claim 46, further comprising a decoder having means for applying Xk1,k2 in ∑k1=0n1-1∑k2=0n2-1Xk1,k2Aj1j2,k1k2=Yj1,j2,0≦ji≦ni−1 and i=1,2. to perform a 2-D convolution of Xk1,k2 and R(t1,t2) to obtain a 2-D reconstructed image.
CROSS REFERENCE TO RELATED APPLICATIONS
This patent application claims the benefit of the filing date of U.S. Provisional Patent Applications Serial Nos. 60/152,772, filed Sep. 3, 1999 and entitled “FAST AND EFFICIENT COMPUTATION OF CUBIC-SPLINE INTERPOLATION IN IMAGE CODEC,” and 60/180,012, filed Feb. 3, 2000 and entitled “FAST AND EFFICIENT COMPUTATION OF CUBIC-SPLINE INTERPOLATION IN IMAGE CODEC,” the entire contents of which are hereby expressly incorporated by reference.
US Referenced Citations (2)
Number |
Name |
Date |
Kind |
5822456 |
Reed et al. |
Oct 1998 |
A |
5892847 |
Johnson |
Apr 1999 |
A |
Non-Patent Literature Citations (2)
Entry |
Keys. “Cubic convolution interpolation for digital image processing”. Acoustics, Speech, and Signal Processing, IEEE Transactions on, vol.: 29 Issue: 6, Dec. 1981, pp.: 1153-1160.* |
International Preliminary Examination Report dated Sep. 18, 2001. |
Provisional Applications (2)
|
Number |
Date |
Country |
|
60/180012 |
Feb 2000 |
US |
|
60/152772 |
Sep 1999 |
US |