Top > JPEG > Subsampling
  • The added line is THIS COLOR.
  • The deleted line is THIS COLOR.
  • Go to JPEG/Subsampling.

[[JPEG] || [[ChromaSubsampling]]
[[JPEG]] || [[ChromaSubsampling]]

* JPEG [#r1e10233]

- Chroma subsampling algorithm for jpeg
--  https://stackoverflow.com/questions/35497075/chroma-subsampling-algorithm-for-jpeg
- Designing a JPEG Decoder & Source Code
--  https://www.impulseadventure.com/photo/jpeg-decoder.html
- JPEG Chroma Subsampling
--  https://www.impulseadventure.com/photo/chroma-subsampling.html
 I think you are probably using the equivalent of the "do_fancy_upsampling" mode of the IJG decoder. 
 In this mode, the H2V2 (4:2:0) subsampled chrominance channels get upsampled through a simple triangle filter, which will reduce some of the blocking that may appear in some images.
 The filtering will likely cause the MCU edge effects that you are observing.
 The library call you are invoking to perform the decompression is probably operating in this mode, rather than the straightforward point replication (nearest neighbour).
 In the original IJG source code you should find the filtering in the routine: h2v2_fancy_upsample() in jdsamp.c.
--  https://www.impulseadventure.com/photo/jpeg-decoder.html
- Forensics of High-Quality JPEG Images with Color Subsampling
--  https://informationsecurity.uibk.ac.at/pdfs/CSB2015_JPEGBlockConvergenceColor_WIFS.pdf

Reload   Diff   Front page List of pages Search Recent changes Backup Referer   Help   RSS of recent changes