Jump to content
    

Квантование коэффициентов ДКП

Взял речевой сигнал, посчитал его спектр. Затем свёл спектр в МЕЛ-банки.

Затем сделал ДКП (дискретно-косинусное преобразование DCT II). Получил коэффициенты: нулевой коэффициент - энергия фрейма, 1-й коэффициент - гласный/согласный,... 

Всего 64 ДКП коэффициента на 1 фрейм.

Далеее разбиваю вектор (64 мерность) на под-векторы длиной: 1,1,2,4,8,16,32.  Затем делаю векторное квантование методом ЛБГ(LBG) в пределах каждого под-вектора.

Получаю кодовые книги.

При декодировании обратно - получаю спектр сигнала, отличающийся от исходного (что и ожидаемо).  Но искажения всё-же великоваты (ИМХО).

Пробовал векторно квантовать сразу МЕЛ-спектр  (без ДКП ) - также разбивал на под-вектора. Результат оказался лучше.

 

Собственно вопрос: что нужно сделать с коэффициентами ДКП, чтобы они квантовались с меньшей ошибкой? (при сохранении разрядности квантования кодовых книг).

Можно ли как-нибудь применить предсказание или декоррелировать смежные вектора?

 

Ведь это временной ряд, вектора сильно похожи на соседние.

 

 

Edited by repstosw

Share this post


Link to post
Share on other sites

On 1/26/2025 at 2:59 PM, repstosw said:

Собственно вопрос: что нужно сделать с коэффициентами ДКП, чтобы они квантовались с меньшей ошибкой? (при сохранении разрядности квантования кодовых книг).

Можно ли как-нибудь применить предсказание или декоррелировать смежные вектора?

Вопрос решён. Сделал предсказание и квантование вектора ошибки. Дистанция квантованных векторов уменьшилась в 1,5 - 1,8 раз.

Ниже звуковое примеры: оригинал (16 бит, 16 кГц), Codec2 (16 бит, 8 кГц) 2400 бит/c и новый MEL-DCT кодек 2400 бит/c.

 

Оригинал:

 

Codec2  2400 bps, 8 kHz:

 

MEL-DCT 2400 bps, 16kHz:

 

16-кГц альтернатива кодеку Codec2 готова! :dance4:

Edited by repstosw

Share this post


Link to post
Share on other sites

Помнится, вы же хотели 150 бит/с добиться, дискретизация 16 кГц - явно лишнняя информация для голоса.

Share this post


Link to post
Share on other sites

9 hours ago, petrov said:

дискретизация 16 кГц - явно лишнняя информация для голоса.

Если сторого, то да.  Телефонный стандарт: 300 - 3400 Гц.

Но:

1) 125 - 250 Гц : голосовая основа (кто говорит)

2) 3400 - 7000 Гц: дифференциация фрикативных звуков (влияет на разборчивость)

Ну и плюс чисто субъективно: речь с частотой семплирования 16 кГц воспринимается куда приятнее, чем на семплировании 8 кГц.

 

9 hours ago, petrov said:

Помнится, вы же хотели 150 бит/с добиться

Пока добился 300 бит/c за счёт разбиения речи на сегменты (разбиение по резким переходам на МЕЛ-спектрограмме) с последующим их выравниванием по времени(интерполяция) и их квантованием.

 

Для того, чтобы достичь более низкие скорости, нужна изначально хорошая модель параметрического вокодера.

Все стандартные вокодеры сделаны на основе LPC/LSF : изначально эта модель не обеспечивает достаточно высокого потенциала разборчивости/натуральности речи, и на более низких битрейтах просто деградирует.  Поэтому принял решение использовать другую параметрическую модель - на основе МЕЛ-частотных полос.

 

Пример автоматической сегментации речевого сигнала: иногда сегменты получаются сильно короткими во времени. Приходится объединять смежные. На рисунке ниже - размер сегмента не меньше 4.  Что даёт итоговый битрейт - не более 600 бит/c.

segmentation.png.17654678f62495a8a49bd4e9460d2390.png

 

Edited by repstosw

Share this post


Link to post
Share on other sites

5 hours ago, repstosw said:

1) 125 - 250 Гц : голосовая основа (кто говорит)

2) 3400 - 7000 Гц: дифференциация фрикативных звуков (влияет на разборчивость)

А вот это где-то описано?

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...