SlideShare a Scribd company logo
1 of 12
METRIC BASED
HALFTONE
PATTERN
OPTIMIZATION
USING CONVEX
PROGRAMMING
PETER MOROVIČ, JÁN MOROVIČ, VICTOR DIEGO,
JAVIER MAESTRO, XAVI FARIÑA, PERE GASPARIN
HP INC., BARCELONA, CATALONIA, SPAIN
INHERENT ASYMMETRY BETWEEN INK-VECTORS AND NPACS: PROBLEM OR OPPORTUNITY?
MOTIVATION
• One ink-vector can result in many
different NPacs (NP area coverages)
• Which do we chose? Can we use this
asymmetry for sampling NPacs?
• Can we define metrics over NPacs that
result in a desired property?
• Once we’ve chosen NPacs of a given
structure (i.e. NP composition), how do
we make sure interpolated ones follow?
• What if we want to calibrate using ink-
factors and want to compute new NPacs?
• Is there a way to do this (and more)?
0% blank
(C, M, CM)
30% blank
(CM only)
20% blank

(C, M, CM)
10% blank

(C, M, CM)
DECIDING HALFTONE STATISTICS BEFORE HALFTONING
HANS PIPELINE CHOICES
Contone Input

(RGB)
NPacs
Halftone

(NPs)
Tetrahedral
interpolation
PARAWACS
Contone Input

(RGB)
Ink-vectors
Halftone

(NPs)
Tetrahedral
interpolation
Error Diffusion
or Matrix
HALFTONE
CONTENTS
HALFTONE
CONTENTS &
SPATIAL
DISTRIBUTION
SPATIAL
DISTRIBUTION
CONSTRAINED MAPPING OF INK-VECTORS TO NPACS
CONVEX OPTIMIZATION
Y:0.143, YY:0.143,
KY:0.143, kY:0.143,
kK:0.143, K:0.143, k:0.143
Input NPac
kK:0.43, kY:0.57
Output NPac’Metric
Constraints
Convex
Optimization
Ink-vector change
Min || H(NPac) + f(NPac) ||
Sum(NPac) == 1, 0 <= NPac <= 1
All NPs from Global_NP Set
InkVec(NPac’) == InkVec(NPac)*factors
• HANS pipeline controls pixel types (NPs) ← HP Pixel Control
• Given an ink-vector (or an NPac), LP allows us to penalize/reward NP types (QP can take it further)
• Every NPac can be optimized, given such metric, resulting in consistent NPacs
SIMPLE EXAMPLE
CONVEX OPTIMIZATION
INK-VECTOR:
50% CYAN INK
50% MAGENTA INK
NPS:
[BLANK, C, M, CM]
OBJECTIVE FUNCTION
F1 = [100, 0, 0, 0]
OBJECTIVE FUNCTION
F2 = [0, 100, 100, 0]
NPac:
50% C
50% M
NPac:
50% CM
50% Blank
OF COURSE, OTHERWISE IT WOULDN’T MATTER…
YES, BUT DOES THIS CHANGE COLOR?
-80 -60 -40 -20 0 20 40 60 80
a*
-80
-60
-40
-20
0
20
40
60
80
100
b*
Default vs W-MAX
• Yes! Different NPacs, even if they
have a constant ink-vector, change
in color
• Simple example case:

854 NPacs processed using a blank
space maximization vs blank space
minimization:

mean   1

95th %tile   2 

max   4 ΔE00
• Your mileage may vary depending on
the system, but expect differences!
MINIMIZE NP CONTRAST FOR ALL NPACS OF A LUT – IMPACT ON GRAIN
EXAMPLE: IQ OPTIMIZATION
LUT USING 200 NPS VIA OPTIMISATION

FAVOURING OVERPRINTING AND PENALISING BLANK SPACE
LUT USING 31 NPS VIA AN NP REDUCTION

AND SIDE-BY-SIDE OPTIMIZATION HIGH SPEED HIGH QUALITY
REPURPOSE IMPORTED INK-VECTOR LUT TO IMPROVE IQ
EXAMPLE: LUT IMPORTING
Native (TDFED, ink-channels) HANS (PARAWACS, NPacs)
~.5 cm
SMOOTHNESS
COMPARISON
(APPROXIMATELY
AT 100% ZOOM)
GRAIN COMPARISON

(CROP APPROX.

0.5 CM WIDTH)
SAME INK-VECTOR, DIFFERENT NPACS, DIFFERENT GRAIN
EXAMPLE: GRAIN SAMPLES
MINIMIZING OVERPRINTING
(SINGLE-INK NPS OR LOW DROP
STATES MOST COMMON)
GIVEN AN INK-VECTOR, COMPUTE
DIFFERENT ALTERNATIVE NPACS
THAT VARY IN GRAIN (MORE OR
LESS OVERPRINTING, MORE OR LESS
BLANK SPACE, ETC.).
MAXIMIZING OVERPRINTING
(MULTI-INK NPS OR HIGHER DROP
STATES MOST COMMON)
FROM MEASURED INK-VECTOR RATIOS TO IQ-MAINTAINING CHANGED NPACS
EXAMPLE: CALIBRATION
-80 -60 -40 -20 0 20 40 60
a*
-60
-40
-20
0
20
40
60
80
100b*
Color difference (vs reference printer) before calibration
-80 -60 -40 -20 0 20 40 60
a*
-60
-40
-20
0
20
40
60
80
100
b*
Color difference (vs reference printer) after calibration
CALIBRATED
MED: 0.7
95%: 1.4
MAX: 1.9
UNCALIBRATED
MED: 1.2
95%: 2.7
MAX: 3.5
CONCLUSIONS
• Convex optimization provides a
powerful and flexible framework for
algorithmically dealing with the
relationship of ink-vectors and NPacs
• It allows us to introduce NPac
structure that directly affects print
attributes
• We successfully applied this
approach to: ink-vector sampling,
LUT node optimization, local grain
sampling, ink-factor based color
calibration
HP Pixel Control
HP Pixel Control
HP Pixel Control
Photos © Lee Jeffries
THANK YOU!

More Related Content

Similar to Halftone structure optimization using convex programming

Performance Analysis of Lattice QCD with APGAS Programming Model
Performance Analysis of Lattice QCD with APGAS Programming ModelPerformance Analysis of Lattice QCD with APGAS Programming Model
Performance Analysis of Lattice QCD with APGAS Programming ModelKoichi Shirahata
 
Pulse code modulation and Quantization
Pulse code modulation and QuantizationPulse code modulation and Quantization
Pulse code modulation and QuantizationMuhamamd Awaissaleem
 
Chapter 6 image quality in ct
Chapter 6 image quality in ct Chapter 6 image quality in ct
Chapter 6 image quality in ct Muntaser S.Ahmad
 
Evaluating Data Freshness in Large Scale Replicated Databases
Evaluating Data Freshness in Large Scale Replicated DatabasesEvaluating Data Freshness in Large Scale Replicated Databases
Evaluating Data Freshness in Large Scale Replicated DatabasesMiguel Araújo
 
Enterprise Scale Topological Data Analysis Using Spark
Enterprise Scale Topological Data Analysis Using SparkEnterprise Scale Topological Data Analysis Using Spark
Enterprise Scale Topological Data Analysis Using SparkAlpine Data
 
Enterprise Scale Topological Data Analysis Using Spark
Enterprise Scale Topological Data Analysis Using SparkEnterprise Scale Topological Data Analysis Using Spark
Enterprise Scale Topological Data Analysis Using SparkSpark Summit
 
Driving Moore's Law with Python-Powered Machine Learning: An Insider's Perspe...
Driving Moore's Law with Python-Powered Machine Learning: An Insider's Perspe...Driving Moore's Law with Python-Powered Machine Learning: An Insider's Perspe...
Driving Moore's Law with Python-Powered Machine Learning: An Insider's Perspe...PyData
 
Probability and random processes project based learning template.pdf
Probability and random processes project based learning template.pdfProbability and random processes project based learning template.pdf
Probability and random processes project based learning template.pdfVedant Srivastava
 
Traffic state estimation with multi-sensor data for large networks with macro...
Traffic state estimation with multi-sensor data for large networks with macro...Traffic state estimation with multi-sensor data for large networks with macro...
Traffic state estimation with multi-sensor data for large networks with macro...YazanSafadi
 
An Efficient Arabic Text Spotting from Natural Scenes Images
An Efficient Arabic Text Spotting from Natural Scenes ImagesAn Efficient Arabic Text Spotting from Natural Scenes Images
An Efficient Arabic Text Spotting from Natural Scenes ImagesReham Marzouk
 
Presentation at SMI 2023
Presentation at SMI 2023Presentation at SMI 2023
Presentation at SMI 2023Joaquim Jorge
 
Optimization of sample configurations for variogram estimation
Optimization of sample configurations for variogram estimationOptimization of sample configurations for variogram estimation
Optimization of sample configurations for variogram estimationAlessandro Samuel-Rosa
 
Using MpCCI to model Fluid-Structure-Interactions with ABAQUS and 3rd party C...
Using MpCCI to model Fluid-Structure-Interactions with ABAQUS and 3rd party C...Using MpCCI to model Fluid-Structure-Interactions with ABAQUS and 3rd party C...
Using MpCCI to model Fluid-Structure-Interactions with ABAQUS and 3rd party C...Arindam Chakraborty, Ph.D., P.E. (CA, TX)
 
IEEE DSP Workshop 2011
IEEE DSP Workshop 2011IEEE DSP Workshop 2011
IEEE DSP Workshop 2011Behzad Dogahe
 
IEEE DSP Workshop 2011
IEEE DSP Workshop 2011IEEE DSP Workshop 2011
IEEE DSP Workshop 2011dogahe
 
Google and SRI talk September 2016
Google and SRI talk September 2016Google and SRI talk September 2016
Google and SRI talk September 2016Hagai Aronowitz
 

Similar to Halftone structure optimization using convex programming (18)

Performance Analysis of Lattice QCD with APGAS Programming Model
Performance Analysis of Lattice QCD with APGAS Programming ModelPerformance Analysis of Lattice QCD with APGAS Programming Model
Performance Analysis of Lattice QCD with APGAS Programming Model
 
Pulse code modulation and Quantization
Pulse code modulation and QuantizationPulse code modulation and Quantization
Pulse code modulation and Quantization
 
Chapter 6 image quality in ct
Chapter 6 image quality in ct Chapter 6 image quality in ct
Chapter 6 image quality in ct
 
Evaluating Data Freshness in Large Scale Replicated Databases
Evaluating Data Freshness in Large Scale Replicated DatabasesEvaluating Data Freshness in Large Scale Replicated Databases
Evaluating Data Freshness in Large Scale Replicated Databases
 
Enterprise Scale Topological Data Analysis Using Spark
Enterprise Scale Topological Data Analysis Using SparkEnterprise Scale Topological Data Analysis Using Spark
Enterprise Scale Topological Data Analysis Using Spark
 
Enterprise Scale Topological Data Analysis Using Spark
Enterprise Scale Topological Data Analysis Using SparkEnterprise Scale Topological Data Analysis Using Spark
Enterprise Scale Topological Data Analysis Using Spark
 
Ekush net
Ekush netEkush net
Ekush net
 
Driving Moore's Law with Python-Powered Machine Learning: An Insider's Perspe...
Driving Moore's Law with Python-Powered Machine Learning: An Insider's Perspe...Driving Moore's Law with Python-Powered Machine Learning: An Insider's Perspe...
Driving Moore's Law with Python-Powered Machine Learning: An Insider's Perspe...
 
Probability and random processes project based learning template.pdf
Probability and random processes project based learning template.pdfProbability and random processes project based learning template.pdf
Probability and random processes project based learning template.pdf
 
Traffic state estimation with multi-sensor data for large networks with macro...
Traffic state estimation with multi-sensor data for large networks with macro...Traffic state estimation with multi-sensor data for large networks with macro...
Traffic state estimation with multi-sensor data for large networks with macro...
 
An Efficient Arabic Text Spotting from Natural Scenes Images
An Efficient Arabic Text Spotting from Natural Scenes ImagesAn Efficient Arabic Text Spotting from Natural Scenes Images
An Efficient Arabic Text Spotting from Natural Scenes Images
 
Presentation at SMI 2023
Presentation at SMI 2023Presentation at SMI 2023
Presentation at SMI 2023
 
Optimization of sample configurations for variogram estimation
Optimization of sample configurations for variogram estimationOptimization of sample configurations for variogram estimation
Optimization of sample configurations for variogram estimation
 
Using MpCCI to model Fluid-Structure-Interactions with ABAQUS and 3rd party C...
Using MpCCI to model Fluid-Structure-Interactions with ABAQUS and 3rd party C...Using MpCCI to model Fluid-Structure-Interactions with ABAQUS and 3rd party C...
Using MpCCI to model Fluid-Structure-Interactions with ABAQUS and 3rd party C...
 
IEEE DSP Workshop 2011
IEEE DSP Workshop 2011IEEE DSP Workshop 2011
IEEE DSP Workshop 2011
 
IEEE DSP Workshop 2011
IEEE DSP Workshop 2011IEEE DSP Workshop 2011
IEEE DSP Workshop 2011
 
Google and SRI talk September 2016
Google and SRI talk September 2016Google and SRI talk September 2016
Google and SRI talk September 2016
 
lec10svm.ppt
lec10svm.pptlec10svm.ppt
lec10svm.ppt
 

More from Peter Morovic

HANS3D: A Multi-Material, Volumetric, Voxel-By-Voxel Content Processing Pipel...
HANS3D: A Multi-Material, Volumetric, Voxel-By-Voxel Content Processing Pipel...HANS3D: A Multi-Material, Volumetric, Voxel-By-Voxel Content Processing Pipel...
HANS3D: A Multi-Material, Volumetric, Voxel-By-Voxel Content Processing Pipel...Peter Morovic
 
Spectral and color prediction for arbitrary halftone patterns: a drop-by-drop...
Spectral and color prediction for arbitrary halftone patterns: a drop-by-drop...Spectral and color prediction for arbitrary halftone patterns: a drop-by-drop...
Spectral and color prediction for arbitrary halftone patterns: a drop-by-drop...Peter Morovic
 
Analysis and Compression of Reflectance Data Using An Evolved Spectral Correl...
Analysis and Compression of Reflectance Data Using An Evolved Spectral Correl...Analysis and Compression of Reflectance Data Using An Evolved Spectral Correl...
Analysis and Compression of Reflectance Data Using An Evolved Spectral Correl...Peter Morovic
 
Spectra from Correlation
Spectra from CorrelationSpectra from Correlation
Spectra from CorrelationPeter Morovic
 
Natural Color Profile Adjustment for Professionals
Natural Color Profile Adjustment for ProfessionalsNatural Color Profile Adjustment for Professionals
Natural Color Profile Adjustment for ProfessionalsPeter Morovic
 
Color Scrambling for Secure Digital Content Distribution
Color Scrambling for Secure Digital Content DistributionColor Scrambling for Secure Digital Content Distribution
Color Scrambling for Secure Digital Content DistributionPeter Morovic
 

More from Peter Morovic (6)

HANS3D: A Multi-Material, Volumetric, Voxel-By-Voxel Content Processing Pipel...
HANS3D: A Multi-Material, Volumetric, Voxel-By-Voxel Content Processing Pipel...HANS3D: A Multi-Material, Volumetric, Voxel-By-Voxel Content Processing Pipel...
HANS3D: A Multi-Material, Volumetric, Voxel-By-Voxel Content Processing Pipel...
 
Spectral and color prediction for arbitrary halftone patterns: a drop-by-drop...
Spectral and color prediction for arbitrary halftone patterns: a drop-by-drop...Spectral and color prediction for arbitrary halftone patterns: a drop-by-drop...
Spectral and color prediction for arbitrary halftone patterns: a drop-by-drop...
 
Analysis and Compression of Reflectance Data Using An Evolved Spectral Correl...
Analysis and Compression of Reflectance Data Using An Evolved Spectral Correl...Analysis and Compression of Reflectance Data Using An Evolved Spectral Correl...
Analysis and Compression of Reflectance Data Using An Evolved Spectral Correl...
 
Spectra from Correlation
Spectra from CorrelationSpectra from Correlation
Spectra from Correlation
 
Natural Color Profile Adjustment for Professionals
Natural Color Profile Adjustment for ProfessionalsNatural Color Profile Adjustment for Professionals
Natural Color Profile Adjustment for Professionals
 
Color Scrambling for Secure Digital Content Distribution
Color Scrambling for Secure Digital Content DistributionColor Scrambling for Secure Digital Content Distribution
Color Scrambling for Secure Digital Content Distribution
 

Recently uploaded

What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
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
 
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
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
"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
 
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
 
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
 
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
 
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
 
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
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
"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
 
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
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
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
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
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
 

Recently uploaded (20)

What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
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
 
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
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
"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
 
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
 
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
 
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
 
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
 
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?
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
"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
 
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
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
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)
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
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
 

Halftone structure optimization using convex programming

  • 1. METRIC BASED HALFTONE PATTERN OPTIMIZATION USING CONVEX PROGRAMMING PETER MOROVIČ, JÁN MOROVIČ, VICTOR DIEGO, JAVIER MAESTRO, XAVI FARIÑA, PERE GASPARIN HP INC., BARCELONA, CATALONIA, SPAIN
  • 2. INHERENT ASYMMETRY BETWEEN INK-VECTORS AND NPACS: PROBLEM OR OPPORTUNITY? MOTIVATION • One ink-vector can result in many different NPacs (NP area coverages) • Which do we chose? Can we use this asymmetry for sampling NPacs? • Can we define metrics over NPacs that result in a desired property? • Once we’ve chosen NPacs of a given structure (i.e. NP composition), how do we make sure interpolated ones follow? • What if we want to calibrate using ink- factors and want to compute new NPacs? • Is there a way to do this (and more)? 0% blank (C, M, CM) 30% blank (CM only) 20% blank
 (C, M, CM) 10% blank
 (C, M, CM)
  • 3. DECIDING HALFTONE STATISTICS BEFORE HALFTONING HANS PIPELINE CHOICES Contone Input
 (RGB) NPacs Halftone
 (NPs) Tetrahedral interpolation PARAWACS Contone Input
 (RGB) Ink-vectors Halftone
 (NPs) Tetrahedral interpolation Error Diffusion or Matrix HALFTONE CONTENTS HALFTONE CONTENTS & SPATIAL DISTRIBUTION SPATIAL DISTRIBUTION
  • 4. CONSTRAINED MAPPING OF INK-VECTORS TO NPACS CONVEX OPTIMIZATION Y:0.143, YY:0.143, KY:0.143, kY:0.143, kK:0.143, K:0.143, k:0.143 Input NPac kK:0.43, kY:0.57 Output NPac’Metric Constraints Convex Optimization Ink-vector change Min || H(NPac) + f(NPac) || Sum(NPac) == 1, 0 <= NPac <= 1 All NPs from Global_NP Set InkVec(NPac’) == InkVec(NPac)*factors • HANS pipeline controls pixel types (NPs) ← HP Pixel Control • Given an ink-vector (or an NPac), LP allows us to penalize/reward NP types (QP can take it further) • Every NPac can be optimized, given such metric, resulting in consistent NPacs
  • 5. SIMPLE EXAMPLE CONVEX OPTIMIZATION INK-VECTOR: 50% CYAN INK 50% MAGENTA INK NPS: [BLANK, C, M, CM] OBJECTIVE FUNCTION F1 = [100, 0, 0, 0] OBJECTIVE FUNCTION F2 = [0, 100, 100, 0] NPac: 50% C 50% M NPac: 50% CM 50% Blank
  • 6. OF COURSE, OTHERWISE IT WOULDN’T MATTER… YES, BUT DOES THIS CHANGE COLOR? -80 -60 -40 -20 0 20 40 60 80 a* -80 -60 -40 -20 0 20 40 60 80 100 b* Default vs W-MAX • Yes! Different NPacs, even if they have a constant ink-vector, change in color • Simple example case:
 854 NPacs processed using a blank space maximization vs blank space minimization:
 mean   1
 95th %tile   2 
 max   4 ΔE00 • Your mileage may vary depending on the system, but expect differences!
  • 7. MINIMIZE NP CONTRAST FOR ALL NPACS OF A LUT – IMPACT ON GRAIN EXAMPLE: IQ OPTIMIZATION LUT USING 200 NPS VIA OPTIMISATION
 FAVOURING OVERPRINTING AND PENALISING BLANK SPACE LUT USING 31 NPS VIA AN NP REDUCTION
 AND SIDE-BY-SIDE OPTIMIZATION HIGH SPEED HIGH QUALITY
  • 8. REPURPOSE IMPORTED INK-VECTOR LUT TO IMPROVE IQ EXAMPLE: LUT IMPORTING Native (TDFED, ink-channels) HANS (PARAWACS, NPacs) ~.5 cm SMOOTHNESS COMPARISON (APPROXIMATELY AT 100% ZOOM) GRAIN COMPARISON
 (CROP APPROX.
 0.5 CM WIDTH)
  • 9. SAME INK-VECTOR, DIFFERENT NPACS, DIFFERENT GRAIN EXAMPLE: GRAIN SAMPLES MINIMIZING OVERPRINTING (SINGLE-INK NPS OR LOW DROP STATES MOST COMMON) GIVEN AN INK-VECTOR, COMPUTE DIFFERENT ALTERNATIVE NPACS THAT VARY IN GRAIN (MORE OR LESS OVERPRINTING, MORE OR LESS BLANK SPACE, ETC.). MAXIMIZING OVERPRINTING (MULTI-INK NPS OR HIGHER DROP STATES MOST COMMON)
  • 10. FROM MEASURED INK-VECTOR RATIOS TO IQ-MAINTAINING CHANGED NPACS EXAMPLE: CALIBRATION -80 -60 -40 -20 0 20 40 60 a* -60 -40 -20 0 20 40 60 80 100b* Color difference (vs reference printer) before calibration -80 -60 -40 -20 0 20 40 60 a* -60 -40 -20 0 20 40 60 80 100 b* Color difference (vs reference printer) after calibration CALIBRATED MED: 0.7 95%: 1.4 MAX: 1.9 UNCALIBRATED MED: 1.2 95%: 2.7 MAX: 3.5
  • 11. CONCLUSIONS • Convex optimization provides a powerful and flexible framework for algorithmically dealing with the relationship of ink-vectors and NPacs • It allows us to introduce NPac structure that directly affects print attributes • We successfully applied this approach to: ink-vector sampling, LUT node optimization, local grain sampling, ink-factor based color calibration HP Pixel Control HP Pixel Control HP Pixel Control Photos © Lee Jeffries