IPB

Welcome Guest ( Log In | Register )

working around MP3 patents, what features do specific patents refer to
bawjaws
post Mar 16 2012, 13:25
Post #1





Group: Members
Posts: 173
Joined: 10-December 02
Member No.: 4043



I've been reading some of the mp3 patents and it appears to me (as someone with no general legal experience, no deep knowledge of patents, or great understanding of the inner workings of mp3) that some of them could be worked around easily if you cared more about avoiding patents than you did about making full use of the specification. And since many of the patents are expiring already a workable patent-free subset may already, or soon, be possible even before the very final patent expires around 2017.

To give a simple example, one of the last patents to go (according to http://www.osnews.com/story/24954/US_Paten..._MPEG-2_H_264/) is US patent 5812672:

"Method for reducing data in the transmission and/or storage of digital signals of several dependent channels"
http://patft1.uspto.gov/netacgi/nph-Parser...tnumber=5812672

This seems to be a patent on the concept of switching between different joint stereo modes based on the audio content. So a simple workaround would be to only produce mono files. No stereo means no joint stereo, means no switching between joint stereo modes, means absolutely no possible infringement of this particular patent (and if your intended input or output format was mono in the first place, absolutely no loss in quality compared with patented methods). If similar could be done for each of the remaining 12 (according to the link above) patents then you could include such an encoder in F/free software, and distribute mp3s created with such an encoder in games or in streaming radio without paying any fees and have them decoded by any standard-compliant decoder.

Note that I think for the example above, you could easily have stereo files without infringing the patent as long as you only had one stereo mode per file but I went with the mono example because it makes the non-infringement clearer. Maybe you could be very sneaky and still switch modes as long as you did it in a very slightly different manner from that described in the patent and get some further improvment in quality as a result. For all I know, maybe lame already does this differently/better than the patent. But that's just icing on the cake. Having *anything* that produces compatible mp3 files, even at a cost of reduced quality or flexibility would be a start and be useful to *someone* since mp3 is generally used today for compatability reasons rather than because of its technical qualities.

I'd like to know if there has been any concerted effort by people who actually understand this stuff (on both the legal and technical side) to create a functioning mp3 encoder and/or decoder that works around all known patents. Is it possible? At what cost in functionality, quality, bitrate etc. If not, which particular patent(s) are the blockers which you can't possibly work around and without which you cannot have a compatible, non-ear-killing mp3 and when does the last of them expire?

(There's also the interesting sub-issue, which seems to apply to most modern lossy codecs, which is if your encoder is doing something incredibly clever (and/or patented) to decide when to switch between different encoding modes, but your decoder is dumb as a rock and simply does what the encoded file tells it to, does the patent for the encoder process have any impact on the decoder?)

I'm guessing the messed up nature of patents means no-one with an actual business to protect is going to want to risk this when there are feasible alternatives (e.g. pay the fees or use vorbis) but it seems like it might be an interesting intellectual excercise anyway and some free audio tools (e.g. Audacity) might include such a thing if the general consensus was that it was possible (just as some people would avoid Vorbis because "you can never be sure" about patents, but it hasn't stopped most reasonable people).

This post has been edited by bawjaws: Mar 16 2012, 13:29
Go to the top of the page
+Quote Post
 
Start new topic
Replies
Garf
post Mar 20 2012, 11:41
Post #2


Server Admin


Group: Admin
Posts: 4886
Joined: 24-September 01
Member No.: 13



I found several other lists of patents, including the ones you didn't list, put them in a table, and read through the claims of all of them. I'm not sure all of the expiration dates are correct, this is tricky to determine.

Based on what I know of the MP3 standard, writing a patent free encoder should be possible the 24th of September 2013, but not before that. I am not so sure about a decoder, as many patents describe systems consisting both of encoders and decoders. How can decoders guarantee the encoder didn't use a certain technique? Additionally, there is one patent that I believe the encoder can avoid, but a standards compliant decoder wouldn't.

Someone who's even more familiar with the MP3 spec can probably confirm/deny/correct some of these.

Summary:
https://docs.google.com/spreadsheet/ccc?key...ZGxWeTlYUlpxS2c
Go to the top of the page
+Quote Post
.alexander.
post Mar 20 2012, 11:54
Post #3





Group: Members
Posts: 73
Joined: 14-December 06
Member No.: 38681



Graf, if it's not too much of trouble could you create a list of AAC related patents as well?
EDIT: just figured out that you provide sources in your summary.

This post has been edited by .alexander.: Mar 20 2012, 12:02
Go to the top of the page
+Quote Post
Garf
post Mar 20 2012, 13:04
Post #4


Server Admin


Group: Admin
Posts: 4886
Joined: 24-September 01
Member No.: 13



QUOTE (.alexander. @ Mar 20 2012, 11:54) *
Graf, if it's not too much of trouble could you create a list of AAC related patents as well?
EDIT: just figured out that you provide sources in your summary.


Getting a list of all applicable patents to MPEG-2 AAC would be a start. The sources I quoted don't seem to actually have them, as they list the patents from MPEG-LA, but the audio parts are being licensed by Via Licensing. Via's site also doesn't list the patents they license (so they don't tell you what they actually sell you? heh!).

From that list, one could then start culling the expired ones, cull everything that isn't necessary for AAC LC, etc. But we'd need a list to start with, and that already seems to be hard to find.
Go to the top of the page
+Quote Post
.alexander.
post Mar 20 2012, 13:30
Post #5





Group: Members
Posts: 73
Joined: 14-December 06
Member No.: 38681



http://www.google.com/search?q=%22MPEG-2+A...tbo=1&hl=en
Go to the top of the page
+Quote Post
Garf
post Mar 20 2012, 14:14
Post #6


Server Admin


Group: Admin
Posts: 4886
Joined: 24-September 01
Member No.: 13



QUOTE (.alexander. @ Mar 20 2012, 13:30) *


Way too much collateral (and no guarantee no essential patents are missing). Seriously, reading through 15 patents and trying to figure if they're essential is doable. Wading through 1000 isn't.

I'm still not clear on what USPTO 5384811 covers exactly, so I'm glad it's expired.

I've made a LAME build which avoids USPTO 5559834. It's usable, though there are severe quality impacts. Still, if you want to make a patent-free MP3 encoder and are willing to accept severe quality compromises, it seems this is possible already today.
Go to the top of the page
+Quote Post
bawjaws
post Mar 20 2012, 22:03
Post #7





Group: Members
Posts: 173
Joined: 10-December 02
Member No.: 4043



QUOTE (Garf @ Mar 20 2012, 06:14) *
I've made a LAME build which avoids USPTO 5559834. It's usable, though there are severe quality impacts. Still, if you want to make a patent-free MP3 encoder and are willing to accept severe quality compromises, it seems this is possible already today.


That's very cool. Is there a public source repository or even just some mp3 samples of its output available?

I wonder if sounding a bit 'odd' would be helpful in avoiding patent troubles since you'd be doing something tangibly different, whereas there's probably workarounds that are technically different but legally murky just because the output sounds the same (or even better) than "standard" mp3.
Go to the top of the page
+Quote Post
Garf
post Mar 21 2012, 11:49
Post #8


Server Admin


Group: Admin
Posts: 4886
Joined: 24-September 01
Member No.: 13



QUOTE (bawjaws @ Mar 20 2012, 22:03) *
That's very cool. Is there a public source repository or even just some mp3 samples of its output available?


Take the latest LAME source and edit newmdct.c where it says "Perform aliasing reduction butterfly". The code suggests that running in all-short-blocks mode also avoids the patent.

QUOTE
I wonder if sounding a bit 'odd' would be helpful in avoiding patent troubles since you'd be doing something tangibly different, whereas there's probably workarounds that are technically different but legally murky just because the output sounds the same (or even better) than "standard" mp3.


I have no clue what 'or even better than "standard" mp3' is supposed to mean. It's possible to design a codec that is free of MP3 patents and outperforms it. Vorbis and Opus do this.

If you want to have something that is compatible with MP3, i.e. will be decodable with an MP3 decoder, or decodes what an MP3 encoder made, this patent is a problem because it covers an essential operation in the filterbank. There are no "technically different" workarounds. You can choose not to run it, which has severe quality repercussions for an encoder, and which makes it impossible for your decoder to be truly compliant.
Go to the top of the page
+Quote Post
bawjaws
post Mar 21 2012, 13:59
Post #9





Group: Members
Posts: 173
Joined: 10-December 02
Member No.: 4043



QUOTE (Garf @ Mar 21 2012, 03:49) *
QUOTE (bawjaws @ Mar 20 2012, 22:03) *
That's very cool. Is there a public source repository or even just some mp3 samples of its output available?

Take the latest LAME source and edit newmdct.c where it says "Perform aliasing reduction butterfly". The code suggests that running in all-short-blocks mode also avoids the patent.


When you say "severe" what kind of problems are you meaning, because when I comment out the body of that function or pass --allshort I don't hear any obvious difference in the output when I use lame with otherwise default settings on the soundtrack from the Sintel trailer provided in flac by Xiph. In fact from a very quick and unscientific test I can't tell the original WAV apart from any of them. The --allshort one is noticeably larger when I pass -V9 but I was expecting a more fundamental problem, one that couldn't be overcome by turning up the bitrate.

Have I messed up somehow, are my ears even worse than I previously thought, or do the differences only show up in certain circumstances?

This post has been edited by bawjaws: Mar 21 2012, 14:44
Go to the top of the page
+Quote Post
Garf
post Mar 21 2012, 20:29
Post #10


Server Admin


Group: Admin
Posts: 4886
Joined: 24-September 01
Member No.: 13



QUOTE (bawjaws @ Mar 21 2012, 13:59) *
when I comment out the body of that function


Body of that function? It's just those 9 lines below the comment.

QUOTE
or pass --allshort


Not running the anti-aliasing butterflies or not using long blocks are two different things.

QUOTE
I don't hear any obvious difference in the output when I use lame with otherwise default settings on the soundtrack from the Sintel trailer provided in flac by Xiph. In fact from a very quick and unscientific test I can't tell the original WAV apart from any of them.


It should be pretty obvious in music with tonal stuff or vocals, for example. It sounds a bit like weird extra harmonics or echoes.

QUOTE
The --allshort one is noticeably larger when I pass -V9 but I was expecting a more fundamental problem, one that couldn't be overcome by turning up the bitrate.


This is the expected result - long blocks are more efficient when encoding most types of music. Using only short blocks will give you a bit less quality on very tonal music and in general a higher bitrate for everything.
Go to the top of the page
+Quote Post
bawjaws
post Mar 23 2012, 21:22
Post #11





Group: Members
Posts: 173
Joined: 10-December 02
Member No.: 4043



Yeah, sorry, I meant comment out that If block, not comment out that function.

And I realize that --allshort is an even more blunt instrument, but either way I didn't notice much difference on a quick test which was a much more positive result than I was expecting.

Most of the other simple (possibly less than ideal) workarounds can be achieved with comand line flags to lame, yes?

5559834 --allshort (valid workaround but probably get better quality by changing code to skip the patent and let lame choose when to use short blocks)
5579430 ???
5627938 --noath
5703999, 5736943 & 5812672 mean -m can be simple, force, dual-mono or mono (simple is the default anyway at certain, I assume higher, bitrates) but not joint (without messing with the code that implements joint at least)
6185539 --resample 44|32|22 as appropriate at lower bitrates but default of "automatic" should generally be okay except at very low bitrates
6009399 ??
Go to the top of the page
+Quote Post

Posts in this topic
- bawjaws   working around MP3 patents   Mar 16 2012, 13:25
- - bawjaws   So, now you've got the general idea, some pate...   Mar 16 2012, 16:39
|- - saratoga   QUOTE (bawjaws @ Mar 16 2012, 10:39) Mayb...   Mar 16 2012, 19:12
|- - bawjaws   QUOTE (saratoga @ Mar 16 2012, 11:12) QUO...   Mar 19 2012, 16:24
|- - Garf   QUOTE (saratoga @ Mar 16 2012, 19:12) QUO...   Mar 19 2012, 19:57
- - ZinCh   this is US patents. is there any patents for MP3 i...   Mar 17 2012, 05:54
|- - bawjaws   QUOTE (ZinCh @ Mar 16 2012, 21:54) this i...   Mar 19 2012, 15:09
- - 2Bdecided   L3Enc was released in July 1994... http://en.wikip...   Mar 19 2012, 19:13
- - DVDdoug   If you try to get around the patents, but make som...   Mar 19 2012, 21:35
- - Garf   You certainly aren't going to make any patent ...   Mar 20 2012, 07:47
- - Garf   I found several other lists of patents, including ...   Mar 20 2012, 11:41
|- - .alexander.   Graf, if it's not too much of trouble could yo...   Mar 20 2012, 11:54
||- - Garf   QUOTE (.alexander. @ Mar 20 2012, 11:54) ...   Mar 20 2012, 13:04
||- - .alexander.   http://www.google.com/search?q=%22MPEG-2+A...tbo=1...   Mar 20 2012, 13:30
||- - Garf   QUOTE (.alexander. @ Mar 20 2012, 13:30) ...   Mar 20 2012, 14:14
||- - bawjaws   QUOTE (Garf @ Mar 20 2012, 06:14) I'v...   Mar 20 2012, 22:03
||- - Garf   QUOTE (bawjaws @ Mar 20 2012, 22:03) That...   Mar 21 2012, 11:49
||- - bawjaws   QUOTE (Garf @ Mar 21 2012, 03:49) I have ...   Mar 21 2012, 12:18
|||- - Garf   QUOTE (bawjaws @ Mar 21 2012, 12:18) So i...   Mar 21 2012, 13:24
||- - bawjaws   QUOTE (Garf @ Mar 21 2012, 03:49) QUOTE (...   Mar 21 2012, 13:59
||- - Garf   QUOTE (bawjaws @ Mar 21 2012, 13:59) when...   Mar 21 2012, 20:29
||- - bawjaws   Yeah, sorry, I meant comment out that If block, no...   Mar 23 2012, 21:22
|- - Prebsi   Avoiding 5559834 by commenting out the butterfly c...   Mar 28 2012, 17:35
|- - bawjaws   QUOTE (Prebsi @ Mar 28 2012, 09:35) Avoid...   Mar 30 2012, 17:00
|- - C.R.Helmrich   QUOTE (bawjaws @ Mar 30 2012, 18:00) I...   Mar 31 2012, 12:11
|- - Prebsi   QUOTE (bawjaws @ Mar 30 2012, 17:00) I...   Mar 31 2012, 16:29
- - polemon   I'd like to ask "how far we're into...   Mar 5 2014, 03:41
- - spoon   I believe they have expired pretty much in Germany...   Mar 5 2014, 10:19


Reply to this topicStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

 



RSS Lo-Fi Version Time is now: 1st October 2014 - 18:25