Slashdot Mirror


Ask Slashdot: Is There An Open Source Tool Measuring The Sharpness of Streaming Video?

dryriver asks: Is there an open source video analysis tool available that can take a folder full of video captures (e.g. news, sports, movies, music videos, TV shows), analyze the video frames in those captures, and put a hard number on how optically sharp, on average, the digital video provided by any given digital TV or streaming service is?

If such a tool exists, it could be of great use in shaming paid video content delivery services that promise proper "1080 HD" or "4K UHD" quality content, but deliver video that is actually Youtube quality or worse. With such a tool, people could channel-hop across their digital TV service's various offerings for an hour or so, capture the video stream to harddisk, and then have an "average optical sharpness score" for that service calculated that can be shared with others and published online, possibly shaming the content provider -- satellite TV providers in particular -- into upping their bitrate if the score turns out to be atrociously low for that service....

People in many countries -- particularly developing countries -- cough up hard cash to sign up for various satellite TV, digital TV, streaming video and similar services, only to then find that the bitrate, compression quality and optical sharpness of the video content delivered isn't too great at all. At a time when 4K UHD content is available in some countries, many satellite TV and streaming video services in many different countries do not even deliver properly sharp and well-defined 1080 HD video to their customers, even though the content quality advertised before signing up is very much "crystal clear 1080 HD High-Definition".

What's the solution? Leave your thoughts and suggestions in the comments.

And is there an open source tool measuring the sharpness of streaming video?

101 comments

  1. What the hell? by Anonymous Coward · · Score: 0

    This whole article seems focused on one oddly specific use case and seems vaguely autistic.

    1. Re: What the hell? by Anonymous Coward · · Score: 2, Insightful

      If you need a tool to tell, does it really matter?

    2. Re: What the hell? by Anonymous Coward · · Score: 0

      Perhaps you can use fuzzy logic.

    3. Re: What the hell? by Anonymous Coward · · Score: 0

      Exactly thank you very much for pointing that out

    4. Re:What the hell? by Anonymous Coward · · Score: 2, Insightful

      sounds pretty simple to me: submitter has amassed a ton of pirated media with many duplicates. now they want an automated means of choosing the highest quality files (bit rate and/or resolution alone won't necessarily do that) from those dupes so they can trash the rest.

    5. Re: What the hell? by mattventura · · Score: 1

      Yes, because you still need an objective measure of some sort, so that prospective buyers can judge the quality of each one before they subscribe.

    6. Re: What the hell? by Anonymous Coward · · Score: 0

      Pro Tip: use bittorrent, reverse sort by size

    7. Re: What the hell? by Anonymous Coward · · Score: 0

      it does if you want to automate it.... (1 use case could be to show that google/youtube are upscaling videos on a large scale although this is a known fact for me)

    8. Re: What the hell? by Anonymous Coward · · Score: 0

      if you cant tell the difference then just subscribe to the cheapest

    9. Re: What the hell? by Anonymous Coward · · Score: 0

      >_ If you need a tool to tell, does it really matter?

      Indeed an insightful question, and I am here to add to it with hopefully some "out-of-band" (heh) considerations.

      As it happens, I have a father which is old (and mostly healthy, praised be the Lord).

      He has hypermetropia (hyperopia) since I can remember but used no glasses when he was younger; at 85 now he uses them to read but not for watching TV. He loves football (the kind which is called soccer in the USA).

      As a cable subscriber he's pretty much satisfied with the video quality they offer. When I point out he can watch open, OTA channels with the same games, he argues that the video quality is the same.

      I see things differently (literally!): cable videos have a pasteurized feeling, with apparent color reduction, more anti-alias (or rather detail loss coupled with blur), and some kind of border enhancement.

      So my point is that it is visibly obvious, yet some people cannot (or do not want) to see it.

      Now, it would be nice to have a precise tool to show those differences in a quantitative manner, like the TFA suggests...

      Starting a rational discussion about it is entirely another thing. Some people won't hear rational arguments, some won't even listen to them -- no matter how right they are!

      This is more drastic when the situation is improved by with the compounded effects of, say, 12 adjustments -- yet individually each tweaking does not mean much.

      It's also somewhat like Linux, in that it's easy to prove it's better than Windows... but people then ask "what do I lose by continuing to use Windows?" For some, mainly those which deem computing "a torture", staying on Windows might mean less suffering in learning something new.

    10. Re: What the hell? by Anonymous Coward · · Score: 0

      It depends on the service. Unexpectedly sharp video can be found from time to time but for the most part even the services on the high end have very dismal results in providing clear and accurate frames. And they never listen to customer complaints so do not bother. A myriad of open source tools exist to sharpen video but you will always be limited by the quality of the source. If you can get the source provider to face up to the fact that their video quality is bad maybe they will fix it. Easier said than done. All they do is put their hand out for moolah and never answer questions

    11. Re:What the hell? by TooTechy · · Score: 1

      It may seem that way but it is a real issue. Watching a football(US) game on Comcast, live, it is easy to see the lack of visual quality as the camera moves and the field just becomes a blur of green, which once again returns to detail as the image stops moving. Movies from Netflix/Amazon are often blocky (low res image) over a 1080p image choice. How can we hold providers to account and or make an informed choice as to which service provider is better? We don't watch the same instance of a game on two providers at the same time. We don't have two service providers for the same show? It's an interesting question and one which will become more of an issue as bandwidth providers race to the bottom rung of the ladder.

    12. Re: What the hell? by yes-but-no · · Score: 1

      Unless you want to learn/acquire that ability to see the difference. I don't know a word in say spanish; but if every day I listen to a radio talk-show or a kids cartoon show in spanish for say1 hour; surely in a year or 6 months, I will hv decent ability to speak spanish (exactly the way a child learns her mother tongue). Compare that with a gibberish stream of some random spanish words.

    13. Re: What the hell? by Anonymous Coward · · Score: 0

      "Judging the quality" is a subjective exercise. Not all compression artifacts manifest as "blurriness". Different codecs are qualitatively different, and so a quantitative measurement will be inaccurate and misleading. It would be barely more meaningful than pixel counts, which is what they are currently advertising.

    14. Re: What the hell? by Anonymous Coward · · Score: 0

      The way for the end-user to make a meaningful comparison would be for him to familiarize himself with the different codecs available, their different profiles, and how many bits-per-second they need at a given resolution to look OK at their eyes. This takes days of research, looking at examples of how different codecs fail on different types of scenes, and making a judgement call of which modes of failure are worse. Then you need the streaming sites to be forthcoming with exactly how they are compressing the video.

      Good luck getting either party to do either of those.

    15. Re: What the hell? by Anonymous Coward · · Score: 0

      submitter is talking about a batch process ("folder full of video captures"), so could be useful for rating, or not wasting one's time looking at every vid.

  2. Copy protection? by mosschops · · Score: 2

    You'll probably run into copy-protection issues with many media sources. If you can get at the bits to analyze it, you can dump them out to create a copy. I'm not even sure sharpness is going to be easy to measure, if a soft/low-res source has been artificially sharpened to give the appearance of quality. Sports broadcasts seem to be the worst for it for it from my experience, with glowing halos around high-contrast edges to make them stand out even more.

    1. Re:Copy protection? by sanf780 · · Score: 1

      Sports are bad to encode because of the camera pan movement and the usual fast action of sports. Many broadcasters do not increase the bitrate for sports even if the broadcast will benefit from it. Add to the injury that many broadcasters use 1080i rather than 720p. Many TVs do deinterlacing bad. Images look OK on the news programme but any movement and details are blurred.

    2. Re:Copy protection? by cdsparrow · · Score: 1

      Yeah, any tool that was capable of doing this on DRM'd sources would be sued to oblivion and back.

    3. Re:Copy protection? by Jane+Q.+Public · · Score: 2

      While it may be true that some TVs are not good at interlacing, interlacing in fact was designed to smooth motion, not blur it.

      Theoretically, assuming your hardware is capable of doing it properly, a progressive-scan (p) video would need to have nearly twice the framerate of an interlaced (i) video, in order to achieve the same motion smoothness.

    4. Re:Copy protection? by LostMyBeaver · · Score: 1

      Agreed... of course, they're not looking for the bitstream itself, it can be "post transform" which when stored would cause generational copying issues.

      The technical solution to this would be to :
        a) split the video signal between an HDCP compliant screen and a capture card (such as black magic or preferably dektec)
        b) Capture the frames and perform full frame FFTs to identify frequency distribution. A large area DCT would work extremely well. Another option is to use wavelets and identify activity in the high frequency planes.

      The process is not difficult, it's just time consuming and expensive.

      Of course, I'm going to make a wild guess that the original poster is not a DSP expert and therefore was looking for something a little more "user friendly"

    5. Re:Copy protection? by mosschops · · Score: 1

      That will still be a problem, as any properly HDCP-compliant capture card will not (or should not!) give you access to the data either. Every device should check the downstream devices are compliant before passing any data on, and not provide any way to intercept it. Any that knowingly do are breaking the HDCP licensing agreement and are likely to be sued.

  3. Re:GNAA GAY NIGGER ASSOCIATION OF AMERICA GNAA NIG by Anonymous Coward · · Score: 0

    this class of vile racism must be resisted. we must resist. its time for anonymous comments to go and hate speech no longer protected as free speech. the time is now. this poison will end humanity.

  4. What are you measuring? by Anonymous Coward · · Score: 0

    What is "sharp"? A 1x2-pixel image where one pixel is black and the other one white is tack sharp, it can't get sharper than that. Is that what you want?

    What would you measure?

    More interesting is the level of compression which introduces losses and artifacts. But since the quality delivered depends on your bandwidth, make sure the bandwidth isn't the culprit.

  5. Streaming Is For Slaves. by Anonymous Coward · · Score: 0

    Shut up and enjoy whatever they decide to give you, pleb.

    1. Re:Streaming Is For Slaves. by Anonymous Coward · · Score: 0

      Somebody is looking for a legitimate reason to look at loads of porn.

  6. Sharpness is an illusion by Solandri · · Score: 4, Informative

    It created by degrading the video in a process called unsharp masking. Basically you find the edges between light and dark objects, and exaggerate them. You make the light side lighter on that edge, and make the dark side darker. This adds no information, in fact it degrades video quality from the original unsharpened version (loses information).

    But your brain has special cells which recognize transitions between light and dark, and identifies them as an edge. When the exaggerated transition from an unsharp masked edge hits those brain cells, they get more excited and signal the rest of your brain that this is a really strong edge. Thus creating the illusion that you are seeing a sharper image, when objectively it's a degraded image.

    So any algorithm which detects "sharpness" as interpreted by the brain would actually rate inferior (heavily processed) video streams higher than video streams conveying the maximum amount of information possible. It's why unsharp masking is typically added by the TV or video player, rather than incorporated into the original video stream. (A slight amount of sharpening is done to counteract the blurring caused by the Bayer filter used in camera sensors, but that's another story.)

    1. Re:Sharpness is an illusion by del_diablo · · Score: 1

      How does it lose information if changes the information it finds?
      That sounds pretty odd

    2. Re:Sharpness is an illusion by Anonymous Coward · · Score: 0

      See Mach bands in wiki

    3. Re:Sharpness is an illusion by Anonymous Coward · · Score: 0

      because you're quantizing the compressed/expanded data.
      Say you have a transition like this.... 0 1 2 3 7 8 9
      Now you exaggerate the transition to have a clearer edge... 0 0 1 2 8 9 9
      It's not possible to get the original data back given only the resulting data.... How do you know the original wasn't 0 0 1 2 8 9 9?

    4. Re:Sharpness is an illusion by Anubis+IV · · Score: 3, Insightful

      Sharpening the image is an inherently lossy process. You're replacing a more detailed image containing a soft edge with something that has a crisp edge with less gradation. You can't then reverse the process to get back to the original image, since there'd be no way to tell the difference between things that actually had a sharp edge in the original image and things that had merely had their edges sharpened after the fact. They'd both look the same.

      Frankly, sharpness is a really lousy measure for determining how good an image is. It doesn't make images look better, in and of itself, and it's something that the user can already introduce themselves if that's where their preferences lie, simply by bumping up the sharpness on their TV. Of course, if your goal is to have the highest fidelity image, you shouldn't set your TV's sharpness to anything over 0. Back in the day of analog CRTs it used to be the case that sharpness might improve the fidelity, but ever since the switch to digital LCDs anything more than 0 adds sharpness that wasn't there in the original image, thus decreasing the visual fidelity of the resulting image.

    5. Re:Sharpness is an illusion by Anonymous Coward · · Score: 0

      By this logic almost every single video filter degrades picture because very few of them are reversible. This claim is obviously absurd.

      If original video had lots of sharp edges (e.g. animation) and was scaled, the edges are blurred. Unsharp mask can mostly fix it. Naturally, it depends on video and filter parameters, it is easy to do it wrong. But light sharpening can make picture better. Lost information was not some sacred pristine image created to be consumed directly by brain, it is a result of multiple other processes and algorithms, almost all of them doing irreversible transformations of source information and creating artifacts of their own.

      I agree about evaluation tool though, it is very unlikely to produce any meaningful result. Sharp edges is just one of many parameters that affect video perception.

    6. Re:Sharpness is an illusion by Anonymous Coward · · Score: 0

      Or you replacing image with soft edges created by dozen of other lossy processes with sharp edges which were present in original picture. "inherently lossy process" doesn't mean result looks worse. Loss of artifacts of previous lossy processing can make picture better.

    7. Re:Sharpness is an illusion by MrL0G1C · · Score: 2

      Because a sharpened image over-writes some parts of the image with false information, see a good example here:
      https://www.youtube.com/watch?...

      --
      Waterfox - a Firefox fork with legacy extension support, security updates and better privacy by default.
    8. Re:Sharpness is an illusion by AmiMoJo · · Score: 1

      The questioner is hopelessly confused anyway. For example, YouTube has some of the best streaming quality, especially with 4k videos. What makes YouTube videos look bad is when the person editing and uploading the video doesn't know what they are doing.

      It certainly would be possible to create some kind of measure of video quality, but it could be gamed and would be of limited use. All you can do is verify that the specs that the streaming services claim are true (e.g. 1080p frames are being sent) and look at the encoding format and average/peak bitrate. Subjective comparison is hard as they often don't have identical test videos for comparison.

      --
      const int one = 65536; (Silvermoon, Texture.cs)
      SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
    9. Re:Sharpness is an illusion by Anonymous Coward · · Score: 0

      Thus creating the illusion that you are seeing a sharper image, when objectively it's a degraded image.

      Just because image A contains less information than image B doesn't mean image A's quality is degraded compared to image B. You are assuming that all information contained in image B contributes to quality rather than detracting from it. For example, an image that is out of focus in reality is, in fact, improved by throwing out information that more accurately portrays the blur and keeping information which does not.

    10. Re:Sharpness is an illusion by Anonymous Coward · · Score: 0

      You answered your own question - it changes the information it finds. A copy of the original is not kept. The process is not reversible.

    11. Re:Sharpness is an illusion by Anubis+IV · · Score: 1

      “Looks worse” is a matter of subjective preference, which I specifically addressed, but when it comes to objective measures (e.g. fidelity), yes, it’s definitively worse. Feel free to sharpen things on your end if that’s your preference, but don’t foist your (bad) taste on everyone else.

  7. Your eyes by Anonymous Coward · · Score: 0

    The tool is the human eye. At the end of the day nothing else matters.

    1. Re:Your eyes by Anonymous Coward · · Score: 0

      Sadly, this is correct. Without a standard to compare the video against (i.e. the original
      before any compression) there's no "objective" way to measure a "sharpness." Something
      that's horribly compressed (see Comcast TV for a good example) will appear nice and sharp
      but will be very painful to watch (I have 1st hand experience here).

      CAP === 'hotter'

  8. quality vs practicality by Anonymous Coward · · Score: 1

    Video quality is a function of codec and bitrate. It will always be a compromise between image quality, file size and decoding power. Even if the service wanted to serve users super sharp, high preset h265 + flac audio, most users would be unable to use it - file sizes would eat their download caps and their netbooks/phones would be unable to cope with decoding. Obviously on the service side they also don't want to pay for storage and transfer of those huge files, especially if they would be hardly watched.

  9. Blur it, then use the Earth Movers' Distance... by Anonymous Coward · · Score: 0

    Between the image and its blur. Probably want to mean center and scale to add up to 1 first (grayscale). Blurry images don't blur as fast as sharp ones.

    1. Re:Blur it, then use the Earth Movers' Distance... by Anonymous Coward · · Score: 0

      Of course, if you don't actually care about `sharpness', you care about `better' in some human sense, you'll just need to create a labelled dataset and train a thing.

  10. Video metrics by sanf780 · · Score: 3, Informative
    There are already known metrics, like PSNR and SSIM. The thing is, these metrics are used when you encode the videos from the raw material and there is a tradeoff between bitrate and the desired metric.

    The only thing you can more or less do on the broadcast video is to identify encoding artifacts like macro blocks, mosquito noise and deinterlacing side effects. MPEG2 streams are easy to identify, H264 and H265 are slightly more difficult. I do not know of a package solution to this. Be aware of news stations that use low fi mobile feeds!

  11. Re:Sharpness is an illusion; Maybe so, but... by Anonymous Coward · · Score: 0

    it may be a useful illusion.

    Regardless, the question asked was not about the group's opinion of the value of sharpness, but about the availability of software to evaluate it.

    I do not have a direct answer to the question asked, but would suggest that a python script should be able to do something useful. Use numpy/scipy to run fft on "lines" of data across a frame. A "sharp" image will contain a higher proportion of high-frequency components (higher-order harmonics).

  12. Try this by wolfheart111 · · Score: 2

    It was on G... could have done it yourself but, here u are. http://www.compression.ru/vide...

    --
    [($)]
  13. Already a solved problem by Anonymous Coward · · Score: 2, Informative

    There are already algorithms for doing this, like PSNR, SSIM, and VMAF. Here's a good read: https://medium.com/netflix-techblog/toward-a-practical-perceptual-video-quality-metric-653f208b9652

    And there are already commercial solutions that apply these metrics as well as network analysis etc. across a range of video delivery methods, e.g.:https://www.telestream.net/iq/

    1. Re: Already a solved problem by Anonymous Coward · · Score: 0

      Utterly irrelevant if you donâ(TM)t have the source stream to compare the encoded stream against

    2. Re:Already a solved problem by DoctorBonzo · · Score: 2

      The referenced netflix blog is probably the best answer you'll get...

  14. gotta remember by renegade600 · · Score: 1

    You need to check with the specific streaming services terms of use to see what they say about their streaming. Most likely most will have a way out if the video is not up to par. Also, sometimes the streaming video is based on the actual speed of your internet at the time of the streaming (Amazon Prime, Netflix, etc). In addition some service providers will throttle the stream - especially if mobile.

    IMO, getting a measuring tool would really be a waste of time.

  15. What you really want... by Graymalkin · · Score: 4, Informative

    Is a way to tell not that the video is "sharp" but closely matched the original source in fidelity. If all you looked at was sharpness a scene that had motion blur or an out of focus effect would run afoul of the algorithm. Your end goal of name and shame is incredibly difficult to do well or even accurately.

    There's ways to get video quality measures (SSIM, MSE, etc) but they require a comparison to the source (or a source you consider good enough) as they're relative measures. Interpreting the results is also not obvious.

    Besides the challenge of the comparison it's also important to understand the video pipeline from raw source to what you see on screen. The video stream from the provider might be providing a high quality stream but the scaler on your TV might suck and muddies the image upon display or your LCD panel's dithering might be really shitty.

    Video, especially streaming video (either Internet streaming or live delivery like cable), is really complicated. There's a lot of different dimensions where you might judge "quality" and even then it's an envelope and not a single scalar value. There's no objective "good" reference for any recorded scene, even the concept of "life-like" is not clear since the recording is entirely dependent on physical properties of the equipment.

    --
    I'm a loner Dottie, a Rebel.
  16. Just use bitrate. by sonoronos · · Score: 4, Insightful

    There's already a metric that basically defines video sharpness: bitrate.

    The sharpness of H.264 and H.265 is very well known. Since commercial streaming services use commercial streaming video codecs, it's a pretty safe bet that you can almost directly correlate resolution to bitrate.

    There's virtually no incentive for streaming companies to deliver lower resolutions at higher bitrates. It would be a technical challenge to deliver higher resolutions at higher bitrates.

    Therefore, bitrate is most likely the simplest and most accurate measure of streaming video sharpness.

    1. Re:Just use bitrate. by sonoronos · · Score: 1

      Sorry, correction to the above: It would be a technical challenge to deliver higher resolutions at LOWER bitrates.

    2. Re:Just use bitrate. by Lanthanide · · Score: 1

      Ignoring the point that different algorithms can produce different results at the same given bit rate. If there's a video provider that doesn't really care about the service they're offering, they may ensure everything is sent at a particular bitrate. This can result in inconsistent quality between titles if the algorithms that were used to encode it are different (and again, this is for a content provider that doesn't care about what they're doing). Also complex scenes need higher bitrates in order to render an acceptable image, again if the provider just sets a cap on their bitrate this may result in some scenes having much lower quality than others.

    3. Re:Just use bitrate. by guruevi · · Score: 1

      I think the primary problem is the provider and in-between boxes lying about the bitrates. You can output 4K HDR on your cable box but your provider may be streaming 240p which the box up converts.

      --
      Custom electronics and digital signage for your business: www.evcircuits.com
    4. Re:Just use bitrate. by Anonymous Coward · · Score: 0

      4K and 240p are both examples of resolutions (xy dimensions), not bitrate.

    5. Re:Just use bitrate. by philmarcracken · · Score: 1

      There is a bigger factor than just resolution sizes when it comes the required bitrate. The amount of full screen motion and detail.
      You can have a 4k size clip go on forever and require very little bitrate so long as nothing much is actually moving; the p-frames will be almost entirely black.

      So the bitrate required is a function of the amount of detail/motion necessary to explain it. This makes it heavily scene dependent and the best example of this in recent memory was in Thor: Ragnarok during a fight scene within transit of the bifrost bridge. Whoever their SFX artist is for that scene, he must have sat down with every patent holder in MPEG LA and googles AV1 and said how can I best absolutely fuck your shit up? Well that was the result; an almost entirely uncompressable scene of motion and color required inordinate amounts of bitrate to explain.

    6. Re:Just use bitrate. by DigitAl56K · · Score: 1

      That is total bollocks. You'd have to be a video encoding total noob to believe it.

      These video standards have various "profiles" that define the encoding "tools" that can be used, and the characteristics of the target decoders. These can vastly change the required bitrate to acheive a given quality. The quality of the encoder design makes a vast different too. Finally, moreso than anything, the characteristics of the input video affect the required bitrate for a given quality. A football game may need 3x the rate of a sitcom to look good.

      If you want a real measure of the quality of an image, you might come _close_ if you use some well established metrics, but the most common do have weaknesses when compared against the human eye. They also require the source material as an input.

      If you want a good guess, look at the quantizer value in the bitstream. This is an indication of how accurately the encoder stored the picture data for each new frame. A lower value means it discarded less of the signal, a higher value means it discarded more. This will be a primary driver of changes in the output bitrate.

      There are various other things to consider, such as the frame/block types, but quantizer should get you close.

    7. Re:Just use bitrate. by thegarbz · · Score: 1

      There's already a metric that basically defines video sharpness: bitrate.

      Sorry but that is just plain wrong. Even within an identical decoder the same bitrate can produce wildly different results in terms of perceived image quality depending on the many hundreds of settings available, including sharpness. On top of that perceived sharpness can be faked by applying a local contrast increase right at the point of the change in brightness.

      There's virtually no incentive for streaming companies to deliver lower resolutions at higher bitrates.

      Actually there is. Improving image quality costs time, or hardware which directly translates into actual money. e.g. I could live capture video in RAW and then compress it to H.265 using Handbrake at a certain bitrate with certain encoder settings and achieve a great result. Or I could live capture video straight to RAW in realtime using either my CPU with the encoder settings set at a highly speed optimised way at the same bitrate and achieve garbage. Or I could offload it to the hardware encoder in my GPU which has excellent speed but is not optimised for video quality providing a happy medium between the two options all at the same time using half the power (a relevant metric if I was doing it 24/7).

      Bitrate is meaningless when comparing across different encoder settings, or in the case of different producers: Different encoders themselves.

    8. Re:Just use bitrate. by Anonymous Coward · · Score: 0

      Unless "240p" is the text string the industry used to label a certain bitrate profile.

      Since they're not pedants, realize they correlate, and don't care if the label is Akshually Wrong.

      Even if they labeled their internal controls by bitrate, they'd probably have (240p) and such written after each.

  17. Really... by Anonymous Coward · · Score: 0

    Most humans can't tell the difference, and now you expect a computer to? How many people I've heard say a 1080p tv isn't worth it let alone a 4k.

    1. Re:Really... by Anonymous Coward · · Score: 0

      "Most humans" are obediently streaming. Even buying local media doesn't guarantee matching quality, it's all too easy to slap a sticker on what will be mostly upscale. Hell, not just the media, there's a lot of incentive to make generous industrial "interpretations" on the playback hardware, on TVs/boxes/pipe.

      But even if you took away my disdain for plebs and their handlers, it would still be true that 4k media is admittedly "exotic", whether through local, stream, broadcast, even hand-picked items.

      And even if you took away the potty training on everyone's eyeballs and they could see their TVs with pre-conditioned eyes, true-4k media is admittedly lost to 20/20 vision across a room.

      Which, I guess would give credence to the throttling and misrepresentation. If we pretend the intent was "it would be wasteful", when it's really just "4k is expensive, let's do this..."

  18. Wait a second... by Anonymous Coward · · Score: 0

    This is judging video, not a set of still images. Video that looks sharp and natural is a bunch of very slightly blurred stills, our brains reassemble it all to appear as such. Thereby, it would seem quite difficult to build a piece of software that could give a useful 'hard number' for this kind of evaluation.

    1. Re:Wait a second... by guruevi · · Score: 3, Informative

      A video is a set of images. Sharp images = sharp video.

      What the poster is asking for is not a measure of "sharpness" but a measure of quality.

      --
      Custom electronics and digital signage for your business: www.evcircuits.com
  19. Show them, don't tell them. by Anonymous Coward · · Score: 0

    I never thought that companies not providing a delivered product was exactly "shameful", as if they crossed some moral line. But that just seems to be product of our time.

    If you really want to change things, why do you need a tool to make the comparison? Nobody is going to care that your tool said video source X was only 50% sharp, and the original source was 80% sharp. But they WILL care when you provide side-by-side comparisons of each frame.

    If it's true, it's a perfect story to put on the web. If you can see the difference between the two screens use that! It's so simple that you could do it with just a few hours work. All you need to do it make screen grabs of different movies played on streaming and compare it to BluRay. You could do this in a weekend, and it's make good journalism.

    So do it.

  20. Adaptive bitrate streaming by enriquevagu · · Score: 1

    You are probably not aware of how video streaming works nowadays, and you should read about adaptive bitrate streaming.

    TLDR, nowadays content providers encode each video at different resolutions and quality levels (and bitrates), each with a different level of "sharpness", and the client selects the one that best fits its available network bandwidth.

    This means that playing the same video several times may result in different quality each time. This also implies that the quality of the video you receive may be altered by your neighbor playing netflix (in the same Wifi channel), or your girlfriend passing between the AP and your receiver (reducing the signal level; both of them cause the AP to modify the modulation and coding scheme, reduce the available network bandwidth and may reduce the bitrate (read: "sharpness") of the following piece of video.

    Also, please note that "youtube quality" is a nonsense, since Youtube delivers video with different quality levels (in some cases, up to native 4K).

    1. Re:Adaptive bitrate streaming by Anonymous Coward · · Score: 0

      You are probably not aware of how video streaming works nowadays, and you should read about adaptive bitrate streaming.

      TLDR, nowadays content providers encode each video at different resolutions and quality levels (and bitrates), each with a different level of "sharpness", and the client selects the one that best fits its available network bandwidth.

      This is not true. The client selects the OFFERED stream that fits within their bandwidth capabilities. Just because I have a 10 Gig Ethernet connection with full 10 Gig available bidirectionally does NOT mean that I get OFFERED a 10 Gigabit stream. I still only get OFFERED a stream of not quite totally CATRS (Compressed All To Rat Shit) quality that is the same quality and bandwidth as the person with a 1 Gig Ethernet connection, or a 4 mbit fractional really-bloody-olden-days half-duplex ethernet connection.

      This means that playing the same video several times may result in different quality each time. This also implies that the quality of the video you receive may be altered by your neighbor playing netflix (in the same Wifi channel), or your girlfriend passing between the AP and your receiver (reducing the signal level; both of them cause the AP to modify the modulation and coding scheme, reduce the available network bandwidth and may reduce the bitrate (read: "sharpness") of the following piece of video.

      Wifi is for children. No one expects anything of any quality whatsoever over Wifi. Wifi cannot even do an acceptable job streaming CD quality audio, let alone video.

      Also, please note that "youtube quality" is a nonsense, since Youtube delivers video with different quality levels (in some cases, up to native 4K).

      Just because something is "claimed" to be 4K video does not mean that it is.

  21. It's about spatial frequency by BobC · · Score: 1

    Fundamentally, a 2-D FFT describes the dynamics present in any image. Sure, you could compare them between a known source displayed via different streaming methods on different screens. However, these numbers are meaningless on their own without taking the context of the viewer into account.

    The FFT must include physical dimensions, starting with the screen's PPI value. So a 4K phone screen is inherently "sharper" than a 4K projector on a 20 meter movie screen. But we all know the movie screen offers a far better experience than a phone, more "immersive", independent of the perceived or actual sharpness.

    The viewer's perceptions are also key. Starting with their ability to perceive. For the human eye to resolve a 4K image at the pixel level, that is to detect sharpness changes at that level, a person with 20-20 vision would need to sit NO FURTHER than a SINGLE screen diagonals away from the center of the screen. That's 65 inches away from a 65" inch monitor. If you aren't sitting that close, you aren't "seeing in 4K". So you have already started to lose "sharpness" independent of what you're watching.

    And if you are sitting that close, you'll want a curved monitor, since the distance from the center pixel to your eye is much closer than the distances to the corner pixels. And you'll be watching alone, since there generally isn't space for two at that ideal viewing spot. So most of us get flat monitors and sit further away. Most of us sit so far from our screens that we aren't even "seeing in 1080p"! You'll notice that most TVs smaller than 32" are only 720p, which is because you really can't see more than that if your sitting at a normal TV viewing distance.

    I *DO* sit that close. As I write this I'm sitting 55" away from my curved 65" TV/monitor. For most streaming content I lean back a bit simply because it makes no difference: The media sharpness is generally sloppier than what my eyes can perceive, so sitting back doesn't reduce the quality. That does change for well-rendered 4K content, where the original material is extremely sharp (directors and editors intentionally add blur to remove distracting levels of sharpness). That's when I lean in until my eyes can take in every detail.

    If you aren't close enough, the content sharpness simply doesn't matter.

    1. Re:It's about spatial frequency by yes-but-no · · Score: 1

      Curious, why do you need that much detail? I can understand an eye or brain surgeon may want to see more; but for normal tv content? even everyday you walk around, see things / people, you only use the necessary and sufficient detail to do object recognition (I see a bit patttern n this matches my known db of object xyz). I mean just because modern tech allows something does not mean we need it.

  22. Dear Salty Dude by Anonymous Coward · · Score: 1

    Dear Salty Dude,

    Your picture quality is crap because streaming services dynamically vary the quality to match the available bandwidth. If you've got less than 20Mbps or if your ISP is throttling your 20Mbps connection so that you can only get 2Mbps from Netflix, then you're not going to see 4K(UHD). https://fast.com

    Even if you could programatically characterize the quality of the video, your salty rants are not going to shame the likes of NetFlix and Amazon. So don't make a spectacle of yourself or waste your time looking for pointless code.

    Get a better connection or ISP. If you can't do that, don't pay for HD and UHD streaming content because you're never going to see it on your shit connection.

    Love always,

    AC

    1. Re:Dear Salty Dude by Anonymous Coward · · Score: 0

      Streamfags discussing quality is an oxymoron. I'd sooner listen to chefs argue about the quality of truffles in microwave ramen.

      Just eat your damn ramen. That's why you like it, right? You can "just eat it"!

      On the go! Anytime anywhere! It's ready instantly, right away!

      If you want to bitch about truffle selection you'd better be in a fucking kitchen, not eating/streaming on the ride home.

      ~ Different AC

  23. Re:GNAA GAY NIGGER ASSOCIATION OF AMERICA GNAA NIG by Anonymous Coward · · Score: 0

    It's existed since the beginning of humanity and hasn't destroyed it yet. Your intolerance will though.

    Both comments are just trolling though.

  24. Betteridge says 'No'! by nospam007 · · Score: 1

    And that's the law!

  25. src and transport and dest all matter by spikeysnack · · Score: 0

    First is the actual cameras that record the video
    For movies >2010 this is usually pretty good,
    But a lot of film conversions to digital are not so great.
    Live events are all over the place, but 1080p is usually
    pretty good except for a glare problem of bright lights
    either directly or reflected of surfaces.
    Dramatic light shows with swirling colors and so on
    are hard to render without washing out colors and some
    tearing and blending.
    What you want is life-like skin texture on people.
    But that is also dependent on the makeup they wear.
    TV shows that are interviews under lights are terrible about this.

    There will always be some compression in the transport
    which leads to "smoothing" of subtle texture changes and
    exaggeration of sharp lines, especially straight lines, and
    deepening of shadows with less detail in dark areas.

    The settings and capabilities of the device(s) that render the video
    to final pixels on the screen are mostly about the same quality for
    the same resolution, though I have found older (2010 - 2016) Vizio
    units are very clear (to my eyes) compared to Sony or Panasonic or whatever.

    Cable boxes HD looks worse than Blu-Ray because of the compression,
    And American HD TV shows are terrible compared to UK HD.

    The test is to take a streamed movie, and a HD 4K movie on Blu-ray,
    and play them side-by-side on two monitors of the same brand, and if
    the streamed looks bad, start reducing the res on the Blue-ray monitor output
    until it looks the same. Try to match the brightness, intensity, and contrast
    after every change, or put the same signal into both units and fiddle with them
    until they have the best picture and both look identical.
    Your mission, should you accept it, is to
    take notes of everything, take pictures, and report back the results.

  26. Sharpness by Anonymous Coward · · Score: 1

    As others here already sort of mentioned; Sharpness is the wrong metric.

    Another person mentioned "macro blocks".

  27. That's what I was g to say. Compare to same codec by raymorris · · Score: 1

    That's what I was going to say. Compare to competitors using the same codec and more or less bitrate = quality. It's not a PERFECT measure, but it's pretty good and dead simple.

  28. Why there is blur by Anonymous Coward · · Score: 0

    In the beginning, there was mpeg 1 and mpeg2.

    Spatial information gets transformed into frequency domain, and then quantized.

    In dumb words, sharpness is retained, but the amount and detail of sharpness becomes inaccurate.

    Opposite of sharpness, the exact properties of a gradient, like a sky, also gets quantized.

    Since the picture is divided into blocks, the sky starts looking blocky. Grass looks blocky. There's sharpness, and there's detail, but it's all floating around sort of disconnected in a sea of muddy blockiness. Sharp edges might get ringing around them.

    Most computational and algorithmic measures say this is good. The human eye says it's bad.

    So, next came h264 with its built-in deblocking filter. Not only does it try to smooth out all the sharp edges caused by the quantization, when the codec compares previous frame to next frame in order to record the differences, it uses the decoded and smoothed frame as reference. The amount of smoothing depends on how hard things were compressed.
    With h264, the smoothing has temporal stability, and if the bitrate budget for the next frame is better, it can be spent on improving sharpness.

    So why this long rant?

    If we just go back to mpeg1 again, "Sharpness" will increase. Yay product comparison!! Goal achieved?
    But it's sharpness in all the distracting places. Indeed, in a mpeg1/mpeg2 world, smoothness would be a better measure of quality!

    In a h264 (and h265, which this author is too senile to be familiar with) world, the only useful measures are comparing original to encoded versions, with ssim or pant. We fon't have access to original, so we're all out of luck.

    Anonymous because this was first post on Slashdot since 2001 and I forgot all login details.

  29. You don't even know what you're asking by sentiblue · · Score: 1

    First of all... sharpness is something you see and experience. There's no way to measure it. In order to measure something you need a unit and that doesn't exist. Don't tell me whether it's 1080p or 4K or 5K. Those are not sharpness units. If you want to measure sharpness, at least you're expecting certain value which you don't even know because again there's no unit.

  30. It might out some of the people who rip off others by aklinux · · Score: 1

    It is very annoying to watch video on you-tube only to figure out many of them are ripped off from someone else. These thieves alter the video so YouTube doesn't kill it by changing the speed, mirroring, and other methods to get it online. It tends to make it unwatchable.

  31. FFmpeg can do it by guruevi · · Score: 1

    FFmpeg can do PSNR calculations. The only problem with what you call 'sharpness' (in technical terms, we call it noise or signal-to-noise ratio) is you have to have something to compare it with. Movie and video makers often use 'blur' either as a proxy to indicate motion or to put emphasis on the thing in the story that the viewer should focus on. It's also natural for things that are in the 'focus' of the camera to be sharp and everything else to be blurry (unsharp). So measuring 'sharpness' of an image is kind of pointless since 75% of an image is typically blurry.

    What you need is get a comparison stream (you could use XMLTV for live channels or a Content ID system for recorded things to identify eg. a movie scene) and then run it through ffmpeg's or avisynth's many calculators.

    One of the few things that do happen during cable or satellite streams and which you could minimally calculate is duplicate frames, black frames and dropped audio. Ffmpeg has calculators for all of them.

    One of the few proxies you could try but which would be very hard to quantize is simply calculating how 'hard' a frame or set of frames is to compress. Blurry video is more complex and thus harder to compress, you can easily calculate these peaks if your stream is expected to be very homogenous (eg. streaming of a static image). My idea here would be to use MythTV's commercial detection algorithm and/or use OpenCV to detect and focus in on the logo. If the encoding difficulty of the logo changes significantly for periods shorter than the length of a commercial, you may just have detected a frame where the quality dropped.

    --
    Custom electronics and digital signage for your business: www.evcircuits.com
    1. Re:FFmpeg can do it by Anonymous Coward · · Score: 0

      You have this bassackwards. Blurry (soft) video is easier to compress than quality video, and becomes "smaller" than if one were to attempt to compress (encode) the original. This is why CableCo's and move Satellite providers have such crappy video quality.

      Also, your "thing" about only having one target in focus is absolutely horrid and incorrect. I saw (a little bit) of something that was made with this artsy-fartsy method and it was completely unviewable. Depth of Field is well understood and dorkuses who futz about too much with depth of field in order to be artsy-fartsy end up with steaming piles of unviewable dogshit.

    2. Re:FFmpeg can do it by guruevi · · Score: 1

      I think what the poster was asking about detecting compressed, lower resolution video being upscaled to a higher resolution (4K@60Hz output from eg. the cable box but the (often encrypted) transport is lower resolution) at the end point. This process induces a variety of noise and interpolation which you see as blurry-ness but the computer sees simply as more complex video.

      --
      Custom electronics and digital signage for your business: www.evcircuits.com
  32. Re: That's what I was g to say. Compare to same co by Malc · · Score: 1

    No, itâ(TM)s not. Every encoder offers configurations that trade off speed against quality. If you donâ(TM)t want to spend much on hardware, or turn around time is important, youâ(TM)ll reduce the quality irrespective of bitrate.

    Then live encoding is another issue. x264 is very CPU intensive, and watch the CPU spike during (Iâ(TM)m not sure which, but they could be the same) scene detection or I-frame generation.

  33. Asking the impossible, but there is an idea by GuB-42 · · Score: 1

    Measuring sharpness is possible, but that would mean nothing. There are many image sharpening algorithms. Any self respecting editor can play with sharpness any way he wants, and it is even built in some TVs and video players.

    What you want is a measurement of quality and it can't be done without a reference. Think about it, if you can tell how close a video is to the reference without the reference, then the same algorithm could be used to reconstruct the original from a degraded video. And guess what, compression algorithm do exactly that: reconstruct a good looking video from as little data as possible.

    So the answer to your question is simple: compress the video using a good compressor (ex: x256) on constant quality mode and measure the final file size. In fact the original bitrate may be a good indicator, no need to do anything. However, note that adding noise will increase both the bitrate and sharpness, and it is a technique commonly used to make things appear more detailed. Artefacts such as poor deinterlacing will also increase the bitrate and sharpness, so don't trust these metrics too much.

  34. How to do this by AHuxley · · Score: 1

    Have max bandwidth use by a broadcaster around the world. No attempts on adsl, low end 3rd world consumer ISP.
    Work out what the original material was created in, film, HD, 4K, 8K.
    Find the same show globally.
    Sort for the bandwidth, compression, chip sets used.
    And only selling so much bandwidth to broadcasters?
    Are 2nd and 3rd world nations broadcasters trying to fit many shows over a set amount of bandwidth they can use in that part of the world?

    Its not a conspiracy to make TV look bad in 2nd and 3rd world nations.
    Only so much "TV" will fit in the bandwidth allowed in 2nd and 3rd world nations. To make money more "TV" is made to fit so more ads get played. So it looks different to the HD and 4K products offered in advanced normal nations. More shows, more ads, more profit.
    Why? People in advanced nations "pay" at lot every month for more the amount of "bandwidth" to enjoy HD and 4K content.
    Want better quality? Try DVD. Buy Blu ray. Pay for a broadcaster that "buys" the needed bandwidth for their broadcasting.

    --
    Domestic spying is now "Benign Information Gathering"
  35. Compression artifacts by Anonymous Coward · · Score: 0

    One element would be to Identify compression artifacts and rate the video on a scale by how much of it is present.

  36. There's that, but if you're distributing widely by raymorris · · Score: 1

    That's true, one can decide to spend less CPU encoding.

    Having said that, when widely comparing services such as Dish Network vs Comcast vs Frontier, that part would be different only if they are very stupid. For a given level of quality, the higher CPU encoding gives lower bandwidth. Some of us may be used to thinking of higher quality if it were the same bandwidth, but the flip side of that is it also means lower bandwidth for whatever quality level they accept.

    Since they are going to transfer the stream to millions of users, the bandwidth difference is multiplied by a million for them. It's a no-brainer to use the CPU to encode well ONCE in order to save on bandwidth a million times. I don't know if I wrote that clearly. If you're encoding once and transferring to one destination, you might not spend the CPU to make the bitrate low / quality high. Given they are encoding once and transferring a million times, it would be moronic of them to spend thousands of dollars more on bandwidth in order to save pennies on CPU.

    If we assume they aren't utter morons, they'll all spend the CPU time to get the lowest bandwidth they can for the level of quality they find acceptable. That's another way of saying that they'll have the best quality they can for the bitrate try used.

     

    1. Re:There's that, but if you're distributing widely by Graymalkin · · Score: 1

      The idea of encoding content once for everyone (in the streaming case) is actually the totally incorrect thing to do. You actually want to encode a single source a number of times with different settings intended for different client environments. If you're Netflix you even encode different segments of each source video to different profiles.

      Storage and CPU are much cheaper than bandwidth. HTTP streaming protocols like HLS and MPEG-DASH break video streams up temporally into time-based segments. The playlist files, m3u8 for instance, define different sets of stream segments for different network/device conditions. If the high bitrate segments are transferring slowly the client starts grabbing segments from a lower bandwidth stream.

      So for any given video stream you want at least a few different copies tuned to different client bitrates. You also don't have to think of a video stream as movie.mp4, you can instead think of it as movie-scene1.mp4, movie-scene2.mp4, movie-scenen.mp4. Each scene can be analyzed for levels of motion, detail, etc and encoded with highly tuned parameters with an awareness of the actual content.

      All of this goes towards the goal of delivering video with good visual quality using the least bandwidth possible. Being able to handle dynamic streams like this require relatively high power clients but even cheapo ARM SoCs can handle the job anymore. On the encoding side, everything is very parallalizable and can be hardware accelerated.

      --
      I'm a loner Dottie, a Rebel.
    2. Re:There's that, but if you're distributing widely by raymorris · · Score: 1

      Of course.

      My point is that when 12 million people watched an episode of Game of Thrones, that means it was transferred 12 million times. It wasn't encoded 12 million times. Sure a scene might be encoded 12 times, then each encoded copy was downloaded a million times.

      If I watch a 7Mbps stream of GoT, a million other people watched the same 7Mbps stream. That 7Mbps version only had to be encoded once, for a million viewers, so it would be crazy to skimp on a dollar of encoding time.

  37. Why analyze the footage? by Actually,+I+do+RTFA · · Score: 1

    Since transmission over the last mile is the expensive part, why not just check the received stream's bps? You can assume that they're not going to upsample it and pay more just for the last mile.

    --
    Your ad here. Ask me how!
  38. I hope not, it'd be abused. by MrL0G1C · · Score: 1

    That reminds me of the abhorrent sharpness setting most TVs even including 4k TVs have.

    Sharpness is not a measurement of quality, quality is a measurement of quality or more specifically accurate reproduction - how close does the stream match a high quality version such as a blu-ray 4k copy etc.

    If you introduce measuring sharpness as a way of measuring quality then the end result is cheating that will artificially make all streams sharper at the expense of picture quality.

    So, get it right, sharpness != quality.

    Here is an example of how nasty the sharpness setting can make things: https://www.youtube.com/watch?...

    --
    Waterfox - a Firefox fork with legacy extension support, security updates and better privacy by default.
  39. Why sharpness? by thegarbz · · Score: 3, Informative

    Image quality is not determined by sharpness. This idea is the reason why those horrible TVs apply a post process sharpness increase to content (the first thing you should turn off when you buy a TV).

    Quality covers a large number of metrics including artifacting, posterisation, loss of colour fidelity, and loss of contrast ratio to name a few.

  40. Downscale then upscale by Anonymous Coward · · Score: 0

    One trick you can try is to export an image (or even short segment), downscale it to some resolution (say 1080p -> 720p), upscale it back to the original resolution, then optionally apply an unsharp mask filter. Compare this processed image/segment with the original and see how much difference there is. Note: use a decent scaler when performing resizes - ideally bicubic or better.

    I'm not sure if there's a tool which can do something like this. I do know of some for anime (may work for non-anime content): https://iamscum.wordpress.com/_test1/_test2/resizing/

  41. Re: GNAA GAY NIGGER ASSOCIATION OF AMERICA GNAA NI by Anonymous Coward · · Score: 0

    Yeah, that's working so well for Canada... Lolololol

    I had a laugh when the RCMP protested those bullshit laws by shutting down lesbian bookstores with our obscenity laws, though. Probably the only time I respected them.

  42. Encoding Quality = An Old Problem by Anonymous Coward · · Score: 0

    Many years ago my cable provider changed from analog and standard definition to digital and HD or FHD definition.
    When I changed to digital myself, I set-up the TV to work with both video flows, from a spliter the analog to the TV's analog input, the other to numerical receiver and to TV's HDMI.
    As long as I could receive analog signal, it was better than the digital, and at least once I had a TV's technician checking and I show him that just changing channels on TV from digital to analog for the same program, it was a big visible difference for the analog having more quality.

    Now with only digital, I "enjoy" everything this technologi has to offer, macro-blocks in almost every program once per hour, and few times per week pixelation when almost a quoter of screen has 20-30 square blocks as usually FHD image.

    Having also access to a streaming service, I have to say that yes, the sharpness is not always very good.

    Also I saw many videos true FHD but with a low quality of image, yes, usually the sharpness.

    The TOOL should accept an HDMI input (from cable's digital receiver), also being a "smart receiver" from a streaming service and pass the signal to TV.
    I do have an HDMI recorder, but by re-en-coding it change the quality. Even it it is ProRes or DNxHD...
    The TOOL should be able to record an image to very high quality (RAW-ish type frame) so you can analize what is at stake, the video quality and not a complex machine where the video itself is much processed.

    So, in my oppinion, the TOOL should be hardware and software just to accquire proper stills from a video transport, then a suitable software (pretty complex, maybe AI driven) to be able to analyze the image and identify if a scale-up was applyied.

    If you leave the still images to be acquired by each individual as he consider "available" (recorder, photo camera) it could be only this "second" part, an IQ (Image Quality) on the web you upload an image and specify the origin (from HD, FHD...) and it will give back a "mark" for quality of thar source.

    Very nice ideea, indeed.

    1. Re:Encoding Quality = An Old Problem by Anonymous Coward · · Score: 0

      Yes, per other comments, you may get different quality at different times.

      In the morning, ~10:00 to ~15:00, I can work at about 5Mbps bandwidth, but in the afternoon end even night I get ~2-3 Mbps.
      In the morning I can have 2 TV HD (hard to say what resolution exactly...), in the afternoon-evening only one, for the second will be almost not acceptable with jerky image or even both jerky...

      Definitely an intreresting TOOL.

  43. Re:decss by Anonymous Coward · · Score: 0

    Please, you can compress the code much better than that. Did you even try?

  44. Deep Learning to the rescue by Anonymous Coward · · Score: 0

    This would be a great application for deep learning. Get 30 or so videos of each resolution and label them with their true resolutions, and train a CNN classifier on that data set to predict the resolution of a new unknown video. It's a case where deep learning is really good at learning this type of classification and would likely be highly accurate