Hacker Newsnew | past | comments | ask | show | jobs | submit | filleduchaos's commentslogin

"Clarify, reduce noise, and improve overall video clarity" is not "just a compression algorithm", what? Words have meanings.

“a small experiment on select Shorts, using traditional machine learning to clarify, reduce noise and improve overall video clarity—similar to what modern smartphones do when shooting video.”

It looks like quality cleanup, but I can’t imagine many creators aren’t using decent camera tech and editing software for shorts.


Well yes, that's what I mean, quality cleanup is not what I'd call a compression algorithm.

And as you say, arbitrarily applying quality cleanup is making assumptions of the quality and creative intent of the submitted videos. It would be one thing if creators were uploading raw camera frames to YouTube (which is what smartphone camera apps are receiving as input when shooting video), but applying that to videos that have already been edited/processed and vetted for release is stepping over a line to me. At the very least it should be opt-in (ideally with creators having the ability to preview the output before accepting to publish it).


Noise is, because of its random nature, inherently less compressible than a predictable signal.

So counterintuitively, noise reduction improves compression ratios. In fact many video codecs are about determining which portion of the video IS noise that can be discarded, and which bits are visually important...


That doesn't make it just a compression algorithm, to me at least.

Or to put it another way, to me it would be similarly disingenuous to describe e.g. dead code elimination or vector path simplification as "just a compression algorithm" because the resultant output is smaller than it would be without. I think part of what has my hackles raised is that it claims to improve video clarity, not to optimise for size. IMO compression algorithms do not and should not make such claims; if an algorithm has the aim (even if secondary) to affect subjective quality, then it has a transformative aspect that requires both disclosure and consent IMO.


Perhaps it would raise your hackles less if you read the Youtube comment as "improve video clarity at a particular file size", rather than how you presumably read it as "improve video clarity [with no regard for how big the resulting file is]".

I think the first comment is why they would position noise reduction as being both part of their compression and a way to improve video clarity.


> That doesn't make it just a compression algorithm, to me at least

It's in the loop of the compression and decompression algorithm.

Video compression has used tricks like this for years. For example, reducing noise before decode and then adding it back in after the decode cycle. Visual noise doesn't need to be precise, so it removing it before compression and then approximating it on the other end saves a lot of bits.


Oh, I do have a fully-formed argument for this that I should probably write out at some point :)

The gist of it is that Rust is (relatively) the French of programming languages. Monolingual English speakers (a stand-in here for the C/C++ school of things, along with same-family languages like Java or C#) complain a lot about all this funky syntax/semantics - from diacritics to extensive conjugations - that they've never had to know to communicate in English. They've been getting by their whole life without accents aigu or knowing what a subjunctive mood is, so clearly this is just overwrought and prissy ceremony cluttering up the language.

But for instance, the explicit and (mostly) consistent spelling and phonetics rules of French mean that figuring out how to pronounce an unfamiliar word in French is way easier than it is in English. Moods like the imperative and the subjunctive do exist in English, and it's easier to grasp proper English grammar when you know what they are. Of course, this isn't to say that there are no parts of French that an English speaker can take umbrage at - for example grammatical gender does reduce ambiguity of some complex sentences, but there's a strong argument that it's nowhere near worth the extra syntax/semantics it requires.

On top of all that, French is nowhere near as esoteric as many monolingual Anglophone learners make out; it has a lot in common with English and is easier to pick up than a more distant Romance language like Romanian, to talk of a language in a more distant family (like Greek or Polish). In fact, the overlap between French and English creates expectations of quick progress that can be frustrating when it sinks in that no, this is in fact a whole different language that has to be learned on its own terms versus just falling into place for you.

Hell, we can take this analogy as far as native French speakers being far more relaxed and casual in common use than the external reputation of Strictness™ in the language would have one believe.


I suppose Rust users are indeed the Frenchmen of programmers, on more aspects than mentioned.

Oh yes, there is definitely a reputation of snobbery and rudeness. But I was trying to be somewhat fair/neutral :)

As a french person being close to many people who:

- don't have english or any european language as their first language

- have learned english successfully

- are now in a long, struggling process of learning french

I don't believe there is in day-to-day life much value in the advantages you mention for french.


Discussions about Rust sometimes feel quite pointless because you can be several replies deep with someone before realising that actually they don't know much about the language and their strongly-held opinion is based on vibes.

Exactly. Claims like "even without dealing with a single reference/borrow."

When you have this stuff in "Hello World":

Egui Hello World:

    ui.add(egui::Slider::new(&mut age, 0..=120).text("age"));
Ratatui Hello World:

    fn render(frame: &mut Frame) {
or

  fn run(mut terminal: DefaultTerminal) -> Result<()> {
      loop {
          terminal.draw(render)?;
          if matches!(event::read()?, Event::Key(_)) {
              break Ok(());
          }
      }
  }
And I didn't even break out the function chaining, closure and associated lifetime stuff that pervades the Rust GUI libraries.

When I can contrast this to say, ImGui C++:

  ImGui::Text("Hello, world %d", 123);
  if (ImGui::Button("Save"))
      MySaveFunction();
  ImGui::InputText("string", buf, IM_ARRAYSIZE(buf));
  ImGui::SliderFloat("float", &f, 0.0f, 1.0f);
which looks just slightly above C with classes.

This kind of blindness makes me wonder about what universe the people doing "Well Ackshually" about Rust live in.

Rust very much has an enormous learning curve and it cannot be subsetted to simplify it due to both the language and the extensive usage of libraries via Cargo.

It is what it is--and may or may not be a valid tradeoff. But failing to at least acknowledge that will simply make people wonder about the competence of the people asserting otherwise.


> Exactly. Claims like "even without dealing with a single reference/borrow."

> When you have this stuff in "Hello World"

Might be worth reading simonask's comment more closely. They said (emphasis added):

> You can absolutely make _a_ complete, featureful program in Rust without naming a single lifetime, or even without dealing with a single reference/borrow.

That some programs require references/borrows/etc. doesn't mean that all programs require them.


I don't get your examples.

The rust code you pasted doesn't show any lifetime.

The `&f` in your imgui example is equivalent to the `&mut age`.

Are you just comparing the syntax? It just take a couple of hours to learn the syntax by following a tutorial and that `&mut` in rust is the same as `&` in C, not to mention that the compiler error tell you to add the `mut` if it is missing.

Also 0..=120 is much more clear than passing to arguments 0.0f, 1.0f. it makes it obvious what it is while looking at the imgui call it isn't.


I would expect someone who apparently feels so strongly about this to be able to do the bare minimum of looking up the publicly available statistics (https://ohss.dhs.gov/topics/immigration/yearbook) on visa and green card allocations.

I do understand that performative victimhood is much easier as it does not require much intellectual honesty.


It doesn't have to be easy to be factual. You simply are not owed entry into any country if you are not a citizen of that country, that is a fundamental part of what things like "citizenship" and "sovereign state" mean in the modern world.

Ah so this is basically a meaningless platitude?

I mean, you didn't just overstate, you flat out just made it up. The opposite of "illegal alien" is not "citizen".

Instead of citizens, we would say People who are legally authorized to remain in the United States? Is there a word for that?

Technically not a word, but the US government uses "lawfully present individuals" in its policy docs. In addition to US citizens, this covers lawful permanent residents, people with valid non-immigrant visas/visa waivers, some country-specific exceptions (e.g. Canadian citizens visiting for short-term business and pleasure), and various humanitarian categories (refugees, people seeking asylum who have filed the proper paperwork, etc).

In short, an unfortunately very wide field of people for ICE to chew through without touching any citizens (even if one takes the most uncharitable interpretation, i.e. only 70% of arrests have been of unlawfully present individuals)


It is rather disingenuous to backpedal from "you can easily block them" to "is that a problem? who even cares" when someone points out that you cannot in fact easily block them.

I was referring to legitimate ones, which you can easily block. Obviously there are scammy ones as well, and yes it is an issue, but for most sites I would say the cloudflare cure is worse than the problem it's trying to cure.

No true scotsman needs Cloudflare, as any true scotsman can block AI bots themselves is not a strong argument.

But is there any actual evidence that any major AI bots are bypassing robots.txt? It looked as if Perplexity was doing this, but after looking into it further it seems that likely isn't the case. Quite often people believe single source news stories without doing any due diligence or fact checking.

> What's the "?" doing? Why doesn't it compile without it?

I don't understand this line of thought at all. "You have to learn the language's syntax to understand it!"...and so what? All programming language syntax needs to be learned to be understood. I for one was certainly not born with C-style syntax rattling around in my brain.

To me, a lot of the discussion about learning/using Rust has always sounded like the consternation of some monolingual English speakers when trying to learn other languages, right down to the "what is this hideous sorcery mark that I have to use to express myself correctly" complaints about things like diacritics.


> there's probably not anything you can do beyond bombing out with a traceback... like `?` or `.unwrap()` does.

`?` (i.e. the try operator) and `.unwrap()` do not do the same thing.


...do you imagine a nice, orderly, milquetoast system of voting on suitably agreeable topics only has existed for all of human history?

"History and politics" is very much the domain of people trying to do the impossible - to rewrite society as they will it. It would take a lot of either ignorance or disingenuity to claim that this has never gone well.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: