CMSC 635Aliasing in imagesAliasing in animationAliasingAbstract Vector SpacesSlide 6Vectors and Discrete FunctionsSlide 8Slide 9Vectors and FunctionsSlide 11Function BasesFourier TransformsConvolutionFilteringIdealSamplingReconstructionFiltering, Sampling, ReconstructionSlide 20AntialiasingAnalytic higher order filteringAnalytic Area SamplingSupersamplingAdaptive samplingStochastic samplingWhich filter kernel?Slide 28ResamplingCMSC 635CMSC 635Sampling and AntialiasingSampling and AntialiasingAliasing in imagesAliasing in imagesQuickTime™ and aBMP decompressorare needed to see this picture.Aliasing in animationAliasing in animationAliasingAliasingHigh frequencies alias as low frequenciesHigh frequencies alias as low frequenciesAbstract Vector SpacesAbstract Vector SpacesAdditionC = A + B = B + A(A + B) + C = A + (B + C)given A, B, A + X = B for only one XScalar multiplyC = a Aa (A + B) = a A + a B(a+b) A = a A + b AAdditionC = A + B = B + A(A + B) + C = A + (B + C)given A, B, A + X = B for only one XScalar multiplyC = a Aa (A + B) = a A + a B(a+b) A = a A + b AAbstract Vector SpacesAbstract Vector SpacesInner or Dot Productb = a (A • B) = a A • B = A • a BA • A ≥ 0; A • A = 0 iff A = 0A • B = (B • A)*Inner or Dot Productb = a (A • B) = a A • B = A • a BA • A ≥ 0; A • A = 0 iff A = 0A • B = (B • A)*Vectors and Discrete FunctionsVectors and Discrete FunctionsGeometric Vector Discrete FunctionVector V = (1, 2, 4) V[I] = {1, 2, 4}InterpretationLinearity a V + b U a V[I] + b U[I]Dot Product V • U ∑ (V[I] U*[I])Vectors and Discrete FunctionsVectors and Discrete Functions2t in terms of t0, t1, t2 = [1,.5,.5]2t in terms of t0, t1, t2 = [1,.5,.5]2t1 t t2Vectors and Discrete FunctionsVectors and Discrete Functions2t in terms of t0, t0.5, t1, t1.5, t22t in terms of t0, t0.5, t1, t1.5, t22t1 t0.5t t1.5t2Vectors and FunctionsVectors and FunctionsVector Discrete ContinuousV V[I] V(x)a V + b U a V[I] + b U[I] a V(x) + b U(x)V • U ∑ V[I] U*[I] ∫ V(x) U*(x) dxVectors and FunctionsVectors and Functions2t projected onto 1, t, t22t projected onto 1, t, t22t1 t t2Function BasesFunction BasesTime:Polynomial / Power Series: Discrete Fourier: integers (where )Continuous Fourier:Time:Polynomial / Power Series: Discrete Fourier: integers (where )Continuous Fourier:Fourier TransformsFourier TransformsDiscrete TimeContinuousTimeDiscreteFrequencyDiscrete Fourier TransformFourier SeriesContinuousFrequencyDiscrete-time Fourier TransformFourier TransformConvolutionConvolution WhereDot product withshifted kernel WhereDot product withshifted kernelFilteringFilteringFilter in frequency domainFT signal to frequency domainMultiply signal & filterFT signal back to time domainFilter in time domainFT filter to time domainConvolve signal & filterFilter in frequency domainFT signal to frequency domainMultiply signal & filterFT signal back to time domainFilter in time domainFT filter to time domainConvolve signal & filterIdealIdealLow pass filter eliminates all high freqbox in frequency domainsinc in spatial domain ( )Possible negative resultsInfinite kernelExact reconstruction to Nyquist limitSample frequency ≥ 2x highest frequencyExact only if reconstructing with syncLow pass filter eliminates all high freqbox in frequency domainsinc in spatial domain ( )Possible negative resultsInfinite kernelExact reconstruction to Nyquist limitSample frequency ≥ 2x highest frequencyExact only if reconstructing with syncSamplingSamplingMultiply signal by pulse trainMultiply signal by pulse trainReconstructionReconstructionConvolve samples & reconstruction filterSum weighted kernel functionsConvolve samples & reconstruction filterSum weighted kernel functionsFiltering, Sampling, ReconstructionFiltering, Sampling, ReconstructionStepsIdeal continuous imageFilterFiltered continuous imageSampleSampled image pixelsReconstruction filterContinuous displayed resultStepsIdeal continuous imageFilterFiltered continuous imageSampleSampled image pixelsReconstruction filterContinuous displayed resultFiltering, Sampling, ReconstructionFiltering, Sampling, ReconstructionCombine filter and sampleIdeal continuous imageSampling filterSampled image pixelsReconstruction filterContinuous displayed resultCombine filter and sampleIdeal continuous imageSampling filterSampled image pixelsReconstruction filterContinuous displayed resultAntialiasingAntialiasingBlur away frequencies that would aliasBlur preferable to aliasingCan combine filtering and samplingEvaluate convolution at sample pointsFilter kernel sizeIIR = infinite impulse responseFIR = finite impulse responseBlur away frequencies that would aliasBlur preferable to aliasingCan combine filtering and samplingEvaluate convolution at sample pointsFilter kernel sizeIIR = infinite impulse responseFIR = finite impulse responseAnalytic higher order filteringAnalytic higher order filteringFold better filter into rasterizationCan make rasterization much harderUsually just done for linesDraw with filter kernel “paintbrush”Only practical for finite filtersFold better filter into rasterizationCan make rasterization much harderUsually just done for linesDraw with filter kernel “paintbrush”Only practical for finite filtersAnalytic Area SamplingAnalytic Area SamplingCompute “area” of pixel coveredBox in spatial domainNice finite kerneleasy to computesinc in freq domainPlenty of high freq still aliasesCompute “area” of pixel coveredBox in spatial domainNice finite kerneleasy to computesinc in freq domainPlenty of high freq still aliasesSupersamplingSupersamplingNumeric integration of filterGrid with equal weight = box filterUnequal weightsPriority samplingPush up Nyquist frequencyEdges: ∞ frequency, still aliasNumeric integration of filterGrid with equal weight = box filterUnequal weightsPriority samplingPush up Nyquist frequencyEdges: ∞ frequency, still aliasAdaptive samplingAdaptive
View Full Document