有人知道EncSpot這個軟體嗎?

討論MP3、WAV、MIDI、WMA甚至其他數位音訊的播放、製作、轉換等。

版主: DearHoney

TMNEXT
神人
文章: 271
註冊時間: 2002-01-02 08:00
來自: 人畜同樂促進會

文章 TMNEXT »

<!-- BBCode Quote Start --><FONT COLOR=GREEN>
<!-- BBCode Quote Start --><FONT COLOR=GREEN>一個 N-bit 加上 oversampling 的 DAC
SNR = 6.02N + 1.76 + 10*logR
...
</FONT><!-- BBCode Quote End -->
也就是說
計算D/A的S/N時, N取的仍是量化時(A/D)的誤差
而非單純D/A這一段的誤差?
</FONT><!-- BBCode Quote End -->
那個算式"計算"的是 "SQNR" Signal to Quantization Noise Ratio。
D/A 的輸入端是數位的,不會增加 quantization noise,SQNR 取決於 bit 數。
除非原始資料動過手腳(例如動態壓縮、音量正規化..),才會增加 quantization error。
另外 D/A 因為電子元件限制或濾波電路設計造成的誤差(不是 quantization error),例如電阻值誤差造成 16bit D/A 只有 12bit 解析度的這種影響,我不是學電機電子的,這個要請專家來解說 :P
"測定"這種 SNR 的方法是 1KHz Full Scale Output / 當輸入的數位資料為 0000... 時輸出的電壓。
<!-- BBCode Quote Start --><FONT COLOR=GREEN>
如果使用比訊源更高位元的DAC (如:在CD唱機上使用24bitDAC)
是否影響S/N?
</FONT><!-- BBCode Quote End -->
理論上不會,增加到 24bit 並沒有產生更多的資訊。16->24 數位處理的時候是尾巴多加八個 0,實際有效位元還是 16bit,SQNR 不變。
而 upsampling,理論上也沒有增加任何的資訊,但是聽起來就是有差異。dCS 公司的說法是,upsampling 雖然沒有增加額外的資訊,但是經過 upsampling 處理後,能夠讓更多包含在 source 裡面的資訊被表現出來(原本的系統沒有 100% 的發揮出 44.1KHz 全部的實力)。
但是我相信這跟 interpolation filter 設計的好壞一定很有關係,拿 SSRC upsampling 會不會有 dCS Purcell 的效果?我猜想不會.. :P
<!-- BBCode Quote Start --><FONT COLOR=GREEN>
另,SNR究竟是用電壓算,還是用功率算?
在Google翻的時候
發現有些地方是用10*log(Signal Power/Noise Power)...
</FONT><!-- BBCode Quote End -->
電壓 20log(S/N)
功率 10log(S/N)

to Tib 大大
pre-echo 的解決法?這個要再等一下... [XD]
(打完這篇我就要睡了... :P
上面寫的東西錯字很多,而且也沒有好好分段,文句也不通順,講的東西也沒有講到重點,若要收進文件說明裡恐怕還得要經過大修改,我想還是不要比較好 [XD]
TMNEXT
神人
文章: 271
註冊時間: 2002-01-02 08:00
來自: 人畜同樂促進會

文章 TMNEXT »

pre-echo 的解決方法,其實這一系列的開頭第一篇文章就有提到了。我本來要解釋的是 long block 和 short block 的意思,我說這個牽扯到心理聲學模型的判斷,還有 MDCT window 大小的轉換,目的是為了解決 pre-echo 的問題。經過上面的說明,我想應該很容易猜到解決 pre-echo 的方法就是切換 MDCT window 的大小,遇到 attack 波形的時候換用比較小的 window size,提高時間解析度,避免 pre-echo 的瑕疵擴散。

前面提到 transform coding 是將要壓縮的資料轉換到另一個座標空間,目的是轉換後能以較少的數值記錄原本的資料,或者是能夠依據資料的特性刪除一些比較不重要的部分。但是轉換後會喪失原本空間的一些 information,例如 JPG 圖檔由 pixel domain 轉換到 frequency domain 會喪失空間解析度;MP3 由 time domain 轉換到 frequency domain 會喪失時間解析度,造成後面量化之後的雜訊擴散,這種瑕疵在音訊壓縮裡面稱為 pre-echo。

既然有 pre-echo 當然就有 post-echo。想像有一個波形是大音量之後急遽縮小的波封,量化雜訊也會向後擴散到小音量的區域。那麼為什麼很少聽到有人提及 post-echo 的問題?這是因為 post-echo 的問題不重要,我們聽不到 post-echo 的瑕疵,所以也不必去處理。前面沒有貼圖所以大家可能沒有注意到,pre-masking 和 post-masking 的遮蔽能力不一樣,pre-masking 的時間很短,必須很靠近大音量的部分才能被遮蔽到,而 post-masking 的作用時間很長,在大音量之後很長的一段時間之內都有遮蔽的效果。所以 post-echo 通常會被 post-masking 給遮蔽掉,因此我們不用 care post-echo 的問題。

那麼 MP3 是如何解決 pre-echo 的問題?
MP3 有兩個方法,第一個方法是使用 Bit Reservoir。Bit Reservoir 翻成位元儲存槽,LukeLo 大大在「漫談數位音樂」一文中有說明,請大家看一下。MP3 CBR 壓縮時,當某個 frame(1152 個 sample)不需要那麼多 bit encode 時,剩下的空間可以保留起來,留給後面的 frame 使用,這個功能叫做 Bit Reservoir。可以想像為將剩下的 bit 放到 Bit Reservoir 裡面儲存起來,以備後面不時之需。每個 frame 開頭有紀錄這個 frame 真正資料的起始位置(往前 offset 多少 bit),所以能夠正確的播放。記錄 offset 的位元有一定的大小,所以能 offset 的距離也有限制,Bit Reservoir 的大小也有限制,超過能夠容許的範圍即使有多餘的空間,那個 frame 也必須把剩下的空間填上 0(padding zero bit),所以 Bit Reservoir 還是有其限制。MP3 的 Bit Reservoir 很小,而 AAC 的 Bit Reservoir 則比較大,所以使用的彈性比 MP3 大。不論如何,有 Bit Reservoir 的設計,當遇到 attack 波形的時候,就可以增加量化的 bit 數,給多一點 bit,降低量化噪音,如此便可以減小 pre-echo 的壓縮瑕疵。

第二個辦法就是切換 MDCT 的 window size。遇到 attack 波形的時候,將原來長的 window size,叫做 long block,切成三個短的 window size,叫做 short block。原來的 window size 18 個 sample 除以 3 = 6 加上前一次的 6 個 sample 總共 12 個 sample 送進去做 MDCT 轉換。因為 block 縮短,時間解析度提高,就可以有效的控制 pre-echo。(最後一個 short block 可以利用 pre-masking 的遮蔽曲線。block 縮短,量化雜訊擴散的範圍縮小,雜訊分散的位置(時間)就越接近大音量起始的部分,此時 pre-masking 就可以發揮作用。沒有圖,大家只好用力想像一下 ^^;)
要如何判斷現在是 attack 波形呢?交給前面說明的心理聲學模型來處理。心理聲學模型會保留過去兩個 window 的資料和現在的 window 來作分析,根據頻譜的變化判斷是否發生 attack。如果有 attack,便控制 MDCT 轉換的程式做 window switch。切換的 window 不是立刻切換,中間會經過幾個變形窗,這裡就不詳述了,有一個 EncSpot 圖表中出現的名詞是 mixed block,這個意思是 ISO 容許同一個 granule 中,包含長、短兩種不同的 block。我們知道低頻的頻率解析度很重要,所以 ISO 允許遇到 attack 時,最低頻的兩個 scale factor band 使用 long block,其他的 band 用 short block,這叫做 mixed block。
看 EncSpot 的圖表,你便可以知道這個 encoder 會不會使用 short block 的技巧。沒有用 short block 的 encoder(如 Xing)就會被 EncSpot 的作者歸類到爛 encoder 裡面去。
兩個方法並用,就可以控制 pre-echo 的問題。
各家 encoder 多少都會改良 ISO 的設計,像 FhG 的 encoder,Bit Reservoir 的使用就更有效率,long block 也會使用 Bit Reservoir。(ie. 不止 attack 的時候會使用 Bit Reservoir,代表心理聲學模型的判斷更為複雜)

上面又提到一個名詞,叫做 scale factor band(SFB)。SFB 是 MDCT 轉換完以後,將 MDCT 轉出來的係數,幾個幾個集合起來,分成幾個群組,這每一個群組(也就是一個頻帶)叫做 SFB。分成 SFB 做什麼呢?SFB 很接近人耳特性的 critical band,基本上你可以就將它視為 critical band,包成 SFB 之後再送進去量化,如前所述遮蔽計算會好很多。這些 SFB 為什麼命名為 SFB?因為這些 SFB 頻帶裡的 MDCT 數值,都用同一個 scale factor。那什麼是 scale factor 呢?scale factor 就是科學記號 0.125 x (10^2) 的那個指數 "2"。假設現在 SFB 裡面包含了三個 MDCT 係數: 2.6, 1.3, 0.2,encoder 會找那個最大的係數 2.6,把他改成科學記號表示法,使有效位數的範圍落在正負 1 之間。例如 2.6 = 0.65 x (2^2) 然後再送進去量化,這時候只量化前面的有效位數。解碼的時候反量化之後的數值再乘上這個 scale factor 就可以還原回原本的 MDCT 係數。那為什麼不乾脆就叫它指數就好還要給它取一個新名字叫做 scale factor 呢?因為這個指數的作用,會重新 scale(放大)有效位數的長度,使有效位數的大小剛剛好符合量化所提供的 bit 數。
詳細的原理,必須說明 MP3 的量化過程 ^^;

先說明一下 EncSpot 的圖表裡面另外提到的兩個名詞:
1. Scalefac_scale: scale factor 的底數一般是 2(2^Scalefac,二進位),但是可以換為以根號 2 為底(sqrt(2)^Scalefac)。以 2 為底可以調整較大的範圍,以根號 2 為底可以做較細的微調。Scalefac_scale 為 0 或 1(EncSpot 顯示打勾)代表切換以 2 或根號 2 為底,這個參數是在告訴 decoder 要用那個數字為底數才能還原正確的 MDCT 係數。
2. Scfsi: Scale Factor Selection infomation,這個參數在 MP2 和 MP3 的 Format 裡面意思不一樣,我現在忘記了,沒時間查資料,總之是告訴 decoder 解碼的時候哪幾個 SFB 是用哪幾個 Scale Factor 乘的,正樣才能乘出正確的係數。沒有共用 Scale factor 就不用有這個資訊。

量化的過程:
量化的程式分為內外兩個迴圈。內部的迴圈叫做 bitrate control,它會根據可用的總 bit 數,分配 bit 給各個 SFB,並且控制最後編碼的 bit 總數會小於可用的 bit 數,所以這個迴圈叫做 bitrate control loop。如果編碼的結果超過可用的 bit 數,bitrate control 就會提高一個參數叫做 global gain,提高這個參數會使得需要編碼的有效位數變短,所以需要的 bit 數便會降低,使得編碼後的 bit 數符合可用 bit 數。
外部的迴圈叫做 quality control loop,當內部迴圈 encode 完以後,會將結果送出給外部迴圈,外部迴圈會計算目前內部迴圈編碼完以後所產生的量化噪音,並且和心理聲學模型送來的 SMR(可以容許的量化噪音)做比較。如果有 SFB 目前的量化噪音大於可以允許的量化噪音(代表目前的量化噪音超過遮蔽曲線),程式便會放大(提高)一個參數叫做 Scale factor :D
放大 Scale factor 會使得需要編碼的有效位數變長,所以需要的 bit 數便會增加,bit 數增加會使得量化噪音減小,直到產生的量化噪音符合可以容許的界限為止。外部迴圈放大 Scale factor 的動作叫做 amplify Scale factor band,放大這個參數以後會重跑一次內部迴圈,重新分配一次 bit。此時 Scale factor 有放大的 SFB 會需要較多的 bit,當然其他的 SFB 就必須減少 bit。因為其他的 SFB 本來的量化噪音是符合容許的,所以我們就開始祈禱經過重新分配以後,bit 數被減少的 SFB 的量化噪音仍然會低於可以允許的界限。如果是,那麼太好了,經過調整以後所有的 SFB 的量化噪音都小於允許的界限,那麼就跳出迴圈,大功\告成。如果不是,經過調整以後還是有 SFB 超過可以允許的量化噪音,那麼就再放大這幾個 SFB 的 Scale factor,重跑一次內部迴圈。重新分配完以後外部迴圈再檢查,還有沒有 SFB 不符規定.....如此週而復始,直到:
1. 所有的 SFB 都小於或等於可以允許的量化噪音\r
2. 所有的 Scale factor 都已經放大到最大值

然後跳出迴圈。
以 2. 的條件跳出來的,代表還有 SFB 的量化噪音超過可以容許的範圍(例如 bitrate 太低,這種情況當然再怎麼調整還是會有 SFB 超過限制),此時就要從剛剛所有的量化結果中,挑一個失真最小的結果來編碼。
例如有兩種情況
1. 僅 SFB 9 (1.9-2.2kHz) 超過界限
2. SFB 0 (0-172Hz) 和 SFB 20 (13-16kHz) 超過界限

Lame 會選 1 來編碼。
ISO reference code 會笨笨的用跳出迴圈之前的最後一個結果來編碼,而最後一個計算的結果通常是最糟的 case [XP]

這個量化的過程,與其說是在做 bit allocation(分配 bit),倒不如說是在做 noise allocation(分配 noise),決定 noise 要分配到哪些地方,哪些地方 noise 多一點,哪些地方 noise 少一點。所以你看 MP3 的說明文件,它會把這個過程稱為 noise allocation,而不用一般的說法 bit allocation。

了解 Scale factor 這個參數的作用之後,接下來要解釋為什麼「這個指數的作用,會重新 scale(放大)有效位數的長度,使有效位數的大小剛剛好符合量化所提供的 bit 數」。
假設現在 MDCT 的數值是 9.6,改成 0.6x2^4(讓有效位數介於正負 1 之間),用二進位紀錄有效位數 0.6,最接近的是 .101 數值為 1x2^(-1) + 0x2^(-2) + 1x2^(-3) = 0.625 和原來 0.6 誤差 0.025,需要 3 個 bit 紀錄。現在放大 Scale factor,改成 0.3x2^5,用二進位記錄有效位數 0.3,最接近的是 .0101,數值為 0.3125,和原來誤差 0.0125,和上面相比誤差縮小,而所需的 bit 增加為 4 個。所以提高 scale factor,可以使有效位數剛剛好符合量化增加的 bit 數,或者說可以"用完"增加的 bit 數的所能提高的精確度。
上面的說明只是為了方便了解簡化之後的例子,真正 MP3 壓縮時用的 scale 指數相當複雜,包含了上面提到的 global gain 參數(global gain 越高,所需 bit 越少,品質越糟,和 Scale factor 的作用剛好相反)和 scale factor,還有 pre-emphsis tab 等等的參數混合在一起,才組成真正的 gain 參數。
long block 使用的式子
gain[sfb] = 2^ [ -.25 * ( global_gain -210 - ifqstep*scalefac[gr][ch].l[sfb] - ifqstep*pretab[sfb]) ]

如上所述調整 Scale factor 能夠有效的運用所有 bit 數的精確度,有助於音質提升。Xing 早期的 encoder 不會使用 Scale factor(Scale factor = 初始值 0),後來才加入 Scale factor 的功能。\r
http://www.xingtech.com/developer/mp3/
看到 EncSpot 顯示有使用 Scale factor(Scalefac > 0 佔百分之幾),代表這個 encoder 不會太笨 :P
但是要注意的是,音質要好,Scale factor > 0 不是必要的,有可能各個 SFB 都沒有超過容許的量化噪音,所以也不需要放大 Scale factor。

說了這麼多,可能還是很難吸收(表達能力太差 >_<)
有興趣的人可以使用一個 tool,叫做 MP3x,其實就是 Lame 這個 encoder 的特別版本。它會在壓縮的時候用圖形的方式表現目前壓縮的狀態....放一張圖好了....
如下圖
圖檔
由上而下分別是
原始 PCM 視窗,三條黃線分割的區域,中間黃線的左右兩邊代表 1152 個 sample 分成的兩個 granule,
下面是經壓縮後,再合成(還原,也就是播放時的)波形
再下面是 MDCT window 轉換後的係數,對應上面兩個 granule 的視窗,黃線區分的是不同的 SFB。你可以切換顯示狀態,變成顯示"量化"之後的 MDCT 係數,由圖形變化,你可以看到經量化後產生的誤差。
然後下面是原始 PCM 經 FFT 的分析之後的頻譜,也就是心理聲學模型判斷的部分,每個 bar 代表 critical band。灰色的線是原始波形的頻譜,藍色的線是可允許的 distortion,紅色的線是經過 encode 之後,實際的 distortion。如果你看到紅色的線超過藍色的線,代表有些 SFB 的 distortion 已經超過心理聲學模型所可以容忍的範圍了,你應該要提高 Lame 壓縮的 bitrate。
最後一個視窗是 Scale factor band。
用這個軟體看圖說故事,比較能夠了解 MP3 encoder 內部到底是如何運作的。

以上,應該有很多打錯寫錯的部分,請原諒,我大概永遠都無力更正了 :P
頭像
kouyoumin
神人
文章: 1612
註冊時間: 2001-01-05 08:00
來自: 中正紀念堂
聯繫:

文章 kouyoumin »

<!-- BBCode Quote Start --><FONT COLOR=GREEN><!-- BBCode Quote Start --><FONT COLOR=GREEN>
如果使用比訊源更高位元的DAC (如:在CD唱機上使用24bitDAC)
是否影響S/N?
</FONT><!-- BBCode Quote End -->
理論上不會,增加到 24bit 並沒有產生更多的資訊。16->24 數位處理的時候是尾巴多加八個 0,實際有效位元還是 16bit
</FONT><!-- BBCode Quote End -->
補零.... :-.-:

是否有可能依據整個波形的走向, "推算"較接近的波形?
例如原~~ 4.1 4.5 4.9 5.3 ~~的斜直線, 取整數量化後變4 5 5 5
播放時參考前後走勢推出這條直線以降低量化失真...(?)

<!-- BBCode Quote Start --><FONT COLOR=GREEN><!-- BBCode Quote Start --><FONT COLOR=GREEN>另,SNR究竟是用電壓算,還是用功率算?
在Google翻的時候
發現有些地方是用10*log(Signal Power/Noise Power)...
</FONT><!-- BBCode Quote End -->
電壓 20log(S/N)
功率 10log(S/N)
</FONT><!-- BBCode Quote End -->
殊途同歸? :P

--
感謝好文 :)
TMNEXT
神人
文章: 271
註冊時間: 2002-01-02 08:00
來自: 人畜同樂促進會

文章 TMNEXT »

<!-- BBCode Quote Start --><FONT COLOR=GREEN>
補零.... :-.-:

是否有可能依據整個波形的走向, "推算"較接近的波形?
例如原~~ 4.1 4.5 4.9 5.3 ~~的斜直線, 取整數量化後變4 5 5 5
播放時參考前後走勢推出這條直線以降低量化失真...(?)
</FONT><!-- BBCode Quote End -->
很難。
音樂性的內容很難預測他的變化波形(無法確定它會是一條"線性"的斜直線),這也是為什麼傳統 predict coding 在音樂壓縮上很難取得很高的壓縮比。
如果是語音的內容,比較容易使用 predict 分析,這種的就比較有可能作出來,不過這種推測(預測)的技術還是非常困難。
隨便亂 scale 的話量化誤差反而會擴大。
例如原來是 4.5 4.5 5.6 5.9 6.5 ... 量化之後假設是 5 5 6 6 7 ... 誤差為 [0.5][0.5][0.4][0.1][0.5]
量化間距放大 10 倍,假設要重新 scale,請問該怎麼 scale
假設我認定他的變化會是線性的,重新 scale 為 5 5.5 6 6.5 7 ... 誤差為 [0.5][1][0.4][0.6][0.5]
誤差反而更大

再者 16bit A/D 如果取 8bit 錄音,他送給你的是前面 8bit 的 MSB(原來 -48dB 以下的資訊就全沒了),如果重新 scale 為 16bit,而不是直接補八個 0,等於你做了動態擴展,而且是非線性的,聽起來恐怕會很恐怖 :P
相同的 24bit A/D 錄音 --> mastering 16bit 光碟(剩前面 16bit MSB)--> scale 24bit D/A 會怎麼樣? :P
頭像
kouyoumin
神人
文章: 1612
註冊時間: 2001-01-05 08:00
來自: 中正紀念堂
聯繫:

文章 kouyoumin »

<!-- BBCode Quote Start --><FONT COLOR=GREEN>再者 16bit A/D 如果取 8bit 錄音,他送給你的是前面 8bit 的 MSB(原來 -48dB 以下的資訊就全沒了),如果重新 scale 為 16bit,而不是直接補八個 0,等於你做了動態擴展,而且是非線性的,聽起來恐怕會很恐怖 :P
</FONT><!-- BBCode Quote End -->
請問這是指?
00000001變成0000000000000011? [b12]

似乎還是有些廠商對Hi-bit化有興趣... :P
(Victor Extended K2. DENON AL24 Processing...)
TMNEXT
神人
文章: 271
註冊時間: 2002-01-02 08:00
來自: 人畜同樂促進會

文章 TMNEXT »

<!-- BBCode Quote Start --><FONT COLOR=GREEN>
請問這是指?
00000001變成0000000000000011? [b12]
</FONT><!-- BBCode Quote End -->
差不多,看 scale 的演算法怎麼寫,總之不會是線性等倍擴展,否則有展等於沒展。
例如原來 8bit,擴展兩倍 x2 = 9bit
原來 0 --> 0
原來 1 --> 2
原來 2 --> 4
....
每個 sample 都等倍擴展,有展等於沒展。

至於我說重新 scale 等於動態擴展的意思是,原來 8bit 的 00000001 為 -48dB,scale 為 16bit,假設對應到 0000000000000001,輸出為 -96dB,你必須把音量調大,才能聽到原來所有的聲音。
<!-- BBCode Quote Start --><FONT COLOR=GREEN>
似乎還是有些廠商對Hi-bit化有興趣... :P
(Victor Extended K2. DENON AL24 Processing...)
</FONT><!-- BBCode Quote End -->
Extended K2 有一套他們自己自豪的演算法,這就不是小弟所能臆測的了 :P
TMNEXT
神人
文章: 271
註冊時間: 2002-01-02 08:00
來自: 人畜同樂促進會

文章 TMNEXT »

<!-- BBCode Quote Start --><FONT COLOR=GREEN>
<!-- BBCode Quote Start --><FONT COLOR=GREEN>
似乎還是有些廠商對Hi-bit化有興趣... :P
(Victor Extended K2. DENON AL24 Processing...)
</FONT><!-- BBCode Quote End -->
Extended K2 有一套他們自己自豪的演算法,這就不是小弟所能臆測的了 :P
</FONT><!-- BBCode Quote End -->
想了一下,Extended K2 的量子化擴展部後面跟著的就是周波數擴展部,如果是這樣的話,那麼量子化擴展部就可以用很簡單的等倍擴展了,後面周波數擴展部(upsampling)的時候再內插補點,可以得出更細的數值,這樣前面等倍擴展就有意義了。
我覺得 Extended K2 不可能用太複雜的演算法,
1. 太複雜的演算法我不相信它跑得動(它的 DSP 有多快?)
2. 真的要做,演算法真的會很很很複雜
頭像
kouyoumin
神人
文章: 1612
註冊時間: 2001-01-05 08:00
來自: 中正紀念堂
聯繫:

文章 kouyoumin »

<!-- BBCode Quote Start --><FONT COLOR=GREEN>差不多,看 scale 的演算法怎麼寫,總之不會是線性等倍擴展,否則有展等於沒展。
例如原來 8bit,擴展兩倍 x2 = 9bit
原來 0 --> 0
原來 1 --> 2
原來 2 --> 4
....
</FONT><!-- BBCode Quote End -->
這和補零有什麼不同嗎? ?_?

<!-- BBCode Quote Start --><FONT COLOR=GREEN>我覺得 Extended K2 不可能用太複雜的演算法,
1. 太複雜的演算法我不相信它跑得動(它的 DSP 有多快?)
2. 真的要做,演算法真的會很很很複雜
</FONT><!-- BBCode Quote End -->剛翻了一下XP-DA999的介紹,原來之前搞錯了 [b08]
20bit K2才是20bit化, Extended K2是Upsampling(好像還"加上"一些高頻成分)

<!-- BBCode Quote Start --><FONT COLOR=GREEN>スタジオマスターの濃密で繊細な原音を蘇らせる、高分解能20bitK2プロセシング。
CDに記録されている16ビットの音楽データを20ビット化する、「20bitK2プロセシング」。高度な信号処理技術とともに、音楽ソフト部門のエンジニアやディレクターなど、プロの聴感で磨き上げた理想的なアルゴリズムを確立し、まさにスタジオマスターに肉薄するクオリティを実現。きめ細かな音楽のニュアンスやアーティストの感情の変化までも再現する表現力を可能にしています。

デジタルソースの周波数帯域を限りなく自然に拡張する、EXTENDED K2プロセシング。
サンプリング周波数により帯域制限されるデジタルソースでは、音質の無個性化が問題となっています。これをまったく新しい発想で解消するのが「EXTENDED K2プロセシング」。この技術は、入力されたデジタル信号を解析し、それを基に20ビットに拡張するとともに、帯域制限を受ける前の音楽信号を想定。新たに2倍のサンプリング周波数に拡張して再生成するものです。これによって本来の音楽信号に限りなく近い、極めて自然な高調波成分が発生。演奏者の違いによる楽器の音色の変化や、アーティストとの存在感といった感動の深淵までも復元することを可能にしました。
</FONT><!-- BBCode Quote End -->

看近期的CC Converter(改善壓縮時造成的損失)
說不定當年也真有什麼神奇方法... :P
TMNEXT
神人
文章: 271
註冊時間: 2002-01-02 08:00
來自: 人畜同樂促進會

文章 TMNEXT »

<!-- BBCode Quote Start --><FONT COLOR=GREEN>
<!-- BBCode Quote Start --><FONT COLOR=GREEN>差不多,看 scale 的演算法怎麼寫,總之不會是線性等倍擴展,否則有展等於沒展。
例如原來 8bit,擴展兩倍 x2 = 9bit
原來 0 --> 0
原來 1 --> 2
原來 2 --> 4
....
</FONT><!-- BBCode Quote End -->
這和補零有什麼不同嗎? ?_?
</FONT><!-- BBCode Quote End -->
有很大的不同,補 0 的話是
原來 00000001 --> 0000000100000000
擴展兩倍 x2 的話是 00000001 --> 0000000000000010
音量差 14 倍
<!-- BBCode Quote Start --><FONT COLOR=GREEN>
看近期的CC Converter(改善壓縮時造成的損失)
說不定當年也真有什麼神奇方法... :P
</FONT><!-- BBCode Quote End -->
可能吧,也許方法一點也不神奇,只是我不知道 :P
或許可以用一個什麼數位低通濾波器濾一次重取之類的。(過了低通濾波,意義近似於還原為原本平滑的波形(移除階梯狀的高頻成分),然後重取為 20bit)
我研究得不夠深入,這個要請專家來解說 :P
頭像
kouyoumin
神人
文章: 1612
註冊時間: 2001-01-05 08:00
來自: 中正紀念堂
聯繫:

文章 kouyoumin »

<!-- BBCode Quote Start --><FONT COLOR=GREEN><!-- BBCode Quote Start --><FONT COLOR=GREEN>例如原來 8bit,擴展兩倍 x2 = 9bit
原來 0 --> 0
原來 1 --> 2
原來 2 --> 4
....
</FONT><!-- BBCode Quote End -->
這和補零有什麼不同嗎? ?_?

有很大的不同,補 0 的話是
原來 00000001 --> 0000000100000000
擴展兩倍 x2 的話是 00000001 --> 0000000000000010
音量差 14 倍
</FONT><!-- BBCode Quote End -->
?_? ?_?
前面說的8bit -> 9bit
擴展2倍不是剛好跟補零一樣?
1 -> 2 00000001 -> 000000010
2 -> 4 00000010 -> 000000100
回覆文章