В процессе разработки кодера и анализа известных форматов PCM (Format A/B/C) возникла идея модифицировать PCM Format C (EIAJ STC-007/008) так, чтобы увеличить динамический диапазон без повышения битрейта, при этом сохранив двухэтапную систему коррекции ошибок. Для это было применено нелинейное кодирование данных с логическим компандированием (сжатием). Аналогичный подход был применен в PCM format B. В остальном Format M2 структурно не отличается от 14-ти битного PCM Format C и имеет такую же коррекцию ошибок.

Принцип работы нелинейного кодирования заключается в том, что весь диапазон входного сигнала делится на диапазоны (ranges), каждый из которых кодируется со своими параметрами (рис. 1). Информация об активном диапазоне указывается в старшем бите (R) 14-битного слова результата. Остальные 13 бит занимают данные. Значение каждого семпла аудиоданных анализируется, и при попадании его значения в диапазон II, он усекается на три младших бита, а бит R при этом равен 0. А при попадании значения в диапазон I, число предварительно умножается в m раз и только потом попадает на схему усечения, и бит R становится равным 1. Такой подход позволяет сохранить разрешающую способность при малых уровнях входного сигнала.

Рис. 1. Диапазоны входного сигнала

Коэффициент m выбран равным 8, следовательно в диапазоне I сигнал будет эквивалентен 16 битам (13 + 3). Стык диапазонов находится около -18 дБ от полной шкалы (0.125). При этом теоретический динамический диапазон сохраняется идентичным 16-битному и составляет 96 дБ.

  

Рис. 2. Пример кадров PCM Format M2 14 бит: синусоидальный сигнал 100 Гц (слева), музыкальный сигнал (справа)

Кстати говоря, подобным образом проводилось расширение динамического диапазона в Sony PCM-10. С той лишь разницей, что там 12-битный АЦП формировал 14-битный результат на основе двух измерений. Каждый семпл измерялся 2 раза – сначала как есть, чтобы получить старшие 12 бит, затем c предусилением в 4 раза, чтобы получить младшие 2 бита.

При включении Format M2 в строке заголовка кадра (control data block) изменяются флаги в первых двух битах поля Control word, которые, судя по IEC 60841-1988, предназначены именно для этих целей. В Format C они должны быть “00”, а в Format M2 становятся равными “01”:

Bit No. Content Application Code status
1-2 Format identification code Format C 0 0
Format M2 0 1
3-10 Not specified 0
11 Copy prohibiting code Not prohibited 0
12 P-error-correction identification code Applied 0
13 Q-error-correction identification code Applied 0
14 Pre-emphasis identification code Applied 0

Результаты проверки в программе RightMark Audio Analyzer представлены на графиках ниже (Рис. 3-5). Здесь показаны спектры тестовых сигналов – исходный 16-битный сигнал, 14-битный сигнал Format M2 и 14-битный сигнал Format C. На рис. 3 и рис. 4 графики исходного 16-битного сигнала и 14-битного сигнала Format M2 полностью идентичны и сливаются.

Рис. 3. Уровень шума

Рис. 4. Динамический диапазон

Рис. 5. Коэффициент нелинейных искажений

Численные результаты проверки в программе RightMark Audio Analyzer:

Test 16 bit
Source file
14 bit
Format M2
14 bit
Format C
Noise level, dB (A) -97.8 -97.8 -84.7
Dynamic range, dB (A) 97.8 97.8 84.8
THD, % 0.00033 0.00223 0.00158
IMD + Noise, % 0.00354 0.023 0.016