Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Chroma subsampling
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
=== Gamma luminance error === {{further|Gamma correction#Scaling and blending}} Gamma-corrected signals like Y'CbCr have an issue where chroma errors "bleed" into luma. In those signals, a low chroma actually makes a color appear less bright than one with equivalent luma. As a result, when a saturated color blends with an unsaturated or complementary color, a loss of luminance occurs at the border. This can be seen in the example between magenta and green.<ref name=better>{{cite journal |last1=Chan |first1=Glenn |title=Toward Better Chroma Subsampling: Recipient of the 2007 SMPTE Student Paper Award |journal=SMPTE Motion Imaging Journal |date=May 2008 |volume=117 |issue=4 |pages=39β45 |doi=10.5594/J15100 |url=http://www.glennchan.info/articles/technical/chroma/chroma1.htm|doi-access=free }}</ref> This issue persists in HDR video where gamma is generalized into a transfer function "[[EOTF]]". A steeper EOTF shows a stronger luminance loss.<ref name=Larbier>{{cite journal |last1=Larbier |first1=Pierre |title=High Dynamic Range: Compression Challenges |journal=SMPTE 2015 Annual Technical Conference and Exhibition |date=October 2015 |pages=1β15 |doi=10.5594/M001639|isbn=978-1-61482-956-0 }}</ref> Some proposed corrections of this issue are: * Luma-weighted average (Kornelski, experiment for mozjpeg)<ref>{{cite web |title=Gamma-correct chroma subsampling Β· Issue #193 Β· mozilla/mozjpeg |url=https://github.com/mozilla/mozjpeg/issues/193 |website=GitHub |language=en}}</ref> * Iterative ''sharp YUV'' method, used by [[WebP]] and optionally [[AVIF]]. Sharp YUV assumes a [[bilinear interpolation|bilinear]] upscaling for chroma.<ref>{{cite web |title=WebP: sharpyuv/sharpyuv.h {{!}} Fossies |url=https://fossies.org/linux/libwebp/sharpyuv/sharpyuv.h |website=fossies.org |quote=Assumes that the image will be upsampled using a bilinear filter. If nearest neighbor is used instead, the upsampled image might look worse than with standard downsampling.}}</ref> * RGB subsampling in linear space before chroma subsampling (HDRTools)<ref name=Larbier/> * Iterative or closed-form luma correction to minimize luminance error (HDRTools)<ref>{{cite conference |url=https://norkin.org/pdf/SPIE_2016_HDR_conversion_metrics.pdf |last1=Norkin |first1=Andrey |title=HDR color conversion with varying distortion metrics |date=27 September 2016 |pages=99710E |conference=SPIE Optical Engineering + Applications, 2016 |doi=10.1117/12.2237040}}</ref> [[Rec. 2020]] defines a "constant luminance" Yc'CbcCrc, which is calculated from linear RGB components and then gamma-encoded. This version does not suffer from the luminance loss by design.<ref name=Recommendation2020>{{cite news |title=BT.2020: Parameter values for ultra-high definition television systems for production and international programme exchange |publisher=[[International Telecommunication Union]] |url=https://www.itu.int/rec/R-REC-BT.2020/en |date=2014-07-17 |access-date=2014-08-31}}</ref>
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)