diff --git a/index.html b/index.html index bdc7625..b13352e 100644 --- a/index.html +++ b/index.html @@ -159,6 +159,12 @@ date: "2004-11-30", href: "https://standards.globalspec.com/std/892300/SMPTE%20ST%20170M" }, + "SMPTE RP 2077": { + title: "Full-Range Image Mapping", + publisher: "Society of Motion Picture and Television Engineers", + date: "2013-01-01", + href: "https://doi.org/10.5594/SMPTE.RP2077.2013" + }, "TIFF 6.0": { "href": "https://www.loc.gov/preservation/digital/formats/fdd/fdd000022.shtml", "title": "TIFF Revision 6.0", @@ -554,6 +560,10 @@
0
and 2bit depth - 1
, respectively.0
and 2bit depth - 1
, respectively.If the cICP chunk is present, the - image samples have a specifically defined colour space, transfer function, and signal - range that should be displayed using the specified rendering intent defined in - [[ITU-T H.273]]. -
+If present, the cICP chunk specifies the colour +space of the image using the code points specified in [[ITU-T H.273]]. This +colour space SHOULD be used when processing the image, including by a decoder +when rendering the image.
-The cICP chunk contains:
+The following specifies the syntax of the cICP chunk:
-Colour Primaries | -2 bytes | +Colour Primaries | +1 byte |
Transfer Function | -2 bytes | +Transfer Function | +1 byte |
Matrix Coefficients | -2 bytes | +Matrix Coefficients | +1 byte |
Full Range Flag | -1 byte | +Video Full Range Flag | +1 byte |
Each of the fields of the cICP chunk corresponds + to the parameter of the same name in [[ITU-T H.273]].
-Coding-Independent Code Points are defined in [[ITU-T H.273]] and - are typically embedded in video content and streams to define an explicit - video rendering. The most common renderings for video imagery are defined in - [[ITU-R BT.709]] and - and [[ITU-R BT.2100]].
+The Matrix Coefficients
value is equal to 0
.
The cICP chunk contains four decimal values corresponding to - the colour primaries, transfer function, matrix coefficients and video signal - range flag for the source imagery.
+ -Note: In Coding-Independent Code Points - [[ITU-T H.273]], the - third video coding point defines matrix coefficients which are used to describe - conversions from other colour representations to RGB. PNG image samples are - explicitly RGB, so the matrix coefficients value must be set to "0" which is - labeled in [[ITU-T H.273]] - as "RGB Identity". With PNG, decoders will always assume a matrix coefficient - value of "0" but this value will remain in PNG for forward compatibility.
+The Video Full Range Flag
value MUST be either 0
+ or 1
.
0 | -Colour Primaries | -Identifies the colour primaries of the source picture as - defined in [[ITU-T H.273]] | -
1 | -Transfer Characteristics | -Identifies the reference opto-electronic transfer -characteristic function or inverse reference electro-optical transfer -characteristic function as defined in [[ITU-T H.273]] | -
2 | -Matrix Coefficients | - -Identifies the matrix coefficients used in deriving luma and -chroma signals from the green, blue and red as defined in [[ITU-T H.273]] | . -As noted earlier, since PNG is explicitly RGB, this value must always be set to -"0" which is labeled as "RGB Identity" in [[ITU-T H.273]]. - - -
3 | -Full Range Flag | -Identifies a Full-Range scaling when this value is "1" as defined in - [[ITU-T H.273]]. | -Currently, PNG is "RGB ONLY" and typically lossless and therefore a value of "1" -is the default to indicate the the use of full-range signal scaling. There are -some use-cases where levels below or above nominal signal level (0 or 100%) -should be preserved, and therefore the signal range would be defined as "narrow -range" which is typically used in YCBCR video imagery. For -"narrow range" the Full-Range Flag would be set to "0". In the future, if PNG is -updated to include the YCBCR colour representation, -narrow-range signal scaling would be the default. In the future, if PNG is -updated to include ICTCP the full-range flag would be set -to a value of "1" since it uses the PQ transfer function and therefore doesn't -benefit from the existence of sub-blacks or super-whites. - -
The cICP chunk must come before the IDAT chunk.
- -When the cICP chunk is present, PNG decoders that recognize it shall ignore -the following chunks:
+When the cICP chunk is present, decoders that +recognize it SHALL ignore the following chunks:
COLPRIMS | -|
---|---|
COLPRIMS | -9 | -
TRANSFC | -|
TRANSFC | -16 | -
MATCOEFFS | -|
MATCOEFFS | -0 | -
TRANSFC | -|
VIDFRNG | -1 | -
Here is an example of source content that uses the BT.2100 colour primaries [[ITU-R BT.2100]], -with the PQ transfer function, Matrix Coefficients (using RGB Identity)and Full-Range signal scaling
- + -Here is an example of source content that uses the BT.2100 colour primaries, -with the HLG transfer function, Matrix Coefficients (using RGB Identity)and Full-Range signal scaling
- + -Here is an example of source content that uses BT.709 colour primaries [[ITU-R BT.709]], -with the BT.709 transfer function, Matrix Coefficients (using RGB Identity)and Full-Range signal scaling
- + - -When the cICP chunk is used, a -decoder should be capable of producing the proper rendering intent as described in -[[ITU-T H.273]] and -it's associated recommendations.
The iCCN profile name may be any convenient name for referring to the profile. It is case-sensitive. Profile names shall contain printable characters. Leading, trailing, and consecutive spaces are not permitted.