Advertisement

How come most HD photos I see online look worse than their downsized versions?

Started by May 23, 2016 10:50 PM
6 comments, last by JohnnyCode 8 years, 7 months ago

I download alot of photographs of terrain and such, for my game design notes, but I'm not a photographer myself.

Oftentimes, when I find a photo with decently high resolution, like greater than 1600 in either width or height, the photo looks hazy and blurry, but with the downsampled version of the exact same image, it looks sharper and clearer? Sometimes the larger one also looks more grainy.

My theory is that cheaper cameras built into smartphones cheat on their quality by upscaling the image so they can claim more megapixels.

Another theory I had was that, at that level of precision, human hand wobbling is extra noticeable.

Here's some photos where I notice the effect (these ones are from Wikipedia, but I notice it all across the net with like, 90% of higher res photos).

This one isn't bad, though it has a mild haze over the entire photo. The tree in the upper-left corner where the branches contrast with the sky show the blur pretty badly. The sky also reveals the graining.

https://upload.wikimedia.org/wikipedia/commons/a/ae/Annapolis_rocks_overlook.jpg

Same deal. Hazy, grainy, and blurry branches against the sky.

https://upload.wikimedia.org/wikipedia/commons/8/8b/Island_Pond-Harriman_State_Park.jpg

Really hazy. The graining pattern is better, but still present. Blurry. Some of the colors are shifted weirdly - in the bottom-left corner, the shadows of the rocks turn vividly purple in some locations. Not the purple shadows are supposed to be, but a vivid violet.

https://upload.wikimedia.org/wikipedia/commons/9/93/Yuba_River%2C_South_Fork%2C_N._Bloomfiled_Rd.jpg

Anyone else notice this? Does it bother you enough that it ruins the picture, or are you able to tune out the haze, grain, and blur?

I actually prefer downloading the down-sized versions of the some photos, because they actually look better to me.

Is this from poor hardware, or just inexperienced photography? Sometimes the composition is really grain, but the quality is just sub-par.

Maybe it's poor JPG compression when you get to higher resolutions - just too lossy?

(Note: I'm talking about viewing different resolutions of the same photo, but viewing them all at 100% zoom, so one pixel on the photo = one pixel on my monitor)

First of all, HD (read as: many pixels) is not equivalent to quality. HD is first and foremost marketing.

Good lenses = good quality (... if the photographer doesn't fuck it up, it does take a little skill to take a good picture, too). You can somewhat estimate this fact from the trend not to increase pixel counts indefinitely any more in cameras (speaking of camera-cameras, not cellphones). Surely, your favorite Nikon/Canon/whatever could easily have 50 megapixels nowadays, why not. Well, it doesn't.

Storage going up drastically is another reason, but RAM/Flash is so ridiculously cheap and abundant, it's hardly a matter any more. The point is rather that increasing resolution not only has diminuishing returns, but it actually makes quality worse. Some manufacturers have even reduced the pixel count (Panasonic did, for example, in its traveller series, in favour of slightly better optics).

The reason why more pixels tend to decrease image quality under some conditions is that the surface (and aperture) is the same, so the same amount of energy falls onto more sensors, which necessarily means that each one must be smaller and gets fewer photons. Sensors thus need to be more sensible, which however means more noise.

That, and of course hardly anyone uses a real camera any more nowadays... virtually everything is done with the cell phone's builtin camera. You can't expect a thumbnail-sized fully-automatic thingie to produce anything high quality, really. Not only is fully-automatic usually equivalent to fully-shit, but also it's just physically impossible to make something out of such a small thingie.

Your idea about upscaling may be a factor as well. You don't even know what the camera is doing. It applies some color profile, does some anti-shake trickery, then some filters, maybe it combines 3-4 images into one, too. And then it does perspective corrections and scales everything without you even knowing. What you have on disk has little to do with what the sensors saw, and you have hardly a way of telling or even influencing it.
Advertisement

"pixel peeping" is generally a bad thing in photography. Lots of people do it, and then get upset that their image isn't perfect like when zooming into a photo on CSI. Real photography doesn't work like that, and printed images don't work the same way that computer displays do.

Display size also really rather matters. If you're only ever displaying the image on a 1080p monitor, or printing at most an 8x10, then you really don't need pixel perfect data that is clean enough to zoom all the way in to the point that the whole image would be covering your whole wall. And even if it is being displayed at a huge size, the resolution and clarity needed also depends on how far away you're viewing it from. A billboard generally doesn't look all that great if you stand close enough to have your nose pressed against it.

Those images look a little hazy in the distance because there is haze, and they also seem to suffer some some chromatic aberrations and such in the high contrast areas, such as switching between the bright sky in and thin branches.

Google and read "A pixel is not a little square" as a good starting point. Down sampling easily helps cover up general noise that shows up in a halfway decent signal, because the clarity of the signal reinforces itself while the noise (usually) is too random and gets drowned out.

Old Username: Talroth
If your signature on a web forum takes up more space than your average post, then you are doing things wrong.

Decent sensors are cheap and small now. Decent lenses are large and expensive. So, most cameras these days (e.g. the one in your phone) have a sensor that's better than the lens -- so the sensor is recording pixel data that's smaller than what the lens can bring into focus, and the lens isn't delivering enough light to the sensor to get a decent signal to noise ratio.

When you downsample that to a lower resolution, the out of focus pixels all get merged together, hiding the fact that the photo was actually out of focus... and the noise gets averaged, which is a crude denoising strategy :)

Specifically though:

Those pictures you linked have metadata attached that tells you about how they were taken :D

1st one was taken with a decent digtal SLR, 1/125s exposure, f/8, ISO 100.

2nd one has no useful metadata.

3rd one was taken with an SLR-like digital camera, 1/200s exposure, f/4.5, ISO 64.

The exposure time generates motion blur, but also means more light hits the sensor, so better signal/noise ratio.

The f value is the size of the aperture. Basically, 1/2F light reaches the sensor - so the settings for #3 have ~11.3 times more light passing through the aperture than #1.

The f value also determines the depth-of-field / depth-of-focus. These low F-values mean that most of these shots will actually be out of focus. To get a pinhole camera like in computer graphics, you need an absurdly high F value.

ISO is the sensitivity value. Lower numbers mean that more light is required to get a result, which makes darker but less noisy images. High ISO numbers are used in low-light conditions, but result in high noise.

Noise should be pretty low in the first one due to the quality of the camera and the low ISO setting.

All up, #3 gets 1.6x more light from exposure, ~11.3 times more light from the aperture, but has 0.64 times the sensitivity for ~11x better signal, so #3 should have less noise than #1. All the noise I can see in #3 just looks like it's due to JPEG errors.

To get the scene in focus, photo #3 should've been taken with something like f/22, but doing so would've required a longer exposure (creating blurry trees/water), or a higher ISO value (more noise)... So a photographer would make trade-offs and decide what settings to prioritize.

Not sure what you mean by haze - long distance photos should show the haze of atmospheric scattering...?

If they weren't taken with tripods, there's 125ms and 200ms of camera shake in 1 & 3. The low ISO numbers on both mean the sensor is set to be not very sensitive, so there shouldn't be much noise present in the images. The low F-stop values also mean a lot of light is being delivered to the sensor, which makes the low ISO value viable.

#1 looks like it's focused on the foreground rocks, so the background should be out of focus due to the low f-stop. It was also shot in a semi-manual mode, where the photographer was manually setting their depth-of-focus while leaving the other setting automatic, so this lack of background focus actually seems deliberate. Also, it was processed in Adobe Lightroom, so they probably actually know/care something about photography.

#3 is at a pretty low F-stop, so isn't able to keep a scene that deep in focus. It was probably shot on some auto mode that assumed they were shooting a particular thing, not a whole landscape. The purple shifts might be down to the cheap lens, bad dynamic range->8 bit processing, bad JPEGification, or anything...

So: #1 and #3 are blurry simply because there's 100+ms of motion blur, and the photographer (#1) / the auto point-n-shoot mode (#3) has chosen to focus on a particular part of the scene only.

While I agree with the above, I think the lens vs. sensor thing is a bit of a misdirection to be honest. Video has much the same problem, and in that case the weak link is often the sensor and not the lens at all, but the effect is very much the same, and unfortunately it's not something that can easily be quantified since even "noise" and "grain" can describe quite a few distinct phenomena with different statistical and aesthetic properties. Looking at a photograph at "full" resolution will make any of these artefacts apparent simply because they're the most faithful representation of what the sensor has captured. Most of the time these artefacts do start to look "better" when you down-sample the data, but you're almost always throwing away "real" data as well. The same sort of "improvement" happens when you take a highly aliased image and scale it down.

In all of these cases (including the computer rendering), if you keep down-sampling until it stops looking "better," you've almost certainly thrown away a lot of "real" data as well (that is, if you try to scale it back up, you'll almost certainly end up with something that looks worse than the original -- if this isn't the case, only then is it likely that you're looking at an image that's already been upscaled). The fact that these artefacts can't readily be described in terms of "resolution" is why cameras almost always give the "bad" full-resolution images, so that you can decide for yourself how to interpret that data.

-~-The Cow of Darkness-~-

There are a lot of factors that affect picture quality in photography. Among some of them:

1. The camera body itself (sensor size, quality, etc)

2. The lens. Determines min/max f-stop, wide/tele, lens quality, etc.

3. The ISO/Aperture/Shutter speed. The basic three. Low ISO results in crisper photos but less sensitive to light (good for daylight since there's so much light around), while higher ISO results in grainier photo but more sensitive to light (good for night photography where there's less amount of light). Anyway, read up on the three numbers to understand how they interact with each other.

4. Hand steadiness and "zoom" level when picture was taken. The more you zoom in (telephoto), the more likelihood of camera shake, i.e even a 0.1 degree of shake can translate to a large delta over a long distance.

5. Digital Zoom, which is a fake zoom. Typically present on camera phones and point-and-shoot cameras. This is what you are referring to when the camera "cheat" on zoom level.

Hodgman has outlined the technicals of each photo. The first one is actually not bad. The graininess of the sky may due to JPG compression. This is why some people prefer RAW. The bluriness of the trees is due to the f/8 settings, atmospheric condition, and the fact that the leaves were moving as the photo was taken. In a landscape photography, people typically use a higher number like f/16 or f/22 (which mean smaller aperture) to keep more in focus.

Second photo has lost its original EXIF data, so not much to tell there.

Third photo color fringing is due to several reasons.

At least #1 and #3 are taken in (semi)auto mode. We all know real photographers take photos in manual mode :D.

edit: proper terminology.

Advertisement

Sorry to bump this, but actually a good thread.. alnite has a very good reply summarizing most of the factors involved, but I would just like to add a little brainfart:

Studying photography is imo very worthwhile for all graphics programmers (and artists). Get / borrow a DSLR and have a play.

Image Quality

I would say the biggest factors are the sensor and the lens. Mostly it comes down to physics. A bigger sensor tends to produce a higher resolution image (there is a big difference between resolution as far as megapixels, and how much detail the lens / sensor can resolve, which is the more important factor nowadays). This is why pros will use a full frame (35mm) sensor or bigger (medium format etc). And to get light to a big sensor you need an appropriate sized lens, with high quality optics. A good lens will help minimize artefacts like colour fringing (you can also get colour bleed on the sensor, afaik).

The size of the sensor also affects things like the depth of field (a large sensor enables you to 'defocus' the background with a large aperture, whereas a small cellphone camera will tend to have everything in focus).

Dynamic Range

Aside from physics, there are some qualities of the sensor that are important. One that was a limitation in the early days but has got much better and is slowly filtering down to consumer equipment is dynamic range. That is the difference between the darkest colours that can be picked up and the lightest. Without decent dynamic range you have to choose between either a dark exposure, or blown out highlights. This in turn needs to be stored in more than 8 bits per channel (see how it is now relevant to graphics programming). Modern DSLRs might use 14 bits or more, hence one of the reasons for storing images in RAW format rather than jpeg (8 bit).

It should be obvious that in order to display higher dynamic range onto a monitor or similar (most are 8 bit) you need to do some jiggery pokery, and compress the dynamic range somehow, to make the image look great. There are lots of ways of doing this.

White Balance

The next thing that is important to learn as a developer is white balance. Easiest way to do this is to go out with your camera and try the different settings, and take photos in full sunlight, cloud, shade, tungsten indoor lights etc, and see how the colour balance changes. In real life, colour balances are always changing, and our eye and brain compensate. In one scene the white balance in a sunny area will be different from in a shaded area. Our brain compensates in real life, but in a photo you often have to choose to have the colours good in one area but not the other.

This has a big effect in games, because you want to make your textures 'match'. If you try and mix textures with wildly different colour balances, they will look 'wrong'. This applies also to things like colour saturation, if you try to combine a texture from a sunny day (high saturation) with a cloudy day (low saturation), it will look wrong unless you make adjustments. Photography helps teach you why they look wrong, and how to compensate.

The low down as a game developer is, when you are sourcing your textures, you should pay close attention to things like

1) colour balance

2) saturation

3) getting the best possible source material (DSLR)

On the original question why the smaller images look 'better':

Ultimately the smaller images hide most of the full size artefacts, and lack of detail. For instance at full resolution you will get sensor 'noise', which is caused by a number of things but exhibits as randomish variation in colour values. Shrink the image and you average these out and they disappear.

There are also 'cheats' which are used such as the bayer pattern ( https://en.wikipedia.org/wiki/Bayer_filter ) which means you don't get full colour info / detail at the highest resolution, you only get 1:1 info when you average down. And of course digital zoom but needless to say you shouldn't ever be using this.

The sad and bitter truth is that all talent and configuration and smart software tricks aside, you cannot cheat physics.

Image data arrives in the form of photons at a given, unchangeable (assuming same optics) rate. So and so many trillions of photons hitting each square millimeter every millisecond.

You have hard constraints on the amount of time you can collect photons because your hand is shaking, and even with a tripod the image is not perfectly still unless it's really ultra wide angle (and even then there are atmospheric effects, and moving objects).

The sensor in each camera has a concrete, limited size which is mostly constrained by the surrounding camera's size. You obviously cannot fit a 35mm sensor in a traveller cam, let alone a cell phone. You cannot fit an APS-C into a cellphone either. When you say "cellphone", you are talking about the thingie in the bottom right corner.
428px-SensorSizes.svg.png
This means none more and none less than you have about 1/30 to 1/35 of the surface available for photons to fall onto. Your sensors must thus be 35 more sensitive to produce something, and will in return (necessarily) have 35 times as much noise. Throwing more pixels at the problem only means, again, less surface for each individual sensor. Now each sensor must respond to fewer photons hitting it.

Mathematics tell us that this is not a problem, each sensor simply gets proportionally fewer photons. We just need to multiply with some factor afterwards, and done. The computer will do that without complaining, too.

But both mathematics and the computer are ignorant of reality. Photons are discrete quanta (there is no half of a photon, or a tenth of a photon). So, the closer you get to collecting only a handful of photons (or a single one), the higher your noise ratio goes, inevitably. If there's enough trillions of photons involved, then it's not noticeable because the noise is filtered out (the sensor itself still has some noise of its own, but that is a different story).

Fitting 8MP into something the size of my small finger nail and still expecting quality is crazy. That's neither big enough for a reasonable sensor, nor for the optics.

It's no surprise that e.g. a 49mm lens will pick up more photons than a 6mm lens, either. It's got 60 times the surface.
Thanks for all the technical details, gents.
Like most interesting things in life, it seems it isn't just a single cause, by a myriad of issues working together (with some having a greater effect).

I was seeing all the noise and thinking, "Am I the only one bothered by this?"

I appreciate the insight!

Becouse those 2500811000 over full HD, are real on mac pros!!!!........ but exhiusting chion energy on phones likely?

This topic is closed to new replies.

Advertisement