The term post-processing (or postproc for short) is used in the video/film business for quality-improvement image processing (specifically digital image processing) methods used in video playback devices, (such as stand-alone DVD-Video players), and video players software and transcoding software. It is also commonly used in real-time 3D rendering (such as in video games) to add additional effects.
Video post-processing is the process of changing the perceived quality of a video on playback (done after the decoding process). Image scaling routines such as linear interpolation, bilinear interpolation, or cubic interpolation can for example be performed when increasing the size of images; this involves either subsampling (reducing or shrinking an image) or zooming (enlarging an image). This helps reduce or hide image artifacts and flaws in the original film material. It is important to understand that post-processing always involves a trade-off between speed, smoothness and sharpness.
Image scaling and multivariate interpolation:Nearest-neighbor interpolationlinear interpolationbilinear interpolationcubic interpolationbicubic interpolationBézier surfaceLanczos resamplingtrilinear interpolationTricubic interpolationSPP (Statistical-Post-Processing)DeblockingDeringingSharpen / Unsharpen (often referred to as "soften")RequantizationLuminance alterationsBlurring / DenoisingDeinterlacingweave deinterlace methodbob deinterlace methodlinear deinterlace methodyadif deinterlace methodDeflicking2:3 pull-down / ivtc (inverse telecine) for conversion from 24 frames/s and 23.976 frames/s to 30 frames/s and 29.97 frames/s3:2 pull-up (telecine conversion) for conversion from 30 frames/s and 29.97 frames/s to 24 frames/s and 23.976 frames/sAdditionally, post-processing is commonly used in 3D rendering, especially for video games. Instead of rendering 3D objects directly to the display, the scene is first rendered to a buffer in the memory of the video card. Pixel shaders and optionally Vertex shaders are then used to apply post-processing filters to the image buffer before displaying it to the screen. Some post-processing effects also require multiple-passes, gamma inputs, vertex manpulation and depth buffer access. Post-processing allows effects to be used that require awareness of the entire image (since normally each 3D object is rendered in isolation). Such effects include:
Upscaling for example xBR, Super xBR and SuperResHigh dynamic range renderingParticle EffectsBloomLight ScatteringScreen Space ReflectionsPoint Light AttenuationFilmic Scene Tone MappingDigital Camera Light CompensationEye AdaptationImage DistortionBarrel DistortionChromatic AberrationBokeh EffectSobel OperatorGlowLens flarePseudo Lens FlareCubic Lens Distorion FlareSharpen / Unsharpen(Texture Unsharp Mask, LumaSharpen, Sharpen, Sharpen Complex 1/2, Adaptive-Sharpen)Bump mappingMotion blurSmart BlurHeat HazeAmbient Occlusion including custom types.HBAOCel shadingOutlinesSketch ShadingPaint ShadingInk ShadingCrepuscular raysFilm grain simulationGrayscale simulationInfrared and Nightvision simulationBloodlust effect.SepiaScreen BordersScreen RotationSplitscreenAnaglyphDepth of fieldDepth HazeShadow mappingGlobal illuminationGamma CorrectionColor gradingColor correctionContrast AdjustementDynamic ContrastAntialiasing like FXAA, AGAA, MSAA, SSAA and SMAA and custom antialiasing methodsTexture filtering like Point, Linear, Bilinear, Trilinear, Anisotropic and custom algorithms.Dithering including Subpixel Dithering.VignettePixel VibrancePosterization and Deposterization.Scanline simulationFog/Mist