Comment by andrewmcwatters

2 years ago

Patents are interesting. IIRC, Apple has a patent on a method of creating a fast Gaussian blur by combining multiple low-radius blurs to create a large radius blur in real-time.

I remember looking into this because I was so confused how Apple could create a fast real-time Gaussian blur with a large radius with no latency.

Even game developers fail to do this, utilizing other blurs like box blurs instead to create the effect.

Turns out this approach is mathematically equivalent or such a close approximation that it's visually indistinguishable.

Not related to laptop speakers, of course, but just a thought that came up as I was thinking about patents on small but important concepts.

I have a question, suppose I came up with something similar or even identical on my own, wrote the code and published it, and I have no clue that a patent exists, am I liable in any way?

Isn’t absurd that algorithms and mathematical solutions can be patented?

  • Yes, that's how patents work. I believe patents normally expire ~20 years after being filed. The idea is to incentivize people/companies to invest the resources in solving really hard problems, knowing they'll be able to make back their investment in the time before it expires (at which point everyone can then use it)

    Software patents are controversial because of the rate things move in software; a software discovery from 20 years ago is likely worthless by the time the patent expires. I think the window should be shorter for software (5 years? 3 years?), just enough to make back the investment but not milk it until it's dead

    But as they go, this kind of real problem-solving is one of the more defensible kinds of software patents imo. Many software patents out there are things like "do X but store it in a database", which is obviously nonsense

  • Broadly speaking there does exist a defense of "innocent infringement." You can use that keyword to read about it more yourself.

    IANAL but I believe it only reduces your damages in an infringement suit. It's considered your responsibility to check if something infringes on an existing patent. Yes, I know there are patents on absurd things like doubly linked lists, and the whole thing is a bit of a mess, seemingly created to give lawyers a job and present a barrier to people who can't afford to do patent discovery and all that.

    As for it being absurd.... I don't know.

    Would you prefer that companies never file patents, revealing their algorithms and mathematical solutions, so it never becomes public knowledge (and useable by everyone once the patent expires), and they just keep it indefinitely as trade secrets?

    Because that's the alternative :(

Another good way to speed up a gaussian blur is to first run a 1xRadius kernel and then a RadiusX1 kernel. This changes it from O(Radius^2) to O(Radius*2) more or less.