SlideShare une entreprise Scribd logo
1  sur  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

Contenu connexe

Tendances

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
 

Tendances (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
 

Similaire à 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
 

Similaire à 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
 

Dernier

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
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
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
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
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
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
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
 

Dernier (20)

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
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
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
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
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)
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
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
 

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