oRGB: A Practical Opponent Color Space for Computer ... · oRGB: A Practical Opponent Color Space...

Post on 18-Jan-2020

6 views 0 download

Transcript of oRGB: A Practical Opponent Color Space for Computer ... · oRGB: A Practical Opponent Color Space...

oRGB: A Practical Opponent ColorSpace for Computer Graphics[1]

Bratkova, M. and Boulos, S. and Shirley, P.

Review by Massimo Fierro

Color and Imaging LabKyungpook National University

March 14, 2009

M. Fierro (CILAB) Skin separation Mar 14, 09 1 / 16

Outline

Introduction

Testing

References

M. Fierro (CILAB) Skin separation Mar 14, 09 2 / 16

Introduction

Opponent color theory

Ewald Hering

Hering was the first to notice in the 1970s that there appeared to be twocouples of “pure” colors with respect to each other: red and green, blueand yellow.

M. Fierro (CILAB) Skin separation Mar 14, 09 3 / 16

Introduction

Opponent color spaces

Opponent color space characteristics

I 1 luminance axis

I 2 chrominance axis based on the opponent color theory.

Currently available opponent color spaces

Device dependant (magenta-cyan axis)

I YCbCr

I YIQ

I YCC

I NCS

Device independant

I L∗a∗b∗

I lαβ

M. Fierro (CILAB) Skin separation Mar 14, 09 4 / 16

Introduction

Proposed color space ideas

Desired features

I Opponent color space

I Similar in spirit to lαβ and L∗a∗b∗

I Useful for graphics applications

Design choices

I Device dependant color space (directly from R′G′B′)I Non-linear luma channel (instead of linear luminance)

M. Fierro (CILAB) Skin separation Mar 14, 09 5 / 16

Introduction

Magenta-cyan vs red-green

M. Fierro (CILAB) Skin separation Mar 14, 09 6 / 16

Introduction

Considerations on R′G′B′

M. Fierro (CILAB) Skin separation Mar 14, 09 7 / 16

Introduction

Proposed algorithm

Algorithm outline

1. From R′G′B′to L′C′C′: linear transform to white-black, yellow-blue,magenta-cyan color space

2. From L′C′C′to oRGB: nonuniform rotation around luma axis toobtain red-green axis

Notes

The second step is a compression/decompression of angles depending onthe quadrant to which the color attains.

M. Fierro (CILAB) Skin separation Mar 14, 09 8 / 16

Introduction

Proposed algorithm: mathematically

Steps

1.

24 L′

C′1

C′2

35 =

24 0.2990R′ + 0.5870G′ + 0.1140B′

0.5(R′ + G′)− B′

0.866(R′ − G′)

352. θo(θ) =

((3/2)θ if θ ≤ π/3

π/2 + (3/4) + (θ − π/3) if π ≥ θ ≥ π/3

3.

"C′

yb

C′rg

#= R(θo − θ)

»C′

1C′

2

where L′C′1C

′2 is Y CC and L′C′

ybC′rg is oRGB.

M. Fierro (CILAB) Skin separation Mar 14, 09 9 / 16

Introduction

oRGB properties

Properties

I Similar to HSV/HSB

I It’s axes reflect common “color naming”

I C ′yb and C ′rg are in the [−1, 1] range

I L′ is normalized ([0, 1])

M. Fierro (CILAB) Skin separation Mar 14, 09 10 / 16

Testing

oRGB testing

Sample applications

I Color adjustment

I Gamut mapping: custom algorithm

I Color transfer: various methods

I Cool to warm shading: similar to Amy Gooch et al.

M. Fierro (CILAB) Skin separation Mar 14, 09 11 / 16

Testing

Color adjustment

M. Fierro (CILAB) Skin separation Mar 14, 09 12 / 16

Testing

Cool to warm shading

M. Fierro (CILAB) Skin separation Mar 14, 09 13 / 16

Testing

Color transfer

M. Fierro (CILAB) Skin separation Mar 14, 09 14 / 16

Testing

Gamut mapping

M. Fierro (CILAB) Skin separation Mar 14, 09 15 / 16

References

Bibliography

M. Bratkova, S. Boulos, and P. Shirley.orgb: A practical opponent color space for computer graphics.Computer Graphics and Applications, IEEE, 29(1):42–55, Jan.-Feb.2009.

M. Fierro (CILAB) Skin separation Mar 14, 09 16 / 16