Home |
Search |
Today's Posts |
#1
![]()
Posted to rec.audio.high-end
|
|||
|
|||
![]()
Can anyone give me a clue how lossless encoders work?
My iPod, using Apple Lossless, can store CDs in about 60% of their original size. What's curious is that a lot of my classical music reduces to 40% or less, while the rock music is typically around 70% or more. I think rock music has a broader spectral content more continuously (with bass drum, bass, and cymbols going constantly). I know that the principle will involve the idea that there is some redundancy in the original signal, because it is not a purely unpredictable signal. Music has some patterns. For example, music often has a beat. Theoretically it takes fewer bits to describe a bass drum hit, when that hit occurs almost exactly in the same interval. I doubt it works on that level, however. Probably something like LPC with a small number of bits reserved to give deltas. In theory, it seems to me, whenever the music can be divided into bands with some space between them, then you can devote more bits to the bands with signal, and fewer bits to cover the noise in-between. Mike |
#2
![]()
Posted to rec.audio.high-end
|
|||
|
|||
![]()
I don't know any details, but it may just be lossless file compression
(similar to ZIP). This is based on using concise codes for repeated strings of bytes. wrote in message ... Can anyone give me a clue how lossless encoders work? My iPod, using Apple Lossless, can store CDs in about 60% of their original size. What's curious is that a lot of my classical music reduces to 40% or less, while the rock music is typically around 70% or more. I think rock music has a broader spectral content more continuously (with bass drum, bass, and cymbols going constantly). I know that the principle will involve the idea that there is some redundancy in the original signal, because it is not a purely unpredictable signal. Music has some patterns. For example, music often has a beat. Theoretically it takes fewer bits to describe a bass drum hit, when that hit occurs almost exactly in the same interval. I doubt it works on that level, however. Probably something like LPC with a small number of bits reserved to give deltas. In theory, it seems to me, whenever the music can be divided into bands with some space between them, then you can devote more bits to the bands with signal, and fewer bits to cover the noise in-between. Mike |
#3
![]()
Posted to rec.audio.high-end
|
|||
|
|||
![]()
MC wrote:
I don't know any details, but it may just be lossless file compression (similar to ZIP). This is based on using concise codes for repeated strings of bytes. I'm sure it is sound-specific, whatever algorithm is used. Or more accurately, music-specific. I'm sure whatever it is, it makes use of the kinds of patterns which occur in digitized music, which are definitely NOT repeated bytes, but they ARE related to the spectrum of the music. Probably something like fitting a curve to the music, after dividing into segments, and then reserving a small number of bits to express the difference between the fitted curve and the actual data. But let's someone who knows tell us. Mike wrote in message ... Can anyone give me a clue how lossless encoders work? My iPod, using Apple Lossless, can store CDs in about 60% of their original size. What's curious is that a lot of my classical music reduces to 40% or less, while the rock music is typically around 70% or more. I think rock music has a broader spectral content more continuously (with bass drum, bass, and cymbols going constantly). I know that the principle will involve the idea that there is some redundancy in the original signal, because it is not a purely unpredictable signal. Music has some patterns. For example, music often has a beat. Theoretically it takes fewer bits to describe a bass drum hit, when that hit occurs almost exactly in the same interval. I doubt it works on that level, however. Probably something like LPC with a small number of bits reserved to give deltas. In theory, it seems to me, whenever the music can be divided into bands with some space between them, then you can devote more bits to the bands with signal, and fewer bits to cover the noise in-between. Mike |
#4
![]()
Posted to rec.audio.high-end
|
|||
|
|||
![]() |
#6
![]()
Posted to rec.audio.high-end
|
|||
|
|||
![]()
wrote in message
... snip Now, these are broad generalizations used to illustrate SOME of the underlying pronciples, and there are, for certain, exceptions in both extremes, but these illustrate the reasons why these variations occur. Beautifully explained and very illuminating. Thanks Dick. |
#7
![]()
Posted to rec.audio.high-end
|
|||
|
|||
![]()
bob wrote:
wrote: MC wrote: I don't know any details, but it may just be lossless file compression (similar to ZIP). This is based on using concise codes for repeated strings of bytes. I'm sure it is sound-specific, whatever algorithm is used. Or more accurately, music-specific. I'm sure whatever it is, it makes use of the kinds of patterns which occur in digitized music, which are definitely NOT repeated bytes, but they ARE related to the spectrum of the music. Probably something like fitting a curve to the music, after dividing into segments, and then reserving a small number of bits to express the difference between the fitted curve and the actual data. Not even close. Thanks for the encouragement. :-) MC's basically right--it's data compression, looking for patterns and repetitions in the digits. Audio files (not specifically music) tend to be highly random, however, so standard data compression doesn't compress them very much. Lossless audio codecs use various methods of transforming the digits to create a file with more repetitions/patterns that lend themselves to more efficient compression. That's a gross oversimplification. Here's a somewhat less gross oversimplification: http://en.wikipedia.org/wiki/Audio_d...ss_compression It's all data manipulation. It has to be. Anything else, and you wouldn't be able to reconstruct the exact digital file. Which means it would be lossy compression. What makes you think I wasn't talking about data manipulation? In computer modeling of sounds and voices, a common technique is to fit an approximate curve via linear predictive coding. I simply pointed out that such a fit, which is an approximate fit, together with some bits reserved to give the deltas from the fitted curve to the actual data, would be lossless. I don't know whether that would work, but I assume it's not the best solution since others are used. Mike |
#8
![]()
Posted to rec.audio.high-end
|
|||
|
|||
![]() |
#9
![]()
Posted to rec.audio.high-end
|
|||
|
|||
![]()
"bob" wrote in message
... wrote: What makes you think I wasn't talking about data manipulation? In computer modeling of sounds and voices, a common technique is to fit an approximate curve via linear predictive coding. I simply pointed out that such a fit, which is an approximate fit, together with some bits reserved to give the deltas from the fitted curve to the actual data, would be lossless. I don't know whether that would work, but I assume it's not the best solution since others are used. Well, this appears to be much closer to your field than mine, but what you are describing is not lossless encoding--it's lossy encoding. The point of lossless encoding is to get back the exact digital file. Which is what he is describing. Make a concise approximation and also keep track of the errors (deltas). Decode it, re-generate the approximation, and then apply the error corrections. |
#10
![]()
Posted to rec.audio.high-end
|
|||
|
|||
![]()
bob wrote:
wrote: What makes you think I wasn't talking about data manipulation? In computer modeling of sounds and voices, a common technique is to fit an approximate curve via linear predictive coding. I simply pointed out that such a fit, which is an approximate fit, together with some bits reserved to give the deltas from the fitted curve to the actual data, would be lossless. I don't know whether that would work, but I assume it's not the best solution since others are used. Well, this appears to be much closer to your field than mine, but what you are describing is not lossless encoding--it's lossy encoding. The point of lossless encoding is to get back the exact digital file. There's no way that the approach you're suggesting would do that. You might be able to get equivalent resolution that way, but (I think) only if you used at least as many bits as in the original file. Which would kinda defeat the point of compression. bob MC explained it too, but the idea is that LPC curves often capture the main frequency bands and modulations. They are an approximation, but if it's a good enough approixmation, then you won't need many bits to express the difference between this approximation and the original curve. The total data used at that point would the coefficients for the LPC curve and the bits used to express the deltas. If the music has patterns that fit LPC curves well, then not many bits will be needed for the deltas, hence you might end up compressing the data while being lossless. However, I assume this is not a good solution, or not as good as the one you and Dick described, since it's not being used. Mike |
#11
![]()
Posted to rec.audio.high-end
|
|||
|
|||
![]()
MC wrote:
"bob" wrote in message ... wrote: What makes you think I wasn't talking about data manipulation? In computer modeling of sounds and voices, a common technique is to fit an approximate curve via linear predictive coding. I simply pointed out that such a fit, which is an approximate fit, together with some bits reserved to give the deltas from the fitted curve to the actual data, would be lossless. I don't know whether that would work, but I assume it's not the best solution since others are used. Well, this appears to be much closer to your field than mine, but what you are describing is not lossless encoding--it's lossy encoding. The point of lossless encoding is to get back the exact digital file. Which is what he is describing. Make a concise approximation and also keep track of the errors (deltas). Decode it, re-generate the approximation, and then apply the error corrections. But if you keep track of *all* the deltas, you'll use at least as many bits as the original file. You won't have compressed anything at all. Something like what he's describing is used by some lossy encoders. AAC+, for example, strips out high frequencies (which does, in a sense, smooth the curve) and inserts a bit of code that can be used to regenerate them; but that regeneration is obviously only an approximation--hence "lossy." bob |
#12
![]()
Posted to rec.audio.high-end
|
|||
|
|||
![]()
wrote:
bob wrote: wrote: What makes you think I wasn't talking about data manipulation? In computer modeling of sounds and voices, a common technique is to fit an approximate curve via linear predictive coding. I simply pointed out that such a fit, which is an approximate fit, together with some bits reserved to give the deltas from the fitted curve to the actual data, would be lossless. I don't know whether that would work, but I assume it's not the best solution since others are used. Well, this appears to be much closer to your field than mine, but what you are describing is not lossless encoding--it's lossy encoding. The point of lossless encoding is to get back the exact digital file. There's no way that the approach you're suggesting would do that. You might be able to get equivalent resolution that way, but (I think) only if you used at least as many bits as in the original file. Which would kinda defeat the point of compression. bob MC explained it too, but the idea is that LPC curves often capture the main frequency bands and modulations. They are an approximation, but if it's a good enough approixmation, then you won't need many bits to express the difference between this approximation and the original curve. The total data used at that point would the coefficients for the LPC curve and the bits used to express the deltas. If the music has patterns that fit LPC curves well, then not many bits will be needed for the deltas, hence you might end up compressing the data while being lossless. However, I assume this is not a good solution, or not as good as the one you and Dick described, since it's not being used. Mike Mike, If you are interested in a subject, why don't you search on Google or go to the library and find text book on compression schemes. Then you can find out how it works. Instead of it you are speculating here about how it can be done without real knowledge of the subject. Apple is doing lossless compression in iPod now. Dolby Labs. came up with Dolby TrueHD lossless audio compression scheme for DVD-HD format. So it is perfectly possible and people are doing it now. Just educate yourself. Gosh, if only average high-ender would learn a little bit about underlying technology of LP's and CD's. A lot of bandwidth would be saved. vlad |
#13
![]()
Posted to rec.audio.high-end
|
|||
|
|||
![]()
bob wrote:
MC wrote: "bob" wrote in message ... wrote: What makes you think I wasn't talking about data manipulation? In computer modeling of sounds and voices, a common technique is to fit an approximate curve via linear predictive coding. I simply pointed out that such a fit, which is an approximate fit, together with some bits reserved to give the deltas from the fitted curve to the actual data, would be lossless. I don't know whether that would work, but I assume it's not the best solution since others are used. Well, this appears to be much closer to your field than mine, but what you are describing is not lossless encoding--it's lossy encoding. The point of lossless encoding is to get back the exact digital file. Which is what he is describing. Make a concise approximation and also keep track of the errors (deltas). Decode it, re-generate the approximation, and then apply the error corrections. But if you keep track of *all* the deltas, you'll use at least as many bits as the original file. Not if the approximation is very good to start with. You might need say, 8 bits per point to express the deltas, which means 50% compression (less the space taken up by the LPC coefficients). Now, I'm assuming this is not a viable solution since no one is using it. But knowing that LPC is used successfully for voice and instrument modelling led to my suggestion. Mike |
#14
![]()
Posted to rec.audio.high-end
|
|||
|
|||
![]()
vlad writes:
wrote: MC explained it too, but the idea is that LPC curves often capture the main frequency bands and modulations. They are an approximation, but if it's a good enough approixmation, then you won't need many bits to express the difference between this approximation and the original curve. The total data used at that point would the coefficients for the LPC curve and the bits used to express the deltas. Right. If the music has patterns that fit LPC curves well, then not many bits will be needed for the deltas, hence you might end up compressing the data while being lossless. However, I assume this is not a good solution, or not as good as the one you and Dick described, since it's not being used. If you are interested in a subject, why don't you search on Google or go to the library and find text book on compression schemes. Then you can find out how it works. Instead of it you are speculating here about how it can be done without real knowledge of the subject. But Mike is right, and he has fairly accurately described how it works. As he suggested, lossless audio compression combines prediction with transmission of deltas. Meridian have described their scheme, as used in DVD-Audio: the full paper is at http://www.meridian-audio.com/w_paper/mlp_jap_new.PDF. Andrew. |
#15
![]()
Posted to rec.audio.high-end
|
|||
|
|||
![]()
On 12 Mar 2006 15:47:34 GMT, Scott wrote:
To put it simply there are no truely lossless audio compression techniques. They all lose something in the reconstruction process. Utter nonsense! Zip is probably the best known, but for audio you have MLP and Apple Lossless in the commercial field, plus several 'open source' schemes such as FLAC. Every single one of these will produce a bit-perfect reconstruction of the original data file. I've gone back to using mp3 using the latest lame3 encoder set for a high variable bitrate, and set for the highest quality standard. The Music plays louder and cleaner than cda files, because the speakers aren't trying to produce multiple harmonics at the same time that a humans ears can't simultaneously distinguish anyway. I have absolutely no idea where that idea came from, but you should put it back, because it has no basis in reality. Just another thing to think about. For a few milliseconds...... -- Stewart Pinkerton | Music is Art - Audio is Engineering |
#16
![]()
Posted to rec.audio.high-end
|
|||
|
|||
![]()
"Scott" wrote in message
... To put it simply there are no truely lossless audio compression techniques. They all lose something in the reconstruction process. I've gone back to using mp3 using the latest lame3 encoder set for a high variable bitrate, and set for the highest quality standard. The Music plays louder and cleaner than cda files, because the speakers aren't trying to produce multiple harmonics at the same time that a humans ears can't simultaneously distinguish anyway. Just another thing to think about. I think you need to think about what you just said, since there are sevral bit for bit encoder/decoders. Apple, FLAC and several others. -- |
#17
![]()
Posted to rec.audio.high-end
|
|||
|
|||
![]()
On 12 Mar 2006 15:47:34 GMT, in article , Scott
stated: To put it simply there are no truely lossless audio compression techniques. They all lose something in the reconstruction process. Absolutely untrue. And even in lossy compression, the "something" is lost when the data is compressed, not when it is "reconstructed" for playback. I've gone back to using mp3 using the latest lame3 encoder set for a high variable bitrate, and set for the highest quality standard. The Music plays louder and cleaner than cda files, because the speakers aren't trying to produce multiple harmonics at the same time that a humans ears can't simultaneously distinguish anyway. Huh???? Just another thing to think about. Not really. -- |
Reply |
Thread Tools | |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
Which Encoding Option Better for Listening | Pro Audio | |||
Which Encoding Option Better for Listening | Tech | |||
UHJ Encoding | Pro Audio | |||
Apple Lossless Encoding glitches mystery | Pro Audio | |||
lossless audio codec for video capturing | Pro Audio |