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?

Anti- aliasing computer graphics
Anti- aliasing computer graphicsAnti- aliasing computer graphics
Anti- aliasing computer graphicsSafayet Hossain
 
Computer graphics
Computer graphicsComputer graphics
Computer graphicsbhaveshbunk
 
Aliasing & anti aliasing Slide
Aliasing & anti aliasing SlideAliasing & anti aliasing Slide
Aliasing & anti aliasing SlideAshek Shanto
 
Introduction to computer graphics part 2
Introduction to computer graphics part 2Introduction to computer graphics part 2
Introduction to computer graphics part 2Ankit Garg
 
Introduction to computer graphics
Introduction to computer graphics Introduction to computer graphics
Introduction to computer graphics Priyodarshini Dhar
 
Image Processing: Spatial filters
Image Processing: Spatial filtersImage Processing: Spatial filters
Image Processing: Spatial filtersA B Shinde
 
Computer Graphics Notes
Computer Graphics NotesComputer Graphics Notes
Computer Graphics NotesGurpreet singh
 
1291 fa13 assign3_layered_drawings
1291 fa13 assign3_layered_drawings1291 fa13 assign3_layered_drawings
1291 fa13 assign3_layered_drawingsNYCCTfab
 
Color Gamuts and Spot Colors
Color Gamuts and Spot ColorsColor Gamuts and Spot Colors
Color Gamuts and Spot ColorsAshish Srivastava
 
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 convolutionAbhishek Mukherjee
 
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 ImagesChiamin Hsu
 
Overview of Graphics System
Overview of Graphics SystemOverview of Graphics System
Overview of Graphics SystemPrathimaBaliga
 
Introduction To Advanced Image Processing
Introduction To Advanced Image ProcessingIntroduction To Advanced Image Processing
Introduction To Advanced Image ProcessingSuren Kumar
 
Attributes of Output Primitives
Attributes of Output PrimitivesAttributes of Output Primitives
Attributes of Output PrimitivesRenita Santhmayora
 
06 spatial filtering DIP
06 spatial filtering DIP06 spatial filtering DIP
06 spatial filtering DIPbabak danyal
 

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

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)Tiago Sousa
 
Anti-Aliasing Methods in CryENGINE 3
Anti-Aliasing Methods in CryENGINE 3Anti-Aliasing Methods in CryENGINE 3
Anti-Aliasing Methods in CryENGINE 3Tiago Sousa
 
image processing for jpeg presentati.ppt
image processing for jpeg presentati.pptimage processing for jpeg presentati.ppt
image processing for jpeg presentati.pptnaghamallella
 
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 V3thomaswangxin
 
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...Mehryar (Mike) E., Ph.D.
 
various methods for image segmentation
various methods for image segmentationvarious methods for image segmentation
various methods for image segmentationRaveesh Methi
 
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 VEDARojith Thomas
 
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 ApplicationTracy Huang
 
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...ijfcstjournal
 
Efficient LDI Representation (TPCG 2008)
Efficient LDI Representation (TPCG 2008)Efficient LDI Representation (TPCG 2008)
Efficient LDI Representation (TPCG 2008)Matthias Trapp
 
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...JaeJun Yoo
 
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 360VIKAS SINGH BHADOURIA
 
BDC-presentation
BDC-presentationBDC-presentation
BDC-presentationPavel Popa
 
[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 ArtistsOwen Wu
 

Ä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

SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 

Kürzlich hochgeladen (20)

SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 

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