SlideShare ist ein Scribd-Unternehmen logo
1 von 29
Morphological Antialiasing
Author:Alexander Reshetov
Intel Labs
Speaker: 李仲元
Outline
 Introduction
 Previous method
    ◦ Super Sampling Anti-Aliasing (SSAA)
    ◦ Multi Sampling Anti-Aliasing (MSAA)
   Morphological Anti-Aliasing (MLAA)
    ◦ Black-and-white image
    ◦ Color image
 Experiment
 Reference
    ◦ Sub-pixel Reconstruction Anti-Aliasing (SRAA)
Introduction
   Anti-aliasing




                    Call of Duty: World at War
Previous method
   Full scene Anti-aliasing avoid aliasing on
    full-screen images

 Super-Sampling Anti-aliasing
 MultiSampling Anti-Aliasing
 CoverageSampling Anti-Aliasing
 Custom Filter Anti-Aliasing
Previous method - SSAA
 Upscale image to higher resolution
 Then downsampling it to the desired size
 Brute-Force method
Previous method - MSAA
 Like SSAA, but just do super-sampling for
  Z-buffer and Stencil Buffer
 Assume that the change of color in one
  pixel is not obvious

   Disadvantages :
    ◦ If the alpha value of a translucent fragment is
      not within a specified range, it will be
      discarded after alpha testing
Previous method - MSAA
Previous method
 Different Sampling method will affect the
  result
 High quality result with high cost
 Must combine with forward rendering
Morphological Anti-Aliasing
   Algorithm
        for black-and-white implementation
    ◦ Step 1: Separate different color area
    ◦ Step 2: Classify separation line
    ◦ Step 3: Compute new color for cells
Step 1: Separate
           Assume that border pixels are extended
                 into additional imaginary rows and columns
Step 2: Classify
 Look for other separation lines which are
  orthogonal to the current one at its farthest
  vertices
 A single separation line can be a part of
  multiple patterns (up to four)
 classify separation lines into the following
  three categories:
    ◦ 1. Z-shaped pattern
    ◦ 2. U-shaped pattern
    ◦ 3. L-shaped pattern
Step 2: Classify
Step 3: Compute
 I) Anti-aliasing area
 Z and U shapes can be split into two L-
  shapes

   Substep 1. consider each L-shape to be
    formed by a primary edge found at the
    first step, secondary edge found at the
    second step
Step 3: Compute
Step 3: Compute
   Substep 2. Connect the middle point of
    the secondary edge with the remaining
    vertex of the primary edge
Step 3: Compute
Step 3: Compute
   II) Computing blending weights

   We calculate the area of each trapezoid
    attached to the primary edge and use it
    to compute new color of these cells as
    follows:
Step 3: Compute




 c5 = 1/3*0   +   2/3*1


 d5=1/24*0    +   23/24*1
Step 3: Compute
Morphological Anti-Aliasing
   Algorithm
        for color image
    ◦ Step 1: Found discontinuities in color image
    ◦ Step 2: Classify separation line
    ◦ Step 3: Pattern search
 Optimization
 Limitation
 Feature
Step 3: Pattern search
Step 3: Pattern search
   Can use different method to get answers
    ◦ Solve the equation for each channel, then average
      the solution
    ◦ Summing all values to form a single numerical
      value(assign different weights to different
      channels, deferring more advanced luminance
      processing until GPU implementation)

   If the found values of hc and hd are in the [0,
    1] interval, we process the tested shape,
    otherwise ignore it
Morphological Anti-Aliasing
   Feature
    ◦ MLAA can be used for any image processing
      task and does not use any data besides color
      values
    ◦ Can combine with deferred rendering,
      allowing for better processor utilization
    ◦ The algorithm achieves reasonable
      performance without any noticeable impact
    ◦ The “best in class” approach for anti-aliased
      deferred shading before Feb, 2011
Morphological Anti-Aliasing
   Optimization
    ◦ searching for color discontinuities
      Each RGBA color requires 32 bits, so 4 RGBA
       pixels will fit into one SSE register
   Limitation
    ◦ Running time depends on number of edges
      For the CPU version of MLAA, processing about
       20M pixels per second on a single 3GHz core
    ◦ Can’t respect geometric boundaries well
Experiment




    Top row: bitmap font;
    Second row: TrueType font (antialiased)
    Third row: MLAA processing of bitmap font
    Ffourth row: MLAA processingof TrueType font.
    Font size from left to right: 24, 12, 8, and 6
Experiment
Reference - SRAA
   Subpixel Reconstruction Antialiasing
    for Deferred Shading
    ◦ Matthäus G. Chajdas, Morgan McGuire, David
      Luebke
    ◦ ACM SIGGRAPH Symposium on Interactive 3D
      Graphics and Games 2011
Reference - SRAA
  An efficient algorithm for antialiasing
  images as a post-process
 Increase performance for small quality
  reductions
 Detailed analysis of the algorithm and
  comparison to MLAA
 Evaluation on real game scenes including
  texture, specular reflection, geometric
  aliasing, emission, and bloom
Reference - SRAA

Weitere ähnliche Inhalte

Was ist angesagt?

Computer graphics
Computer graphicsComputer graphics
Computer graphics
bhaveshbunk
 
Introduction to computer graphics
Introduction to computer graphics Introduction to computer graphics
Introduction to computer graphics
Priyodarshini Dhar
 
1291 fa13 assign3_layered_drawings
1291 fa13 assign3_layered_drawings1291 fa13 assign3_layered_drawings
1291 fa13 assign3_layered_drawings
NYCCTfab
 
study Diffusion Curves: A Vector Representation for Smooth-Shaded Images
study Diffusion Curves: A Vector Representation for Smooth-Shaded Imagesstudy Diffusion Curves: A Vector Representation for Smooth-Shaded Images
study Diffusion Curves: A Vector Representation for Smooth-Shaded Images
Chiamin Hsu
 
Introduction To Advanced Image Processing
Introduction To Advanced Image ProcessingIntroduction To Advanced Image Processing
Introduction To Advanced Image Processing
Suren Kumar
 

Was ist angesagt? (20)

Anti- aliasing computer graphics
Anti- aliasing computer graphicsAnti- aliasing computer graphics
Anti- aliasing computer graphics
 
Computer graphics
Computer graphicsComputer graphics
Computer graphics
 
Aliasing & anti aliasing Slide
Aliasing & anti aliasing SlideAliasing & anti aliasing Slide
Aliasing & anti aliasing Slide
 
Aliasing
AliasingAliasing
Aliasing
 
Introduction to computer graphics part 2
Introduction to computer graphics part 2Introduction to computer graphics part 2
Introduction to computer graphics part 2
 
Introduction to computer graphics
Introduction to computer graphics Introduction to computer graphics
Introduction to computer graphics
 
Image Processing: Spatial filters
Image Processing: Spatial filtersImage Processing: Spatial filters
Image Processing: Spatial filters
 
Computer Graphics Notes
Computer Graphics NotesComputer Graphics Notes
Computer Graphics Notes
 
Image Compression
Image CompressionImage Compression
Image Compression
 
Gamma and Colour Space
Gamma and Colour SpaceGamma and Colour Space
Gamma and Colour Space
 
1291 fa13 assign3_layered_drawings
1291 fa13 assign3_layered_drawings1291 fa13 assign3_layered_drawings
1291 fa13 assign3_layered_drawings
 
Color Gamuts and Spot Colors
Color Gamuts and Spot ColorsColor Gamuts and Spot Colors
Color Gamuts and Spot Colors
 
Filtering an image is to apply a convolution
Filtering an image is to apply a convolutionFiltering an image is to apply a convolution
Filtering an image is to apply a convolution
 
study Diffusion Curves: A Vector Representation for Smooth-Shaded Images
study Diffusion Curves: A Vector Representation for Smooth-Shaded Imagesstudy Diffusion Curves: A Vector Representation for Smooth-Shaded Images
study Diffusion Curves: A Vector Representation for Smooth-Shaded Images
 
Overview of Graphics System
Overview of Graphics SystemOverview of Graphics System
Overview of Graphics System
 
Introduction To Advanced Image Processing
Introduction To Advanced Image ProcessingIntroduction To Advanced Image Processing
Introduction To Advanced Image Processing
 
Computer Graphics
Computer GraphicsComputer Graphics
Computer Graphics
 
Attributes of Output Primitives
Attributes of Output PrimitivesAttributes of Output Primitives
Attributes of Output Primitives
 
06 spatial filtering DIP
06 spatial filtering DIP06 spatial filtering DIP
06 spatial filtering DIP
 
Image compression
Image compressionImage compression
Image compression
 

Ähnlich wie Morphological antialiasing

Anti-Aliasing Methods in CryENGINE 3
Anti-Aliasing Methods in CryENGINE 3Anti-Aliasing Methods in CryENGINE 3
Anti-Aliasing Methods in CryENGINE 3
Tiago Sousa
 
Disparity Estimation Using A Color Segmentation V3
Disparity Estimation Using A Color Segmentation V3Disparity Estimation Using A Color Segmentation V3
Disparity Estimation Using A Color Segmentation V3
thomaswangxin
 
various methods for image segmentation
various methods for image segmentationvarious methods for image segmentation
various methods for image segmentation
Raveesh Methi
 
Using A Application For A Desktop Application
Using A Application For A Desktop ApplicationUsing A Application For A Desktop Application
Using A Application For A Desktop Application
Tracy Huang
 
Efficient LDI Representation (TPCG 2008)
Efficient LDI Representation (TPCG 2008)Efficient LDI Representation (TPCG 2008)
Efficient LDI Representation (TPCG 2008)
Matthias Trapp
 
BDC-presentation
BDC-presentationBDC-presentation
BDC-presentation
Pavel Popa
 

Ähnlich wie Morphological antialiasing (20)

Rendering Technologies from Crysis 3 (GDC 2013)
Rendering Technologies from Crysis 3 (GDC 2013)Rendering Technologies from Crysis 3 (GDC 2013)
Rendering Technologies from Crysis 3 (GDC 2013)
 
ieee_my_proj
ieee_my_projieee_my_proj
ieee_my_proj
 
Mo2521632166
Mo2521632166Mo2521632166
Mo2521632166
 
Anti-Aliasing Methods in CryENGINE 3
Anti-Aliasing Methods in CryENGINE 3Anti-Aliasing Methods in CryENGINE 3
Anti-Aliasing Methods in CryENGINE 3
 
image processing for jpeg presentati.ppt
image processing for jpeg presentati.pptimage processing for jpeg presentati.ppt
image processing for jpeg presentati.ppt
 
Disparity Estimation Using A Color Segmentation V3
Disparity Estimation Using A Color Segmentation V3Disparity Estimation Using A Color Segmentation V3
Disparity Estimation Using A Color Segmentation V3
 
Assignment-1-NF.docx
Assignment-1-NF.docxAssignment-1-NF.docx
Assignment-1-NF.docx
 
Lr2419551959
Lr2419551959Lr2419551959
Lr2419551959
 
Locating texture boundaries using a fast unsupervised approach based on clust...
Locating texture boundaries using a fast unsupervised approach based on clust...Locating texture boundaries using a fast unsupervised approach based on clust...
Locating texture boundaries using a fast unsupervised approach based on clust...
 
various methods for image segmentation
various methods for image segmentationvarious methods for image segmentation
various methods for image segmentation
 
Automatic vehicle license plate detection using VEDA
Automatic vehicle license plate detection using VEDAAutomatic vehicle license plate detection using VEDA
Automatic vehicle license plate detection using VEDA
 
Using A Application For A Desktop Application
Using A Application For A Desktop ApplicationUsing A Application For A Desktop Application
Using A Application For A Desktop Application
 
Himadeep
HimadeepHimadeep
Himadeep
 
SHORT LISTING LIKELY IMAGES USING PROPOSED MODIFIED-SIFT TOGETHER WITH CONVEN...
SHORT LISTING LIKELY IMAGES USING PROPOSED MODIFIED-SIFT TOGETHER WITH CONVEN...SHORT LISTING LIKELY IMAGES USING PROPOSED MODIFIED-SIFT TOGETHER WITH CONVEN...
SHORT LISTING LIKELY IMAGES USING PROPOSED MODIFIED-SIFT TOGETHER WITH CONVEN...
 
Jpeg standards
Jpeg   standardsJpeg   standards
Jpeg standards
 
Efficient LDI Representation (TPCG 2008)
Efficient LDI Representation (TPCG 2008)Efficient LDI Representation (TPCG 2008)
Efficient LDI Representation (TPCG 2008)
 
Rethinking Data Augmentation for Image Super-resolution: A Comprehensive Anal...
Rethinking Data Augmentation for Image Super-resolution: A Comprehensive Anal...Rethinking Data Augmentation for Image Super-resolution: A Comprehensive Anal...
Rethinking Data Augmentation for Image Super-resolution: A Comprehensive Anal...
 
Next generation graphics programming on xbox 360
Next generation graphics programming on xbox 360Next generation graphics programming on xbox 360
Next generation graphics programming on xbox 360
 
BDC-presentation
BDC-presentationBDC-presentation
BDC-presentation
 
[Unite Seoul 2020] Mobile Graphics Best Practices for Artists
[Unite Seoul 2020] Mobile Graphics Best Practices for Artists[Unite Seoul 2020] Mobile Graphics Best Practices for Artists
[Unite Seoul 2020] Mobile Graphics Best Practices for Artists
 

Kürzlich hochgeladen

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 

Kürzlich hochgeladen (20)

Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 

Morphological antialiasing

  • 2. Outline  Introduction  Previous method ◦ Super Sampling Anti-Aliasing (SSAA) ◦ Multi Sampling Anti-Aliasing (MSAA)  Morphological Anti-Aliasing (MLAA) ◦ Black-and-white image ◦ Color image  Experiment  Reference ◦ Sub-pixel Reconstruction Anti-Aliasing (SRAA)
  • 3. Introduction  Anti-aliasing Call of Duty: World at War
  • 4. Previous method  Full scene Anti-aliasing avoid aliasing on full-screen images  Super-Sampling Anti-aliasing  MultiSampling Anti-Aliasing  CoverageSampling Anti-Aliasing  Custom Filter Anti-Aliasing
  • 5. Previous method - SSAA  Upscale image to higher resolution  Then downsampling it to the desired size  Brute-Force method
  • 6. Previous method - MSAA  Like SSAA, but just do super-sampling for Z-buffer and Stencil Buffer  Assume that the change of color in one pixel is not obvious  Disadvantages : ◦ If the alpha value of a translucent fragment is not within a specified range, it will be discarded after alpha testing
  • 8. Previous method  Different Sampling method will affect the result  High quality result with high cost  Must combine with forward rendering
  • 9. Morphological Anti-Aliasing  Algorithm for black-and-white implementation ◦ Step 1: Separate different color area ◦ Step 2: Classify separation line ◦ Step 3: Compute new color for cells
  • 10. Step 1: Separate Assume that border pixels are extended into additional imaginary rows and columns
  • 11. Step 2: Classify  Look for other separation lines which are orthogonal to the current one at its farthest vertices  A single separation line can be a part of multiple patterns (up to four)  classify separation lines into the following three categories: ◦ 1. Z-shaped pattern ◦ 2. U-shaped pattern ◦ 3. L-shaped pattern
  • 13. Step 3: Compute  I) Anti-aliasing area  Z and U shapes can be split into two L- shapes  Substep 1. consider each L-shape to be formed by a primary edge found at the first step, secondary edge found at the second step
  • 15. Step 3: Compute  Substep 2. Connect the middle point of the secondary edge with the remaining vertex of the primary edge
  • 17. Step 3: Compute  II) Computing blending weights  We calculate the area of each trapezoid attached to the primary edge and use it to compute new color of these cells as follows:
  • 18. Step 3: Compute c5 = 1/3*0 + 2/3*1 d5=1/24*0 + 23/24*1
  • 20. Morphological Anti-Aliasing  Algorithm for color image ◦ Step 1: Found discontinuities in color image ◦ Step 2: Classify separation line ◦ Step 3: Pattern search  Optimization  Limitation  Feature
  • 21. Step 3: Pattern search
  • 22. Step 3: Pattern search  Can use different method to get answers ◦ Solve the equation for each channel, then average the solution ◦ Summing all values to form a single numerical value(assign different weights to different channels, deferring more advanced luminance processing until GPU implementation)  If the found values of hc and hd are in the [0, 1] interval, we process the tested shape, otherwise ignore it
  • 23. Morphological Anti-Aliasing  Feature ◦ MLAA can be used for any image processing task and does not use any data besides color values ◦ Can combine with deferred rendering, allowing for better processor utilization ◦ The algorithm achieves reasonable performance without any noticeable impact ◦ The “best in class” approach for anti-aliased deferred shading before Feb, 2011
  • 24. Morphological Anti-Aliasing  Optimization ◦ searching for color discontinuities  Each RGBA color requires 32 bits, so 4 RGBA pixels will fit into one SSE register  Limitation ◦ Running time depends on number of edges  For the CPU version of MLAA, processing about 20M pixels per second on a single 3GHz core ◦ Can’t respect geometric boundaries well
  • 25. Experiment Top row: bitmap font; Second row: TrueType font (antialiased) Third row: MLAA processing of bitmap font Ffourth row: MLAA processingof TrueType font. Font size from left to right: 24, 12, 8, and 6
  • 27. Reference - SRAA  Subpixel Reconstruction Antialiasing for Deferred Shading ◦ Matthäus G. Chajdas, Morgan McGuire, David Luebke ◦ ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games 2011
  • 28. Reference - SRAA  An efficient algorithm for antialiasing images as a post-process  Increase performance for small quality reductions  Detailed analysis of the algorithm and comparison to MLAA  Evaluation on real game scenes including texture, specular reflection, geometric aliasing, emission, and bloom