2414: Solar System Compression Artifacts

Explain xkcd: It's 'cause you're dumb.
(Redirected from 2414)
Jump to: navigation, search
Solar System Compression Artifacts
Most of our universe consists of dark matter rendered completely undetectable by our spacetime codec's dynamic range issues.
Title text: Most of our universe consists of dark matter rendered completely undetectable by our spacetime codec's dynamic range issues.


Voyager 1 is a space probe launched by the United States in 1977. Originally designed to study the outer planets of the Solar System, it is now several decades into an extended mission beyond Neptune (see #Trivia). The Voyager probe has made history for passing many milestones of our solar system.

When images are compressed by a lossy compression format (e.g. JPEG), visual artifacts are created. Randall here is suggesting that the probe has passed the artifacts as if the artifacts were an actual feature of the solar system rather than a consequence of our technology. The banding lines he has drawn are commonly seen in old images with low bit depth.

The 'solar system' in the snapshot appears to be a 4-bit greyscale-plane at a more pixelated level than the image given. It contains 16 'banded' levels from the brightest (closest zones, within this image, to the Sun) to darkest (the furthest illustrated expanses, including interstellar space), with irregular or non-trivial transitional edges but no obvious or dominant dithering/speckling or 'noise'. The Voyager image (and track) is overlaid in a white 'line drawing' format.

Each apparent pixel in this low-res rendering is approximately 1 AUยฒ, where 1 AU (astronomical unit) is the distance from the Sun to the earth. The Sun is off the left side of the image by about 30 pixels, meaning that of all the planets in the solar system, only Neptune would have an orbit that is within the image at all (at the left edge). The heliosphere is 120 AU from the sun, in the direction that Voyager 1 is travelling: Voyager crossed that milestone in August 2012. At time of publication Voyager was just over 150 AU from the Sun, as shown in the image.

Continuing on its course at 38,000 mph, or 3.6 AU/year, Voyager will reach the outer edge of the Oort cloud, the edge of our solar system, in about 300 years.

The title text refers to 'our spacetime codec', suggesting a representation of reality itself as a series of ones and zeros. If empty space is the darkest possible thing that can be represented--which may be the case when only 16 levels are available (see above)--then it is possible that dark matter is so dark that it cannot be represented: it would require a negative number, which is not available. This is the dynamic range issue mentioned.

Artefacts are evident in 1683: Digital Data, and mentioned in the title text of 331: Photoshops.


[Irregular bands of gray are shown, shading from a white circular segment on the lower left side of the panel to completely black on the right. The bands have pixelated edges. A small white space probe is shown just outside the last dark gray band, in the completely black area. A dotted line starting from inside the dark gray area and ending at the space probe indicates that it is moving to the right, out of the gray area. Close to the white area, there are many bands packed closely together and with hard to define edges. But there are five gray areas clearly separated from the white, with a tendency to be elongated in the space probe's direction.]
[Caption below the panel]: Milestone: Voyager has passed through the streaming video compression artifacts that mark the edge of the solar system


  • At the time of the fly-by of Neptune, in 1989, it was the outermost of the nine officially recognised planets.
  • The more highly eliptical orbit of Pluto, which was also unfavourably positioned for any Voyager mission encounter, meant that it would be another ten years before it was the actual outermost planet, well behind the respective Voyager crafts' progress away from the Sun.
  • Pluto was then 'demoted' from being a full planet in 2005, meaning that Neptune officially became the outermost of the (eight) planets, well in advance of the next orbital 'switch' (roughly in the 2220s to 2240s) when Pluto's path would bring it closer to the Sun once more.
  • However Pluto (and partner bodies/'moons') finally experienced its own fly-by mission in 2015, which may perhaps have softened some of the psychological blow from the various snubs it had experienced over the prior decades.

comment.png add a comment! ⋅ comment.png add a topic (use sparingly)! ⋅ Icons-mini-action refresh blue.gif refresh comments!


"([Compression artefacts] may become literally unnoticeable because hexadecimal color values are discrete[...]" - disagree. Artefacts exist because of a discrete nature. Either of the RGB(/HSV/whatever) granularity, the lower the colour depth, or of the method used to get around the overheads of storing literal 24+ bits of colour-depth across a given image size. TrueColo(u)r should escape perceived colour-banding, but any image editor knows (or relies upon) that any flood-fill/by-colour-selection used with an absolute drift range away from the datum spot less than that across a gradient spills away from it can highlight 'hidden' edges between (say) #789ABC and #789BBC. What we have here is low bit-depth (grey-shade or equal-RGB, apparently 4-bit(/each), counting the 16 bands thanks to the mach-banding) non-dithered band-shading of a possibly nuanced (fractal?) shade fall-off. Possibly a 2D slice through 3D (or more, e.g. if animated) of voxelated (or hypervoxelated) stored values, which use up a lot of space in the Universe Simulator. Perhaps there's also something like Discrete Cosine Transform compression for easier block/chunk storage, retrieval and/or generation-on-demand (with detailed deltas for complex overlaying features such as Voyager). Because the Creator/Programmer of the universe has limited storage/processor cycles! 01:39, 21 January 2021 (UTC)

tl;dr? โ€” The ๐—ฆ๐—พ๐—ฟ๐˜-๐Ÿญ talk stalk 13:16, 21 January 2021 (UTC)
TLDR is this Tom Scott video on the topic: https://youtu.be/h9j89L8eQQk. Short version: the difference between blacks #010101 and #020202 (a doubling of brightness) is more noticeable than the difference between whites #FEFEFE and #FDFDFD (a 0.00001% change in brightness). If your picture is dark, and especially if it is compressed, you will often get ugly bands of different shades of black. 16:50, 22 January 2021 (UTC)
Nice. โ€” The ๐—ฆ๐—พ๐—ฟ๐˜-๐Ÿญ talk stalk 05:33, 27 January 2021 (UTC)
Be careful there. A doubling on the sRGB scale is generally not the doubling on the linear scale, however, at the low end sRGB has a linear segment so 02 (0.0607054%) does end up double the 01 (0.0303527%) brightness. However, FE (99.1102%) and FD (98.2251%) have way more than 0.00001% change. And sRGB is already a non-linear scale with higher precision on the lower end. On the other hand, 000000 to 100000 is going to be a much greater change than 00ff00 to 10ff00. 17:51, 14 April 2022 (UTC)

I would suggest that more emphasis needs to be placed on 'dynamic range' and 'undetectable' in this explanation. Particularly noticeable in streaming video codecs, you often can't decipher any information in dark scenes/regions. So the joke is that the map beyond here is empty, mostly because it is too far down in the dynamic range of our lossy observations. 17:36, 21 January 2021 (UTC)

Re "...stretches out over maybe a dozen such low-res pixels/AUs, which is equivalent to slightly more than the radius of Saturn's orbit or the entire diameter of Jupiter's!", this assumes that Jupiter and Voyager are the same distance from the imaginary "camera". I can completely cover the moon with my thumb, but that does not imply that they are similar in size, because my thumb is closer to my eye. (Unsigned!)
I presume that this is the 'data' version of our system, straight from the 'cosmic computer' behind reality, viewed orthographically like a Minecraft map. But it matters not. The text quoted clearly gives scale context (on the justifiable presumption that the low-res grid is a 1AU-sized display of solar particle distribution) that "the range of the map the Voyager covers is like the size of these orbits". Just like "the area of the sky my thumb obscures is roughly a Moon-width". 01:18, 22 January 2021 (UTC)
Re: "The Voyager image (and track) is overlaid at finer resolution", if it not unheard-of for a compression algorithm to render, say, 32x32 pixel blocks as if they were single, larger pixels if their immediate neighbors are almost the same shade, while rendering small, detailed, and high contrast portions of the image at a higher resolution. No "overlay" required. (Still unsigned!)
Within an area of finer details, artefacts would be seen as the "meh, this is just one block" attitude is changed to incorperate detail of interest within a sub-block. There's no sign of fringe-artefacts (other than normal XKCS antialiasing of lines against background). I'd say it was a "solar wind" low-detail layer over which is incorporated a "Voyager" standard-detail layer with transparency, not a single layer of subject-aware tunable blockwise compression. (It might have come out differently if the composition was saved in an actual lossy-compression, by Randall, rather than .png, but for different reasons. Bit that's a meta-discussion issue, not nerd-sniping.) 01:18, 22 January 2021 (UTC)

This doesn't just happen in old images. I still see this frequently when watching movies, even new ones, where what should be a smooth gradation of tones shows steps. The other obvious defect is poor sprite handling, which causes artifacts like someone's facial features not moving with their head movements. I'm not sure dithering would be a useful way to dispel the banding, since dithering would increase the compressed data size because you no longer have large areas of all-the-same-pixel-value. The banding could also be an artifact of the decompression. If you consider that a format like JPEG uses something like Fourier transforms it seems it should be able to represent a gradation easily and the stepped banding with difficulty, so I might be tempted to blame the banding on the decompression code. 13:46, 22 January 2021 (UTC)

I did a 'best fit' on the probable solar system, across this 'map' (which I think is slightly made up, because of certain issues when I started differentiations of the grey-levels, making me think it has been 'painted', or enhanced, not taking from real data - of the 'real thing' or not). I don't seem to get any Wiki upload/new-media rights, as an IP user, but if anyone wants to look at the image saved at https://imgur.com/KSqC1Nr and consider it/be inspired by it then I offer it up, gratis. It features the orbits of Earth, Mars, Jupiter, Saturn, Uranus and Neptune in body-appropriate hues, such that they are to scale with the true distance of Voyager from the focus of the likely circular orbts. (I think I left the 'Sun' pixel (image pixel, not 'artefact pixel') magenta, easier to see against the whitist-whiteout core shade.) I only refrained from adding Pluto (and Eris, etc) off because I don't have immediate into on the far more eccentric oval. Darn, I meant to add the asteroid belt. As a suitably fuzzy grey band. Not redoing it. 22:58, 24 January 2021 (UTC)

Source of Voyager 1[edit]

Given Voyager 1's distance and age now, wouldn't it be more appropriate to change the opening explanatory sentence to "Voyager 1 is a space probe launched from Earth in 1977." The only sentient creatures who may still care about its origins in the United States are probably also from the United States. The next sentient beings to encounter Voyager 1 will have no understanding of what the United States is or was.

One more point: I think this XKCD is a play on the fact that every few years we hear once again that "Voyager has left the solar system". First because it passed the termination shock, then because it passed the heliopause. This article from NASA says that Voyager won't be officially out of the solar system until it passes the Oort cloud. These milestones seem arbitrary, so why not make up one more? Efalk (talk) 17:13, 24 January 2021 (UTC)

Bit Depth[edit]

Using the 2x image I've counted the number of grays used by the map and while some are hard to verify, even at the lowest there are more than 16, so it can't be 4-bit compression.-- 23:01, 10 April 2022 (UTC)