Skip to content

Commit

Permalink
change indent level so TOC lists steps under Forward and Inverse Proc…
Browse files Browse the repository at this point in the history
…edures

fix typo
  • Loading branch information
scottdyer committed Aug 8, 2024
1 parent 1e3c57a commit cc5f0f7
Showing 1 changed file with 15 additions and 15 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -25,20 +25,20 @@ flowchart LR
style D stroke-width:4px
```

### Introduction
## Introduction

Chroma Compression is a hue-preserving invertible photographic colour rendering technique. Together with Tone Mapping, Chroma Compression creates the photographic base look for the transforms. Throughout the Chroma Compression lightness (J) and hue (h) remains constant and only the colorfulness (M) is compressed.

Chroma Compresson is a non-linear expansion and compression of M over both the J axis and M axis. That is, the amount of expansion and compression of M depends on both J and M. Compression increases as J values increase, and reduces as M values increase. This means shadows are compressed less than highlights, and less saturated colours are compressed more than pure colours.

The limiting display gamut boundary is not taken into consideration. All out of gamut colorus will be mapped into the limiting gamut later by the gamut mapper. The Chroma Compression mainly affects the interior of the gamut.

### Forward Procedure
## Forward Procedure

The forward direction of the Chroma Compression performs the following operations in order. At the heart of the operations is a $toe$ function defined in later section.


#### Rescaling
### Rescaling

The Tone Mapping step has compressed J to the target display peak luminance. This means that the M correlate must also be compressed or rescaled down to that same range. This is done by using the $\frac{1}{cz}$ exponent defined in Hellwig2022 model in order maintain the correct M to J ratio. Maintaining the correct ratio keeps the chromaticities constant. The rescaling method is the following:

Expand Down Expand Up @@ -74,7 +74,7 @@ $c$ and $z$ are constants defined in the Hellwig2022 model
<figcaption>Effect of rescaling M</figcaption>
</figure>

#### Normalization
### Normalization

The purpose of the normalization step is to establish the maximum compression and expansion limit as a normalized distance, and to normalize the M value with a hue dependent AP1 gamut cusp value.

Expand Down Expand Up @@ -111,7 +111,7 @@ $$
!!! note
The normalization and denormalization steps are the same in forward and inverse directions of the transform.

#### Expansion
### Expansion

The expansion step is crucial to bring “life” into the image. After the rescaling step the colors come out dull in the mid-tones and shadows are very desaturated. The expansion step increases saturation in the shadows and mid-tones but not in the highlights.

Expand Down Expand Up @@ -154,7 +154,7 @@ $$
!!! note
The illustrations show the intermediate results with the normalization and denormalization steps always applied.

#### Compression
### Compression

The compression step creates the saturation roll-off in the highlights. It compresses less saturated colors more and more saturated colors less, preserving pure colors from compression. The compression affects highlights and mid-tones and does not compress shadows. The compression step has a large effect on skin tone rendering and how they desaturate at higher intensity levels.

Expand Down Expand Up @@ -188,7 +188,7 @@ $$
<figcaption>Effect of compression of M</figcaption>
</figure>

#### Denormlization
### Denormalization

After completing all the operations the resulting compressed M is then denormalized as follows:

Expand All @@ -199,27 +199,27 @@ $$
The denormalization is the final step in the Chroma Compression.


### Inverse Procedure
## Inverse Procedure

The chroma compression is fully invertible by applying the same set of operations described above but in reverse order and in inverse direction.

#### Normalization
### Normalization

Normlization step in the inverse is the same as in the forward procedure.

#### Inverse of Compression
### Inverse of Compression

Inverse of compression applies the $toe$ function in *inverse direction* with the same parameters as defined in the forward procedure.

#### Inverse of Expansion
### Inverse of Expansion

Inverse of expansion applies the $toe$ function in *inverse of reverse direction* with the same parameters as defined in the forward procedure.

#### Denormlization
### Denormalization

Denormlization step in the inverse is the same as in the forward procedure.
Denormalization step in the inverse is the same as in the forward procedure.

#### Inverse of Rescaling
### Inverse of Rescaling

The inverse of the rescaling step is the following:

Expand All @@ -230,7 +230,7 @@ $$
The resulting M is the fully inverted colorfulness.


### The toe function
## The toe function

At the heart of the Chroma Compression and expansion is an invertible “toe” function ([https://www.desmos.com/calculator/6vplvw14ti](https://www.desmos.com/calculator/6vplvw14ti)). The toe in the function will compress less saturated colors more than more saturated colors, and the size and shape of the toe will determine the aggressiveness of the compression.

Expand Down

0 comments on commit cc5f0f7

Please sign in to comment.