1 頁 (共 1 頁)

MP3格式的疑問

文章發表於 : 週三 10月 10, 2007 10:48 pm
koopa1127
好像有人說MP3的壓縮原理是刪除20~48000以外頻率的聲音
這樣一來,聽起來不是應該跟CD音質一樣嗎?
為什麼有時還是能感受到細節或音質的差異呢?

文章發表於 : 週三 10月 10, 2007 11:03 pm
brian3111940
是不是20~48000以外,我不太清楚

不過cd跟mp3檔案大小差那麼多,音質想一樣 :eeh: 不太可能吧

這裡有討論:

http://www.andaudio.com/phpbb2/viewtopi ... 54&start=0

mp3的高頻明顯衰減

文章發表於 : 週四 10月 11, 2007 12:13 am
koopa1127
我看到那篇的比較圖好像15~19KHz十分貝比較低
所以用一般PLAYER的等化器功能把高音條稍微高一點會比較凸顯細節囉?

文章發表於 : 週四 10月 11, 2007 12:33 am
darkavatar1470
koopa1127 寫:我看到那篇的比較圖好像15~19KHz十分貝比較低
所以用一般PLAYER的等化器功能把高音條稍微高一點會比較凸顯細節囉?

那就是 MP3 高頻過濾器在運作... (lowpass filter)
常用的 LAME encoder 流量越低高頻越早切掉的樣子....(15~19khz都有)
有些程式則是固定頻率切掉...

其實 MP3 的運作原理還滿複雜的...
有興趣可以修訊號處理的課...
或是借書來看...

Re: MP3格式的疑問

文章發表於 : 週四 10月 11, 2007 3:10 pm
pip3a7
koopa1127 寫:好像有人說MP3的壓縮原理是刪除20~48000以外頻率的聲音
這樣一來,聽起來不是應該跟CD音質一樣嗎?

CD 只到 20kHz -- 取樣到 44kHz, 代表只能呈現頂多到 22kHz -- 所謂的 Nyquist Frequency.

不是人聽的, 不論你的耳朵多好... :eeh:

Re: MP3格式的疑問

文章發表於 : 週四 10月 11, 2007 3:26 pm
pip3a7
pip3a7 寫:不是人聽的, 不論你的耳朵多好... :eeh:

Opps, 我要說的是, 48kHz 不是人聽的...

文章發表於 : 週四 10月 11, 2007 3:45 pm
pip3a7
darkavatar1470 寫:那就是 MP3 高頻過濾器在運作... (lowpass filter)
常用的 LAME encoder 流量越低高頻越早切掉的樣子....(15~19khz都有)
有些程式則是固定頻率切掉...

其實 MP3 的運作原理還滿複雜的...

強化一下大大講的, lowpass filter (如果有需要用到的話) 基本上是 MP3 encode 最簡單一個步驟. 後面要做的才複雜.

Re: MP3格式的疑問

文章發表於 : 週四 10月 11, 2007 4:26 pm
derrickx
pip3a7 寫:
koopa1127 寫:好像有人說MP3的壓縮原理是刪除20~48000以外頻率的聲音
這樣一來,聽起來不是應該跟CD音質一樣嗎?

CD 只到 20kHz -- 取樣到 44kHz, 代表只能呈現頂多到 22kHz -- 所謂的 Nyquist Frequency.

不是人聽的, 不論你的耳朵多好... :eeh:


取樣頻率跟動態響應範圍是不一樣的哦
CD的取樣範圍是20Hz到20kHz
取樣頻率是44.1kHz

簡單的說,44.1KHz就是在一秒鐘,對聲音做44,100次的取樣,而16bit則代表著資料精度。我們都知道,一組音波間是沒有任何段落的,但我們要用一組數字來表達這個音波,就一定要將它分隔才行。
我們以CD上的PCM音源規格來作例子,它的聲音數位化是這樣進行的:先決定擷取音波頻段的範圍(例如最常用的20Hz—20KHz),然後就像在方格紙上描圖形一樣,我們將這個範圍分割成好幾段,再將這些區段依序標上0、1、2、3……做為它們的代表名稱。很明顯,這個範圍被分得愈細,標出來的位置就會更加精確;但愈精確的資料,代表的是需要容量愈大的資料載體與更快速的資料讀取系統,得用速度更快的計算晶片來分割還原;大量的資料也需要更大頻寬的傳輸線路,這些都牽涉到制定規格的技術力,和設備的製造成本是否合乎經濟利益。CD的規格是將這個範圍分割成2的16次方,也就是65,536個區段。
還有一個因素就是得決定我們要作多大的取樣數,也就是每秒中我們要對音樂取出機個樣本。當然,取的樣本數愈多,得到的資料會更加精確,除了前述的因素會再度影響這個數值的決定外,取樣的頻率還牽涉我們能製造出多精確的震盪器,如果決定時序的震盪器不夠精確的話,根本沒法子取得正確的資料。就像你用間隔大小不同的方格紙描圖,得到的圖形一定會歪七扭八一樣。CD的取樣頻率前面已經說過了,每秒鐘四萬四千一百次(44.1KHz)。
現在您可以計算每分鐘的音樂資料量有多大了吧。每次取樣的資料量是16bit,每秒取樣44,100次,每分鐘60秒,所以一分鐘16bit/44.1KHz的PCM規格音源有16╳44,100╳60,答案是42,336,000bit,約等於5MB,不過因為CD儲存的音樂都是立體聲規格(轉製古舊單聲道錄音則左右聲道都收錄相同訊號),所以還要乘二,也就是一分鐘的CD規格音樂大概會占掉10MB。
換算每秒流量大概一千四百K左右,比起任何一種壓縮音樂檔都大很多吧
:ho:

文章發表於 : 週四 10月 11, 2007 6:00 pm
darkavatar1470
其實也沒有硬性規定只能錄 20~ 20Khz 啦....
理論上 44.1 khz 的取樣頻率可以完整的重現 22.05 khz 以下的任何波形,
48 khz 便可重現 24khz 以下的所有波形, 以此類堆....

不過這是指數學上可以反算回去,
至於 16bit 解析度夠不夠則是另一回事....

文章發表於 : 週四 10月 11, 2007 6:21 pm
pip3a7
darkavatar1470 寫:至於 16bit 解析度夠不夠則是另一回事....

聽說 Philips 本來只要 14 bits. 還好 Sony 說一定要 16 bits... 8)

文章發表於 : 週四 10月 11, 2007 6:22 pm
kyoujin
darkavatar1470 寫:其實也沒有硬性規定只能錄 20~ 20Khz 啦....
理論上 44.1 khz 的取樣頻率可以完整的重現 22.05 khz 以下的任何波形,
48 khz 便可重現 24khz 以下的所有波形, 以此類堆....

不過這是指數學上可以反算回去,
至於 16bit 解析度夠不夠則是另一回事....


理論和實際是有差距的...
用44.1khz確實是可以重現22.05khz下的所有波形...
但是問題是並不是次每的"振動"都會落在所取樣的時間點...
(即22050分之一秒的地方)
所以取樣提升之後所取樣的時間點準確度亦會跟著提升。
當然聽不到的聲音不代表不會對人造成其它的"感覺"
這又是另外一回事兒了。

文章發表於 : 週四 10月 11, 2007 6:53 pm
kuo53067
還忘了一個部份....
解碼的功力

文章發表於 : 週四 10月 11, 2007 9:48 pm
pip3a7
kyoujin 寫:當然聽不到的聲音不代表不會對人造成其它的"感覺"
這又是另外一回事兒了。

低音 (subsonic) 可以感覺的到 (不然地震再怎麼強, 我們也感覺不到了), 但是超音波 (其實任何 > 20 kHz 的音波) 要感覺的到, 可能也不是普通喇叭所能產出的 (大概得要 > 100dB), 或者是你希望音樂給你的感受 -- 好像有軍方/鎮暴所用的器材, 利用 > 20 kHz 來造成受音者的莫名恐懼感.

文章發表於 : 週四 10月 11, 2007 10:15 pm
darkavatar1470
kuo53067 寫:還忘了一個部份....
解碼的功力

看你是指什麼啦...
因為MPEG只有定義統一的標準解碼格式...
所以其實應該是不同 Encoder 的效率才對...
剩下都是各軟體濾鏡修飾 & DAC 晶片的品質等跟解碼沒有直接關係的東西......

文章發表於 : 週六 10月 13, 2007 6:47 pm
litfal
能放出20Hz或20kHz的喇叭就很不錯了(這我不是很確定
能聽到20kHz的耳朵"分辨率"也很高,

上音樂課的時候老師放過,18kHz+就放不出來了(或是沒人聽到?)
18kHz我似乎有聽到像映像管電視機開機時的聲音...比那個再高細一點。

文章發表於 : 週六 10月 13, 2007 8:18 pm
SUC
大家看來都著眼在MP3的頻帶上呢∼
不過我覺得主要不是頻率的問題,想想看,一首4分鐘的WAV檔,
約40MB,無失真壓縮壓到約20MB,就算MP3用的頻帶少一半
(20K到20好了)也還有10MB左右的檔案大小,一般128K的MP3
約4MB,還要再小一半....
所以MP3其實還包括了許多其他的技術,例如\"聽覺門檻"我覺得是影
響最重的:
當樂曲中有一個樂器(其實是某X頻率)發出聲音較大時,一般人容
易忽略那些聲音小的樂器,所以這時除了X頻率之外,其他的頻域
會用比標準值更低的bit-rate來儲存以節省檔案大小。這在128K
以下的MP3會大量使用。反映到聽覺,主要差異會在"細節"上,較
不容易聽到小聲的樂器(更正確的說應該是X頻帶外的聲音比較會
失真)。
另外還有一些技術,例如較高的頻率用較低的bit-rate來儲存,原
因是人耳對高頻訊號較難以分辨,所以失真比較沒差等等...

文章發表於 : 週六 10月 13, 2007 11:21 pm
pip3a7
litfal 寫:能放出20Hz或20kHz的喇叭就很不錯了(這我不是很確定

應該不太難, 問題是反正人也聽不到, 沒有理由浪費能源產生聽不到的聲音. 花越多能源來產生聽不到的聲音, 代表可以用於有效音頻的能量就更少了.

上音樂課的時候老師放過,18kHz+就放不出來了(或是沒人聽到?)
18kHz我似乎有聽到像映像管電視機開機時的聲音...比那個再高細一點。

映像管電視機 (或任何 NTSC CRT Monitor) 只到 15.75kHz... 還差一點點.

文章發表於 : 週日 10月 14, 2007 11:36 pm
darkavatar1470
SUC 寫: 大家看來都著眼在MP3的頻帶上呢∼

既然你都提到了我就幫你補充一下吧....

SUC 寫:所以MP3其實還包括了許多其他的技術,例如\"聽覺門檻"我覺得是影
響最重的:
當樂曲中有一個樂器(其實是某X頻率)發出聲音較大時,一般人容
易忽略那些聲音小的樂器,

你講的其實是頻率遮蔽 (Frequency Masking),
聽覺門檻 (Absolute Threshold of hearing) 是指能讓人耳"聽到"特定頻率所需的最小能量/振幅(dB)
基本上這兩者都不太會影響音質,
只要 Encoder 所使用的模型調整的好,
就可以保證所刪掉的資訊真的是絕大多數人都聽不到的東西.

SUC 寫:所以這時除了X頻率之外,其他的頻域
會用比標準值更低的bit-rate來儲存以節省檔案大小。這在128K
以下的MP3會大量使用。反映到聽覺,主要差異會在"細節"上,較
不容易聽到小聲的樂器(更正確的說應該是X頻帶外的聲音比較會
失真)。

這裡就得提到量化&量化倍數( quantization & quantization factor/number)了.
前面有提到過, 音波的每一個點的"高度"可用一個 16bit 的數字來表示,
這就是量化的基本,
這裡開始就會有方格紙解析度不夠所造成的誤差了
但其實重點還在後面.

假設我們現在有一個點高度是 12592,
二進位表示為 11000100010010 需要 15bit 儲存,
但是我們可以讓一個頻段統一除以一個量化倍數來節省空間,
假設全部除以 100, 剛剛那一點將用 126 表示, 二進位只需 7bit.
這時換算回去 12600 跟原本的誤差還滿小的,
差距只有 8 而已, 差不多是 0.6% 左右.

但是如果我們想節省更多空間,
使用更高的量化倍數如 1000 的話,
該點將只用 13 表示, 只需要 4bit 儲存
誤差就會增加到 3.4% , 看起來也沒有很多,
看情況也許會出現變音或雜訊之類的.

其實是一定會有某種程度的變音,
大小有差不一定聽的見而已...  (話說我想插入"器材能否表現")
基本上音質會讓下降大多發生於量化這個階段,
因為取樣點的誤差增加了,
音波的形狀整個產生變化....

話說這部份還分兩段,
先把波形用一個 scale factor 縮小,
然後再除以一個 quantization number,
不過道理是一樣的, 除兩次&除一次的差別而已...
會這麼做是為了最佳化時可以再節省些空間...

量化的時候, 一次是採用 576 個取樣點(一個mp3 frame)做傅立葉轉換(Fourier Transform)進行頻譜分析(spectral analysis),
然後再細分成 18 個頻段 (frequency bands) 進行各種處理. (如用上敘的聽覺心理學模型做刪減等等)
每一個頻段都可使用不同的量化數,
因此高頻或許會用比較高的壓縮比儲存,
但沒有人會說是 bit rate 比較低....

bit rate 通常僅用於整個資料串流的平均/瞬間流量,
也就是常見的 128kbs, 320kbs 等等...
你可以說高頻使用比較少的資訊來編碼,
但總不會是說高頻使用比較低的流量吧....

SUC 寫:另外還有一些技術,例如較高的頻率用較低的bit-rate來儲存,原
因是人耳對高頻訊號較難以分辨,所以失真比較沒差等等...

你是指 AAC 所用的 SBR 技術吧,
這個 MP3 沒有使用喔....


累了,
想知道更詳細又看得懂英文的話,
這裡有篇文章是 LAME 開發人員幫忙寫的技術簡介,
剛好是沒幾天前發的呢......